首页 > 数字化转型 > ERP > 获得生产订单的各种信息
获得生产订单的Header信息: AFKO, AFPO, AUFK
检查各种状态: JEST
获得工序数据: AFVC,AFVV,CRHD
检查该工序是否是外包工序: T430
获得组件信息: RESB,STPO
获得Vendor Batch: MCH1
[@more@]获得生产订单的Header信息:
SELECT AFKO~AUFNR "Production order number
AUFK~AUART "Order type
AFPO~MATNR "Material Number
AFPO~DWERK "Plant
AFPO~LGORT "Storage Location
AFKO~GAMNG "Total order quantity
AFKO~GASMG "Total scrap quantity in the order
AFKO~PLNTY "Task List Type
AFKO~PLNNR "Key for Task List Group
AFKO~PLNAL "Group Counter
AFKO~AUFPL "Routing number of operations in the order
AFPO~CHARG "Batch Number
AFKO~RSNUM "Number of Reservation
AUFK~OBJNR "Object number
AFKO~GSTRP "Basic Start Date
AFKO~GLTRP "Basic finish date
AFPO~VERID "Production Version
AFKO~DISPO "MRP controller for the order
AFPO~WEBAZ "GR processing time in days.
AFKO~SBMNG "Base quantity
AFKO~FEVOR "Production Supervisor
FROM AFKO
INNER JOIN AFPO
ON AFPO~AUFNR = AFKO~AUFNR "Production order number
INNER JOIN AUFK
ON AUFK~AUFNR = AFKO~AUFNR "Production order number
INTO CORRESPONDING FIELDS OF TABLE TD_POORDER
WHERE AFPO~DWERK IN RD_DWERK "Plant
AND AFKO~AUFNR IN RD_ORDER "Order
AND AUFK~AUART IN RD_DAUAT "Order type
AND AFKO~GSTRP IN RD_GSTRP "Basic Start Date
AND AUFK~ERDAT IN RD_ERDAT "Create Date
AND AUFK~AEDAT IN RD_AEDAT "Change Date
AND AFKO~GLTRP IN RD_GLTRP "Basic finish date
AND AFPO~MATNR IN RD_MATNR "Material number
AND AFKO~FEVOR IN RD_FEVOR. "Production Supervisor
检查生产订单状态:
SELECT COUNT(*)
FROM JEST
WHERE OBJNR = I_POORDER-OBJNR
AND STAT IN RD_STATUS
AND INACT = SPACE.
IF SY-SUBRC <> 0 OR RD_STATUS[] IS INITIAL.
IF W_RELEASE IS INITIAL.* Get the old number
SELECT SINGLE PLNNR_ALT
FROM PLKO
INTO O_HEADER-PLNNR_ALT
WHERE PLNTY = I_POORDER-PLNTY
AND PLNNR = I_POORDER-PLNNR
AND PLNAL = I_POORDER-PLNAL.
ELSE.
SELECT COUNT(*)
FROM JEST
WHERE OBJNR = TH_POORDER-OBJNR "Object number
AND STAT = C_I0002
AND INACT = SPACE.
IF SY-SUBRC = 0.* Get the old number
SELECT SINGLE PLNNR_ALT
FROM PLKO
INTO O_HEADER-PLNNR_ALT
WHERE PLNTY = I_POORDER-PLNTY
AND PLNNR = I_POORDER-PLNNR
AND PLNAL = I_POORDER-PLNAL.
ENDIF.
ENDIF.
Remarks:
STATUS: I0002 => Release
I0045 => Technically completed
I0076 => Deleting Flag
I0046 => Close
I0043 => Locked
I0117 => Delivery
I0009 => CONFIRMED
I0010 => PARTIALLY CONFIRMED
获得工序数据:
SELECT AFVC~AUFPL "Routing number of operations in the order
AFVC~APLZL "General counter for order
AFVC~PLNFL "Sequence
AFVC~VORNR "Operation Number
AFVC~STEUS "Control key
AFVC~OBJNR "Object number
CRHD_V1~ARBPL "Work center
CRHD_V1~KTEXT "Work center description
AFVC~LTXA1 "Operation short text
AFVV~MGVRG "Operation Quantity
AFVV~ASVRG "Operation scrap
AFVV~LMNGA "Total Yield Confirmed
AFVV~XMNGA "Total scrap quantity confirmed
INTO CORRESPONDING FIELDS OF TABLE TD_OPRATDATA
FROM AFVC INNER JOIN AFVV
ON AFVV~AUFPL = AFVC~AUFPL"Routing number of operations in the order
AND AFVV~APLZL = AFVC~APLZL"General counter for order
LEFT JOIN CRHD_V1
ON CRHD_V1~OBJID = AFVC~ARBID "Object number
WHERE AFVC~AUFPL = I_POORDER-AUFPL.
"Routing number of operations in the order
检查工序状态:
SELECT COUNT(*)
FROM JEST
WHERE OBJNR = TH_OPRATDATA-OBJNR
AND STAT = C_I0013 "Delete flg
AND INACT = SPACE.
检查该工序是否是外包工序:
SELECT COUNT(*)
FROM T430
WHERE STEUS = LTH_OPRATDATA-STEUS
AND LIEF = '+'. " ’+’ -> External operation
IF SY-SUBRC = 0.
LTH_OPERATION-EXTOP = 'X'. "External operation
ELSE.
LTH_OPERATION-EXTOP = ' '. "Internal Operation
ENDIF.
获得组件信息:
SELECT RESB~AUFNR "Production order number
RESB~POSNR "BOM item number
RESB~MATNR "Material Number
MAKT~MAKTX "Material description
RESB~WERKS "Plant
RESB~LGORT "Storage Location
RESB~CHARG "Batch Number
RESB~BDMNG "Requirement Quantity
RESB~ENMNG "Quantity Withdrawn
RESB~MEINS "Base Unit of Measure
RESB~RSNUM "Reservation Number
RESB~RSPOS "Reservation item
STPO~MENGE "Component quantity
INTO CORRESPONDING FIELDS OF TABLE LTD_COMPONENT
FROM RESB INNER JOIN MAKT
ON MAKT~MATNR = RESB~MATNR
LEFT JOIN STPO
ON RESB~STLTY = STPO~STLTY "BOM category
AND RESB~STLNR = STPO~STLNR "Bill of material
AND RESB~STLKN = STPO~STLKN "BOM item node number
AND RESB~STPOZ = STPO~STPOZ "Internal counter
WHERE RESB~RSNUM = I_POORDER-RSNUM
"Number of Reservation/Dependent Requirement
AND RESB~XLOEK = SPACE "Item is Deleted
AND RESB~BDMNG > 0 "Requirement Quantity
AND MAKT~SPRAS = SY-LANGU. "Language Key
获得Vendor Batch:
SELECT SINGLE MCH1~LICHA "Vendor Batch Number
MCH1~HSDAT "Date of Manufacture
FROM MCH1 INNER JOIN MARA
ON MCH1~MATNR = MARA~MATNR
INTO (O_HEADER-LICHA , O_HEADER-HSDAT )
WHERE MCH1~MATNR = LTH_COMPONENT-MATNR
AND ( MARA~MTART = C_ZFRT
OR MARA~MTART = C_ZHLB )
AND MCH1~CHARG = LTH_COMPONENT-CHARG.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8356764/viewspace-1060217/ ,如需转载,请注明出处,否则将追究法律责任。