Retrieves a list of objects contained by a specific Grouping object.
Authorization
Administrator or user
Syntax
APIRET APIENTRY FLGNavigate( PSZ pszFLGID,
PFLGHEADERAREA * ppListStruct,
PFLGEXTCODE pExtCode );
Parameters
Characters 1-6 of this ID identify the object type of this instance.
Characters 7-16 of this ID are the system-generated unique instance identifier.
See Appendix D, Information Catalog Manager reason codes for an explanation of the returned reason codes.
Output structure
FLGNavigate produces an output structure containing a list of objects contained by the specified object, as shown in Figure 131.
The object area of the output structure contains a list of all the object instances contained by the specified object instance. Returned for each object instance are the values of the FLGID, the object instance external name, and the child indicator, which indicates whether the object contains any other objects.
Figure 131. FLGNavigate output structure
For an explanation of the meanings of the byte offsets, see Chapter 4, The Information Catalog Manager input and output structures.
Usage
The output structure contains the following property values for each instance returned:
The output list is sorted by object type name, then by the 80-byte name of the object instance according to the collating order used by the underlying database management system.
The maximum number of contained object instances that can be returned by FLGNavigate is approximately 5000, depending on the storage available on your machine.
Freeing memory allocated for an output structure
If FLGNavigate returned data in the output structure, you must save the data returned in the output structure and then call FLGFreeMem (see FLGFreeMem). Do not use other methods, for example, C language instructions, to free memory.
Figure 133 navigates through a structure of objects that contain other objects. In this example, ACCOUNTING contains three objects: ACCPAYABLE, ACCRECBLE, and GLEDGER. The structure is illustrated in Figure 132.
Figure 132. The contents of the ACCOUNTING object ACCOUNTING ACCPAYABLE PAYABLE1 PAYABLE2 ACCRECBLE GLEDGER
Figure 133 shows the C language code required to issue the FLGNavigate API call.
Figure 133. Sample C language call to FLGNavigate
APIRET rc; // reason code from FLGNavigate
UCHAR pszFLGID[FLG_ID_LEN + 1];
PFLGHEADERAREA * ppListStruct;
FLGEXTCODE ExtCode = 0; // Declare extended code
.
. /* set pszParentID to FLGID of 'ACCOUNTING' */
.
rc = FLGNavigate (pszFLGID,
ppListStruct, // pass the address of
// output structure pointer
&ExtCode);
Figure 134 illustrates the output structure for this API call.
Figure 134. Sample output structure for FLGNavigate