C

move

src_line

line_nbr

 

C\

 

 

 

 

C\ Record the status code as data

 

 

C\

 

 

 

 

C

movel

status

data

 

C\

 

 

 

 

C\ Record where status located in data

 

 

C\

 

 

 

 

C

eval

data_off = 1

 

 

C

eval

data_len = 5

 

 

C

eval

data# = 1

 

 

C\

 

 

 

 

C\ For illustration purposes,

dump the program object

 

C\

 

 

 

 

C

eval

%SUBST(objl:1:3ð) = pgm_name .1/

C

eval

%SUBST(objl:31:3ð) = lib_name

 

C

eval

%SUBST(objl:61:1ð) = '\PGM'

 

C

eval

objl# = 1

 

 

C\

 

 

 

 

C\ Call the Report Software Error API

 

 

C\

 

 

 

 

C

call

'QPDLOGER'

 

 

C

parm

 

pgm_name

 

C

parm

exception

msgid

12

C

parm

 

msgkey

4

C

parm

 

line_nbr

 

C

parm

'Y'

joblog

1

C

parm

 

data

 

C

parm

 

datapt

 

C

parm

 

data#

 

C

parm

 

objl

 

C

parm

 

objl#

 

C

parm

 

qusec

 

C\

 

 

 

 

C\ If an error on the API call, then indicate a terminal erro￿r C\

C qusbavl ifgt ð

C'Terminal err'dsply

C

end

C

else

C\

 

C\ If error within \PSSR, then indicate \PSSR error

C\

C'\PSSR error' dsply

C

end

C\

 

C\ No matter how the program got to the \PSSR, end the progra￿m C\

C

move

'1'

\inlr

C

return

 

 

C

endsr

 

 

Appendix B. Original Examples in Additional BLanguages-121

Page 399
Image 399
IBM Version 4 manual Appendix B. Original Examples in Additional BLanguages-121