Cᑍ if more entries exist than can fit in one user space
Cᑍ
C QUSIS IFEQ 'P'
Cᑍ
Cᑍ by resetting LSTPTR to the start of the user space
Cᑍ
C EVAL LSTPTR = SPCPTR
Cᑍ
Cᑍ and then incrementing LSTPTR to the input parameter header
Cᑍ
C EVAL LSTPTR = %ADDR(ARR(QUSOIP + 1))
Cᑍ
Cᑍ If the continuation handle in the input parameter header is
Cᑍ blank, then set the list status to Complete
Cᑍ
C QSYCV IFEQ ᑍBLANKS
C MOVE 'C' LST_STATUS
C ELSE
Cᑍ
Cᑍ Else, call QSYLOBJP reusing the User Space to get more
Cᑍ List entries
Cᑍ
C MOVE QSYCV CONTIN_HDL
C EXSR GETLST
C MOVE QUSIS LST_STATUS
C END
C END
C ELSE
Cᑍ
Cᑍ And if an unexpected status, log an error (not shown) and exit
Cᑍ
C EXSR DONE
C END
C END
C ENDSR
Cᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍ
C GETLST BEGSR
Cᑍ
Cᑍ Call QSYLOBJP to generate a list
Cᑍ The continuation handle is set by the caller of this subroutine.
Cᑍ
C CALL QSYLOBJP
C PARM SPC_NAME
C PARM 'OBJP1' MBR_LIST 8
C PARM 'ᑍCURRENT' USR_PRF 1
C PARM 'ᑍALL' OBJ_TYPE 1
C PARM CONTIN_HDL 2
C PARM QUSEC
Cᑍ
Cᑍ Check for errors on QSYLOBJP
Cᑍ
C QUSBAVL IFGT
C MOVEL 'QSYLOBJP' APINAM 1
C EXSR APIERR
C END
C ENDSR
Cᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍᑍ
C INIT BEGSR
Chapter 9. Common API Programming Errors 9-41