Reg:Variable Substitution in Receiver File Adapter
Hi...
In the Source File,
I am gtting the Field "Product_Name". Based on the Product Name, i need to map the Target Field.
In The Target, I am having Filed as Folder Path.
This Folder_Path is mapped based on the condition like.
if Product_Name = DD, and Server Name = DISB,then the Folder Path should be "/home/corpuser/Disbursement/DD" else /home/corpuser/Disbursement/CC
So the ouput file should be placed in the corresponding Target Directory based on the Folder Path.
For this i am using Variable Substitution.
in Target Directory, i am giving the value as "/home/corpuser/Disbursement/%var1%"
Variable Name -
var1
Variable Reference Name -
payload:MTI_Payment_Disbursement,1,Folder_Path,1
Structure for the Target Message is like...
Messages
Message1
MTI_Payment_Disbursement --- 0 to unbounded
Folder_Path
Can you please tell where i ahve done wrong.
Thanks & Regards,
Leela Ratnam M
Hi...
I am to get the field value in the target structure.
<?xml version="1.0" encoding="utf-8" ?>
- <MTI_Payment_Disbursement>
- <Disbursement>
<Transactional_ref_num>123456</Transactional_ref_num>
<CorporateID>SATCOMP</CorporateID>
<UseridUploader />
<UseridAuthorizer1 />
<UseridAuthorizer2 />
<UseridAuthorizer3 />
<UseridAuthorizer4 />
<UseridAuthorizer5 />
<ProductID>D</ProductID>
<BeneficiaryName>143</BeneficiaryName>
<Amount>5000000</Amount>
<BeneficiaryAdd1>Hyderabad</BeneficiaryAdd1>
<BeneficiaryCity>Jubli Hills</BeneficiaryCity>
<BeneficiaryState>Andhra Pradesh</BeneficiaryState>
<BeneficiaryPinCode>533124</BeneficiaryPinCode>
<CorporateAccoutNo>ICICI48500</CorporateAccoutNo>
<PayableLocation />
<PayeeDate>2009-03-09 00:00:00.0</PayeeDate>
<CustRefNo>143</CustRefNo>
<ChequeNo />
<PaymentDetail1 />
<PaymentDetail2 />
<PaymentDetail3 />
<PaymentDetail4 />
<PaymentDetail5 />
<PaymentDetail6 />
</Disbursement>
<Folder_Path>/home/corpuser/Disbursement/DD</Folder_Path>
</MTI_Payment_Disbursement>
Similar Messages
-
Sender_interface_name in Variable Substitution in Receiver File Adapter CC
Hi,
as per this page : http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm
it says:
Variable Substitution (Target Directory/File Name Scheme)
If you set the Enable indicator, you can enter variables for the Target Directory and File Name Scheme. Enter the names of the variables and references in the table.
● Enter each variable that you reference in the Target Directory and File Name Scheme fields without the surrounding percentage sign under Name of Variables in the table.
The variables can refer to attributes of the message header or elements of the message payload.
○ If the variables are to refer to an attribute of the message header, add the prefix message: to the name of the variable under Reference. You can specify the following attributes of the message header:
sender_party, sender_service, receiver_party, receiver_service, interface_name, interface_namespace, message_id, message_id_hex
Can we not access sender_interface_name and sender_interface_namespace are not mentioned in above list of variables.
Is it not possible to access sender_interface_name or sender_interface_namespace as variable substitute parameters from within Receiver File Adapter Communication channel.
thanks.>Shabarish Vijayakumar wrote:
>>the sender interface details will always remain a constant
>>so you can hard code the value, isnt it?
Yes, i can hardcode, thats not a bad idea, i need to create then 3 different Reciever File Communication Channel objects, as I am dealing with 3 scenarios for which sender system and sender interface is different.
>Shabarish Vijayakumar wrote:
>>if you look at the mapping runtime constants, those are also for the receiver since the sender interface will always remain constant for any particular CC.
>>http://help.sap.com/saphelp_nw04/helpdata/en/b3/9a2aeb24dc4ab6b1855c99157529e4/content.htm
yes in this link you provided i can see..
INTERFACE Interface
INTERFACE_NAMESPACE InterfaceNamespace
SENDER_SERVICE SenderService
RECEIVER_SERVICE ReceiverService
RECEIVER_NAME ReceiverName
RECEIVER_NAMESPACE ReceiverNamespace
it seems both INTERFACE (,INTERFACE_NAMESPACE) and RECEIVER_NAME(,RECEIVER_NAMESPACE) are present, may be one is for sender, and another is for receiver.. may be if i use dynamic configuration, possibly my issue would be addressed.. correct me if i am wrong.
thanks. -
Need to variable substituion in receiver file adapter
Hi All,
I have one scenario in which i send data through proxy to xi to File .
I am sending the records in 50K(2lacs) slots in appending them in one file for today's date.
Now Next day again i will send the data with old2lacs and 1 new lacs record total 3 lacs .
the point here is i using append as file construction mode so the new 3 lacs records will get append in same file.
if i will send the current date frm ECC side and pick this date frm payold and use variable substituion my other neew file genreate or not, or else new records will get append in same file.
RegardsHi all,
I am using the varable substituion and getting this error..
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var.
My payload is like this..........
<?xml version="1.0" encoding="utf-8" ?>
- <n0:UST04_MT xmlns:n0="ness.com:Eurekify:UST04" xmlns:prx="urn:sap.com:proxy:DV3:/1SAI/TAS9238077179A583C7CD28:701:2009/02/10">
- <row>
<Date>20100122</Date>
<Identifier>UST04</Identifier>
<Flag>1</Flag>
<MANDT>100</MANDT>
<BNAME>............</BNAME>
<PROFILE>............</PROFILE>
</row>
- <row>
<Date>20100122</Date>
<Identifier>UST04</Identifier>
<Flag>1</Flag>
<MANDT>100</MANDT>
<BNAME>AADLER</BNAME>
<PROFILE>BASE_TRANS</PROFILE>
and in variable substitution i am given the value like this
var=payload:MT,1,Date,1 -
Variable substitution in reciever file adapter
will any one please help me in sloving this problem ,
i have designed my reciever structure as shown in the below
<RECORDSET>
<HEADER>
<NAME1/>
<ADDRESS1/>
<ADDRESS2/>
<ADDRESS3/>
<ADDRESS4/>
</HEADER>
<LINE>
<QTY/>
<UOM/>
<UNIT_AMT/>
</LINE>
</RECORDSET>
<FILENAME/>
an i am using variable substitution
variable name as filename
reference payload:MT_exxxxx_RECV,1,Filename,1
i am getting a error in my message monitoring
will anyone there to give me syntax for thisHi !
I suggest to use Dynamic Configuration to assign the receiver filename using an UDF in graphical mapping. This little UDF can receive as input parameter the contents of the NAME field and write it to the specific tag in the header of the message, so the adapter will use that value as filename when writting the file on the receiver system, instead of variable sustitution.
/people/sravya.talanki2/blog/2006/12/27/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-iii
/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
Regards,
Matias
ps:please award points if helpful. -
Variable Substitution in Receiver File Channel
Hi All,
Could you kindly help me with this?
Mine is File to File Scenario. ECC drops a XML file in AL11 directory and i send that file using FTP to a third party system. There is no mapping involved and i use ICO. I need to get a value from the payload dynamically for using it in my file name.
When i tried to use Variable Substitution Method i get this error : VariableDataSourceException: Caught SAXException while parsing XML payload: Content is not allowed in prolog.
This is the reference i have given in my variable substitution : payload:customerelement,1,customer,1,sender,1,dealercode,1
and my XML structure is as below and i am trying to access the dealercode field in the XML.
<?xml version="1.0" encoding="UTF-8"?>
-<ns0:CustomerElement xmlns:ns0="http://www.xxxxxx.com/customer">
<recordCount>34</recordCount>
<Customer>
<Sender>
<transmitDate>ddmmyy</transmitDate>
<dealerCode>N050</dealerCode>
<DMSSystem>ABC</DMSSystem>
<DMSReleaseNumber>1.0</DMSReleaseNumber>
</Sender>Hi Amit,
Yeah that is correct. But in my case the XML structure was not properly formed and i hwas frequently getting this error " Content is not allowed in Prolog" for which i tried all the solutions in SDN and nothing worked out. So i had no other option and had to go for adapter module.
Now the issue is solved and the interface is working as expected with the adapter module.
Thanks for your valuable inputs.
Regards,
Prabhu V -
Reg: NFS connectivty at receiver file adapter
Hi Friends
I have a requirement to post files to a file system(3rd party) using NFS connection, the target path is in shared mode and I am able to access that path when i copy that path in RUN(local system). But when I have maintained the same in the target channel am receiving an error message saying the Path "does not exist".
Please let me know what might be the problem here, what are requirements to be fullfilled to communicate with a third party file system using NFS connectivity.
Note: it is not an FTP server.
Regards
SumanHello,
Here is the same problem Not able to read files from Windows directory to Unix Server using NFS
Regards
Pothana -
Problem in Variable Substitution (Receiver File Adapter)
Hi,
I am facing problem in the variable substitution in receiver file Communication channel. My expected file name is A_C.xml; but my actual output filename obtained is C_C.xml for the below example target file:
<ProductionSch>
<CustomField>
<value>
<ValueString>A</ValueString>
</value>
</CustomField>
<CustomField>
<value>
<ValueString>B</ValueString>
</value>
</CustomField>
<CustomField>
<value>
<ValueString>C</ValueString>
</value>
</CustomField>
</ProductionSch>
I have used the following parameters in the file communication channel:
File Name Schema: %var1%_%var2%.xml
Variable Substitution:
Variable Name Reference
var1 payload:ProductionSch,1,CustomField,1,value,1,ValueString,1
var2 payload:ProductionSch,1,CustomField,3,value,1,ValueString,1
When I try using either of the one in the file name schema and the corresponding variable reference in the variable substitution I am getting the correct output filename as A.xml or C.xml. However, when I give either of the one variable in file name schema and both the variable references in the variable substitution I am getting only C.xml as per the example file.
Can any of you suggest me where I am wrong or any other suggestion which I can try?
I cannot use dynamic configuration as I am using multimapping. Multiple file names cannot be generated using dynamic configuration.
Regards
Sowmyahi Sowmya,
refer you to this [Note 1581988 - Variable Substitution option does not work properly|https://service.sap.com/sap/support/notes/1581988] (2011.05), as SAP says " when there is more than one variable using the same name as the last element, File Adapter does not select the correct one.... ".
regards.
Mickael -
Error-Receiver File Adapter using Variable substitution when file is empty
XI Experts,
We are on PI 7.0, SP14.
We are using variable subtitution to get the filename from source message. This works fine as long as we have data in the payload for filename element. But we have a scenario where we don't have to create file when certain condition does not exists in source message so in the message payload filename element will not exists in such condition and file will be empty and we should not create file.
Parameter in the communication channel for Handling empty message is "Ignore".
Does anyone knows how to handle this scneario. We don't want to default any file name in the message mapping if source file name element does not exists.
We are following getting error in the Adapter engine.
MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: file: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: file
Thanks
MPYou can implement this by writing the module to throw an exception or whatever method you want to execute.
If you don't want to receive an error message then module is suitable for you.
Gaurav Jain -
Variable substitution in receiver comm channel idoc - file
Hello all,
I have a error message in mys sytem XI for creating a file because I would like a file name create dynamically and use an info in this idoc providing system SAP.
And this variable substitution I put file name schema %var1% and variable substitution
var1 payload:ZBBPIV01,1,IDOC,1,E1BIVHD,1,IV_ID,1 and I have this message error
and I set Disable security checks in my communication channel
<b><?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Inbound Message
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.MessagingException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var1: com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var1</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error></b>
Thanks for your helpHi,
<b>ZBBPIV01,1,IDOC,1,E1BIVHD,1,IV_ID,1</b>
Check if the target XML Contains a Field called <b>IV_ID</b> and does it have any value?.
Btter option is to use Adapter Specific Attributes and the code excert in this link,
http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/content.htm
Regards
Bhavesh -
REG: File content conversion in Receiver file adapter
HI Gurus,
I have the scenario like proxy to file with content conversion
my message type for the source like this
MT_SOURCE
-----||
|---ROW
------------||
|---LINE
target strucuture also same
MT_TARGET
-----||
|---ROW
------------||
|---LINE
i am using the following FCC parameters in receiver file adapter
LINE.fieldSeparator = ' '
LINE.fixedLineWidth = 90
LINE.lineSeparator = 'nl'
LINE.fieldFixedLengths = 200
LINE.endSeparator = 'nl'
the output file show the data differently in note pad when compare to word
word output
dgepvs 023456987
kgdd0016155710 SS Smw Ne 01
kgdd0016155710 SS Smw Ne 01
kgdd0016155710 SS Smw Ne 01
kgdd0016155710 SS Smw Ne 01
kgdd0016155710 SS Smw Ne 01
kgdd0016155710 SS Smw Ne 01
kgdd0016155710 SS Smw Ne 01
notepad out put
dgepvs 023456987 kgdd0016155710 SS Smw Ne 01 kgdd0016155710 SS Smw Ne 01 kgdd0016155710 SS Smw Ne 01 kgdd0016155710 SS Smw Ne 01 kgdd0016155710 SS Smw Ne 01
word output is the correct output wat i am expect but same out put i want in note pad can any help me out for this how can i resolve this
Thanks in advanceThere is nothing wrong in your content conversion parameters. This is pure editors interpretation for the next line character.
I would do in java program to fix this issue using '\r\n' You might want to try and see how that helps for notepad editor. -
Problem with fixedlenthgs in receiver file adapter
HI,
I am doing XML to flat file scenario and using mutli mapping concept without BPM.
in the receiver file adapter I am using FCC with fixedlengths,then it generated just 3 output files out of nearly 100 source files.the errored one are succcessful in the SXMB_MONI and failing in RWB-->Message moni with waiting status and MDT says that XI_J2EE_ADAPTER_FILE ,Error Code PROCESSING_ERROR .
i tried in SDN and then found something like enable the disablesecurity check box in variable substitution parameters ,then I got 4 files out.
these are my FCC params for all structures:
struc1.fieldFixedLengths
struc1.fixedLengthTooShortHandling
struc1.endSeparator
and I tried with fieldSeparator then it gives successfully all output files.
so,where is the problem?I didnt understand?
any suggestion.
thank you,
regards,
Babu SriBhavesh,
I felt the same way,but assumed that ,in that way fixedlenghths wont work.
in my target structure most of the fields have 0-1 occurences ,and even in the source structure too.so,I think it might be the reason.Then I have to make all my about 60fields 1-1 madatory and using mapWithDefaultValue function, as my sources are optional.
you think it will work just using the "mapWithDefaultValue" function without changing my occurences to 1-1 in the target structure(mandatory)?infact I can try but ,cos of pain for changing like 60 fields....:) and even dont know which fields are causing the problem,so that we can apply "mapWithDefaultValue" function only on those fields.
thank you,
Babu Sri -
Dynamic File Name for Receiver File Adapter
Hi All,
How can we use dynamic name for Receiver file adapter?
Can anyone help.
Thanks in Advance
ChemmanzHi Chemmanz,
The dynamic filename generation concept is as follows.
In your filename field. just give a variable with % symbols. (eg: %file% ).
Now, under the option Variable Name Substitution, you can give how the value has to be created.
It can be your interface name, sender service name, etc or it can be some value dynamically from your payload.
For the former, your give
message:interface_name ,etc
and for the payload part you give,
Payload: "your element root which u wanna acecss"
Just check this link out,
http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
And read the contents under variable substitution and it will help you understand the concepts better.
If you have any clarifications, do get back,
Regards,
Bhavesh -
Target Directory & File Name parameters in Receiver File Adapter with ASMA
Hi Experts..
I have the following question....
What am I suppose to inform in the Target Directory & File Name obligatory parameters in Receiver File Adapter if I am using ASMA to fill it? Is it any dummy value?
Also, if you have any step by step guide/blog to forward on how to use ASMA in file adapter I will be greatful.
Thanks in advance,
DanielaYou can give any dummy value in dir and file name... Just go through these blogs
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
/people/madanmohan.agrawal/blog/2009/05/20/combining-three-different-aspects-of-pi-asma-af-module-and-variable-substitution-in-one-shot -
Receiver File adapter Append Mode
Hi
I have scenario where i am sending multiple idocs to file ...when i putting the file construction mode to append i can put multiple idoc in to file but i wanna do it on daily basis Means i wanna send the newly crated or changed Idoc on a daily basis to a single file ..
How can i achieve that
SVHi
You can achieve this using dynamic file names.
Every day different files
FileName-<DD>-<MMM>
chk these
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
/people/sameer.shadab/blog/2005/09/23/an-interesting-usage-of-variable-substitution-in-xi
/people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12
rgds
Arun -
Receiver File Adapter - Dynamic FTP Server Address
Hi, I would like to pass the FTP Server address to the Receiver File Adapter as an parameter. Is this possible and if so what Name Space / Parametr Names add to the Product to define these values.
Thanks
AndreHi Andre,
If you have your server as a part of your payload, thendynamic file server generation concept can be done is as follows.
In your server name field. just give a variable with % symbols. (eg: %file% ).
Now, under the option Variable Name Substitution, you can give how the value has to be created.
It can be your interface name, sender service name, etc or it can be some value dynamically from your payload.
For the former, your give
message:interface_name ,etc
and for the payload part you give,
Payload: "your element root which u wanna acecss"
Just check this link out,
http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
And read the contents under variable substitution and it will help you understand the concepts better.
If you have any clarifications, do get back,
Regards,
Bhavesh
Maybe you are looking for
-
Hi I want to trace an outbound iDoc after triggering. Can anyone tell the steps what I have to take? Regards Praveen
-
I am a student and I bought my macbook pro at a best buy, am I still eligible for the $100 on free apps? If so, how would i get access to it?
-
PSE8 - Help with Watermarking vs Cropped Photos
I have recently been experimenting with Watermarking, using the "Process Multiple Files" option. It works great, except for one thing: when watermarking a photo that has been cropped from its original size, the watermark gets cropped as well. Pleas
-
Hi, I have written a program in java that gives me some results. i would like the resutls to be in excel in the form of graphs. Does anyone know how to do this? thank you for your help
-
Every time I click out of the PPro CS5 program area, say to Finder or Desktop, when I return to PPro I get a spinning beach ball for between 1 and 2 minutes. Progam not crashing thankfully. As long as I stay inside the PPro program all stays stable