Query reg Variable Substitution with enhanced interface mapping

Hi All,
  The scenario is IDoc to file using enhanced interface determination (message split based on some conditions) and the output file name should be based on a field value in the  IDoc. So, I've tried using Variable Substitution Option in the receiver file adapter. But it's failing with the error 'com.sap.aii.adapter.file.varsubst.VariableDataSourceException'. 
My question is does Variable Substitution works with Enhanced Interface Determination? Bcoz the outcome of interface determination is a main and sub payload.
IDoc Payload
<?xml version="1.0" encoding="utf-8" ?><HR_HRMD_A07><IDOC BEGIN="Constant"><E1PLOGI SEGMENT="Constant">
<E1PITYP SEGMENT="1"><E1P0000 SEGMENT="1"><ENDDA>99991231</ENDDA></E1P0000></E1PITYP></E1PITYP></E1PLOGI></IDOC></HR_HRMD_A07>
Variable Substitution XPATH, which I've mentioned is payload:HR_HRMD_A07,1,IDOC,1,E1PLOGI,1,E1PITYP,1,E1P0000,1,ENDDA,1
Thanks in advance.
Regards,
Joe.

Hi,
It was the problem with the capital letters for the variable field. We changed it to small letters, then the issue is resolved.
Thanks,
Joe.

