背景

修改工单信息

思路

  1. 检查该工单号是否存在
  2. 检查该工单号的状态

实践

(1)同事相告

此方法不推荐,因为不完善,仅作记录而已

  1. 需要的表 :AUFK、JEST 、TJ02T
  2. 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 获取工单状态相关推荐

  1. 工单状态TECO/DLV

    工单状态TECO/DLV 订单DLV(交货已完成)/TECO(技术完成)的状态一直困扰着大家,现就这两个状态的作用作一下说明.在CO中这两个状态用于结果分析,即确认工单的余额是进入在制品还是进入差异, ...

  2. 工单状态的几个TABLE

    控制工单状态的几个TABLE JSTO:Status object information(可输入order type的status profile查询) JEST:Individual Object ...

  3. BAPI修改工单状态

    1,BAPI简介 可以通过调用BAPI BAPI_ALM_ORDER_MAINTAI来更改工单的状态,具体使用到的参数是IT_METHODS. IT_METHODS的定义如下: 各个字段含义如下: R ...

  4. SAP PP工单状态相关表

    控制工单状态的几个TABLE JSTO:Status object information(可输入order type的status profile查询) JEST:Individual Object ...

  5. 客服,运维等需要及时响应的工单系统的工单状态和工单流程设计

    最近公司为了提高客服解决问题的效率,同时需要区分客服的好坏,需要做一个客服工单系统. 下面分享一下客服工单系统,最核心的工单状态和工单流程的设计. 工单状态如下表,总共5个状态: 工单状态 处理的操作 ...

  6. 简洁灵活工单管理系统,支持工单模版字段、工单状态自定义

    一.开源项目简介 本项目为FeelDesk工单管理系统的开源版(OS),是基于开发者版(DEV)分离的标准版:支持工单模版字段.工单状态等自定义,可为不同的模版设置不同的路由规则:对工单需求并不复杂的 ...

  7. ebs查看服务状态_Oracle EBS - 工单状态

    Job status update 1. Job的几种状态 unreleased --未核发 released--已核发 complete --完成 complete no charges--完成不计 ...

  8. SAP 生产订单/工单状态说明

    生产订单是SAP中的重要业务单据,和成本核算密切相关.在SAP中,产品成本可以细分到订单,以实现精细化的成本管控.本文介绍生产订单的状态,以便后续深入理解SAP的成本核算. CRTD:(创建/Crea ...

  9. ABAP 获取状态的两个函数 STATUS_TEXT_EDIT 和 STATUS_READ 的简单介绍

    在SAP中对于如何获取订单的状态,提供了至少两个函数,分别是 STATUS_READ 和  STATUS_TEXT_EDIT.下面简单介绍这两个函数 1.STATUS_TEXT_EDIT 改函数读取的 ...

最新文章

  1. 使用Mask-RCNN在实例分割应用中克服过拟合
  2. J0ker的CISSP之路:复习Access Control(10)
  3. highcharts一天时间 与一周时间_如何规划自己一天的时间
  4. 适合小白的卷积神经网络图解
  5. 后端技术:IDEA构建maven项目生成的文件详解
  6. PHP2002,php - 错误:SQLSTATE [HY000] [2002]没有这样的文件或目录 - SO中文参考 - www.soinside.com...
  7. 新俊飞六合一口红机完整源码
  8. HDU 6356.Glad You Came-线段树(区间更新+剪枝) (2018 Multi-University Training Contest 5 1007)...
  9. 大学计算机四级报名,2016下半年安徽理工大学计算机四级报名
  10. html京东快报,练习3:仿京东快报.html
  11. find命令使用及实例
  12. YYText 库学习总结
  13. 台达三相PFC程序 +艾默生充电桩15kw模块 软件源码加原理图BOM
  14. linux自启动配置文件,linux 开机自启动设置
  15. 《算法艺术与信息学竞赛》之 递推 例一 月亮之眼 vijos 1540
  16. 爱乐馆-无损古典之刘汉盛榜单100牒
  17. 回望来时的路:构建之法东北师大站 2016春季学期
  18. 微信小程序页面添加背景图,图片全屏显示
  19. RD算法及其距离徙动校正(原理及matlab仿真)
  20. SRPG游戏开发(六)第三章 绘制地图 - 三 创建自己的SrpgTile

热门文章

  1. 酷安9.5高分神器,好东西藏不住!封杀所有APP的启动页开屏广告!
  2. 推荐一款不错的播放器客户端——乐鱼播放器
  3. 鼻炎康片怎么样 功效与作用有哪些?
  4. 运筹学那些事,专科学生学习运筹学之图论方法,No.7
  5. java-php-python-仓储ERP系统计算机毕业设计
  6. 2018年CSDN博客排名第一名,花落谁家?
  7. eclipse/myeclipse介绍
  8. window用户程序数据文件夹AppData
  9. 一、手把手教你 Vue2+Ts
  10. 官网消息!预聘制教师,年薪不低于40万!这所高校强势引才!