生产完成之后,需要对产品进行完工确认,即报工确认

一般情况下,使用CO11事务码来进行

对于一些零配件的生产,往往需要确认大量的数据,因而有些用户会有批量报工的需求

这时候就需要一个系统标准BAPI : BAPI_PRODORDCONF_CREATE_TT.
在报工时,当涉及到倒冲料扣料的操作时,则需要Call 两个BAPI来操作

1 . BAPI_PRODORDCONF_GET_TT_PROP 获取生产订单相关属性
2 . BAPI_PRODORDCONF_CREATE_TT 报工确认

相关操作示例:

* 定义数据内表DATA: gt_afko TYPE STANDARD TABLE OF afko.* Work Area 定义DATA: gw_afko  TYPE afko,gw_afpo  TYPE afpo,gw_afvc  TYPE afvc,gw_afvv  TYPE afvv.DATA: gv_index  TYPE sy-tabix,gv_result TYPE c.DATA:*BAPI相关定义propose             LIKE bapi_pp_conf_prop,timetickets         LIKE bapi_pp_timeticket       OCCURS 0 WITH HEADER LINE,goodsmovements      LIKE bapi2017_gm_item_create  OCCURS 0 WITH HEADER LINE,link_conf_goodsmov  LIKE bapi_link_conf_goodsmov  OCCURS 0 WITH HEADER LINE,return_detail       LIKE bapi_coru_return         OCCURS 0 WITH HEADER LINE,return              LIKE bapiret1                 OCCURS 0 WITH HEADER LINE.CONSTANTS:cn_flagx TYPE c VALUE 'X'.* Get Data...* HeaderCLEAR gt_afko[].SELECT aufnr rsnum aufplINTO CORRESPONDING FIELDS OF TABLE gt_afkoFROM afkoWHERE aufnr IN so_aufnr  "生产工单号.* Data Proccess...CLEAR gw_afko.LOOP AT gt_afko INTO gw_afko.IF sy-subrc = 0.CLEAR gw_afvc.SELECT SINGLEaufpl       "订单工序的工艺路线号aplzl       "订单的通用计数器vornr       "工序plnfl       "顺序arbidaplfl       "序列(新) 有值INTO CORRESPONDING FIELDS OF gw_afvcFROM afvcWHERE aufpl = gw_afko-aufpl.IF sy-subrc = 0.* 1.需要更新的数据设置CLEAR propose.propose-quantity          = cn_flagx.   "更新数量propose-date_and_time     = cn_flagx.   "更新作业时间propose-goodsmovement     = cn_flagx.   "更新货物移动* 2.作业时间CLEAR: timetickets,timetickets[].timetickets-orderid       = gw_print-aufnr. "工单号timetickets-operation     = gw_afvc-vornr.  "工序号timetickets-yield         = gw_print-lmnga. "工单生产数量timetickets-sequence      = gw_afvc-aplfl.  "APPEND timetickets.CLEAR  timetickets.* 3.货物移动属性* 第一次赋值,用于获取相关默认属性值CLEAR: goodsmovements,goodsmovements[].goodsmovements-orderid    = gw_print-aufnr.  "生产订单号goodsmovements-order_itno = gw_afvc-vornr.   "工序号APPEND goodsmovements.CLEAR  goodsmovements.* 4.调用BAPI,获取默认属性值CALL FUNCTION 'BAPI_PRODORDCONF_GET_TT_PROP'EXPORTINGpropose            = proposeIMPORTINGreturn             = returnTABLEStimetickets        = timeticketsgoodsmovements     = goodsmovementslink_conf_goodsmov = link_conf_goodsmovdetail_return      = return_detail.* 5.输出异常信息IF return-type = 'E' OR return-type = 'A'.CONCATENATE '错误:' return-message INTO return-message.gv_result = cn_flagx.ENDIF.LOOP AT return_detail WHERE type IS NOT INITIAL.IF return_detail-type = 'E' OR return_detail-type = 'A'.CONCATENATE '错误:' return_detail-message INTO return-message.gv_result = cn_flagx.ENDIF.ENDLOOP.* 6. 如若需要更新相关信息,可在此修改* -- 这里修改作业时间 --IF gv_result NE cn_flagx.CLEAR gv_index.LOOP AT timetickets.gv_index = sy-tabix.    "索引CLEAR gw_afvv.SELECT SINGLE * FROM afvvINTO CORRESPONDING FIELDS OF gw_afvvWHERE aufpl = gw_afvc-aufplAND aplzl = gw_afvc-aplzl.IF sy-subrc = 0.IF NOT gw_afvv-bmsch = 0.IF timetickets-conf_acti_unit1 NE 'S'.timetickets-conf_activity1 = timetickets-yield * gw_afvv-vgw01 / gw_afvv-bmsch.ELSE.timetickets-conf_activity1 = timetickets-yield * gw_afvv-vgw01 DIV gw_afvv-bmsch.ENDIF.IF timetickets-conf_acti_unit2 NE 'S'.timetickets-conf_activity2 = timetickets-yield * gw_afvv-vgw02 / gw_afvv-bmsch.ELSE.timetickets-conf_activity2 = timetickets-yield * gw_afvv-vgw02 DIV gw_afvv-bmsch.ENDIF.IF timetickets-conf_acti_unit3 NE 'S'.timetickets-conf_activity3 = timetickets-yield * gw_afvv-vgw03 / gw_afvv-bmsch.ELSE.timetickets-conf_activity3 = timetickets-yield * gw_afvv-vgw03 DIV gw_afvv-bmsch.ENDIF.IF timetickets-conf_acti_unit4 NE 'S'.timetickets-conf_activity4 = timetickets-yield * gw_afvv-vgw04 / gw_afvv-bmsch.ELSE.timetickets-conf_activity4 = timetickets-yield * gw_afvv-vgw04 DIV gw_afvv-bmsch.ENDIF.IF timetickets-conf_acti_unit5 NE 'S'.timetickets-conf_activity5 = timetickets-yield * gw_afvv-vgw05 / gw_afvv-bmsch.ELSE.timetickets-conf_activity5 = timetickets-yield * gw_afvv-vgw05 DIV gw_afvv-bmsch.ENDIF.IF timetickets-conf_acti_unit6 NE 'S'.timetickets-conf_activity6 = timetickets-yield * gw_afvv-vgw06 / gw_afvv-bmsch.ELSE.timetickets-conf_activity6 = timetickets-yield * gw_afvv-vgw06 DIV gw_afvv-bmsch.ENDIF.ENDIF.ENDIF.timetickets-yield  = 200.    "待确认的产量(用户输入确认值)IF gw_afvv IS NOT INITIAL.MODIFY timetickets INDEX gv_index TRANSPORTING yieldconf_activity1 conf_acti_unit1 conf_activity2 conf_acti_unit2conf_activity3 conf_acti_unit3 conf_activity4 conf_acti_unit4conf_activity5 conf_acti_unit5 conf_activity6 conf_acti_unit6.ELSE.MODIFY timetickets INDEX gv_index TRANSPORTING yield.ENDIF.CLEAR timetickets.ENDLOOP.CLEAR gw_afvv.ENDIF.* 7. 调用BAPI,报工确认CLEAR: return, return[].CLEAR: return_detail, return_detail[].CALL FUNCTION 'BAPI_PRODORDCONF_CREATE_TT'EXPORTINGpost_wrong_entries = '1'testrun            = ''      "标识为 X,则为试运行 不提交至系统IMPORTINGreturn             = returnTABLEStimetickets        = timeticketsgoodsmovements     = goodsmovementslink_conf_goodsmov = link_conf_goodsmovdetail_return      = return_detail.CLEAR gv_result.READ TABLE return WITH KEY type = 'E'.IF sy-subrc = 0.CONCATENATE '错误:' return-message INTO return-message.gv_result = cn_flagx.ENDIF.LOOP AT return_detail WHERE type IS NOT INITIAL.IF return_detail-type = 'E' OR return_detail-type = 'A'.CONCATENATE '错误:' return_detail-message INTO return-message.gv_result = cn_flagx.ENDIF.ENDLOOP.IF gv_result NE cn_flagx.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = cn_flagx.ENDIF.ENDIF.ENDIF.CLEAR gw_afko.ENDLOOP.

