How to debugg an Inbound Proxy???

Hi m using BAPI's in Inbound proxy and it is an asyn method. I am doing debugging like this : first I go to <b>utilities</b>-><b>settings</b>--> <b>debugging</b>-><b>check the box to acitvate the debugging mode</b> then putting my cursor at a desired position wher i want to set the break point then pressing the stop button to set the HTTP breakpoint in Inbound proxy. But it is not working if anybody knows some other method to debugg the Inbound proxy please help me.

Hi Sarvesh,
These links give a clear idea about how to debug your proxies.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/cbc7d790-0201-0010-bea6-c549902e93e2
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e29161d3-0401-0010-3495-8593de5f5da6
Hope this helps.
Cheers,
Chandra

Similar Messages

  • Inbound Proxy Structure

    Hi,
    How to create ABAP Inbound Proxy Structure with two ztables.
    Regards,
    Syf

    hi,
    Check the link
    http://help.sap.com/saphelp_nw04/helpdata/en/ab/585f3c482a7331e10000000a114084/frameset.htm

  • How to call BAPI from ABAP Inbound Proxy

    Hi All
    Can some one provide/giude  a sample code on how to call a BAPI from generated Method (Inbound Proxy) and how are the table parameters passed from Proxy to BAPI.
    Thanks
    Ravi/

    Hello Ravi,
    In the proxy before calling the BAPI, construct the table, fill it with the appropiate values by lopping over the proxy request object. Now use this table for calling BAPI
    Cheers,
    Naveen

  • Program code for inbound proxy

    Hello,
    I would like to ask for your help. I am creating an abap program for an inbound proxy to update tables.
    It doesn't get the value listed in the file. In the method section, I have created the following codes:
    DATA:  receipt TYPE zgiserdata-receipt,
                material_slip TYPE zgiserdata-matslip,
                plant TYPE zgiserdata-plant,
                material_number TYPE zgiserdata-matno,
                new_serial TYPE zgiserdata-new_serial,
                old_serial TYPE zgiserdata-old_serial,
                warrex_date TYPE zgiserdata-warrexdate,
                posting_date TYPE zgiserdata-postdate.
    Convert input parameters
      receipt = input-GOODS_ISSUE_SERIALIZED_CREATE-GOODS_ISSUE-reciept.
      material_slip = input-GOODS_ISSUE_SERIALIZED_CREATE-GOODS_ISSUE-material_slip.
      plant = input-GOODS_ISSUE_SERIALIZED_CREATE-GOODS_ISSUE-plant.
      material_number = input-GOODS_ISSUE_SERIALIZED_CREATE-GOODS_ISSUE-material_number.
      new_serial = input-GOODS_ISSUE_SERIALIZED_CREATE-GOODS_ISSUE-new_serial.
      old_serial = input-GOODS_ISSUE_SERIALIZED_CREATE-GOODS_ISSUE-old_serial.
      warrex_date = input-GOODS_ISSUE_SERIALIZED_CREATE-GOODS_ISSUE-warrex_date.
      posting_date = input-GOODS_ISSUE_SERIALIZED_CREATE-GOODS_ISSUE-posting_date.
    Debugged on 'receipt', the value I got is 'This is a string 1' instead of the record that is in the file.
    'This is a string 2' for 'material_slip', so on and so forth.
    Checked on the XI side that the records in the file is being transmitted without any errors. I tested this through SPROXY. Got the message that is executed with no errors, however, I got the values mentioned above instead of the values in the file being sent to XI.
    Can you please help me what needs to be checked in order to have the values that are in the file being sent to XI?
    Thank you.

    Hi Jho,
    >>>Debugged on 'receipt',
    How did you try to debug the proxy? I belive you tried debugging the proxy using SPROXY transaction code. If you use SPROXY transaction code by default the values are filled as 'This is a string 1 .. n so on..
    I would suggest you to copy the xml payload from XI and then in SPROXY transaction code paste the payload and then trigger the proxy in debugging mode.
    Or search in sdn how to debug proxy. You can use that guide to debug proxy real time. Guide is also available in some SAP Note. Dont remember the Note number.
    If there is anything else you want to know let us know.
    Regards,
    Sumit

  • Automating Cash Journal Posting using inbound proxy interface and upload program

    Hi Experts,
    I have a requirement where in cash journal posting needs to be carried out automatically by an inbound interface on a periodic basis and at the start during cut over an upload program needs to be used to upload beg balance data . For this purpose I have used BAPI_CASHJOURNALDOC_CREATE to save cash journal entries along with BAPI TRANSACTION COMMIT.
    Once the Data is successfully saved I am using FM FCJ_GET_DATA_FOR_SCREEN to get prerequisite data for the FM FCJ_POST_ALL which is used by the Standard cash journal program internally to post the saved data. ( I got this by debugging the standard transaction and both FMs are not yet released )
    The issues I am facing is that the the FM FCJ_POST_ALL does not always post the data it behaves in random fashion i.e some times it posts the entries where as sometimes it does not post the entries.
    I have tried using commit work after the FM but that also does not result in consistent behavior of the program. One more issue is the i am not allowed to use commit work in a an inbound proxy so how do i proceed ?
    I am attaching the code for further analysis:
    DATA: LIT_TCJ_TRANS_NAMES TYPE TABLE OF TCJ_TRANS_NAMES,
             LWA_TCJ_TRANS_NAMES TYPE TCJ_TRANS_NAMES,
             LV_WAIT             TYPE BAPITA-WAIT VALUE '1',
             LV_RECORD_NO        TYPE SY-TABIX.
       DATA : LIT_POSTING        TYPE STANDARD TABLE OF ISCJ_POSTINGS,
              LIT_WTAX_ITEMS     TYPE STANDARD TABLE OF TCJ_WTAX_ITEMS,
              LIT_SPLIT_POSTINGS TYPE STANDARD TABLE OF ISCJ_POSTINGS,
              LIT_CPD            TYPE STANDARD TABLE OF TCJ_CPD.
       DATA: LV_BEG_BALANCE      TYPE CJAMOUNT,
             LV_TOTAL_RECEIPTS   TYPE CJAMOUNT,
             LV_TOTAL_PAYMENTS   TYPE CJAMOUNT,
             LV_TOTAL_CHECKS     TYPE CJAMOUNT,
             LV_RUN_BALANCE      TYPE CJAMOUNT,
             LV_RUN_CASH_BALANCE TYPE CJAMOUNT,
             LV_NUMB_OF_REC      TYPE I,
             LV_NUMB_OF_PAYM     TYPE I,
             LV_NUMB_OF_CHECKS   TYPE I.
       DESCRIBE TABLE GIT_CJ LINES GV_TOTAL_RECORDS.
       SELECT MANDT COMP_CODE TRANSACT_NUMBER LANGU TRANSACT_NAME LONG_TEXT
          FROM TCJ_TRANS_NAMES
          INTO TABLE LIT_TCJ_TRANS_NAMES
          WHERE LANGU = GC_EN.
       IF SY-SUBRC <> 0.
         MESSAGE 'No Business Transaction maintained for Company Code in this client'(016) TYPE GC_I.
         LEAVE LIST-PROCESSING.
       ENDIF.
       DESCRIBE TABLE GIT_CJ LINES GV_TOTAL_RECORDS.
       LOOP AT GIT_CJ INTO GWA_CJ.
         LV_RECORD_NO = SY-TABIX.
         CLEAR: GS_HEADER_BAPI,
                GS_CJ_KEY,
                GWA_ITEMS.
         REFRESH: GIT_ITEMS,
                  GIT_RETURN.
         GS_HEADER_BAPI-COMP_CODE    = GWA_CJ-BUKRS.
         GS_HEADER_BAPI-CAJO_NUMBER  = GWA_CJ-CJNR.
         GS_HEADER_BAPI-CURRENCY     = GC_PHP.
         CLEAR LWA_TCJ_TRANS_NAMES.
         READ TABLE LIT_TCJ_TRANS_NAMES INTO LWA_TCJ_TRANS_NAMES WITH KEY COMP_CODE     = GWA_CJ-BUKRS
                                                                          LANGU         = GC_EN
                                                                          TRANSACT_NAME = GWA_CJ-BTNAM.
         IF SY-SUBRC = 0.
           GWA_ITEMS-TRANSACT_NUMBER = LWA_TCJ_TRANS_NAMES-TRANSACT_NUMBER.
           GWA_ITEMS-P_RECEIPTS        = GWA_CJ-CJRAT.
           GWA_ITEMS-TAX_CODE          = GWA_CJ-TXCOD.
           GS_HEADER_BAPI-BP_NAME      = GWA_CJ-BPNAM.
           GWA_ITEMS-POSITION_TEXT     = GWA_CJ-POTXT.
           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               INPUT  = GWA_CJ-LIFNR
             IMPORTING
               OUTPUT = GWA_ITEMS-VENDOR_NO.
           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               INPUT  = GWA_CJ-KUNNR
             IMPORTING
               OUTPUT = GWA_ITEMS-CUSTOMER.
           PERFORM SUB_DATE_FROMAT_BAPI  CHANGING  GWA_CJ-BLDAT
                                                   GS_HEADER_BAPI-DOC_DATE.
           PERFORM SUB_DATE_FROMAT_BAPI  CHANGING   GWA_CJ-BUDAT
                                                    GS_HEADER_BAPI-PSTNG_DATE.
           GS_HEADER_BAPI-REF_DOC_NO   = GWA_CJ-XBLNR.
           GS_HEADER_BAPI-ALLOC_NMBR   = GWA_CJ-ALLNO.
           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               INPUT  = GWA_CJ-KOSTL
             IMPORTING
               OUTPUT = GWA_ITEMS-COSTCENTER.
           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               INPUT  = GWA_CJ-PRCTR
             IMPORTING
               OUTPUT = GWA_ITEMS-PROFIT_CTR.
           APPEND GWA_ITEMS TO GIT_ITEMS.
           CALL FUNCTION 'BAPI_CASHJOURNALDOC_CREATE'
             EXPORTING
               HEADER              = GS_HEADER_BAPI
             IMPORTING
               COMPANY_CODE        = GS_CJ_KEY-COMP_CODE
               CASH_JOURNAL_NUMBER = GS_CJ_KEY-CAJO_NUMBER
               FISCAL_YEAR         = GS_CJ_KEY-FISC_YEAR
               CASH_JOURNAL_DOC_NO = GS_CJ_KEY-POSTING_NUMBER
             TABLES
               ITEMS               = GIT_ITEMS
               RETURN              = GIT_RETURN.
           IF GIT_RETURN IS NOT INITIAL.
             READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_E.
             IF SY-SUBRC <> 0.
               CLEAR GWA_CJ_S.
               MOVE-CORRESPONDING GS_CJ_KEY TO GWA_CJ_S.
               CLEAR GWA_RETURN.
               READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_S.
               IF SY-SUBRC = 0.
                 MOVE GWA_RETURN-MESSAGE TO GWA_CJ_S-MSG.
                 CLEAR GWA_RETURN.
                 READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_I.
                 IF SY-SUBRC = 0.
                   CLEAR GWA_CJ_E.
                   CONCATENATE GWA_RETURN-MESSAGE GWA_CJ_S-MSG INTO GWA_CJ_E-MSG SEPARATED BY GC_PIPE_FORMAT.
                   MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
                   GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
                   APPEND GWA_CJ_E TO GIT_CJ_E.
                   GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
                 ELSE.
                   IF P_TEST NE GC_X.
                     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
                       EXPORTING
                         WAIT = LV_WAIT.
                     REFRESH:LIT_POSTING        ,
                             LIT_WTAX_ITEMS     ,
                             LIT_SPLIT_POSTINGS ,
                             LIT_CPD            .
                     CLEAR: LV_BEG_BALANCE      ,
                            LV_TOTAL_RECEIPTS   ,
                            LV_TOTAL_PAYMENTS   ,
                            LV_TOTAL_CHECKS     ,
                            LV_RUN_BALANCE      ,
                            LV_RUN_CASH_BALANCE ,
                            LV_NUMB_OF_REC      ,
                            LV_NUMB_OF_PAYM     ,
                            LV_NUMB_OF_CHECKS   .
                     CALL FUNCTION 'FCJ_GET_DATA_FOR_SCREEN'
                       EXPORTING
                         I_COMP_CODE            = GS_CJ_KEY-COMP_CODE
                         I_CAJO_NUMBER          = GS_CJ_KEY-CAJO_NUMBER
                         I_DISPLAY_PERIOD_LO    = GS_HEADER_BAPI-PSTNG_DATE
                         I_DISPLAY_PERIOD_HI    = GS_HEADER_BAPI-PSTNG_DATE
                       IMPORTING
                         E_BEGINNING_BALANCE    = LV_BEG_BALANCE
                         E_RUNNING_BALANCE      = LV_RUN_BALANCE
                         E_RUNNING_CASH_BALANCE = LV_RUN_CASH_BALANCE
                         E_TOTAL_RECEIPTS       = LV_TOTAL_RECEIPTS
                         E_TOTAL_REC_NUMBER     = LV_NUMB_OF_REC
                         E_TOTAL_PAYMENTS       = LV_TOTAL_PAYMENTS
                         E_TOTAL_PAYM_NUMBER    = LV_NUMB_OF_PAYM
                         E_TOTAL_CHECKS         = LV_TOTAL_CHECKS
                         E_TOTAL_CHECKS_NUMBER  = LV_NUMB_OF_CHECKS
                       TABLES
                         E_POSTINGS             = LIT_POSTING
                         E_WTAX_ITEMS           = LIT_WTAX_ITEMS
                         E_SPLIT_POSTINGS       = LIT_SPLIT_POSTINGS
                         E_CPD                  = LIT_CPD.
                     CALL FUNCTION 'FCJ_POST_ALL'
                       EXPORTING
                         I_COMP_CODE               = GS_CJ_KEY-COMP_CODE
                         I_CAJO_NUMBER             = GS_CJ_KEY-CAJO_NUMBER
                         I_CURRENCY                = GS_HEADER_BAPI-CURRENCY
                         I_TYP                     = 'R'
                         I_DISPLAY_PERIOD_LO       = GS_HEADER_BAPI-PSTNG_DATE
                         I_DISPLAY_PERIOD_HI       = GS_HEADER_BAPI-PSTNG_DATE
    *              IMPORTING
    *                E_ERROR_NUMBER            =
                       TABLES
                         ITCJ_POSTINGS             = LIT_POSTING
                         ITCJ_WTAX_ITEMS           = LIT_WTAX_ITEMS
                         ITCJ_SPLIT_POSTINGS       = LIT_SPLIT_POSTINGS
                         ITCJ_CPD                  = LIT_CPD
                       CHANGING
                         P_BEG_BALANCE             = LV_BEG_BALANCE
                         P_TOTAL_RECEIPTS          = LV_TOTAL_RECEIPTS
                         P_TOTAL_PAYMENTS          = LV_TOTAL_PAYMENTS
                         P_TOTAL_CHECKS            = LV_TOTAL_CHECKS
                         P_RUN_BALANCE             = LV_RUN_BALANCE
                         P_RUN_CASH_BALANCE        = LV_RUN_CASH_BALANCE
                         P_NUMB_OF_REC             = LV_NUMB_OF_REC
                         P_NUMB_OF_PAYM            = LV_NUMB_OF_PAYM
                         P_NUMB_OF_CHECKS          = LV_NUMB_OF_CHECKS.
                     COMMIT WORK.
                   ENDIF.
                   APPEND GWA_CJ_S TO GIT_CJ_S.
                   GV_SUCCESS_RECORDS = GV_SUCCESS_RECORDS + GC_1.
                   CLEAR GWA_CJ_S.
                 ENDIF.
               ENDIF.
             ELSE.
               CLEAR GWA_CJ_E.
               MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
               MOVE GWA_RETURN-MESSAGE TO GWA_CJ_E-MSG.
               GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
               APPEND GWA_CJ_E TO GIT_CJ_E.
               GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
             ENDIF.
           ENDIF.
         ELSE.
           GWA_RETURN-MESSAGE = 'Transaction Name does not correspond to any Transaction Number'(017).
           CLEAR GWA_CJ_E.
           MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
           MOVE GWA_RETURN-MESSAGE TO GWA_CJ_E-MSG.
           GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
           APPEND GWA_CJ_E TO GIT_CJ_E.
           GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
         ENDIF.
       ENDLOOP.
    ENDFORM.                    " SUB_BAPI_CALL

    Hi Experts,
    I have a requirement where in cash journal posting needs to be carried out automatically by an inbound interface on a periodic basis and at the start during cut over an upload program needs to be used to upload beg balance data . For this purpose I have used BAPI_CASHJOURNALDOC_CREATE to save cash journal entries along with BAPI TRANSACTION COMMIT.
    Once the Data is successfully saved I am using FM FCJ_GET_DATA_FOR_SCREEN to get prerequisite data for the FM FCJ_POST_ALL which is used by the Standard cash journal program internally to post the saved data. ( I got this by debugging the standard transaction and both FMs are not yet released )
    The issues I am facing is that the the FM FCJ_POST_ALL does not always post the data it behaves in random fashion i.e some times it posts the entries where as sometimes it does not post the entries.
    I have tried using commit work after the FM but that also does not result in consistent behavior of the program. One more issue is the i am not allowed to use commit work in a an inbound proxy so how do i proceed ?
    I am attaching the code for further analysis:
    DATA: LIT_TCJ_TRANS_NAMES TYPE TABLE OF TCJ_TRANS_NAMES,
             LWA_TCJ_TRANS_NAMES TYPE TCJ_TRANS_NAMES,
             LV_WAIT             TYPE BAPITA-WAIT VALUE '1',
             LV_RECORD_NO        TYPE SY-TABIX.
       DATA : LIT_POSTING        TYPE STANDARD TABLE OF ISCJ_POSTINGS,
              LIT_WTAX_ITEMS     TYPE STANDARD TABLE OF TCJ_WTAX_ITEMS,
              LIT_SPLIT_POSTINGS TYPE STANDARD TABLE OF ISCJ_POSTINGS,
              LIT_CPD            TYPE STANDARD TABLE OF TCJ_CPD.
       DATA: LV_BEG_BALANCE      TYPE CJAMOUNT,
             LV_TOTAL_RECEIPTS   TYPE CJAMOUNT,
             LV_TOTAL_PAYMENTS   TYPE CJAMOUNT,
             LV_TOTAL_CHECKS     TYPE CJAMOUNT,
             LV_RUN_BALANCE      TYPE CJAMOUNT,
             LV_RUN_CASH_BALANCE TYPE CJAMOUNT,
             LV_NUMB_OF_REC      TYPE I,
             LV_NUMB_OF_PAYM     TYPE I,
             LV_NUMB_OF_CHECKS   TYPE I.
       DESCRIBE TABLE GIT_CJ LINES GV_TOTAL_RECORDS.
       SELECT MANDT COMP_CODE TRANSACT_NUMBER LANGU TRANSACT_NAME LONG_TEXT
          FROM TCJ_TRANS_NAMES
          INTO TABLE LIT_TCJ_TRANS_NAMES
          WHERE LANGU = GC_EN.
       IF SY-SUBRC <> 0.
         MESSAGE 'No Business Transaction maintained for Company Code in this client'(016) TYPE GC_I.
         LEAVE LIST-PROCESSING.
       ENDIF.
       DESCRIBE TABLE GIT_CJ LINES GV_TOTAL_RECORDS.
       LOOP AT GIT_CJ INTO GWA_CJ.
         LV_RECORD_NO = SY-TABIX.
         CLEAR: GS_HEADER_BAPI,
                GS_CJ_KEY,
                GWA_ITEMS.
         REFRESH: GIT_ITEMS,
                  GIT_RETURN.
         GS_HEADER_BAPI-COMP_CODE    = GWA_CJ-BUKRS.
         GS_HEADER_BAPI-CAJO_NUMBER  = GWA_CJ-CJNR.
         GS_HEADER_BAPI-CURRENCY     = GC_PHP.
         CLEAR LWA_TCJ_TRANS_NAMES.
         READ TABLE LIT_TCJ_TRANS_NAMES INTO LWA_TCJ_TRANS_NAMES WITH KEY COMP_CODE     = GWA_CJ-BUKRS
                                                                          LANGU         = GC_EN
                                                                          TRANSACT_NAME = GWA_CJ-BTNAM.
         IF SY-SUBRC = 0.
           GWA_ITEMS-TRANSACT_NUMBER = LWA_TCJ_TRANS_NAMES-TRANSACT_NUMBER.
           GWA_ITEMS-P_RECEIPTS        = GWA_CJ-CJRAT.
           GWA_ITEMS-TAX_CODE          = GWA_CJ-TXCOD.
           GS_HEADER_BAPI-BP_NAME      = GWA_CJ-BPNAM.
           GWA_ITEMS-POSITION_TEXT     = GWA_CJ-POTXT.
           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               INPUT  = GWA_CJ-LIFNR
             IMPORTING
               OUTPUT = GWA_ITEMS-VENDOR_NO.
           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               INPUT  = GWA_CJ-KUNNR
             IMPORTING
               OUTPUT = GWA_ITEMS-CUSTOMER.
           PERFORM SUB_DATE_FROMAT_BAPI  CHANGING  GWA_CJ-BLDAT
                                                   GS_HEADER_BAPI-DOC_DATE.
           PERFORM SUB_DATE_FROMAT_BAPI  CHANGING   GWA_CJ-BUDAT
                                                    GS_HEADER_BAPI-PSTNG_DATE.
           GS_HEADER_BAPI-REF_DOC_NO   = GWA_CJ-XBLNR.
           GS_HEADER_BAPI-ALLOC_NMBR   = GWA_CJ-ALLNO.
           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               INPUT  = GWA_CJ-KOSTL
             IMPORTING
               OUTPUT = GWA_ITEMS-COSTCENTER.
           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               INPUT  = GWA_CJ-PRCTR
             IMPORTING
               OUTPUT = GWA_ITEMS-PROFIT_CTR.
           APPEND GWA_ITEMS TO GIT_ITEMS.
           CALL FUNCTION 'BAPI_CASHJOURNALDOC_CREATE'
             EXPORTING
               HEADER              = GS_HEADER_BAPI
             IMPORTING
               COMPANY_CODE        = GS_CJ_KEY-COMP_CODE
               CASH_JOURNAL_NUMBER = GS_CJ_KEY-CAJO_NUMBER
               FISCAL_YEAR         = GS_CJ_KEY-FISC_YEAR
               CASH_JOURNAL_DOC_NO = GS_CJ_KEY-POSTING_NUMBER
             TABLES
               ITEMS               = GIT_ITEMS
               RETURN              = GIT_RETURN.
           IF GIT_RETURN IS NOT INITIAL.
             READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_E.
             IF SY-SUBRC <> 0.
               CLEAR GWA_CJ_S.
               MOVE-CORRESPONDING GS_CJ_KEY TO GWA_CJ_S.
               CLEAR GWA_RETURN.
               READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_S.
               IF SY-SUBRC = 0.
                 MOVE GWA_RETURN-MESSAGE TO GWA_CJ_S-MSG.
                 CLEAR GWA_RETURN.
                 READ TABLE GIT_RETURN INTO GWA_RETURN WITH KEY TYPE = GC_I.
                 IF SY-SUBRC = 0.
                   CLEAR GWA_CJ_E.
                   CONCATENATE GWA_RETURN-MESSAGE GWA_CJ_S-MSG INTO GWA_CJ_E-MSG SEPARATED BY GC_PIPE_FORMAT.
                   MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
                   GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
                   APPEND GWA_CJ_E TO GIT_CJ_E.
                   GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
                 ELSE.
                   IF P_TEST NE GC_X.
                     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
                       EXPORTING
                         WAIT = LV_WAIT.
                     REFRESH:LIT_POSTING        ,
                             LIT_WTAX_ITEMS     ,
                             LIT_SPLIT_POSTINGS ,
                             LIT_CPD            .
                     CLEAR: LV_BEG_BALANCE      ,
                            LV_TOTAL_RECEIPTS   ,
                            LV_TOTAL_PAYMENTS   ,
                            LV_TOTAL_CHECKS     ,
                            LV_RUN_BALANCE      ,
                            LV_RUN_CASH_BALANCE ,
                            LV_NUMB_OF_REC      ,
                            LV_NUMB_OF_PAYM     ,
                            LV_NUMB_OF_CHECKS   .
                     CALL FUNCTION 'FCJ_GET_DATA_FOR_SCREEN'
                       EXPORTING
                         I_COMP_CODE            = GS_CJ_KEY-COMP_CODE
                         I_CAJO_NUMBER          = GS_CJ_KEY-CAJO_NUMBER
                         I_DISPLAY_PERIOD_LO    = GS_HEADER_BAPI-PSTNG_DATE
                         I_DISPLAY_PERIOD_HI    = GS_HEADER_BAPI-PSTNG_DATE
                       IMPORTING
                         E_BEGINNING_BALANCE    = LV_BEG_BALANCE
                         E_RUNNING_BALANCE      = LV_RUN_BALANCE
                         E_RUNNING_CASH_BALANCE = LV_RUN_CASH_BALANCE
                         E_TOTAL_RECEIPTS       = LV_TOTAL_RECEIPTS
                         E_TOTAL_REC_NUMBER     = LV_NUMB_OF_REC
                         E_TOTAL_PAYMENTS       = LV_TOTAL_PAYMENTS
                         E_TOTAL_PAYM_NUMBER    = LV_NUMB_OF_PAYM
                         E_TOTAL_CHECKS         = LV_TOTAL_CHECKS
                         E_TOTAL_CHECKS_NUMBER  = LV_NUMB_OF_CHECKS
                       TABLES
                         E_POSTINGS             = LIT_POSTING
                         E_WTAX_ITEMS           = LIT_WTAX_ITEMS
                         E_SPLIT_POSTINGS       = LIT_SPLIT_POSTINGS
                         E_CPD                  = LIT_CPD.
                     CALL FUNCTION 'FCJ_POST_ALL'
                       EXPORTING
                         I_COMP_CODE               = GS_CJ_KEY-COMP_CODE
                         I_CAJO_NUMBER             = GS_CJ_KEY-CAJO_NUMBER
                         I_CURRENCY                = GS_HEADER_BAPI-CURRENCY
                         I_TYP                     = 'R'
                         I_DISPLAY_PERIOD_LO       = GS_HEADER_BAPI-PSTNG_DATE
                         I_DISPLAY_PERIOD_HI       = GS_HEADER_BAPI-PSTNG_DATE
    *              IMPORTING
    *                E_ERROR_NUMBER            =
                       TABLES
                         ITCJ_POSTINGS             = LIT_POSTING
                         ITCJ_WTAX_ITEMS           = LIT_WTAX_ITEMS
                         ITCJ_SPLIT_POSTINGS       = LIT_SPLIT_POSTINGS
                         ITCJ_CPD                  = LIT_CPD
                       CHANGING
                         P_BEG_BALANCE             = LV_BEG_BALANCE
                         P_TOTAL_RECEIPTS          = LV_TOTAL_RECEIPTS
                         P_TOTAL_PAYMENTS          = LV_TOTAL_PAYMENTS
                         P_TOTAL_CHECKS            = LV_TOTAL_CHECKS
                         P_RUN_BALANCE             = LV_RUN_BALANCE
                         P_RUN_CASH_BALANCE        = LV_RUN_CASH_BALANCE
                         P_NUMB_OF_REC             = LV_NUMB_OF_REC
                         P_NUMB_OF_PAYM            = LV_NUMB_OF_PAYM
                         P_NUMB_OF_CHECKS          = LV_NUMB_OF_CHECKS.
                     COMMIT WORK.
                   ENDIF.
                   APPEND GWA_CJ_S TO GIT_CJ_S.
                   GV_SUCCESS_RECORDS = GV_SUCCESS_RECORDS + GC_1.
                   CLEAR GWA_CJ_S.
                 ENDIF.
               ENDIF.
             ELSE.
               CLEAR GWA_CJ_E.
               MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
               MOVE GWA_RETURN-MESSAGE TO GWA_CJ_E-MSG.
               GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
               APPEND GWA_CJ_E TO GIT_CJ_E.
               GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
             ENDIF.
           ENDIF.
         ELSE.
           GWA_RETURN-MESSAGE = 'Transaction Name does not correspond to any Transaction Number'(017).
           CLEAR GWA_CJ_E.
           MOVE-CORRESPONDING GS_HEADER_BAPI TO GWA_CJ_E.
           MOVE GWA_RETURN-MESSAGE TO GWA_CJ_E-MSG.
           GWA_CJ_E-POSTING_NUMBER = LV_RECORD_NO.
           APPEND GWA_CJ_E TO GIT_CJ_E.
           GV_ERROR_RECORDS = GV_ERROR_RECORDS + GC_1.
         ENDIF.
       ENDLOOP.
    ENDFORM.                    " SUB_BAPI_CALL

  • ABAP inbound proxy deep structure

    Hello Experts,
    This is regarding ABAP inbound proxy structures.
    I have a structure in XI which looks like this
    <Bill of Material> (0:unbounded)
       <Material>     (0:unbounded)
       </Material>
    </Bill of Material>
    When I generate a proxy structure for this message, a similar structure will get generated in proxy with table types for 0:unbounded types.
    Here, how can I loop through the structure and extract the materials associated with each Bill of materials? I have to call BAPI for creating material first if not exists and then BOM for each BOM in the structure.
    Any help with sample coding is really appreciated.
    Thanks
    Ricky

    Hi Ricky !
    Try with something like this:
    LOOP AT your_bill_of_material_object.
        WRITE: your_bill_of_material_object-material_field.
    END-LOOP.
    where the outer object is the bill of material and inside the loop make a reference to the current fields of the bill of material record. You may need another loop inside this one to recover each material record once your are pointing to the current bill of material.
    Regards,
    Matias.

  • Call Inbound Proxy error

    PI settings help
    I am trying to transfer PR from ERP6.0 EHP4 to SRM7.0 using CPPR scenario.
    I configured ERP/SRM and PI configuration in Integration directory.
    But i get Reciever determination error in XML at ERP/SRM AND PI
    RCVR_DETERMINATION">NO_RECEIVER_CASE_BE
    Error Text: No receiver could be determined
    In SRM, Inbound Message(reciever) is green but Call Inbound Proxy is giving below error.
    <Trace level="1" type="System_Error">Application-Error exception return from pipeline processing! <Trace level="1" type="T">Application Error at Receiver... => ROLLBACK WORK</Trace>
    <Trace level="1" type="T">System Error at Receiver... => ROLLBACK WORK</Trace>
    I tested configuration in Integration directory.
    Sender aggreeemnt is green
    Reciever determination is red and giving below error.
    Internal Error : You do not have sufficient authorization for this operation.
    I have done below setting in Integration directory.
    Business system setting.
    1.Selected Business System BC_MM_MXX_594
    2.Create communication channel(Gen_Rec_xi) as Receiver
      for above Business system BC_MM_MXX_594.
      -Use adapter type XI, http://sap.com/xi/XI/System SAP Basis7.xx and RFC MXX_Integration,
    1.Selected Business System BC_SRM_SXX_300
    2.Create communication channel(Gen_Rec_xi) as Receiver
      for above Business system BC_SRM_SXX_300.
      -Use adapter type XI, http://sap.com/xi/XI/System SAP Basis7.xx and RFC SXX_Integration.
    -->>one doubt here? Should i have to create Comm channel for sender type also from ERP and SRM? pls confirm.
    I created object in Integration directory as follows.
    Create Object by selecting Business System BC_MM_MXX_594.
    1)Selected Internal communication
    2)Reciever Determination : BC_MM_MXX_594 PurchaseRequestERPSourcingRequest_Out
    3)Specified Interface determination : BC_MM_MXX_594 PurchaseRequestERPSourcingRequest_Out BC_SRM_SXX_300.
    4)Specified Reciever agreement BC_MM_MXX_594 BC_SRM_SXX_300 PurchaseRequestERPSourcingRequest_in(communication channel selected is Gen_Rec_xi)
    5)Generated Objects and saved as CPPR_scenario.
    6)Activated all objects created in CPPR_Scenario.
    Pls suggest something wrong with Reciever determination?
    How to find where the problem is located? at ERP or PI or SRM?.
    Also onething i noted is Integrated configuration is empty in Integration directory.
    Any configuration should be done for IOC.? pls confirm.
    Regards
    Chandra

    Also i noticed below
    In ERP xml ->Inbound message(SENDER).
    Does this error indicate problem while sending from ERP to SRM or SRM to ERP.
    because i can see sender service and interface is empty and SAP reciever is having ERP service.
    however reciever does not fetched the corresponding(purchaseRequestxxxxxxx) interface names.
    - <SAP:Sender>
      <SAP:Service />
      <SAP:Interface namespace="" />
      </SAP:Sender>
    - <SAP:Receiver>
      <SAP:Party agency="" scheme="" />
      <SAP:Service>BC_MM_MXX_594</SAP:Service>
      <SAP:Interface namespace="http://sap.com/xi/APPL">QueryCodeList</SAP:Interface>
      </SAP:Receiver>
      <SAP:Interface namespace="http://sap.com/xi/APPL">QueryCodeList</SAP:Interface>
    SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_BE</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
    Regards
    Chandra

  • Error/Exception handling in PI (Inbound Proxy)

    Dear All,
    I need some help in PI Error handling.
    If PI sends data to an ABAP inbound proxy and an error occurs in PI because of type mismatch (e.g. Unable to convert date).
    This error is persistent in the PI monitor, but how do I let the Sender know that an error has occured?
    regards,
    Piyush

    Hi,
    I understand that you have a doubt, if PI sends data to ABAP inbound proxy and an alert reaised due to type mismatch. Now, you would like to know how to acknowledge that sender to know about the alert?
    First of all, get the payload and test in the message mapping, you will get know where exactly you got the error or check in the trace in Moni. You need to identify the issue and let the user know why exactly it failed.

  • Upload data from abap program to abap inbound proxy

    Hi,
    I have requirement to upload flat file data to an internal table and call Inbound proxy abap class and pass all the internal table data to tha proxy clas method structure.
    So could any one help me how to send/pass data to class, Please give some e.g.
    thanks
    bobby
    Edited by: Bobby G on Nov 18, 2009 4:35 AM

    hi;
    you may follow the following ways
    1. create a report and by using GUI_upload, give the path as default , you can convert the flat file's data into internal table.
    2. call that report in proxy method by returning parameter as a table, this table can use further in the proxy.
    Another way, you have
    1.  Create a transparent table and by using the GUI_Upload in report,  you may  store the data.
    2.  from step 1, you may use data in the proxy.
    Regards
    Shashi

  • How to create a abap proxy in sproxy netweaver 7.01

    sproxy of nw 7.01 is completely different from previous version.For example in prev. versions there is message interface (inbound) (outbound) ...
    but in 7.01 , i cannot find how to create an abap proxy class , there is only display proxy in context menu in all segments.(like service interface)
    how can i create proxy ?
    thanks a lot

    In help sap.con says that
    Expand the Service Interfaces node.
    Select the outbound service interface.
    Open the context menu and choose Create.
    but there is no outbound service interface under service interface node
    what can i do?
    thanks a lot..

  • Generated Class is not called by Inbound Proxy

    Uploading data to Ztable of ECC by using inbound proxy.
    The messages are tranfered to SAP ECC from SAP XI.
    Monitoring in SXMB_MONI in SAP XI DEV can see Success flag
    Monitoring in SXMB_MONI in SAP ECC can see inbound message stored in QUEUES only.
    I configured the Application Integration Engine as per the help document.
    In Reciever XI Adapter set the addressing type URL.
    Coding is correct in the method of the generated class.
    Let me know if any configurations yet to be done.
    Let me know how to proceed furthur.
    ThankYou in Advance.

    hi
    Go to SMQR of the ECC and register and activate the queues again.
    Also ensure that u are implementing the correct methods of the proxy
    EXECUTE-SYNCHRONOUS / EXECUTE-ASYNCHRONOUS
    rgds
    Arun

  • PI inbound proxy

    Dear All,
    We are planning build one proxy to recieve the file from thirdy party to SAP though PI system . So I have couple of questions in this regard.
    1)  How is this proxy in ABAP side trigger to run ? Do we need to schedule any background job run this in ECC side or PI will trigger the program to run ?
    2) Can we put the files in apllication server using ABAP inbound proxy ?
    3) Can we include selection screens to the inbound ABAP proxy program ?
    4) Is there any options in proxy to handle DATA errors in the file ( Like in IDoc we can see 51 status if any failure and we can reprocess )
    5) Can emails sent from proxy for any processing errors and data mismatch ( send and receive ) .
    6) How can we monitor and reprocess the proxy ( sxmb_mony ? any )
    Thanks all,
    Vinay.

    Hi Vinay,
    1) How is this proxy in ABAP side trigger to run ? Do we need to schedule any background job run this in ECC side or PI will trigger the program to run ?
    Ans: When your File Communication channel picks a file, a process will start and once the message has been transformed in PI, PI will automaticall trigger the inbound Proxy.
    2) Can we put the files in apllication server using ABAP inbound proxy ?
    Ans: What do you mean by this? Are asking if the ABAP inbound proxy can save the message as a file in the application server? If yes, it is possible. You just need to modify the implemented class of your Inbound proxy to save a file in the app server.
    3) Can we include selection screens to the inbound ABAP proxy program ?
    Ans: Yes, you may add codes in your implemented class to call and use a selection screen.
    4) Is there any options in proxy to handle DATA errors in the file ( Like in IDoc we can see 51 status if any failure and we can reprocess )
    Ans: Yes, you may validate the incoming message of your inbound proxy and apply exception handling if error occured.
    5) Can emails sent from proxy for any processing errors and data mismatch ( send and receive ) .
    Ans: I think this is possible in ABAP coding. But if you wanted to send notification emails when transformation error occurs during mapping, you can do it using Alert Configuration.
    6) How can we monitor and reprocess the proxy ( sxmb_mony ? any )
    Ans: Since your scenario is File to ABAP proxy, the only way to reprocess is to send/place another file on the source directory to trigger the inbound proxy.
    Let me know if this helps.
    Regards,
    Jenny

  • Inbound Proxy created as Synchronous

    Hello,
    How do I determine the mode (synchronous/asynchronous) when I create a proxy?  I am trying to create an asynchronous inbound proxy and when I hit "generate" in SPROXY I get a synchronous proxy.
    Thanks,
    Matt

    Hi mathew ,
    How do I determine the mode (synchronous/asynchronous) when I create a proxy? I am trying to create an asynchronous inbound proxy and when I hit "generate" in SPROXY I get a synchronous proxy.
    ---> As per the requirement you have to create sync/async interfaces at ESR/IR in XI .Those interfaces only gets reflected in SPROXY at application server. So the type of interface you have created at XI according to that only you get the proxy in application server .
    Regards,

  • Inbound proxy by HTTPS

    Hi All,
    i have to call from PI inbound proxy on ecc using https(and xi adapter) . how to configure it ? where to import certificate ? nwa or strust ?
    Regards
    Maciej

    for ABAP proxy security, refer - vhttp://help.sap.com/saphelp_nwpi711/helpdata/en/14/ef2940cbf2195de10000000a1550b0/frameset.htm

  • Trigger inbound proxy from ABAP

    Hi Experts,
    We have a requirement to trigger inbound proxy from within an ABAP program. Is it possible to trigger an inbound proxy from ABAP if so please guide me on how to achieve this?
    Thanks
    Sanu

    This requirement cant be achieved.

Maybe you are looking for

  • T400 - Bluetooth Software - Unattended Install instructions/procedure required.

    Hi all, This is technically not a problem but an information request. I need the info because it will save me making a more clunky solution and I know that it exists because the factory preload must have used SOME method to get this working automatic

  • Why does my 3-year old MBP shut down and not start?

    I have a mid-2010 MPB running Mt Lion and it is giving me fits.  It consistently shuts down for no reason.  I have taken it to the Genius bar and been told that I should add additional memory, so I have doubled the RAM with a new unit.  The problem i

  • Printing multiple copies results in slow printing

    Hello! We currently print a lot of color prints on our new printer (xerox WC 7345) but found out that it takes a lot longer than it use to take. Example: We print a catalog with 56 pages 10x. (pdf 68mb) from Adobe Acrobat Pro 8. The old printer would

  • Save a string to a file ...my file need a particular file name (time, date, etc)

    hello to all,  i have to save a file with a string..,with results of a test the file name must include time and date of my test, and has to append 2 underscore if my test failed some idea? Using LabVIEW 7.1

  • Additional tab in ME21N

    Hi gurús,             In NB document type (PO), the condition type appears but not in UB documenty type.               I would like to know, how to add an additional tab at PO header, for example, condition tab. Regards Enzo