INCLUDE SQLCA declarations

This section shows the equivalent INCLUDE SQLCA declaration for C and C++, COBOL, PL/I, RPG/400®, and ILE RPG.

In C and C++, INCLUDE SQLCA declarations are equivalent to the following:
#ifndef    SQLCODE
struct     sqlca
{
           unsigned char  sqlcaid[8];
           long           sqlcabc;
           long           sqlcode;
           short          sqlerrml;
           unsigned char  sqlerrmc[70];
           unsigned char  sqlerrp[8];
           long           sqlerrd[6];
           unsigned char  sqlwarn[11];
           unsigned char  sqlstate[5];
};
#define      SQLCODE   sqlca.sqlcode
#define      SQLWARN0  sqlca.sqlwarn[0]
#define      SQLWARN1  sqlca.sqlwarn[1]
#define      SQLWARN2  sqlca.sqlwarn[2]
#define      SQLWARN3  sqlca.sqlwarn[3]
#define      SQLWARN4  sqlca.sqlwarn[4]
#define      SQLWARN5  sqlca.sqlwarn[5]
#define      SQLWARN6  sqlca.sqlwarn[6]
#define      SQLWARN7  sqlca.sqlwarn[7]
#define      SQLWARN8  sqlca.sqlwarn[8]
#define      SQLWARN9  sqlca.sqlwarn[9]
#define      SQLWARNA  sqlca.sqlwarn[10]
#define      SQLSTATE  sqlca.sqlstate
#endif
struct sqlca sqlca;
In COBOL, INCLUDE SQLCA declarations are equivalent to the following:
01 SQLCA.
   05 SQLCAID      PIC X(8).
   05 SQLCABC      PIC S9(9) BINARY.
   05 SQLCODE      PIC S9(9) BINARY.
   05 SQLERRM.
      49 SQLERRML  PIC S9(4) BINARY.
      49 SQLERRMC  PIC X(70).
   05 SQLERRP      PIC X(8).
   05 SQLERRD      OCCURS 6 TIMES
                   PIC S9(9) BINARY.
   05 SQLWARN.
      10 SQLWARN0  PIC X(1).
      10 SQLWARN1  PIC X(1).
      10 SQLWARN2  PIC X(1).
      10 SQLWARN3  PIC X(1).
      10 SQLWARN4  PIC X(1).
      10 SQLWARN5  PIC X(1).
      10 SQLWARN6  PIC X(1).
      10 SQLWARN7  PIC X(1).
      10 SQLWARN8  PIC X(1).
      10 SQLWARN9  PIC X(1).
      10 SQLWARNA  PIC X(1).
   05 SQLSTATE     PIC X(5).
Note: In COBOL, INCLUDE SQLCA must not be specified outside the Working Storage Section.
In PL/I; INCLUDE SQLCA declarations are equivalent to the following:
DCL 1 SQLCA,
      2 SQLCAID      CHAR(8),
      2 SQLCABC      BIN FIXED(31),
      2 SQLCODE      BIN FIXED(31),
      2 SQLERRM      CHAR(70) VAR,
      2 SQLERRP      CHAR(8),
      2 SQLERRD(6)   BIN FIXED(31),
      2 SQLWARN,
        3 SQLWARN0   CHAR(1),
        3 SQLWARN1   CHAR(1),
        3 SQLWARN2   CHAR(1),
        3 SQLWARN3   CHAR(1),
        3 SQLWARN4   CHAR(1),
        3 SQLWARN5   CHAR(1),
        3 SQLWARN6   CHAR(1),
        3 SQLWARN7   CHAR(1),
        3 SQLWARN8   CHAR(1),
        3 SQLWARN9   CHAR(1),
        3 SQLWARNA   CHAR(1),
      2 SQLSTATE     CHAR(5);

In RPG/400; SQLCA declarations are equivalent to the following:

ISQLCA          DS
I                                      1   8 SQLAID             SQL
I                                  B   9  120SQLABC             SQL
I                                  B  13  160SQLCOD             SQL
I                                  B  17  180SQLERL             SQL
I                                     19  88 SQLERM             SQL
I                                     89  96 SQLERP             SQL
I                                     97 120 SQLERR             SQL
I                                  B  97 1000SQLER1             SQL
I                                  B 101 1040SQLER2             SQL
I                                  B 105 1080SQLER3             SQL
I                                  B 109 1120SQLER4             SQL
I                                  B 113 1160SQLER5             SQL
I                                  B 117 1200SQLER6             SQL
I                                    121 131 SQLWRN             SQL
I                                    121 121 SQLWN0             SQL
I                                    122 122 SQLWN1             SQL
I                                    123 123 SQLWN2             SQL
I                                    124 124 SQLWN3             SQL
I                                    125 125 SQLWN4             SQL
I                                    126 126 SQLWN5             SQL
I                                    127 127 SQLWN6             SQL
I                                    128 128 SQLWN7             SQL
I                                    129 129 SQLWN8             SQL
I                                    130 130 SQLWN9             SQL
I                                    131 131 SQLWNA             SQL
I                                    132 136 SQLSTT             SQL

In ILE RPG; SQLCA declarations are equivalent to the following:

Start of change
// SQL COMMUNICATION AREA   
DCL-DS SQLCA;                                 
  SQLCAID CHAR(8) INZ(X'0000000000000000');   
   SQLAID CHAR(8) OVERLAY(SQLCAID);           
  SQLCABC INT(10);                            
   SQLABC BINDEC(9) OVERLAY(SQLCABC);         
  SQLCODE INT(10);                            
   SQLCOD BINDEC(9) OVERLAY(SQLCODE);         
  SQLERRML INT(5);                            
   SQLERL BINDEC(4) OVERLAY(SQLERRML);        
  SQLERRMC CHAR(70);                          
   SQLERM CHAR(70) OVERLAY(SQLERRMC);         
  SQLERRP CHAR(8);                            
   SQLERP CHAR(8) OVERLAY(SQLERRP);           
  SQLERR CHAR(24);                            
   SQLER1 BINDEC(9) OVERLAY(SQLERR:*NEXT);    
   SQLER2 BINDEC(9) OVERLAY(SQLERR:*NEXT);    
   SQLER3 BINDEC(9) OVERLAY(SQLERR:*NEXT);    
   SQLER4 BINDEC(9) OVERLAY(SQLERR:*NEXT);    
   SQLER5 BINDEC(9) OVERLAY(SQLERR:*NEXT);    
   SQLER6 BINDEC(9) OVERLAY(SQLERR:*NEXT);    
   SQLERRD INT(10) DIM(6) OVERLAY(SQLERR);    
  SQLWRN CHAR(11);                            
   SQLWN0 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN1 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN2 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN3 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN4 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN5 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN6 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN7 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN8 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWN9 CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWNA CHAR(1) OVERLAY(SQLWRN:*NEXT);      
   SQLWARN CHAR(1) DIM(11) OVERLAY(SQLWRN);   
  SQLSTATE CHAR(5);                           
   SQLSTT CHAR(5) OVERLAY(SQLSTATE); 
END-DS SQLCA;                                             
End of change