You are on page 1of 6

*ALV CLAASICAL REPORT FOR ORDER CONFIRMATION CHECK REPORT Z_MM_ORDER_CONFR_CHECK.

TABLES : LFA1, EKKO, MARA, EKPO, EKES, EKET, T024E, T024, T001W, T001L. TYPE-POOLS : SLIS. DATA T_FCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE. DATA V_PROGRAM LIKE SY-REPID. SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TIT1. SELECT-OPTIONS : S_LIFNR FOR LFA1-LIFNR, "MANDATORY S_EKORG FOR T024E-EKORG, "MANDATORY S_EKGRP FOR T024-EKGRP, "MANDATORY S_BSTYP FOR EKKO-BSTYP, "MANDATORY S_BEDAT FOR EKKO-BEDAT, "MANDATORY S_EBELN FOR EKPO-EBELN, S_WERKS FOR T001W-WERKS, S_LGORT FOR T001L-LGORT, S_MATNR FOR MARA-MATNR, S_IDNLF FOR EKPO-IDNLF. SELECTION-SCREEN END OF BLOCK BLK1. TYPES : BEGIN OF L_EKKO, EBELN LIKE EKKO-EBELN, LIFNR LIKE EKKO-LIFNR, EKORG LIKE EKKO-EKORG, EKGRP LIKE EKKO-EKGRP, BSART LIKE EKKO-BSART, "PURCHASING DOCUMENT TYPE ERNAM LIKE EKKO-ERNAM, END OF L_EKKO. DATA : T_EKKO TYPE TABLE OF L_EKKO, WA_EKKO TYPE L_EKKO. TYPES : BEGIN OF L_LFA1, LIFNR LIKE LFA1-LIFNR, NAME1 LIKE LFA1-NAME1, END OF L_LFA1. DATA : T_LFA1 TYPE TABLE OF L_LFA1, WA_LFA1 TYPE L_LFA1. TYPES : BEGIN OF L_EKPO, MATNR LIKE EKPO-MATNR, IDNLF LIKE EKPO-IDNLF, EBELN LIKE EKPO-EBELN, EBELP LIKE EKPO-EBELP, BSTAE LIKE EKPO-BSTAE, MEINS LIKE EKPO-MEINS, WERKS LIKE EKPO-WERKS, LGORT LIKE EKPO-LGORT, END OF L_EKPO.

"MATERIAL NUMBER USED BY VENDOR "PURCHASING DOCUMENT NUMBER "ITEM NUMBER OF PURCHASING DOCUMENT "CONFIRMATION CONTROL KEY "PURCHASE ORDER UNIT OF MEASURE

DATA : T_EKPO TYPE TABLE OF L_EKPO, WA_EKPO TYPE L_EKPO.

TYPES : BEGIN OF L_EKET, "SCHEDULING AGREEMENT SCHEDULE LINES EBELN LIKE EKET-EBELN, EBELP LIKE EKET-EBELP, EINDT LIKE EKET-EINDT, "ITEM DELIVERY DATE DE - EINDT END OF L_EKET. DATA : T_EKET TYPE TABLE OF L_EKET, WA_EKET TYPE L_EKET. TYPES : BEGIN OF L_EKES, "VENDOR CONFIRMATIONS EBELN LIKE EKES-EBELN, * AMT LIKE EKES* EINDT LIKE EKES-EINDT, "DELIVERY DATE OF VENDOR CONFIRMATION DE - BBEIN MENGE LIKE EKES-MENGE, "QUANTITY AS PER VENDOR CONFIRMATION END OF L_EKES. DATA : T_EKES TYPE TABLE OF L_EKES, WA_EKES TYPE L_EKES. TYPES : BEGIN OF L_FINAL, EBELN LIKE EKKO-EBELN, LIFNR LIKE EKKO-LIFNR, EKORG LIKE EKKO-EKORG, EKGRP LIKE EKKO-EKGRP, BSART LIKE EKKO-BSART, ERNAM LIKE EKKO-ERNAM, NAME1 LIKE LFA1-NAME1, MATNR LIKE EKPO-MATNR, IDNLF LIKE EKPO-IDNLF, EBELP LIKE EKPO-EBELP, BSTAE LIKE EKPO-BSTAE, MEINS LIKE EKPO-MEINS, WERKS LIKE EKPO-WERKS, LGORT LIKE EKPO-LGORT, EINDT LIKE EKES-EINDT, MENGE LIKE EKES-MENGE, END OF L_FINAL.

