首页 > 其他分享 >采购订单的审批、撤回审批及拒绝 ME29N

采购订单的审批、撤回审批及拒绝 ME29N

时间:2024-09-05 13:46:58浏览次数:10  
标签:SY ME29N 撤回 LS 审批 RETURN DOCUMENT TYPE PO

原文链接:https://blog.csdn.net/z_x_xing_/article/details/90201003

前台操作,如下图:

 

 

点击图中的批准按钮,逐级完成采购订单的审批节点。

 

 

2.查看表中数据

 

 

发布状态——对应前台界面当前已审批的节点

 

BAPI使用

CALL FUNCTION 'BAPI_PO_RELEASE'
EXPORTING
PURCHASEORDER = '4100000163' "对应采购订单编号
PO_REL_CODE = 'A1' "对应前台审批节点(A1,A2,A3)
TABLES
RETURN = LT_RETURN "返回消息
EXCEPTIONS
AUTHORITY_CHECK_FAIL = 1
DOCUMENT_NOT_FOUND = 2
ENQUEUE_FAIL = 3
PREREQUISITE_FAIL = 4
RELEASE_ALREADY_POSTED = 5
RESPONSIBILITY_FAIL = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
"报错
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
INTO DATA(MTEXT)
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
EXIT.
ELSE.
"校验返回消息表信息
LOOP AT LT_RETURN INTO LW_RETURN WHERE TYPE = 'A' OR TYPE = 'E'.
"报错
WRITE:/ LW_RETURN-MESSAGE.
EXIT.
ENDLOOP.
"成功
IF SY-SUBRC NE 0.
WRITE:/ '成功'.
ENDIF.

ENDIF.

 

采购订单取消审批

前台操作,如下图:

未取消审批前

 

 

点击“撤回”按钮,撤回采购订单审批

 

 

 

 

BAPI使用:

CALL FUNCTION 'BAPI_PO_RESET_RELEASE'
EXPORTING
PURCHASEORDER = '4100000163' "对应采购订单单号
PO_REL_CODE = 'A1' "撤销到的节点
TABLES
RETURN = LT_RETURN "返回消息
EXCEPTIONS
AUTHORITY_CHECK_FAIL = 1
DOCUMENT_NOT_FOUND = 2
ENQUEUE_FAIL = 3
PREREQUISITE_FAIL = 4
RELEASE_ALREADY_POSTED = 5
RESPONSIBILITY_FAIL = 6
NO_RELEASE_ALREADY = 7
NO_NEW_RELEASE_INDICATOR = 8
OTHERS = 9.
IF SY-SUBRC <> 0.
"报错
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
INTO DATA(MTEXT1)
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
EXIT.
ELSE.
"校验返回消息表信息
LOOP AT LT_RETURN INTO LW_RETURN WHERE TYPE = 'A' OR TYPE = 'E'.
"报错
WRITE:/ LW_RETURN-MESSAGE.
EXIT.
ENDLOOP.
"成功
IF SY-SUBRC NE 0.
WRITE:/ '成功'.
ENDIF.
ENDIF.

 

 

拒绝采购订单审批

前台操作,如下图:

 

 

点击“拒绝”按钮,完成采购订单拒绝操作。

代码实现:

DATA LC_PO TYPE REF TO CL_PO_HEADER_HANDLE_MM.
DATA LS_DOCUMENT TYPE MEPO_DOCUMENT.
DATA LV_EBELN TYPE EKKO-EBELN.

* prepare creation of PO instance
LS_DOCUMENT-DOC_TYPE = 'F'. "默认值,表示采购凭证-采购订单
LS_DOCUMENT-PROCESS = MMPUR_PO_PROCESS. "默认值
LS_DOCUMENT-TRTYP = 'V'. "默认值,表示更改
LS_DOCUMENT-DOC_KEY(10) = '4100000163'. "PO单号
LS_DOCUMENT-INITIATOR-INITIATOR = MMPUR_INITIATOR_REL.

* object creation and initialization
LV_EBELN = '4100000163'. "PO单号
CREATE OBJECT LC_PO.
LC_PO->FOR_BAPI = MMPUR_YES.
CALL METHOD LC_PO->PO_INITIALIZE( IM_DOCUMENT = LS_DOCUMENT ). "初始化采购凭证
CALL METHOD LC_PO->SET_PO_NUMBER( IM_PO_NUMBER = LV_EBELN ). "赋值采购订单单号
CALL METHOD LC_PO->SET_STATE( CL_PO_HEADER_HANDLE_MM=>C_AVAILABLE ). "设置采购订单状态

* read purchase order from database
CALL METHOD LC_PO->PO_READ
EXPORTING
IM_TCODE = 'ME29N' "事务代码
IM_TRTYP = LS_DOCUMENT-TRTYP "事务类型
IM_AKTYP = LS_DOCUMENT-TRTYP
IM_PO_NUMBER = LV_EBELN "采购订单单号
IM_DOCUMENT = LS_DOCUMENT. "文档类型

