Wrong value in message header on target system | "test" -- "production"

Hi all,
need some help with this.
When sending a message with RNIF Adapter to target system there's something wrong with the Message Header.
GlobalUsageCode has the value "test" but should say "production".
Any ideas where i can change that value on PI side ?
Cheers
Lars

may be u can change it in the mapping . it should be definitely possible using abap mapping

Similar Messages

  • BPM sending messages to wrong inbound interfaces in PI and target system

    Hi All,
    i am doing File to proxy scenarion using bpm.i am receiving three files,two files splitting on based condition(location code) in receiver determination and sending to bpm(here one bpm receiving 3 files then it merges 3 files into one proact and some promo messages based promos in source file ,same in the second bpm with 2 files with different mapping,here target system is SAP APO SNC).i am doing testing now mapping and every thing is working fine.but first bpm sending messages(proact and promo messages) target sytem side (proact_in and promo_in)inbound inrefaces.if i am executing scenario both bpm sending (proact and promo) messaegs in target system its showing wrong bpm name.in target system also we can check messgaes sxmb_moni.
    ex:if first bpm A sending 1 proact and 2 promos,and second bpm B sending 1 proact and 2 promos to target system,but  in target syetm its showing sender component as 1st bpm A for 3 promo messages(here B bpm messages sending with A bpm viceversa i did the configuration correctly) and for 1 its showing second bpm. please give me suggetions how to resolve this issue.
    Thanks,
    seshagiri.

    Is the connection to SNC via idocs or proxies. If it's via idocs can you check the control record and see if the issue is not there ?

  • Relay message when the target system is down.

    Dear all,
    I've got a question relating to the MII.
    I have the following scenario where the system A sends data to the system B, using SAP MII.
    My question is If the MII sends the message to system B, the target system, and the same is down, the MII can hold the message in a queue for later transmission itself or not.
    Regards,
    Sérgio Salomã

    Sergio,
    in 12.0 there are no out of the box buffering capabilities for Web Services. You may use the MII Queueing actions to queue the xml contents you want to sent. Schedule a job to read the queue entries and send them to the web service. If the call was successful, delete the queue entry, else leave it.
    [MII Queue actions|http://help.sap.com/saphelp_xmii120/helpdata/en/46/726e818cf40ed5e10000000a155369/frameset.htm]
    For SAP calls using JRA, you can switch on the buffering, as well as for MII queries. If a call fails, MII will buffer it. You can check the entries in MII Data Services > Data buffer entries. Scheduled jobs can resend the entries.
    [MII Data buffering|http://help.sap.com/saphelp_xmii120/helpdata/en/45/515db282a33a16e10000000a1553f6/frameset.htm]
    Hope this helps.
    Michael

  • Limiting weight values to be transferred to target system

    Hi All,
    I have a requirement according to which I need to reduce the number of digits being passed to IDOC segmnet fields Z1BP_J_1BNFDOC-BRGEW and Z1BP_J_1BNFDOC-NTGEW. This IDOC will transfer data to a non-SAP target system. In the target system, the gross weight & net weight (BRGEW & NTGEW respectively having total length 13 with 3 decimal places in SAP) have mask: 9999999.99999 (7 digits before decimal and 5 digits after decimal). So the total digits that should be transferred to the target system should not be more than 12.
    The method to achieve this, as suggested by functional, was to divide the weight values by 1000 instead of directly truncating the values so that there is no loss of data. For example, if the value in weight field is 123,234,432.000 KG, then on dividing it by 1000, it will result in 123,234.432 KG, which is correct. But using this method, if the number of digits in the weight field is less than 4 digits, for example, 123.000 KG, then on dividing this value by 1000, it will result in 0.123 KG, which is incorrect. And to avoid such a situation, if I apply a condition that the weight values should be divided by 1000 only when the number of digits before the decimal is more than 3, then I am facing the following issue:
    Say, there is one value 123,4.000 KG, then in this case since the number of digits is more than 3 before the decimal, it will be divided by 1000, so we get: 1.234 KG. Now, there is another value say, 123.000 KG, then since in this case the number of digits before the decimal is 3, it will not be divided by 1000, so it will remain the same, that is, 123.000 KG. But comparing the two values, initially: 123,4.000 KG > 123.000 KG; and after applying the above logic: 1.234 KG < 123.000 KG, which is again incorrect.
    Please suggest an appropriate solution.  
    Thanks & Regards,
    Ankit

    Reverse logic can figured out if boundary conditions are taken care of.
    For input conversion, you are doing something like:
    if input > 1000.
         output = input / 1000.
    endif.
    Reverse case can be:
    if frac( output ) > 0.
         input = output * 1000.
    endif.
    FRAC function strips the integer part and gives only the fraction part.
    Both logic would fail for specific cases.
    Imagine 123KG becoming 123.000 KG as it is less than 1000.
    On the other hand, 123,000 KG would also become 123.000 KG because input is greater than 1000.
    When last 3 digits are anything other than 000, both input and output logic would work fine.
    Tell your functional about above scenario.
    Your requirement sounds really weird.
    For exception cases, think about this.
    Technically variable can store negative, but logically negative input weight may never come.
    Whenever input ends with 000, can you apply negative sign and change 000 to 001, so that both logic work.

  • Sending additional values in message header

    I need help regarding sending of messages. We wish to send following additional values in the message header :-
    1) ApplIdentityData (Combination of user id and password)
    2) ReplyToQ (Queue name on which receiver will send reply)
    3) ReplyToQM (Queue manager name for the above queue)
    I am trying to find the way of sending this additional values in the message header, but I am not able to find the correct methods in the JMS API (we are using JMS 1.1) for sending this additional values.
    Thanks a lot in advance.

    "Queue manager" isn't a standard JMS concept (it's a concept specific to the particular JMS provider you are using). So you will need to pass information like this in user--defined properties rather than in standard header properties.
    Is there a way to set the Queue Manager name while sending the message or while creating the queue for sending message?You will need to consult the documentation for your particular JMS provider to find out how to do this.
    Nigel

  • FIELD VALUE IN ALV HEADER

    Hi friends,
    I make one header alv ok I want and take one variable count in my program so I want to display its value in ALV HEADER
    Total Target Qty:
    Total EMP. Efficiency 
    Total Machine Effi. 
    I take may header like this and pass thre text here.ok Now I want to display value of this three.
    Total Trget Qty: 2.23 like that.
    CLEAR st_line.
      st_line-typ = 'S'.
      CONCATENATE 'Total Target Qty: '  count     ' ' INTO st_line-info.
      APPEND st_line TO t_list_top_of_page.
    So I took like this in header count is my variable in which I take value.
    So how can we pass the value in ALV Header please tell me.
    its urgent so.
    Thnaks in Advance.
    Prashant.

    HI DHWANI,
    *& Report  ZPP_RE_EMP_DETAILS
    *& This Report is used to check the Employee Performance And Used Machine Quantity
    *& Rqueirement By Santhosh
    *& Developed By Prashant On Date 01.02.2008
    *&  Created By: Prashant Brahmbhatt
    *&  Creation Date: 20080201
    *&  Module: PP (Production & Plannig)
    *&  Changed By         Changed Date        Reason
    REPORT  zpp_re_emp_details.
    TABLES:zpplan.
    TYPE-POOLS:slis.
    DATA:BEGIN OF itab OCCURS 0,
         zdate LIKE zpplan-zdate,
         werks LIKE zpplan-werks,
         mname LIKE zpplan-mname,
         shftin LIKE zpplan-shftin,
         iserh LIKE zpplan-iserh,
         quaty LIKE zpplan-quaty,
         plan_qty LIKE zpplan-plan_qty,
         act_prod LIKE zpplan-act_prod,
         temp TYPE c,
         tar_qty(10) TYPE c,
         ach_qty(10) TYPE c,
         mch_eff(10) TYPE c,
        a(10) TYPE c,
         END OF itab.
    DATA:BEGIN OF temp OCCURS 0,
         zdate LIKE zpplan-zdate,
         werks LIKE zpplan-werks,
         mname LIKE zpplan-mname,
         shftin LIKE zpplan-shftin,
         iserh LIKE zpplan-iserh,
         quaty LIKE zpplan-quaty,
         plan_qty LIKE zpplan-plan_qty,
         act_prod LIKE zpplan-act_prod,
         temp TYPE c,
         tar_qty(10) TYPE c,
         ach_qty(10) TYPE c,
         mch_eff(10) TYPE c,
        a(10) TYPE c,
         END OF temp.
    DATA:BEGIN OF itab_t OCCURS 0,
         zdate LIKE zpplan-zdate,
         werks LIKE zpplan-werks,
         mname LIKE zpplan-mname,
         shftin LIKE zpplan-shftin,
         iserh LIKE zpplan-iserh,
         quaty LIKE zpplan-quaty,
         plan_qty LIKE zpplan-plan_qty,
         act_prod LIKE zpplan-act_prod,
         temp TYPE c,
         tar_qty(10) TYPE c,
         ach_qty(10) TYPE c,
         mch_eff(10) TYPE c,
        a(10) TYPE c,
         END OF itab_t.
    DATA:BEGIN OF itab1 OCCURS 0,
         zdate LIKE zpplan-zdate,
         werks LIKE zpplan-werks,
         mname LIKE zpplan-mname,
         shftin LIKE zpplan-shftin,
         act_prod LIKE zpplan-act_prod,
         quaty LIKE zpplan-quaty,
         planned LIKE zpplan-planned,
         iserh LIKE zpplan-iserh,
         temp TYPE c,
         tar_qty TYPE p DECIMALS 2,
         ach_qty TYPE p DECIMALS 2,
         mch_eff TYPE p DECIMALS 2,
         END OF itab1.
    DATA: wa LIKE  itab1.
    DATA:BEGIN OF itab2 OCCURS 0,
         zdate LIKE zpplan-zdate,
         werks LIKE zpplan-werks,
         mname LIKE zpplan-mname,
         shftin LIKE zpplan-shftin,
         act_prod LIKE zpplan-act_prod,
         quaty LIKE zpplan-quaty,
         planned LIKE zpplan-planned,
         iserh LIKE zpplan-iserh,
         temp TYPE c,
         tar_qty(10) TYPE p DECIMALS 2,
         ach_qty(10) TYPE p DECIMALS 2,
         mch_eff(10) TYPE p DECIMALS 2,
         count(10) TYPE c,
         END OF itab2.
    DATA: a(10) TYPE c,
          b(10) TYPE c,
          count(10) TYPE c,
          count1(10) TYPE c.
         c(2) TYPE p DECIMALS 2.
    DATA:t_fcat TYPE slis_t_fieldcat_alv,
         t_events TYPE slis_t_event,
         t_list_top_of_page TYPE slis_t_listheader,
         t_list_end_of_page TYPE slis_t_listheader.
    CONSTANTS:c_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
    CONSTANTS:c_formname_end_of_page TYPE slis_formname VALUE 'END_OF_PAGE'.
    DATA: st_line TYPE slis_listheader.
                  SELECTION-SCREEN
    SELECTION-SCREEN:BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    *PARAMETERS:shftin LIKE zpplan-shftin.
    SELECT-OPTIONS:date FOR zpplan-zdate,
                   shftin FOR zpplan-shftin,
                   werks FOR zpplan-werks.
    SELECTION-SCREEN:END OF BLOCK blk1.
                   ALV CALL
    INITIALIZATION.
      PERFORM build_fieldcatalog USING t_fcat .
      PERFORM event_call.
      PERFORM head_built USING t_events.
    START-OF-SELECTION.
      PERFORM data_retrieval.
      PERFORM display_alv.
    *&      Form  build_fieldcatalog
          text
         -->P_T_FCAT  text
    FORM build_fieldcatalog  USING temp_fcat TYPE slis_t_fieldcat_alv.
      DATA:w_fcat TYPE slis_fieldcat_alv.
      w_fcat-tabname = 'ITAB2'.
      w_fcat-fieldname = 'MNAME'.
      w_fcat-seltext_m = 'Machine Name'.
      APPEND w_fcat TO temp_fcat.
      CLEAR w_fcat.
      w_fcat-tabname = 'ITAB2'.
      w_fcat-fieldname = 'SHFTIN'.
      w_fcat-seltext_m = 'Emp No'.
      APPEND w_fcat TO temp_fcat.
      CLEAR w_fcat.
      w_fcat-tabname = 'ITAB2'.
      w_fcat-fieldname = 'ZDATE'.
      w_fcat-seltext_m = 'Pos Date'.
      APPEND w_fcat TO temp_fcat.
      CLEAR w_fcat.
    w_fcat-tabname = 'ITAB2'.
    w_fcat-fieldname = 'QUATY'.
    w_fcat-seltext_m = 'Quantity'.
    APPEND w_fcat TO temp_fcat.
    CLEAR w_fcat.
      w_fcat-tabname = 'ITAB2'.
      w_fcat-fieldname = 'ACT_PROD'.
      w_fcat-seltext_m = 'Actual Quantity'.
      APPEND w_fcat TO temp_fcat.
      CLEAR w_fcat.
      w_fcat-tabname = 'ITAB2'.
      w_fcat-fieldname = 'ISERH'.
      w_fcat-seltext_m = 'Down Time'.
      APPEND w_fcat TO temp_fcat.
      CLEAR w_fcat.
      w_fcat-tabname = 'ITAB2'.
      w_fcat-fieldname = 'TAR_QTY'.
      w_fcat-seltext_m = 'Target Qty.'.
      APPEND w_fcat TO temp_fcat.
      CLEAR w_fcat.
      w_fcat-tabname = 'ITAB2'.
      w_fcat-fieldname = 'ACH_QTY'.
      w_fcat-seltext_m = 'EMP Effec.'.
      APPEND w_fcat TO temp_fcat.
      CLEAR w_fcat.
      w_fcat-tabname = 'ITAB2'.
      w_fcat-fieldname = 'MCH_EFF'.
      w_fcat-seltext_m = 'Machine Effec.'.
      APPEND w_fcat TO temp_fcat.
      CLEAR w_fcat.
    w_fcat-tabname = 'ITAB2'.
    w_fcat-fieldname = 'COUNT'.
    w_fcat-seltext_m = 'Machine Effec.'.
    APPEND w_fcat TO temp_fcat.
    CLEAR w_fcat.
    ENDFORM.                    " build_fieldcatalog
    *&      Form  event_call
          text
    -->  p1        text
    <--  p2        text
    FORM event_call .
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         i_list_type           = 0
       IMPORTING
         et_events             = t_events
      EXCEPTIONS
        LIST_TYPE_WRONG       = 1
        OTHERS                = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " event_call
    *&      Form  data_retrieval
          text
    -->  p1        text
    <--  p2        text
    FORM data_retrieval .
      IF shftin <> ''.
        SELECT zdate werks mname shftin  INTO CORRESPONDING FIELDS OF TABLE
         temp FROM zpplan
         WHERE shftin IN shftin
         AND zdate IN date
         AND werks IN werks.
      ELSE.
        SELECT zdate werks mname INTO CORRESPONDING FIELDS OF TABLE
           temp FROM zpplan
           WHERE  zdate IN date
           AND werks IN werks.
      ENDIF.
      SORT temp BY mname zdate shftin.
      DELETE ADJACENT DUPLICATES FROM temp.
      SORT temp BY mname shftin zdate.
      DELETE ADJACENT DUPLICATES FROM temp.
      APPEND temp.
      LOOP AT temp.
        SELECT zdate werks mname shftin act_prod quaty iserh   FROM zpplan INTO CORRESPONDING FIELDS OF TABLE itab_t
        WHERE mname = temp-mname
        AND zdate = temp-zdate
        AND werks = temp-werks.
        LOOP AT itab_t.
          MOVE-CORRESPONDING itab_t TO itab.
          APPEND itab.
        ENDLOOP.
      ENDLOOP.
      *******************************************8
    SELECT zdate werks mname shftin act_prod quaty iserh   FROM zpplan INTO CORRESPONDING FIELDS OF TABLE itab
         FOR ALL ENTRIES IN temp
         WHERE zdate = temp-zdate AND
               werks = temp-werks
              AND mname = temp-mname.
    SELECT zdate werks mname shftin act_prod quaty iserh   FROM zpplan INTO CORRESPONDING FIELDS OF TABLE itab
       WHERE zdate IN date AND
             werks IN werks AND
    shftin = shftin.
      SORT itab BY mname zdate.
    DELETE ADJACENT DUPLICATES FROM itab.
      LOOP AT itab.
        MOVE-CORRESPONDING itab TO itab1.
        COLLECT itab1.
      ENDLOOP.
      LOOP AT itab1.
        itab1-tar_qty = itab1-tar_qty + ( itab1-quaty / 3 ).
        IF  ( itab1-tar_qty NE 0 ).
          itab1-ach_qty = ( itab1-ach_qty +  itab1-act_prod / itab1-tar_qty ) * 100.
        ELSE.
          itab1-ach_qty = 0 * 100.
        ENDIF.
        itab1-mch_eff = ( ( 8 - itab1-iserh ) / 8 ) * 100.
        MODIFY itab1 TRANSPORTING tar_qty ach_qty mch_eff.
      ENDLOOP.
      LOOP AT itab1.
        READ TABLE itab1 INDEX 1 INTO wa.
        IF itab1-mname = wa-mname.
          itab1-zdate = wa-zdate.
          itab2-shftin = itab1-shftin.
          itab2-mname = itab1-mname.
          itab2-zdate = itab1-zdate.
               itab2-quaty = itab2-quaty + itab1-quaty.     
               itab2-act_prod = itab2-act_prod + itab1-act_prod.
               itab2-iserh = itab2-iserh + itab1-iserh.
               itab2-tar_qty = itab2-tar_qty + itab1-tar_qty.
               itab2-ach_qty = itab2-ach_qty + itab1-ach_qty.
          itab2-mch_eff = itab2-mch_eff + itab1-mch_eff.
        ELSE.
               APPEND itab2.
               CLEAR itab2.
               MOVE-CORRESPONDING itab1 TO wa.
          itab2-shftin = itab1-shftin.
          itab2-mname = itab1-mname.
          itab2-zdate = itab1-zdate.
          itab2-quaty = itab2-quaty + itab1-quaty.     
          itab2-act_prod = itab2-act_prod + itab1-act_prod.
               itab2-iserh = itab2-iserh + itab1-iserh.
               itab2-tar_qty = itab2-tar_qty + itab1-tar_qty.
               itab2-ach_qty = itab2-ach_qty + itab1-ach_qty.
               itab2-mch_eff = itab2-mch_eff + itab1-mch_eff.
        ENDIF.
      ENDLOOP.
      APPEND itab2.
      LOOP AT itab2.
        IF  ( itab2-tar_qty NE 0 ).
          itab2-ach_qty = ( itab2-ach_qty +  itab2-act_prod / itab2-tar_qty(10) ) * 100.
        ELSE.
          itab2-ach_qty = 0 * 100.
        ENDIF.
        itab2-mch_eff = ( ( 8 - itab2-iserh ) / 8 ) * 100.
        MODIFY itab2 TRANSPORTING tar_qty ach_qty mch_eff.
      ENDLOOP.
    APPEND itab2.
      LOOP AT itab2.
       count = sy-tfill.
        a = a + itab2-tar_qty.
        b = b + itab2-ach_qty.
      ENDLOOP.
      CLEAR itab2.
      itab2-tar_qty = a.
      itab2-ach_qty = b.
      APPEND itab2.
      CLEAR itab2.
      count = a / sy-tfill.
      count1 = b / sy-tfill.
      itab2-tar_qty = count.
      itab2-ach_qty = count1.
    itab2-tar_qty = count.
      APPEND itab2.
    ENDFORM.                    " data_retrieval
    *&      Form  head_built
          text
         -->P_T_EVE  text
    FORM head_built  USING    p_t_eve TYPE slis_t_event.
    count = a / sy-tfill.
      DATA: ls_event TYPE slis_alv_event.
      REFRESH t_list_top_of_page.
      READ TABLE p_t_eve WITH KEY name = slis_ev_top_of_page INTO ls_event.
      IF sy-subrc = 0.
        MOVE c_formname_top_of_page TO ls_event-form.
        MODIFY p_t_eve FROM ls_event   INDEX sy-tabix.
      ENDIF.
       CLEAR st_line.
        st_line-typ = 'S'.
        st_line-key = 'Total Target Qty: '.
        st_line-info = count.
        APPEND st_line TO t_list_top_of_page.
    CLEAR st_line.
    st_line-typ = 'S'.
    st_line-info = count.
    CONCATENATE 'Avg Target Qty.'  count  ' ' INTO st_line-info.
    APPEND st_line TO t_list_top_of_page.
      CLEAR st_line.
        st_line-typ = 'S'.
        st_line-key = 'Avg.EMP Efficiency: '.
        st_line-info = count1.
        APPEND st_line TO t_list_top_of_page.
      CLEAR st_line.
        st_line-typ = 'S'.
        st_line-key = 'Avg. Machine Efficincy: '.
       st_line-info = count.
        APPEND st_line TO t_list_top_of_page.
    REFRESH t_list_end_of_page.
    READ TABLE p_t_eve WITH KEY name =  slis_ev_end_of_list INTO ls_event.
    IF sy-subrc = 0.
       MOVE c_formname_end_of_page TO ls_event-form.
       MODIFY p_t_eve FROM ls_event INDEX sy-tabix.
    ENDIF.
    CLEAR st_line.
    st_line-typ = 'S'.
    CONCATENATE 'END OF PAGE' ' ' INTO st_line-info.
    APPEND st_line TO t_list_end_of_page.
    ENDFORM.                    " head_built
    *&      Form  top-of-page
          text
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = t_list_top_of_page
        I_LOGO                   =
        I_END_OF_LIST_GRID       =
        I_ALV_FORM               =
    ENDFORM.                    "top-of-page
    *&      Form  display_alv
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = 'ZPP_RE_EMP_DETAILS'
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
       i_background_id                   = 'ALV_BACKGROUND'
       i_grid_title                      = 'EMP Information'
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
         it_fieldcat                       = t_fcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
         it_events                         = t_events
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = itab2
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " display_alv

  • SAP Idocs -How to handle response from target system

    Hi,
    I am working on a scenario in which I will send Idocs asynchronously from SAP thro a SOAP adapter to a  webservice deployed on the target system.
    After the Idoc data is posted in the target system,the target system will send the acknowledgement for the receipt(basically response message).How to handle this scenario?
    SAP Idoc( outbound asynchronous)---> SAP XI3.0(soap adapter) ---> Target system(inbound synchronous)
    Do I need to go for BPM to handle this situation?
    Is there any alterantive to BPM.
    If any of the forum members who have worked on the similar scenario could help me in finding a better solution,I will be thankful to them.
    Thanks,
    Leo

    Hi Udo,
    Thanks for the info.My scenario is like this.
    SAP R/3 Idoc -> SAP XI 3.0 <-> Webservice in the target system.
    The webservice in the target system will receive the Idoc as a request messsage and send a response message synchronously.
    Since Idoc is sent asynchronously( I believe Idocs sent from SAP are always asynchronous),there is no Proxy waiting in SAP R/3 to receive the response message from the target system.
    If I go for BPM for the above scenario,will the BPM steps look like the following.
    1)Receive Idoc from SAP.
    2)Send Idoc sysnchronously to webservice
    3)Receive the response from the webservice synchronously.
    4.Post the response message to a proxy which can handle it further in SAP R/3.
    Please note that my knowledge in BPM is limited and correct me if I am wrong.
    Thanks in advance
    S.Banukumar

  • What to do if the target system is down for async scenario

    Hi All,
    What all recovery options we have in XI if the target system is down for very long time
    in async scenario ??
    -> Can we configure any alerts which will send mails with the failed message details if the
       target system is dowm for very long time.
       If this is possible, will there be any links in that mail which will allow the
       alert mail receiver to 'resend' the failed message once the target system is up ?
    We are on nw2004s SP9.
    Can anyone help.
    Thanks in Advance
    Regards,
    Chemmanz

    Can we configure any alerts which will send mails with the failed message details if the target system is dowm for very long time.
    Yes we can send Alters from XI  . let clarify one thing here alters are triggred immedaitely when their any failure in Adapter or mapping or etc then immdeaitely it is sendt so theirt is no such things  for  this "details if the target system is dowm for very long time". it does not differencate it long or short.
    If this is possible, will there be/can we configure any links in that mail which will allow the alert mail receiver to 'resend' the failed message once the target system is up ?
    chekc the blog for alter step by step from Michal
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    you can confiure alters to send your outlook also then if he replis you get a reply.
    Regards
    Sreeram.G.Reddy

  • Call RFC for Lookup from BPM. how to determin the correct target system

    Hi
    I have a scenario where i am sending a sync call to SAP R/3 to fetch some sata using the BPM.
    The issue is I can have multiple SAP systems so to determin the SAP system for the correct lookup is necessary.
    in the rec determination step of Config I can configure multiple receivers but this isthrowing an error saying the multiple receivers cannot be determined for sync step.
    Any idea why is such an error occuring
    Regards
    Nikhil

    Nikhil,
    Multiple Receivers cannot be configured for a Synchronous Interfaces. reason is that when you are sending the request message to the target systems, XI will recieve multiple responses for one request and this is aginst the concept of Synch Message Processing.
    You will have to have an option of determining the receivers inside your BPM and using separate Send Steps for each of these.
    Regards
    Bhavesh

  • Resending of Messages to One Target Adapter / Application

    Hi,
    Have any of you ever attempted this?
    Given that you have successfully created, and published a message to your outbound adapter, and the Oracle Integration guarentees delivery of the message to the target system(s), I would like the ability to "Resend" (re-publish) the message to a specific target system in the event that that target system goes belly-up and we need to re-synch data.
    Because our original outbound messages are CBR'ed to more than one system, I need to have the ability (when I resend the message) to target that message to only one of these systems.
    My outbound adapter is the Oracle DB Adapter.
    Any suggestions on how I can do this?
    Cheers
    Yan

    Hi Ian,
    Resending was initially one of the prerequisites of the product. But the way we configured it in IC 9.0.2 didn't work as expected. We used a setup called messagewarehouse; copy all published messages to an Andvanced Queue.
    The problem is that republishing the message uses the original CBR-options. And most of the republish events are used for a specific subscriber.
    This method is now stopped
    A new option that we will test after our migration to 10g is to setup a retentention per queue. Every Queue should be able to hold messages for a given time. It probably will affect performance.
    We need to investigate this too. Hopefully others can give us comments about this option.
    regards,
    Ton

  • Message Header value is not written to DynamicConfiguration

    Hi Forum,
    I have a scenario on a PI 7.11 SP06, where a SOAP message is sent via HTTP to a SAP WAS Java.
    The response contains in header a  parameter"set-cookie" which has to be written in dynamic configuration.
    For example: Set-Cookie: JSESSIONID=DF4D3F35636D8E3549490B678SAP9403229; Path=/
    Therefore, i use SOAP adapter with axis extension, but the "set-cookie" content is not written to dynamicconfiguration.
    Here is my axis adapter configuration. Do you see something wrong here?
    **Processing Sequence**
    1    AF_Adapters/axis/AFAdapterBean                afreq
    2    AF_Adapters/axis/HandlerBean                     xireq----------------------O/B Handler
    3    AF_Adapters/axis/HandlerBean                     trp--------------------------- HTTPSender
    4    AF_Adapters/axis/HandlerBean                     dcres----------------------This is for Dynamic Configuration (read)
    5    AF_Adapters/axis/HandlerBean                     xires------------------------O/BHandler
    6    AF_Adapters/axis/AFAdapterBean                afres
    **Module Configuration**
    dcres          handler.type     java:com.sap.aii.axis.xi.XI30DynamicConfigurationHandler
    dcres          key.1          read http://sap.com/xi/XI/System/HTTP SetCookie
    dcres          location.1      header
    dcres          value.1          set-cookie
    trp             handler.type     java:com.sap.aii.adapter.axis.ra.transport.http.HTTPSender
    trp             module.pivot     true
    xireq          handler.type     java:com.sap.aii.axis.xi.XI30OutboundHandler
    xires          handler.type     java:com.sap.aii.axis.xi.XI30OutboundHandler
    I followed the [How To Guide|http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b092777b-ee47-2a10-17b3-c5f59380957f] which is unfortunately for 7.0.
    Also i tried with "set-cookie" and "Set-Cookie" without success. I have written a small java test which is accessing
    this service and I can see parameter "set-cookie" in the header. So with small letters should be okay.
    I have also read this very similar [sdn thread|DynamicConfiguration to Message Header;.
    Tests with writing constants to dynamicconfiguration works without any problem.
    I'm not sure if i have the correct handler classes. Is there any documentation about the handlers?
    Any help is very appreciated.
    Thanks in forward and best regards,
    Sigi

    Hi all,
    thanks for response.
    I'm aware of these functions so I tried the test to create a dummy entry in header and read it from there.
    So first i used which wrote constant to ASMA
    dcres1     key.1    insert http://sap.com/xi/XI/System/HTTP dummy
    dcres1     value.1 12345
    Then  I used write to move that constant from ASMA to header
    dcres2     key.1   write http://sap.com/xi/XI/System/HTTP dummy
    dcres2     location.1  header
    dcres2     value.1  dummy
    Finally i used read on that dummy value, creating a new entry in ASMA based upon that dummy entry
    dcres3     key.1   read http://sap.com/xi/XI/System/HTTP SetCookie
    dcres3     location.1  header
    dcres3     value.1  dummy
    So the "read" entry is correct in my origin settings. So now I know that the "set-cookie" header parameter from Java WAS response is not passed through SOAP Axis adapter.
    Does anybody know if there are settings which have to be changed in system? Or is that a design as usual, that the set-cookie parameter is not passed to SOAP AXIS HTTP-header params?
    Thanks in forward and best regards,
    Sigi
    Edited by: Siegfried Ertl on Apr 13, 2011 3:06 PM

  • Solution Import Failure Message: Cannot add a Root Component 'GUID' of type 29 because it is not in the target system

    Hi all,
    Please refer to the error:
    Root Components import: FAILURE
    [2015-04-10 17:04:48.126] Process: w3wp |Organization:0937f109-45df-e411-80cf-0050560100db |Thread:   43 |Category: Exception |User: ac011cf7-ad36-405b-91cf-2155ca15efb1 |Level: Error |ReqId: d3924c06-ad4b-4d5e-a204-70f8170016e1 | CrmException..ctor
     ilOffset = 0x30
    at CrmException..ctor(String formattedErrorMessage, Int32 errorCode, Object[] arguments)  ilOffset = 0x30
    at ImportRootComponentsHandler.GetSolutionRootsCollection(Boolean throwIfMissing, Boolean skipRibbonCustomization)  ilOffset = 0x209
    at ImportRootComponentsHandler.ImportItem()  ilOffset = 0x8
    at ImportHandler.Import()  ilOffset = 0x43
    at RootImportHandler.ImportAndUpdateProgress(ImportHandler ih)  ilOffset = 0x7
    at RootImportHandler.HandleNonMetadataHandlers(String[] ImportEntities, ImportHandler& ihForCurrentPath)  ilOffset = 0x33
    at RootImportHandler.RunImport(String[] ImportEntities)  ilOffset = 0x1D8
    at ImportXml.RunImport(String[] ImportEntities)  ilOffset = 0xE
    at ImportXml.RunImport()  ilOffset = 0x5BF
    at ImportXmlService.ImportSolutionSkipCapable(Boolean overwriteUnmanagedCustomizations, Boolean publishWorkflows, Byte[] customizationFile, Guid importJobId, Boolean convertToManaged, Boolean skipProductUpdateDependencies,
    ExecutionContext context)  ilOffset = 0x46
    at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x25
    at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0xCF
    at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x4F
    at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x57
    at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x200
    at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x1C5
    at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode,
    Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)
     ilOffset = 0x16E
    at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId,
    OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x1F1
    at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset
    = 0x2D
    at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x26
    at InprocessServiceProxy.ExecuteCore(OrganizationRequest request)  ilOffset = 0x34
    at PlatformCommand.XrmExecuteInternal()  ilOffset = 0xF6
    at ImportSolutionCommand.Execute()  ilOffset = 0x20
    at DataSource.ImportSolution(Byte[] customizationFile, Boolean overwriteUnmanagedCustomizations, Boolean publishWorkflows, Guid importJobId, Boolean convertToManaged, Boolean skipProductUpdateDependencies, IOrganizationContext
    context)  ilOffset = 0x0
    at SolutionImportProcessPage.ImportSolution()  ilOffset = 0x123
    at SolutionImportProcessPage.ProcessRequestData()  ilOffset = 0x4A
    at SolutionImportProcessPage.ProcessAction(String action)  ilOffset = 0x92
    at AppUIPage.OnPreRender(EventArgs e)  ilOffset = 0xD
    at Control.PreRenderRecursiveInternal()  ilOffset = 0x54
    at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)  ilOffset = 0x6D3
    at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)  ilOffset = 0x3C
    at Page.ProcessRequest()  ilOffset = 0x14
    at Page.ProcessRequest(HttpContext context)  ilOffset = 0x33
    at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()  ilOffset = 0x18D
    at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)  ilOffset = 0x15
    at ApplicationStepManager.ResumeSteps(Exception error)  ilOffset = 0x10A
    at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)  ilOffset = 0x5C
    at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)  ilOffset = 0x16A
    at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)  ilOffset = 0x4B
    >Crm Exception: Message: Cannot add a Root Component 0ffbcde4-61c1-4355-aa89-aa1d7b2b8792 of type 29 because it is not in the target system., ErrorCode: -2147188705
    [2015-04-10 17:04:48.126] Process: w3wp |Organization:0937f109-45df-e411-80cf-0050560100db |Thread:   43 |Category: Platform.Sql |User: ac011cf7-ad36-405b-91cf-2155ca15efb1 |Level: Info |ReqId: d3924c06-ad4b-4d5e-a204-70f8170016e1 | BusinessProcessObject.ExecuteNonQuery
     ilOffset = 0x28
    I am getting this coming up in the error log when I attempt to import an unmanaged solution.
    After searching on google Type 29 refers to a workflow.
    I go into the source system and query the database by the GUID and discover that it is actually a Business Process Flow called 'Phone to Case Process'. 
    I do not have this process in my target system as I deleted it.
    Looks like this is one of the out of the box ones. I don't think we we have changed this one much.
    What does this mean and what should I be looking for??
    Anyway how do I remove this offending process from the unmanaged solution xml file and attempt to re-import it? 
    It doesn't look like I can generate the solution again without the offending workflow/process..

    I managed to resolve this issue after looking at this thread:
    https://social.microsoft.com/Forums/en-US/fddff17f-1cca-4d33-a666-60c08ad76b0c/crm-2011-import-failure?forum=crmdevelopment
    Just modify both solution and customizations xml by searching for the guid and removing the root component

  • Access current system or target system ID in message mapping

    Hi.
    I have a requirement to map three different constant values to Sales Org field, depending on whether the system is D, Q or Prod.
    This needs to be done in the message mapping section of the Interface along with all the other mapping logic.
    Is there any way how we can access the current system ID or the Target system ID (XI is communicating with target, in this case, ECC, using RFC receiver Communication channel)?
    Please help.
    Thanks.
    Anuradha.

    Hi,
    The key element would be :-
    System.getProperty("SAPSYSTEMNAME");
    Use this in UDF to get System Name ... and then on basis of systemname do whatever you want to perform.
    Regards
    Prabhat Sharma

  • Get the target system time in the message mapping

    Hi there,
    I need to use the system time of target R/3 system in the message mapping. Any ideas how can I handle this?
    Thanks,
    Igor.

    Thanks for your quick replies.
    XI and R/3 system is in the same timezone but this is not relevant. I know it might sound strange but there is a reason I need to use time in the message mapping which is 2 minutes later than in the target system:
    e.g. target system time: 16:58:32 I need to use 16:56:32 value  in the mapping.
    I found RFC MSS_GET_SY_DATE_TIME which can proide me with the value, just wondering if there is no other way how to do that other than RFC lookup ...
    Thanks,
    Igor

  • InfoCube Error Message: Choose a change request with target system BWQ

    Hi experts,
    I have a problem when I want to edit an InfoCube created by other developer. The error message received is as follow:
    "<b>Choose a change request with target system BWQ</b>".
    When I click on the Documentation (F9) button, the detailed message is:
    "Message no. TK511
    Diagnosis
    The selected change request BWDK901086 has target system .
    However, the objects you edit can only be recorded in change requests with the target system BWQ.
    The correct target system is determined from the package and transport layer to which the object concerned belongs.
    System response
    The selected change request BWDK901086 is not used to record the objects.
    Procedure
    Either choose a different change request or change the target system of the change request BWDK901086.
    From the prompt window for change requests, you can display all requests you can use by choosing Own requests.
    Alternatively, you can create a new request by choosing Create request.
    For more information, see the SAP Library under BC - Basis Components -> Change and Transport System ."
    Can someone helps me to solve this problem?
    Thanks!

    hi Fullham,
    try se09/10 and find request BWDK901086 (use binocular icon) or se03. then double click that request, go to tab 'properties', hope you will see 'Target System' system there, click 'edit'/pencil icon and change it to BWQ.
    you may need to change the owner (which may not authorized), ask basis help if necessary.
    hope this helps