"PURCHASING DOCUMENT TYPE

"MATERIAL NUMBER USED BY VENDOR "ITEM NUMBER OF PURCHASING DOCUMENT "CONFIRMATION CONTROL KEY "PURCHASE ORDER UNIT OF MEASURE "DELIVERY DATE OF VENDOR CONFIRMATION DE - BBEIN "QUANTITY AS PER VENDOR CONFIRMATION

DATA : T_FINAL TYPE TABLE OF L_FINAL, WA_FINAL TYPE L_FINAL.

INITIALIZATION. TIT1 = 'ORDER CONFIRMATION'. AT SELECTION-SCREEN. PERFORM VALIDATION. START-OF-SELECTION. PERFORM GET_DATA. PERFORM FILL_DATA. PERFORM FCAT. PERFORM DISPLAY. *&---------------------------------------------------------------------* *& FORM VALIDATION

*&---------------------------------------------------------------------* FORM VALIDATION . SELECT SELECT SELECT SELECT SELECT SINGLE SINGLE SINGLE SINGLE SINGLE * * * * * FROM FROM FROM FROM FROM LFA1 WHERE LIFNR IN S_LIFNR. T024E WHERE EKORG IN S_EKORG. T024 WHERE EKGRP IN S_EKGRP. EKKO WHERE BSTYP IN S_BSTYP. EKKO WHERE BEDAT IN S_BEDAT.

ENDFORM. " VALIDATION *&---------------------------------------------------------------------* *& FORM GET_DATA *&---------------------------------------------------------------------* FORM GET_DATA . SELECT EBELN LIFNR EKORG EKGRP BSART ERNAM FROM EKKO INTO CORRESPONDING FIELDS OF TABLE T_EKKO WHERE LIFNR IN S_LIFNR AND EKORG IN S_EKORG AND EKGRP IN S_EKGRP AND EBELN IN S_EBELN. SELECT MATNR IDNLF EBELN EBELP BSTAE MEINS WERKS LGORT FROM EKPO INTO CORRESPONDING FIELDS OF TABLE T_EKPO WHERE EBELN IN S_EBELN AND WERKS IN S_WERKS AND LGORT IN S_LGORT AND MATNR IN S_MATNR AND IDNLF IN S_IDNLF. SELECT LIFNR NAME1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE T_LFA1 FOR ALL ENTRIES IN T_EKKO WHERE LIFNR = T_EKKO-LIFNR. SELECT EINDT EBELN EBELP

FROM EKET INTO CORRESPONDING FIELDS OF TABLE T_EKET FOR ALL ENTRIES IN T_EKPO WHERE EBELN = T_EKPO-EBELN AND EBELP = T_EKPO-EBELP. SELECT EBELN EINDT MENGE FROM EKES INTO CORRESPONDING FIELDS OF TABLE T_EKES FOR ALL ENTRIES IN T_EKET WHERE EINDT = T_EKET-EINDT. V_PROGRAM = SY-REPID. ENDFORM. " GET_DATA *&---------------------------------------------------------------------* *& FORM FILL_DATA *&---------------------------------------------------------------------* FORM FILL_DATA . LOOP AT T_EKPO INTO WA_EKPO. WA_FINAL-MATNR = WA_EKPO-MATNR. READ TABLE T_EKKO INTO WA_EKKO WITH KEY EBELN = WA_EKPO-EBELN. WA_FINAL-LIFNR = WA_EKKO-LIFNR. WA_FINAL-EKORG = WA_EKKO-EKORG. WA_FINAL-EKGRP = WA_EKKO-EKGRP. * WA_FINAL-BSART = WA_EKKO-BSART. * WA_FINAL-ERNAM = WA_EKKO-ERNAM. * READ TABLE T_LFA1 INTO WA_LFA1 WITH KEY LIFNR = WA_LFA1-LIFNR. * WA_FINAL-NAME1 = WA_LFA1-NAME1. * READ TABLE T_EKET INTO WA_EKET WITH KEY EBELN = WA_EKPO-EBELN. * WA_FINAL-EINDT = WA_EKET-EINDT. * READ TABLE T_EKES INTO WA_EKES WITH KEY EBELN = WA_EKPO-EBELN. * WA_FINAL-MENGE = WA_EKES-MENGE. APPEND WA_FINAL TO T_FINAL. ENDLOOP. ENDFORM. " FILL_DATA

