04-25-2007 1:15 PM
hi gurus,
send me the sample coding
i need a zprogram for idoc using master_idoc_distribute
please send me any sample program
04-25-2007 1:17 PM
Hi,
DATA: Begin of imara occurs 0,
matnr like mara-matnr,
mtart like mara-mtart,
mbrsh like mara-mbrsh,
meins(3) type c,
end of imara.
data: begin of imakt occurs 0,
maktx like makt-maktx,
end of imakt.
DATA: wamas_con LIKE edidc,
imas_data LIKE edidd OCCURS 0 WITH HEADER LINE,
icom_con LIKE edidc OCCURS 0 WITH HEADER LINE.
PARAMETERS: e_matnr LIKE mara-matnr,
e_msgtyp LIKE edidc-mestyp,
e_rcvprn LIKE edidc-rcvprn.
retrive app. data from DB
SELECT matnr mtart mbrsh meins FROM mara INTO TABLE imara WHERE
matnr = e_matnr.
SELECT maktx FROM makt INTO TABLE imakt WHERE
matnr = e_matnr.
*Master idoc control record
wamas_con-rcvprt = 'LS'.
wamas_con-rcvprn = e_rcvprn.
wamas_con-idoctp = 'YMATMAS1'.
wamas_con-mestyp = e_msgtyp.
master idoc data records
LOOP AT imara.
imas_data-segnam = 'Y1MARA'.
move imara to imas_data-sdata .
APPEND imas_data.
ENDLOOP.
LOOP AT imakt.
imas_data-segnam = 'Y1MAKT'.
imas_data-sdata = imakt.
APPEND imas_data.
ENDLOOP.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
master_idoc_control = wamas_con
OBJ_TYPE = ''
CHNUM = ''
TABLES
communication_idoc_control = icom_con
master_idoc_data = imas_data
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.
COMMIT WORK.
Regards,
Priyanka.
04-25-2007 1:17 PM
Hi,
DATA: Begin of imara occurs 0,
matnr like mara-matnr,
mtart like mara-mtart,
mbrsh like mara-mbrsh,
meins(3) type c,
end of imara.
data: begin of imakt occurs 0,
maktx like makt-maktx,
end of imakt.
DATA: wamas_con LIKE edidc,
imas_data LIKE edidd OCCURS 0 WITH HEADER LINE,
icom_con LIKE edidc OCCURS 0 WITH HEADER LINE.
PARAMETERS: e_matnr LIKE mara-matnr,
e_msgtyp LIKE edidc-mestyp,
e_rcvprn LIKE edidc-rcvprn.
retrive app. data from DB
SELECT matnr mtart mbrsh meins FROM mara INTO TABLE imara WHERE
matnr = e_matnr.
SELECT maktx FROM makt INTO TABLE imakt WHERE
matnr = e_matnr.
*Master idoc control record
wamas_con-rcvprt = 'LS'.
wamas_con-rcvprn = e_rcvprn.
wamas_con-idoctp = 'YMATMAS1'.
wamas_con-mestyp = e_msgtyp.
master idoc data records
LOOP AT imara.
imas_data-segnam = 'Y1MARA'.
move imara to imas_data-sdata .
APPEND imas_data.
ENDLOOP.
LOOP AT imakt.
imas_data-segnam = 'Y1MAKT'.
imas_data-sdata = imakt.
APPEND imas_data.
ENDLOOP.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
master_idoc_control = wamas_con
OBJ_TYPE = ''
CHNUM = ''
TABLES
communication_idoc_control = icom_con
master_idoc_data = imas_data
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.
COMMIT WORK.
Regards,
Priyanka.