Sync Async using proxies ( Calling Outbound proxy from Inbound proxy )

I'm trying to generate Asynchronous Outbound message from the Synchronous Inbound message message  due to a requirement. My question is : is it really possible to develop such a scenario?. I'm getting weird error such as Kernal exception etc. Please let me know if you have developed such scenario and what should we do dfifferently in such scenarios?. Thank you for any suggestions.

Hi,
This error has has nothing to do with Calling Outbound Proxy from from Inbound Proxy. The scenario which you are telling is very much possible.
It looks like there is some problem in your proxy code while calling RFC from within there or something like that. Try catching the exception and see what is the exact error or put in debug mode and see the step where exactly your code is failing.
Use the following links for Catching Exception in Proxy
Inbound ABAP Proxy Trace and error handling
Handling Exceptions
ABAP Server Proxies - Fault Handling
Exception handling in integration processes
ABAP Proxy and fault messages
/people/bhanu.thirumala/blog/2006/02/07/abap-proxy--xml-to-abap-transformation
Thanks
Amit
Reward point if answer is helpful

Similar Messages

  • Calling Outboud Proxy from inbound proxy

    Hi friends,
    We have a scenarion where we need to call an Outbound proxy from an inbound proxy. I can see the payload after the successful execution of the proxy and is exactly the same that we want. But when i check it in the sxmb_moni for the status of message, it is 'InProcess' with Q.Status as STOP.
    Can any body suggest what could be the possible reasons. We are using file adapter.
    Thanks,
    Kulwant

    Hi,
    This might help you
    /people/krishna.moorthyp/blog/2005/12/23/monitoring-for-processed-xml-messages-in-abap-proxy
    Check whethere the  communication http, http service are  mentioned correctly.
    The following thread might help you
    Calling Outbound ABAP Proxies:
    Regards
    Agasthuri Doss

  • Aysnch Proxy calling from Inbound Proxy

    Hello Experts,
    My scenario:-
    Legacy sending File to Inbound proxy and from Inbound proxy I am calling the outbound proxy method to send the data back to Legacy system.
    Its like File request -Inbound Proxy- Outbound Proxy Response- File.
    FileRequest-Inbound Proxy----message in R3 as well in XI moni is successful.
    File Outbound response-File-----message in R3 is coming as empty and because of this the message fails in Xi moni.
    I tried to debug the scenario using test tab with the moni payload, I am able to see the data populated in debugging mode, But after the Outbound method is called the response message is coming is empty. commit work is also used inside outbound method.
    I tried every possible ways,but not getting any clue.
    chirag

    Hi,
    Just check...........in the inbound proxy code, the structure of the response msg is updated as the current structure of response msg.......may be you are filling the data in the old structure of response msg and then asssinging it in the outbound proxy call.......you need to fill the data in the new structure of response msg in your inbound proxy code.
    Regards,
    Rajeev Gupta

  • Can I supress BPM for Asyn outbound and syn inbound proxy interface

    Hi all,
    Is there any other alternate to remove the BPM at asyn outbound and syn inbound proxy interface. Reason because I can create another outbound proxy interface at the receiver. But at receiver side we already invested huge code to develop the sync server proxy. So the intension is, with out disturbing the code Can I make the message flow with out BPM?
    Because the reason of removing BPM is for a simple interface like this I don't want to use BPM. souce is JDBC and receiver is ECC 6.0. I know with out BPM it can not be achieved but in PI 7.1 EHP 1 by any chance can we do?
    I mean during response mapping from server proxy shall we use look up function to achieve?

    This bean I have to use at sender channel right?
    Yes
    I mean is it is limited to JMS adapter?
    No
    You can find more information in the Wiki which deals with FILE  to RFC synchronous...using the above Module

  • Call transaction in ABAP Inbound proxy

    Hi All,
    I am processing transaction KKPAN in inbound proxy. As per my knowledge, there is no BAPI or other way of processing this transaction. I have recorded a BDC, and I am calling this BDC using Call Transaction in my Inbound proxy.
    The problem is, control never returns back to the proxy after I call this BDC using Call Transaction.  However, interestingly, If there is an error in BDC, the control comes back to the proxy. Any ideas, why it does not successfully update data using BDC in inbound proxy?
    Your inputs are appreciated.
    Thanks,
    Navdeep

    Thanks for you response Akshay !
    However, It didn't solve my problem. In my case, the inbound proxy class is being called successfully. The problem comes, when I use Call Transaction in the class. The call transaction works and returns error message, if there is some error in the processing; however, for when there is no error in the BDC data, the control never comes back after call transaction.
    However, if I use SPROXY to test this interface, by copying the payload of the message and using the same user (As in Comm Channel), I am able to call Call Transaction without any problem. The data gets created successfully.
    Now this is getting really tricky.
    Still looking for ideas
    Regards,
    Navdeep
    Message was edited by:
            Navdeep Singla

  • Outbound proxy in Inbound proxy

    Hi Experts,
       I am doing two way interface. JDBC asyn - proxy-JDBC asyn
    I am calling outbound proxy in inbound proxy here.
    While i am calling it is giving HTTP connection error.
    So can i call outbound proxy in inbound proxy ????
    <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">CLIENT_RECEIVE_FAILED</SAP:Code>
      <SAP:P1>400</SAP:P1>
      <SAP:P2>ICM_HTTP_CONNECTION_FAILED</SAP:P2>

    Outbound proxy inside inbound proxy scenario usually works fine. But few suggestions,
    1. Check if the message is failing in request side of asynchronous scenario. If this is the case then I think the error which you are getting is probably due to improper channel configuration.
    2. If problem is not the one mentioned in point 1 above then, test the proxy in transaction SPROXY of ECC as to whether outbound proxy is called while inbound proxy is executed manually in transaction SPROXY . Once you execute the inbound proxy then go to transaction "SXMB_MONI" of ECC to check whether a message which outbound proxy is required to send to PI appears over there, if it appears there that means there is no issue on programming of proxy.
    Hope it might help in finding resolution.
    Thanks,
    Amit

  • ALSB-calling proxy from another proxy

    hello,
    I am calling a proxy service by another proxy service which is listening to JMS queue. The called proxy service is used to invoke a busiiness service.
    I am using tcpmon for testing purpose. If i removed the second proxy and then put a message to JMS it's invoking my business service but if i add the second proxy i am not getting any output.
    For second proxy i am using local transport. Might be the configuration i am giving is not able to pass the message to second proxy.
    I searched a lot but could found anything sustantial !
    Could anybody please help.
    Thanks & Regards,
    Aruna

    If you don't have this yet, put an error handler on the first proxy, at the top level. Log $fault in the error-handling stage. See if you get any good information in the logs. You probably also want to add logging in your second proxy, an entry first thing in the request pipeline, and log $fault in an error-handling stage.
    You should be able to get some kind of hints from the information that gets logged when you do that.
    Meghan

  • Different session used when calling stored procedure from form

    after commiting data in a form to a table, a stored procedure is called that inserts the data written to the table into several other tables. Some columns in the original table are updated - no commit is issued in the procedure. On returning from the procedure the form is re-queried but the updated columns don't contain the updates. This seems to imply that the stored procedure is running as a different session to the one of the form.
    Is this the case? Can we make the form and the stored procedure use the same session so that the data is available in both without having to commit in the procedure?

    No. They should be within one session unless you explicitly open a new session.
    The reason why you dont see updates of the data block when you requery is probably the changes on the form never go to the back end. I think first you have to make sure data changes go to db table. You can do a commit_form before calling the stored procedure and open up another session (e.g. sqlplus) to check the data in the table changed or not.

  • EDI - Create Outbound 856 from Inbound 856

    We have a procedure where we ship FOB orders by creating a third party sales order, which converts to a purchase requisiton and finally a PO.  Because we use a third party process an outbound delivery is not created.  Our customer is now requesting we send them an outbound 856 with shipping information, and this seems difficult to do without the outbound delivery (can not release an output).  We do receive an inbound 856 from our broker with most of the shipping information.  Our thought process is to use this inbound 856 to automatically create the outbound 856.  Has anyone had this issue before, and can you provide some suggestions on how you solved it?
    Thanks,
    Mark

    Hi Steve,
    if automatic packing function is enabled for the delivery, then system will genearte a new HU in the pack tab of the delivery. However, if you want to use the same HU as in the IBD, you need to refresh the satus of the HU using the function module and then assign the same HU to the delivery. take the help of technical consultant as there are standard FMs available for packing the material in HU and refreshing the status of the HU. only constraint is that the PGR sloc of the IBD and picking Sloc of the OBD should be same or else you will need to move the HU from the PGR SLoc to picking SLOc before using it.
    Regards,
    Vijay

  • Sync/async bridge and proxy

    Hi all. I am going to implement a sync/async bridge in the following scenatio:
    JMS -> XI -> PROXY -> R/3
    My question is how to hold the sync connection in R/3 using the Proxy class. Should i make a call  from my inbound proxy class to the outbound proxy class, when returning data?, and if so, how is the sync connection being hold?
    Thanks
    /Thomas

    Hi Thomas,
                      Just go thru links given below ur doubt will be cleared:
    Synchronous Proxies:
    Outbound Synchronous Proxy
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/abap%2bproxy%2boutbound%2bprogram%2b-%2bpurchase%2border%2bsend
    Inbound Synchronous Proxy
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/abap%2bproxy%2binbound%2bprogram%2b-%2bsales%2border%2bcreation
    go thru the weblog /people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies which explains how to activate proxies
    Regards,
    Vinod.

  • Sync/Async bridge

    Hey
    My task is to have an Idoc sent to a Web Service. I have heard that this can be solved using a sync/async bridge in BPM, but from what I can read (help.sap.com) it always say that the first receive step is from a synchronous application. My question is then: Can I use the sync/async bridge to call a web service - i.e. changing from asynchronous (Idoc) to synchronous (WS call)?
    Anyone knows a blog that shows some good examples of sync/async communication? I have read the inital blogs on BPM, but not found anyone good at async/sync communiation...
    thanks a lot!
    regards Marianne

    Hi,
    If you want to receive the response from Webservice means you need to use BPM here.
    Otherwise no need of any BPM,
    That too if u want to response from WS also u dont require any Sync/Async Step here.
    You can configure the BPM with Async receive-Sync Send-Async Send
    REgards
    Seshagiri

  • 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

  • Creation of virtual outbound delivery from MIGO.

    Hi All,
    Scenario - Material, packing material, virtual Goods receipt and virtual outbound delivery and PGI, and final billing.
    We have a scenario wherein we have a Sales Scheduling Agreement for a material is created. The requirement will be generated and send to a vendor.
    The vendor will send goods with packing material directly to the customer ( as it happens in third party ). Packaging material will be added in MIGO as non order item. Packing material will have unique identifiers numbers which the vendor will send and will be updated in MIGO ( as text ).
    At the same time vendor will also send the data to SAP and on that basis MM guys will do a inbound delivery and Goods Receipt ( MIGO ).
    This is the place where I need help.
    As per requirement, we want to create an Outbound Delivery from the MIGO transaction. As soon as MIGO is saved, a outbound delivery should be created for already existing sales scheduling agreement. Delivery should have the main material and the packing materials and the Text ( to be copied from MIGO ).
    I want to know how this can be acheived. Plz sugegst User Exits / BADI's etc.
    Regards,
    Danny.

    Thanks for your valuable replies. I need some more help as the requirement is changed a bit.
    We will get an ASN with only one line item as main material with packaging material text ( no line item for packaging material ). In MM side they will create n inbound delivery with only one item - main material with text in text field.
    We want to create a outbound delivery on Post Goods Receipt save action.
    The outbound delivery should have 2 line items, 1st  for main material referencing the sales scheduling agreement, and 2nd needs to be programmatically added which will have Packaging material with text saved in text tab.
    As suggested by Lakshmipathi Sir, I check include MV50AFZ1, USEREXIT_SAVE_DOCUMENT. But I am bit confused if this can be used for triggering Outbound delivery from PGR.
    Request Gurus to suggest the best option for this requirement.
    Regards,
    Danny.

  • Reverse Proxy from Apache to portal to 2 different ITS Systems

    We're using Apache 2 webserver and we've enabled reverse proxy from our proxy server to our Enterprise Portal 7.0.  We have transaction iviews for different systems, an ECC 6.0 and CRM 5.0.  We are using the integrated ITS for these systems provided with basis version 7.0.  We have all the necessary ports open in the firewall.  I know how to configure the proxy when there's only one ITS server, but how would I do it for two (the ECC and CRM system)?

    We have integrated ITS.  I am not sure I understand where you are going with globalr.srvc file.  We have two systems that we want to hit from the portal via reverse proxy.  One is the ECC system and the other CRM 5.0.  In our portal we use the integrated ITS for each system:
    ECC sytem:
    http://ecc.system.com:8001/sap/bc/gui/its/sap/webgui
    CRM sytem:
    http://crm.system.com:8001/sap/bc/gui/its/sap/webgui
    The issue is how would I map to both ITS from the Apache reverse proxy

  • Calling one script from another

    InDesign has a nice mechanism for calling one script from another, so code can be made modular. What about FrameMaker ExtendScript? What methods are people using to call one script from another? Thanks for any suggestions.
    Rick Quatro

    Hi Trevor,
    Note that ExtendScript is Javascript plus FM objects and methods, so you need to stick to Javascript syntax rules. The right way to include another script source is as follows:
    #include "scriptname.jsx";
    If this works when running the main script from the ESTK, you know it finds the included script. When you then Export the script to Binary (from the File menu of the ESTK), the binary will include the embedded script as well. After this you have a jsxbin file, which you can drop into one of the two available startup folders to make it fire automatically when FM starts. Or you can move it anywhere else and run it via the File > Script > Run command. The main idea here is that when compiling a script into binary format, all include references are resolved and the script contains the complete code. If you run the jsx, the script is interpreted and requires a correct relative reference to any included script.
    I hope this clarifies things a little
    Ciao
    Jang

