Application Development and Automation 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: 
Read only

idoc spec

Former Member
0 Likes
658

Hi Experts,

i need idoc spec can any one send me iimmediatly its urgent...

Thanks in advance...

Rajesh

Hi Experts,

i need idoc spec can any one send me iimmediatly its urgent...

Thanks in advance...

Rajesh

3 REPLIES 3
Read only

Former Member
0 Likes
581

Hi rajesh,

i dint get u wht u want exactly

thanks

swaroop

Read only

0 Likes
581

Hi swaroop,

i need function spec for create idoc as per customer requirement anyone...because i am a new in idoc i know only create and idoc till now i dodnt get chance to work in that area...

Read only

0 Likes
581

Hello Rajesh

i have develop one Scenario of IDOC i.e-

-IDOC to file scenario- end to end implementation from IDOC creation to flat file generation –

Create segment with the help of TCODE WE31 first we have create one Ztable ZPHHR with the help of tcode se11 put all field of that table into segment Z1EART01 save and release it (go to edit and set release )

Table entry –

MANDT MANDT CLNT 3 0 Client

EBELN EBELN CHAR 10 0 Purchasing Document Number

EBELP EBELP NUMC 5 0 Item Number of Purchasing Document

ZSUB_ITEM ZSUB_ITEM CHAR 10 0 Data element for subitem for pharma

LICHA LICHN CHAR 15 0 Vendor Batch Number

ZSPLT_QTY MENGE_D QUAN 13 3 Quantity

MEINS BSTME UNIT 3 0 Order unit

MATNR MATNR CHAR 18 0 Article Number

ZEAN11 ZEAN11 CHAR 18 0 DATA ELEMENT FOR VENDOR BARCODE

WERKS WERKS_D CHAR 4 0 Site

TXZ01 TXZ01 CHAR 40 0 Short text

CHARG CHARG_D CHAR 10 0 Batch Number

HSDAT HSDAT DATS 8 0 Date of Manufacture

VFDAT VFDAT DATS 8 0 Shelf Life Expiration Date

MBLNR MBLNR CHAR 10 0 Number of Article Document

ZST0BI ZST0BI NUMC 1 0 DATA ELEMENT FOR PHARMA STOCK INDICATOR

PROFL ZADGE_PROFL CHAR 1 0 Pharma Indicator

ENDPR ENDPR CURR 11 2 Final price

MFRPN MFRPN CHAR 40 0 Manufacturer part number

BUDAT BUDAT DATS 8 0 Posting Date in the Document

BWART BWART CHAR 3 0 Movement Type (Inventory Management)

ZASTK ZAST CURR 11 2 AVAILABLE STOCK

ZBANO ZBANO NUMC 40 0 BILL NUMBER

Create IDOC Type – WE30 create IDOC type ZPHR01 and hare you can put segment Z1ERT01 save it release it

Create EDI logical message type message Type – WE81 create message type – ZPHARMA

Output type assigning to IDOC type- tcode WE82 hare you can link message type to IDOC type

Create partner profile – Tcode WE20

program for outbound -

Program for IDOC generation –

&----


*& Report ZIDOC_GENERATION_VISHAL

*&

&----


*&

*&

&----


REPORT ZIDOC_GENERATION_VISHAL.

    • made by Amit SHivhare

TABLES : T001W,

T001L,

ZZPHR,

EDP13.

DATA : IT_COM_CON LIKE EDIDC OCCURS 0 WITH HEADER LINE,

WA_COM_CON LIKE EDIDC OCCURS 0 WITH HEADER LINE,

WA_COM LIKE EDIDC ,

IT_IDOC_DATA LIKE EDIDD OCCURS 0 WITH HEADER LINE,

WA_IDOC_DATA LIKE EDIDD ,

WA_IDOC_CONTROL LIKE EDIDC,

STATUS_OK LIKE EDI_DS VALUE '03',

  • IT_EDP13 LIKE EDP13 OCCURS 0 WITH HEADER LINE,

  • WA_EDP13 LIKE EDP13,

IT_ART LIKE ZZPHR OCCURS 0 WITH HEADER LINE,

WA_ART LIKE ZZPHR.

DATA : COUNT LIKE WA_IDOC_DATA-SEGNUM VALUE '000001'.

DATA : COUNT_SEG LIKE WA_IDOC_DATA-SEGNUM VALUE '000001'.

DATA : TEXT(255).

*----


*Internal tables taken bcoz in Partner profile Vishal had concatnated

  • 'C' for Sites. We have purged out C writen in the partner profile

*----


DATA : BEGIN OF IT_EDP13 OCCURS 0,

RCVPRN LIKE EDP13-RCVPRN,

RCVPRN1(4) TYPE C,

MESTYP LIKE EDP13-MESTYP,

RCVPOR LIKE EDP13-RCVPOR,

END OF IT_EDP13.

DATA : BEGIN OF M_EDP13 OCCURS 0,

