FILE INFORMATION DATA STRUCTURE (INFDS)
*
-------------------------------------------------------------------
* FILE INFORMATION
DATA STRUCTURE
*
-------------------------------------------------------------------
* The INFDS contains
the following feedback information:
* File Feedback
(length is 80)
* Open Feedback
(length is 160)
* Input/Output
Feedback (length is 126)
* Device Specific
Feedback (length is variable)
* Get Attributes
Feedback (length is variable)
*
-------------------------------------------------------------------
* Standard RPG
feedback area 1-80
* -------------------------------
D INFDS ds
D File *FILE
* * File name
D OpenInd 9 9
* * File open?
D EOFInd 10 10
* * File at eof?
D FileStatus *STATUS
* * Status code
D OpCode *OPCODE
* * Last opcode
D Routinr *ROUTINE
* * RPG Routine
D ListNum 30 37
* * Listing line
D SpclStat 38 42S 0
* * SPECIAL status
D RecordFmt *RECORD
* * Record name
D MsgID 46 52
* * Error MSGID
*
----------------------------------------------------------------
* The next 4 fields
are available after POST
D Screen_P *SIZE
* * Screen size
D NLSIn_P *INP
* * NLS Input?
D NLSOut_P *OUT
* * NLS Output?
D NLSMode_P *MODE
* * NLS Mode?
*
----------------------------------------------------------------
* Open feedback area
81-240
* NOTE that getting
data beyond column 80 is expensive
* in terms of program
opens...
D ODP_TYPE 81 82
* * ODP Type
D FILE_NAME 83 92
* * File name
D LIBRARY 93 102
* * Library name
D SPOOL_FILE 103 112
* * Spool file name
D SPOOL_LIB 113 122
ΓΒ©copyright 2
* * Spool file lib
D SPOOL_NUM 123 124I
0
* * Spool file num
D RCD_LEN 125 126I 0
* * Max record len
D KEY_LEN 127 128I 0
* * Max key len
D MEMBER 129 138
* * Member name
D TYPE 147 148I 0
* * File type
D ROWS 152 153I 0
* * Num PRT/DSP rows
D COLUMNS 154 155I 0
* * Num PRT/DSP cols
D NUM_RCDS 156 159I 0
* * Num of records
D ACC_TYPE 160 161
* * Access type
D DUP_KEY 162 162
* * Duplicate key?
D SRC_FILE 163 163
* * Source file?
D VOL_OFF 184 185I 0
* * Vol label offs
D BLK_RCDS 186 187I 0
* * Max rcds in bl
D OVERFLOW 188 189I 0
* * Overflow line
D BLK_INCR 190 191I 0
* * Blk increment
D FLAGS1 196 196
* * Misc flags
D REQUESTER 197 206
* * Requester name
D OPEN_COUNT 207 208I
0
* * Open count
D BASED_MBRS 211 212I
0
* * Num based mbrs
D FLAGS2 213 213
* * Misc flags
D OPEN_ID 214 215
* * Open identifie
D RCDFMT_LEN 216 217I
0
* * Max rcd fmt le
D CCSID 218 219I 0
* * Database CCSID
D FLAGS3 220 220
* * Misc flags
D NUM_DEVS 227 228I 0
* * Num devs defin
*
----------------------------------------------------------------
* I/O feedback area
241-366
* * 241-242 not used
D WRITE_CNT 243 246I
0
* * Write count
D READ_CNT 247 250I 0
* * Read count
D WRTRD_CNT 251 254I
0
* * Write/read count
D OTHER_CNT 255 258I
0
* * Other I/O count
D OPERATION 260 260
* * Cuurent operatio
D IO_RCD_FMT 261 270
* * Rcd format name
D DEV_CLASS 271 272
* * Device class
D IO_PGM_DEV 273 282
* * Pgm device name
ΓΒ©copyright 3
D IO_RCD_LEN 283 286I
0
* * Rcd len of I/O
*
----------------------------------------------------------------
* POST area 241-nnn
* Display
D PGM_DEV_P 241 250
* * Program device
D DEV_DSC_P 251 260
* * Dev description
D USER_ID_P 261 270
* * User ID
D DEV_CLASS_P 271 271
* * Device class
D DEV_TYPE_P 272 277
* * Device type
D REQ_DEV_P 278 278
* * Requester?
D ACQ_STAT_P 279 279
* * Acquire status
D INV_STAT_P 280 280
* * Invite status
D DATA_AVAIL_P 281
281
* * Data available
D NUM_ROWS_P 282 283I
0
* * Number of rows
D NUM_COLS_P 284 285I
0
* * Number of cols
D BLINK_P 286 286
* * Allow blink?
D LINE_STAT_P 287 287
* * Online/offline?
D DSP_LOC_P 288 288
* * Display location
D DSP_TYPE_P 289 289
* * Display type
D KBD_TYPE_P 290 290
* * Keyboard type
D CTL_INFO_P 342 342
* * Controller info
D COLOR_DSP_P 343 343
* * Color capable?
D GRID_DSP_P 344 344
* * Grid line dsp?
*
----------------------------------------------------------------
* The following
fields apply to ISDN.
D ISDN_LEN_P 385 386I
0
* * Rmt number len
D ISDN_TYPE_P 387 388
* * Rmt number type
D ISDN_PLAN_P 389 390
* * Rmt number plan
D ISDN_NUM_P 391 430
* * Rmt number
D ISDN_SLEN_P 435
436I 0
* * Rmt sub-address
D ISDN_STYPE_P 437
438
* * Rmt sub-address
D ISDN_SNUM_P 439 478
* * Rmt sub-address
D ISDN_CON_P 480 480
* * Connection
D ISDN_RLEN_P 481
482I 0
* * Rmt address len
D ISDN_RNUM_P 483 514
* * Rmt address
D ISDN_ELEN_P 519 520
* * Extension len
D ISDN_ETYPE_P 521
521
* * Extension type
ΓΒ©copyright 4
D ISDN_ENUM_P 522 561
* * Extension num
D ISDN_XTYPE_P 566
566
* * X.25 call type
*
----------------------------------------------------------------
* ICF
D PGM_DEV_P 241 250
* * Program device
D DEV_DSC_P 251 260
* * Dev description
D USER_ID_P 261 270
* * User ID
D DEV_CLASS_P 271 271
* * Device class
D DEV_TYPE_P 272 272
* * Device type
D REQ_DEV_P 278 278
* * Requester?
D ACQ_STAT_P 279 279
* * Acquire status
D INV_STAT_P 280 280
* * Invite status
D DATA_AVAIL_P 281
281
* * Data available
D SES_STAT_P 291 291
* * Session status
D SYNC_LVL_P 292 292
* * Synch level
D CONV_TYPE_P 293 293
* * Conversation typ
D RMT_LOC_P 294 301
* * Remote location
D LCL_LU_P 302 309
* * Local LU name
D LCL_NETID_P 310 317
* * Local net ID
D RMT_LU_P 318 325
* * Remote LU
D RMT_NETID_P 326 333
* * Remote net ID
D APPC_MODE_P 334 341
* * APPC Mode
D LU6_STATE_P 345 345
* * LU6 conv state
D LU6_COR_P 346 353
* * LU6 conv
* * correlator
*
----------------------------------------------------------------
* The following
fields apply to ISDN.
D ISDN_LEN 385 386I 0
* * Rmt number len
D ISDN_TYPE 387 388
* * Rmt number type
D ISDN_PLAN 389 390
* * Rmt number plan
D ISDN_NUM 391 430
* * Rmt number
D ISDN_SLEN 435 436I
0
* * sub-addr len
D ISDN_STYPE 437 438
* * sub-addr type
D ISDN_SNUM 439 478
* * Rmt sub-address
D ISDN_CON 480 480
* * Connection
D ISDN_RLEN 481 482I
0
* * Rmt address len
D ISDN_RNUM 483 514
* * Rmt address
ΓΒ©copyright 5
D ISDN_ELEN 519 520
* * Extension len
D ISDN_ETYPE 521 521
* * Extension type
D ISDN_ENUM 522 561
* * Extension num
D ISDN_XTYPE 566 566
* * X.25 call type
*
----------------------------------------------------------------
* The following
information available only when program started
* result of a
received program start req. (P_ stands for protected)
D TRAN_PGM 567 630
* * Trans pgm name
D P_LUWIDLN 631 631
* * LUWID fld len
D P_LUNAMELN 632 632
* * LU-NAME len
D P_LUNAME 633 649
* * LU-NAME
D P_LUWIDIN 650 655
* * LUWID instance
D P_LUWIDSEQ 656 657I
0
* * LUWID seq num
*
----------------------------------------------------------------
* Below info is
available only when a protected conversation
* is started on a
remote system. (U_ stands for unprotected)
D U_LUWIDLN 658 658
* * LUWID fld len
D U_LUNAMELN 659 659
* * LU-NAME len
D U_LUNAME 660 676
* * LU-NAME
D U_LUWIDIN 677 682
* * LUWID instance
D U_LUWIDSEQ 683 684I
0
* * LUWID seq num
*
----------------------------------------------------------------
* Device independent
area 367-nnn
* NOTE that this area
is shared with the POST feedback area above!
*
----------------------------------------------------------------
* Printer
D CUR_LINE 367 368I 0
* * Current line num
D CUR_PAGE 369 372I 0
* * Current page cnt
D PRT_MAJOR 401 402
* * Major ret code
D PRT_MINOR 403 404
* * Minor ret code
*
----------------------------------------------------------------
* Disk
D FDBK_SIZE 367 370I
0
* * Size of DB fdbk
D JOIN_BITS 371 374I
0
* * JFILE bits
D LOCK_RCDS 377 378I
0
* * Nbr locked rcds
D POS_BITS 385 385
* * File pos bits
D DLT_BITS 384 384
* * Rcd deleted bits
D NUM_KEYS 387 388I 0
* * Num keys (bin)
D KEY_LEN 393 394I 0
* * Key length
D MBR_NUM 395 396I 0
ΓΒ©copyright 6
* * Member number
D DB_RRN 397 400I 0
* * Relative-rcd-num
D KEY 401 2400
* * Key value (max
* * size 2000)
*
----------------------------------------------------------------
* ICF
D ICF_AID 369 369
* * AID byte
D ICF_LEN 372 375I 0
* * Actual data len
D ICF_MAJOR 401 402
* * Major ret code
D ICF_MINOR 403 404
* * Minor ret code
D SNA_SENSE 405 412
* * SNA sense rc
D SAFE_IND 413 413
* * Safe indicator
D RQSWRT 415 415
* * Request write
D RMT_FMT 416 425
* * Remote rcd fmt
D ICF_MODE 430 437
* * Mode name
*
----------------------------------------------------------------
* Display
D DSP_FLAG1 367 368
* * Display flags
D DSP_AID 369 369
* * AID byte
D CURSOR 370 371
* * Cursor location
D DATA_LEN 372 375I 0
* * Actual data len
D SF_RRN 376 377I 0
* * Subfile rrn
D MIN_RRN 378 379I 0
* * Subfile min rrn
D NUM_RCDS 380 381I 0
* * Subfile num rcds
D ACT_CURS 382 383
* * Active window
* * cursor location
D DSP_MAJOR 401 402
* * Major ret code
D DSP_MINOR 403 404
* * Minor ret code
ΓΒ©copyright 7
PROGRAM STATUS DATA STRUCTURE (PSDS)
* -------------------------------------------------------------
* Program Status Data
Structure -- PSDS
*
-------------------------------------------------------------
D 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 nu
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 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
D CURR_USER 358 367
* Mod Proc is in
*
-------------------------------------------------------------
ΓΒ©copyright 8
* Values of
PGM_STATUS (*STATUS) -- if %Status = 00100 ...
*
-------------------------------------------------------------
* Normal Codes
*
* Code Condition
* 00000 No
exception/error occurred
* 00001 Called
program returned with the LR indicator on.
* Exception/Error
Codes
* Code Condition
* 00100 Value out of
range for string operation
* 00101 Negative
square root
* 00102 Divide by
zero
* 00103 An
intermediate result is not large enough to
* contain the result.
* 00104 Float
underflow. An intermediate value is too
* small to be contained
in the intermediate
* result field
* 00112 Invalid Date,
Time or Timestamp value.
* 00113 Date overflow
or underflow. (For example, when
* the result of a
Date calculation
* results in a number
greater than HIVAL or less
* than LOVAL.)
* 00114 Date mapping
errors, where a Date is mapped from a 4
* character year to a
2 character year and the date range
* is not 1940-2039.
* 00120 Table or
array out of sequence.
* 00121 Array index
not valid
* 00122 OCCUR outside
of range
* 00123 Reset attempted
during initialization step of program
* 00202 Called
program or procedure failed; halt indicator
* (H1 through H9) not
on
* 00211 Error calling
program or procedure
* 00222 Pointer or
parameter error
* 00231 Called
program or procedure returned with halt
* indicator on
* 00232 Halt
indicator on in this program
* 00233 Halt
indicator on when RETURN operation run
* 00299 RPG IV
formatted dump failed
* 00333 Error on
DSPLY operation
* 00401 Data area
specified on IN/OUT not found
* 00402 PDA not valid
for non-prestart job
* 00411 Data area
type or length does not match
* 00412 Data area not
locked for output
* 00413 Error on
IN/OUT operation
* 00414 User not
authorized to use data area
* 00415 User not
authorized to change data area
* 00421 Error on
UNLOCK operation
* 00425 Length
requested for storage allocation is out of range
* 00426 Error
encountered during storage management operation
* 00431 Data area
previously locked by another program
* 00432 Data area
locked by program in the same process
* 00450 Character
field not entirely enclosed by shift-out
* and shift-in
characters
* 00501 Failure to
retrieve sort sequence.
* 00502 Failure to
convert sort sequence.
* 00802 Commitment control
not active.
* 00803 Rollback
operation failed.
* 00804 Error
occurred on COMMIT operation
* 00805 Error
occurred on ROLBK operation
* 00907 Decimal data
error (digit or sign not valid)
* 00970 The level
number of the compiler used to generate
* the program does
not agree with the level number
* of the RPG IV
run-time subroutines
* 09998 Internal
failure in ILE RPG/400 compiler or in
* run-time
subroutines
* 09999 Program
exception in system routine.