RPGIV @ Work

A unique site for RPG and System i Lovers


Hi, this site will provide all what you need in System i and RPG developments.

My Name is Chamara Withanachchi, System i Expert and RPG Developer. And in the field for last 11 years.

I hope you will find lot of valuable information from this site

QCAPCMD - A Replacement for QCMDEXC Print E-mail
User Rating: / 0
Written by Chamara Withanachchi   

Written by Jeff Olen


QCAPCMD has several important advantages over QCMDEXC. I am going to focus on the error handling abilities of QCAPCMD. However, it would be worth your time to check out

the IBM documentation on the QCAPCMD and find out what the other differences are.


To understand the difference between the way QCMDEXC handles errors and the way QCAPCMD handles errors it is necessary to understand the way most system APIs handle

exceptions. Most system APIs use an error structure called QUSEC (or Qus_EC_t if you are using C) to return information regarding exception conditions and error data. You can

find the layout of this structure in the QSYSINC library (QUSEC in QRPGLESRC). This structure is what nearly all APIs use to provide exception data back to the calling program. It is

interesting to note that QCMDEXC is somewhat of an exception (no pun intended) in the way it handles exception conditions because it does not use the QUSEC structure.

What you gain by using the QUSEC structure is that if an exception condition occurs when the QCAPCMD command is executed, then the information regarding the exception is

returned via the QUSEC structure. More importantly, the exception condition is "trapped" and not passed up the stack to the RPG program that ran it (i.e., a program exception

condition will not be triggered and no *PSSR). This gives you much more flexibility in the way that you handle these types of conditions.

<Previous   Next>