Reading Message Header and mapping

Hi,
If a userId is coming in the message header of the source message and I want to map it with one of the fields in the destination structure then How can it be done ?
Can dynamic configuration be of any use here? I have RFC receiver and proxy sender.
Please suggest.

>
neelansha singh wrote:
> Hi,
> If a userId is coming in the message header of the source message and I want to map it with one of the fields in the destination structure then How can it be done ?
> Can dynamic configuration be of any use here? I have RFC receiver and proxy sender.
>
> Please suggest.
my understanding is your sender is a proxy (ABAP???).
There is a user id as part of the message header and you want to access it during mapping.
Dynamic configuration will not help in this case for a proxy sender. hence the best way is to have that user id stored as a field in the proxy structure itself so that it will be easily used for your mapping. This is the simplest solution.

Similar Messages

  • Data Type, Message Type and Mapping for FTP

    Thanks in advance for your replies.
    As our first production XI scenario, we need to move several (at least 46) files from our SAP instance to a couple of different servers to support our legacy systems.  Once all locations are on SAP this requirement should go away.
    I only want to pick up the file from the one server and place it on the other and this leads me to some questions.
    How do I define the Data Type and Message Type for each of the files?   Do I need to consider the size of the record in each interface and create DT/MT with different sizes.
    Do I need a mapping program that simply maps one structure to the other?

    I recently completed a similar exercise.
    It looks like this...
    server1 ftp (Sender - delete file) - XI - Server2 ftp (receiver - create file).  This will move the file from one server to another.
    I used the same schema and mapped fields on a one to one basis.
    The Size of the files I process are between 6kb and 500kb each, but the mapping/fields remain constant, just the numebr of items change.
    Worked seemelessly for the last three weeks (since go-live)

  • How to read 'clicked header' AND selected row from multicolumn listbox?

    I have a multicolumn listbox filled with 6 columns and about 500 rows.
    I want the user to be able to click on a column header, and sort the listbox alphabetically on that column. I've written the code for that, and that works. (using the 'itemnames' en 'get clicked col hdr' properties.)
    However, I also want to include the option, that when a user highlights a row, and then clicks on the header, that after the listbox gets sorted it scrolls down to the selected row.
    (So that the user doesn't have to search for it)
    And that's where things go wrong, because the value of the listbox changes to zero when you click on a column header. No I idea why it does that, but it's rather
    annoying. Can I change that behaviour somehow?
    Or any ideas how to get around it?

    My thanks to you and Jared.
    Seems I got a working solution now.
    Did take a while to figure out why your solution worked. Basicly, you're reading the row from a few iterations before.
    As soon as I understood that, I simplified it a little. Look at the attached file... I think it does the same. :-)
    Jared asked for the sorting routine. As I don't seem to be able to attach files when replying to comments, I took the liberty to include it here also.
    Basicly, I just use the 'sort 1D array' that comes with Labview 6. To be able to sort a 2D array, I convert every row to a cluster. That's something the 'sort 1D array' VI can handle nicely.
    To sort on the correct column, I just cut all columns in front, and paste them behind again. A
    fter sorting, I reverse the process.
    Anthony.
    Attachments:
    copy2_of_multicolumn.vi ‏26 KB
    sort_2d_string_array.vi ‏34 KB

  • Setting JMS Message header and properties in JMS Adapter ESB Component

    Hi,
    I am new to using some of these adapters in Oracle ESB and need some help.
    I am trying to define a JMS Publisher using JMS Adapter component in JDeveloper. I would like to publish messages with message property set to a topic. I dont find a way to do that.
    I see that for consuming JMS messages, the JMS Adapter allows to specify message selector but I could not find a way for producing message with a user defined message property. I would like to use that property in the message selector to filter messages and consume.
    I am using Oracle SOA Suite 10.1.3.3.x
    Can someone help please?
    Thanks.

    Thanks for the response.
    I think I found the solution although I havent tried it out yet.
    ESB sample 110.JMStoJMSHeaders outlines the approach.
    It is my understanding that JMS Message selector can work on JMS header or JMS properties (user defined) but not on JMS body. (All the three constitue a JMS message). Hence the need to set a JMS property prior to publishing the message to a topic/queue.
    Thanks.

  • Reading a subnode and mapping to main node

    Hi Guru
    I have a node with subnode with no singleton. I'm able to display dropdown (using index) in table (not ALV) using subnode. After the user selects dropdown and enters values in other columns, I have to capture all the values in table including dropdown in background. If I read the node using get_static_attributes_table, I'm able to capture the entire table except dropdown as its populated thru subnode. Please let me kow how can I capture everything in a single shot.
    Your help will be appreciated.
    David.

    >
    david santi wrote:
    > Hey Thomas,
    >
    > Thanks for your response. Would be great if you can provide sample code for this.
    >
    > Thanks,
    > David.
    For what? Reading the subnode by Lead Selection?
    For that you just need to get the element set of the parent table.  Then loop through this element set and read the subnode for each parent element.
    data lr_nd_course_assign type ref to if_wd_context_node.
      data lr_nd_course_***_att type ref to if_wd_context_node.
      lr_nd_course_assign = wd_context->path_get_node( path = `COURSE_DETAILS.COURSE_ASSIGN` ).
      data lt_assign_elements   type wdr_context_element_set.
      field-symbols: <ls_element>     like line of lt_assign_elements.
    lt_assign_elements = lr_nd_course_assign->get_elements( ).
      loop at lt_assign_elements assigning <ls_element>.
        lr_nd_course_***_att =  <ls_element>->get_child_node(
            name = wd_this->wdctx_course_***_att ).
    "do your processing on the leadSelection element of the child node now that you have its reference.
      endloop.

  • How can I display the read messages count and total size of a folder?

    Extra Folder Columns 1.1.5 is not compatible with Thunderbird 31.3.0.

    Log into your account and to the right of the phone photo you will see usage details in blue then on the next screen pick the phone on the account you want to see the details for and under that you can click to see eveyrthing in detail.  Mary

  • Which BAPI is for reading Header and Item for BOM.

    Hi All,
    I am using BAPI named 'CSAP_MAT_BOM_READ' to read Material type BOM header and Item.
    1. Is there any BAPI available to read Equipment Header and Item  ?
    2. Is there any BAPI available to read Functional Loc Header and Item  ?
    3. Any BAPI to Write into Database table from my internal table (Header and Item) ?
    Edited by: amit soni on Aug 26, 2011 11:25 AM

    1. BAPI_EQUI_GETDETAIL
    2. BAPI_FUNCLOC_GETDETAIL
    3. BAPI_EQUI_CREATE, BAPI_FUNCLOC_CREATE for equipment, and functional location respectively.
    Have you browse in BAPI transactions?

  • XML to Header and Body (DOMObject)

    I have written a DOMObject class that will take a Header and Body of a message and output it to an XML string. How would i go about turning an XML document back into a Message Header and Body - any thoughts?

    i don't think its that simple - is it? - what about using selectNodes and selectSingleNodes methods to extract the correct information from the XML document - however DOM doesn't have these methods?

  • Message properties and performance

              Hi
              Our application uses BytesMessage - but we add some userdefined properties in
              the message header area- all string properties. The number of properties that
              we add is around 5-6 and am trying my best to reduce that somehow. Wondering whether
              the number of proerties would matter or is it like black or white? Also if I end
              up with a screwed up design just to reduce 1 or 2 properties out of 5/6 - id it
              really worth it? Also wondering if there is any way that an MDB instance knows
              which Queue the message came from if the message itself does not contain any user
              defined property like "queuename" put by the producer.
              thanks
              Anamitra
              

    One more thing to consider outside of performance
              - message header and property fields do not get paged out.
              This becomes a factor when there
              are a large number of messages on the server
              and at the same time message properties are
              fairly large in comparison to message header information.
              Tom Barnes wrote:
              > Hi,
              >
              > Anamitra wrote:
              >
              >> Hi
              >> Our application uses BytesMessage - but we add some userdefined
              >> properties in
              >> the message header area- all string properties. The number of
              >> properties that
              >> we add is around 5-6 and am trying my best to reduce that somehow.
              >> Wondering whether
              >> the number of proerties would matter or is it like black or white?
              >> Also if I end
              >> up with a screwed up design just to reduce 1 or 2 properties out of
              >> 5/6 - id it
              >> really worth it?
              >
              >
              > Likely not worth it.
              >
              > Its not the number Strings so much as the size of
              > the Strings that matters.
              >
              > The perf gain is likely not measurable except
              > for high throughput non-persistent messaging (rates
              > of 1000 msgs/sec higher) with "small" (few hundred
              > byte) message bodies and Strings greater than 25
              > characters in length. Of course, these are
              > very rough estimates - say plus/minus 75%, with
              > measured perf gains at 5% or more.
              >
              >> Also wondering if there is any way that an MDB instance knows
              >> which Queue the message came from if the message itself does not
              >> contain any user
              >> defined property like "queuename" put by the producer.
              >
              >
              > javax.jms.Destination dest = ((javax.jms.Message)msg).getJMSDestination();
              >
              > // get JMX mbean name of destination
              > String name =
              > ((javax.jms.Queue)dest_.getName();
              >
              >
              >>
              >> thanks
              >> Anamitra
              >
              >
              

  • Header & item mapping

    hi all ,
    i am doing file to idoc
    i have source structure as
    header
    item1
    item2
    item3
    and my idoc wmmbid02  as stru
    E1MBXYH  1.1
        E1MBXYI. 1.9999
    i am able to convert soure file to xml as below (inbound playload ) using sender fcc.
    <zheader>
    <zitem>
    i  defined my message source mapping (message type ) as below.
    mt_f2idoc
         zE1MBXYH
         ziE1MBXYI    (same level as header)
    and mapped to target  . (disabled edidc seg , given 1 to segements attr)
    *ques*
    i am getting run time exp in sxMB_MONI for mapping :
    That "Cannot produce target element /WMMBID02/IDOC/E1MBXYH/E1MBXYI. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd "
    what may be probelm ?
    please help me out .
    Thanks
    Sridhar

    Hi
    if u r getting the error like can not produce target element
    to make the error correction u can do the followng tests.
    forst check your Message Mappinh that u have created, you can test the message mapping in the test tab
    go to the test tab and execute and check whether the target strctute is generate or not.
    if the target structure will not be generated that it mwans some mandatpry nodes are not mapped.then mapped all the nodes and then check.
    if ur tyarget structure is generated in message mapping in the test tab then go to SXMB_MONI and thake the payload form the moni , copy this paylod in the message mapping and then  check ur message mapping. u will come to know about the mapping error.
    if u still face the problem please reply me back.
    Thanks
    Rinku

  • Max message header size

    Is there a max size of jms message header and properties?

    Is there a max size of jms message header and properties?

  • Accessing SAP:HopList element in message header from JAVA-mapping

    Dear Experts,
    Is it possible to access the SAP:HopList element from message header in JAVA-mapping? 
    I need this to get the list off all receivers of current message (I have a ReceiverDetermination with two receivers, without any conditions, so both receivers are receiving each message and in InterfaceDetermination to one of the receivers I have a JAVA-mapping, in which I need to know the name of another receiver. And the SAP:HopList is containing this information).
    Or maybe where is some other solution?
    Best Regards,
    Artsiom Anichenka

    That's tricky, since the proper way of doing it would be through BPM.
    Anyway, if you expose your XI interface as a WebService (Soap sender cc) you could access it through Mapping Lookup (lookup works for RFC, DB and Soap lookups). Check https://help.sap.com/javadocs/NW04S/current/pi/index.html
    But be aware that Mapping Lookup API is not intended for inserts/updates (since it doesn't contain any transacational handling), just mere lookups (selects in tables), so I'm not sure it is the best approach for your case.
    Regards,
    Henrique.

  • Message Selector and Setting JMS Header Properties PL/SQL Enqueue

    Currently I am attempting to use the Message selector functionality. I just know know exactly how we need to set the property in PL/SQL when enqueuing. I also want to verify the syntax that I should use in the event that I am doing this incorrectly...
    The code I am using to test the enqueue is
    declare
    enqueue_options dbms_aq.enqueue_options_t;
    message_properties dbms_aq.message_properties_t;
    message_handle RAW(16);
    agent sys.aq$_agent := sys.aq$_agent('', null, null);
    message sys.aq$_jms_text_message;
    recipients DBMS_AQ.aq$_recipient_list_t;
    BEGIN
    message := sys.aq$_jms_text_message.construct;
    message.set_text('<ORDER><HEADER_ID>16992531</HEADER_ID></ORDER>');
    message.header.set_string_property('bamfilter','ORDER_ENTRY');
    dbms_aq.enqueue(queue_name => 'XX_OM_MONITOR_Q',
    enqueue_options => enqueue_options,
    message_properties => message_properties,
    payload => message,
    msgid => message_handle);
    COMMIT;
    END;
    we have tried a few other methods, but still to no avail...
    the syntax I believe for the selector in the ems should be bamfilter='ORDER_ENTRY'
    Any help would be great.
    The DB the Queue is locate is on 10g if that makes any difference...

    Yes
    I am able to specify JMS Header and JMS Properties when producing a message. However I am not able to user "Message Selector" to filter messages based on JMS Properties information when consuming messages.
    In the link you provide, there is an example on how to use Message Selector:
    # (a copy from the link)
    Message Selector
    ...for example, you can enter logic, such as:
    * JMSType = 'car' AND color = 'blue' AND weight > 2500
    * Country in ('UK', 'US', 'France')
    I believe the example with "Country" is exactly what I need, but I can´t get it work.
    I create the same example above, setting a property named "Country" in the JMSHeader, sending the message to a JMS Queue (BPEL Process #1) and try to comsume it on the Message Selector (BPEL Process#2), but JMSAdapter never consumes the message.
    Thanks for your help.

  • Reading fixed length flatfile & splitting it into header and lineitem data

    Hi Friends,
    I am reading a fixed length flat file from application server into an Internal table.
    But problem is, data in flat file is in the below format with fixed start and end positions.
    1 - 78 -  control header
    1 - 581 - Invoice header data
    1 - 411 - Invoice Line item data
    1 - 45 -   trailer record
    There will be one control header and one trailer record per file and number of invoice headers and its line items can vary.
    There is unique identifiers to identify as below.
    Control header - starts with 'CHR'
    Invoice Header starts with - '000'
    Invoice Lineitem stats with - '001'
    trailer record - starts with 'TRL'
    So its like
    CHR.......control  data..(79)000.....header data...(660)001....lineitem1...(1481)001...lineitem2....multiples of 411 and 581 and ends with... TRL...trailer record..
    (position)
    I am first reading the data set and store in internal table with a field of 255char.
    by looping on above ITAB i have to split it into Header records and line item records.
    Did anyone face this kind of scenario before. If yes appreciate if you can throw some ideas on logic to split this data.
    Any help in splitting up the data is highly appreciated.
    Regards,
    Simha
    ITAB declaration
    DATA: BEGIN OF ITAB OCCURS 0,
                   FIELD(255),
               END OF ITAB,
                lt_header type table of ZTHDR,
                lt_lineitem type table of ZTLINITM.

    Hi,
    i am sending sample code which resembles your requiremeant.
    data: BEGIN OF it_input OCCURS 0, "used for store all the data in one line.
          line type string ,
          END OF it_input,
          it_header type TABLE OF string WITH HEADER LINE,"use to store all header with corresponding items
          it_item   type TABLE OF string WITH HEADER LINE.."used to store all item data
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = 'd:\test.txt'
      FILETYPE                      = 'ASC'
      HAS_FIELD_SEPARATOR           = ' '
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
      VIRUS_SCAN_PROFILE            =
      NO_AUTH_CHECK                 = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      tables
        data_tab                      = it_input
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT  it_input.
       write : it_input-line.
    ENDLOOP.
    before doing the below steps just takethe controle record and trail record cutt of from the table input based up on the length
      split it_input-line AT '000' INTO TABLE it_header IN CHARACTER MODE.
      LOOP AT  it_header.
        split it_header AT '0001' INTO TABLE it_item IN CHARACTER MODE.
        write :/ it_header.
      ENDLOOP.
    after this you need to cut the records in tocorresponding  fields in to respective tables by putting loop on item and header table as i decleared above.
    i think this may solve your problem you need to keep some minnor effort.
    Regaurds,
    Sree..

  • Mapping between XI message (XSD) and the webservice message

    HI Gurus,
    I am trying to send a message from XI to webservices. In the mapping my source message (xi message) has multi nodes in it. How can I map this structure to webservices? I cannot map them to the arraylist (defined as parameter in the webservices).
    I am trying to write a UDF to read the XSD schema message and map that into the arraylist of the webservice.
    Any ideas please?
    Thanks
    Kalyan

    Suraj,
    Source message  (XI message)
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:CustomerCreateResp xmlns:ns0="pr5:100">
       <CUSTOMER>
          <item>
             <CUSTOMERNO/>
             <MDMCUSTOMER/>
             <CREATE_DATE/>
             <RETURN>
                <TYPE/>
                <MESSAGE/>
             </RETURN>
             <PT_CONTPART_RETURN>
                <item>
                   <MDM_CONTACT/>
                   <CONTACT/>
                </item>
             </PT_CONTPART_RETURN>
             <PARTNERS>
                <item>
                   <CUSTOMERNO/>
                   <PARTNER_FUNCTION/>
                   <PARTNER_NUMBER/>
                   <DEFAULT_PARTNER/>
                </item>
             </PARTNERS>
          </item>
       </CUSTOMER>
    </ns0:CustomerCreateResp>
    Target message (webservices message)
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:updateCustomer xmlns:ns1="urn:xiSericeVi"><ns1:customer><ns2:ArrayList xmlns:ns2="java:sap/standard">[]</ns2:ArrayList></ns1:customer><ns1:name></ns1:name></ns1:updateCustomer>
    The target message has arraylist type parameter. I am trying to read the XI message and map it to the arraylist.
    Thanks
    Kalyan

Maybe you are looking for

  • How to update xml content based on resource_view path?

    I am using resource db to store xml documents. I can ftp xml documents into a specific path within resource db. I have a xml schema registered and setup with a xml table. I would like to update a xml document based on a specific resource_view path. F

  • Can I copy a radio button?

    When using the radio button can you copy and paste for multiple lines and multiple pages with the same layout?

  • Audio Interface for monitoring, mixing 5.1 St Surround in FCP and Sd Tr Pro

    I'm a fairly newbie with FCP and Sound Track Pro, and I am doing mostly long form, live event HDV recordings and editing. I'm about to start doing 5.1 Stereo Surround shooting and burning to Blu Ray. What do you recommend for an audio interface for m

  • [JDBC] trace file

    Hi Is it possible to configure JDBC on OC4J to create SQL query trace file ( for debug purpose)

  • Oracle 11g ogg

    Hi, Can any one please explain me about , what are the new features added in the oracle 11g golden gate release, currently im using 10g , if im migrated to 11g what are the advantages for using GG?