RCVPRN LIKE EDP13-RCVPRN,

RCVPRN1(4) TYPE C,

MESTYP LIKE EDP13-MESTYP,

RCVPOR LIKE EDP13-RCVPOR,

END OF M_EDP13.

DATA : WA_EDP13 LIKE IT_EDP13,

WA_M_EDP13 LIKE M_EDP13.

DEFINE STATUS.

TEXT = &1.

CALL FUNCTION 'PROGRESS_INDICATOR'

EXPORTING

I_TEXT = TEXT

.

END-OF-DEFINITION.

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.

SELECT-OPTIONS : WERKS FOR T001L-WERKS OBLIGATORY.

SELECTION-SCREEN : END OF BLOCK B1 .

SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-101.

SELECTION-SCREEN : BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-102.

SELECT-OPTIONS : S_MATNR FOR ZZPHR-MATNR ,

S_ARTDOC FOR ZZPHR-MBLNR.

SELECTION-SCREEN : END OF BLOCK B3 .

SELECTION-SCREEN : END OF BLOCK B2 .

START-OF-SELECTION.

PERFORM CHECK_SITE_OK.

STATUS 'CHECK_SITE_OK' .

PERFORM FILL_DATA_ITAB.

STATUS 'FILL_DATA_TO_ITAB' .

IF IT_ART[] IS NOT INITIAL.

PERFORM WRITE_IDOC.

STATUS 'GENERATE IDOC'.

PERFORM CALL_WE02.

ELSE.

MESSAGE I000(USERINFO) WITH 'NO DATA SELECTED PLEASE PUT THE VALID INPUT '.

ENDIF.

FORM CHECK_SITE_OK.

SELECT RCVPRN MESTYP RCVPOR FROM EDP13 INTO CORRESPONDING FIELDS OF TABLE IT_EDP13 WHERE MESTYP = 'ZPHARMA' AND RCVPRT EQ 'KU'.

LOOP AT IT_EDP13 INTO WA_EDP13.

CLEAR WA_M_EDP13.

WA_M_EDP13-RCVPRN = WA_EDP13-RCVPRN.

WA_M_EDP13-RCVPRN1 = WA_EDP13-RCVPRN+1(4).

WA_M_EDP13-MESTYP = WA_EDP13-MESTYP.

WA_M_EDP13-RCVPOR = WA_EDP13-RCVPOR.

APPEND WA_M_EDP13 TO M_EDP13.

CLEAR WA_M_EDP13.

ENDLOOP.

REFRESH IT_EDP13.

LOOP AT M_EDP13 WHERE MESTYP = 'ZPHARMA' AND RCVPRN1 IN WERKS.

IT_EDP13-RCVPRN = M_EDP13-RCVPRN.

IT_EDP13-RCVPRN1 = M_EDP13-RCVPRN1.

IT_EDP13-MESTYP = M_EDP13-MESTYP.

IT_EDP13-RCVPOR = M_EDP13-RCVPOR.

APPEND IT_EDP13.

ENDLOOP.

LOOP AT IT_EDP13.

ENDLOOP.

***

***LOOP AT M_EDP13 INTO IT_EDP13 WHERE MESTYP = 'ZPHARMA' AND RCVPRN IN WERKS.

      • append IT_EDP13.

***ENDLOOP.

*SELECT * FROM M_EDP13 INTO CORRESPONDING FIELDS OF TABLE IT_EDP13 WHERE MESTYP = 'ZPHARMA'

  • AND RCVPRN IN WERKS.

ENDFORM.

FORM FILL_DATA_ITAB.

SELECT MANDT EBELN EBELP ZSUB_ITEM LICHA ZSPLT_QTY MEINS MATNR ZEAN11 WERKS

TXZ01 CHARG HSDAT VFDAT MBLNR ZST0BI PROFL ENDPR MFRPN BUDAT BWART ZASTK ZBANO

FROM ZZPHR INTO CORRESPONDING FIELDS OF TABLE IT_ART WHERE WERKS IN WERKS AND

MATNR IN S_MATNR AND

MBLNR IN S_ARTDOC.

SORT IT_ART BY MATNR.

*DELETE ADJACENT DUPLICATES FROM IT_ART.

ENDFORM.

FORM WRITE_IDOC.

LOOP AT IT_EDP13 INTO WA_EDP13.

REFRESH : IT_COM_CON,

IT_IDOC_DATA.

CLEAR : WA_IDOC_CONTROL,

WA_COM_CON,

WA_IDOC_DATA.

COUNT = '000001'.

COUNT_SEG = '000001'.

WA_IDOC_CONTROL-STATUS = '53'.

WA_IDOC_CONTROL-DOCTYP = 'ZPHAR01'.

WA_IDOC_CONTROL-MESTYP = 'ZPHARMA'.

WA_IDOC_CONTROL-RCVPOR = WA_EDP13-RCVPOR. "'EP1-001'.

