
一、计划订单:
/SAPAPO/ORDKEY:计划订单
/SAPAPO/ORDMAP: ORDID mapping ORDNO
PVCMPD: 超级BOM表,一个车型平台代表一种SBOM
二、订单物料反冲
PPC_HEAD:计划订单反冲表头,里面有计划订单号,报工点,报工数量,车间。
代码示例:
- select SINGLE ORDERID
- FROM PPC_ORD_INF
- WHERE ORDERNR = @lt_shop-ordno
- INTO @DATA(gv_ORDERID).
-
- SELECT a~REPPOINT,c~REPPOINT_EXT, a~FLG_REVERSAL,a~CONFQUANT
- FROM PPC_HEAD as a
- INNER JOIN PPC_RP as c ON a~REPPOINT = c~REPPOINT
- WHERE ORDERID = @GV_ORDERID
- INTO TABLE @GT_head.
-
- LOOP AT GT_head ASSIGNING FIELD-SYMBOL(
). -
- IF
-FLG_REVERSAL = 'X' and -CONFQUANT = 1. -
-CONFQUANT = -1. - ENDIF.
-
- IF
-REPPOINT_EXT CS '2999'. -REPPOINT_EXT = 'BS'. ENDIF. - IF
-REPPOINT_EXT CS '4999'. -REPPOINT_EXT = 'PS'. ENDIF. - IF
-REPPOINT_EXT CS '6999'. -REPPOINT_EXT = 'GA'. ENDIF. -
- COLLECT
INTO GT_head_COLLECT. -
- ENDLOOP.
三、物料:
/SAPAPO/PEGKEY: Planning object ( 物料ID、位置ID、计划版本)
/SAPAPO/MATKEY: 物料表 (物料ID、物料号、物料描述)
/SAPAPO/LOC: 位置表 (位置ID、位置编号)
/SAPAPO/MATLOC: 物料位置 (物料ID、位置ID、生产计划员、采购组)
/SAPAPO/MATTXT: 物料描述 (物料ID、物料文本)
/sapapo/acckey: 账号分配 (账号ID、库存标识)
示例代码:
- FORM frm_get_peg_info .
-
- SELECT DISTINCT
- a~pegid
- a~locid
- c~locno
- a~matid
- b~matnr
- b~meins
- b~matkl
- d~planner_pps
- d~ekgrp
- e~maktx
- f~sskey
- FROM /sapapo/pegkey AS a
- JOIN /sapapo/matkey AS b
- ON a~matid = b~matid
- JOIN /sapapo/loc AS c
- ON a~locid = c~locid
- JOIN /sapapo/matloc AS d
- ON a~matid = d~matid
- AND a~locid = d~locid
- LEFT JOIN /sapapo/mattxt AS e
- ON a~matid = e~matid
- AND e~langu = sy-langu
- LEFT JOIN /sapapo/acckey AS f
- ON a~accid = f~accid
- INTO TABLE gt_pegkey
- WHERE c~locno = p_werks.
-
- IF sy-subrc <> 0.
- MESSAGE s003 DISPLAY LIKE 'E'.
- gv_error_flg = 'X'.
- RETURN. "==============================>
- ENDIF.
-
- ENDFORM.
四、获取计划订单的BOM组件:
- CALL FUNCTION '/SAPAPO/OM_ORDER_GET_DATA'
- EXPORTING
- is_gen_params = gs_gen_params
- iv_simsession = space
- it_order = table_ordid
- IMPORTING
- et_ordkeys = tmp_ordkeys
- et_activities = tmp_activities
- et_inputs = tmp_inputs
- et_outputs = tmp_outputs
-
- EXCEPTIONS
- lc_connect_failed = 1
- lc_com_error = 2
- lc_appl_error = 3
- OTHERS = 4.
五、已知订单ID,获取整车物料:
- "---------------得到成品物料,再通过PEGID得到后续数据-------------
-
- CALL FUNCTION '/SAPAPO/OM_ORDER_GET_DATA'
- EXPORTING
- is_gen_params = gs_gen_params
- iv_simsession = space
- it_order = lt_ordid
- IMPORTING
- et_ext_outputs = gt_outputs
- " ET_ACTIVITIES = gt_ACTIVITIES
- EXCEPTIONS
- lc_connect_failed = 1
- lc_com_error = 2
- lc_appl_error = 3
- OTHERS = 4.
-
-
- SELECT * INTO TABLE gt_pegkey FROM /SAPAPO/PEGKEY.
- SELECT * INTO TABLE gt_MATKEY FROM /SAPAPO/MATKEY.
- SELECT * INTO TABLE gt_ACCKEY FROM /SAPAPO/ACCKEY.
- SELECT * INTO TABLE gt_CAWN FROM CAWN.
- SELECT * INTO TABLE gt_CAWNT FROM CAWNT.
-
- "填充物料
- READ TABLE gt_outputs WITH KEY orderid =
-orderid INTO DATA(gs). -
- IF sy-subrc = 0.
-
-
-PEGID = gs-PEGID. "填充ordno -
-
- READ TABLE gt_pegkey WITH KEY pegid =
-pegid INTO DATA(tmp). -
- IF sy-subrc = 0.
-
-
-matid = tmp-matid. -
-accid = tmp-accid. -
- READ TABLE gt_matkey WITH KEY matid =
-matid INTO DATA(oth). -
- IF sy-subrc = 0.
-
-
-matnr = oth-matnr. -
- ENDIF.
-
- ENDIF.
-
- ENDIF.
未完。。。