*&---------------------------------------------------------------------* *& FORM FCAT *&---------------------------------------------------------------------* FORM FCAT . T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT. 1. = 'ERNAM'. 'T_EKKO'. = 'C025'. = 'CREATED BY'.

T_FCAT-COL_POS = 2. T_FCAT-FIELDNAME = 'EBELN'.

T_FCAT-TABNAME = 'T_EKKO'. T_FCAT-KEY = 'X'. T_FCAT-NO_ZERO = 'X'. T_FCAT-EMPHASIZE = 'C025'. T_FCAT-SELTEXT_L = 'VENDOR NO.'. APPEND T_FCAT. CLEAR T_FCAT. T_FCAT-COL_POS = 3. T_FCAT-FIELDNAME = 'EKORG'. T_FCAT-TABNAME = 'T_EKKO'. T_FCAT-KEY = 'X'. T_FCAT-NO_ZERO = 'X'. T_FCAT-EMPHASIZE = 'C026'. T_FCAT-SELTEXT_L = 'ORGANIZATION'. APPEND T_FCAT. CLEAR T_FCAT. T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT. T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT. T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT. * * * * * * * * * * NAME1 MATNR IDNLF EBELP BSTAE MEINS WERKS LGORT EINDT MENGE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE 4. = 'EKGRP'. 'T_EKKO'. = 'C024'. = 'ORG. GROUP'.

5. = 'BSART'. 'T_EKKO'. = 'C023'. = 'PUR. DOC. TYPE'.

6. = 'ERNAM'. 'T_EKKO'. = 'C025'. = 'CREATED BY'.

LFA1-NAME1, EKPO-MATNR, EKPO-IDNLF, EKPO-EBELP, EKPO-BSTAE, EKPO-MEINS, EKPO-WERKS, EKPO-LGORT, EKES-EINDT, EKES-MENGE,

"MATERIAL NUMBER USED BY VENDOR "ITEM NUMBER OF PURCHASING DOCUMENT "CONFIRMATION CONTROL KEY "PURCHASE ORDER UNIT OF MEASURE "DELIVERY DATE OF VENDOR CONFIRMATION DE - BBEIN "QUANTITY AS PER VENDOR CONFIRMATION

T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT.

7. = 'NAME1'. 'T_LFA1'. = 'C025'. = 'N A M E'.

T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT. T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT. T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT. T_FCAT-COL_POS = T_FCAT-FIELDNAME T_FCAT-TABNAME = T_FCAT-EMPHASIZE T_FCAT-SELTEXT_L APPEND T_FCAT. CLEAR T_FCAT.

8. = 'MATNR'. 'T_EKPO'. = 'C027'. = 'MAT. NUM'.

9. = 'IDNLF'. 'T_EKPO'. = 'C023'. = 'MAT NO USED BY VENDOR'.

10. = 'EINDT'. 'T_EKET'. = 'C023'. = 'DEL. DATE FOR VENDOR CONF.'.

11. = 'MENGE'. 'T_EKES'. = 'C023'. = 'QTY. VENDOR CONF'.

ENDFORM. " FCAT *&---------------------------------------------------------------------* *& FORM DISPLAY *&---------------------------------------------------------------------* FORM DISPLAY . CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = V_PROGRAM * I_STRUCTURE_NAME = 'L_EKKO' I_GRID_TITLE = 'VENDOR CONFIRMATION CHECK' IT_FIELDCAT = T_FCAT[] TABLES T_OUTTAB = T_FINAL[] EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2 . IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDFORM. " DISPLAY

You might also like