增、改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN
转载留存
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的更多相关文章
- PP篇11 增、改生产订单组件BAPI
增.改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN USE BAPI_ALM_ORDER_MAINTAIN TO CREATE OR CHANGE PM WORK ORDER ...
- SAP S/4HANA生产订单的BAdI增强点之Initialize方法
在S/4HANA里创建生产订单时,有一个增强点WORKORDER_UPDATE: 这个CAUFVDB里存放的是生产订单抬头级别的数据: 我们来观察下运行时这个结构里存放的数据. 请大家用我github ...
- 【ABAP系列】SAP 生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 生产订单完工确认(CO1 ...
- SAP PP 生产订单变更记录保存
*&---------------------------------------------------------------------* *& 包括 ZXCO1U01 *&am ...
- PP生产订单创建、下达、报工、收货、投料
转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...
- ABAP 生产订单的创建与修改函数
ABAP 生产订单的创建与修改函数转自http://www.cnblogs.com/aBaoRong/archive/2012/04/11/2441946.html 如果生产订单过多,可以批量创建 ...
- SAP 生产订单变更管理 OCM Order Changement Management
SAP OCM Order Changement Management 一.目的 订单变更管理系统是当我们的订单(生产订单.计划订单.采购订单)已经存在的时候,其物料主数据或销售数据有变更时,我们可 ...
- PP生产订单成本的计划、控制和结算
SAP系统成本分析功能关注订单的成本,通过对计划成本和实际成本的比较分析,可以发现成本控制上的问题,以便及时解决问题.1.订单成本计划在基础数据齐全的基础上,系统可以自动滚算生产订单的成本.生产订单计 ...
- S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
题目这个增强的输入参数很恐怖,长长的一串: CALL BADI l_badi->BEFORE_UPDATE EXPORTING IT_PIINSTRUCTIONVALUE = IT_PIINST ...
- 增强篇4 CO01生产订单屏幕增强
Step1. 结构 CO_AUFK 里增加自定义字段:ZZZ_TRIAL 然后激活结构 查看AUFK是激活状态, 字段增强完成: Step2. CMOD 使用客户增强:PPCO0012 生产订 ...
随机推荐
- 2023 年 CCF 春季测试赛模拟赛 - 2
T1 分治,\(a^b + \dots + 1 = (a^{\lfloor\frac{b}{2}\rfloor} + \dots + 1) \times (a^{\lfloor\frac{b}{2}\ ...
- go项目,出现too many open files
刚开始碰到这种异常,以为是代码写的有问题,准备抽时间去改,等有时间正式此问题的时候,发现这种问题一般只会在linux系统上出现,原因如下:linux系统限制了文件打开的最大文件句柄数,系统默认一般是1 ...
- vscode代码片段
{ "Print to console": { "prefix": "vue2", "body& ...
- python之利用logging模块封装python日志类
利用python自带的logging模块封装一个日志类,便于单元测试时调用该模块打印日志 说明: 日志,即记录程序在运行过程中的操作记录和出现的问题 日志调试信息分类等级,由低到高分别为:DEBUG ...
- LESS-8
根据题目,这是一道布尔型注入.页面只有返回正常和不正常两种. payload: ' and substr(database(),1,1)='s' --+ 判断当前数据库名的第一个字母,是's'页面就 ...
- ubuntu配置phpmyadmin
之前已经把LNMP环境搭建好了 安装: sudo apt-get install phpmyadmin 安装必要依赖 sudo apt-get install php-mbstring sudo ap ...
- PK获取面积
BOOL PK_AskFaceAreas(tag_t face_tag, double tol, double &areas) {//获得面积 tag_t ps_tag = NULL_TAG; ...
- 传统编码方式转 gRPC 注意事项
# 赋值编码: 1.pbBuilder 设置值时不能为 null 2.pb 定义的类是不可变类,赋值时需要使用 Builder 模式,且每次 builder 都会 new 一个新对象,所以赋值时需要特 ...
- es实现规格动态域生成
1.就是把sepc的可以提取出来作为一个域(sepc是一个规格参数) 封装搜索条件(跟jdbc流程一样) @requestparam( required = false) 的作用? 不传值后台也不 ...
- FastJson JdbcRowSetImpl
Java安全之FastJson JdbcRowSetImpl 链分析 利用限制 RMI利用的JDK版本≤ JDK 6u132.7u122.8u113 LADP利用JDK版本≤ 6u211 .7u201 ...