转载留存

IT_METHODS    LIKE    BAPI_ALM_ORDER_METHOD
处理方法,必选项,存储CREATE CREATETONOTIF CHANGE DELETE RELEASE TECHNICALCOMPLETE ATPCHECK CALCULATE SCHEDULE DELELTEDSEX ADD SAVE DIALOG TRACE这些处理动作。
IT_HEADER    LIKE    BAPI_ALM_ORDER_HEADERS_I
订单的header信息
IT_HEADER_UP    LIKE    BAPI_ALM_ORDER_HEADERS_UP
修改的订单的header信息,如果是对订单header的修改,需要将对应字段置X
IT_HEADER_SRV    LIKE    BAPI_ALM_ORDER_SRVDAT_E
对象服务信息
IT_HEADER_SRV_UP    LIKE    BAPI_ALM_ORDER_SRVDAT_UP
IT_USERSTATUS    LIKE    BAPI_ALM_ORDER_USRSTAT
用户状态信息
IT_PARTNER    LIKE    BAPI_ALM_ORDER_PARTN_MUL
合作伙伴信息
IT_PARTNER_UP    LIKE    BAPI_ALM_ORDER_PARTN_MUL_UP
IT_OPERATION    LIKE    BAPI_ALM_ORDER_OPERATION
工序信息
IT_OPERATION_UP    LIKE    BAPI_ALM_ORDER_OPERATION_UP
IT_RELATION    LIKE    BAPI_ALM_ORDER_RELATION
IT_RELATION_UP    LIKE    BAPI_ALM_ORDER_RELATION_UP
IT_COMPONENT    LIKE    BAPI_ALM_ORDER_COMPONENT
组件信息
IT_COMPONENT_UP    LIKE    BAPI_ALM_ORDER_COMPONENT_UP
IT_TEXT    LIKE    BAPI_ALM_TEXT
IT_TEXT_LINES    LIKE    BAPI_ALM_TEXT_LINES
EXTENSION_IN    LIKE    BAPIPAREX
RETURN    LIKE    BAPIRET2
返回消息
ET_NUMBERS    LIKE    BAPI_ALM_NUMBERS
返回订单编码信息

1、创建一个带工序的订单
  CLEAR IT_METHODS.
  IT_METHODS-REFNUMBER = '1'.”对应下面header表中相应行的数据
  IT_METHODS-OBJECTTYPE = 'HEADER'.”需要操作的对象类型
  IT_METHODS-METHOD = 'CREATE'.”相应动作
  IT_METHODS-OBJECTKEY = '%00000000001'.”PM订单号,我们用的系统内部给号,此处使用临时编码'%00000000001',bapi结束时,会返回真正的订单号
  APPEND IT_METHODS.
  CLEAR IT_METHODS.
  IT_METHODS-REFNUMBER = '1'.”对应下面OPERATION表中相应行的数据
  IT_METHODS-OBJECTTYPE = 'OPERATION'.”需要操作的对象类型
  IT_METHODS-METHOD = 'CREATE'.”相应动作
  IT_METHODS-OBJECTKEY = '%00000000001'.”PM订单号,我们用的系统内部给号,此处使用临时编码'%00000000001',bapi结束时,会返回真正的订单号
  APPEND IT_METHODS.”多个工序时,要加入多条数据,REFNUMBER 对应OPERATION的行数
  CLEAR IT_METHODS.
  IT_METHODS-METHOD = 'SAVE'.”最后要插入一个save或dialog方法,否则bapi会报错
  APPEND IT_METHODS.”IT_METHODS已经填充完毕

"填充header数据 
  IT_HEADER-ORDERID = '%00000000001'.”临时订单号
  IT_HEADER-ORDER_TYPE = 'PM11'..”订单类型
  IT_HEADER-EQUIPMENT = ‘JB200101’.
  IT_HEADER-SHORT_TEXT= 'PM ORDER TEXT'.
  .........
  APPEND IT_HEADER

