ABAP BAPI:BAPI_PR_CHANGE批量修改采购申请审批状态等
更改PR:BAPI_PR_CHANGE
审批 BAPI_REQUISITION_RELEASE
取消审批 BAPI_REQUISITION_RESET_RELEASE
获取审批策略,审批组
IF lt_eban[] IS NOT INITIAL.SELECT *FROM t16fsINTO CORRESPONDING FIELDS OF TABLE gt_t16fsFOR ALL ENTRIES IN lt_ebanWHERE frggr = lt_eban-frggrAND frgsx = lt_eban-frgst .ENDIF.
批量修改采购申请,修改抬头及行项目文本信息,审批和取消审批需要注意审批层级,此例中只有一级审批
FORM fm_check_order .DATA: lt_items_old LIKE TABLE OF bapiebanv WITH HEADER LINE.DATA: lt_items_new LIKE TABLE OF bapiebanv WITH HEADER LINE.DATA: lt_prheader LIKE TABLE OF bapimereqheader WITH HEADER LINE.DATA: lt_prheaderx LIKE TABLE OF bapimereqheaderx WITH HEADER LINE.DATA: lt_text_old LIKE TABLE OF bapiebantx WITH HEADER LINE.DATA: lt_text_new LIKE TABLE OF bapiebantx WITH HEADER LINE.DATA: lt_text LIKE TABLE OF bapimereqitemtext WITH HEADER LINE.DATA: lt_detail LIKE TABLE OF bapieban WITH HEADER LINE.DATA: lt_account LIKE TABLE OF bapiebkn WITH HEADER LINE.DATA: lt_bapireturn LIKE TABLE OF bapireturn WITH HEADER LINE.DATA: ls_header TYPE thead ,lt_lines TYPE STANDARD TABLE OF tline WITH HEADER LINE,lt_items TYPE STANDARD TABLE OF bapimereqitemimp WITH HEADER LINE,lt_itemsx TYPE STANDARD TABLE OF bapimereqitemx WITH HEADER LINE ,lt_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE .READ TABLE gt_main WITH KEY sel = gc_x .IF sy-subrc NE 0 .MESSAGE '请先选择更新行!' TYPE 'S' DISPLAY LIKE 'E' .RETURN .ENDIF."当前审批状态
" frggr "审批组
" frgst "批准策略
" frgzu "审批状态IF gt_main[] IS NOT INITIAL.SELECT banfn, bnfpo, frgzuINTO TABLE @DATA(lt_frgzu)FROM ebanFOR ALL ENTRIES IN @gt_mainWHERE banfn = @gt_main-banfnAND bnfpo = @gt_main-bnfpo.ENDIF.LOOP AT gt_main ASSIGNING FIELD-SYMBOL(<fs_main>) .CLEAR: lt_text[],lt_text,lt_items_old,lt_items_old[],<fs_main>-msg.<fs_main>-icon = icon_led_yellow .CHECK <fs_main>-sel IS NOT INITIAL ."add headerlt_prheader-preq_no = <fs_main>-banfn .APPEND lt_prheader.lt_prheaderx-preq_no = gc_x .APPEND lt_prheaderx."add item textlt_text-preq_no = <fs_main>-banfn .lt_text-preq_item = <fs_main>-bnfpo .lt_text-text_id = 'B01'.lt_text-text_line = <fs_main>-it_text .APPEND lt_text ."添加抬头文本CLEAR:ls_header,lt_lines[].ls_header-tdobject = 'EBANH'."固定值ls_header-tdname = <fs_main>-banfn .ls_header-tdid = 'B01'."固定值ls_header-tdspras = sy-langu.lt_lines-tdformat = '*'.lt_lines-tdline = <fs_main>-hd_text .APPEND lt_lines .CALL FUNCTION 'SAVE_TEXT'EXPORTINGclient = sy-mandtheader = ls_headersavemode_direct = gc_xTABLESlines = lt_linesEXCEPTIONSid = 1language = 2name = 3object = 4OTHERS = 5."删除标识,结算标识更改CLEAR:lt_items,lt_items[],lt_itemsx,lt_itemsx[].lt_items-preq_item = <fs_main>-bnfpo .lt_items-plant = <fs_main>-werks.lt_items-currency = <fs_main>-waers .lt_items-store_loc = <fs_main>-lgort .lt_items-quantity = <fs_main>-menge .lt_items-deliv_date = <fs_main>-lfdat .lt_items-pur_group = <fs_main>-ekgrp .lt_items-delete_ind = <fs_main>-loekz .lt_items-closed = <fs_main>-ebakz.APPEND lt_items .lt_itemsx-preq_item = <fs_main>-bnfpo .lt_itemsx-currency = gc_x .lt_itemsx-plant = gc_x .lt_itemsx-store_loc = gc_x .lt_itemsx-quantity = gc_x .lt_itemsx-deliv_date = gc_x .lt_itemsx-pur_group = gc_x .lt_itemsx-delete_ind = gc_x .lt_itemsx-closed = gc_x.APPEND lt_itemsx .CALL FUNCTION 'BAPI_PR_CHANGE'EXPORTINGnumber = <fs_main>-banfnprheader = lt_prheaderprheaderx = lt_prheaderx
* TESTRUN =
* IMPORTING
* PRHEADEREXP =TABLESreturn = lt_returnpritem = lt_itemspritemtext = lt_textpritemx = lt_itemsx.READ TABLE lt_return INDEX 1 .IF lt_return-type = 'S'.<fs_main>-icon = icon_led_green .IF gv_okcode = 'CHECK'.<fs_main>-msg = '检查无误!' .ELSE.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTINGwait = 'X'
* IMPORTING
* RETURN =.<fs_main>-msg = <fs_main>-msg && '/' && lt_return-message .ENDIF.ELSE.LOOP AT lt_return.<fs_main>-msg = <fs_main>-msg && '/' && lt_return-message .ENDLOOP.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
* IMPORTING
* RETURN =.<fs_main>-icon = icon_led_red .ENDIF.CHECK lt_return-type EQ 'S' ."审批设置IF gv_okcode = 'EXECUTE'.READ TABLE lt_frgzu INTO DATA(ls_frgzu) WITH KEY banfn = <fs_main>-banfnbnfpo = <fs_main>-bnfpo.IF sy-subrc EQ 0.IF ls_frgzu-frgzu NE <fs_main>-apstatus.CLEAR gt_t16fs .READ TABLE gt_t16fs WITH KEY frggr = <fs_main>-frggrfrgsx = <fs_main>-frgst.IF <fs_main>-apstatus IS INITIAL ."取消审批CALL FUNCTION 'BAPI_REQUISITION_RESET_RELEASE'EXPORTINGnumber = <fs_main>-banfnitem = <fs_main>-bnfporel_code = gt_t16fs-frgc1TABLESreturn = lt_bapireturnEXCEPTIONSauthority_check_fail = 1requisition_not_found = 2enqueue_fail = 3prerequisite_fail = 4release_already_posted = 5responsibility_fail = 6no_release_already = 7no_new_release_indicator = 8OTHERS = 9.ELSE.CALL FUNCTION 'BAPI_REQUISITION_RELEASE'EXPORTINGnumber = <fs_main>-banfn "采购申请号item = <fs_main>-bnfpo "行项目号rel_code = gt_t16fs-frgc1TABLESreturn = lt_bapireturnEXCEPTIONSauthority_check_fail = 1requisition_not_found = 2enqueue_fail = 3prerequisite_fail = 4release_already_posted = 5responsibility_fail = 6OTHERS = 7.ENDIF.READ TABLE lt_bapireturn WITH KEY type = 'E'.IF sy-subrc EQ 0.<fs_main>-icon = icon_led_red .LOOP AT lt_bapireturn.<fs_main>-msg = <fs_main>-msg && '/' && lt_bapireturn-message .ENDLOOP.RETURN .ENDIF.ENDIF.ENDIF.ENDIF.ENDLOOP .ENDFORM.
ABAP BAPI:BAPI_PR_CHANGE批量修改采购申请审批状态等相关推荐
- ABAP 创建及修改采购申请
创建采购申请: BAPI_PR_CREATE 修改采购申请:BAPI_PR_CHANGE 审批采购申请:BAPI_REQUISITION_RELEASE (按行) 取消审批采购申请:BAPI_REQU ...
- 【ABAP】采购申请审批增强Demo
[ABAP]采购申请审批增强Demo 需求:将审批通过后的采购申请信息推送至外部系统. 分析:当前SAP中有外部系统调用自定义函数审批的情况,也有手动单个/批量审批的情况,需要找到通用的解决方案. 1 ...
- SAP实施项目中采购员在非生产性采购申请审批流中的角色安排
SAP实施项目中采购员在非生产性采购申请审批流中的角色安排 所谓非生产性物料,也叫间接物料,也有些企业称之为MRO物料.它主要包括而不限于如下物料:办公用品,劳保用品,备品备件,服务,固定资产等等.这 ...
- 一个公司采购申请审批系统,包含用户登录注销、用户创建、角色分配、采购申请审批及其他相关功能。
文章目录 一.开发环境 二.项目要求 总结 采购申请审批系统下载地址 一.开发环境 编程语言:C++ IDE:VS2019 OS:WIN10 二.项目要求 1.设计一个公司采购申请审批系统,包含用户登 ...
- 30 MM配置-采购-采购申请-采购申请审批策略-编辑类
业务背景:定义采购申请审批类 事务码: CL02 SPRO路径:物料管理->采购->采购申请->审批过程->含分类的过程->编辑类 第1步,SPRO进入 第2步,通过&q ...
- 29 MM配置-采购-采购申请-采购申请审批策略-编辑特性
业务背景:定义采购申请审批策略特性 事务码: CT04 SPRO路径:物料管理->采购->采购申请->审批过程->含分类的过程-> 编辑特性 第1步,SPRO进入 第2步 ...
- SAP无分类采购申请审批
SAP采购申请审批和采购订单审批标准配置最大区别在于采购申请可以无分类审批.无分类审批中不能设置特性,提供了几个标准的维度维护审批策略(帐户分配类别.物料组.工厂.金额). 特此记录采购申请无分类审批 ...
- 采购申请审批-MEPO822
有多等级采购申请审批: 目前公司的采购申请只有一级,而且是按行项目审批:以前有需求说不合理,也没有深入去看看,现在有需求需要返回来研究下: 想想,行项目审批,有点麻烦,做成整单审批吧: 后台设置把ov ...
- 帝国cms 未审核 showinfo.php,帝国CMS批量修改文章未审核状态及批量修改上线时间...
帝国CMS批量修改审核文章未审核状态,批量自定义指定文件上线时间! 用法: 后台增加自定义页面 PHP CODE:$infouptime=to_time('2016-06-12 10:50:19') ...
最新文章
- 2022-2028年中国渣油行业市场研究及前瞻分析报告
- 1010 Radix
- 架构之路--实战项目记录(二) 忘记数据库 开始抽象
- a55 matlab排列组合_matlab常用的排列组合
- Webpack —— tree-starking 解析
- [03] 为什么要使用异常机制
- 新书品读《三级网络技术预测试卷与考点解析》,欢迎拍砖、跟砖提建议。
- E:Johnny and Grandmaster
- vue的视图化创建项目_vue-cli3用图形化的方式创建项目
- 饿了么口碑实现超30亿美元融资,引领本地生活数字化升级...
- java new file会创建文件吗_Java高级——文件与I/O流
- “10%时间”:优点和缺点——敏捷海滩会议上Elizabeth Pope的报告
- [python网络编程]使用scapy修改源IP发送请求
- 编译GDAL支持ArcObjects
- Python基本图形绘制:turtle库
- POJ 3744 Scout YYF I:概率dp
- openstack镜像格式转换
- 如何给pdf添加目录
- 为什么中国没有CES ? | 云栖大会科技榜单
- 如何在PowerPoint中将自定义模板设置为默认模板
热门文章
- 【数学】旋转后仍为函数图像问题
- 字母c在计算机硬盘,字母c
- 无法停止通用卷设备的解决方法
- 数字冰雹与您相约“2020警博会”
- Docker生态会重蹈Hadoop的覆辙吗?
- 使用逻辑回归对泰坦尼克号数据 生存死亡情况预测
- java swing界面美化_java Swing界面优化Jpanel教程
- 如何把win10的计算机调至桌面,win10如何显示我的电脑在桌面?小编教你显示的方法...
- python列表迭代器_Python 迭代器之列表解析
- Python数据分析及可视化实例之“Pandas“