You are on page 1of 6

4/23/2017 Origin?Multiple!

:HowtoimplementdynamicorigininFioriapplications|SAPBlogs

GetStarted

Solutions Support Training Community Developer Partner About

Community / Blogs Actions

Origin?Multiple!:Howtoimplementdynamicorigin
inFioriapplications
June17,2015 | 212Views |
MaksimRashchynski
morebythisauthor

SAPFiori

fiori | fioriapps | gateway | openui5 | ui5

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

You might also like