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

1.STATUS_TEXT_EDIT 改函数读取的结果是将订单状态拼接到一个字符串中,而且这个字符串是在前台订单上看到的状态,比较直接,这样做的结果就可能由于状态较多导致长度过长,在某些情况下取的数据可能不准。

  SELECTdwerk     "工厂dauat     "订单类型dauty     "订单类别projn     "wbsafpo~aufnrposnraufk~objnrINTO CORRESPONDING FIELDS OF TABLE gt_afpoFROM afkoJOIN aufk  ON afko~aufnr = aufk~aufnrJOIN afpo ON afko~aufnr = afpo~aufnrLEFT JOIN vsaufk ON vsaufk~aufnr = afpo~aufnrWHERE projn IN s_wbsAND dwerk IN s_werksAND dauat = 'TGD1'AND afpo~aufnr IN s_aufnr .SORT gt_afpo BY aufnr posnr.LOOP AT gt_afpo INTO gw_afpo.
*获取工单状态CALL FUNCTION 'STATUS_TEXT_EDIT'EXPORTINGclient           = sy-mandt
*       FLG_USER_STAT    = ' 'objnr            = gw_afpo-objnronly_active      = 'X'spras            = sy-langu
*       BYPASS_BUFFER    = ' 'IMPORTING
*       ANW_STAT_EXISTING       =
*       E_STSMA          =line             = gw_afpo-state
*       USER_LINE        =
*       STONR            =EXCEPTIONSobject_not_found = 1OTHERS           = 2.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.

至于怎么将状态为 DLV 的删除,用了这么几种方法

一开始是delete 。。。where 。。。like。。。,但是SAP并不支持这种写法

后来发现了这么几种方法

1.search

2.cs     delete gt_afpo where state cs 'DLV'.

2.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'EXPORTINGclient           = sy-mandtobjnr            = objnrTABLESstatus           = t_statusEXCEPTIONSobject_not_found = 1OTHERS           = 2.
IF sy-subrc <> 0.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT t_status.IF t_status = 'I0046'.WRITE:'订单已关闭'.EXIT.ENDIF.
ENDLOOP.

ABAP 获取状态的两个函数 STATUS_TEXT_EDIT 和 STATUS_READ 的简单介绍相关推荐

  1. abap获取日期_ABAP 日期时间函数

    获取查询日期该年的第几周 输出格式:YYYYWW 获取查询日期该天是星期几 获取查询日期该年的第几周和这周周一.周日日期 周起始日是周一 获取查询日期该年的第几周和这周周一.周日日期,该天是周几 周起 ...

  2. ABAP SQL取最大值及聚合函数OUNT, AVG, MAX的简单例子 SAP

    在ABAP里取最大值,有好几种方法 第一种 SELECT posnr "项目号FROM resb AS aJOIN afko AS b ON a~aufnr = b~aufnrINTO TA ...

  3. 两个获取http页面的c#函数

    一个用C#写的windows应用程序,作用嘛,就是对asp程序已知的20种漏洞进行扫描,显示源程序.在这个应用程序中用到两种获得http页面的方 法,一种是直接用httpwebrequest类,而另一 ...

  4. Android 开发的两种框架 MVC和MVP 的简单分析

    在常见的android开发框架,有MVC和MVP两种,下面我来分别简单介绍一下. 一.MVC框架 MVC,即model(模型),view(视图),controler(控制器)三个单词的简称. 其中Mo ...

  5. 获取checkbox选中状态的两种方式_张童瑶的博客

    获取checkbox选中状态的两种方式 获取checkbox选中状态的两种方式 第一种方式 第二种方式 我的其他文章 我的其他网站 获取checkbox选中状态的两种方式 我在开发项目的时候遇到这个问 ...

  6. 获取文件名称的两个函数

    获取文件名称的两个函数 FORM f4_filename  changing c_file. CALL FUNCTION 'KD_GET_FILENAME_ON_F4' EXPORTING mask ...

  7. php获取总共内存_php获取页面运行使用内存的两个函数

    原来php也是可以获取内存的,比如我们这个页面运行下来花了多少内存,都是可以用memory_get_usage()函数来读取出来的.那么,以后我们可以用这个函数方便的判断咱们写的程序优化度高不高,因为 ...

  8. ABAP 获取工单状态

    背景 修改工单信息 思路 检查该工单号是否存在 检查该工单号的状态 实践 (1)同事相告 此方法不推荐,因为不完善,仅作记录而已 需要的表 :AUFK.JEST .TJ02T SQL 语句: SELE ...

  9. php 获取 参数名和参数值,如何快速的获得url地址中参数名和参数值(在看PHP手册的时候无意间看见这两个函数,猜想能不能搭配使用。)...

    今天在看手册的时候,无意间看到这两个内置函数parse_url和parse_str.看到他们的用法后,我突然想到能不能利用这两个函数来获得url地址中的参数.为了验证我的猜想,我就以如下url为例子: ...

最新文章

  1. excel高级函数_PowerQuery 进阶之 M 函数学习
  2. 微信月活跃用户数6.97亿 全球十大消息应用第四
  3. shell脚本调试中打开set选项
  4. 算法和时间复杂度概念(一级)
  5. 【线上分享】如何使用开源SFU构建RTC云服务
  6. bookStore第二篇【图书模块、前台页面】
  7. 简单概述 .NET Framework 各版本区别
  8. 程序员的算法课(11)-KMP算法
  9. linux将屏幕输出内容转储到文件,Linux实时将所有输出重定向到文件
  10. 对openflow 1.0协议的扩展
  11. 新建一个包,并生成可以直接在命令行执行的指令
  12. java web服务器cpu占用过高的处理 (2014-07-21 17:17:36)
  13. 驱动加载工具 DriverLoader 1.0
  14. echarts官网的使用方法
  15. cpu个人训练四 K 打地鼠游戏
  16. 64位计算机可以装32位的系统么,电脑是要装32位还是64位系统?
  17. word实现奇数页页眉用本章标题,偶数页用论文标题
  18. 【PCL】【PCL实践】【PCL的使用学习记录】
  19. java 压缩图片时候加水印
  20. 购买阿里云服务器搭建网站或个人博客详细教程

热门文章

  1. 【itchat】基于web端微信 的微信个人号接口
  2. 摩尔庄园不同服务器账号互通吗,摩尔庄园手游服务器互通吗 服务器互通攻略...
  3. 全新项目保定某建材公司重型横梁式货架安装现场部分展示—2022年海格里斯HEGERLS合作客户案例
  4. 支付系统设计:银行卡支付(三)
  5. 【架构师(第五十篇)】 服务端开发之自动发布到测试机
  6. 如何将Oracle中同一列的多行记录拼接成一个字符串
  7. Python内置工具(tools)总结
  8. 计算机一级难还是二级难 有什么区别
  9. C语言实现扫雷小游戏(排雷时可展开)
  10. 复杂环境下结构光光条中心的几种提取方法