SAP 销售订单审批状态(查询/修改)

销售订单审批状态启用后,前端显示界面如下图

销售订单审批状态读取:STATUS_READ

销售订单审批状态修改:I_CHANGE_STATUS

销售订单审批状态读取

代码样例如下:

DATA: lv_objnr   TYPE vbak-objnr,lv_objnr_t TYPE jsto-objnr,lv_obtyp   TYPE jsto-obtyp,lv_stsma   TYPE jsto-stsma,lv_stonr   TYPE tj30-stonr,lt_status  TYPE TABLE OF jstat,ls_status  TYPE jstat.
SELECT SINGLE objnr INTO lv_objnrFROM vbakWHERE vbeln = i_vbeln.IF lv_objnr IS NOT INITIAL.lv_objnr_t = lv_objnr.CALL FUNCTION 'STATUS_READ'EXPORTING
*       CLIENT           = SY-MANDTobjnr            = lv_objnr_t
*       ONLY_ACTIVE      = ' 'IMPORTINGobtyp            = lv_obtypstsma            = lv_stsmastonr            = lv_stonrTABLESstatus           = lt_statusEXCEPTIONSobject_not_found = 1OTHERS           = 2.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.READ TABLE lt_status INTO ls_status WITH KEY stat = lv_estat2inact = ''.IF sy-subrc = 0.ENDIF.
ENDIF.

销售订单审批状态修改

具体代码样例如下:

FUNCTION zjkdms003.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(I_VBELN) TYPE  VBELN_VA OPTIONAL
*"     VALUE(I_ESTAT) TYPE  J_ESTAT OPTIONAL
*"     VALUE(I_APPROVER) TYPE  TEXT30 OPTIONAL
*"     VALUE(I_NAME) TYPE  TEXT30 OPTIONAL
*"  EXPORTING
*"     VALUE(E_MSG) TYPE  BAPIRET2
*"----------------------------------------------------------------------DATA: lv_objnr   TYPE vbak-objnr,lv_objnr_t TYPE jsto-objnr,lv_obtyp   TYPE jsto-obtyp,lv_stsma   TYPE jsto-stsma,lv_stonr   TYPE tj30-stonr,lt_status  TYPE TABLE OF jstat,ls_status  TYPE jstat,lt_tj30    TYPE TABLE OF tj30,ls_tj30    TYPE tj30,lv_estat1  TYPE tj30-estat,lv_estat2  TYPE tj30-estat,lv_estat3  TYPE tj30-estat,ieinfo     TYPE einfo,lt_003     TYPE TABLE OF ztjkdms003,ls_003     TYPE ztjkdms003.CLEAR: lv_objnr,lv_objnr_t,lv_obtyp,lv_stsma,lv_stonr,lt_status,ls_status,lt_tj30,ls_tj30,lv_estat1,lv_estat2,lv_estat3,ieinfo,lt_003,ls_003.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput  = i_vbelnIMPORTINGoutput = i_vbeln.SELECT SINGLE objnr INTO lv_objnrFROM vbakWHERE vbeln = i_vbeln.IF lv_objnr IS NOT INITIAL.lv_objnr_t = lv_objnr.CALL FUNCTION 'STATUS_READ'EXPORTING
*       CLIENT           = SY-MANDTobjnr            = lv_objnr_t
*       ONLY_ACTIVE      = ' 'IMPORTINGobtyp            = lv_obtypstsma            = lv_stsmastonr            = lv_stonrTABLESstatus           = lt_statusEXCEPTIONSobject_not_found = 1OTHERS           = 2.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.IF lt_status IS NOT INITIAL.SELECT * INTO TABLE lt_tj30FROM tj30WHERE stsma = lv_stsma.SORT lt_tj30 BY estat.CLEAR: ls_tj30.READ TABLE lt_tj30 INTO ls_tj30 INDEX 1.IF sy-subrc = 0.lv_estat1 = ls_tj30-estat.ENDIF.CLEAR: ls_tj30.READ TABLE lt_tj30 INTO ls_tj30 INDEX 2.IF sy-subrc = 0.lv_estat2 = ls_tj30-estat.ENDIF.CLEAR: ls_tj30.READ TABLE lt_tj30 INTO ls_tj30 INDEX 3.IF sy-subrc = 0.lv_estat3 = ls_tj30-estat.ENDIF.IF i_estat = lv_estat1.READ TABLE lt_status INTO ls_status WITH KEY stat = lv_estat2inact = ''.IF sy-subrc = 0.CALL FUNCTION 'I_CHANGE_STATUS'EXPORTINGobjnr          = lv_objnr_testat_inactive = lv_estat2estat_active   = lv_estat1stsma          = lv_stsmaEXCEPTIONScannot_update  = 1OTHERS         = 2.ENDIF.READ TABLE lt_status INTO ls_status WITH KEY stat = lv_estat3inact = ''.IF sy-subrc = 0.CALL FUNCTION 'I_CHANGE_STATUS'EXPORTINGobjnr          = lv_objnr_testat_inactive = lv_estat3estat_active   = lv_estat1stsma          = lv_stsmaEXCEPTIONScannot_update  = 1OTHERS         = 2.ENDIF.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.IF sy-msgty = 'E' OR sy-msgty = 'A'.e_msg-type = sy-msgty.e_msg-id = sy-msgid.e_msg-number = sy-msgno.ieinfo-msgid = sy-msgid.ieinfo-msgty = sy-msgty.ieinfo-msgno = sy-msgno.CALL FUNCTION 'MESSAGE_GET_TEXT'EXPORTINGieinfo        = ieinfoilangu        = '1'IMPORTINGetext         = e_msg-messageEXCEPTIONSno_t100_found = 1OTHERS        = 2.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.ELSE.e_msg-type = 'S'.e_msg-message = '审批成功'.ENDIF.ENDIF.IF i_estat = lv_estat2.READ TABLE lt_status INTO ls_status WITH KEY stat = lv_estat1inact = ''.IF sy-subrc = 0.CALL FUNCTION 'I_CHANGE_STATUS'EXPORTINGobjnr          = lv_objnr_testat_inactive = lv_estat1estat_active   = lv_estat2stsma          = lv_stsmaEXCEPTIONScannot_update  = 1OTHERS         = 2.ENDIF.READ TABLE lt_status INTO ls_status WITH KEY stat = lv_estat3inact = ''.IF sy-subrc = 0.CALL FUNCTION 'I_CHANGE_STATUS'EXPORTINGobjnr          = lv_objnr_testat_inactive = lv_estat3estat_active   = lv_estat2stsma          = lv_stsmaEXCEPTIONScannot_update  = 1OTHERS         = 2.ENDIF.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.IF sy-msgty = 'E' OR sy-msgty = 'A'.e_msg-type = sy-msgty.e_msg-id = sy-msgid.e_msg-number = sy-msgno.ieinfo-msgid = sy-msgid.ieinfo-msgty = sy-msgty.ieinfo-msgno = sy-msgno.CALL FUNCTION 'MESSAGE_GET_TEXT'EXPORTINGieinfo        = ieinfoilangu        = '1'IMPORTINGetext         = e_msg-messageEXCEPTIONSno_t100_found = 1OTHERS        = 2.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.ELSE.e_msg-type = 'S'.e_msg-message = '审批成功'.ENDIF.ENDIF.IF i_estat = lv_estat3.IF lv_estat3 IS NOT INITIAL.READ TABLE lt_status INTO ls_status WITH KEY stat = lv_estat2inact = ''.IF sy-subrc = 0.CALL FUNCTION 'I_CHANGE_STATUS'EXPORTINGobjnr          = lv_objnr_testat_inactive = lv_estat2estat_active   = lv_estat3stsma          = lv_stsmaEXCEPTIONScannot_update  = 1OTHERS         = 2.ENDIF.READ TABLE lt_status INTO ls_status WITH KEY stat = lv_estat1inact = ''.IF sy-subrc = 0.CALL FUNCTION 'I_CHANGE_STATUS'EXPORTINGobjnr          = lv_objnr_testat_inactive = lv_estat1estat_active   = lv_estat3stsma          = lv_stsmaEXCEPTIONScannot_update  = 1OTHERS         = 2.ENDIF.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.IF sy-msgty = 'E' OR sy-msgty = 'A'.e_msg-type = sy-msgty.e_msg-id = sy-msgid.e_msg-number = sy-msgno.ieinfo-msgid = sy-msgid.ieinfo-msgty = sy-msgty.ieinfo-msgno = sy-msgno.CALL FUNCTION 'MESSAGE_GET_TEXT'EXPORTINGieinfo        = ieinfoilangu        = '1'IMPORTINGetext         = e_msg-messageEXCEPTIONSno_t100_found = 1OTHERS        = 2.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.ELSE.e_msg-type = 'S'.e_msg-message = '审批成功'.ENDIF.ENDIF.ENDIF.IF i_estat IS INITIAL.e_msg-type = 'E'.e_msg-message = '请指定审批节点'.ENDIF.ENDIF.ENDIF.IF e_msg-type = 'S'. "当状态更新成功后,记录当前审批人信息ls_003-vbeln = i_vbeln.ls_003-estat = i_estat.ls_003-approver = i_approver.ls_003-name = i_name.ls_003-erdat = sy-datum.ls_003-erzet = sy-uzeit.COLLECT ls_003 INTO lt_003.CLEAR: ls_003.IF lt_003 IS NOT INITIAL.MODIFY ztjkdms003 FROM TABLE lt_003.IF sy-subrc = 0.COMMIT WORK AND WAIT.ELSE.ROLLBACK WORK.ENDIF.ENDIF.ENDIF.ENDFUNCTION.

