Today I got a chance to learn FCC for Sender Side, Receiver Determination based on the file name Condition, use of Context object, Use of CP(contain pattern )in receiver determination, use of Dynamic Configuration, Use of ASMA property for both Sender and Receiver Side and use of StrictXML2PlainBean at Receiver side ALL in single scenario. So I am thinking of sharing this…
- Hope you enjoy this…J
Scenario Description:
A file is picking from local directory and send to SAP ECC and provide the archived link for that file via proxy OR send to other System as it is based on the Name of the file.
Solution:So we need to provide the archived link to the field in ECC reciver structure so we are using dynamic conifgration and we need to send a file to two different system based based on the name of file so we are using ASMA property of Sender channel and define condtion in RD. And also we provide the same name of file as sender to reciver for that we also use Reciver side ASMA property.And in reciver side of secound system I am also using StrictXML2PlainBean because we need the same file as it is and in sender side we are using FCC so we need to back to same structure. For that we can go for FCC or using module, I am going for module
What is in this doc?
FCC for Sender Side
Use of Receiver Determination based of file name Condition
Use of Contains Pattern (CP) in Condition editor
Use of Context object to define the file name in RD condition
Use of Dynamic Configuration
Use of ASMA property for both Sender and Receiver Side
Use of StrictXML2PlainBean at Receiver side
What is not in this Doc?
What is receiver structure for proxy?
How proxy is implemented in ECC
Mapping related to FILE to Proxy structure not define in deep
And all Proxy related configurations
-------------------------------------------------------------------------------------------------------
Sender structure look like:
![]()
In mapping we provide the archived link in folloing field(VALUE) using dynamic configration other field are map with some constant :
![]()
![]()
Code for dynamic Configuration:
******************************************************
String str1 = "http:/" + "/sap.com/xi/XI/System/File";
//Instantiate Dynamic configuration
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
//Instantiate MappingTrace.
MappingTrace trace = container.getTrace();
DynamicConfigurationKey key = DynamicConfigurationKey.create( str1, "FileName" );
//Get the filename
String ourSourceFileName = conf.get(key);
DynamicConfigurationKey key1 = DynamicConfigurationKey.create( str1, "Directory" );
//Get the filelocation
String ourSourceDirName = conf.get(key1);
return ourSourceDirName+"\\archive\\"+ourSourceFileName;
*************************************************************************
Interface mapping for FILE to ECC
![]()
No need for mapping for second system because we are just transferring from one system to another as it is.
Mapping objects are like below:
![]()
ID part:
Sender CC:
![]()
FCC part is needed to excute the Dynamic configuration got require for FILE to ECC scenario.
![]()
Setting ASMA property for file name and directory name:
![]()
Receiver determination where we define the condition:
Define the Receiver Systems
![]()
Select the condition editor for first one and select help for left Operand
![]()
Now Select Context Object and help menu for that as below:
![]()
Select FileName
![]()
Now define the condition of file name
![]()
Here you can also define pattern search like below:
Select CP(contain pattern) instead of equal operator and then use pattern like *.
![]()
Do same as for second system also:
After done following conditions look like
![]()
Interface determination for ECC
![]()
Interface Determination for Second System:
![]()
No need to for interface mapping and do same as inbound interface name as sender interface name
Sender Agreement
![]()
Receiver Agreement for ECC
![]()
Receiver Agreement for second system
![]()
Receiver CC for Second system:
![]()
Here I am using StrictXML2PlainBean module instead of FCC
![]()
Receiver CC for ECC Proxy:
![]()
Hope u like this...................:)
Regards
GAGAN