• 整车行业 SAP APO 开发备忘(刘欣)


    一、计划订单

    /SAPAPO/ORDKEY:计划订单

    /SAPAPO/ORDMAP: ORDID mapping ORDNO

    PVCMPD: 超级BOM表,一个车型平台代表一种SBOM

    二、订单物料反冲

    PPC_HEAD:计划订单反冲表头,里面有计划订单号,报工点,报工数量,车间。

    代码示例:

    1. select SINGLE ORDERID
    2. FROM PPC_ORD_INF
    3. WHERE ORDERNR = @lt_shop-ordno
    4. INTO @DATA(gv_ORDERID).
    5. SELECT a~REPPOINT,c~REPPOINT_EXT, a~FLG_REVERSAL,a~CONFQUANT
    6. FROM PPC_HEAD as a
    7. INNER JOIN PPC_RP as c ON a~REPPOINT = c~REPPOINT
    8. WHERE ORDERID = @GV_ORDERID
    9. INTO TABLE @GT_head.
    10. LOOP AT GT_head ASSIGNING FIELD-SYMBOL().
    11. IF -FLG_REVERSAL = 'X' and -CONFQUANT = 1.
    12. -CONFQUANT = -1.
    13. ENDIF.
    14. IF -REPPOINT_EXT CS '2999'. -REPPOINT_EXT = 'BS'. ENDIF.
    15. IF -REPPOINT_EXT CS '4999'. -REPPOINT_EXT = 'PS'. ENDIF.
    16. IF -REPPOINT_EXT CS '6999'. -REPPOINT_EXT = 'GA'. ENDIF.
    17. COLLECT INTO GT_head_COLLECT.
    18. ENDLOOP.

    三、物料:

    /SAPAPO/PEGKEY:   Planning object   ( 物料ID、位置ID、计划版本)
    /SAPAPO/MATKEY:    物料表    (物料ID、物料号、物料描述)
    /SAPAPO/LOC:             位置表    (位置ID、位置编号)
    /SAPAPO/MATLOC:    物料位置    (物料ID、位置ID、生产计划员、采购组)
    /SAPAPO/MATTXT:    物料描述    (物料ID、物料文本)
    /sapapo/acckey:     账号分配    (账号ID、库存标识)

    示例代码:

    1. FORM frm_get_peg_info .
    2. SELECT DISTINCT
    3. a~pegid
    4. a~locid
    5. c~locno
    6. a~matid
    7. b~matnr
    8. b~meins
    9. b~matkl
    10. d~planner_pps
    11. d~ekgrp
    12. e~maktx
    13. f~sskey
    14. FROM /sapapo/pegkey AS a
    15. JOIN /sapapo/matkey AS b
    16. ON a~matid = b~matid
    17. JOIN /sapapo/loc AS c
    18. ON a~locid = c~locid
    19. JOIN /sapapo/matloc AS d
    20. ON a~matid = d~matid
    21. AND a~locid = d~locid
    22. LEFT JOIN /sapapo/mattxt AS e
    23. ON a~matid = e~matid
    24. AND e~langu = sy-langu
    25. LEFT JOIN /sapapo/acckey AS f
    26. ON a~accid = f~accid
    27. INTO TABLE gt_pegkey
    28. WHERE c~locno = p_werks.
    29. IF sy-subrc <> 0.
    30. MESSAGE s003 DISPLAY LIKE 'E'.
    31. gv_error_flg = 'X'.
    32. RETURN. "==============================>
    33. ENDIF.
    34. ENDFORM.

    四、获取计划订单的BOM组件

    1. CALL FUNCTION '/SAPAPO/OM_ORDER_GET_DATA'
    2. EXPORTING
    3. is_gen_params = gs_gen_params
    4. iv_simsession = space
    5. it_order = table_ordid
    6. IMPORTING
    7. et_ordkeys = tmp_ordkeys
    8. et_activities = tmp_activities
    9. et_inputs = tmp_inputs
    10. et_outputs = tmp_outputs
    11. EXCEPTIONS
    12. lc_connect_failed = 1
    13. lc_com_error = 2
    14. lc_appl_error = 3
    15. OTHERS = 4.

    五、已知订单ID,获取整车物料:

    1. "---------------得到成品物料,再通过PEGID得到后续数据-------------
    2. CALL FUNCTION '/SAPAPO/OM_ORDER_GET_DATA'
    3. EXPORTING
    4. is_gen_params = gs_gen_params
    5. iv_simsession = space
    6. it_order = lt_ordid
    7. IMPORTING
    8. et_ext_outputs = gt_outputs
    9. " ET_ACTIVITIES = gt_ACTIVITIES
    10. EXCEPTIONS
    11. lc_connect_failed = 1
    12. lc_com_error = 2
    13. lc_appl_error = 3
    14. OTHERS = 4.
    15. SELECT * INTO TABLE gt_pegkey FROM /SAPAPO/PEGKEY.
    16. SELECT * INTO TABLE gt_MATKEY FROM /SAPAPO/MATKEY.
    17. SELECT * INTO TABLE gt_ACCKEY FROM /SAPAPO/ACCKEY.
    18. SELECT * INTO TABLE gt_CAWN FROM CAWN.
    19. SELECT * INTO TABLE gt_CAWNT FROM CAWNT.
    20. "填充物料
    21. READ TABLE gt_outputs WITH KEY orderid = -orderid INTO DATA(gs).
    22. IF sy-subrc = 0.
    23. -PEGID = gs-PEGID. "填充ordno
    24. READ TABLE gt_pegkey WITH KEY pegid = -pegid INTO DATA(tmp).
    25. IF sy-subrc = 0.
    26. -matid = tmp-matid.
    27. -accid = tmp-accid.
    28. READ TABLE gt_matkey WITH KEY matid = -matid INTO DATA(oth).
    29. IF sy-subrc = 0.
    30. -matnr = oth-matnr.
    31. ENDIF.
    32. ENDIF.
    33. ENDIF.

    未完。。。

  • 相关阅读:
    微服务及其在app自动化领域的应用
    神机百炼3.52-Prim
    图像显示在对话框上的一些问题
    公众号搭建教程
    服务器没网 利用本地机器反向隧道 设置conda代理配置环境
    ElasticSearcch集群
    前端 css3 媒体查询实现 响应式布局
    关于PCB的工艺注意事项
    使用 StringUtils.split 的坑
    vue双向绑定/小程序双向绑定?
  • 原文地址:https://blog.csdn.net/ot512csdn/article/details/127446791