Dynamic Quee names in JMS Channel

Hi,
Message is being sent from SAP -> PI -> TIBCO using JMS queues using JMS channels.
Is it possible to configure the queue names based on the value in the message?
Thanks,
Aravind

Hi,
you need to set a dynamic queue in PI or in JMS ?
the blog mentiones how to create a queue in PI (on the basis of content)
and that's how I understood your question...
if you want to set dynamic queue for the JMS then I don't know the way
hope we're talking about the same thing here
BTW
with JMS receiver you can only set those values dynamically:
JMS Message Correlation ID DCJMSCorreleationID
JMS Message Expiration DCJMSExpiration
JMS Message Priority DCJMSPriority
JMS Message ReplyTo Destination DCJMSReplyTo
JMS Message Timestamp DCJMSTimestamp
and JMS message properties but not the queue name
if you need to set a queue name in JMS dynamically (and we did that in our project)
was to send everything to one queue (router queue) and the real queue name was specifed in the JMS message property
and JMS (activeMQ - camel) was able to distribute from dummy queue to the one from the JMS message property
(config only - no coding so I'd assume most of the JMS should be able to do the same)
Regards,
Michal Krawczyk

Similar Messages

  • Dynamic Queue names at JMS receiver

    HI All,
                I have a scenario where sender is an RFC and receiver is via JMS  and also get a reply back . JMS is asynchonous but as suggested in other threads it is possible to capture the response by setting some Adapter specific parameters.
                But my problem is the queue name for the response is not constant and it varies from request to request for the response. I have no clue how to achieve this , I tried searching some threads but couldn't come to a conclusion.
                Possibility of dynamic MQ queue selection in one receiver JMS channel
                help on Dynamic queue name in JMS Adapter
    Has anyone come across such a situation ? Please suggest.
    Also In one of threads it was suggested to use Java Proxy?  Please suggest a way forward in this approach too
    Regards,
    Mohan.

    > please refer the link what you provided in section 2.8 mentioned JMS Receiver communication channel will give response back,but i never tried.
    Yest because this document is applicabe for a scenario where request msg will come form sender JMS to XI and then Response will be sent back again to JMS by using receiver JMS adapter. So senario is JMS request --- R3 (via XI) --- R3 response to JMS.
    But here case is different. e.g. RFC --> PI --> JMS  and reply will get back from JMS  to RFC.  So definetly in this case response will come from sender JMS and not from receiver JMS.
    Read sec 2.8 throughly, you will come to know how to set the queue names dynamically for RECEIVER JMS Adapter.
    Regards,
    Sarvesh

  • Dynamic queue name with JMS Queue XML?

    Hi,
    Is it possible to use dynamic queue name with JMS Queue XML?
    I tried using a variable in the JNDI URL, and supply the value in a package. I specified the following in the JNDI URL in the Topology:
    e.g.
    <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=#PROJECT_NAME.dest_var
    I declared and set the variable in a package, then tried to load data from the above data server to database. But executing this package gave me the following error:
    7000 : null : java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
    java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
         at com.sunopsis.jdbc.driver.bg.executeQuery(bg.java)
         at com.sunopsis.jdbc.driver.bh.executeQuery(bh.java)
         at com.sunopsis.jdbc.driver.l.f(l.java)
         at com.sunopsis.jdbc.driver.l.executeUpdate(l.java)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Am I doing it wrongly?
    Thanks!

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    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>

  • Help on Dynamic queue name in JMS Adapter

    Hi Experts,
      Could you please explain how to configure dynamic queue name in JMS Adapter.
    My requirement is i would have to add the date and time to JMS Queue Name in receiver JMS Adapter.
    Thanks in Advance
    Chilla

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    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>

  • How to pass dynamic filename to Receiver JMS channel

    Hi experts,
    I want to pass the dynamic filename to receiver JMS message Properties.
    for example
    I am passing directory name via adapter module AF_Modules/DynamicConfigurationBean with key and value combination like below. How to pass dynamic filename value to a dynamic property ( say DCJMSMessageProperty1)
    eg.
    key.0 - >insert http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0
    value.0 - >  testdirectory ( which is static value)
    Note: Im have not created any ESR object . i just have to bypass the file to a jms queue. I have used AAE integrated configuration scenario ( file to jms )
    Regards,
    Balaji
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:45 PM
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:46 PM

    Already given link for the dynamic configuration code snippet in the earlier reply... Below is the code snippet
    Note: Use Adapter Specific Message Attributes for the target Communication Channel(CC).Check the indicator for filename in the advanced tab of CC
    //UDF code
    String filename="";
    String NameSpace = "http:/"+"/sap.com/xi/XI/System/JMS";
    try{
          DynamicConfiguration conf = (DynamicConfiguration) param.get(
            StreamTransformationConstants.DYNAMIC_CONFIGURATION);
          DynamicConfigurationKey key  =  DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File",   "FileName");
           // read filename value
           filename = conf.get(key);     
          // So far we extracted filename value .. now do your logic  something like this...
          DynamicConfigurationKey key2 = DynamicConfigurationKey.create(NameSpace,"yourjmsvalue goes here");
           conf.put(key2,filename);
         } catch(Exception e){

  • Dynamic file name in communication channel

    hello
    is it possible to give in the communication channel, under the 'File Access Parameters', a dynamic file name?
    to get it out of a table or something?
    Thanks
    Kfir

    Hi,
    Yes its bit possible to use the dynamic file name at File access paramters
    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,
    Refer below links for more in depth details about it
    Re: Dynamic file name in Receiver File Adapter
    http://help.sap.com/saphelp_nw2004s/helpdata/en/21/6faf35c2d74295a3cb97f6f3ccf43c/frameset.htm
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    /people/sap.user72/blog/2005/10/01/xi-new-features-in-sp14
    /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i
    /people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii
    /people/michal.krawczyk2/blog/2006/02/23/xi-dynamic-name-in-the-mail-attachment--pseudo-variable-substitution
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    Check out this URL
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    Check these weblogs as well...
    /people/sravya.talanki2/blog/2005/08/11/solution-to-the-problem-encountered-using-variable-substitution-with-xi-sp12
    /people/sameer.shadab/blog/2005/09/23/an-interesting-usage-of-variable-substitution-in-xi
    Thanks
    Swarup

  • Possibility of dynamic MQ queue selection in one receiver JMS channel

    Hi all,
    I just want to ask whether it's possible in PI7.0 or PI7.1 to send a message dynamically to MQ queues based on payload information using a single JMS receiver channel.
    Example:
    1)
    If the XML looks like this:
    <element>param_1</element>
    Then JMS receiver channel "RCV_JMS_1" should send the message to MQ queue "MQ_param_1".
    2)
    If the XML looks like this:
    <element>param_2</element>
    Then JMS receiver channel "RCV_JMS_1" should send the message to MQ queue "MQ_param_2".
    Is that doable? If yes how (by using some module in the channel)?
    Thanks in advance for your help!
    Regards,
    Kai

    Yeah... cause such a scenario is not so hard to image. Just the possibility to giva a placeholder as value for MQ queue name in the channel would be sufficient and to assign a value at runtime to it.
    At the moment the implementation is like this:
    PI => static MQ wueue => own Java developed small adapter (JBoss) => dynamical MQ queue addressing
    But a change here would be nice to have it all in PI.
    Only option I see at the moment is to integrate the Java development into PI based on PCK. Or is there any alternative?
    Edited by: Kai Lerch-Baier on Mar 25, 2009 11:02 AM

  • Dynamic configuration bean in JMS Adapter

    Hello Experts,
    My scenario is JMS(Active MQ) to File.Its just Passthrough scenario and no mapping involved.
    Filename will be coming in one of the JMS Property (say businessId) and I need to set this filename to file adapter.
    I have refered the stefan's blog and used the Dynamic configuration bean module in sender JMS adapter.
    getFilename key.1 write http://sap.com/xi/System/JMS DCJMSMessageProperty4
    getFilename value.1 module.filename
    setFilename key.1 read http://sap.com/xi/System/File FileName
    setFilename value.1 module.filename
    But required filename is not populated in the target File.Any other configuration is missing here?

    Hi Karthiga
    Did you set the ASMA properties in both your sender JMS channel and receiver File channel?
    For the JMS adapter, as shown below, you will need to enter the DCJMSMessageProperty4 into the table
    Configuring the Sender JMS Adapter - Configuring the JMS Adapter in the Integration Directory/PCK - SAP Library
    If you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (Maximum of 10).
    In the table, enter the names of the JMS message properties whose values are to be included in the message header of the PI message.
    The technical names of the additional attributes are DCJMSMessageProperty0, DCJMSMessageProperty1, ..., DCJMSMessageProperty9.
    For the File adapter, you need to check the ASMA FileName attribute.
    Once you have this configured, in your message, you should be able to see that the value is in the DynamicConfiguration section of the SOAP header.
    Rgds
    Eng Swee

  • Strange problem in Dynamic File Name . XI behaving strangely

    My o/p is coming like this
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_PurchaseOrderChange xmlns:ns0="http://E2open.com/xi/IntercompanySCM_6.0/POChange">
    - <recordset>
    - <data>
      <PoHeaderDomainName>broker_domain</PoHeaderDomainName>
      <PoHeaderOrgName>broker_org</PoHeaderOrgName>
      <PoHeaderPoState>$null</PoHeaderPoState>
      <PoHeaderStateChangeDate>$null</PoHeaderStateChangeDate>
      <PoHeaderPoNumber>4500000026</PoHeaderPoNumber>
      <PoHeaderPoCreationDate>$null</PoHeaderPoCreationDate>
      <PoHeaderLastModifiedDate>$null</PoHeaderLastModifiedDate>
      <PoHeaderModelSubType>Discrete_Order</PoHeaderModelSubType>
      <PoHeaderSupplierName>0000352119</PoHeaderSupplierName>
      <PoHeaderSupplierDescription>$null</PoHeaderSupplierDescription>
      <PoHeaderCustomerName>SSP_CUSTOMER</PoHeaderCustomerName>
      <PoHeaderCustomerDescription>$null</PoHeaderCustomerDescription>
      <PoHeaderCustomerMessage>$null</PoHeaderCustomerMessage>
      <PoHeaderSupplierMessage>$null</PoHeaderSupplierMessage>
      <PoHeaderBillToName>$null</PoHeaderBillToName>
      <PoHeaderBillToAddressDescriptor>$null</PoHeaderBillToAddressDescriptor>
      <PoHeaderBillToAddressAddress1>$null</PoHeaderBillToAddressAddress1>
      <PoHeaderBillToAddressAddress2>$null</PoHeaderBillToAddressAddress2>
      <PoHeaderBillToAddressCity>$null</PoHeaderBillToAddressCity>
      <PoHeaderBillToAddressCountry>$null</PoHeaderBillToAddressCountry>
      <PoHeaderBillToAddressCounty>$null</PoHeaderBillToAddressCounty>
      <PoHeaderBillToAddressState>$null</PoHeaderBillToAddressState>
      <PoHeaderBillToAddressZip>$null</PoHeaderBillToAddressZip>
      <PoHeaderBuyerCode>$null</PoHeaderBuyerCode>
      <PoHeaderFreight>$null</PoHeaderFreight>
      <PoHeaderTerms>0001</PoHeaderTerms>
      <PoHeaderOrderPriority>$null</PoHeaderOrderPriority>
      <PoHeaderCommunicationMode>$null</PoHeaderCommunicationMode>
      <PoHeaderAgreementStartDate>$null</PoHeaderAgreementStartDate>
      <PoHeaderAgreementEndDate>$null</PoHeaderAgreementEndDate>
      <UDFPoHeaderRevisionNumber>$null</UDFPoHeaderRevisionNumber>
      <UDFPoHeaderERPPOCreationDate>01Sep2006000000</UDFPoHeaderERPPOCreationDate>
      <UDFPoHeaderheaderUDF1>$null</UDFPoHeaderheaderUDF1>
      <UDFPoHeaderheaderUDF2>$null</UDFPoHeaderheaderUDF2>
      <UDFPoHeaderheaderUDF3>$null</UDFPoHeaderheaderUDF3>
      <UDFPoHeaderheaderUDF4>$null</UDFPoHeaderheaderUDF4>
      <UDFPoHeaderheaderUDF5>$null</UDFPoHeaderheaderUDF5>
      <PoLineItemPoLineItemId>00020</PoLineItemPoLineItemId>
      <PoLineItemCustomerItemName>E107434516</PoLineItemCustomerItemName>
      <PoLineItemCustomerItemDesc>L1357 TOROID INDUCTOR</PoLineItemCustomerItemDesc>
      <PoLineItemCustomerDomainName>SSP_CUSTOMER_domain</PoLineItemCustomerDomainName>
      <PoLineItemSupplierItemName>E107434516</PoLineItemSupplierItemName>
      <PoLineItemSupplierItemDesc>L1357 TOROID INDUCTOR</PoLineItemSupplierItemDesc>
      <PoLineItemSupplierDomainName>0000352119_domain</PoLineItemSupplierDomainName>
      <PoLineItemUnitPrice>720</PoLineItemUnitPrice>
      <PoLineItemBasisOfUnitPrice>$null</PoLineItemBasisOfUnitPrice>
      <PoLineItemCurrency>EUR</PoLineItemCurrency>
      <PoLineItemUnitOfMeasure>TNE</PoLineItemUnitOfMeasure>
      <PoLineItemLineItemState>$null</PoLineItemLineItemState>
      <PoLineItemStateChangeDate>$null</PoLineItemStateChangeDate>
      <PoLineItemLastModifiedDate>$null</PoLineItemLastModifiedDate>
      <UDFPoLineSupplierItemName>E107434516</UDFPoLineSupplierItemName>
      <UDFPoLinelineUDF1>$null</UDFPoLinelineUDF1>
      <UDFPoLinelineUDF2>$null</UDFPoLinelineUDF2>
      <UDFPoLinelineUDF3>$null</UDFPoLinelineUDF3>
      <UDFPoLinelineUDF4>$null</UDFPoLinelineUDF4>
      <UDFPoLinelineUDF5>$null</UDFPoLinelineUDF5>
      <PoScheduleId>1</PoScheduleId>
      <PoScheduleLastAction>Insert_Or_Modify</PoScheduleLastAction>
      <PoScheduleScheduleState>$null</PoScheduleScheduleState>
      <PoScheduleStateChangeDate>$null</PoScheduleStateChangeDate>
      <PoScheduleRequestQuantity>9.000</PoScheduleRequestQuantity>
      <PoScheduleRequestDate>16Sep2006000000</PoScheduleRequestDate>
      <PoScheduleRequestShipmentDate>16Sep2006000000</PoScheduleRequestShipmentDate>
      <PoScheduleOriginalRequestQuantity>$null</PoScheduleOriginalRequestQuantity>
      <PoScheduleOriginalRequestDate>$null</PoScheduleOriginalRequestDate>
      <PoScheduleCarrier>$null</PoScheduleCarrier>
      <PoScheduleCarrierMode>$null</PoScheduleCarrierMode>
      <PoScheduleCarrierAccountNumber>$null</PoScheduleCarrierAccountNumber>
      <PoScheduleCustomerSiteName>5302</PoScheduleCustomerSiteName>
      <PoScheduleShipToAddressDescriptor>$null</PoScheduleShipToAddressDescriptor>
      <PoScheduleShipToAddressAddress1>$null</PoScheduleShipToAddressAddress1>
      <PoScheduleShipToAddressAddress2>$null</PoScheduleShipToAddressAddress2>
      <PoScheduleShipToAddressCity>$null</PoScheduleShipToAddressCity>
      <PoScheduleShipToAddressCountry>$null</PoScheduleShipToAddressCountry>
      <PoScheduleShipToAddressCounty>$null</PoScheduleShipToAddressCounty>
      <PoScheduleShipToAddressState>$null</PoScheduleShipToAddressState>
      <PoScheduleShipToAddressZip>$null</PoScheduleShipToAddressZip>
      <PoScheduleLastModifiedDate>$null</PoScheduleLastModifiedDate>
      <PoScheduleCustomerMessage>$null</PoScheduleCustomerMessage>
      <PoScheduleSupplierMessage>$null</PoScheduleSupplierMessage>
      <PoScheduleRefdPoCustomerName>$null</PoScheduleRefdPoCustomerName>
      <PoScheduleRefdPoS>$null</PoScheduleRefdPoS>
      <PoScheduleRefdPoModelSubType>$null</PoScheduleRefdPoModelSubType>
      <PoScheduleRefdPoNumber>$null</PoScheduleRefdPoNumber>
      <PoScheduleRefdPoLineItemId>$null</PoScheduleRefdPoLineItemId>
      <PoScheduleRefdPoScheduleId>$null</PoScheduleRefdPoScheduleId>
      <UDFPoSchedulescheduleUDF1>$null</UDFPoSchedulescheduleUDF1>
      <UDFPoSchedulescheduleUDF2>$null</UDFPoSchedulescheduleUDF2>
      <UDFPoSchedulescheduleUDF3>$null</UDFPoSchedulescheduleUDF3>
      <UDFPoSchedulescheduleUDF4>$null</UDFPoSchedulescheduleUDF4>
      <UDFPoSchedulescheduleUDF5>$null</UDFPoSchedulescheduleUDF5>
      <PoPromiseScheduleId>1</PoPromiseScheduleId>
      <PoPromiseScheduleAddressDescriptor>$null</PoPromiseScheduleAddressDescriptor>
      <PoPromiseScheduleAddress1>$null</PoPromiseScheduleAddress1>
      <PoPromiseScheduleAddress2>$null</PoPromiseScheduleAddress2>
      <PoPromiseScheduleAddressCity>$null</PoPromiseScheduleAddressCity>
      <PoPromiseScheduleAddressCountry>$null</PoPromiseScheduleAddressCountry>
      <PoPromiseScheduleAddressCounty>$null</PoPromiseScheduleAddressCounty>
      <PoPromiseScheduleAddressState>$null</PoPromiseScheduleAddressState>
      <PoPromiseScheduleAddressZip>$null</PoPromiseScheduleAddressZip>
      <PoPromiseScheduleQuantity>9.000</PoPromiseScheduleQuantity>
      <PoPromiseScheduleDate>16Sep2006000000</PoPromiseScheduleDate>
      <PoPromiseScheduleShipmentDate>$null</PoPromiseScheduleShipmentDate>
      <UDFPoPromiseScheduleUDF1>$null</UDFPoPromiseScheduleUDF1>
      <UDFPoPromiseScheduleUDF2>$null</UDFPoPromiseScheduleUDF2>
      <UDFPoPromiseScheduleUDF3>$null</UDFPoPromiseScheduleUDF3>
      <UDFPoPromiseScheduleUDF4>$null</UDFPoPromiseScheduleUDF4>
      <UDFPoPromiseScheduleUDF5>$null</UDFPoPromiseScheduleUDF5>
      </data>
    - <FileNameNode>
      <FileName>111111111_222222223_purchase-orders_20060901065147_</FileName>
      </FileNameNode>
      </recordset>
      </ns0:MT_PurchaseOrderChange>
    I have specifed
    Payload:MT_PurchaseOrderChange,1,FileNameNode,1,FileName,1
    in variable substitution
    I am on SP 14 and it the dynamic file is working for other scneario
    bt in this scneario i am getting the error
    Receiver Adapter v2405 for Party '', Service 'com_E2open_qas':
    Configured at 2006-09-01 18:42:32 GMT+05:30
    History:
    - 2006-09-01 19:11:48 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
    - 2006-09-01 19:11:48 GMT+05:30: Processing started
    - 2006-09-01 19:06:47 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
    - 2006-09-01 19:06:47 GMT+05:30: Processing started
    - 2006-09-01 19:01:47 GMT+05:30: Message processing failed: Error during variable substitution: com.sap.aii.adapter.file.varsubst.VariableDataSourceException: The following variable was not found in the message payload: amit
    amit is the variable i have given for substitution.

    Hi,
    if you have SP14 stop using variable substitiuion:)
    you can do it much easier with dynamic configuraiton
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    so you can easily set it for file adapter to set the file name
    you can also have a look at my weblog:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    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>

  • Error dynamic File Name in Receiver File Adapter

    Hi all,
    Dynamic file name for Receiver file Adapter Problem
    my multi mapping look like this in design mode
    messages
         message1
              SD01_E
                   FileName
                   row
         message2
              SD02_E
                   FileName
                   row
    by processing the xml look like this:
    <ns2:SD01_E xmlns:ns2="urn:lsv.de/SAP/XXX">
    <FileName>L40SA939.xiConstant</FileName>
    - <row>
    or
    <ns2:SD02_E xmlns:ns2="urn:lsv.de/SAP/XXX">
    <FileName>L40SA939.xiConstant</FileName>
    - <row>
    in file receivere adapter  i have try this but it dos not work
    payload:SD01_E,1,FileName,1
    Error:com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 0(:main:, row:1, col:0)
    is there any way to have access to Filename  in different root elements??
    regards
    Ralf

    Hi Ralf,
    i think, you need for each XML msg (each different root element) a new adapter -> a new IF determination, new rec agreement and a new channel.
    Regards,
    Udo

  • Dynamic File Name depending on the Source File name

    Hi Experts,
    I have a problem like Dynamic File name depending on the Source File Name. I will explain with example as follwos
    Source File name                 Targer Folder/Filename
    NK01.VR59.L2007030         VR59/Rec.l200
    NK01.VR71.L2017030         VR71/Rec.l201
    NK01.VR77.L2027030         VR77/Rec.l202
    See above the exaple, Depending on the Source file name, I am deciding where i need to place my file and what name i need to name it.
    So please suggest me the solution and How can i do this with a single communication channel ? Do i need to create multiple CC for each folder??
    Points will be rewarded for Valuable anwer.
    Thanks in Advance,
    Best Regads,
    Vijay

    Hi VIjay,
    Thanks for quick reply. But i am getting error in End to End Scenarios only. If i remove the Return " "  statement from the UDF, while activating it is showing the error saying like missing return statement. I also mapped to the top most node to this UDF.
    I am getting the following error in End to End error Scenarios:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_Target_File_determined_</SAP:P1>
      <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
      <SAP:P3>Fatal Error: com.sap.engine.lib.xml.parser.Parser~</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>During the application mapping com/sap/xi/tf/_MM_Target_File_determined_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: Fatal Error: com.sap.engine.lib.xml.parser.Parser~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

  • Dynamic File name for File receiver adapter

    Hello,
    I am doing Proxy sender to File receiver scenario.
    Filename is generated in SAP R/3 program and I want to create the file with this same name
    on target location.
    please suggest me how to use this file name in Receiver file adapter?.
    Thanks & Regards
    Jagesh

    Hi,
    you have to enable the adapter specific parameter --> file name in both the sender and the receiver CC to get the input file name as output file name.
    Refer this blog:
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Also you need to use this udf
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String ourSourceFileName = conf.get(key);
    return  ourSourceFileName; 
    Also refer this blog:
    /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
    Regards,
    Nithiyanandam

  • How to give a dynamic File Name for Receiver File/FTP Adapter.

    Hi Experts,
        I have one scenario in which we are creating a flat file of IDOC which is coming from R/3 & sending it to FTP location. For this we have configured Receiver FTP adapter with File Name Scheme as "NT.out"  & in File Consturction mode i have given as "Add Time Stamp".
        therfore while creating a file it is creating as NTyyyyMMdd-HHmmss-SSS.out
    where as my requirement is only to to add Time & not the Date. (NThhmmss.out)
        How to do this ?
        for your info we are using ABAP Mapping.
        Pl help me
    Regards,
    Umesh

    Hi Umesh,
          Add one more field to your target structure for your file name and populate that field as per your requirement like NTyyyyMMdd.out. In receiver communication channel use Variable subtiution option and give the refrence of Payload and file construction mode set as create.
    And refer the below weblogs for Variable Subtiutuion File Name Scheme
    /people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i - Dynamic File Name Part 1
    /people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii - Dynamic File Name Part 2
    Hope this way would be solve u r problem.
    Cheers
    Veera
    >>>Reward points, if it is needful

  • Dynamic file name inside the ZIP file

    Hi Experts,
    I have done proxy to file scenario, reciever side is the file ZIP file, i have done successfully done Zip file using adapter modules in Communication Channel.
    The file name is hard coded like this.
    contentType-----Transform.ContentType--
    text/plain;charset="UTF-8";name="Billing.txt"
    Is there any possible to do dynamic file name instead of hardcoded like add time stamp.
    Kind Regards,
    Praveen.

    hi,
    you can always do it using an adapter module like shown in my blog:
    /people/michal.krawczyk2/blog/2006/02/23/xi-dynamic-name-in-the-mail-attachment--pseudo-variable-substitution
    Regards,
    Michal Krawczyk

  • Zip or unzip a payload in sender JMS channel

    Hi,
    My scenario is to unzip a payload in sender JMS channel and I have configured the sender JMS module in the below format,
    Processing sequence
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    Module Configuration
    Modulekey            Parameter Name                    Parameter Value
    zip                        zip.mode                                unzip
    I have tried this format also,but it is not working
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    (or)
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    While performing testing,it throws the below error in sender JMS channel,
    The detailed error (if any) is :  com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable pattern: NullPointerException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable 'pattern'at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:185)
    Can someone help me on how to extract a payload in sender JMS channel.
    Also please guide me on how to extract a multiple payloads in one zip file in sender JMS channel.

    Hi,
    Your module sequence seems to be incorrect.
    Try like this,
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    (or)
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    Regards,
    Praveen Gujjeti

Maybe you are looking for