TABLES: NAST,
TNAPR,
LIKP,
KNA1,
ADR2,
VBAK,
KONV.
DATA LV_KNUMV TYPE VBAK-KNUMV.
SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF TABLE LT_LIPS WHERE VBELN = VBELN.
如果交货类型LIKP-LFART是NLCC,取LIPS-VGBEL,LIPS-VGPOS,根据这两个值取EKPO-NETPR
*否则,根据交货单取订单VBAP-CMPRE
IF LW_LIKP-LFART = 'NLCC'.
SELECT SINGLE * FROM EKPO INTO CORRESPONDING FIELDS OF LW_EKPO WHERE EBELN = LS_LIPS-VGBEL AND EBELP = LS_LIPS-VGPOS.
IF SY-SUBRC = 0.
IF LW_LIPS-WERKS = 'HK00'.
LS_ITEM-CMPRE = LW_EKPO-NETPR / LW_EKPO-PEINH.
ELSEIF LW_LIPS-WERKS = '1100'.
LS_ITEM-CMPRE = LW_EKPO-NETPR / LW_EKPO-PEINH * '1.17' .
LS_ITEM-NETPR = LW_EKPO-NETPR.
LS_ITEM-PEINH = LW_EKPO-PEINH.
"ls_item-WAERS = lw_ekpo-WAERS.
ELSEIF LW_LIPS-WERKS = '1200'.
LS_ITEM-CMPRE = LW_EKPO-NETPR / LW_EKPO-PEINH * '1.17' .
LS_ITEM-NETPR = LW_EKPO-NETPR.
LS_ITEM-PEINH = LW_EKPO-PEINH.
"ls_item-WAERS = lw_ekpo-WAERS.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE * FROM VBAP INTO CORRESPONDING FIELDS OF LW_VBAP WHERE VBELN = LS_LIPS-VGBEL AND POSNR = LS_LIPS-VGPOS.
IF SY-SUBRC = 0.
IF LW_VBAP-CMPRE NE 0.
LS_ITEM-CMPRE = LW_VBAP-CMPRE. "普通销售订单.
ELSE.
"寄售补货订单在VBAP中是没有价格、信贷额字段的值的,需要根据SO单独去取条件表.
"vbak-knumv = konv-knumv.
"function:KONV_ARRAY_READ.
CLEAR:LV_KNUMV,LS_ITEM-CMPRE.
SELECT SINGLE KNUMV INTO LV_KNUMV FROM VBAK WHERE VBELN = LS_LIPS-VGBEL.
SELECT SINGLE KBETR INTO LS_ITEM-CMPRE FROM KONV WHERE KNUMV = LV_KNUMV AND KPOSN = LS_LIPS-VGPOS.
ENDIF.
ENDIF.
ENDIF.