BAPI_PRODORDCONF_GET_TT_PROP 生产订单完工确认相关推荐

  1. 生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT

    生产完成后,需要对产品进行完工确认(也叫 报工确认): 一般情况下,可以通过事务码(T-Code)CO11 或 CO11N 进行确认. 对于一些零配件的生产时,往往需要确认大量的数量,因而有些用户就会 ...

  2. 【转载】生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT

    生产完成后,需要对产品进行完工确认(也叫 报工确认): 一般情况下,可以通过事务码(T-Code)CO11 或 CO11N 进行确认. 对于一些零配件的生产时,往往需要确认大量的数量,因而有些用户就会 ...

  3. SAP生产订单状态详解

    CRTD 建立 生产订单创建时的状态,表明订单处于刚刚创建时点,不允许做后续发料,确认等操作. PREL 部分释放 当对生产订单做部分下达时的状态,如仅下达部分工序时. REL 已释放 当生产任务确定 ...

  4. SAP中成本对比 (透明表RESB 存储 生产订单的组件)

    对比 预计成本.计划成本和实际成本. 上述三个成本分别属于三个视角:营业视角.技术视角和制造视角. 营业人员,在签订合同之前在SAP上做事先裁决,形成预计成本: 合同签订之后,在SAP上,营业人员马上 ...

  5. 【PP生产订单】入门介绍(十)

    上一讲具体讲了生产订单报工确认的相关配置. 这一讲我们就来看一下报工的前台操作. 主要事务代码有CO11和CO11N(新界面). 首先看CO11,我们输入了订单号回车后会出现界面让我们选择具体工序,而 ...

  6. SAP BAPI 生产订单确认相关

    查询确认清单 BAPI_PRODORDCONF_GETLIST 返回 表:CONFIRMATIONS 字段 类型 长度 精度 说明 CONF_NO NUMC 10 0 操作完成的确认编号 CONF_C ...

  7. co11n——生产订单确认的BAPI

    通过C#访问SAP RFC没问题,但如果在RFC里使用BDC程序,就不能实际,返回错误信息. 现只能通过BAPI来解决. REPORT TEST. DATA: WA_ITEM      TYPE ZD ...

  8. U8自定义菜单小工具修改生产订单开工\完工日期

    如图:自定义菜单[生产订单批量修改],将EXCEL中工单号.开工日期.完工日期粘贴至表格中,可批量修改工单中开工日期.完工日期.采用U8嵌入式窗口开发,U813.0以上版本都可使用.

  9. 【收藏】生产订单业务流程

    (1)创建一个生产订单CO01 BOM.工序(工艺路线) BOM:确定生产订单的材料成本: 工艺路线:确定人工.间接费用: 如果部分完工 总成本 = 材料成本 + 人工 + 间接费用 =完工产成品成本 ...

