You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

System i V7R5M0下IBM COBOL程序状态结构(PSDS)使用咨询

在IBM i V7R5M0的COBOL中使用PSDS获取程序状态信息

不需要使用ACCEPT语句——IBM i上的COBOL程序状态数据结构(PSDS)会由系统自动填充,只要你按照规范正确定义并关联结构即可。

正确的PSDS定义与使用示例

以下是符合V7R5M0规范的代码示例,包含你需要的用户名、当前库、模块名字段:

IDENTIFICATION DIVISION.
PROGRAM-ID. COBOLPSDSDEMO.
SPECIAL-NAMES.
    PROGRAM-STATUS IS PSDS-STRUCT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 PSDS-STRUCT.
    *> 用户名(位置1-10)
    05 PSDS-USER          PIC X(10).
    *> 当前库(位置21-30)
    05 FILLER             PIC X(10).
    05 PSDS-CURRENT-LIB   PIC X(10).
    *> 模块名(位置41-50)
    05 FILLER             PIC X(10).
    05 PSDS-MODULE-NAME   PIC X(10).
PROCEDURE DIVISION.
MAIN-LOGIC.
    DISPLAY '当前运行用户: ' PSDS-USER.
    DISPLAY '当前库: ' PSDS-CURRENT-LIB.
    DISPLAY '模块名称: ' PSDS-MODULE-NAME.
    STOP RUN.

关键说明

  1. 关联结构:必须在SPECIAL-NAMES段落中通过PROGRAM-STATUS IS [结构名],将你定义的01级结构关联为系统识别的PSDS。
  2. 字段偏移匹配:字段的位置(通过FILLER占位填充偏移)和长度必须严格对应IBM i V7R5 COBOL的PSDS规范——比如用户名固定在第1-10位,当前库在21-30位,模块名在41-50位,这些偏移量可参考IBM官方文档的PSDS字段列表。
  3. 自动填充时机:程序启动时,系统会自动将对应的运行时数据注入PSDS结构的字段中,无需任何手动赋值或ACCEPT操作。
  4. ILE扩展:如果是ILE COBOL模块,还可以通过定义更多偏移字段,获取模块库、程序名、错误状态等额外信息,同样由系统自动填充。

内容的提问来源于stack exchange,提问作者user25168478

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:22:46