菜鸟问题,无法同时显示交货期和确认日期

[复制链接]
查看11 | 回复4 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
想写个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'.
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
把结果截图出来,是交期和确认日期字段没值还是取不到一笔数据呢?
觉得那SELECT语句中表联有问题.
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
只能取到确认的日期,
感觉是
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.
这两句有问题
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
你会用DEBUG不,看看数据到底有没有取到指定内表里,还有ALV显示的是有不用用这种方式太麻烦,先用宏定义才是王道。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
谢谢指点,先试再来回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行