WA_IDOC_CONTROL-RCVPRT = 'KU'.

WA_IDOC_CONTROL-RCVPRN = WA_EDP13-RCVPRN."'M001'.

WA_COM_CON-DIRECT = 1.

WA_COM_CON-OUTMOD = 2.

WA_COM_CON-DOCTYP = 'ZPHAR01'.

WA_COM_CON-MESTYP = 'ZPHARMA'.

WA_COM_CON-RCVPOR = WA_EDP13-RCVPOR. "'EP1-001'.

WA_COM_CON-RCVPRT = 'KU'.

WA_COM_CON-RCVPRN = WA_EDP13-RCVPRN. "'M001'.

WA_COM_CON-CREDAT = SY-DATUM.

APPEND WA_COM_CON TO IT_COM_CON.

CLEAR WA_COM_CON.

LOOP AT IT_ART INTO WA_ART WHERE WERKS = WA_EDP13-RCVPRN1. "'3025'.

STATUS WA_ART-MATNR.

WA_IDOC_DATA-SEGNUM = COUNT.

WA_IDOC_DATA-SEGNAM = 'Z1EART01'.

WA_IDOC_DATA-PSGNUM = '000000'.

WA_IDOC_DATA-HLEVEL = '02'.

WA_IDOC_DATA-DTINT2 = '1000'.

WA_IDOC_DATA-SDATA+0(3) = WA_ART-MANDT.

WA_IDOC_DATA-SDATA+3(10) = WA_ART-EBELN.

WA_IDOC_DATA-SDATA+13(5) = WA_ART-EBELP.

WA_IDOC_DATA-SDATA+18(10) = WA_ART-ZSUB_ITEM.

WA_IDOC_DATA-SDATA+28(15) = WA_ART-LICHA.

WA_IDOC_DATA-SDATA+43(13) = WA_ART-ZSPLT_QTY.

WA_IDOC_DATA-SDATA+58(3) = WA_ART-MEINS.

WA_IDOC_DATA-SDATA+61(18) = WA_ART-MATNR.

WA_IDOC_DATA-SDATA+79(18) = WA_ART-ZEAN11.

WA_IDOC_DATA-SDATA+97(4) = WA_ART-WERKS.

WA_IDOC_DATA-SDATA+101(40) = WA_ART-TXZ01.

WA_IDOC_DATA-SDATA+141(10) = WA_ART-CHARG.

WA_IDOC_DATA-SDATA+151(8) = WA_ART-HSDAT.

WA_IDOC_DATA-SDATA+159(8) = WA_ART-VFDAT.

WA_IDOC_DATA-SDATA+167(10) = WA_ART-MBLNR.

WA_IDOC_DATA-SDATA+177(1) = WA_ART-ZST0BI.

WA_IDOC_DATA-SDATA+178(1) = WA_ART-PROFL.

WA_IDOC_DATA-SDATA+179(11) = WA_ART-ENDPR.

WA_IDOC_DATA-SDATA+192(40) = WA_ART-MFRPN.

WA_IDOC_DATA-SDATA+232(8) = WA_ART-BUDAT.

WA_IDOC_DATA-SDATA+240(3) = WA_ART-BWART.

WA_IDOC_DATA-SDATA+243(11) = WA_ART-ZASTK.

WA_IDOC_DATA-SDATA+256(40) = WA_ART-ZBANO.

APPEND WA_IDOC_DATA TO IT_IDOC_DATA.

CLEAR WA_IDOC_DATA.

COUNT_SEG = COUNT.

COUNT = COUNT + 1.

ENDLOOP.

CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'

EXPORTING

MASTER_IDOC_CONTROL = WA_IDOC_CONTROL

  • OBJ_TYPE = ''

  • CHNUM = ''

TABLES

COMMUNICATION_IDOC_CONTROL = IT_COM_CON

MASTER_IDOC_DATA = IT_IDOC_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.

READ TABLE IT_COM_CON INDEX 2.

DATA : DOCNUM LIKE WA_IDOC_CONTROL-DOCNUM.

DOCNUM = IT_COM_CON-DOCNUM.

*CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

REFRESH : IT_IDOC_DATA.

CALL FUNCTION 'EDI_OUTPUT_NEW'

EXPORTING

ONL_OPTION = 'B'

ERROR_FLAG = ' '

  • NAST_RECORD =

TABLES

I_EDIDC = IT_COM_CON

I_EDIDD = IT_IDOC_DATA

.

*TABLES : EDIDC.

*SELECT * FROM EDIDC WHERE DOCNUM = DOCNUM.

*EDIDC-TEST = '.'.

*MODIFY EDIDC.

*

*ENDSELECT.

ENDLOOP.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' .

ENDFORM.

FORM CALL_WE02.

CALL TRANSACTION 'WE02' AND SKIP FIRST SCREEN.

ENDFORM.

Thanks

Amit shivhare

POS:Reward poinrt

for moare information send your email id