How to pass a filename to MQHRF2 header in IBM MQ using JMS Adapter in SAP PI

Hi Expers,
Can you please help on ...
how to pass a filename to MQHRF2 header in IBM MQ using JMS Adapter in SAP PI
Thanks,
Chandar

Hi Chandar,
Could you check the following post Re: Inserting custom header fields inside MQRFH2 (JMS Receiver adapter)?
I hope you find it useful.
Regards!

Similar Messages

  • How to send data in ASCII (instead of Unicode) from XI using JMS adapter

    Hi
    The scenario is R/3 > XI >MQ > Third party SW. Inside XI, we have an ABAP mapping as well.
    The receiving third party software needs data in ASCII. Currently we are achieving this in MQ, but would like to move this conversion to XI.
    Any thoughts on that are welcomed.
    Thanks in advance.
    Cheers
    danus
    Message was edited by:
            Chidambaram Danus

    Hello Stefan,
    I have the same problem with data conversion to utf-8.
    The mainframe application sends us the data in the codepage iso-8859-1, but the jms sender adapter transfers this in utf-8.
    Can I stop this?
    You have proposal a oss note 960663, but on which position must be setup this in the module sequence? At first?
    What are the other options of the parameter conversion.charset ?
    Is there one possibility without mapping?
    Bye
    Stefan

  • FTP how to pass dynamic filename/directory location - reading a file in 11g

    Hi All,
    We r using FTP adapter(SOA 11g) for getting files in remote server, May i know how to pass dynamic filename and directory where the file exists for reading in server.
    Thanks,
    Rak

    Hey according to my understanding, the Dynamic partner links are set only for the Outbound invocations only. Is my understanding right? if so, how do we create the dynamic partnerlinks for the ftp get kind of stuff...??
    Thanks in advance

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

  • How to get the incoming file name using JMS adapter and SOAP adapter

    Hi Everybody,
       In one of my interface i need to get the file name of incoming flat file using JMS adapter at sender side. and then i am using xslt to convert it to IDOC and then posting to  SAP IDOC.
    my incoming filname are in this form price<DateTimestamp>.txt. when i do the tranformation this incoming file name should be part of one element in the IDOC which i am posting.
    EX:
    <IDOC
    <REF>price<DateTimestamp>.txt</REF>
    </IDOC>
    Hope it is clear to everybody. I need your suggestion how i can capture this incoming file name and send it as part of IDOC.
    Thanks
    raj

    If they are passing it in message id or correlation id,
    you can access it using
    <xsl:variable name="dynamic-conf" 
            select="map:get($inputparam, 'DynamicConfiguration')" />
        <xsl:variable name="dynamic-key"  
            select="key:create('http://sap.com/xi/XI/System/JMS', 'DCJMSMessageID/ DCJMSCorrelationID')" />
        <xsl:variable name="dynamic-value"
            select="dyn:get($dynamic-conf, $dynamic-key)" />
    Check this:
    http://help.sap.com/saphelp_nw70/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Thanks,
    Beena.

  • How  to Set JMS property and Read JMS property in BPEL using JMS adapter

    Does any one know how to set or read more than one JMS property in BPEL using JMS adapter. My queue server is Oracle JMS server.
    Any help and sample is well appreciated

    Hi Van
    I have noted that only the attribute "type" is missing. It seems that when you create a "string" property, the attribute "type" is droped from the XML. If you use another type (as "integer" or "double") it stays there.
    If you try to read your properties, except for the "type" attribute, you should be successful, as I am. If you need, please tell me your email, I can send you my code.
    Source Code:
    in ASSIGN activity (process which SENDS the JMS message):
    <assign name="TESTES">
    <copy>
         <from expression="'string'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@type"/>
    </copy>
    <copy>
         <from expression="'name'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@name"/>
    </copy>
    <copy>
         <from expression="'value1'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@value"/>
    </copy>
    <bpelx:append>
         <bpelx:from>
         <Property name="" type="" value=""
              xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/"/>
         </bpelx:from>
         <bpelx:to variable="HeaderJms" part="outboundHeader"
              query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties"/>
    </bpelx:append>
    <copy>
         <from expression="'string'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@type"/>
    </copy>
    <copy>
         <from expression="'name2'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@name"/>
    </copy>
    <copy>
         <from expression="'value2'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@value"/>
    </copy>
    </assign>
    in ASSIGN activity (process which READS the JMS message)
    <assign name="Assign_1">
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[10]/@name"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[10]/@value"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[12]/@name"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[12]/@value"/>
    <to variable="temp"/>
    </copy>
    </assign>
    Note that I do not try to read the "type" attribute, otherwise it will fail.
    Here is the JMS Header Message received:
    <inboundHeader>
    <JMSInboundHeadersAndProperties xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/">
    <JMSInboundHeaders>
    <JMSCorrelationID>
    bpel://localhost/pi_lms-c001e/BpelPiAtualizacaoC001E~1.0/3200025-BpInv0-BpSeq1.6-2
    </JMSCorrelationID>
    <JMSDeliveryMode>2</JMSDeliveryMode>
    <JMSExpiration>0</JMSExpiration>
    <JMSMessageID>ID:467DFA1FA1ED459EBF37F51F596C3F12</JMSMessageID>
    <JMSPriority>4</JMSPriority>
    <JMSRedelivered>false</JMSRedelivered>
    <JMSType>com.mercurio.lms.integration.c001eip.c001EIntegrationPoint</JMSType>
    <JMSTimestamp>1201552046253</JMSTimestamp>
    </JMSInboundHeaders>
    - <JMSInboundProperties>
    <Property name="JMSXDeliveryCount" type="integer" value="1"/>
    <Property name="JMSXRecvTimestamp" type="long" value="1201552046698"/>
    <Property name="JMSXUserID" value="lms_dev_int_v1_user"/>
    <Property name="JMS_OracleDeliveryMode" value="2"/>
    <Property name="JMS_OracleTimestamp" type="long" value="1201552046253"/>
    <Property name="JMS_OracleDelay" type="long" value="0"/>
    <Property name="JMSXState" type="integer" value="0"/>
    <Property name="IAS_VERSION" value="10.1.3"/>
    <Property name="JMS_OracleDeliveryMode" value="2"/>
    <Property name="name" value="value1"/> ("type" attribute was droped!!!)
    <Property name="JMS_OracleTimestamp" type="long" value="1201552046253"/>
    <Property name="name2" value="value2"/> ("type" attribute was droped!!!)
    </JMSInboundProperties>
    </JMSInboundHeadersAndProperties>
    </inboundHeader>
    Regards
    Marcelo

  • How to Set corrid using JMS adapter in ESB while inserting the data in JMS

    Hello all,
    Can any one help me in setting the corrid using JMS adapter in ESB.
    I haven't been able to find any clues.
    We can do this in BPEL but my adapter is in ESB and i have no idea how this can be done in ESB.
    Your help is highly appreciated.
    Thanks,
    Saurav
    Edited by: sauravsingla on Oct 7, 2009 10:46 AM

    hi
    you could do this from and xsl transformatuion by use of the .. function
    see :
    http://biemond.blogspot.com/2008/02/esb-adapter-failover.html
    http://kr.forums.oracle.com/forums/thread.jspa?threadID=658502 (comment of AmitSoaDev, he sets correlationid too)
    hope this helps, gl

  • How to pass username;password in to header Variable

    Hi All,
    I have to invoke client SOAP WSDL based web service, He has given the URL. I want to invoke it from bpel. It is sync based web service.
    Please have look at sample input data. in the header section there is element called Token.  what i need to do here I need to pass the user name and password those separated by ;
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.xxxxxxx.com/2005/">
       <soapenv:Header>
          <ns:AuthorizationToken>
             <ns:Token>username;password</ns:Token>
          </ns:AuthorizationToken>
       </soapenv:Header>
       <soapenv:Body>
          <ns:WEBGet>
             <ns:key>pass the input value</ns:key>
          </ns:WEBGet>
       </soapenv:Body>
    </soapenv:Envelope>
    Please advise me how to pass these values when i am invoking it through BPEL.
    Thanks,

    Please help me out, It is little bit urgent.

  • How to acces the filename from Message Header during variable substitution

    Hi,
    We need to access the attribute filename from Message Header during Variable Substitution.We are able to access the following attributes of 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 we want to specify the interface name from the message header in the target directory or in the file name scheme, we enter message:interface_name as the reference.
    In the same way i need to access the filename which we get in the Message Header(which we get in the Message Header when we check the Adaptor specific message properties and filename in sender CC).Any suggestions on the same
    Thanks and Regards,
    Bhargav
    Message was edited by:
            bhargav gundabolu
    Message was edited by:
            bhargav gundabolu

    Hi Bhargav,
    Use this UDF to retreive the file name from the Dynamic Configuration Payload in the mapping.
    getFileName(UDF) -
    > Filename(node in the target structure).
    public String getFileName(Container container)
       //write your code here
    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; 
    Create a node in the target structure top hold the filename returned by the UDF.
    Now your payload will have the filename along with the actual data.
    U can use the variable substution now as u use for the other data in the payload since the filename is now a part of your payload.
    Regards
    San

  • How to pass values to XML complex type of a Webservice using PL/SQL

    HI,
    I need to call a web service from PL/SQL that has an complex type element. That complex type element has 4 child elements each of integer type.
    I want to pass values for this complex type using SOAP_API.add_parameter but I can't understand how to pass the values.
    <xsd:element name="getBestFit">
              <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element maxOccurs="1" minOccurs="1" name="circleId" type="xsd:string"/>
                        <xsd:element maxOccurs="1" minOccurs="1" name="usage" type="Q1:UsageInfoType"/>
                   </xsd:sequence>
              </xsd:complexType>
         </xsd:element>
    <complexType name="UsageInfoType">
         <sequence>
              <element maxOccurs="1" minOccurs="1" name="a1" type="int"/>
              <element maxOccurs="1" minOccurs="1" name="a2" type="int"/>
              <element maxOccurs="1" minOccurs="1" name="a3" type="int"/>
              <element maxOccurs="1" minOccurs="1" name="a4" type="int"/>
         </sequence>
    </complexType>
    Please help me in getting a solution here.
    Thanks in advance.

    Have you tried doing a google search on "SOAP_API.add_parameter" to see what comes back? I see a lot of hits come back so hopefully one of those will help you. I've never used soap_api as I used utl_http to make WS calls. This required me to build the SOAP message (aka XML of a specific nature) by hand and then pass it to the WS using utl_http. How this approach is done via SOAP_API, I can't say.

  • How to pass a parameter into execute sql task and later use it into dataflow task?

    i am in a situation, where i have a logging table in which i have a primary key called ETL_log_ID which is an identity column and acts as a foreign key for various fact table and dimension tables which are populated using SSIS packages. Now i wanna use the
    ETL_log_ID as a parameter in the execute sql task which populates the log table and pass the same value in the data flow task which populates the facts and dimension. Can you let me know how to pass the parameter in a step by step procedure.
    Thanks,
    Nikhil
      

    Nikhil,
    You can check the following :
    http://www.programmersedge.com/post/2013/03/05/ssis-execute-sql-task-mapping-parameters-and-result-sets.aspx
    http://stackoverflow.com/questions/7610491/how-to-pass-variable-as-a-parameter-in-execute-sql-task-ssis
    Regarding the usage in Dataflow task, Can you elaborate on that a little?
    Thanks,
    Jay
    <If the post was helpful mark as 'Helpful' and if the post answered your query, mark as 'Answered'>

  • How to get the read input file name in bpel process using File Adapter.

    Hi,
    I am reading a .txt file from configured directory using File Adapter.
    I had configured file adapter to read file with naming pattern “SalesOrder.*\.txt”.
    Now I had requirement to access the actual file name in bpel process eg: “SalesOrder123.txt”
    How can I get the file name in bpel process.
    Any help is appreciated.
    Vidya.

    1) create a variable of message type. Click on Browse Message type. Here you select Message Type-->Project WSDL Files -->fileAdapterInboundHeader-->Message Types-->Inboundheader_msg. Then click OK
    2)Next dbl Click on teh receive Activity which is receing your File from teh File Adapter. Go to the Adapter Tab. Click on Browse variable and select the variable that you had just created above.
    This would get the File name in the variable declared

  • How to pass a filename dynamically in incoming email and process that file

    Hi,
    We have to process an incoming file with XI, the name of which we don't know to design time. The filename is passed dynamically in an incoming email, in the body section. We can parse the filename from the mail already. However, file adapter-sender does not accept variables (whereas receiver does), so we have no way to pass this name to the file-sender.
    What would be the best way to implement this scenario? I'd really appreciate a bit more explanation than 1-liner answers (e.g. links to help.sap.com We have SAP XI 7.0 SP15.
    TIA

    Thanks. This is similar to our plan B That is, using a wildcard, processing all files in the incoming directory, and moving them after processing. This way, only the unprocessed files would be in the source folder. IMHO, it's not elegant.
    Besides, should a second mail get received, before the first file is processed completely (e.g. due to an error, slow FTPS transfer rate, etc.), the second process would try to pick up the first file as well, which would mess up everything.
    There should be a way to set a parameter for the sender-file adapter...

  • How to pass more characters in grid header

    Hi,
    I Need to display header of length 50 characters in ALV grid display. Im using OO method and passing 50 in outlen parameter but it is not allowing me to display more than 40 chars. Please let me know if it is posible.
    Rgds

    The longest available is 40 chars - field SCRTEXT_L determines that. So I guess the only option is use abbrevation for that field. By standard SCRTEXT_M is used which which is of type 20 chars.
    Regards
    Marcin

  • How to pass a pointer in labview library call function by using dll programmed in Labwindows​?

    Hi,
    I'm trying to interface a camera with Labview.  However, the camera can only be programmed by C, so I'm using Labwindow CVI.
    I need to pass a camera handle from one function to another, eg. from a opencamera function to setparameter function.  
    /* Load the Qcam driver and Open the First Camera */
    void DLLEXPORT LoadDriverAndOpenCamera()
    QCam_CamListItem cameraList[10];
    unsigned long cameraListLength=sizeof(cameraList)/sizeof(cameraL​ist[0]);
    //load the driver
    QCam_LoadDriver();
    //get a list of the cameras
    QCam_ListCameras(cameraList,&cameraListLength);
    //listLength is now the number of cameras available
    QCam_Handle hCam;
    //Open the first camera in the list
    QCam_OpenCamera(cameraList[0].cameraId, &hCam);
    Apparently, caemraId is an unsigned long (unsigned 32-bit in Labview 2012 32-bit? ) and QCam_Handle is defined as void*, so it's a pointer that points to an unsigned 32-bit.
    When I only use C for programming, I can pass hCam variable to other functions as long as it's declared as global variable.  Ex, the next function can be void SetParameter(QCam_Handle hCam).  However, here I'm trying to make a dll by Labwindows/CVI and then call LoadDriverAndOpenCamera() function through library call in Labview.  
    My question is:  How can I pass hCam to other functions in the same dll?  Do I have to add paramter to the function? For example:
    void DLLEXPORT LoadDriverAndOpenCamera(unsigned long cameraId, QCam_Handle* cameraHandle)
    And then add two lines:
    cameraId=cameraList[0].cameraId;
    cameraHandle=hCam;
    into the function?  Then I can pass cameraHandle out?  However, hCam will still have void* type.
    Even if that's the case, how can I set up library call node on Labview?  In the arg parameter set up, I don't see pointers?  It seems I cannot set up an output node to be a pointer that points to a unsigned long.
    Thank you very much for your help!
    Best,
    Charles
    Solved!
    Go to Solution.

    Hello Charles, 
    I noticed you posted a similar question here. do you have any further questions about using the call library function node? 
    Haley N
    Applications Engineer
    National Instruments

Maybe you are looking for