Professional Documents
Culture Documents
:HowtoimplementdynamicorigininFioriapplications|SAPBlogs
GetStarted
Solutions Support Training Community Developer Partner About
Origin?Multiple!:Howtoimplementdynamicorigin
inFioriapplications
June17,2015 | 212Views |
MaksimRashchynski
morebythisauthor
SAPFiori
share
0 share
0 tweet share
0 0
like
Follow
https://blogs.sap.com/2015/06/17/originmultiplehowtoimplementdynamicorigininfioriapplications/ 1/6
4/23/2017 Origin?Multiple!:HowtoimplementdynamicorigininFioriapplications|SAPBlogs
ManyareawareofthenicefeatureoftheSAPGatewayMultiOrigin:
SupportofmultiplebackendsystemsHowtouseMultiOriginCompositionandRouting
Andabilitytodynamicallycalculateanalias
DynamicSystemAliasCalculationVia/IWFND/ES_MGW_DEST_FINDERSAPNetWeaverGateway
SAPLibrary
ButthereisawaytocontrolitfromUI.InordertoenableitfromFiori/UIsideaspecialinstructionshouldbe
appendedtotheODataserviceURLo=<system_alias>forspecifioriginandmoformultioriginsupport.
AlotofFioriapplicationsusemetadatassap.ca.serviceConfigsconfigpropertytospecifyaservice
configurationdetails.So,commonpracticeistocerateanextensioncomponentandredefinethatproperty:
{
metadata:{
config:{
"sap.ca.serviceConfigs":[{
serviceUrl:"<THE_OLD_URL>;mo/",//formultiorigin
...
Themajorlimitationhereisthatwehavetohardcodeorigin(ormultioriginflag)inthecomponents
code.So,whydontwetrytomakeitdynamicanddrivenbyconfigurationproperty?
https://blogs.sap.com/2015/06/17/originmultiplehowtoimplementdynamicorigininfioriapplications/ 2/6
4/23/2017 Origin?Multiple!:HowtoimplementdynamicorigininFioriapplications|SAPBlogs
Themostobviousplacetoimplementitwouldbeacomponentsconstructor(SalesOrderTrack
applicationforexample).ComponentsmetadatahasmethodapplySettingswhichextends
componentsmetadatawithadditionalsuppliedobject.
constructor:function(sId,mSettings){
try{
//tryingtoreadparametersfromcomponentconfiguration
if(sId&&sId.componentData&&sId.componentData.startupParameters&&sId.componentData.startupParameters
{
varserviceURL
varorigin=sId.componentData.startupParameters.Origin[0]
if(origin==="MULTI")
{
serviceURL="/sap/opu/odata/sap/SRA018_SO_TRACKING_SRVmo/"
}
else
{
serviceURL="/sap/opu/odata/sap/SRA018_SO_TRACKING_SRVo="+origin+"/"
}
this.getMetadata().applySettings({metadata:{
config:{
"sap.ca.serviceConfigs":[{
name:"SRA018_SO_TRACKING_SRV",
masterCollection:"SalesOrders",
serviceUrl:URI(serviceURL).directory(),
isDefault:true,
countSupported:false,
useBatch:true,
}]}}})
}
cus.sd.salesorder.monitor.Component.apply(this,arguments)//callingparent'sconstructortocontinueinitialization
}catch(e){
jQuery.sap.log.error("Anerroroccuredwhileinstantiatingcomponent:"+e)
}
},
https://blogs.sap.com/2015/06/17/originmultiplehowtoimplementdynamicorigininfioriapplications/ 3/6
4/23/2017 Origin?Multiple!:HowtoimplementdynamicorigininFioriapplications|SAPBlogs
Butsurprisinglyitdidntworkandthrowssomenonobviousexception.Aftersomedebuggingwe
foundoutthatapplySettingsexpectsabaseTypepropertyinmetadata:
this.getMetadata().applySettings({metadata:{
baseType:"cus.sd.salesorder.monitor.Component",
config:{
"sap.ca.serviceConfigs":[{
Andthatlittletricksolvedtheproblem.
So,nowwecanuseextendedFioriapplicationandspecifyanorigindynamicallyfromcomponent
configuration:MULTIformultipleorigin,andanameofthealiasincaseofparticularorigin.
AlertModerator
6Comments
MasayukiSekihara
June18,2015at2:57am
Thisisagoodexample.Ijustgotsimilarrequirementfromoneofcustomers.
https://blogs.sap.com/2015/06/17/originmultiplehowtoimplementdynamicorigininfioriapplications/ 4/6
4/23/2017 Origin?Multiple!:HowtoimplementdynamicorigininFioriapplications|SAPBlogs
MaksimRashchynski Postauthor
June18,2015at2:44pm
GladitisusefulMasasan!
BhagyashreeChopada
June18,2015at6:12am
IhavesimilarrequirementandiwasabouttohardcodeSystemaliasforsameatUIlevel.
Iwillgiveatryforthisnow.
GavinQuinn
June23,2015at8:44pm
GreatcontentasusualMaksim!
MaksimRashchynski Postauthor
June23,2015at11:08pm
Thanks,Gavin!
https://blogs.sap.com/2015/06/17/originmultiplehowtoimplementdynamicorigininfioriapplications/ 5/6
4/23/2017 Origin?Multiple!:HowtoimplementdynamicorigininFioriapplications|SAPBlogs
TejasChouhan
June26,2015at6:30am
Nice..Gatewaysideofit
GettingDatafrom2ERPsystemsusingMultiOrigin
AddComment
Share & Follow Privacy TermsofUse LegalDisclosure Copyright Trademark Sitemap Newsletter
https://blogs.sap.com/2015/06/17/originmultiplehowtoimplementdynamicorigininfioriapplications/ 6/6