ITPub博客

首页 > 数字化转型 > ERP > 获得生产订单的各种信息

获得生产订单的各种信息

原创 ERP 作者:mmccking 时间:2013-02-19 10:26:05 0 删除 编辑

获得生产订单的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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
风太大,吹乱了我的头发~

注册时间:2008-03-11

  • 博文量
    94
  • 访问量
    403024