File Adapter Variable structure Issue

I have a requirement where i get a flat file in the format mentioned below:
01,1218324735,73038740,021205,0601,464,80,1/
02,73099000,12100035,1,021204,2359,/
03,12998877650,USD,010,0,015,0,020,0,040,0,045,0,050,0,057,0,072,0,074,0/
88,075,0,079,0,080,0,100,48930701,110,48930701,400,48930701,570,48930701/
16,115,48930701,S,0,0,48930701,00051100896,0074014000,/
16,577,48930701,,00722103104,1233333649/
88,XXX TO 1233333649
49,293584206/
03,12332342319,USD,010,0,015,0,020,0,040,0,045,0,050,0,057,0,072,0,074,0/
88,075,0,079,0,080,0,100,0,400,0/
49,0/
03,1233233772,USD,010,21311449,015,1255572,020,23673363,040,1255572/
88,045,200000,050,190464,057,0,072,1055572,074,0,075,0,079,0,080,0,100,0/
88,400,20055877,490,20055877/
16,508,20055877,,00370004755,/
88,XXX:021204004755
88,ZZZ ZZ YYYYZ
49,109109623/
98,23827387079,3/
99,754273628739,4,203/
The description of the above file:
Example 1 – List of multiple groups within a file and multiple accounts within a group:
01 FILE HEADER Begins File
02 GROUP HEADER Begins First Group
03 ACCOUNT IDENTIFIER First Account
16 TRANSACTION DETAIL First Account Detail
49 ACCOUNT TRAILER Ends First Account
03 ACCOUNT IDENTIFIER Second Account
49 ACCOUNT TRAILER Ends Second Account
98 GROUP TRAILER Ends First Group
02 GROUP HEADER Begins Second Group
03 ACCOUNT IDENTIFIER Begins Third Account
88 CONTINUATION Continues Previous
49 ACCOUNT TRAILER Ends Third Account
98 GROUP TRAILER Ends Second Group
99 FILE TRAILER Ends File
How to read this kind of variable structure file in File Content Conversion?
What kind of parameters should i configure in the content conversion parameters?
Should i use user defined functions otherwise?
Thanks for your help in advance.
Regards
Sudha

Hi Sudha,
Please do these in content conversion:
Your structure which contains these fields
Take paramater like this:
<Structure>.fieldNames = allfields separated by commas
<Structure>.fieldSeparator = ,
<Structure>.endSeparator = '\n' means newline
<Parent of this Structure>.endSeparator = '\n'
use all field names in 1 variable whether they are being used in mapping or not.
Reward with points if helpful.
BR,
Alok

