【ABAP】硬核详解 获取/新增/更改状态 即STATUS_TEXT_EDIT /STATUS_READ的用法

前言:在SAP系统中有很多时候 我们需要记录单据的当前状态 以下以检验批状态举例

当我们需要获取他的状态时有以下两种方式

1、STATUS_TEXT_EDIT:

当我们使用此BAPI获取状态 是从JEST获取当前对象ID在JEST-INACT = ABAP_FALSE 的值去取对应语言的状态文本(TJ02T-TXT04)予以展示

2、STATUS_READ

当我们使用此BAPI获取状态 是从JEST直接获取当前对象ID在JEST中的值予以展示 当然可以在ONLY_ACTIVE里限定 获取未激活还是已激活的

3、STATUS_UPDATE 状态的新增

当我们要新增状态时 首先要明确当前对象ID的类型 可在JSTO表内查看

对应代码如下:

  
//1、STATUS_TEXT_EDIT
    DATA:ls_status TYPE bsvx-sttxt,
         lt_status TYPE TABLE OF bsvx-sttxt.

    CLEAR:e_text.

    CALL FUNCTION 'STATUS_TEXT_EDIT' "订单状态文本
      EXPORTING
        ob
<think>我们有一个数组 `icon_text_tab`,它被声明为 `static const STRING_ID_E` 类型,大小为 `STATUS_ICON_ID_MAX`。 从数组内容看,它包含了一系列的字符串ID(如STR_STATUS_BAR_ICON_WLAN等),这些ID通常用于在程序中引用字符串资源(例如在嵌入式系统中,字符串资源通过ID来索引)。 因此,这个数据结构是一个字符串ID数组,用于映射状态栏图标的文本标签(或者说是图标对应的字符串资源的ID)。 具体来说: - 它是静态常量数组,意味着它只在当前文件可见,且内容不可修改。 - 数组元素类型为 `STRING_ID_E`,这很可能是一个枚举类型(enum),定义了各个字符串资源的ID。 - 数组大小由 `STATUS_ICON_ID_MAX` 决定,这通常是一个枚举值,表示状态栏图标的最大数量,用于定义数组边界。 这个数组的作用可能是:通过状态栏图标的索引(即数组下标)来获取该图标对应的字符串资源ID,从而可以加载显示相应的文本标签。 示例:如果我们要获取第一个图标(索引0)的字符串ID,就是 `STR_STATUS_BAR_ICON_WLAN`,然后通过这个ID可以获取到实际的字符串(比如"WLAN")。 注意:注释中有一项说明“shake is not used”,但这里并没有出现shake,而是在`STR_STATUS_BAR_ICON_SETTING`后面有一个注释,说明shake未被使用。这里可能是指原本计划有一个shake(摇动)图标,但实际没有使用,所以用`STR_STATUS_BAR_ICON_SETTING`代替了(或者该位置原本是shake,现在改为了setting)。 另外,数组中有两个`STR_STATUS_BAR_ICON_SETTING`,分别位于索引6和索引13,这可能是两个不同的设置项?或者其中一个应该是其他图标?需要根据实际上下文确认。 总结:这是一个状态栏图标字符串资源ID的常量数组,用于根据图标索引获取字符串ID。</think>这个数据结构是一个静态常量数组,用于映射状态栏图标标识符到对应的字符串资源ID。以下是详细分析: ### 数据结构解析 1. **类型**:`static const STRING_ID_E` - `static`:表示数组仅在当前文件作用域可见 - `const`:表示数组内容不可修改 - `STRING_ID_E`:很可能是枚举类型,定义字符串资源的ID 2. **数组名称**:`icon_text_tab` - 表明这是一个图标文本的映射表(table) 3. **数组大小**:`STATUS_ICON_ID_MAX` - 表示状态栏图标的最大数量,用作数组长度 4. **元素内容**: - 包含16个字符串资源ID(如`STR_STATUS_BAR_ICON_WLAN`) - 每个元素对应特定状态栏图标的文本描述 - 注释说明`STR_STATUS_BAR_ICON_SETTING`被重复使用(索引6和13),且"shake"图标未使用 ### 典型用途 ```c // 获取第3个图标(亮度调节)的文本资源ID STRING_ID_E brightness_id = icon_text_tab[2]; // 使用资源ID获取实际文本 const char* brightness_text = get_string_resource(brightness_id); ``` 此数组通常用于: 1. 状态栏渲染时获取图标对应的文本标签 2. 多语言支持(通过字符串资源ID加载不同语言文本) 3. 图标管理系统中建立图标标识符到显示文本的映射 ### 元素对应关系示例 | 数组索引 | 图标类型 | 资源ID常量 | |----------|------------------------|----------------------------| | 0 | WLAN图标 | STR_STATUS_BAR_ICON_WLAN | | 1 | 移动网络图标 | STR_STATUS_BAR_ICON_MOBILE | | 2 | 亮度调节图标 | STR_STATUS_BAR_ICON_BRIGHTNESS | | 3 | 静音图标 | STR_STATUS_BAR_ICON_MUTE | | ... | ... | ... | | 6,13 | 设置图标(重复使用) | STR_STATUS_BAR_ICON_SETTING|
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ramos丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值