You may have the need to track special objects that Abstract does not automatically record. Abstract does not provide an API for this purpose because it is easy for users to add records to the cross reference database directly. This document provides information about the files and fields to update in order to add your own custom information to the cross reference.

Objects in Abstract are arranged in a parent-child relationship. For example, if a menu calls a program the menu object is considered the parent and the program is considered the child. Rela- tionships are stored in a series of physical files in the Abstract library.

Object relations that have a sequence number (like menu numbers or source sequence numbers) go into OBJREF (i.e. OBJREF is basically loaded by source analysis):

PARNT Parent source member name (same as OBJNAM, below, if no source specified)
FLIBR Parent source file library (same as OBJLIB, below, if no source specified)
CALLP Child object
TLIBR Child object library
PTYPE Program Type. RGP or CLP**
**When adding objects (other than RPG or CLP), the value of PTYPE should be blank.
CTYPE Command used (e.g. CALL, TFRCTL, etc.)
SSEQ# Sequence number
RPGSRC Source file
LODDTE Load date (YYMD)
OTYP Object type of child (P=Program, M=Menu, F=File, etc.) see below for all codes.
OPGM Object type of parent
OCMD Always 'C'
OSPC Always blank (' ')
OBJNAM Parent object name
OBJLIB Parent object library

 

Object relationships that do not have a sequence number (like program-file relationships from DSPPGMREF) are stored in PGMREF.

WHLIB Parent object library
WHPNAM Parent object name
WHFNAM Child object
WHLNAM Child object library
WHSNAM Same as WHFNAM
WHFUSG Object usage: 0=Unknown, 1=Input, 2=Output, 4=Update
WHFUSG is a zoned number, but it's additive so Zoned 7=Input/Output/Update, Zoned 3=Input/Output, etc. 8=Unknown. We use the negative numbers for 'special' values (like SequelView, etc.). Users should not specify negative values when loading their own data.
WHRFNM Record format (if child is file)
WHOBJT Object type of child (P=Program, M=Menu, F=File, etc.)
LODDTE Load date (YYMD)
OPGM Object type of parent
OFIL Always 'F'
OZER Always '0'
OSPC Always blank (' ')

 

An object does not need to have a record in both files in order to be included on our list displays.

Code values for OTYP and OPGM:

OBJTYP OBJCOD HEXVALUE   OBJTYP OBJCOD HEXVALUE
ALRTBL A C1   LOCALE ž BF
AUTL a 81   M36 ð CA
BNDDIR 9 F9   M36CFG “x” "CB
CFGL l 93   MBR m 94
CHTFMT 0 F0   MENU M D4
CLD . 4B   MODD ; 5E
CLS < 4C   MODULE ¾ B2
CMD C C3   MSGF g 87
CNNL c 83   MSGQ = 7E
COSD ( 4D   NODGRP   "CC
CRQD   B7   NODL ú B3
CSI : 7A   NTBD ó B9
CSPMAP B C2   NWID 0 F0
CSPTBL E C5   NWSD [ BA
CTLD + 4E   OUTQ O D6
DEVD d 84   OVL v A5
DOC o 96   PAGDFN 1 F1
DRX # 7B   PAGSEG e 85
DTAARA D C4   PDG ª 5F
DTADCT 8 F8   PGM P D7
DTAQ | 4F   PNLGRP p 97
EDTD & 50   PRDAVL ¸ B4
EXITRG   "B8   PRDDFN N D5
FCT > 6E   PRDFUN u A4
FILE F C6   PRDLOD - 60
FLD f 86   PSFCFG o CD
FLR r 99   QMFORM / 61
FMT   40   QMQRY q 98
FNTSRC î BC   QRYDFN Q D8
FNTTBL ù BD   RCT R D9
FORMDF * 5C   S36 3 F3
FTR ^ B0   SBSD S E2
GSS G C7   SCHIDX X E7
HFSD @ 7C   SPADCT , 6B
IGCDCT I C9   SQLPKG 2 F2
IGCSRT i 89   SRVPGM õ B5
IGCTBL b 82   SSND % 6C
IMPACT _ 6D   SUB s A2
IPXD ï BE   SVRSTG ] BB
JOBD J D1   SYAUTS 4 F4
JOBQ j 91   TBL T E3
JOBSCD œ B1   USRIDX 5 F5
JRN n 95   USRPRF U E4
JRNRCV V E5   USRQ 6 F6
LIB L D3   USRSPC 7 F7
LIND ) 5D   WSCT ô B6

 

 See Also:

Abstract Load Cross Reference Overview

Load Custom Object Relations to Abstract

 

Still have questions? We can help. Submit a case to technical support

Last Modified On:
You don't have the appropriate permissions.
No, open a new Support Case