Similar Messages

  • Variable Substitution with tag attribute

    Hi,
    is possible to use variable substitution with tag attribute? as follow:
    <root directory="xxx"  filename="yyy">
       <....
    </root>
    using variable substitution for directory : root,1,directory,1
                                                               root,1,filename,1

    Hi,
    I solved my problem using Dynamic Configuration to set the FileName and Directory fields in Adapter Specific Configuration. To use Variable Substitution only accept element in XML.
    Thanks for all.

  • With out Interface mapping

    Hi
          I have a scenario like from SAP-XI-mainframe..My question is this poosible to send the data with out Interface mapping
    venkat

    hi,
    sure it is
    no need for any mapping (interface mapping)
    just don't create it in repository and don't use
    it in directory and your flow will work without it
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • 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>

  • Error with Enhanced Interface determination

    Hi Experts,
    In enhanced interface determination for message splitting w/o BPM, i have given the interface mapping.
    But while testing the configuration.......... i am getiing an error at Interface Determination & Mapping which is not showing any processing log.
    My mapping program works fine.
    could anyone tell me where the problem is....

    Hi,
    Can you post the error message that you are getting....it will help experts solve your problem accurately.
    Regards,
    Abhishek.

  • Variable Substitution with IzForge

    Hello,
    I'm using IzForge to create an installer for my application. As part of the installation I take in some user input. I then want to update some properties files based on this input. Does anyone know how to do this in IzForge?
    Thanks very much,
    Ger

    Hi,
    I solved my problem using Dynamic Configuration to set the FileName and Directory fields in Adapter Specific Configuration. To use Variable Substitution only accept element in XML.
    Thanks for all.

  • Abap proxy with attachments in enhanced interface determination/mapping

    Hi guys.
    We were receiving a abap proxy from ECC with a pdf attached in the header.
    This was the scenario PROXY ---> FILE
    We used the PayloadSwapBean Module in a Receiver File Adapter to get this document and put it in a FTP Server.
    Now we have to make and improvement in the scenario and we have to generate two receiver interfaces so the scenario looks like this:
    PROXY ---> FILE and JDBC.
    So we have to use an enhanced interface mapping and an enhanced interface determination.
    The problem is that with this enhanced interface determination/mapping the attached document is lost.
    Any solution?
    Thanks a lot.
    Regards.

    > The problem is that with this enhanced interface determination/mapping the attached document is lost.
    I know there was an issue in early PI 7.1 SP versions. maybe you find a bug fix for this?
    Otherwise report to SAP.

  • Filename in J2SE Adapter with Variable Substitution

    Hello,
    Within the J2EE receiver fileadapter (and ftp) from SP13 it is possible to compose the target filename and directory based on the payload of a message using variable substitution.
    I wonder if it is also possible to use variable substitution with the J2SE fileadapter. For this it is not documented but i thougth that the same java libraries are used for the J2EE an J2SE file-adapters.
    Aybody??
    Really Nobody??
    Message was edited by: Emile Hermans

    Hello,
    the J2SE Adapter does not support variable subsition. Therefore we created our own class which gets called from the main SAP XI class "XMB2FileProcessor.class" wich is in the jar "aii_msg_adapter.jar". In your own class you can do what ever you need to chane the file name. In the configuration you can set your own parameter to search the payload for a string you want to replace. We also had to come up with our own timestamp, e.g. file2005-11-10 which SAP does not let you do, only the full timestamp is possible.
    One other nice thing is that you can develop our JAVA class local and test it with your local J2SE Adapter Engine on you PC before you deploy it.
    Steps to do:
    1. JAD the SAP class
    2. Put a call in the SAP class
    3. Compile the class
    4. Put the class back in the archive
    5. Create your own class
    6. Create a jar file for it
    7. Put the jar file in the tech_adapter directory
    8. Change the run_adapter start cmd to include your jar file
    It works great, the only issue is if you patch the J2SE engine you have to do step 1 to 4 again but that should it very easy to do.
    Cheers
    Stefan

  • Problem with Variable Substitution Receiver Adapter

    Hi,
    I need to use a dynamic filename so I'm using the variable substitution in my receiver adapter. BUT, the filename can't appear in the file. So i used this blog in reference --> Solution to the problem encountered using Variable Substitution with XI-SP12
    The PROBLEM is I still get and extra blank line in the file. How can I eliminate this extra line?
    Thanks in advance.
    Using XI 7.0

    Hi Gaurav,
    Data Type:
    Lines
       Line
    Config
       FileName
    XML - example:
    <?xml version="1.0" encoding="utf-8"?>
    <nr1:MT_TP_TipoCambio_Detalle_ECC_Req xmlns:nr1="urn:erplatam/tipocambio:tp:ecc">
    <Lines>
    <Line>USDSOL0000000000003.10000013-09-200813-09-2008V</Line>
    </Lines>
    <Lines>
    <Line>USDSOL0000000000002.50000014-09-200814-09-2008V</Line>
    </Lines>
    <Config>
    <FileName>SIGMA_TCSAP_F081031.DAT.TXT</FileName>
    </Config>
    </nr1:MT_TP_TipoCambio_Detalle_ECC_Req>
    Output - File, has 3 lines should have only 2:
    USDSOL0000000000003.10000013-09-200813-09-2008V
    USDSOL0000000000002.50000014-09-200814-09-2008V
    FCC parameters:
    RecordSet Structure: Lines,Config
    Lines.fieldSeparator 'nl'
    Lines.endSeparator 'nl'
    Config.fieldSeparator 'nl'
    Config.endSeparator 'nl'
    Thanks in advance!

  • Variable substitution error while using Seeburger module parameter

    Hi Freinds,
    I would like to use the variable substitution in a receiver file adapter to add the invoice no.
    (which is contained in the XML file) to the target filename.
    In addition I have to convert the XML file to an X12 EDI format using the seeburger module "localejbs/CallBicXIRaBean".
    As soon as this entry is made in the modules the following error message occurs:
    "com.sap.aii.adapter.file.configuration.DynamicConfigurationException:
    Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException:
    Caught SAXException while parsing XML payload: Fatal Error: com.sap.engine.lib.xml.parser.ParserException:
    XMLParser: No data allowed here: (hex) 53, 4f, 48(:main:, row:1, col:3)"
    My problem is that the conversion from XML to X12 EDI is done before the variable substitution is started.
    That`s why the reference for the variable is no longer valid as the file is already converted to a X12 EDI (=flatfile) format.
    If I disable one of the two steps (either 1:1-mapping or variable substitution) the other step runs properly.
    Has anybody an idea how to solve this topic?
    Is it possible to specify the variable substitution as module?
    If this is possible I could solve it by just reordering the two steps in the module chain.
    Regards
    Venkatesh

    Use Dynamic Configuration Bean to set this value. You have to use this well before "localejbs/CallBicXIRaBean".
    Check SAP note : 974481 for more information.
    Blog: [/people/jin.shin/blog/2007/04/27/sap-netweaver-xi-variable-substitution-with-adapter-specific-message-attributes-via-dynamicconfigurationbean|/people/jin.shin/blog/2007/04/27/sap-netweaver-xi-variable-substitution-with-adapter-specific-message-attributes-via-dynamicconfigurationbean]
    Second Approach if the above approach doesnt work.
    Use Dynamic Configuration concept in UDF to set the filename under message Mapping.
    Thanks,
    - Gujjeti.
    Edited by: Praveen Gujjeti on Feb 25, 2009 11:25 AM

  • Variable substitution & Seeburger conversion module

    Hi everybody!
    I would like to use the variable substitution in a receiver file adapter to add the order no. (which is contained in the XML file) to the filename.
    In addition I have to convert the XML file to an edifact format using the seeburger module "localejbs/CallBicXIRaBean".
    As soon as this entry is made in the modules the following error message occurs:
    "com.sap.aii.adapter.file.configuration.DynamicConfigurationException: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: Caught SAXException while parsing XML payload: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 53, 4f, 48(:main:, row:1, col:3)"
    My problem is that the conversion from XML to edifact is done before the variable substitution is started. That`s why the reference for the variable is no longer valid as the file is already converted to a edifact (=flatfile) format.
    If I disable one of the two steps (either 1:1-mapping or variable substitution) the other step runs properly.
    Has anybody an idea how to solve this topic? Is it possible to specify the variable substitution as module? If this is possible I could solve it by just reordering the two steps in the module chain.
    Kind regards
    Chris

    Use Dynamic Configuration Bean to set this value. You have to use this well before "localejbs/CallBicXIRaBean".
    Check SAP note : 974481 for more information.
    Blog: [/people/jin.shin/blog/2007/04/27/sap-netweaver-xi-variable-substitution-with-adapter-specific-message-attributes-via-dynamicconfigurationbean|/people/jin.shin/blog/2007/04/27/sap-netweaver-xi-variable-substitution-with-adapter-specific-message-attributes-via-dynamicconfigurationbean]
    Second Approach if the above approach doesnt work.
    Use Dynamic Configuration concept in UDF to set the filename under message Mapping.
    Thanks,
    - Gujjeti.
    Edited by: Praveen Gujjeti on Feb 25, 2009 11:25 AM

  • Variable Substitution for File Name Scheme

    Hi all,
    Please clarify the following issue.
    I have two source fields
    Transfer Order number  -  0000000222
    Transfer Order line item - 0001
    Both i map it into one target field
    The target field output is  - 0000000222#0001
    I need a file name which starts with ABC <TranferOrderNumber>.txt
    The problem is, when i try to use payload i get output
    (ABC0000000222#0001.txt). The reason is i use the target field which was concatenated. I don't have any target field with only transfer order no.
    Please give me a solution where i would get output
    (ABC0000000222.txt).
    Thanks in advance,
    Jose Augastine

    Hi,
    Other way may be like this ..Create a one more segment in your target structure with field name as Transfer Order No. And populate only this no. And in the Reciever File adapter , in the variable sub, use only this field. But this new segment will come in the file. To avoid this, you can make use of " Cut "  Parameter in the File Content Conversion.
    This will hold good, if you have content conversion-
    /people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12
    Otherwise, you can think of Bhavesh's suggestion
    Regards,
    Moorthy

  • Variable substitution using attribute

    hi,
    i want to use an attribute of an elemnet in variable substitution.
    i know how to use element in variable substitution and i know that i can use message header attributes
    in variable substitution, but if i create an element with an attribute how do i use it
    (or is there a simple way to map a value in message mapping to  message header attributes)?
    Thanks
    Tomer

    Hi
    Attribute is not supported for variable substitution.
    You can try setting values for the Dynamic configuration and use it
    SAP NetWeaver XI: Variable Substitution with Adapter-Specific Message Attributes via DynamicConfigurationBean
    Thanks
    Gaurav

  • Interface mapping test successful, throws exception in BPM

    Hi.
    We are having a problem with an Interface mapping which works when
    tested in Integration Builder, but throws an Exception when it is part
    of the Transformation in a BPM.
    The scenarion is such:
    1. The sender calls the outbound interface using a web service.
    2. XI uses the input and passes to the Integration Process
    3. In the BPM, a LOGON message is built to call the web service as
    specified by an external web service . The input and
    output messages are just a single string, in which the other XML is
    embedded.
    4. XI receives a response from the web service call
    5. XI Extracts the sessionId from the response and combines it with the
    initial input (Step 1) to create the query for the query message in
    the web service.
    It is in Step 5 where the transformation fails, with an Exception in
    the DefaultTrace.trc as
    Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    Thrown:
    MESSAGE ID: com.sap.aii.ibrun.server.mapping.rb_MappingRuntimeException.EXCEPTION_DURING_EXECUTE
    com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    I have extracted the data from the initial request (step 1) and the
    logon response (step 4) and using these I have tested the Interface
    Mapping. There is no problem with this and the tests are successful.
    From what I can see, because the Response field in the LOGONResponse
    contains more XML tags, XI must be parsing it and assuming the tags are
    tags in the message, and not just the string, thus it is complaining
    that the XSD types do not match. This extra XML Parsing does not take
    place in the Interface Mapping Test.
    I have put the response into a User Defined Function which just has one
    line "return new String("Hello")" and that fails. However, if this UDF
    does not have the Response as the input, it does not complain.
    Please advise.
    --Reenal

    hi
    You will have to use specific replacements for you xml tags if it is coming as a paramter
    replace '<' with &lt;
    replace '>' with &gt;
    for eg: I want to pass <TakeIt>200</TakeIt> as value to Element <A>
    Mapping won't work if it is passed like
    a) <A><TakeIt>200</TakeIt></A> - Wrong
    Instead the replace the angle brackets
    b) <A>&lt;TakeIt&gt;200&lt;/TakeIt&gt;</A> - Correct
    While testing the mapping in IR (a) will work bcoz the test tool will convert it to (b) format. Check the xml source in test tool.
    So ensure the web response is like (b)
    rgds,
    Arun

  • Enhanced Interface Determination for IDOCs

    Hi All,
        I've a query on the usage of Enhanced Interface Determination for IDocs.
    I've to create IDocs based on the condition in the Message Mapping i.e. say if recordtype in the source is A then IDoc1 should be created and if recordtype is B then IDoc2 should be created.
    Is it possible to use Enhanced Interface Determination to achieve this??..  Because I was told by someone that Enhanced Interface Determination can't be used for IDoc based scenarios though am using External Definitions for the mapping purpose. Please clarify.
    Thanks in advance
    Regards,
    Joe.

    Hi Sridhar/ Bhavesh,
                           Thanks for your prompt reply. I think I wasn't clear in my previous post.
    The scenario is the input file has three different record types (3 different structures) and the IDocs should be created based on the record type. I don't think I can use the condition based scenario as the record types are totally different. Please suggest.
    Thanks,
    Joe.

Maybe you are looking for

  • Animated gif in photoshop

    Hi I'm running Photoshop 7 on a MacBook Pro. I previously used photoshop on a PC. I created an animation using layers, and saved it as an optimised gif. However, when I tired to upload it to MySpace it would load: error message said it was an unsuppo

  • How do I make a textured image appear only when the button is selected?

    I am trying to create a DVD menu that has a textured image (bulletholes) appear only when a button highlighted (ie, about to be selected). The only think I can work out is how to make the button appear as a sub-picture that has a solid colour appear

  • External content based SharePoint list date/time information wrong

    So, we have a SQL Server database that contains date/time type data. When we look at the info in the database, the date and times appear to be in GMT, which is 5 hours before our time. So, we set up views with a DATEADD calculation to compensate for

  • Flash timeline issues---please help

    my Flash movie uses only one frame on the main timeline which becomes a problem when having the director playhead stop until it has finished playing as it only counts the number of frames in the flash files main timeline. is there a way to convert my

  • PE8 wont render, line stays red!

    Sorry, got another problem. When I hit the Enter key (or go thru Timeline, Render work area) the little render box pops up, it has a think, but the % stays at 0%, and when the box dissapears the line in the timeline is still red.. not green! Aaaahhh!