ALLDONE: ENDPGM

As an alternative to using the job log, the following RPG program uses the error

code structure to receive error messages:

H\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
H\ \
H\ MODULE: ERRCODE \
H\ \
H\ LANGUAGE: RPG \
H\ \
H\ FUNCTION: THIS APPLICATION DEMONSTRATES THE USE OF THE \
H\ ERROR CODE PARAMETER. \
H\ \
H\ APIs USED: QHFRTVAT, QHFCRTDR \
H\ \
H\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
H\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
H\ \
H\ THIS PROGRAM DOES SOME SIMPLE VERIFICATION ON AN HFS \
H\ DIRECTORY. THE QHFRTVAT API IS USED TO VERIFY THE EXISTENCE \
H\ OF THE SPECIFIED DIRECTORY. IF THE DIRECTORY DOES NOT EXIST, \
H\ AN ATTEMPT IS MADE TO CREATE THE DIRECTORY. \
H\ \
H\ THERE ARE THREE PARAMETERS TO THIS PROGRAM \
H\ \
H\ 1 INPUT PATHNM - NAME OF DIRECTORY \
H\ 2 INPUT PATHLN - LENGTH OF PATHNM PARAMETER \
H\ 3 OUTPUT SUCCES - INDICATES SUCCESS OR FAILURE \
H\ 'ð' SUCCESS \
H\ '1' FAILURE \
H\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
ISUCCES DS
I B 1 4ðRETCOD
IPLENG DS
I B 1 4ðPATHLN
IBINS DS
I B 1 4ðRETDTA
I B 5 8ðATTRLN
IERROR DS
I B 1 4ðBYTPRV
I B 5 8ðBYTAVA
I 9 15 ERRID
I 16 16 ERR###
I 17 272 INSDTA
C \ENTRY PLIST
C PARM PATHNM 8ð
C PARM PLENG
C PARM SUCCES
C\
C\ INITIALIZE BYTES PROVIDED AND THE ATTRIBUTE LENGTH VARIABLE
C\
C Z-ADD272 BYTPRV
C Z-ADDð ATTRLN
C\
C\ RETRIEVE DIRECTORY ENTRY ATTRIBUTES
C\
C CALL 'QHFRTVAT'
C PARM PATHNM
C PARM PATHLN
C PARM ATTR 1
C PARM ATTRLN
C PARM ATTR
C PARM ATTRLN
C PARM RETDTA
C PARM ERROR
C\
C\ CHECK FOR DIRECTORY NOT FOUND OR FILE NOT FOUND ERRORS.
C\ IF WE RECEIVE ONE OF THESE THIS IS THE INDICATION THAT
C\ WE CAN TRY TO CREATE THE DIRECTORY.
C\
C BYTAVA IFEQ \ZERO
Chapter 2. Getting Started with APIs 2-11