"填充工序数据表
  IT_OPERATION-ACTIVITY = ‘0010’.”operation num
  IT_OPERATION-DESCRIPTION = ‘operation text’.
  IT_OPERATION-CONTROL_KEY = 'PM01'.”control key
APPEND IT_OPERATION."多个工序加入多条,要和IT_method对应。

CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'
    TABLES
      IT_METHODS             = IT_METHODS
      IT_HEADER              = IT_HEADER
*   IT_HEADER_UP           =
*   IT_HEADER_SRV          =
*   IT_HEADER_SRV_UP       =
*   IT_USERSTATUS          =
*   IT_PARTNER             =
*   IT_PARTNER_UP          =
      IT_OPERATION           = IT_OPERATION
*   IT_OPERATION_UP        =
*   IT_RELATION            =
*   IT_RELATION_UP         =
*   IT_COMPONENT           =
*   IT_COMPONENT_UP        =
*   IT_TEXT                =
*   IT_TEXT_LINES          =
*   EXTENSION_IN           =
   RETURN                 = RETURN
   ET_NUMBERS             = ET_NUMBERS
            .
然后判断RETURN中的消息,做BAPI_TRANSACTION_COMMIT或者BAPI_TRANSACTION_ROLLBACK,这样就创建了一个PM订单。

2、修改一个PM订单的组件信息。
  CLEAR IT_METHODS.
  IT_METHODS-REFNUMBER = '1'.
  IT_METHODS-OBJECTTYPE = 'COMPONENT'."
  IT_METHODS-METHOD = 'CHANGE'.
  IT_METHODS-OBJECTKEY = ‘90012343’.“订单号
  APPEND IT_METHODS.”如果修改多个组件,要加入多条
  CLEAR IT_METHODS.
  IT_METHODS-METHOD = 'SAVE'.
  APPEND IT_METHODS.
    CLEAR IT_COMPONENT.
    IT_COMPONENT-RESERV_NO = ‘18933‘.“预留号
    IT_COMPONENT-RES_ITEM = ’1‘.预留项目
    IT_COMPONENT-WITHDRAWN = 'X'.“最后发货标识,要修改这个字段
    APPEND IT_COMPONENT.”如果修改多个组件,要加入多条
    IT_COMPONENTUP-WITHDRAWN = 'X'.“最后发货标识,要修改哪个字段,需要在UP表中将该字段值为X
    APPEND IT_COMPONENTUP.”如果修改多个组件,要加入多条

  CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'
    TABLES
      IT_METHODS             = IT_METHODS
*     IT_HEADER              =
*     IT_HEADER_UP           =
*     IT_HEADER_SRV          =
*     IT_HEADER_SRV_UP       =
*     IT_USERSTATUS          =
*     IT_PARTNER             =
*     IT_PARTNER_UP          =
*     IT_OPERATION           =
*     IT_OPERATION_UP        =
*     IT_RELATION            =
*     IT_RELATION_UP         =
     IT_COMPONENT           = IT_COMPONENT
     IT_COMPONENT_UP        = IT_COMPONENTUP
*     IT_TEXT                =
*     IT_TEXT_LINES          =
*     EXTENSION_IN           =
     RETURN                 = RETURN
     ET_NUMBERS             = ET_NUMBERS
            .
然后做transaction commit或rollback操作就OK了

