创建采购申请: 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 创建及修改采购申请相关推荐

  1. ABAP BAPI:BAPI_PR_CHANGE批量修改采购申请审批状态等

    更改PR:BAPI_PR_CHANGE 审批 BAPI_REQUISITION_RELEASE 取消审批 BAPI_REQUISITION_RESET_RELEASE 获取审批策略,审批组 IF lt ...

  2. SAP中使用BDC创建或修改采购信息记录

    工作中的需求是这样子的: 在某天,我们公司的采购提了一个需求,说是在从OA创建采购信息记录的时候,价格上限应该自动默认为是价格字段,但是这个在系统里面没有做,采购在创建玩之后需要一个个手工去修改,因此 ...

  3. SAP ABAP 计划订单转采购申请 MD14

    用户觉得通过MD14一个一个把计划订单转采购申请太麻烦,MD15 虽然可以批量,但是也需要一个一个确认. 当业务顾问无法说服用户检查走标准功能的时候,压力就给到了技术. 经过研究,函数 MD_PLAN ...

  4. ABAP 创建、修改、删除内部交货单(VL31N/VL32N)

    一.干货 VL31N创建的BAPI: 1.GN_DELIVERY_CREATE 通用交货单使用的bapi,推荐使用 2.BAPI_DELIVERYPROCESSING_EXEC 简单,但是字段比较少 ...

  5. CO40/CO41转生产订单下达时不能创建采购申请

    一.配置 CO01创建生产订单,创建时生成采购申请,改为下达时创建采购申请.通过配置,将预留/采购申请 更改为2即可. 但是CO41和CO40通过配置,并不能达到更改预留/采购申请 为2. 二.调试源 ...

  6. ME51N 创建采购申请

    1业务说明 当寻源后,将寻源结果汇总,并创建采购申请,之后据此创建采购订单. 此文档使用BAPI:BAPI_REQUISITION_CREATE创建采购申请 2前台实现 事务代码:ME51N 3代码实 ...

  7. SAP实施项目中采购员在非生产性采购申请审批流中的角色安排

    SAP实施项目中采购员在非生产性采购申请审批流中的角色安排 所谓非生产性物料,也叫间接物料,也有些企业称之为MRO物料.它主要包括而不限于如下物料:办公用品,劳保用品,备品备件,服务,固定资产等等.这 ...

  8. SAP MM 采购申请中的物料组字段改成Optional

    SAP MM 采购申请中的物料组字段改成Optional? 众所周知,标准SAP系统里,ME51N创建采购申请界面里,物料组字段是必输字段.对于有物料号的采购申请,物料组信息从物料主数据里带过来,不用 ...

  9. 采购申请 RFC BAPI

    1.1 创建采购申请 新版本: CALL FUNCTION 'BAPI_PR_CREATE'       EXPORTING         PRHEADER  = IS_PRHEADER       ...

最新文章

  1. pandas使用stack函数、map函数、unstack函数以及字典同时替换dataframe多个数据列的内容
  2. 用AI创造AI,人工智能无代码时代来临
  3. google的api key调用次数是多少_Sprint Boot如何基于Redis发布订阅实现异步消息系统的同步调用?...
  4. 前端学习(2585):前端怎么在响应头和请求头里面拿数据?
  5. 不确定屏幕大小的弹窗垂直居中(用了box方法)
  6. Oracle plsql 打包
  7. SQL Server 插入数据报IDENTITY_INSERT设置为off
  8. [ NOIP 1998 ] TG
  9. leecode-12整数转化为罗马数字C版
  10. 回忆——我对方向的选择
  11. python 二维矩阵画三维图_python 二维矩阵转三维矩阵示例
  12. Java视频教程下载地址汇总
  13. Dataway接口配置服务,去掉后台,从此告别Controller、Service、Mapping
  14. WinCE 5.0下的鼠标键盘驱动分析
  15. 本特利330500-02-00压电速度传感器
  16. 开源棋牌游戏_开源棋盘游戏如何拯救地球
  17. 23 种设计模式的分类 - Design Patterns
  18. 厦大计算机学硕考研难度,一个班半数考研 厦大录取仅两成 读研是鸡肋还是围城...
  19. react 页面跳转(下一页,返回上一页)
  20. android切图规范命名,ui设计师的切图与命名规范

热门文章

  1. django html菜单,使用Django模板的导航菜单
  2. JavaWeb(Linux)
  3. Windows系统使用Procrun部署SpringBoot的JAR包
  4. 阿里巴巴离职DBA职业生涯总结--吕海波
  5. 网络分层(7层)以及每层的设备和协议
  6. 云平台的云计算安全参数详解
  7. 计算机网络教程第五版|微课版 - 第五章 运输层 - 习题【补充】
  8. 当Facebook、谷歌等成为数据泄露大头时,它们如何改变?(上)
  9. a.Baby Coins
  10. 思维导图 XMind 闯关之路(第01关)新建文件 建立分支