Synchronos inbound ( proxy ) configuratin issue ?
Hello Friends,
I have designed a Synchronos inboud interface where 2 parameters are comming in as request and response is a str with 10 fields. I could have easily done this using RFC,but thought to give a try to proxies...
I have creaed server proxy ( inbound interface ) it has let me created classes and etc. Now my problem is how I can configure the things in integration builder ?
on my search I went to following artical.... seems too much similar what I need:
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50b63e8f-a4bb-2a10-e9b1-ba803fd06739&overridelayout=true
My problem starts with : Configuring a Service Provider
I cant find t-code SOAMANAGER ( I am having PI 3.0 )............. so could anyone please guide me how I can configure the senario , to get the WSDL ?
I went to following thread too: Re: werb services to proxy- synchronous scenario
where Abhishek is mentioning to have 2 MI's ? but in artical above , he only create one SI ??
Regards,
Edited by: Shah H on Nov 26, 2009 2:22 PM
Hello,
I am facing a bit problem in doing configuration, ( I successfuly did few for Asynchro, but this is my first sycnhro-- so not sure what I am doing wrong )
As I said I have two MI's
1- MI_Stock_In ( syncro inbound interface ) this I use to create server proxy
2- MI_Stock_Out ( synchro- outbound interface ) this is the interface which I connect or expose to External system.
So in Reciver Determination:
Sender:
Service = External_System
Interface = MI_Stock_Out
namespace = xyz.....
Reciever Agrement:
Sender:
Service = External_System
Reciver:
Service = r3system
Interface = MI_Stock_In
namespace = xyz.....
and CC ( adapter type XI )
Interface Determination:
Sender:
Service = External_System
Interface = MI_Stock_Out
namespace = xyz.....
Reciver:
Service = r3system
Configure inbound interface:
name = MI_StockCompare
name space= xyz....
I have left blank interface mapping, as no mapping is define....
but when colleuge consume the wsdl, he is getting error, reciver is not known ....
Any tip idea what I am doing wrong ?
Thanks and regards,
I am having also confusion,, as its synchro---- it means my sender ( external_system ) is at the same time reciver..... so do I need to have r3system as reciver ??
is there any example tutorail for this ( synchro.... inbound interface and sychrou outbound interface ) ??
Edited by: Shah H on Nov 27, 2009 11:05 AM
Edited by: Shah H on Nov 27, 2009 11:06 AM
Similar Messages
-
Issue while inserting a BDC program in Inbound Proxy.JDBC-- PI-- SAP.
The scenerio is jdbcsender-sappi-inboundproxy(ECC6.0).
The issue is related to SAP Plant Maintenance Module where We have a requirement for creating Maintenance item
programmatically from (SQLDatabase)Legacy Data for one of the interface.
since there are no standard BAPIS/Idocs or function modules available from SAP side for creating the maintenance item. So I
have written BDC program and with the help of submit statement in inbound proxy program, I am calling BDC program for
creation of the maintenance item.
When I tested the program independently on proxy side the Maintenance Item is getting created successfully but when I
executed from end-to-end ie. SQLDATABASE->SAP PI-->SAP. The message is getting strucked into the queue and queue got stopped on SAP.
ECC side and the status of the message is scheduled state on SXMB_MONI transaction of SAP ECC.
As the message is in scheduled state multiple number of Maintenance Items are getting created with the same values.
Has any one of our SAP friends, encountered this type of issue while inserting a BDC program in inbound proxy, please help
in fixing this issue. FYI... I am using sap pi7.0 with service pack 24 and ecc6.0
Waiting for your kind expert guidance...
cheers,
RamRaj,
Thanks for the reply. I have tried registering the queues but still the same problem. the message got stuck in the queue of ECC and showing below message in queue.
function module StatusText
SXMS_ASYNC_EXEC connection closed (no data)
I have checked in the forums especially for this issue but no one has provided the answer for this.
Thanks and Regards
Ram -
Hi All,
I have a file to ABAP Inbound proxy scenario for creating vendor in SAP.
When I execute from SPROXY test tab, vendor is created in SAP.
But when i test end to end i.e by feeding the file adapter with the vendor file i don't see the vendor creating in SAP.
The message is successful in PI moni and in ABAP moni. Cant see any errors
Appreciate your inputs in this solving this please
Keerthi>
Keerthika R wrote:
> The message is successful in PI moni and in ABAP moni. Cant see any errors
Hello Keerthi,
I was facing the same issue. I found that we can use SXMB_MONI and SMQ2 in the SAP side as well (Backend ABAP System where the Server Proxy is created). If you are able to see the messages in SXMB_MONI of the ERP system then your proxy is working fine however, have problems in ERP System. Follow through the error message it will be easy for you to perform error analysis.
You can ignore if you have already done it!
Thanks & Regards,
Anand Patil -
Authorization (401) issue in SXMB_MONI (File to Inbound Proxy)
Hi All,
Here I am facing the authorization (401) issue in SXMB_MONI.
The scenario is File to Inbound Proxy, The outbound proxy is working fine. but the issue with the inbound proxy.
The below information we are getting in SXMB_MONI.
SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="INTERNAL">UNAUTHORIZED</SAP:Code>
<SAP:P1>401</SAP:P1>
<SAP:P2>Unauthorized</SAP:P2>
<SAP:P3>(See attachment HTMLError for details)</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Could you please help me on this issue?
Thanks in advance.
Regards,
YadavHi,
Ensure you have maintained the correct password, which MUST be the same, for all the service users
on XI. You may check all the places it should be maintained, such as Exchange Profile, SU01, SLDAPICUST, etc..
You may check the note below (according to your release version):
PI 7.1:
#999962 - PI 7.10: Change passwords of PI service users
XI 7.0
#936093 - XI 7.0: Changing the passwords of XI service users
XI 3.0
#721548 - XI 3.0: Changing the passwords of the XI service users
Also ensure that the user has the correct role as per link below:
http://help.sap.com/saphelp_nwpi71/helpdata/en/9f/d12940cbf2195de10000000a1550b0/frameset.htm
Regards,
Caio Cagnani -
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_CALLHi 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 -
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,
PiyushHi,
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. -
Cardinality changes are not reflecting inbound proxy
Hi Experts,
while doing a syncronous senario in BPM with inbound proxy. i was required to change the cardinality from the existing request(source) structure in inbound service interface,
once i did the cardinality changes in the request(source) External definition,i could able to see the changes in PI. Then proxy is regenarated to see the new changes of the cardinality. But it reflects to the both input(request) and output(response) of the inbound proxy structure cardinality.
Please help in this regard.
Regards,
SasiHi Vijaya,
Thanks for your input, i did the same,but still its not reflecting in the output structure of the inbound proxy.
Please provide some input to solve this issue.
Regards,
Mahakrishnan T. -
Hi,
I have an sequence of steps that needs to be performed like
1. Creation of Inbound Delivery
2. Createion of Transfer Order
3. Creation of External HU
4. PGR on the delivery
For some, I am using BAPI and for others I am using BDC.
Just looked in some forums that it is not best practice to use BDC in inbound proxy.
Is it true and if not, which method of BDC do i need to use and what are all the best practices for doing the same?
Regards
Krish
Edited by: Krish on Nov 10, 2010 9:53 AMRaj,
Thanks for the reply. I have tried registering the queues but still the same problem. the message got stuck in the queue of ECC and showing below message in queue.
function module StatusText
SXMS_ASYNC_EXEC connection closed (no data)
I have checked in the forums especially for this issue but no one has provided the answer for this.
Thanks and Regards
Ram -
Hi Experts,
I am facing an issue when executing inbound proxy message. After the message completed, the message status end up with Error. The error says below details.
"Information about the method parameters is missing
for the interface INTERFACE_NAME
(ABAP interface, request message MT_Fault, request
message namespace....)"
I am also raising Fault messages from ABAP Proxy message programming. In SXMB_MONI while expanding all the messages I can able to see the application message but also i am seeing the above mention errors.
Any Idea why this error appears?
Thank you
Magesh.Hi Diptendu - I don't think it's an issue with URL.
Did you register the service?
http://<host>:<port>/ProxyServer/register?ns=http://sap.com/xi/XI/System&interface=ValueMappingReplicati
onOutSynchronous&bean=localejbs/sap.com/com.sap.xi.services/ValueMappingApplicationSynchronous&m
ethod=ValueMappingReplicationOutSynchronous
Reference :
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e07dd2ae-f783-2c10-9aa6-ca69f67dd20f?QuickLink=index&…
what is your receiver channel? -
Hi All,
I have created one inbound proxy. I implemented the class used and i regenrated it.
But method name was different before and after.
My code is gone. Is there any way to retrieve it again??
Thanks,
ArchanaHi,
The issue is resolved. i did not save the changes to class method and created new implementation with my old method.
So, i could retrieve my code.
Thanks,
Archana -
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 -
Message stuck in inbound queue of r/3 for inbound proxy
Hi Experts,
The scenerio is Inbound Proxy.
I m using standard prgram rfbibl00 to post a document (FB01) in Inbound proxy. When the message is triggered from XI, it get stuck in inbound queue of R/3 ( SMQ2) giving the status text "Session 1: Special character for 'empty field' .
Please help to resolve this issue.
Thanks in advance.dear experts,
did u get chance to look into this issue.
Thanks in advance. -
Inbound Proxy Error - JDBC to PROXY Scenario
Hi experts,
I am getting the following error while activating Inbound Proxy.
Error when creating service node. [unknown]You are not authorized to use function Netzwerkadministration
Exception of class CX_SRT_WSP_ICF
Regards,
SudheerHi Experts,
Thank you for your replys.....Problem got solved......:)
Some authorisation was missing...Now it was fine and I can activate Inbound proxy......:)
Once again Thank you for your replys.....:)
Regards,
Sudheer -
Special character " (quote) in inbound proxy
Hi folks,
We have a scenario in which inbound proxy is implemented on SAP side. I am getting following error:-
Error during XML => ABAP conversion (Request Message; error ID: CX_ST_DESERIALIZATION_ERROR; (/1SAI/TXS9457077FA0DEC03F30D0 XML Bytepos.: 988 XML Path: MT_SLM_INT30_LUPReviewFromLUPS(1)Title(16) Error Text: Data loss occurred when converting PROPOSED 8" U/G HRDH & ROUTE Kernel ErrorId: CONVT_DATA_LOSS)) An error occurred when deserializing in the simple transformation program /1SAI/TXS9457077FA0DEC03F30D0 Data loss occurred when converting PROPOSED 8" U/G HRDH. KHUFF GAS WELL-1050 & COMMUNICATION ROUTE FOC TO HRDH RH-K6}
Could you please suggest me what is wrong in the data PROPOSED 8" U/G HRDH & ROUTE. I guess it is due to the use of " in the data. Could you please help me in this?
Regards,
Sami.Hi,
The problem was with the length of that field. That field was created in XI with max length 80. During proxy generation, corresponding abap field was created with 80 char. In the message, data for that field was 81 characters At runtime, when proxy runtime tried to map the xml to corresponding abap object, it failed.
While testing in Sproxy transaction when tried to execute after removing quote(") it was successful, as length was reduced to 80. So i went under impression that it is not working because of quote(").
Thanks for your rersponses. -
Data is not showing in R/3 ztable whlie creating XI inbound proxy.
Hi experts,
I am creating an XI inbound proxy for zxx_stockyard_price_ib_dt ,
I created Ztable(this structure contains both filename and data structure) in R/3 and i am writing a code in sproxy to fetch the data from XI to R/3, R/3 is to fill and store the data in a ztabe .
XI data file is ok, however , when executed ,the input file of XI is not reflecting in the R/3 Ztable,
I need a help in this scenario,
here is the peice of code,
METHOD zxx_ii_stockyard_price_ib_mi~stockyard_price_ib_mi.
DATA : it_zxx_stockyard_price_ib_dt TYPE table of zxx_stockyard_price_ib_dt , " input batches from file
wa_zxx_stockyard_price_ib_dt TYPE zxx_stockyard_price_ib_dt ,
i_zrva_trv_interfa TYPE TABLE OF zrva_trv_interfa ,
wa_zrva_trv_interfa TYPE zrva_trv_interfa.
******fill input internal table from XI
wa_zxx_stockyard_price_ib_dt = input-stockyard_price_ib_mt.
*fetch the records from XI.
LOOP AT it_zxx_stockyard_price_ib_dt INTO wa_zxx_stockyard_price_ib_dt. " looping input data of XI nd moving the data to R3.
MOVE-CORRESPONDING wa_zxx_stockyard_price_ib_dt TO wa_zrva_trv_interfa.
APPEND wa_zrva_trv_interfa TO i_zrva_trv_interfa.
Modify zrva_trv_interfa FROM WA_zrva_trv_interfa.
ENDLOOP .
IF NOT i_zrva_trv_interfa IS INITIAL.
LOOP AT i_zrva_trv_interfa INTO wa_zrva_trv_interfa.
MODIFY zrva_trv_interfa FROM wa_zrva_trv_interfa.
CLEAR wa_zrva_trv_interfa.
ENDLOOP.
ENDIF.
FREE i_zrva_trv_interfa.
ENDMETHOD.
when execute and debugged i found the values are not showing in internal table i_zrva_trv_interfa (loop at i_zrva_trv_interfa), where i am going wrong?> here is the peice of code,
>
> METHOD zxx_ii_stockyard_price_ib_mi~stockyard_price_ib_mi.
> DATA : it_zxx_stockyard_price_ib_dt TYPE table of zxx_stockyard_price_ib_dt , " input batches from file
> wa_zxx_stockyard_price_ib_dt TYPE zxx_stockyard_price_ib_dt ,
> i_zrva_trv_interfa TYPE TABLE OF zrva_trv_interfa ,
> wa_zrva_trv_interfa TYPE zrva_trv_interfa.
>
> ******fill input internal table from XI
> wa_zxx_stockyard_price_ib_dt = input-stockyard_price_ib_mt.
>
I think here at this place you have problem. As per your code you have moved the input-stockyard_price_ib_mt to wa_zxx_stockyard_price_ib_dt BUT you have not appended to the internal table it_zxx_stockyard_price_ib_dt.
If I am wrong then make sure it_zxx_stockyard_price_ib_dt is filled correctly before you loop on it.
also add the below check befor looping.
IF NOT it_zxx_stockyard_price_ib_dt is INITIAL.
> *fetch the records from XI.
> LOOP AT it_zxx_stockyard_price_ib_dt INTO wa_zxx_stockyard_price_ib_dt. " looping input data of XI nd moving the data to R3.
> MOVE-CORRESPONDING wa_zxx_stockyard_price_ib_dt TO wa_zrva_trv_interfa.
> APPEND wa_zrva_trv_interfa TO i_zrva_trv_interfa.
> * Modify zrva_trv_interfa FROM WA_zrva_trv_interfa.
> ENDLOOP .
ENDIF. "IF NOT it_zxx_stockyard_price_ib_dt is INITIAL.
>
> IF NOT i_zrva_trv_interfa IS INITIAL.
> LOOP AT i_zrva_trv_interfa INTO wa_zrva_trv_interfa.
> MODIFY zrva_trv_interfa FROM wa_zrva_trv_interfa.
> CLEAR wa_zrva_trv_interfa.
> ENDLOOP.
>
> ENDIF.
>
> FREE i_zrva_trv_interfa.
>
> ENDMETHOD.
>
>
> when execute and debugged i found the values are not showing in internal table i_zrva_trv_interfa (loop at i_zrva_trv_interfa), where i am going wrong?
Regards,
Sarvesh
Maybe you are looking for
-
HT3275 How can I backup my computer to a hard drive attached to my router using Time Machine?
Time Machine does not list my external drive as an option.
-
Customer Visible in Sales Order Screen.But not visible in the customer Web form in R12
Hi all, I have created a customer of organization type using the customer API.I have also created a location and a customer account and account site as well The created values are loaded into the HZ tables and are visible in the tables such as hz_pa
-
My Passport Ultra Not Recognised On PC Or Laptop
I was using my WD My Passport Ultra 1TB hard drive up until recently on my XBOX ONE until with no apparent reason it stopped working/being recognised by XBOX? I removed it and attached to my PC (Windows 7) and laptop (Windows 8) to see if it was work
-
Photos in Finder, But Missing from iPhoto
I am able to see all my pictures dating back to 2003 using the finder and directly going to the iPhoto Library. Each folder in the Finder is there as it should be, including the folders for the rolls. However, the images don't show up when I launch i
-
SD - Document Folw - Missing HU on double click
Hello , In the document flow when i double click on the handling unit, at the bottom of the screen i am not getting the details of the handling unit. Pelase Let me know if you any solution for this. Thank you, Patil