分类:
2008-06-30 10:50:38
程序状态数据结构的内容
From (26-32) |
To (33-39) |
格 式 |
长 度 |
键 字 |
信 息 |
1 |
10 |
字符 |
10 |
*PROC |
程序名 |
11 |
15 |
区十进制 |
5,0 |
*STATUS |
状态码 |
16 |
20 |
区十进制 |
5,0 |
|
前面状态码 |
21 |
28 |
字符 |
8 |
|
RPGⅣ源语言行号 |
29 |
36 |
字符 |
8 |
*ROUTINE |
RPGⅣ中发生异常/错误的子例程的名。在RPG子例程开始时或仅当*STATUS改为非零值程序调用后才更新子字段。以下为子例程名: *INIT程序初始化*DETL明细行*GETIN 取输入记录*TOTC总计计算 *TOTL总计行 *DETC明细计算 *OFL溢出行 *TERM程序末 *ROUTINE调用的程序名或过程名(头8 个字符) 注:只有在使用正常RPG周期时*ROUTINE才有效。当取非正常RPG周期时,能引起*ROUTINE反映一个错误值。 |
37 |
39 |
区十进制 |
3,0 |
PARMS |
从调用程序传递给这个程序的参数个数 |
40 |
42 |
字符 |
3 |
|
异常类型系统(系统异常CPF或机器异常MCH) |
43 |
46 |
字符 |
4 |
|
异常号。对于CPF字段是CPF的信息号,对于一个MCH,则是机器异常号。 |
47 |
50 |
字符 |
4 |
|
保留 |
51 |
80 |
字符 |
30 |
|
信息工作区。这个区由编译器内部使用,信息组织并非一致,可由用户显示。 |
81 |
90 |
字符 |
10 |
|
程序所在库名。 |
91 |
170 |
字符 |
80 |
|
抽取异常数据,当*STATUS为09999时,放在该字段的信息是CPF信息。 |
171 |
174 |
字符 |
4 |
|
标出产生RPG9001异常的异常标识 |
175 |
190 |
字符 |
16 |
|
不用 |
191 |
198 |
字符 |
8 |
|
作业进入系统的日期(*DATE格式)。对提交的跨夜批作业,在0点时将日期改为下一天。 |
199 |
200 |
区十进制 |
2,0 |
|
4位年的头2位,与*YEAR的头2位相同。 |
201 |
208 |
字符 |
8 |
|
做最后文件操作的文件名(仅在发生错误时更改) |
209 |
243 |
字符 |
35 |
|
最后文件用的状态信息。这个信息包括状态码,操作码,例程名,源语句行号、记录名,仅在发生错误时更改。 注:操作码的名字与INFDS中的*OPCODE 相同 |
244 |
253 |
字符 |
10 |
|
作业名 |
254 |
263 |
字符 |
10 |
|
来自用户配置文件的用户名 |
264 |
269 |
区十进制 |
6,0 |
|
作业号 |
270 |
275 |
区十进制 |
6,0 |
|
作业进入系统的日期(UDATE的格式)(UDATE是从这个日期得到的)。提交的跨夜批作业在0点时日期改为下一天。 |
276 |
281 |
区十进制 |
6,0 |
|
程序运行的日期(用UDATE格式的系统日期) |
282 |
287 |
区十进制 |
6(无小数) |
|
程序运行的时间,格式为hhmmss |
288 |
293 |
字符 |
6 |
|
程序编译日期(用UDATE格式) |
294 |
299 |
字符 |
6 |
|
程序编译时间(用hhmmss格式) |
300 |
303 |
字符 |
4 |
|
编译级别 |
304 |
313 |
字符 |
10 |
|
源文件名 |
314 |
323 |
字符 |
10 |
|
源库名 |
324 |
333 |
字符 |
10 |
|
源文件成员名 |
334 |
343 |
字符 |
10 |
|
包含过程的程序 |
344 |
353 |
字符 |
10 |
|
包含过程的模块 |
354 |
429 |
字符 |
76 |
|
不用 |
例如 :
DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++Comments++++++++++
DMYPSDS SDS
D PROC_NAME *PROC * Procedure name
D PGM_STATUS *STATUS * Status code
D PRV_STATUS 16 20S 0 * Previous status
D LINE_NUM 21 28 * Src list line num
D ROUTINE *ROUTINE * Routine name
D PARMS *PARMS * Num passed parms
D EXCP_TYPE 40 42 * Exception type
D EXCP_NUM 43 46 * Exception number
D*
D PGM_LIB 81 90 * Program library
D EXCP_DATA 91 170 * Exception data
D EXCP_ID 171 174 * Exception Id
D DATE 191 198 * Date (*DATE fmt)
D YEAR 199 200S 0 * Year (*YEAR fmt)
D LAST_FILE 201 208 * Last file used
D FILE_INFO 209 243 * File error info
D JOB_NAME 244 253 * Job name
D USER 254 263 * User name
D JOB_NUM 264 269S 0 * Job number
D JOB_DATE 270 275S 0 * Date (UDATE fmt)
D RUN_DATE 276 281S 0 * Run date (UDATE)
D RUN_TIME 282 287S 0 * Run time (UDATE)
D CRT_DATE 288 293 * Create date
D CRT_TIME 294 299 * Create time
D CPL_LEVEL 300 303 * Compiler level
D SRC_FILE 304 313 * Source file
D SRC_LIB 314 323 * Source file lib
D SRC_MBR 324 333 * Source file mbr
D PROC_PGM 334 343 * Pgm Proc is in
D PROC_MOD 344 353 * Mod Proc is in