最新文章

  1. linux 简介各发行版
  2. Datagridview 去掉单元格焦点虚框 和设置单元格不能被选中
  3. require用法php,php中的require到底是函数还是语法
  4. 共享内存 传一个类指针_共享内存介绍:Shared Memory
  5. 2019大数据课程_根据数据,2019年最佳免费在线课程
  6. java三年,Java开发三年,你不得不了解的JVM(一)
  7. springboot中文语音识别_【记录】语音识别软件包、代码示例、数据集汇集
  8. CentOS7虚拟机断电,出现:“Entering emergency mode. Exit the shell to continue.”
  9. android如何展示富文本_Android中如何在textView实现富文本
  10. 大数据和人工智能体系图
  11. 天翼云联手平凯星辰共建开源分布式数据库实验室
  12. 配置maven使用阿里云仓库
  13. 项目研发阶段性总结模板
  14. Python自动连接网络(自动登录网络准入系统)
  15. linux载入pytorch的预训练模型时遇到_pickle.UnpicklingError: unpickling stack underflow
  16. docker 的安装以及简单centos镜像制作、启动
  17. 一种有手就行的物联网平台的多终端接入方法
  18. 算法分析与设计(VC问题团问题独立集问题)
  19. 【优化】py2下hbase的字符串编码问题(\\xe7\\xbc\\x96)
  20. js密码输入与确认密码验证功能

热门文章

  1. NSURLSession htpps证书设置
  2. jadx 1.4.5反编译包不全
  3. Python 立体图形的画法(一)
  4. 关于给hexo博客增加每日一言(诗句,影视名句,网易云热评等)
  5. 网路学员面试常见问题:
  6. oracle数据库卷管理,AIX系统逻辑卷管理
  7. mysql_wp_replication_tutorial
  8. 旅行青蛙游戏背后所存在的情感。
  9. 从键盘输入一个正整数 n,求 n!
  10. MLC转成SLC模式没有想象的那么好