"校验当前采购订单状态是否可以发起拒绝
IF LC_PO->IF_RELEASABLE_MM~IS_REJECTION_ALLOWED( ) = 'X'.
"拒绝当前采购订单
CALL METHOD LC_PO->IF_RELEASABLE_MM~REJECT
EXPORTING
IM_RESET = SPACE
EXCEPTIONS
FAILED = 1
OTHERS = 2.

WRITE:/ '成功'.
ELSE.
"否则报错
WRITE:/ '失败'.

ENDIF.

"提交
CALL METHOD LC_PO->PO_POST
EXCEPTIONS
FAILURE = 1
OTHERS = 2. 

 

标签:SY,ME29N,撤回,LS,审批,RETURN,DOCUMENT,TYPE,PO
From: https://www.cnblogs.com/liu1838998131/p/18398267

相关文章

  • springboot+vue疫情访客审批管理系统的设计于与实现【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着全球疫情的持续影响,各类公共场所尤其是学校、企事业单位等对于访客管理的要求日益严格。传统的访客管理模式往往依赖于纸质登记、人工审核,不仅效率低下,且难以有效追踪与管理,增加了疫情传播的风险。因此,开发一套高效、智能、安全的......
  • 备忘录——C#创建钉钉OA审批实例
    目录1.钉钉接口文档及SDK2.钉钉中创建应用3.代码段3.1获取Token3.2通过手机号获取钉钉UserID等信息3.3创建流程审批实例1.钉钉接口文档及SDK完整发起审批流程实例的步骤:https://open.dingtalk.com/document/orgapp/tutorial-creating-or-updating-an-approval-template调用......
  • 微信防撤回功能
    该版本微信具有防撤回功能。版本特色:1、看到对方撤回的消息2、多账号可正常登录修改原理,如下图:使用说明:解压后,双击start_wechat.bat来运行软件下载地址:Wechat防撤回多开版v3.9解压密码:helloh下载时可能会有广告,忽略,等下载结束即可部分杀软会因该版本软件未购买签名......
  • 微信防撤回插件
    该软件可以恢复别人撤回的消息。版本特色:1、看到对方撤回的消息2、多账号可正常登录修改原理,如下图:使用说明:1、需电脑登录2、解压后,双击start_wechat.bat来运行软件下载地址:Wechat防撤回多开版v3.9解压密码:helloh下载时可能会有广告,忽略,等下载结束即可部分杀软会......
  • 怎么找回微信撤回的照片图片
    该版本微信可以看到对方撤回的内容。版本特色:1、看到对方撤回的消息2、多账号可正常登录修改原理,如下图:使用说明:1、需电脑登录2、解压后,双击start_wechat.bat来运行软件下载地址:Wechat防撤回多开版v3.9解压密码:helloh下载时可能会有广告,忽略,等下载结束即可部分杀......
  • Flowable在开启工作流是设置各节点审批人
    该方式用于流程固定并且明确知道每个节点什么人审批。步骤一:指定参数,比如某个节点设置的审批人为${AAAAA}如图:步骤二:在工作流启动前向启动工作流时使用的startProcessInstanceByKeyAndTenantId()方法中填充variables参数,variables中是键值对的形式,其中AAAAA这个参数需要给值......
  • python连接钉钉自动化提交OA审批
    一、准备工作1、安装阿里云支持包,点击跳转:https://open.dingtalk.com/document/resourcedownload/download-server-sdk2、注册钉钉开发者账号,点击链接:https://open.dingtalk.com/3、获取AK,SK4、USERID通过企业管理后台可以查看每个用户的ID或者通过接口获取5、PROCESS_CODE......
  • 微信 PC版v3.9 防撤回 可多开
    版本特色:1、看到对方撤回的消息2、多账号可正常登录修改原理,如下图:使用说明:解压后,双击open_Wechat.exe来运行软件下载地址:Wechat防撤回多开版v3.9解压密码:helloh下载时可能会有广告,忽略,等下载结束即可部分杀软会因该版本软件未购买签名证书(如下图)而阻止运行,可通过暂......
  • JSP公文审批流转系统22z82(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:部门,部门经理,普通员工,公文类型,公文申报,通知公告技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据......
  • 回溯函数(算法)杂谈 -----可主动控制撤回逻辑处理的递归函数
    概述回溯,对接触了算法的人而言,并不陌生,其实严谨地说回溯函数就是递归函数,只不过在使用上,人们将它的一些细节抽离出来,进而演化出了所谓的回溯,在算法导论中,与其相关的被称为“回溯搜索算法”。回溯本质是递归的副产物,只要有递归调用就会有回溯。回溯法也经常和二叉树或N叉树......