修改合同号的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,并以超链接形式标明文章原始出处,否则将 ...
随机推荐
- BZOJ 2631: tree( LCT )
LCT...略麻烦... -------------------------------------------------------------------------------- #inclu ...
- Codeforces 482 - Diverse Permutation 构造题
这是一道蛮基础的构造题. - k +(k - 1) -(k - 2) 1 + k , 1 , k , 2, ....... ...
- td
http://jameswxx.iteye.com/blog/1041173 http://crane-ding.iteye.com/blog/968862 http://www.ibm.com/de ...
- 基于visual Studio2013解决C语言竞赛题之0505选数
题目
- Android之Camera控制拍照
package com.android.xiong.cameratest; import java.io.File; import java.io.FileOutputStream; import j ...
- 判断程序是否在VMWare内运行
现在有许多用户都喜欢用虚拟机来测试他们的软件,以避免对真实机器环境造成损害.但是在虚拟机中,有些功能是受限,甚至不可能完成的,因此,需要在程序中判断虚拟机的环境,如果程序在虚拟机内运行,则就要把虚拟机 ...
- 在OpenShift平台开发Node.js程序
设置process.env方便本地调试 --------------------- 修改~/.profile,增加下面两行,然后执行`. ~/.profile`: export OPENSHIFT_N ...
- cocos2d-x游戏开发系列教程-中国象棋06-游戏规则
前情回顾 上一个博文我们提到象棋运动的函数dealWithChess,但是只是说该函数完成了棋子的选择和移动功能 其实在这个函数里,在移动棋子之前,是要对棋子的移动是否合法进行判断的,我们一起来看看如 ...
- STM32启动模式
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash.2)SRAM = 芯片内置的RAM区,就是内存啦.3)系统存储器 = 芯片内部一块特定的区域,芯片 ...
- C#由变量捕获引起对闭包
C#由变量捕获引起对闭包的思考 前言 偶尔翻翻书籍看看原理性的东西确实有点枯燥,之前有看到园中有位园友说到3-6年工作经验的人应该了解的.NET知识,其中就有一点是关于C#中的闭包,其实早之前在看 ...