Maybe you are looking for

  • Relay Access denied /fully-qualified hostname

    hello guys, I have made an application that sends emails (with attachments) to different users. It works fine when I use an email account (smtp server) from my network but not otherwise.... For example if i use it from my university then uni's smtp s

  • Output a shaded box in SAPScript with Dot Matrix Printer

    Hi guys, Is there a way to print a shaded box in Sapscript using Dot matrix printer? BOX XPOS '4'CM YPOS '2.8'CM WIDTH '2'CM HEIGHT '0.4'CM FRAME 10 TW INTENSITY 100 I tried the code as above but it wouldn't work, and doing a search on this forum tel

  • URGENT!!! Convert 4.5 to 5.0

    Hi! I need to know how to convert from Developer Forms 4.5 to Developer Forms 5.0, without lose the fonts and dimensions defined in version 4.5. With 4.5 I developed with 800x600 and in 5.0 my resolution is 640x480. How can I resolve this without mod

  • Q re: editing an Apple based loop and resaving it

    Hey everyone, I have a quick question that I hope you can all help me with. In GarageBand, I have edited a particular loop by cutting/splicing sections to shorten it. Am I able to SAVE this loop as a seperate loop than the original, so that in the fu

  • Happy Thanksgiving (US)

    Just wanted to extend a Happy Thanksgiving to all forum members in the US! Enjoy famlies and friends, and if you must, travel safely. Hunt