Similar Messages

  • Receiving file adapter content conversion issue

    Guys,
    Could someone please help me with a Receiving file adapter issue?
    My output structure is something like this:
    Vendor_file_MT (occurence 1)
    --Recordset (occurence 0..unbounded)
    Vendor (occurence 1)
    Field1
    Field2
    Field3
    Field73
    Field74
    My content conversion is very simple:
    Recordset Structure: Vendor
    Parameters:
      Vendor.fieldFixedLengths   30,30,30, (...) ,1,27
      Vendor.fixedLengthTooShortHandling   Cut
      Vendor.endSeparator   'nl'
    If I don't do the content conversion, it works fine, I get all the fields in the XML format.
    When I do the content conversion however, I get multiple lines but only the very first field of each line.
    What could be the problem? What am I missing here? Any idea?
    Your help would be much appreciated.
    Thanks,
    Viktor

    Varga:
    Its little strange that its not working even after adding that.  Did you check the receiver channel in your RWB for any logs. Add the statement in my previous post and Also try to clear the Cache and activate the channel again..See if it works
    Glad it worked
    Edited by: Guru on Apr 21, 2008 3:15 PM

  • Receiver File Adapter:Variable substitution :FATAL  ERROR

    HI all
    as per the previous thread :
    <b>Receiver File Name Variable Substitution :payload: Fatal Error
    in our idoc to file sceanrio, we are using simple <b>graphical mapping.</b>
    for dynamic file name , variable field is at <b>Target message type</b>,So  on using <b>Variable substitution</b>, again the error is same :
    SAXException while parsing XML payload: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) .
    <b>Our XI  Component version : 2004
    WAS 6.4 SP 15</b>
    Thanks
    AR

    Ashutosh,
       There is nothing to do with your mapping programs. Its the mistake in ur reciever file adapter configuration for variable substitution.I asked u whether u changed message mapping in order to implement the UDF!!
    Did u tried checking the audit log. Ok just to see where u are going wrong, instead of using Payload :... in Variable substitution use Message:..... and give some interface name so that to check whether the file is created with Interface name.
    Juz give a try!!!
    Best regards
    raj.

  • File-Adapter: Variable substitution form payload XML-attribute

    Hi experts,
    is possible to use XML-attribute-content for variable substitution in file-Adapter?
    extract from XML:
    <?xml version="1.0" encoding="utf-8" ?>
    - <all>
    - <transaction <b>file="filename"</b>>
    - <table name="BPAADDRESS" options="insertIfUpdateFails">
    - <record id="1">
      <hkeycol name="BPAMAINHKEY">0010500345</hkeycol>
      <hkeycol name="USAGE">Invoice</hkeycol>
      </transaction>
    I want to get the value "filename" = attribute file of transaction.
    Is this possible?
    Thanks a lot,
    Florian

    I have done this taking a field from the XML.
    You have to map the location of the field within the XML...
    Taken from:
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm
    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.
    &#9679;      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.
    &#9675;       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 with hyphens, for example 9fbe1ff1-9a0d-11d9-8665-cbf10a126331)
    message_id_hex (message ID in hexadecimal format, for example 9fbe1ff19a0d11d98665cbf10a126331)
    For example, if you want to specify the interface name from the message header in the target directory or in the file name scheme, enter message:interface_name as the reference.
    If one of the message attributes contains characters that are not permitted in a file name, for example \, /, :, *, ?, ", <, >, |, then these characters are replaced by an underscore ("_").
    &#9675;       If the variable refers to an element in XML schema, add the prefix payload: to the information under Reference. The reference then comprises a pseudo path description in the form of a comma-separated list with the schema namea,na,nameb,nb,....
    namea,nameb,... corresponds to the element name and na,nb,... corresponds to the occurrence of the element name at the respective level in the document.
    The description begins at the root of the document and ends at the respective element.
    To reference the element that is in bold in the example, the following expression is used: payload:root,1,e1,1,e2,2
    The parser searches for the first occurrence of the root element at the first level. It then searches for the first occurrence of e1 at the second level and for the second occurrence of e2 at the third level. The content of the last element (“Example Value”) is set as the value for a specified variable.
    <?xml version="1.0" encoding="UTF-8" ?>
    <root>
      <dummy>
         <e1>
            <e2>Data_1</e2>
            <f/>
            <g attr="abc">text</g>
            <e2>Data_2</e2>
         </e1>
      </dummy>
      <e1>
         <e2>illegal/value</e2>
         <f/>
         <g attr="abc">text</g>
         <e2 attr="fghij">Example Value</e2>
      </e1>
    </root>
    &#9679;      To disable the check the adapter performs for the element data, set the Disable Security Checks indicator.
    Otherwise, the adapter checks whether the element data contains characters that could lead to security risks in the file system environment. The check includes the characters “/“, “\“, and “..“.

  • File adapter - Variable Substitution

    Hi all,
    I’m trying to use Variable Substitution functionality in my receiver file adapter. The objective is: During process message XI read the payload of an xml message and picks the value of tag <ORIGEM> coming with the File Name and do the substitution of File Name Schema of receiver file adapter.
    This is what I have donned in the configuration of receiver file adapter:
    File Name Schema: <b>R3%var1%.xml</b> (file construction mode: Add Time Stamp)
    Variable Substitution: <b>Enable</b>
    Variable name: <b>var1</b>     
    Reference: <b>payload:nr1:IfContabilizacao_Source_Log,1,INFO_CONTROLO,1,ORIGEM,1</b>
    The XML Message:
    <?xml version="1.0" encoding="utf-8"?>
      <nr1:IfContabilizacao_Source_Log
    xmlns:nr1="http://xi/XI/InterfaceContabilistico">
        <INFO_CONTROLO>
          <ORIGEM>TESTE</ORIGEM>
          <DESTINO>This is a string 2</DESTINO>
          <IDENTIFICACAO>This is a string 3</IDENTIFICACAO>
          <DATA>1999-01-24</DATA>
          <VERSAO>This is a string 4</VERSAO>
        </INFO_CONTROLO>
        <INFO_DADOS>
          <HEADER_DOCUMENTO>
            <BLDAT>1999-01-24</BLDAT>
            <BLART>C</BLART>
            <BUKRS>C</BUKRS>
            <BUDAT>1999-01-24</BUDAT>
        </INFO_DADOS>
      </nr1:IfContabilizacao_Source_Log>
    When I execute the process both sxmb_moni flags are ok! But in the adapter monitoring I receive this error message:
    2005-12-20 10:51:25 WET: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: var1
    Var1 is the name that I have defined in variable name! Is wrong? Anybody see something wrong in this configuration or something in reference payload of  tags hierarchy… I think that I have checked all…
    Thanks in advance,
    Ricardo.

    Renjith,
    Adapter monitoring continues with this error mesage: VariableDataSourceException: The following variable was not found in the message payload: var1
    This error means that the reference showed bellow have something wrong! But I can't see where is the error!!!
    payload:IfContabilizacao_Source_Log,1,INFO_CONTROLO,1,ORIGEM,1
    Anybody see where is the error of my reference, or any other idea?
    Thanks in advance,
    Ricardo.
    Message was edited by: Ricardo  Quintino

  • PI File Adapter variable substitution

    Hi everybody,
    I do have the following message:
    <?xml version="1.0" encoding="utf-8"?>
    <ns:MT_FileIn_Budget xmlns:ns="urn:rlp.de:test:budgeting">
         <BudgetRecord>
              <Monat>Pa</Monat>
              <Jahr>b_Lie</Jahr>
                                               ................. etc.
    I want to extract the "Monat"  variable in the Receiver File Adapter as a substitution variable in the "Advanced" Tab  in the
    Receiver File Adapter configuration.
    I have the following value in the Substitution table :
    var1     payload:BudgetRecord,1,Monat,1
    (and then use var1 in the filename)
    If I use Header Mapping instead , everythings works.
    Any ideas? something misspelled?
    cheers hs

    Hi Michael,
    maybe you can clarify a better solution for my problem:
    The reason why I am using variable substitution is, that I am not using graphical mapping here.
    I am using a XSLT style sheet translation (PI 7.11) as a mapping step. 
    I need to set the file name depending on the operation mapping.
    For every specific situation (about 10) , there is one OM. This OM (XSLT, no SAP Graphical Mapping) should set a specfic filename.  for every specific situation there is an integration scenario with the specific OM.
    The Business Component with one comm channel should only be there once (we don't want 10 communication channels)
    Do you have a recommendation ?
    thx
    hs

  • ESB File Adapter data validation issue

    I have a really simple ESB process.
    File Adapter Read
    (XML format with XSD) --> Routing Service --> SOAP Call to BPEL Process
    Quite simply, the ESB uses the File Adapter to read an XML file which has an associated XSD. The contents are then routed to a BPEL Process.
    If the XML file is valid in syntax but contains an element which is not in the XSD, the file contents are pushed to the BPEL process which has validateXML set to true - thus the error is caught and handled by the BPEL process.
    This is what I want to happen.
    If the XML file is invalid in syntax - for example -
    <TAG>hello</WRONGTAG>
    The ESB process rejects the file and stops dead.
    I would rather the invalid file is pushed to the BPEL so that the BPEL can handle the error.
    Why?
    Because my error handling in the BPEL picks up the invalid XML format and emails the users to inform them there is a problem.
    Can someone help? Is this possible? Thanks.
    Message was edited by:
    IanBaird

    Hello again! You are now aware of the problem as there has been a lot of conversation between myself and Dave Berry [and you!] regarding this issue.
    For the rest of the readers - here is a brief summary of progress so far. Sorry but there has been so much communication that I think the best way is to direct you to various links.
    If an adapter fails in ESB, then it is possible to trap these failures and handle them as documented here:
    Dave Berry said:
    you need to look into the adapter rejection handlers which are documented on OTN ESB page in the exception handling lesson and the adapters OTN dev resources page http://www.oracle.com/technology/products/integration/adapters/dev_support.html
    I had also devised my own solution in the meantime, which involves reading the input file as opaque schema and passing this to a BPEL process which converts it to an XML document! This can then be validated and use standard BPEL error handling to find any problems in the file format etc.
    See my blog for a tutorial on doing this:
    http://soastuff.wordpress.com/2007/06/06/handling-opaque-datatypes-in-bpelesb/
    The only problem with this at the moment is that the BPEL function ora:parseEscapedXML has a bug in it - so it fails if the XML does not comply with the XSD it tries to convert to.
    This in turn causes an ORABPEL-09500 error which does not seem to get handled by the BPEL process so the process fails.
    As things stand, this bug remains - though Dave Berry has been very helpful in identifying it and bringing it to Muruga's attention. Hopefully we can get a fix (?) and a workaround whilst the fix is being implemented (?)
    Cheers.

  • File Adapter Service debatching issue

    I am experimenting with the ESB to enable an inbound file adapter to read multiple records "debatching" from a file with XML content. I am using a router to pass to another FileAdapter for writing each of the child records to a separate XML file. So basically I am just trying to test reading multiple records from a single XML file and then putting each record in its own separate outbound file. Seems like this should be a pretty simple initial experiment with using the ESB. But when I drop this inbound xml file, it is getting picked up properly, but the entire inbound xml file is not getting split up or debatched into separate XML messages from the file input adapter. My confusion is over how the fileadapter works with files with XML content, I have checked the "Files contain multiple messages" checkbox and indicated batches of "1". So shouldn't this tell the file adapter to process one record from the inbound file at a time, passing it thru the router and ultimately to the outbound file adapter? If so, how does the file adapter know what deliminates each record in the XML file? Here is the inbound xml that I am trying to read/break apart and put each child XML element "service request event" in it's own outbound file. Please advice what I am missing here. I am not so sure that debatching in the File Adapter will work with files including XML content? Or perhaps that is a work around or example that someone has to explain how to do this.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns4:Events xmlns:ns4="http://xmlns.arl.psu.edu/OffboardServicesEvent" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.arl.psu.edu/OffboardServicesEvent Events.xsd">
    <ns4:ServiceRequestEvent>
    <ns4:summary>Planetary over temp test1</ns4:summary>
    <ns4:severity_id>9</ns4:severity_id>
    <ns4:urgency_id>64</ns4:urgency_id>
    <ns4:status>103</ns4:status>
    <ns4:type_id>11124</ns4:type_id>
    <ns4:owner_id>100003631</ns4:owner_id>
    <ns4:current_serial_number>1748AC16206</ns4:current_serial_number>
    <ns4:inventory_item_id>2320011231602</ns4:inventory_item_id>
    <ns4:problem_code>1001R3</ns4:problem_code>
    </ns4:ServiceRequestEvent>
    <ns4:ServiceRequestEvent>
    <ns4:summary>Planetary over temp test2</ns4:summary>
    <ns4:severity_id>9</ns4:severity_id>
    <ns4:urgency_id>64</ns4:urgency_id>
    <ns4:status>103</ns4:status>
    <ns4:type_id>11124</ns4:type_id>
    <ns4:owner_id>100003631</ns4:owner_id>
    <ns4:current_serial_number>1748AC16206</ns4:current_serial_number>
    <ns4:inventory_item_id>2320011231602</ns4:inventory_item_id>
    <ns4:problem_code>1001R3</ns4:problem_code>
    </ns4:ServiceRequestEvent>
    </ns4:Events>
    here is the schema....
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://xmlns.arl.psu.edu/OffboardServicesEvent"
    targetNamespace="http://xmlns.arl.psu.edu/OffboardServicesEvent"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    elementFormDefault="qualified">
    <xsd:element name="ServiceRequestEvent" type="ServiceRequestEventType"/>
    <xsd:element name="Events">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element ref="ServiceRequestEvent" maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="ServiceRequestEventType">
    <xsd:sequence>
    <xsd:element name="summary" type="xsd:string"/>
    <xsd:element name="severity_id" type="xsd:double"/>
    <xsd:element name="urgency_id" type="xsd:double"/>
    <xsd:element name="status" type="xsd:double"/>
    <xsd:element name="type_id" type="xsd:double"/>
    <xsd:element name="owner_id" type="xsd:double"/>
    <xsd:element name="current_serial_number" type="xsd:string"/>
    <xsd:element name="inventory_item_id" type="xsd:string"/>
    <xsd:element name="problem_code" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    I have been scanning thru the Oracle tutorials and googling, but have not found any examples where a single XML document is debatched via the File adapter in this way.
    Thanks for any help,
    Todd

    I figured it out. I was using 10.1.3.1, which does not support XML debatching -- just flat file debatching. I upgraded to 10.1.3.3 and it works now. Before I did that, however, I followed the instructions here: http://www.oracle.com/technology/products/ias/bpel/pdf/10133technotes.pdf (section: Transferring Large Payloads in Oracle BPEL Process Manager) and downloaded those jarfiles. Perhaps they come with 10.1.3.3, but I did not remove them before I upgraded so I'm not sure if those steps were necessary.

  • BPEL File Adapter Logical Path Issue

    I am trying to write the BPEL Error Messages using a file adapter. But I could not parameterize the logical directory. I need a solution of changing it in the BPEL console after deploying it
    I am Invoking a FileAdapter Web service using logical direcotry, in the FileService partnerlink I set the file_loc property with type"LogicalDirectory" and set the value to " D:/BPEL_Errors" etc. This is working fine but except in the BPEL Console I could not edit it, All the Partner Link properties seems to be read only and not editable. I tried creating a user property for the BPEL process which can be editable but How do I refer this user property in partner link since I cannot use XPATH expression there?.
    I guess this should be a very generic problem all I am looking for is parameterizing the File Location. Any Ideas?
    Thanks,
    Chitra

    Thanks James. It would be really nice if the first option works, do you have any idea why its not editable. I am having the following in bpel.xml
    <partnerLinkBinding name="FileService">
    <property name="wsdlLocation">FileService.wsdl</property>
    <property name="BPEL_LOG">D:\JDeveloper\jdev\mywork\BPEL_LOG</property>
    When I deploy the above, In the console I see BPEL_LOG as non editable field. Is am doing anything wrong?.
    Regarding the second option , I guess you are talking about modifying the Outbound message header by adding a new property called directory, as mentioned in the following link.
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/adptr_file.htm#CACFFAHI
    Since there are many bpel processes which use the fileservice, I need to edit the fileAdapterOutboundHeader.wsdl in multiple places. Please let me know whether I can make the first option to work

  • File Adapter - Schema Reference Issue

    Hi Experts,
    I am working on project in SOA Suite 11.1.1.6
    The project has a File Adapter which writes the files to a particular destination.
    Following is the WSDL of WRITE File Adapter :
    <wsdl:definitions name="QCCCEQFileWriteOutbound"
    targetNamespace="XXXXXXXXX"
    xmlns:tns="XXXXXXXXX"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:opaque="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
    <plt:partnerLinkType name="Write_plt">
    <plt:role name="Write_role">
    <plt:portType name="tns:Write_ptt"/>
    </plt:role>
    </plt:partnerLinkType>
    <wsdl:types>
    <schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/opaque/"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="opaqueElement" type="base64Binary"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="Write_msg">
    <wsdl:part name="opaque" element="opaque:opaqueElement"/>
    </wsdl:message>
    <wsdl:portType name="Write_ptt">
    <wsdl:operation name="Write">
    <wsdl:input message="tns:Write_msg"/>
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    When the process is running on TST server, if DEV server is DOWN its throwing this error:
    <bindingFault>
    <part name="summary">
    <summary>Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'Write' failed due to: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "Could not instantiate InteractionSpec oracle.tip.adapter.file.outbound.FileInteractionSpec due to: XSD Resolution problem. XSD Resolution problem. Unable to load Translation schemas from for http://xmlns.oracle.com/pcbpel/adapter/opaque/ due to: Unable to lookup schema for 'http://xmlns.oracle.com/pcbpel/adapter/opaque/' Please make sure all used XML schemas are imported/included correctly. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. </summary>
    </part>
    <part name="detail">
    <detail>Tried all: '1' addresses, but could not connect over HTTP to server: 'XXXdev.XXXXXXXX.com', port: '80'</detail>
    </part>
    <part name="code">
    <code>null</code>
    </part>
    </bindingFault>
    Why is Test File Adapter WSDL is trying to connect DEV Server. I haven't added anything specific is File Adapter WSDL its the default generated WSDL of File Adapter. I am also not using MDS in project
    Please help me in this regards. Thanks in Advance.

    Hi Mathieu, Vijay,
    Here is the import and reference of File Write Adapter which is failing from composite.xml. It doesn't have any DEV references as its an Adapter pointing to JCA file.
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/file/XXX/XXXXProcess/XXXFileWriteOutbound"
    location="XXXFileWriteOutbound.wsdl" importType="wsdl"/>
    <reference name="XXXFileWriteOutbound"
    ui:wsdlLocation="XXXFileWriteOutbound.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/file/XXX/XXXProcess/XXXFileWriteOutbound#wsdl.interface(Write_ptt)"/>
    <binding.jca config="XXXFileWriteOutbound_file.jca"/>
    </reference>
    There are other references which are pointing to DEV, which I replacing with deployment plan. This service is failing at the Adapter call with the message i mentioned in initial post.
    I checked the WSDL Binding in System Mbean Browser - the values are properly replaced with TST URIs.
    Please share your thoughts, thanks again for your response.

  • Sender File adapter complex structure FCC issue - flat structure RFC-stuck

    Hi,
    Please help.
    I have a the below file structres-
    Option 1-
    H,100890,P100,A02,S101,AUD#
    I,P,NULL,TH,Test PO TH,1,EA,100,10160000,A002,0001,720090,E.1.4.3,,,,VT#
    I,P,NULL,TH,Test PO TH1 2,2,EA,100,10160000,A002,0001,720090,E.1.4.3,,,,VT#
    H,100899,P100,A02,S101,GBP#
    I,P,NULL,AS,Test PO AS1,1,EA,100,10160000,A002,0001,720090,E.1.4.2,,,,VT#
    I,P,NULL,AS,Test PO AS12,2,EA,100,10160000,A002,0001,720090,E.1.4.2,,,,VT#
    I need to map this into a Z RFC which is expecting all the data in one row - of course multiple rows
    Option 2-
    Same structure as above but all in same row-
    H,100890,P100,A02,S101,AUD,P,NULL,TH,Test PO TH,1,EA,100,10160000,A002,0001,720090,E.1.4.3,,,,VT#
    I,100890,P100,A02,S101,AUD,P,NULL,TH,Test PO TH,1,EA,100,10160000,A002,0001,720090,E.1.4.3,,,,VT#
    I,100890,P100,A02,S101,AUD,P,NULL,TH,Test PO TH1 2,2,EA,100,10160000,A002,0001,720090,E.1.4.3,,,,VT#
    H,100899,P100,A02,S101,GBP,P,NULL,AS,Test PO AS1,1,EA,100,10160000,A002,0001,720090,E.1.4.2,,,,VT#
    I,100899,P100,A02,S101,GBP,P,NULL,AS,Test PO AS1,1,EA,100,10160000,A002,0001,720090,E.1.4.2,,,,VT#
    I,100899,P100,A02,S101,GBP,P,NULL,AS,Test PO AS12,2,EA,100,10160000,A002,0001,720090,E.1.4.2,,,,VT
    This also needs to be mapped into a Z RFC which is expecting all the data in one row - of course multiple rows
    I am getting issues in getting the file data across to Receiver adapter.
    I have tried various combinations but the message is failing in SXMB_MONI.
    How do i do it as i need to get the finalised option for incoming file structure?
    Option 1 is being stressed but how do i map it if i cannot get the receiver structure in RFC.
    Please help as I am stuck now.
    Regards,
    Archana

    Hi,
    The problem is basically in message mapping from file to RFC external message.
    The option 2 is working now and I get correct converted file strcuture after FCC and into RFC and also a correct RFC payload.
    However, business is stressing that can send the file in the format as given in Option 1 where u have different structure - Header and Items. This is not coming out correct in RFC payload as the header has 5 fields as compared to more in item but the header and item are still being mapped to the flat RFC structure and this is creating a mismatch. The item line is missing the 5 fields from Header.
    How do i do the FCC in this situation to get the correct structure in RFC?
    This means that in RFC payload, the first line should be the one as below-
    H,100890,P100,A02,S101,AUD#
    The 2 records after this as received in RFC internal table should be as 2 given below-
    I,P,NULL,TH,Test PO TH,1,EA,100,10160000,A002,0001,720090,E.1.4.3,,,,VT#
    I,P,NULL,TH,Test PO TH1 2,2,EA,100,10160000,A002,0001,720090,E.1.4.3,,,,VT#
    However, the 2 structures contain variable field columns.
    Please help.
    Regards,
    Archana

  • File adapter: Variables in OS command

    Hi All,
    Is it possible to put variable (from variable substitution) into OS command line? I need to create a specific filename, that issues from its payload. But substitution doesn't work - filename appears with percentage symbols and var names.
    Thank you.

    Guys,
    Let me explain situation in details.
    I have on source message split into several target messages. Then these messages are written as xml files. Finally, these files should be packed into zip archive, and zip archive should be named according to payload values.
    In this scenario I can't use payloadzipbean - it creates many archives for each final message, while I need many in one. That's why I've decided to use os command to archive files:
    jar -cvf pack_%var1%_%var2%.zip file_xml*
    And it works, but at the end archive's name is pack_%var1%_%var2%.zip.
    So, I know how variable substitution works, and how os command does... I just need to know if their collaboration is possible...

  • Receiver File Adapter Module processor issue

    Hello all,
    I have deployed (using SDM) a specific module for one of my file communication channel.
    In MDT, I have the following error :
    Exceptions survenues pour Adapter Framework : Object not found in lookup of Module0001
    La diffusion du message vers l'application via File_http://sap.com/xi/XI/System a échoué en raison de : com.sap.aii.af.ra.ms.api.RecoverableException: Object not found in lookup of Module0001.: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of Module0001.
    Where can be the source of this problem ?
    Thanks a lot

    Jean
    Also check if the "JNDI" name that you have specified in the Receiver Adapter module
    excluding localejbs matches the deployed name in the "J2ee Aministartor Deploy service.
    for example if you have
    localejbs/sap.com/BeanName
    you should have
    the service deployed under
    /sap.com/BeanName
    regards
    krishna

  • File with variable structure how to define the FCC parameters for it?

    Hi all,
    I have a scenario which is File to IDOC
    and file structure is in this way
    Header: 
      HDR|ROSS-Daily-Inv|20111104
    Data : 
    INV|01|059EMS|107128|20111104|USD|21703|IN|1|  0.00| 0.00|60-5B-30|  600.00|VIAL|0.00|0.00|EM||NETDUE|CLINIC|Y||490000
    TOT|01|059EMS|107128||USD||||0|0
    INV|01|EXB001|107130|20111104|USD|02420|IN|1| 823600.00|  823600.00||  580.00|VIAL|0.00|0.00|||NET30|COMM|N||
    TOT|01|EXB001|107130||USD||||823600|823600
    Trailer:
    TLR|    6|     1382679.00
    can any help me defining the Datatype for this structure and FCC parameters
    Thanks
    Sai

    Hi,
    In Sender CC, use content conversion and especially these options:
    ¤ RecordSet Structure = Header , 1 , Data1 , * , Data2 , * , Footer , 1
    ¤ Key Field Name = MyKey
    ¤ Namea.keyFieldValue, to distinguish your different structures (records).
    for instance, like that:
    Header.keyFieldValue = HDR
    Header.fieldName = MyKey , xxxxx, yyyy
    Data1.keyFieldValue = INV
    Data1.fieldName = MyKey , xxxxx, yyyy
    Data2.keyFieldValue = TOT
    Data2.fieldName = MyKey , xxxxx, yyyy
    Footer.keyFieldValue = TLR
    Footer.fieldName = MyKey , xxxxx, yyyy
    Otherwise, in SDN with term "recordset" you will find some blogs...
    Regards.
    Mickael

  • Message traceability in PI - File Adapter

    Hi Experts,
    I have a Idoc to FTP scenario. Idocs are sent from SAP R/3 to PI where they are converted to file format and saved. Another communication channel reads these files one by one and sends them to an FTP folder.
    Now my question is, how will I trace/find the message which was generated by the second channel if I have Idoc number?
    Thanks,
    Netrey

    You can use variable substitution and you can name the file on the basis of Idoc number through dynamic configuration
    By this way the file name will be that of the IDoc number through which it is generated
    http://help.sap.com/saphelp_nwpi711/helpdata/en/44/6830e67f2a6d12e10000000a1553f6/content.htm
    PI File Adapter variable substitution
    regards
    Ninad

Maybe you are looking for