SQLCA is the SQL Communication area.You can consider it as a collection or grp of variables that are updated after each SQL statement executes. An application program that contains executable SQL statements must provide exactly one SQLCA.
Whenever an SQL statement executes, the SQLCODE and SQLSTATE fields of the SQLCA receive a return code. Although both fields serve basically the same purpose (indicating whether the statement executed successfully) there are some differences between the two fields.
SQLCODE: DB2 returns the following codes in SQLCODE:
If SQLCODE = 0, execution was successful.
If SQLCODE > 0, execution was successful with a warning.
If SQLCODE < 0, execution was not successful.
SQLCODE 100 indicates no data was found.
The meaning of SQLCODEs other than 0 and 100 varies with the particular product implementing SQL.
SQLSTATE: SQLSTATE allows an application program to check for errors in the same way for different IBM database management systems.
An advantage to using the SQLCODE field is that it can provide more specific information than the SQLSTATE. Many of the SQLCODEs have associated tokens in the SQLCA that indicate, for example, which object incurred an SQL error.