销售订单审批状态更新日志表

表:JCDS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

难道说 IT行业的下一个风口是鸿蒙开发吗?

按往年的习俗&#xff0c;在年底之季有很多HC都会缩减&#xff0c;尤其当下各种裁员的情况下&#xff0c;不管你是在哪个传统开发行业&#xff0c; 如&#xff1a;C/C、Java、前端、后端……等多少都会一股互联网寒流的影响。而今年却出现了一个怪现象&#xff0c;有个岗位在这…

【欢迎您的到来】这里是开源库get_local_info作者的付费专栏

您好&#xff0c; 我是带剑书生&#xff0c;开源库get_local_info的作者&#xff0c;欢迎您的到来&#xff0c;这里是我的付费专栏&#xff0c;会用更简洁的语言&#xff0c;更通俗的话语&#xff0c;来帮助您更好的学习rust&#xff0c;这里不仅仅讲解Rust在某些应用功能实现上…

Java可视化物联网智慧工地综合云平台源码 私有化部署

智慧工地平台围绕建筑施工人、物、事的安全管理为核心&#xff0c;对应研发了劳务实名制、视频监控、扬尘监测、起重机械安全监测、安全帽监测等功能一体化管理的解决方案。 智慧工地是聚焦工程施工现场&#xff0c;紧紧围绕人、机、料、法、环等关键要素&#xff0c;综合运用…

智慧矿山知识点总结

目录 1.第一章数字矿山的定义、基本特征和功能数字矿山的框架结合专业&#xff0c;如何发挥专业优势参与数字矿山建设&#xff08;GPT&#xff09; 2.第二章矿区地质构造和生态环境信息都包括哪些内容地球探测信息技术分类矿山品味与储量矿量估算 3.第三章矿山空间信息获取的仪…

RT-Thread Studio学习(十四)ADC

RT-Thread Studio学习&#xff08;十四&#xff09;ADC 一、简介二、新建RT-Thread项目并使用外部时钟三、启用ADC四、测试 一、简介 本文将基于STM32F407VET芯片介绍如何在RT-Thread Studio开发环境下使用ADC设备。硬件及开发环境如下&#xff1a; OS WIN10STM32F407VET6STM…

基于Springboot的摄影分享网站系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的摄影分享网站系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

Python文件自动化处理

os模块 Python标准库和操作系统有关的操作创建、移动、复制文件和文件夹文件路径和名称处理 路径的操作 获取当前Python程序运行路径不同操作系统之间路径的表示方式 windows中采用反斜杠(\)作为文件夹之间的分隔符 Mac和Linux中采用斜杠(/)作为文件夹之间的分隔符 把文件…

详解React与Vue的性能对比

React 和 Vue 是当前最流行的前端开发框架之一。它们都具有高度的灵活性和可扩展性&#xff0c;但在某些方面有所不同。在本篇文章中&#xff0c;我将详细介绍 React 和 Vue 这两个技术&#xff0c;并比较它们的优点和缺点。 目录 1. React&#xff1a; 1.1 优点&#xff1a; …

