ABAP 获取工单状态
背景
修改工单信息
思路
- 检查该工单号是否存在
- 检查该工单号的状态
实践
(1)同事相告
此方法不推荐,因为不完善,仅作记录而已
- 需要的表 :AUFK、JEST 、TJ02T
- SQL 语句:
SELECT AUFNR,A~objnr,JEST~STAT,TXT04,TXT30 FROM AUFK AS A
INNER JOIN jest ON A~objnr = jest~OBJNR
INNER JOIN TJ02T AS t ON t~ISTAT = jest~STAT
WHERE INACT = ''AND SPRAS NE '1' "语言代码 为1 表示已经删除了"AND SPRAS NE 'D' "语言代码 为D 表示已经删除了"
INTO TABLE @DATA(GT_ITAB).
(2)使用函数
函数一:
STATUS_READ 改函数的实现原理:通过订单的对象号(OR+订单号)到JEST中取出字段STAT INACT,再根据STAT到表TJ02T中找到具体的描述。
① 判断 工单是否存在
DATA : objnr LIKE aufk-objnr. "仅作判断工单是否存在"
DATA : gt_aufnr LIKE aufk-aufnr. "输入的工单(需要判断是否存在的工单)"
gt_aufnr = 'WO19030287' ."工单赋值"
SELECT SINGLE objnr INTO objnr FROM aufk WHERE aufnr = gt_aufnr.IF sy-subrc <> 0. "该工单不存在"ELSE . "工单存在""调用函数判断"PERFORM CHECK_AUF using objnr.ENDIF.
② 若工单存在,则调用函数STATUS_READ
FORM CHECK_AUF using p_objnr.DATA : gt_status LIKE jstat OCCURS 0.CALL FUNCTION 'STATUS_READ'EXPORTINGobjnr = p_objnrTABLESstatus = gt_statusEXCEPTIONSobject_not_found = 1OTHERS = 2.ENDFORM.
③ 我们需要在子程序(CHECK_AUF)中进行判断工单是否有效
LOOP AT gt_status.IF gt_status-STAT = 'I0047' and gt_status-INACT = 'X'.WRITE:'工单已失效!'.EXIT.ENDIF.
ENDLOOP.
完整demo
DATA : objnr LIKE aufk-objnr. "仅作判断工单是否存在"
DATA : gt_aufnr LIKE aufk-aufnr. "输入的工单(需要判断是否存在的工单)"
gt_aufnr = 'WO19030287' ."工单赋值"
SELECT SINGLE objnr INTO objnr FROM aufk WHERE aufnr = gt_aufnr.IF sy-subrc <> 0. "该工单不存在"ELSE . "工单存在""调用函数STATUS_READ,查询工单信息"DATA : gt_status LIKE jstat OCCURS 0.CALL FUNCTION 'STATUS_READ'EXPORTINGobjnr = p_objnrTABLESstatus = gt_statusEXCEPTIONSobject_not_found = 1OTHERS = 2."判断工单是否有效"LOOP AT gt_status INTO DATA(WA_STATUS).IF WA_STATUS-STAT = 'I0047' and WA_STATUS-INACT = 'X'.WRITE:'工单已失效!'.EXIT.ENDIF.
ENDLOOP.ENDIF.
函数二:
STATUS_TEXT_EDIT 改函数读取的结果是将订单状态拼接到一个字符串中,而且这个字符串是在前台订单上看到的状态,比较直接,这样做的结果就可能由于状态较多导致长度过长,在某些情况下取的数据可能不准。
① 判断 工单是否存在
② 若工单存在,则调用函数 STATUS_TEXT_EDIT
FORM CHECK_AUF using p_objnr.
DATA:line TYPE bsvx-sttxt.CALL FUNCTION 'STATUS_TEXT_EDIT'EXPORTINGFLG_USER_STAT = 'X'OBJNR = p_objnrONLY_ACTIVE = 'X'SPRAS = SY-LANGUIMPORTINGLINE = lineEXCEPTIONSOBJECT_NOT_FOUND = 01OTHERS = 02.
ENDFORM.
③ 我们需要在子程序(CHECK_AUF)中进行判断工单是否有效
SEARCH line FOR 'CLSD'.IF sy-subrc = 0.WRITE:'订单已失效'.ENDIF.
完整demo:
DATA : objnr LIKE aufk-objnr. "仅作判断工单是否存在"
DATA : gt_aufnr LIKE aufk-aufnr. "输入的工单(需要判断是否存在的工单)"
gt_aufnr = 'WO19030287' ."工单赋值"
SELECT SINGLE objnr INTO objnr FROM aufk WHERE aufnr = gt_aufnr.IF sy-subrc <> 0. "该工单不存在"ELSE . "工单存在""调用函数STATUS_READ,查询工单信息"DATA:line TYPE bsvx-sttxt.CALL FUNCTION 'STATUS_TEXT_EDIT'EXPORTINGFLG_USER_STAT = 'X'OBJNR = p_objnrONLY_ACTIVE = 'X'SPRAS = SY-LANGUIMPORTINGLINE = lineEXCEPTIONSOBJECT_NOT_FOUND = 01OTHERS = 02."判断工单是否有效"SEARCH line FOR 'CLSD'.IF sy-subrc = 0.WRITE:'订单已失效'.ENDIF.ENDIF.
参考链接 : https://www.cnblogs.com/SAPmatinal/p/11181523.html
ABAP 获取工单状态相关推荐
- 工单状态TECO/DLV
工单状态TECO/DLV 订单DLV(交货已完成)/TECO(技术完成)的状态一直困扰着大家,现就这两个状态的作用作一下说明.在CO中这两个状态用于结果分析,即确认工单的余额是进入在制品还是进入差异, ...
- 工单状态的几个TABLE
控制工单状态的几个TABLE JSTO:Status object information(可输入order type的status profile查询) JEST:Individual Object ...
- BAPI修改工单状态
1,BAPI简介 可以通过调用BAPI BAPI_ALM_ORDER_MAINTAI来更改工单的状态,具体使用到的参数是IT_METHODS. IT_METHODS的定义如下: 各个字段含义如下: R ...
- SAP PP工单状态相关表
控制工单状态的几个TABLE JSTO:Status object information(可输入order type的status profile查询) JEST:Individual Object ...
- 客服,运维等需要及时响应的工单系统的工单状态和工单流程设计
最近公司为了提高客服解决问题的效率,同时需要区分客服的好坏,需要做一个客服工单系统. 下面分享一下客服工单系统,最核心的工单状态和工单流程的设计. 工单状态如下表,总共5个状态: 工单状态 处理的操作 ...
- 简洁灵活工单管理系统,支持工单模版字段、工单状态自定义
一.开源项目简介 本项目为FeelDesk工单管理系统的开源版(OS),是基于开发者版(DEV)分离的标准版:支持工单模版字段.工单状态等自定义,可为不同的模版设置不同的路由规则:对工单需求并不复杂的 ...
- ebs查看服务状态_Oracle EBS - 工单状态
Job status update 1. Job的几种状态 unreleased --未核发 released--已核发 complete --完成 complete no charges--完成不计 ...
- SAP 生产订单/工单状态说明
生产订单是SAP中的重要业务单据,和成本核算密切相关.在SAP中,产品成本可以细分到订单,以实现精细化的成本管控.本文介绍生产订单的状态,以便后续深入理解SAP的成本核算. CRTD:(创建/Crea ...
- ABAP 获取状态的两个函数 STATUS_TEXT_EDIT 和 STATUS_READ 的简单介绍
在SAP中对于如何获取订单的状态,提供了至少两个函数,分别是 STATUS_READ 和 STATUS_TEXT_EDIT.下面简单介绍这两个函数 1.STATUS_TEXT_EDIT 改函数读取的 ...
最新文章
- 使用Mask-RCNN在实例分割应用中克服过拟合
- J0ker的CISSP之路:复习Access Control(10)
- highcharts一天时间 与一周时间_如何规划自己一天的时间
- 适合小白的卷积神经网络图解
- 后端技术:IDEA构建maven项目生成的文件详解
- PHP2002,php - 错误:SQLSTATE [HY000] [2002]没有这样的文件或目录 - SO中文参考 - www.soinside.com...
- 新俊飞六合一口红机完整源码
- HDU 6356.Glad You Came-线段树(区间更新+剪枝) (2018 Multi-University Training Contest 5 1007)...
- 大学计算机四级报名,2016下半年安徽理工大学计算机四级报名
- html京东快报,练习3:仿京东快报.html
- find命令使用及实例
- YYText 库学习总结
- 台达三相PFC程序 +艾默生充电桩15kw模块 软件源码加原理图BOM
- linux自启动配置文件,linux 开机自启动设置
- 《算法艺术与信息学竞赛》之 递推 例一 月亮之眼 vijos 1540
- 爱乐馆-无损古典之刘汉盛榜单100牒
- 回望来时的路:构建之法东北师大站 2016春季学期
- 微信小程序页面添加背景图,图片全屏显示
- RD算法及其距离徙动校正(原理及matlab仿真)
- SRPG游戏开发(六)第三章 绘制地图 - 三 创建自己的SrpgTile