ABAP 创建及修改采购申请
创建采购申请: BAPI_PR_CREATE
修改采购申请:BAPI_PR_CHANGE
审批采购申请:BAPI_REQUISITION_RELEASE (按行)
取消审批采购申请:BAPI_REQUISITION_RESET_RELEASE(按行)
创建示例代码如下:
DATA: LT_TEMP TYPE STANDARD TABLE OF TY_DATA,LS_TEMP TYPE TY_DATA.DATA: LV_FLAG TYPE CHAR01.DATA: LS_PRHEADER TYPE BAPIMEREQHEADER,LS_PRHEADERX TYPE BAPIMEREQHEADERX,LT_PRITEM TYPE TABLE OF BAPIMEREQITEMIMP,LS_PRITEM TYPE BAPIMEREQITEMIMP,LT_PRITEMX TYPE TABLE OF BAPIMEREQITEMX,LS_PRITEMX TYPE BAPIMEREQITEMX,LT_PRACCOUNT TYPE TABLE OF BAPIMEREQACCOUNT,LS_PRACCOUNT TYPE BAPIMEREQACCOUNT,LT_PRACCOUNTX TYPE TABLE OF BAPIMEREQACCOUNTX,LS_PRACCOUNTX TYPE BAPIMEREQACCOUNTX,LT_HEADERTEXT TYPE TABLE OF BAPIMEREQHEADTEXT,LS_HEADERTEXT TYPE BAPIMEREQHEADTEXT,LT_EXTENSIONIN TYPE TABLE OF BAPIPAREX,LS_EXTENSIONIN TYPE BAPIPAREX,LT_REQUISITION_ACCOUNT TYPE TABLE OF BAPIEBKN,LS_REQUISITION_ACCOUNT TYPE BAPIEBKN,LS_BAPI_TE_MEREQITEM TYPE BAPI_TE_MEREQITEM,LS_BAPI_TE_MEREQITEMX TYPE BAPI_TE_MEREQITEMX.DATA: LT_PRCOMPONENTS TYPE STANDARD TABLE OF BAPIMEREQCOMPONENT.DATA: LS_PRCOMPONENTS TYPE BAPIMEREQCOMPONENT.DATA: LT_PRCOMPONENTSX TYPE STANDARD TABLE OF BAPIMEREQCOMPONENTX.DATA: LS_PRCOMPONENTSX TYPE BAPIMEREQCOMPONENTX.DATA: LV_BANFN TYPE BANFN,LV_MESSAGE TYPE STRING,LV_BNFPO TYPE BNFPO,LT_RETURN TYPE TABLE OF BAPIRET2,LS_RETURN TYPE BAPIRET2.DATA: LS_COMPONENTS TYPE TY_COMPONENTS.DATA: LS_EBKN TYPE TY_EBKN.DATA: LV_SERIAL_NO TYPE DZEKKN.LT_TEMP = GT_DATA.DELETE LT_TEMP WHERE BOX IS INITIAL.DELETE LT_TEMP WHERE BANFN IS NOT INITIAL.SORT LT_TEMP BY BSART AFNAM.DELETE ADJACENT DUPLICATES FROM LT_TEMP COMPARING BSART AFNAM .LOOP AT LT_TEMP INTO LS_TEMP WHERE BOX IS NOT INITIAL.CLEAR: LV_BANFN,LV_MESSAGE,LV_BNFPO,LT_RETURN,LS_RETURN,LS_PRHEADER,LS_PRHEADERX,LT_PRITEM,LT_PRITEMX,LT_PRACCOUNT,LT_PRACCOUNTX,LS_PRITEM,LS_PRITEMX,LS_PRACCOUNT,LS_PRACCOUNTX,LT_PRCOMPONENTS,LS_PRCOMPONENTS,LT_PRCOMPONENTSX,LS_PRCOMPONENTSX.LS_PRHEADER-PR_TYPE = LS_TEMP-BSART. "采购申请类型LS_PRHEADERX-PR_TYPE = 'X'. "采购申请类型标识LOOP AT GT_DATA INTO GS_DATA WHERE BSART = LS_TEMP-BSART AND AFNAM = LS_TEMP-AFNAM AND BOX IS NOT INITIAL AND BANFN IS INITIAL .CLEAR:LS_PRITEM.LV_BNFPO = LV_BNFPO + 10.GS_DATA-BNFPO = LV_BNFPO.LS_PRITEM-PREQ_ITEM = LV_BNFPO. "行号LS_PRITEM-MATERIAL = GS_DATA-MATNR. "物料号LS_PRITEM-SHORT_TEXT = GS_DATA-TXZ01. "短文本LS_PRITEM-PLANT = GS_DATA-WERKS. "工厂LS_PRITEM-PUR_GROUP = 'WS1'. "采购组织LS_PRITEM-QUANTITY = GS_DATA-MENGE. "申请数量LS_PRITEM-UNIT = GS_DATA-MEINS. "单位LS_PRITEM-MATL_GROUP = GS_DATA-MATKL. "物料组LS_PRITEM-DELIV_DATE = GS_DATA-LFDAT. "交货日期LS_PRITEM-PREQ_NAME = GS_DATA-AFNAM. "申请人LS_PRITEM-PREQ_PRICE = GS_DATA-PREIS. "评估价格LS_PRITEM-CURRENCY = GS_DATA-WAERS. "货币LS_PRITEM-ACCTASSCAT = GS_DATA-KNTTP. "科目分配类别LS_PRITEM-ITEM_CAT = GS_DATA-PSTYP. "项目类别LS_PRITEM-TRACKINGNO = GS_DATA-BEDNR. "需求跟踪号"K类别的采购IF GS_DATA-KOSTL IS NOT INITIAL AND GS_DATA-BSART = 'Z002'.LS_PRACCOUNT-PREQ_ITEM = LV_BNFPO. "采购申请行项目LS_PRACCOUNT-SERIAL_NO = '01'.LS_PRACCOUNT-QUANTITY = GS_DATA-MENGE. "申请数量LS_PRACCOUNT-COSTCENTER = GS_DATA-KOSTL .LS_PRACCOUNT-CO_AREA = GS_DATA-KOKRS .LS_PRACCOUNT-GL_ACCOUNT = GS_DATA-SAKTO.APPEND LS_PRACCOUNT TO LT_PRACCOUNT.LS_PRACCOUNTX-PREQ_ITEM = LV_BNFPO. "采购申请行项目LS_PRACCOUNTX-SERIAL_NO = '01'.LS_PRACCOUNTX-QUANTITY = 'X'. "申请数量LS_PRACCOUNTX-COSTCENTER = 'X'.LS_PRACCOUNTX-CO_AREA = 'X'."LS_PRACCOUNTX-ASSET_NO = 'X'.LS_PRACCOUNTX-GL_ACCOUNT = 'X'.APPEND LS_PRACCOUNTX TO LT_PRACCOUNTX.ENDIF.IF GS_DATA-BSART = 'Z004'.CLEAR:LV_SERIAL_NO.LOOP AT GS_DATA-EBKN INTO LS_EBKN.LV_SERIAL_NO = LV_SERIAL_NO + 1.LS_PRACCOUNT-PREQ_ITEM = LV_BNFPO. "采购申请行项目LS_PRACCOUNT-SERIAL_NO = LV_SERIAL_NO.LS_PRACCOUNT-QUANTITY = LS_EBKN-MENGE. "申请数量LS_PRACCOUNT-COSTCENTER = GS_DATA-KOSTL .LS_PRACCOUNT-CO_AREA = GS_DATA-KOKRS .LS_PRACCOUNT-GL_ACCOUNT = LS_EBKN-SAKTO.LS_PRACCOUNT-ASSET_NO = LS_EBKN-ANLN1 .APPEND LS_PRACCOUNT TO LT_PRACCOUNT.LS_PRACCOUNTX-PREQ_ITEM = LV_BNFPO. "采购申请行项目LS_PRACCOUNTX-SERIAL_NO = LV_SERIAL_NO.LS_PRACCOUNTX-QUANTITY = 'X'. "申请数量LS_PRACCOUNTX-COSTCENTER = 'X'.LS_PRACCOUNTX-CO_AREA = 'X'.LS_PRACCOUNTX-ASSET_NO = 'X'.LS_PRACCOUNTX-GL_ACCOUNT = 'X'.APPEND LS_PRACCOUNTX TO LT_PRACCOUNTX.ENDLOOP.ENDIF.LS_PRITEMX-PREQ_ITEM = LV_BNFPO.LS_PRITEMX-PREQ_ITEMX = 'X'.LS_PRITEMX-MATERIAL = 'X'.LS_PRITEMX-SHORT_TEXT = 'X'.LS_PRITEMX-PLANT = 'X'.LS_PRITEMX-MATL_GROUP = 'X'.LS_PRITEMX-PUR_GROUP = 'X'.LS_PRITEMX-QUANTITY = 'X'.LS_PRITEMX-UNIT = 'X'.LS_PRITEMX-DELIV_DATE = 'X'.LS_PRITEMX-PREQ_NAME = 'X'.LS_PRITEMX-PREQ_PRICE = 'X'.LS_PRITEMX-CURRENCY = 'X'.LS_PRITEMX-ACCTASSCAT = 'X'.LS_PRITEMX-ITEM_CAT = 'X'.LS_PRITEMX-TRACKINGNO = 'X'.APPEND LS_PRITEM TO LT_PRITEM.APPEND LS_PRITEMX TO LT_PRITEMX."带bom的采购申请IF GS_DATA-BSART = 'Z003'.LOOP AT GS_DATA-COMPONENTS INTO LS_COMPONENTS.CLEAR:LS_PRCOMPONENTS,LS_PRCOMPONENTSX.LS_PRCOMPONENTS-PREQ_ITEM = LV_BNFPO.LS_PRCOMPONENTS-ITEM_NO = LS_COMPONENTS-RSPOS.LS_PRCOMPONENTS-MATERIAL = LS_COMPONENTS-MATNR.LS_PRCOMPONENTS-ENTRY_QUANTITY = LS_COMPONENTS-BDMNG.LS_PRCOMPONENTS-ENTRY_UOM = LS_COMPONENTS-MEINS.LS_PRCOMPONENTS-PLANT = GS_DATA-WERKS.LS_PRCOMPONENTS-CHANGE_ID = 'I'.LS_PRCOMPONENTS-ITEM_CAT = GS_DATA-PSTYP. "项目类别APPEND LS_PRCOMPONENTS TO LT_PRCOMPONENTS.LS_PRCOMPONENTSX-PREQ_ITEM = LV_BNFPO.LS_PRCOMPONENTSX-ITEM_NO = LS_COMPONENTS-RSPOS.LS_PRCOMPONENTSX-MATERIAL = 'X'.LS_PRCOMPONENTSX-ENTRY_QUANTITY = 'X'.LS_PRCOMPONENTSX-ENTRY_UOM = 'X'.LS_PRCOMPONENTSX-PLANT = 'X'.LS_PRCOMPONENTSX-CHANGE_ID = 'X'.LS_PRCOMPONENTSX-ITEM_CAT = 'X'.APPEND LS_PRCOMPONENTSX TO LT_PRCOMPONENTSX.ENDLOOP.ENDIF.MODIFY GT_DATA FROM GS_DATA.ENDLOOP."调用BAPI创建采购申请CALL FUNCTION 'BAPI_PR_CREATE'EXPORTINGPRHEADER = LS_PRHEADERPRHEADERX = LS_PRHEADERX
* TESTRUN = TESTRUNIMPORTINGNUMBER = LV_BANFNTABLESRETURN = LT_RETURNPRITEM = LT_PRITEMPRITEMX = LT_PRITEMXPRACCOUNT = LT_PRACCOUNTPRACCOUNTX = LT_PRACCOUNTXPRCOMPONENTS = LT_PRCOMPONENTSPRCOMPONENTSX = LT_PRCOMPONENTSXPRHEADERTEXT = LT_HEADERTEXTEXTENSIONIN = LT_EXTENSIONIN.LOOP AT LT_RETURN INTO LS_RETURN WHERE TYPE CA 'AEX'.LV_MESSAGE = LV_MESSAGE && LS_RETURN-MESSAGE.ENDLOOP.IF LV_MESSAGE IS NOT INITIAL .CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.LOOP AT GT_DATA INTO GS_DATA WHERE BSART = LS_TEMP-BSART AND AFNAM = LS_TEMP-AFNAM AND BOX IS NOT INITIAL AND BANFN IS INITIAL ..GS_DATA-MSG = LV_MESSAGE.GS_DATA-ICON = ICON_LED_RED.MODIFY GT_DATA FROM GS_DATA.ENDLOOP.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT = 'X'.LOOP AT GT_DATA INTO GS_DATA WHERE BSART = LS_TEMP-BSART AND AFNAM = LS_TEMP-AFNAM AND BOX IS NOT INITIAL AND BANFN IS INITIAL .CLEAR:GS_DATA-EDIT,GS_DATA-MSG.GS_DATA-BANFN = LV_BANFN.GS_DATA-ICON = ICON_LED_GREEN.MODIFY GT_DATA FROM GS_DATA.ENDLOOP.ENDIF.ENDLOOP.
ABAP 创建及修改采购申请相关推荐
- ABAP BAPI:BAPI_PR_CHANGE批量修改采购申请审批状态等
更改PR:BAPI_PR_CHANGE 审批 BAPI_REQUISITION_RELEASE 取消审批 BAPI_REQUISITION_RESET_RELEASE 获取审批策略,审批组 IF lt ...
- SAP中使用BDC创建或修改采购信息记录
工作中的需求是这样子的: 在某天,我们公司的采购提了一个需求,说是在从OA创建采购信息记录的时候,价格上限应该自动默认为是价格字段,但是这个在系统里面没有做,采购在创建玩之后需要一个个手工去修改,因此 ...
- SAP ABAP 计划订单转采购申请 MD14
用户觉得通过MD14一个一个把计划订单转采购申请太麻烦,MD15 虽然可以批量,但是也需要一个一个确认. 当业务顾问无法说服用户检查走标准功能的时候,压力就给到了技术. 经过研究,函数 MD_PLAN ...
- ABAP 创建、修改、删除内部交货单(VL31N/VL32N)
一.干货 VL31N创建的BAPI: 1.GN_DELIVERY_CREATE 通用交货单使用的bapi,推荐使用 2.BAPI_DELIVERYPROCESSING_EXEC 简单,但是字段比较少 ...
- CO40/CO41转生产订单下达时不能创建采购申请
一.配置 CO01创建生产订单,创建时生成采购申请,改为下达时创建采购申请.通过配置,将预留/采购申请 更改为2即可. 但是CO41和CO40通过配置,并不能达到更改预留/采购申请 为2. 二.调试源 ...
- ME51N 创建采购申请
1业务说明 当寻源后,将寻源结果汇总,并创建采购申请,之后据此创建采购订单. 此文档使用BAPI:BAPI_REQUISITION_CREATE创建采购申请 2前台实现 事务代码:ME51N 3代码实 ...
- SAP实施项目中采购员在非生产性采购申请审批流中的角色安排
SAP实施项目中采购员在非生产性采购申请审批流中的角色安排 所谓非生产性物料,也叫间接物料,也有些企业称之为MRO物料.它主要包括而不限于如下物料:办公用品,劳保用品,备品备件,服务,固定资产等等.这 ...
- SAP MM 采购申请中的物料组字段改成Optional
SAP MM 采购申请中的物料组字段改成Optional? 众所周知,标准SAP系统里,ME51N创建采购申请界面里,物料组字段是必输字段.对于有物料号的采购申请,物料组信息从物料主数据里带过来,不用 ...
- 采购申请 RFC BAPI
1.1 创建采购申请 新版本: CALL FUNCTION 'BAPI_PR_CREATE' EXPORTING PRHEADER = IS_PRHEADER ...
最新文章
- pandas使用stack函数、map函数、unstack函数以及字典同时替换dataframe多个数据列的内容
- 用AI创造AI,人工智能无代码时代来临
- google的api key调用次数是多少_Sprint Boot如何基于Redis发布订阅实现异步消息系统的同步调用?...
- 前端学习(2585):前端怎么在响应头和请求头里面拿数据?
- 不确定屏幕大小的弹窗垂直居中(用了box方法)
- Oracle plsql 打包
- SQL Server 插入数据报IDENTITY_INSERT设置为off
- [ NOIP 1998 ] TG
- leecode-12整数转化为罗马数字C版
- 回忆——我对方向的选择
- python 二维矩阵画三维图_python 二维矩阵转三维矩阵示例
- Java视频教程下载地址汇总
- Dataway接口配置服务,去掉后台,从此告别Controller、Service、Mapping
- WinCE 5.0下的鼠标键盘驱动分析
- 本特利330500-02-00压电速度传感器
- 开源棋牌游戏_开源棋盘游戏如何拯救地球
- 23 种设计模式的分类 - Design Patterns
- 厦大计算机学硕考研难度,一个班半数考研 厦大录取仅两成 读研是鸡肋还是围城...
- react 页面跳转(下一页,返回上一页)
- android切图规范命名,ui设计师的切图与命名规范