增、改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN的更多相关文章

  1. PP篇11 增、改生产订单组件BAPI

    增.改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN USE BAPI_ALM_ORDER_MAINTAIN TO CREATE OR CHANGE PM WORK ORDER ...

  2. SAP S/4HANA生产订单的BAdI增强点之Initialize方法

    在S/4HANA里创建生产订单时,有一个增强点WORKORDER_UPDATE: 这个CAUFVDB里存放的是生产订单抬头级别的数据: 我们来观察下运行时这个结构里存放的数据. 请大家用我github ...

  3. 【ABAP系列】SAP 生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 生产订单完工确认(CO1 ...

  4. SAP PP 生产订单变更记录保存

    *&---------------------------------------------------------------------* *& 包括 ZXCO1U01 *&am ...

  5. PP生产订单创建、下达、报工、收货、投料

    转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...

  6. ABAP 生产订单的创建与修改函数

    ABAP 生产订单的创建与修改函数转自http://www.cnblogs.com/aBaoRong/archive/2012/04/11/2441946.html   如果生产订单过多,可以批量创建 ...

  7. SAP 生产订单变更管理 OCM Order Changement Management

    SAP OCM Order Changement Management  一.目的 订单变更管理系统是当我们的订单(生产订单.计划订单.采购订单)已经存在的时候,其物料主数据或销售数据有变更时,我们可 ...

  8. PP生产订单成本的计划、控制和结算

    SAP系统成本分析功能关注订单的成本,通过对计划成本和实际成本的比较分析,可以发现成本控制上的问题,以便及时解决问题.1.订单成本计划在基础数据齐全的基础上,系统可以自动滚算生产订单的成本.生产订单计 ...

  9. S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析

    题目这个增强的输入参数很恐怖,长长的一串: CALL BADI l_badi->BEFORE_UPDATE EXPORTING IT_PIINSTRUCTIONVALUE = IT_PIINST ...

  10. 增强篇4 CO01生产订单屏幕增强

    Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD  使用客户增强:PPCO0012    生产订 ...

随机推荐

  1. C语言中的malloc、new、memset函数解析

    1. malloc 在window下,malloc的函数原型: extern void *malloc(unsigned int num_bytes); 头文件: #include<malloc ...

  2. 使用PHP自带的过滤验证函数:Filter

    在PHP开发中,大家经常会对提交的表单数据做合法性验证,比如验证Email/IP/URL,大家首先想到的应该是使用正则验证.其实在PHP中已经内置了一个过滤验证函数Filter,大家可以参考一下. P ...

  3. Svelte

    Svelte Svelte 简介 在最新的<State of JS survey of 2020>中,它被预测为未来十年可能取代React和Vue等其他框架的新兴技术.如果你不确定自己是否 ...

  4. 【SSO单点系列】(8):CAS4.0 之整合CMS

    一.描术 CMS 是采用shiro来认证的: 过程 1.调用 login.do  get方式 来打开登录页面 2.录入用户名密码后调用/login.do的post来提交 并且只能是post提交 Jar ...

  5. Ping命令的基本使用

    一.Ping命令的基本使用 在网络中 ping 是一个十分强大的 TCP/IP 工具.我们通常会用它来直接 ping ip 地址,来测试网络的连通情况.它的作用主要为: 1.用来检测网络的连通情况和分 ...

  6. vue将地区以对象、数组的格式传给后端

    项目涉及到了一个地区筛选,同时省市区三级不进行关联,后端要求以对象包数组的格式传参,完整代码 1.先拿到接口返回的地区数据 对数据进行处理,拿到想要的格式 this.provinceOption =r ...

  7. LNK2038: 检测到“RuntimeLibrary”的不匹配项

    VS编译找到几十个这样的报错,是因为引用的库是Release版本,编译也是这个版本但C语言标准却用的是默认旧版,需要改为2018标准,并且Release版本对应运行库 多线程DLL(/MD),再次编译 ...

  8. lua 文件读写处理(操作敏感词库)

    最近需要给游戏做一个敏感词新系统,我采用的方法是比较常用的DFA(确定有穷状态机)算 法,先不讲算法,而这种算法的实现需要一个相应的敏感词库. 我拿到了词库后发现词库中大概有8000+个词,其中包括很 ...

  9. 使用layui实现分页展示数据库的数据

    layui是一个前端 UI 框架,内置了js代码,所以我们可以直接使用内置的分页 首先要用到layui的官网手册https://www.layui.com/ 1.进入手册页面的 "示例&qu ...

  10. vue相关组件用法

    <el-checkbox v-model="checkbox.checkModel" :label="index":disabled="chec ...