2023年第十四届蓝桥杯软件赛省赛总评

报名明年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列&#xff1a;备赛20周合集 20周的完整安排请点击&#xff1a;20周计划 每周发1个博客&#xff0c;共20周。 在QQ群上交流答疑&am…

[AI争霸] 普通人看ChatGPT和文心一言那个更好

文章目录 引言便利性准确性总结 引言 从2022/2/24号openAI正式发布chatgpt第一个版本以来&#xff0c;到2023年中旬openAI宣布chatgpt成为用户增长量最快的软件&#xff0c;随后掀起的大模型热。随后国内的各大厂商纷纷推出自己的大模型&#xff0c;首当其冲的就是百度的文心一…

Redis 消息队列和发布订阅

文章目录 基本模式生产者消费者原理&模型redis实现java实现 发布者订阅者原理&模型redis实现java实现 stream模式原理&模型工作原理redis实现Java实现 选型外传 基本模式 采用redis 三种方案&#xff1a; ● 生产者消费者&#xff1a;一个消息只能有一个消费者 ●…

Smart Tomcat

Smart Tomcat插件可以让idea图形化界面让代码部署到tomcat上达成一键打包部署的过程 下面是idea安装使用Smart Tomcat的过程 我们直接在plugins(插件)里搜索Tomcat 然后下载第一个 然后点击Apply(应用) 在一个项目中 第一次使用时要进行配置Smart Tomcat Name 可以不配置…

vscode安装和基本设置

目录 vscode安装和基本设置1.HTML标签2.标签属性3.HTML基本结构4.安装vscode5.安装Live Server插件6.HTML注释7.文档说明8.HTML字符编码9.HTML设置语言10.HTML标准结构 vscode安装和基本设置 1.HTML标签 标签 又称 元素&#xff0c;是HTML的基本组成单位。标签分为&#xff1…

JSP简单学习

jsp是在html中嵌入java代码 jsp也是在j2ee服务端中的java组件 第一次运行 在第一次运行jsp代码时会经历以下步骤&#xff0c;将jsp转为java代码&#xff0c;将java代码转为class文件。 所以通常会比较慢&#xff0c;编译后就好多了。 四大作用域 requestsessionpageapplica…

使用pdfbox 为 PDF 增加水印

使用pdfbox 为 PDF增加水印https://www.jylt.cc/#/detail?activityIndex2&idbd410851b0a72dad3105f9d50787f914 引入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>3.0.1</ve…

【栈】【字符串和int类型转化】Leetcode 150 逆波兰表达式求值

【栈】【字符串和int类型转化】Leetcode 150 逆波兰表达式求值 解法1 栈 ---------------&#x1f388;&#x1f388;题目链接 Leetcode 150 逆波兰表达式求值 &#x1f388;&#x1f388;------------------- 解法1 栈 字符串转化为int类型数据: Integer.parseInt(s) Long.p…

java多线程传参数

package com.myThread;public class AdminThread extends Thread{private String name;public void AdminThread(String name){this.name name;}Overridepublic void run() {//线程开始之后执行的代码for (int i 0; i < 100; i) {System.out.print(getName()"线程…

Web前端-移动web开发——flex布局

移动web开发——flex布局 1.0传统布局和flex布局对比 1.1传统布局 兼容性好布局繁琐局限性&#xff0c;不能再移动端很好的布局 1.2 flex布局 操作方便&#xff0c;布局极其简单&#xff0c;移动端使用比较广泛pc端浏览器支持情况比较差IE11或更低版本不支持flex或仅支持部…

ChatGPT 与生成式 AI 的崛起:第二十六章到第三十三章

原文&#xff1a;Rise of Generative AI and ChatGPT 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第二十五章&#xff1a;ChatGPT 用于国家网络安全和技术政策 介绍 恐怖分子、罪犯、警察、国防、执法机构、工程师、作家和学生等都在使用 ChatGPT&#xff0c;这是…

如何进行产品的人机交互设计?

产品的人机交互设计是指通过用户界面和用户体验设计来优化产品与用户之间的交互过程&#xff0c;从而提高产品的易用性、可用性和用户满意度。人机交互设计需要考虑用户的需求、行为模式、心理感受以及技术实现&#xff0c;下面我将介绍如何进行产品的人机交互设计。 首先&…