Maybe you are looking for

  • Time to upgrade or still life left?

    So I'm trying to decide whether upgrade an older laptop that my parents still use or just buy a newer model. It's a 2nd generation Macbook Pro: 2.2Ghz Core 2 Duo 2GB RAM NVIDIA Geforce 8600M GT 128MB It's running Mountain Lion right now, and for the

  • BAPI_REQUISITION_CREATE with automatic ticking of Goods Receipt Indicator

    Hi, We're experiencing a problem with BAPI_REQUISITION_CREATE. We use this BAPI in our Purchase Requisition (PR) upload program. After successful run of the program it generates a PR number. When we try to look at the PR using ME53N, the default valu

  • New G/L using an other Exchange Rate Type for Local ledger

    In new G/L ledger we want to use for a Local ledger a different Exchange Rate Type then the standard M.  This is for local reporting to the goverment Is this possible and yes where I can make this setting?

  • Some wire connection problem for SCB-68 usage in measuring voltage

    I am using FPGA 7831R along with SCB-68 to measure some voltage from my monitor terminal from my motor. When I measure the voltage between the monotor output and GND using a multi-meter the measurement is very reasonable and it can be changed when mo

  • Initial SERC Load with OCC

    Dear Experts, I hope that everyone is fine and healthy.  I am stuck with SAP EH&S problem and as SAP EHS consultant, I was hoping that we can share knowledge. . I was hoping that one of you guys can help me. I want to upload substance with open conte