【ABAP系列】SAP 获取工单和工序的状态

前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
ABAP 获取订单状态的两个函数 STATUS_TEXT_EDIT 和 STATUS_READ 的简单介绍
CONCATENATE 'OR' TWK1-AUFNR INTO Z_OBJNR. DATA:objnr TYPE aufk-objnr. objnr = 'OR000000100014'.
DATA:t_status TYPE TABLE OF jstat WITH HEADER LINE.
"结果存放在STATUS表中
CALL FUNCTION 'STATUS_READ'
EXPORTING
client = sy-mandt
objnr = 'OR000001100154'
TABLES
status = t_status
EXCEPTIONS
object_not_found =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT t_status.
IF t_status-STAT = 'I0002' AND t_status-INACT = 'X'.
WRITE:'已删除'.
EXIT.
ENDIF.
ENDLOOP. DATA:line TYPE bsvx-sttxt.
CALL FUNCTION 'STATUS_TEXT_EDIT'
EXPORTING
FLG_USER_STAT = 'X'
OBJNR = 'OR000001100154'
ONLY_ACTIVE = 'X'
SPRAS = SY-LANGU
IMPORTING
LINE = line
EXCEPTIONS
OBJECT_NOT_FOUND =
OTHERS = .
WRITE:line.
SEARCH line FOR 'CLSD'.
IF sy-subrc = .
WRITE:'订单已关闭'.
ENDIF.
在SAP中对于如何获取订单的状态,提供了至少两个函数(我自己知道的),分别是 STATUS_READ 和 STATUS_TEXT_EDIT。下面简单介绍这两个函数
1.STATUS_READ 改函数的实现原理大概是通过订单的对象好(OR+订单号)到JEST中取出字段STAT INACT.
JEST表中STAT是一串从字面看不出意思的字符,可以根据STAT到表TJ02T中找到具体的描述。
下面是具体用法:
DATA:objnr TYPE aufk-objnr. objnr = 'OR000000100014'.
DATA:t_status TYPE TABLE OF jstat WITH HEADER LINE.
"结果存放在STATUS表中
CALL FUNCTION 'STATUS_READ'
EXPORTING
client = sy-mandt
objnr = objnr
TABLES
status = t_status
EXCEPTIONS
object_not_found =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT t_status.
IF t_status = 'I0046'.
WRITE:'订单已关闭'.
EXIT.
ENDIF.
ENDLOOP.
2.STATUS_TEXT_EDIT 改函数读取的结果是将订单状态拼接到一个字符串中,而且这个字符串是在前台订单上看到的状态,比较直接,这样做的结果就可能由于状态较多导致长度过长,在某些情况下取的数据可能不准。
下面是一段代码:
DATA:line TYPE bsvx-sttxt.
CALL FUNCTION 'STATUS_TEXT_EDIT'
EXPORTING
client = sy-mandt
objnr = objnr
spras = sy-langu
IMPORTING
line = line
EXCEPTIONS
object_not_found =
OTHERS . "
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. SEARCH line FOR 'CLSD'.
IF sy-subrc = .
WRITE:'订单已关闭'.
ENDIF.
下面介绍获取工序状态的方法:
状态一般都在JEST这表里面,到AFVC表里面找到对象号 再找TJ02表就可以了!
【ABAP系列】SAP 获取工单和工序的状态的更多相关文章
- SAP PM:参考维护工单创建测量凭证
(1)使用FM:CO_BC_ORDER_POST获取工单资料(Aufnr, aufpo and materials etc): (2)使用FM:MEASUREM_DOCUM_RFC_SINGLE_00 ...
- Java连接Jira,创建、修改、删除工单信息
还不了解Jira是什么的同学可以看一下这篇文章:https://www.cnblogs.com/wgblog-code/p/11750767.html 本篇文章主要介绍如何使用Java操作Jira,包 ...
- Java——Java连接Jira,创建、修改、删除工单信息
还不了解Jira是什么的同学可以看一下这篇文章:https://www.cnblogs.com/wgblog-code/p/11750767.html 本篇文章主要介绍如何使用Java操作Jira,包 ...
- abp加DDD开发:低耦合、可复用、可扩展的【工单】业务模块-简介和集成
前言 很多场景[单体+模块化]比微服务更合适,开发难度低.代码可复用性强.可扩展性强.模块化开发有些难点,模块启动与卸载.模块之间的依赖和通讯.asp.net core abp为我们提供了模块化开发能 ...
- Oracle EBS - 工单状态
Job status update 1. Job的几种状态 unreleased --未核发 released--已核发 complete --完成 complete no charges--完成不计 ...
- 【ABAP系列】SAP ABAP 工单增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 工单增强 ...
- 【ABAP系列】SAP ABAP获取域(domain)值的方法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP获取域(doma ...
- 【ABAP系列】SAP ABAP 控制ALV单元格编辑后获取新的数值
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 控制ALV单元 ...
- 【ABAP系列】SAP 生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 生产订单完工确认(CO1 ...
随机推荐
- CPM、CPC、CPA、PFP、CPS、CPL、CPR等广告术语是什么意思
CPM.CPC.CPA.PFP.CPS.CPL.CPR等广告术语是什么意思 一个网络媒体(网站)会包含有数十个甚至成千上万个页面,网络广告所投放的位置和价格 就牵涉到特定的页面以及浏览人数的多寡.这好 ...
- ES6中class的实现原理
一.在ES6以前实现类和继承 实现类的代码如下: function Person(name, age) { this.name = name; this.age = age; } Person.pro ...
- Zabbix--05 Grafana、percona、自动发现和自动注册
目录 一. Grafana自定义图形 1.安装grafana 2.安装并激活zabbix插件 3.数据展示 4.自定义图形仪表盘 5.自定义图形饼图 二. percona模版监控mysql 1.安装p ...
- pandas读取Excel文件
In [7]: import pandas as pd filname = 'ch02数据导入\\student.xlsx' data = pd.read_excel(filname) data Ou ...
- python 写matlab中的加性高斯白噪声AWGN
定义 原始信号:x 噪声信号:n 信噪比:SNR 信号长度:N def wgn(x, snr): snr = 10**(snr/10.0) xpower = np.sum(x**2)/len(x) n ...
- linux c++下遍历文件
https://blog.csdn.net/u013617144/article/details/44807333
- jmeter性能压测瓶颈排查-网络带宽
问题: 有一台机器做性能压测的时候,无论开多少个线程,QPS一直压不上去,而服务器和数据库的性能指标(主要是CPU和内存)一直维持在很低的水平. 希望帮忙排查一下原因. 过去看了下进行压测的接口代码, ...
- 图解NuGet服务器搭建和使用过程
听语音 浏览:0 | 更新:2017-10-31 09:13 | 标签:服务器 1 2 3 4 5 6 7 分步阅读 本篇经验将和大家介绍内网搭建NuGet服务器的步骤,希望对大家的工作和学习有所帮助 ...
- Python重写父类方法__len__
class Liar(list): def __len__(self): return super().__len__() + 3 # 直接写 super().__len__() 而没有 return ...
- ie下,首页打开页面非常慢
手里的项目,登录页面在IE下首次进入页面非常的慢,应该不只是登录页面,因为项目我也是半路接手的.开始以为是js的问题,后台把所有的代码都去掉,就一个空白的页面,然后慢慢的试试,最后才发现是一个CSS文 ...