想写个REPORT关于未清采购订单中几个字段的,但是无法同时显示交货期和确认日期,
请大家指点一下,先谢过了。
REPORTZ_PENPOLIST
.
TYPE-POOLS: SLIS.
TABLES: EKKO,EKPO,EKET,LFA1,MAKT,EKES.
*DATA: ITAB LIKE TABLE OF SPFLI WITH HEADER LINE,
DATA: BEGIN OF IT_PO OCCURS 0,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
BEDAT LIKE EKKO-BEDAT,
LIFNR LIKE EKKO-LIFNR,
NAME1 LIKE LFA1-NAME1,
MATNR LIKE EKPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
MENGE LIKE EKPO-MENGE,
MEINS LIKE EKPO-MEINS,
EINDT LIKE EKET-EINDT,
NETPR LIKE EKPO-NETPR,
*ELIKZ LIKE EKPO-ELIKZ,
EREKZ LIKE EKPO-EREKZ,
ZEINDT LIKE EKES-EINDT,
END OF IT_PO.
DATA: WA_ALV_FIELD TYPE SLIS_FIELDCAT_ALV,
WA_ALV_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE S1.
SELECT-OPTIONS:PO FOR EKPO-EBELN,
ItemFOR EKPO-EBELP,
CREATION FOR EKKO-BEDAT,
Vendor FOR EKKO-LIFNR,
Material FOR EKPO-MATNR,
ORDERQTY FOR EKPO-MENGE,
DeryDate for EKET-EINDT,
GRFINHED FOR EKPO-ELIKZ.
SELECTION-SCREEN END OF BLOCK A1.
SELECTION-SCREEN BEGIN OF BLOCK A2 WITH FRAME TITLE S2.
PARAMETERs INVOICED as CHECKBOX.
PARAMETERs LOCALVDR as CHECKBOX.
SELECTION-SCREEN END OF BLOCK A2.
IF LOCALVDR = 'X'.
SELECT EKPO~EBELN EKPO~EBELP EKKO~BEDAT EKKO~LIFNR
EKPO~MATNR EKPO~MENGE EKPO~MEINS EKET~EINDT
EKPO~NETPR EKPO~EREKZ LFA1~NAME1
MAKT~MAKTX
FROM EKPO
INNER JOIN EKKO ON EKKO~EBELN = EKPO~EBELN
INNER JOIN EKET ON EKET~EBELN = EKPO~EBELN
AND EKET~EBELP = EKPO~EBELP
INNER JOIN LFA1 ON LFA1~LIFNR = EKKO~LIFNR
INNER JOIN MAKT ON MAKT~MATNR = EKPO~MATNR
LEFTJOIN EKES ON EKES~EBELN = EKPO~EBELN
AND EKES~EBELP = EKPO~EBELP
INTO CORRESPONDING FIELDS OF TABLE IT_PO
WHERE EKPO~EBELN IN PO
AND EKPO~EBELP IN ITEM
AND EKKO~BEDAT IN CREATION
AND EKKO~LIFNR IN VENDOR
AND EKPO~MATNR IN MATERIAL
AND EKPO~MENGE IN ORDERQTY
AND EKET~EINDT IN DeryDate
AND EKPO~ELIKZ IN GRFINHED
AND EKPO~EREKZ = INVOICED
AND LFA1~LAND1 = 'DE'
AND MAKT~SPRAS = SY-LANGU.
ELSE.
SELECT EKPO~EBELN EKPO~EBELP EKKO~BEDAT EKKO~LIFNR
EKPO~MATNR EKPO~MENGE EKPO~MEINS EKET~EINDT
EKPO~NETPR EKPO~EREKZ LFA1~NAME1
MAKT~MAKTX
FROM EKPO
INNER JOIN EKKO ON EKKO~EBELN = EKPO~EBELN
INNER JOIN EKET ON EKET~EBELN = EKPO~EBELN
AND EKET~EBELP = EKPO~EBELP
INNER JOIN LFA1 ON LFA1~LIFNR = EKKO~LIFNR
INNER JOIN MAKT ON MAKT~MATNR = EKPO~MATNR
LEFTJOIN EKES ON EKES~EBELN = EKPO~EBELN
AND EKES~EBELP = EKPO~EBELP
INTO CORRESPONDING FIELDS OF TABLE IT_PO
WHERE EKPO~EBELN IN PO
AND EKPO~EBELP IN ITEM
AND EKKO~BEDAT IN CREATION
AND EKKO~LIFNR IN VENDOR
AND EKPO~MATNR IN MATERIAL
AND EKPO~MENGE IN ORDERQTY
AND EKET~EINDT IN DeryDate
AND EKPO~ELIKZ IN GRFINHED
AND EKPO~EREKZ = INVOICED
AND LFA1~LAND1'DE'
AND MAKT~SPRAS = SY-LANGU.
ENDIF.
WA_ALV_FIELD-COL_POS = 1.
WA_ALV_FIELD-FIELDNAME = 'EBELN'.
WA_ALV_FIELD-SELTEXT_M = ' Order Nr'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 2.
WA_ALV_FIELD-FIELDNAME = 'EBELP'.
WA_ALV_FIELD-SELTEXT_M = 'P/O ITEM'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 3.
WA_ALV_FIELD-FIELDNAME = 'BEDAT'.
WA_ALV_FIELD-SELTEXT_M = 'P/O CRETATION'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 4.
WA_ALV_FIELD-FIELDNAME = 'LIFNR'.
WA_ALV_FIELD-SELTEXT_M = 'VENDOR'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 5.
WA_ALV_FIELD-FIELDNAME = 'NAME1'.
WA_ALV_FIELD-SELTEXT_M = 'Vendor Name'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 6.
WA_ALV_FIELD-FIELDNAME = 'MATNR'.
WA_ALV_FIELD-SELTEXT_M = 'MATERIAL NR'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 7.
WA_ALV_FIELD-FIELDNAME = 'MAKTX'.
WA_ALV_FIELD-SELTEXT_M = 'Material Description'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 8.
WA_ALV_FIELD-FIELDNAME = 'MENGE'.
WA_ALV_FIELD-SELTEXT_M = 'ORDER QUANTITY'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 9.
WA_ALV_FIELD-FIELDNAME = 'MEINS'.
WA_ALV_FIELD-SELTEXT_M = 'UOM'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 10.
WA_ALV_FIELD-FIELDNAME = 'NETPR'.
WA_ALV_FIELD-SELTEXT_M = 'UNIT PRICE'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 11.
WA_ALV_FIELD-FIELDNAME = 'EINDT'.
WA_ALV_FIELD-SELTEXT_M = 'DESIRED DELIVERY'.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
*WA_ALV_FIELD-COL_POS = 12.
*WA_ALV_FIELD-FIELDNAME = 'ZEINDT'.
*WA_ALV_FIELD-SELTEXT_M = 'Confirmed Delivery Date'.
*APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK
= ' '
* I_BYPASSING_BUFFER
= ' '
* I_BUFFER_ACTIVE
= ' '
* I_CALLBACK_PROGRAM
= ' '
* I_CALLBACK_PF_STATUS_SET
= 'TEST1'
* I_STRUCTURE_NAME
= 'IT_PO'
IT_FIELDCAT = WA_ALV_FIELDCAT
* I_BACKGROUND_ID
= ' '
I_GRID_TITLE= 'Open Order Report'
TABLES
T_OUTTAB
= IT_PO.
INITIALIZATION.
S1 ='Procurement Criteria'.
S2 ='Detail Options'.
|