修改合同号的bapi
这个例子是在合同号中新增项目号:
1、先要读取该合同号的信息用一个BAPI
BAPI_CONTRACT_GETDETAIL
2、调用修改合同号的BAPI。
代码如下:
REPORT ztest_class.
DATA: lv_docnumber TYPE bapimeoutheader-number,
lt_item_condition TYPE TABLE OF bapimeoutcondition,
lt_item_conditionc TYPE TABLE OF bapimeoutcondition,
ls_item_condition TYPE bapimeoutcondition,
ls_item_conditionc TYPE bapimeoutcondition. DATA: lt_cond_validity TYPE TABLE OF bapimeoutvalidity,
lt_cond_validityc TYPE TABLE OF bapimeoutvalidity,
ls_cond_validity TYPE bapimeoutvalidity. DATA: lt_cond_validityx TYPE TABLE OF bapimeoutvalidityx,
ls_cond_validityx TYPE bapimeoutvalidityx. DATA: lt_item_conditionx TYPE TABLE OF bapimeoutconditionx,
ls_item_conditionx TYPE bapimeoutconditionx. DATA: lt_ctr_item TYPE TABLE OF bapimeoutitem,
lt_ctr_itemc TYPE TABLE OF bapimeoutitem,
ls_ctr_item TYPE bapimeoutitem. DATA: lt_ctr_itemx TYPE TABLE OF bapimeoutitemx,
ls_ctr_itemx TYPE bapimeoutitemx. DATA: lt_returnt TYPE TABLE OF bapiret2,
ls_returnt TYPE bapiret2. *DATA: ls_upload LIKE LINE OF gt_upload. DATA: lv_has_error TYPE xfeld. CALL FUNCTION 'BAPI_CONTRACT_GETDETAIL'
EXPORTING
purchasingdocument = lv_docnumber
item_data = 'X'
* ACCOUNT_DATA = ' '
condition_data = 'X'
* TEXT_DATA = ' '
* PARTNER_DATA = ' '
* RELEASE_DATA = ' '
* IMPORTING
* HEADER =
TABLES
item = lt_ctr_item
* ACCOUNT =
* DELIVERY_ADDRESS =
item_cond_validity = lt_cond_validity
item_condition = lt_item_condition
* ITEM_COND_SCALE_VALUE =
* ITEM_COND_SCALE_QUAN =
* ITEM_TEXT =
* HEADER_TEXT =
* HEAD_COND_VALIDITY =
* HEAD_CONDITION =
* HEAD_COND_SCALE_VAL =
* HEAD_COND_SCALE_QUAN =
* PARTNER =
* RELEASE_DOCU =
* EXTENSIONOUT =
* RETURN =
. " 设置要更新的字段
" 行项目
LOOP AT lt_ctr_item INTO ls_ctr_item.
APPEND ls_ctr_item TO lt_ctr_itemc. CLEAR ls_ctr_itemx.
ls_ctr_itemx-item_no = ls_ctr_item-item_no.
APPEND ls_ctr_itemx TO lt_ctr_itemx. CLEAR ls_ctr_item.
ENDLOOP. " 条件日期
LOOP AT lt_cond_validity INTO ls_cond_validity.
APPEND ls_cond_validity TO lt_cond_validityc. CLEAR ls_cond_validityx.
ls_cond_validityx-item_no = ls_cond_validity-item_no.
ls_cond_validityx-serial_id = ls_cond_validity-serial_id.
APPEND ls_cond_validityx TO lt_cond_validityx. CLEAR ls_cond_validity.
ENDLOOP. " 项目条件
LOOP AT lt_item_condition INTO ls_item_condition. CLEAR ls_item_conditionc.
MOVE-CORRESPONDING ls_item_condition TO ls_item_conditionc. CLEAR ls_item_conditionx.
ls_item_conditionx-item_no = ls_item_condition-item_no.
ls_item_conditionx-serial_id = ls_item_condition-serial_id.
ls_item_conditionx-cond_count = ls_item_condition-cond_count. * IF ls_item_condition-cond_type EQ 'PB00' AND ls_item_condition-deletion_ind EQ ''.
* READ TABLE gt_upload INTO ls_upload
* WITH KEY ebelp = ls_item_condition-item_no.
* IF sy-subrc EQ 0 AND ls_item_condition-cond_unit NE ls_upload-bprme.
* ls_item_conditionc-cond_unit = ls_upload-bprme.
* ls_item_conditionc-change_id = 'U'.
*
* ls_item_conditionx-cond_unit = 'X'.
* ENDIF.
* ENDIF.
ls_item_conditionc-change_id = 'I'.
APPEND ls_item_conditionc TO lt_item_conditionc.
ls_item_conditionx-cond_unit = 'X'.
APPEND ls_item_conditionx TO lt_item_conditionx. CLEAR ls_item_condition.
ENDLOOP. " 修改合同
CALL FUNCTION 'BAPI_CONTRACT_CHANGE'
EXPORTING
purchasingdocument = lv_docnumber
* HEADER =
* HEADERX =
* VENDOR_ADDRESS =
* TESTRUN =
* TECHNICAL_DATA =
* IMPORTING
* EXP_HEADER =
TABLES
item = lt_ctr_itemc
itemx = lt_ctr_itemx
* ACCOUNT =
* ACCOUNTPROFITSEGMENT =
* ACCOUNTX =
* DELIVERY_ADDRESS =
item_cond_validity = lt_cond_validityc
item_cond_validityx = lt_cond_validityx
item_condition = lt_item_conditionc
item_conditionx = lt_item_conditionx
* ITEM_COND_SCALE_VALUE =
* ITEM_COND_SCALE_QUAN =
* ITEM_TEXT =
* HEADER_TEXT =
* HEAD_COND_VALIDITY =
* HEAD_COND_VALIDITYX =
* HEAD_CONDITION =
* HEAD_CONDITIONX =
* HEAD_COND_SCALE_VAL =
* HEAD_COND_SCALE_QUAN =
* PARTNER =
* PARTNERX =
* RELEASE_DOCU =
* EXTENSIONIN =
* EXTENSIONOUT =
return = lt_returnt
. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = ls_returnt.
修改合同号的bapi的更多相关文章
- abap 常用 function
ABAP常用函数总结 alv .smartform. excel .text.邮件 .远程访问,FTP服务器... **********常用功能function REUSE_ALV_GRID_DI ...
- 使用BAPI批量修改采购信息记录的税率
业务方面提出需求:由于国家税率从5月份开始16%更改为13%.要求开发一个批量修改采购信息记录税率的功能. 税代码就是税率,J2代表13% 这个需求在ME13里面就可以单个修改,所以可以用BDC,但后 ...
- 【ABAP系列】SAP VA02修改销售订单的BAPI举例
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP VA02修改销售订单的B ...
- 如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段
假设我想修改S/4HANA里Sales Order抬头的Service Date字段SERV_DATE: 首先从数据库表VBKD里查找到SERV_DATE修改之前的值为2020年1月1日 使用如下代码 ...
- BAPI
MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...
- SAP 各模块常用的BAPI
MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...
- ABAP 生产订单的创建与修改函数
ABAP 生产订单的创建与修改函数转自http://www.cnblogs.com/aBaoRong/archive/2012/04/11/2441946.html 如果生产订单过多,可以批量创建 ...
- 业务对象和BAPI
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- [SAP ABAP开发技术总结]BAPI调用
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
随机推荐
- c++,纯虚函数与抽象类
1.纯虚函数的定义: (1)虚函数被“初始化”为0的函数.声明纯虚函数的一般形式是virtual 函数类型 函数名(参数表列) =0;(2)纯虚函数没有函数体:(3)最后面的“=0”并不表示函数返回值 ...
- BZOJ 2157: 旅游( 树链剖分 )
树链剖分.. 样例太大了根本没法调...顺便把数据生成器放上来 -------------------------------------------------------------------- ...
- 我的Python成长之路---第三天---Python基础(11)---2016年1月16日(雾霾)
三.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝以及深拷贝 讨论深浅拷贝之前我们把Python的数据类型分为基本数据类型包括数字.字符串.布尔以及None等,还有 ...
- Google Map Android api V2 中使用MapView遇到CameraUpdateFactory is not initialized!的解决办法
先说一下 Map V2 API Key 的问题吧: 在打包APP时需要自己生成一个XXX.keystore 用这个密室库生成的SHA1去申请的key 作为AndroidManifest.xml 中的K ...
- Dreamer2.1 发布 新增将Bean解析成xml和json
一个上午,增加两个功能 1.直接将对象解析成XML 2.将对象解析成JSON 对象可以是数组,可以是集合,也可以是单个对象 源码和jar下载地址:http://pan.baidu.com/share/ ...
- Sqlite ContentProvider Loader 上下文 对话框
一.整体工程图 二.activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/re ...
- 用shell脚本爬取网页信息
有个小需求,就是爬取一个小网站一些网页里的某些信息,url是带序号的类似的,不需要写真正的spider,网页内容也是差不多的 需要取出网页中<h1></h1>中间的字符串,而且 ...
- 以xml的方式实现动画
1.java代码 package com.example.tweenanim; import android.os.Bundle; import android.app.Activity; impor ...
- structure and interpretation of Computer programs -- Foreword
Foreword 前言 Educators, generals, dieticians, psychologists, and parents program. Armies, students ...
- Introduction to the Build Lifecycle
Introduction to the Build Lifecycle Table Of Contents Build Lifecycle Basics Setting Up Your Project ...