2007 Oct 01 11:05 AM
Hi All,
I am getting error when i am sending the IDOC...
The error is Entry in outbound table not found
Status 29
My selection Program is as following:
&----
*& Report ZDS_CUST_IDOC
*&
&----
*&
*&
&----
REPORT ZDS_CUST_IDOC MESSAGE-ID YM.
TABLES:ZDSCUSTHDR.
DATA: S_CONTROL_RECORD LIKE EDIDC, "IDOC CONTROL RECORD
S_Z1DSEGMENT1 LIKE Z1DSEGMENT1. " CUSTOMER HEADER
DATA: T_CUSTHDR LIKE ZDSCUSTHDR OCCURS 0 WITH HEADER LINE,
T_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE,
T_COMM_IDOC LIKE EDIDC OCCURS 0 WITH HEADER LINE.
CONSTANTS: C_Z1SEG LIKE EDIDD-SEGNAM VALUE 'Z1DSEGMENT1'.
SELECT-OPTIONS : S_KUNNR for ZDSCUSTHDR-KUNNR.
START-OF-SELECTION.
PERFORM FETCH_CUSTHDR.
PERFORM CONTROL_REC.
PERFORM MASTER_IDOC_DISTRIBUTE.
END-OF-SELECTION.
&----
*& Form FETCH_CUSTHDR
&----
text
----
--> p1 text
<-- p2 text
----
FORM FETCH_CUSTHDR .
SELECT *
FROM ZDSCUSTHDR
INTO TABLE T_CUSTHDR
WHERE KUNNR IN S_KUNNR.
LOOP AT T_CUSTHDR.
S_Z1DSEGMENT1-KUNNR = T_CUSTHDR-KUNNR.
S_Z1DSEGMENT1-NAME1 = T_CUSTHDR-NAME1.
S_Z1DSEGMENT1-ADD1 = T_CUSTHDR-ADD1.
S_Z1DSEGMENT1-REGIO = T_CUSTHDR-REGIO.
T_EDIDD-SEGNAM = C_Z1SEG.
T_EDIDD-SDATA = S_Z1DSEGMENT1.
APPEND T_EDIDD.
CLEAR T_EDIDD.
ENDLOOP.
ENDFORM. " FETCH_CUSTHDR
&----
*& Form CONTROL_REC
&----
text
----
--> p1 text
<-- p2 text
----
FORM CONTROL_REC .
S_CONTROL_RECORD-MESTYP = 'ZDCUSHDR'. " MESSAGE TYPE
S_CONTROL_RECORD-IDOCTP = 'ZDCUSIDOC'. " BASIC IDOC TYPE
S_CONTROL_RECORD-RCVPRT = 'LS'. " PARTNER TYPE.
S_CONTROL_RECORD-RCVPRN = 'ZDCU810'. "PARTNER NO.
S_CONTROL_RECORD-RCVPOR = 'A000000068'. "PORT NO.
ENDFORM. " CONTROL_REC
&----
*& Form MASTER_IDOC_DISTRIBUTE
&----
text
----
--> p1 text
<-- p2 text
----
FORM MASTER_IDOC_DISTRIBUTE .
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = S_CONTROL_RECORD
OBJ_TYPE = ''
CHNUM = ''
TABLES
COMMUNICATION_IDOC_CONTROL = T_COMM_IDOC
MASTER_IDOC_DATA = T_EDIDD
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT T_COMM_IDOC.
WRITE:/ 'NO. OF IDOC GENERATED:',T_COMM_IDOC-DOCNUM.
ENDLOOP.
ENDFORM. " MASTER_IDOC_DISTRIBUTE
Please help me out asap.....
Regards,
Dhruv Shah
2007 Oct 01 1:01 PM
Hi Dhruv..
There are 2 issues:
1. Error 29 comes when u did not maintain the PARTNER PROFILE for this message type in Tcode WE20. Check it.
2. After calling the MASTER_IDOC_DISTRIBUTE you must execute COMMIT WORK.
START-OF-SELECTION.
PERFORM FETCH_CUSTHDR.
PERFORM CONTROL_REC.
PERFORM MASTER_IDOC_DISTRIBUTE.
commit work. "Updates the Communication Idocs in Database
<b>Reward if Helpful.</b>
Hi All,
I am getting error when i am sending the IDOC...
The error is Entry in outbound table not found
Status 29
My selection Program is as following:
&----
*& Report ZDS_CUST_IDOC
*&
&----
*&
*&
&----
REPORT ZDS_CUST_IDOC MESSAGE-ID YM.
TABLES:ZDSCUSTHDR.
DATA: S_CONTROL_RECORD LIKE EDIDC, "IDOC CONTROL RECORD
S_Z1DSEGMENT1 LIKE Z1DSEGMENT1. " CUSTOMER HEADER
DATA: T_CUSTHDR LIKE ZDSCUSTHDR OCCURS 0 WITH HEADER LINE,
T_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE,
T_COMM_IDOC LIKE EDIDC OCCURS 0 WITH HEADER LINE.
CONSTANTS: C_Z1SEG LIKE EDIDD-SEGNAM VALUE 'Z1DSEGMENT1'.
SELECT-OPTIONS : S_KUNNR for ZDSCUSTHDR-KUNNR.
START-OF-SELECTION.
PERFORM FETCH_CUSTHDR.
PERFORM CONTROL_REC.
PERFORM MASTER_IDOC_DISTRIBUTE.
END-OF-SELECTION.
&----
*& Form FETCH_CUSTHDR
&----
text
----
--> p1 text
<-- p2 text
----
FORM FETCH_CUSTHDR .
SELECT *
FROM ZDSCUSTHDR
INTO TABLE T_CUSTHDR
WHERE KUNNR IN S_KUNNR.
LOOP AT T_CUSTHDR.
S_Z1DSEGMENT1-KUNNR = T_CUSTHDR-KUNNR.
S_Z1DSEGMENT1-NAME1 = T_CUSTHDR-NAME1.
S_Z1DSEGMENT1-ADD1 = T_CUSTHDR-ADD1.
S_Z1DSEGMENT1-REGIO = T_CUSTHDR-REGIO.
T_EDIDD-SEGNAM = C_Z1SEG.
T_EDIDD-SDATA = S_Z1DSEGMENT1.
APPEND T_EDIDD.
CLEAR T_EDIDD.
ENDLOOP.
ENDFORM. " FETCH_CUSTHDR
&----
*& Form CONTROL_REC
&----
text
----
--> p1 text
<-- p2 text
----
FORM CONTROL_REC .
S_CONTROL_RECORD-MESTYP = 'ZDCUSHDR'. " MESSAGE TYPE
S_CONTROL_RECORD-IDOCTP = 'ZDCUSIDOC'. " BASIC IDOC TYPE
S_CONTROL_RECORD-RCVPRT = 'LS'. " PARTNER TYPE.
S_CONTROL_RECORD-RCVPRN = 'ZDCU810'. "PARTNER NO.
S_CONTROL_RECORD-RCVPOR = 'A000000068'. "PORT NO.
ENDFORM. " CONTROL_REC
&----
*& Form MASTER_IDOC_DISTRIBUTE
&----
text
----
--> p1 text
<-- p2 text
----
FORM MASTER_IDOC_DISTRIBUTE .
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = S_CONTROL_RECORD
OBJ_TYPE = ''
CHNUM = ''
TABLES
COMMUNICATION_IDOC_CONTROL = T_COMM_IDOC
MASTER_IDOC_DATA = T_EDIDD
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT T_COMM_IDOC.
WRITE:/ 'NO. OF IDOC GENERATED:',T_COMM_IDOC-DOCNUM.
ENDLOOP.
ENDFORM. " MASTER_IDOC_DISTRIBUTE
Please help me out asap.....
Regards,
Dhruv Shah
2007 Oct 01 1:01 PM
Hi Dhruv..
There are 2 issues:
1. Error 29 comes when u did not maintain the PARTNER PROFILE for this message type in Tcode WE20. Check it.
2. After calling the MASTER_IDOC_DISTRIBUTE you must execute COMMIT WORK.
START-OF-SELECTION.
PERFORM FETCH_CUSTHDR.
PERFORM CONTROL_REC.
PERFORM MASTER_IDOC_DISTRIBUTE.
commit work. "Updates the Communication Idocs in Database
<b>Reward if Helpful.</b>
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |