首页 > 其他分享 >生产订单报工

生产订单报工

时间:2024-04-24 11:25:28浏览次数:26  
标签:VORNR 报工 订单 LT LS CONF 生产 TIMETICKETS TYPE

CO11N:报工

    "定义BAPI变量
    DATA: LS_RETURN       TYPE BAPIRET1.
    DATA: LT_TIMETICKETS  TYPE TABLE OF BAPI_PP_TIMETICKET .
    DATA: LS_TIMETICKETS  TYPE BAPI_PP_TIMETICKET .
    DATA: LT_DETAIL       TYPE TABLE OF BAPI_CORU_RETURN .
    DATA: LS_DETAIL       TYPE  BAPI_CORU_RETURN .
    DATA: LT_GM           TYPE TABLE OF BAPI2017_GM_ITEM_CREATE.
    DATA: LS_GM           TYPE  BAPI2017_GM_ITEM_CREATE.
    DATA: L_MSG           TYPE STRING.



    LOOP AT _T_CONF ASSIGNING FIELD-SYMBOL(<FS_CONF>)
                              WHERE MATNR = IS_CONF-MATNR
                                AND WERKS = IS_CONF-WERKS
                                AND VORNR = IS_CONF-VORNR.

      LS_TIMETICKETS-ORDERID         = <FS_CONF>-AUFNR ."订单
      LS_TIMETICKETS-OPERATION       = <FS_CONF>-VORNR ."工序
      LS_TIMETICKETS-POSTG_DATE      = <FS_CONF>-BUDAT ."记帐日期
      LS_TIMETICKETS-FIN_CONF        = '1' .          "部分确认space\自动最终确认1\最后确认X


      LS_TIMETICKETS-CONF_ACTIVITY1  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT1 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY2  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT2 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY3  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT3 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY4  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT4 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY5  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT5 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY6  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT6 = <FS_CONF>-MEINS."单位


      APPEND LS_TIMETICKETS TO LT_TIMETICKETS.



      IF I_TEST IS NOT INITIAL.

        "检查时任务清单组号不跳号
        CL_FS4MIG_CONTEXT=>SET_ACTIVE( ABAP_TRUE ).
        CL_FS4MIG_CONTEXT=>SET_IN_SIMULATION( ABAP_TRUE ).

      ELSE.

        "创建流水号或者使用流水号
        CL_FS4MIG_CONTEXT=>SET_ACTIVE( SPACE ).
        CL_FS4MIG_CONTEXT=>SET_IN_SIMULATION( SPACE ).

      ENDIF.

      CALL FUNCTION 'BAPI_PRODORDCONF_CREATE_TT'
        EXPORTING
          POST_WRONG_ENTRIES = '1'
*         TESTRUN            = ''
        IMPORTING
          RETURN             = LS_RETURN
        TABLES
          TIMETICKETS        = LT_TIMETICKETS
          DETAIL_RETURN      = LT_DETAIL.

      IF LINE_EXISTS( LT_DETAIL[ TYPE = 'I' ID = 'RU' NUMBER = '100'  ] ).
        "处理成功
        IF I_TEST IS INITIAL.

          MODIFY _T_CONF FROM VALUE #( MESSAGE = |生产订单{ <FS_CONF>-AUFNR  }确认成功!|
                                                             ISTAT = '3' )
                                           TRANSPORTING MESSAGE ISTAT WHERE WERKS = <FS_CONF>-WERKS
                                                                        AND AUFNR = <FS_CONF>-AUFNR
                                                                        AND VORNR = <FS_CONF>-VORNR.


          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              WAIT = 'X'.



        ELSE.
          "清空缓存、回滚、检查成功
          CALL FUNCTION 'ROUTING_CLEARBUFFER'.

          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

          MODIFY _T_CONF FROM VALUE #( MESSAGE = |检查通过!|  ISTAT = '2' )
                TRANSPORTING MESSAGE ISTAT WHERE WERKS = <FS_CONF>-WERKS
                                             AND AUFNR = <FS_CONF>-AUFNR
                                             AND VORNR = <FS_CONF>-VORNR.

          R_TESTOK = ABAP_TRUE.

        ENDIF.


      ELSE.

        CALL FUNCTION 'ROUTING_CLEARBUFFER'.

        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

        LOOP AT LT_DETAIL INTO LS_DETAIL WHERE TYPE = 'E' OR TYPE = 'A'.
          L_MSG = |{ L_MSG };{ LS_DETAIL-MESSAGE }|.
        ENDLOOP.

        MODIFY _T_CONF FROM VALUE #( MESSAGE = L_MSG ISTAT = '1' )
             TRANSPORTING MESSAGE ISTAT   WHERE MATNR = IS_CONF-MATNR
                                            AND WERKS = IS_CONF-WERKS
                                            AND VORNR = IS_CONF-VORNR.

      ENDIF.
    ENDLOOP.

    CLEAR: LS_TIMETICKETS,LT_TIMETICKETS,L_MSG,LS_RETURN,LT_DETAIL.

 

    "定义BAPI变量
    DATA: LS_RETURN       TYPE BAPIRET1.
    DATA: LT_TIMETICKETS  TYPE TABLE OF BAPI_PP_TIMETICKET .
    DATA: LS_TIMETICKETS  TYPE BAPI_PP_TIMETICKET .
    DATA: LT_DETAIL       TYPE TABLE OF BAPI_CORU_RETURN .
    DATA: LS_DETAIL       TYPE  BAPI_CORU_RETURN .
    DATA: LT_GM           TYPE TABLE OF BAPI2017_GM_ITEM_CREATE.
    DATA: LS_GM           TYPE  BAPI2017_GM_ITEM_CREATE.
    DATA: L_MSG           TYPE STRING.



    LOOP AT _T_CONF ASSIGNING FIELD-SYMBOL(<FS_CONF>)
                              WHERE MATNR = IS_CONF-MATNR
                                AND WERKS = IS_CONF-WERKS
                                AND VORNR = IS_CONF-VORNR.

      LS_TIMETICKETS-ORDERID         = <FS_CONF>-AUFNR ."订单
      LS_TIMETICKETS-OPERATION       = <FS_CONF>-VORNR ."工序
      LS_TIMETICKETS-POSTG_DATE      = <FS_CONF>-BUDAT ."记帐日期
      LS_TIMETICKETS-FIN_CONF        = '1' .          "部分确认space\自动最终确认1\最后确认X


      LS_TIMETICKETS-CONF_ACTIVITY1  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT1 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY2  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT2 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY3  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT3 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY4  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT4 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY5  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT5 = <FS_CONF>-MEINS."单位
      LS_TIMETICKETS-CONF_ACTIVITY6  = <FS_CONF>-LMNGA."数量
      LS_TIMETICKETS-CONF_ACTI_UNIT6 = <FS_CONF>-MEINS."单位


      APPEND LS_TIMETICKETS TO LT_TIMETICKETS.



      IF I_TEST IS NOT INITIAL.

        "检查时任务清单组号不跳号
        CL_FS4MIG_CONTEXT=>SET_ACTIVE( ABAP_TRUE ).
        CL_FS4MIG_CONTEXT=>SET_IN_SIMULATION( ABAP_TRUE ).

      ELSE.

        "创建流水号或者使用流水号
        CL_FS4MIG_CONTEXT=>SET_ACTIVE( SPACE ).
        CL_FS4MIG_CONTEXT=>SET_IN_SIMULATION( SPACE ).

      ENDIF.

      CALL FUNCTION 'BAPI_PRODORDCONF_CREATE_TT'
        EXPORTING
          POST_WRONG_ENTRIES = '1'
*         TESTRUN            = ''
        IMPORTING
          RETURN             = LS_RETURN
        TABLES
          TIMETICKETS        = LT_TIMETICKETS
          DETAIL_RETURN      = LT_DETAIL.

      IF LINE_EXISTS( LT_DETAIL[ TYPE = 'I' ID = 'RU' NUMBER = '100'  ] ).
        "处理成功
        IF I_TEST IS INITIAL.

          MODIFY _T_CONF FROM VALUE #( MESSAGE = |生产订单{ <FS_CONF>-AUFNR  }确认成功!|
                                                             ISTAT = '3' )
                                           TRANSPORTING MESSAGE ISTAT WHERE WERKS = <FS_CONF>-WERKS
                                                                        AND AUFNR = <FS_CONF>-AUFNR
                                                                        AND VORNR = <FS_CONF>-VORNR.


          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              WAIT = 'X'.



        ELSE.
          "清空缓存、回滚、检查成功
          CALL FUNCTION 'ROUTING_CLEARBUFFER'.

          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

          MODIFY _T_CONF FROM VALUE #( MESSAGE = |检查通过!|  ISTAT = '2' )
                TRANSPORTING MESSAGE ISTAT WHERE WERKS = <FS_CONF>-WERKS
                                             AND AUFNR = <FS_CONF>-AUFNR
                                             AND VORNR = <FS_CONF>-VORNR.

          R_TESTOK = ABAP_TRUE.

        ENDIF.


      ELSE.

        CALL FUNCTION 'ROUTING_CLEARBUFFER'.

        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

        LOOP AT LT_DETAIL INTO LS_DETAIL WHERE TYPE = 'E' OR TYPE = 'A'.
          L_MSG = |{ L_MSG };{ LS_DETAIL-MESSAGE }|.
        ENDLOOP.

        MODIFY _T_CONF FROM VALUE #( MESSAGE = L_MSG ISTAT = '1' )
             TRANSPORTING MESSAGE ISTAT   WHERE MATNR = IS_CONF-MATNR
                                            AND WERKS = IS_CONF-WERKS
                                            AND VORNR = IS_CONF-VORNR.

      ENDIF.
    ENDLOOP.

    CLEAR: LS_TIMETICKETS,LT_TIMETICKETS,L_MSG,LS_RETURN,LT_DETAIL.

标签:VORNR,报工,订单,LT,LS,CONF,生产,TIMETICKETS,TYPE
From: https://www.cnblogs.com/yangliu11223/p/18154647

相关文章

  • Flink生产问题记录
    1.集群有2个flink版本,用application方式启动报错Causedby:java.lang.ClassCastException:cannotassigninstanceoforg.apache.commons.collections.map.LinkedMaptofieldorg.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.pendingOffsetsToCommito......
  • 第12課-Mirth生产环境宕机后基于服务配置XML备份恢复之记录
    MirthConnect作为集成交换平台,生产环境互联互通了众多系统,脑残的是连自家关键业务系统都依托mirth来进行交互,宕机或故障对身处其中的一次紧张的业务系统升级都造成高度的精神紧张;这种宕机经历多次之后,深感疲惫和无语;今天用生产环境低版本Mirth实践了一次恢复过程,总结以记之。下......
  • sh004基于springboot的MES生产制造执行系统【带LW文档】
    介绍基于springboot的MES生产制造执行系统管理员功能主要包括:生成计划管理、产品信息管理、销售订单管理、客户信息管理、物料信息管理、工业线路管理工序信息管理、员工管理、部门管理、个人中心等功能。员工功能结构图。其中员工查看工序信息,查看工艺线路,查看物料信息,查看产......
  • 【用户案例】数字化转型中的新质生产力:东风日产的RPA实践与启示
    在数字化时代的浪潮中,企业数字化转型已成为不可逆转的趋势。面对工效联动和数字化转型的双重挑战,传统汽车行业急需寻找新的突破点。东风日产,作为一家拥有 1.9万名员工的汽车企业,为我们展示了如何成功实现内部转型东风日产是东风汽车有限公司旗下的重要乘用车板块,致力于以先进......
  • 泛型模板化设计使用-订单搜索接口
    泛型模板化设计使用-订单搜索接口1.定义订单搜索接口packagecom.example.core.mydemo.java.templateQuery;//暂不使用该接口//publicinterfaceSearchService<TextendsBaseRequest,FextendsBaseResponse>{publicinterfaceSearchService<T,F>{/***订单......
  • Java设计模式-责任链模式,应用接口多个参数验证,订单多个费用的计算
    Java设计模式-责任链模式,应用接口多个参数验证,订单多个费用的计算1.定义请求和返回对象的上下文对象packagecom.example.core.mydemo.java.filter;importjava.time.LocalDateTime;publicclassOrderReqContext{/***租客会员号*/StringmemNo;......
  • 大厂为什么不用MQ实现订单到期关闭?
    消息队列(MessageQueue,简称MQ)是一种高效处理异步消息的技术手段,广泛应用于系统解耦、流量削峰和异步处理等场景。然而,当涉及到特定的业务逻辑,比如订单到期自动关闭这种定时和精确控制业务流程的场景时,很多大型互联网企业往往选择其他技术方案而非MQ。下面将探讨背后的原因。一致......
  • 如何用Python构建一个生产级别的电影推荐系统 - 机器学习手册
    构建项目是彻底学习概念并发展必要技能的最有效方式之一。项目使您沉浸在现实世界的问题解决中,巩固您的知识,并培养批判性思维、适应能力和项目管理专业知识。本指南将带您逐步构建一个根据用户喜好量身定制的电影推荐系统。我们将利用一个庞大的包含10,000部电影的数据集作为......
  • FICO内部订单详细解析
    内部订单是用来对企业内部某项工作或者任务编制计划、归集成本、结算的载体。比如市场推广活动、内部团队活动、研发项目、投资项目、在建工程项目等。内部订单需要区别于销售订单、采购订单和生产订单。销售订单和采购订单是企业与外部单位以合同或者契约为纽带,在执行交易后,最终......
  • 高效生产管理:选择顺通鞋业ERP系统派单的理由
    显然,传统的生产管理模式已经难以满足现代企业的需求,因此选择一款适合自身业务特点的生产管理软件成为了企业的当务之急。顺通鞋业ERP系统作为一款功能强大的生产管理软件,凭借其出色的派单功能,正逐渐成为众多企业的首选。通过系统派单,企业可以及时发现并解决生产过程中的瓶颈问题,避......