销售订单审批状态配置的数据表有三级(转自:博客链接):

  • 状态参数文件的数据表是TJ20,对应的语言描述表TJ20T;
  • 用户状态条目的数据表是TJ30,对应的语言描述表TJ30T,注意字段TJ30-ESTAT(用户状态)是条目的自增长值,不可以编辑,格式“Exxx”,例如E0001、E0002;
  • 用户状态控制的数据表是TJ31,字段MODKZ存放编辑标志,1为允许、2为允许但警告、3为禁止。

下面的Demo的作用是改变审批状态,同时取消行项目拒绝原因。

1、更新审批状态

data:  ls_objnr type jsto-objnr.
clear: ls_objnr.ls_objnr = 'VB' && vbap-vbeln && vbap-posnr.call function 'I_CHANGE_STATUS'exportingobjnr          = ls_objnrestat_inactive = 'E0002'estat_active   = 'E0004'stsma          = 'ZSD001'exceptionscannot_update  = 1others         = 2.

这里要是状态没有把控到位则会出现Dump。

2、取消拒绝原因

perform change_so using vbap-vbeln vbap-posnrchanging lv_flag.if lv_flag = 'S'."取消成功elseif lv_flag = 'E'."取消失败endif.form change_so  using  p_vbeln p_posnrchanging p_flag.data: l_vbeln type bapivbeln-vbeln,l_headx type bapisdh1x,l_ret   type table of bapiret2 with header line,l_item  type table of bapisditm with header line,l_itemx type table of bapisditmx with header line.refresh:l_item,l_itemx,l_ret.l_headx-updateflag = 'U'.l_item-itm_number = p_posnr.l_item-reason_rej = ''.append l_item. clear l_item.l_itemx-itm_number = p_posnr.l_itemx-updateflag = 'U'.l_itemx-reason_rej = 'X'.append l_itemx. clear l_itemx.call function 'BAPI_SALESORDER_CHANGE'exportingsalesdocument    = p_vbelnorder_header_inx = l_headxtablesreturn           = l_retorder_item_in    = l_itemorder_item_inx   = l_itemx.loop at l_ret where type ca 'AEX'.p_flag = 'E'.endloop.if sy-subrc <> 0.call function 'BAPI_TRANSACTION_COMMIT'exportingwait = 'X'.p_flag = 'S'.else.call function 'BAPI_TRANSACTION_ROLLBACK'.endif.endform.

【Demo】改变SO项目状态并取消拒绝原因实现相关推荐

  1. 闲人闲谈PS之三十六——项目状态控制

    **惯例闲话:**最近感觉时间不够用,脑子有很多想法,但是到下笔却感觉总是下不了手,写完一段,感觉和自己想的差距很大,然后有全部删除-这难道就是传说中年纪大了,手脚不停使唤-这让闲人更加焦虑了,前篇还 ...

  2. 使用 JIRA 4.0 + Greenhopper 4.0 进行项目状态跟踪(转)

    http://www.blogjava.net/haha1903/archive/2009/11/01/300609.html 使用 JIRA 4.0 + Greenhopper 4.0 进行项目状态 ...

  3. 14 PP配置-生产主数据-BOM相关-定义项目状态的缺省值

    业务背景:定义项目状态的缺省值 事务码:OS21 SPRO路径:SPRO->生产->基本数据->物料清单->常规数据->BOM 用途->定义项目状态的缺省值 第1步 ...

  4. php 企业微信指令回调借款_php处理微信支付回调改变订单支付状态的代码

    本篇文章给大家带来的内容是关于php服务端APP微信支付回调验证签名改变订单支付状态,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.<?php //处理微信支付回调 $time ...

  5. 使用jquery判断及改变checkbox选中状态

    使用jquery判断及改变checkbox选中状态 https://jingyan.baidu.com/article/fea4511a00f66af7ba912560.html

  6. SAP PS 第2节 项目状态及字段选择

    SAP PS 第2节 项目状态及字段选择 1 有用吗 2 前台操作 3 后台配置 3.1 案例 3.1.1 创建状态,全部禁止 3.1.2 财务部门审核完成状态,依然全部禁止 3.1.3 分配预算状态 ...

  7. PMO和PM如何准备项目状态报告及进行项目进度汇报?【附项目状态表和进度跟踪表】

    PMO和项目经理负责汇报项目/多项目的进展状态.为了做好这项工作,你需要收集来自项目团队成员.供应商,以及其他项目里的关键人物的相关信息. 一般有两种方式来获得信息:正式的和非正式的.  建议你养成每 ...

  8. 项目管理 : 做好项目状态汇报

    多年以前,如果是一个好的项目经理,即使不善于沟通也不是什么大问题.虽然客户一般不喜欢这种项目经理,但只要项目经理能够做出东西来,客户一般都会让他们自行其事. 但如今,项目需要在与客户形成伙伴关系的前提 ...

  9. 6 统一建模语言(UML)图中,( )用于对时间如何改变对象的状态以及引起对象从一个状态向另一个状态转换的事件进行建模。( )是此种图的一种特殊情况,对于系统的功能建模特别重要,并强调对象间的控制

    标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 6 统一建模语言(UML)图中,( )用于对时间如何改变对象的状态以及引起对象从一个状态向另一个状态转换的事件进行建 ...

最新文章

  1. Codeforces数学1600day3[数学CodeForces - 1213D2, CodeForces - 1165E 数论,CodeForces - 1165D 因子分解]
  2. Linux内存管理优化技巧集锦
  3. Lucene4.3和Lucene3.5性能对比(一)
  4. 树莓派工程设计常见问题与处理
  5. 在网页中的flash游戏,按方向键浏览器的滚动条会跟着滚动
  6. RDBMS vs. NoSQL Clojure概述
  7. (1)安装vagrant和virtualbox
  8. 马云乌镇致辞:技术革命最终应该机器更像机器、人更像人
  9. linux系统安装花生壳
  10. v65智慧屏是真的鸿蒙,华为智慧屏V65深测:真智慧or增智慧?
  11. Python语言程序设计基础教程(持续更新)
  12. 数据库周刊60丨3月国产数据库排行榜出炉;日本银行数据迁移失败致使业务宕机;阿里云RDS PG13发布;亚健康Oracle数据库故障定位;Redis最佳实践;MySQL查询优化……
  13. 南开计算机考研难么,我的一点考研心得
  14. 文件分割与合并(Java)
  15. 极化相干分解——Cameron分解
  16. STM32F103C8T6学习
  17. ibm aix_IBM AIX设备驱动程序开发
  18. msi 微星b350 tomahawk主板 刷bios教程
  19. C++:实现socket通信
  20. 荣耀30s怎么升级鸿蒙,惊喜!4部荣耀手机可升级至华为鸿蒙系统,网友表示:终于等到了...

热门文章

  1. 利用反射动态创建对象
  2. USACO 2.3 Money Systems(DP)
  3. 后台编写HttpWebRequest的POST请求,必须注意的一个小细节
  4. 分享几个简单的WPF控件(代码)
  5. PMCAFF | 刷微信朋友圈行为分析:刷朋友圈是一种感觉?有一种批皇帝批奏章的感觉...
  6. 如何当好PM?请求大家积极讨论
  7. 聚焦“裂变”,又拍云推出直播云等多场景解决方案
  8. [LeetCode] Binary Tree Paths
  9. 使用Intent启动组件
  10. OC字符串转C语言字符串