Day 5 - SAP Fiori Using BAS - Trainers Notes
Day 5 - SAP Fiori Using BAS - Trainers Notes
Class Content
DAY 5 ©https://zapyard.com/ P A G E
|1
Create Fiori Application in Business Application Studio
Source Code
View
<Shell id="shell">
<App id="app">
<pages>
<content>
<f:toolbar>
<Toolbar id="TB1">
<Title text="{i18n>formTitle}"/>
<ToolbarSpacer/>
DAY 5 ©https://zapyard.com/ P A G E
|2
Create Fiori Application in Business Application Studio
</Toolbar>
</f:toolbar>
<f:content>
</ComboBox>
<TextArea id="Purpose"></TextArea>
</f:content>
</f:SimpleForm>
<items>
DAY 5 ©https://zapyard.com/ P A G E
|3
Create Fiori Application in Business Application Studio
<ObjectAttribute text="{MyOrderList>ShipAddress} {MyOrderList>ShipCity}
{MyOrderList>ShipCountry} {MyOrderList>ShipPostalCode}"/>
<ObjectAttribute text="{MyOrderList>OrderDate}"/>
</ObjectListItem>
</items>
</List> -->
<viz:dataset>
<viz.data:FlattenedDataset data="{oGraphModel>/}">
<viz.data:dimensions>
<viz.data:DimensionDefinition name="Year"
value="{oGraphModel>Year}" />
</viz.data:dimensions>
<viz.data:measures>
<viz.data:MeasureDefinition name="Target"
value="{oGraphModel>Target}" />
<viz.data:MeasureDefinition name="Ach"
value="{oGraphModel>Ach}" />
</viz.data:measures>
</viz.data:FlattenedDataset>
</viz:dataset>
DAY 5 ©https://zapyard.com/ P A G E
|4
Create Fiori Application in Business Application Studio
<viz:feeds>
values="Target" />
values="Ach" />
values="Year" />
</viz:feeds>
</viz:VizFrame>
<viz:dataset>
<viz.data:FlattenedDataset data="{oGraphModel>/}">
<viz.data:dimensions>
<viz.data:DimensionDefinition name="Year"
value="{oGraphModel>Year}" />
</viz.data:dimensions>
<viz.data:measures>
<viz.data:MeasureDefinition name="Ach"
value="{oGraphModel>Ach}" />
</viz.data:measures>
</viz.data:FlattenedDataset>
</viz:dataset>
<viz:feeds>
DAY 5 ©https://zapyard.com/ P A G E
|5
Create Fiori Application in Business Application Studio
<viz.feeds:FeedItem uid="size" type="Measure"
values="Ach" />
values="Year" />
</viz:feeds>
</viz:VizFrame>
</content>
</Page>
</pages>
</App>
</Shell>
</mvc:View>
DAY 5 ©https://zapyard.com/ P A G E
|6
Create Fiori Application in Business Application Studio
Controller
sap.ui.define([
"sap/ui/core/mvc/Controller",
"com/sap/zfioritraining/util/formatter",
"sap/m/MessageBox",
"sap/m/MessageToast",
],
function (Controller,formatter,MessageBox,MessageToast) {
"use strict";
return Controller.extend("com.sap.zfioritraining.controller.Home", {
formatter: formatter,
onInit:function(){
var aGraph=[
"Year":"1990",
"Target":"1781991",
"Ach":"20020020"
},
DAY 5 ©https://zapyard.com/ P A G E
|7
Create Fiori Application in Business Application Studio
"Year":"1995",
"Target":"3781991",
"Ach":"30020020"
},
"Year":"2000",
"Target":"4781991",
"Ach":"40020020"
},
"Year":"2005",
"Target":"5781991",
"Ach":"30020020"
},
"Year":"2010",
"Target":"6781991",
"Ach":"70020020"
},{
"Year":"2015",
"Target":"7781991",
"Ach":"80020020"
},
"Year":"2020",
"Target":"9781991",
DAY 5 ©https://zapyard.com/ P A G E
|8
Create Fiori Application in Business Application Studio
"Ach":"100020020"
];
oGraphModel.setData(aGraph);
this.getView().setModel(oGraphModel,"oGraphModel");
this.getOwnerComponent().getModel("SubModel").read("/Orders",{
success:function(OData){
var aData=OData.results;
for(var i=0;i<aData.length;i++){
var sOrderDate=aData[i].OrderDate;
];
if (sOrderDate !== null && sOrderDate !== "" && sOrderDate !== undefined) {
DAY 5 ©https://zapyard.com/ P A G E
|9
Create Fiori Application in Business Application Studio
aData[i].OrderDate= parseInt(date.getDate()) + " " +
monthArray[date.getMonth()] + ", " + parseInt(date.getYear() + 1900);
oOrderModel.setData(aData);
this.getView().setModel(oOrderModel,"MyOrderList");
}.bind(this),
error:function(oError){
})
},
// var a;
//this.a;
fnNameF4:function(){
if(!this.NameF4){
this.NameF4=sap.ui.xmlfragment("com.sap.zfioritraining.fragments.EmployeeF4",this);
this.getView().addDependent(this.NameF4);
DAY 5 ©https://zapyard.com/ P A G E
| 10
Create Fiori Application in Business Application Studio
}
this.NameF4.open();
},
fnAdd:function(){
if(!this.EmployeeDialog){
this.EmployeeDialog=sap.ui.xmlfragment("com.sap.zfioritraining.fragments.Employee",this);
this.getView().addDependent(this.EmployeeDialog);
this.EmployeeDialog.open();
},
fnEmployeeDialogClose:function(){
this.EmployeeDialog.close();
},
fnEdit:function(){
},
fnSave: function(){
var sName=this.getView().byId("Name").getValue();
DAY 5 ©https://zapyard.com/ P A G E
| 11
Create Fiori Application in Business Application Studio
var sId=this.getView().byId("Id").getValue();
var sPurpose=this.getView().byId("Purpose").getValue();
// if(sName !== "" && sName.trim()!=="" && sId !== "" && sId.trim()!==""
// alert("Ok to go!!!!")
// }else{
// }
var Flag="";
Flag="";
this.getView().byId("Purpose").setValueState("None");
}else{
Flag="Warning";
this.getView().byId("Purpose").setValueState("Warning");
Flag="";
this.getView().byId("Name").setValueState("None");
}else{
Flag="Warning";
this.getView().byId("Name").setValueState("Warning");
DAY 5 ©https://zapyard.com/ P A G E
| 12
Create Fiori Application in Business Application Studio
if(sId !== "" && sId.trim()!==""){
Flag="";
this.getView().byId("Id").setValueState("None");
}else{
Flag="Warning";
this.getView().byId("Id").setValueState("Warning");
// this.getView().byId("Save").setEnabled(true); //Enable
// this.getView().byId("Save").setEnabled(false);
},
fnLiveChnage:function(a){
//alert(a.getSource().getValue());
},
fnOpenFragment: function(oEvent) {
if (!this._Dialog) {
this.getView().addDependent(this._Dialog);
DAY 5 ©https://zapyard.com/ P A G E
| 13
Create Fiori Application in Business Application Studio
this._Dialog.open();
},
onClose:function(){
this._Dialog.close();
});
});
DAY 5 ©https://zapyard.com/ P A G E
| 14
Create Fiori Application in Business Application Studio
CSS
.PageHeaderCSS .sapMBarPH {
height: 2.75rem;
line-height: 2.75rem;
background: #1e981e;
color: #f9f9f9;
text-shadow: none;
.SubmitBtn span.sapMBtnInner.sapMBtnAccept {
background-image: none;
background-color: #1e9c50;
border-color: #107e3e;
color: #f7faf8;
.SubmitBtn:not(.sapMBtnDisabled):not(.sapMSBActive)>span.sapMBtnInner.sapMBtnAccept:not(.sapM
BtnActive):not(.sapMToggleBtnPressed)>.sapMBtnIcon {
color: #ffffff;
.FormLabel{
color:#3f3f3f;
font-weight: 700;
DAY 5 ©https://zapyard.com/ P A G E
| 15
Create Fiori Application in Business Application Studio
.page{
background-color: antiquewhite;
DAY 5 ©https://zapyard.com/ P A G E
| 16
Create Fiori Application in Business Application Studio
Employee Fragment
xmlns:f="sap.ui.layout.form" xmlns:core="sap.ui.core">
contentHeight="auto" initialFocus="idButtonClose"
class="ehsIncReportincidentCustomDialog">
<content>
<VBox class="sapUiSmallMargin">
<f:SimpleForm id="SimpleFormToolbar"
editable="true"
layout="ResponsiveGridLayout"
labelSpanXL="4"
labelSpanL="3"
labelSpanM="4"
labelSpanS="12"
adjustLabelSpan="false"
emptySpanXL="0"
emptySpanL="4"
emptySpanM="0"
emptySpanS="0"
columnsXL="2"
columnsL="1"
columnsM="1"
DAY 5 ©https://zapyard.com/ P A G E
| 17
Create Fiori Application in Business Application Studio
singleContainerFullSize="false"
ariaLabelledBy="Title1" >
<f:content>
<Input value="{Street}">
</Input>
<Input value="{HouseNumber}">
<layoutData>
</layoutData>
</Input>
<Input value="{ZIPCode}">
<layoutData>
</layoutData>
</Input>
<items>
DAY 5 ©https://zapyard.com/ P A G E
| 18
Create Fiori Application in Business Application Studio
<core:Item text="Germany" key="Germany"/>
</items>
</Select>
</f:content>
</f:SimpleForm>
</VBox>
</content>
<buttons>
</buttons>
</Dialog>
</core:FragmentDefinition>
DAY 5 ©https://zapyard.com/ P A G E
| 19
Create Fiori Application in Business Application Studio
Employee F4
<core:FragmentDefinition
xmlns="sap.m"
xmlns:core="sap.ui.core">
<SelectDialog
noDataText="{i18n>No_Text}"
title="{i18n>Orders}"
search=".onSearch"
growing="true"
growingThreshold="4"
confirm=".onValueHelpDialogClose"
cancel=".onValueHelpDialogClose"
showClearButton="true"
items="{MyOrderList>/}">
<ObjectAttribute text="{MyOrderList>OrderDate}"/>
</ObjectListItem>
</SelectDialog>
</core:FragmentDefinition>
DAY 5 ©https://zapyard.com/ P A G E
| 20