【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 ...
随机推荐
- java封装小实例
封装是java语言的一个重要的特性,通过把对象的属性和操作方法封装在同一个类中,对外只提供公共方法对这些数据进行set和get,同时封装也能对方法进行封装.总之封装能够有效地隐藏内部的代码细节,从而使 ...
- 【转】linux lost+found文件夹
lost+found这个目录一般情况下是空的,当系统非法关机后,如果你丢失了一些文件,在这里能找回来 用来存放fsck过程中部分修复的文件的 如果你运行fsck命令(文件系统检查和修复命令),它也许会 ...
- Python format格式化时使用‘’{‘’或者‘’}‘’
用format格式化时,如果其中要用到‘’{‘’或者‘’}‘’,需要进行转义,否则报错 {{ ,}}使用同样的符号实现转义,而不是‘/’
- PHP程序员要看的书单
想提升自己,还得多看书!多看书!多看书! 下面是我收集到的一些PHP程序员应该看得书单及在线教程,自己也没有全部看完.共勉吧! Github地址:https://github.com/52fhy/ph ...
- java日志文件log4j.properties配置详解
一.Log4j配置 第一步:加入log4j-1.2.8.jar到lib下. 第二步:在CLASSPATH下建立log4j.properties.内容如下: 放在src下的话就不用配置 否则得去web. ...
- C++ GUI Qt4学习笔记05
C++ GUI Qt4学习笔记05 qtc++正则表达式 QIntValidator -- 只让用户输入整数 QDoubleValidator -- 只让用户输入浮 ...
- zabbix监控A主机到B主机的网络质量
采用zabbix自带的icmp ping即可进行监控: 1.安装fping 2.将fping安装后链接到/usr/sbin/fping下,设置组为zabbix; 3.增加监控项:icmpping[ip ...
- php----等比缩放图片
<?php /** * Created by PhpStorm. * User: admin * Date: 2019/11/19 * Time: 8:54 */ $filename = 'lo ...
- 6353. 【NOIP2019模拟】给(ca)
题目描述 题解 虫合 由于前几天被教♂育了,所以大力找了一发规律 先把m-1,设f[i][j]表示m≤i,有j个叶子节点的答案 转移显然,也显然是O(n^3)的 把f打出来后长这样: 1 1 1 1 ...
- Leetcode 10. Regular Expression Matching(递归,dp)
10. Regular Expression Matching Hard Given an input string (s) and a pattern (p), implement regular ...