Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

zprogram for idoc

Former Member
0 Kudos

hi gurus,

send me the sample coding

i need a zprogram for idoc using master_idoc_distribute

please send me any sample program

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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.

1 REPLY 1

Former Member
0 Kudos

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.