前言:在ABAP开发中有时候会涉及到状态的变更,比如销售订单的系统状态变更未审批->已审批、设备的在运->报废等,在这里就需要用到标准函数I_CHANGE_STATUS、STATUS_CHANGE_EXTERN针对这些对象的状态进行变更。

1.状态更改

使用案例:I_CHANGE_STATUS

参数说明:

OBJNR——对象号;

ESTAT_INACTIVE——当前用户状态;

ESTAT_ACTIVE——要修改的用户状态;

STSMA——用户状态参数文件;

注意:修改状态之前要判断当前状态是否与要修改的状态相同,不相同则能修改,否则会出现系统异常。

以上参数可从SAP前台界面获取,举例销售订单:路径va03->菜单栏转到->抬头->状态



如果从前台找不到,也可以从以下表中知道对应的参数:

TJ02——系统状态表:CRTD.REL等系统状态对象值;

TJ02T——系统状态文本表:CRTD.REL等系统状态对象值;

TJ03——对象类型表:

TJ03T——对象类型文本表:

TJ20——状态参数文件:状态参数文件ZNPCON等值;

TJ30——用户状态表:根据参数文件找对应的用户状态:appr已批准用户状态等值;可根据状态参数文件在此表中查询对象号。

JEST——单独对象状态:输入OR+000000+工单号可查询该工单的所有状态Number;

JSTO——状态对象信息:

2.状态查询

使用系统标准函数:STATUS_TEXT_EDIT

FORM frm_get_order_status.
DATA:l_stsma TYPE jsto-stsma,
l_line TYPE bsvx-sttxt,
l_user_line TYPE bsvx-sttxt,
l_stonr TYPE tj30-stonr. DATA:lv_objnr TYPE jest-objnr.
"取对象号"
SELECT SINGLE objnr INTO lv_objnr FROM vbak WHERE vbeln = <fs_opt>-vbeln. CALL FUNCTION 'STATUS_TEXT_EDIT'
EXPORTING
* CLIENT = SY-MANDT
flg_user_stat = 'X'
objnr = lv_objnr "对象号"
only_active = 'X'
spras = sy-langu
IMPORTING
e_stsma = l_stsma "对象状态参数文件"
line = l_line "状态文本:对象的状态拼接而成"
user_line = l_user_line "用户状态文本"
stonr = l_stonr
EXCEPTIONS
object_not_found = 1
OTHERS = 2. SEARCH l_user_line FOR 'B'. "如果存在B字符,则对象已审批"
IF sy-subrc = 0.
ENDIF.
ENDFORM.

ABAP——系统状态&用户状态修改、查询的更多相关文章

  1. 5、Linux基础--etc(文件系统)、启动模式、单用户模式修改密码、安装目录、日志目录、状态目录

    笔记 1.晨考 1.存放系统配置文件的目录 /etc 2.存储系统实时运行状态的目录 /proc 3.存储系统硬件接口的目录 /dev 4.查看系统挂载情况的命令 df -h 5.系统网卡文件路径 / ...

  2. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

    第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...

  3. 【用户状态】详细解读Oracle用户ACCOUNT_STATUS的九种状态

    转至:http://blog.itpub.net/519536/viewspace-672276/ DBA_USERS视图中ACCOUNT_STATUS记录的用户的当前状态,一般情况下在使用的正常用户 ...

  4. 与众不同 windows phone (23) - Device(设备)之硬件状态, 系统状态, 网络状态

    原文:与众不同 windows phone (23) - Device(设备)之硬件状态, 系统状态, 网络状态 [索引页][源码下载] 与众不同 windows phone (23) - Devic ...

  5. .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态

    原文:.NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态 在 Windows 系统中,一段时间不操作键盘和鼠标,屏幕便会关闭,系统会进入睡眠状态.但有些程序(比如游戏.视频和演示文稿)在运行过程中应该 ...

  6. Android课程---Activity中保存和恢复用户状态

    onSaveInstanceState 保存 在暂停之后和保存之前调用 onRestoreInstanceState 恢复 再启动之后和显示之前调用 package com.example.chens ...

  7. 常用的用户状态命令包括:whoami、id、groups、newgrp 等

    用户状态命令 常用的用户状态命令包括:whoami.id.groups.newgrp 等.

  8. LR脚本自定义显示Controller虚拟用户状态

    在场景监控的过程中,想知道场景运行时Vusers的运行状态以及每一个Vuser虚拟用户在本次场景运行的过程共迭代了多少次,那么就需要在VuGen脚本中自定义显示虚拟用户状态信息. 代码如下: stat ...

  9. WebApi用户登录验证及服务器端用户状态存取

    最近项目需要给手机端提供数据,采用WebApi的方式,之前的权限验证设计不是很好,这次采用的是Basic基础认证. 1.常见的认证方式 我们知道,asp.net的认证机制有很多种.对于WebApi也不 ...

随机推荐

  1. python mysql增加改查

    #python mysql增加改查,方便日后copy/paste .......... 1 #encoding: UTF-8 2 import pymysql 3 # # 打开数据库连接 4 db = ...

  2. P3309-[SDOI2014]向量集【线段树,凸壳】

    正题 题目链接:https://www.luogu.com.cn/problem/P3309 题目大意 \(n\)个操作 在序列末尾加入一个向量\((x,y)\) 询问加入的第\(l\sim r\)个 ...

  3. BurpSuite 功能概览

    简介 写作思想:相比较具体介绍某个功能的用法.会更加侧重于介绍 Burp 提供哪些功能.这样好处是在比较复杂的测试场景,如果Burp 刚好提供对应的功能,就不用花费精力造轮子了. 而需要掌握具体操作方 ...

  4. 如何无缝迁移 SpringCloud/Dubbo 应用到 Serverless 架构

    作者 | 行松 阿里巴巴云原生团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文章 ...

  5. redis在微服务领域的贡献

    本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 前言 说到redis,可能大家的脑海中蹦出的关键词是:NoSQL.KV.高性能.缓存等.但今天 ...

  6. 使用mobaXtrem显示CentOS图形

    安装环境 yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 \mesa-l ...

  7. Hibernate的介绍及入门小案例

    1.Hibernate的诞生 在以前使用传统的JDBC开发应用系统时,如果是小型应用系统,并不觉得有什么麻烦,但是对于大型应用系统的开发,使用JDBC就会显得力不从心,例如对几十,几百张包含几十个字段 ...

  8. 写学习abcde的简单AI(C++实现)

    #include <iostream> #include <time.h> #include <stdlib.h> #include <cmath> u ...

  9. Protocol handler start failed

    问题描述: 启动项目的时候出现的中文大体意思是:协议处理程序启动失败看着这个启动失败,下意识就想是不是端口占用了,结果换个端口还是不行,于是百度了一个办法 问题解决: 打开任务管理器,找到Java的后 ...

  10. Java(13)详解构造方法

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201600.html 博客主页:https://www.cnblogs.com/testero ...