Pgcobol.out

From PostgreSQL_wiki
Jump to: navigation, search

The output of the compiler process is below. The cobc compiler process picked up the output of the GixSQQL precompilation process and created the executable program pgcobol.

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0001

LINE    PG/LN  A...B............................................................SEQUENCE

000001         IDENTIFICATION DIVISION.
000002
000003         PROGRAM-ID. pgcobol.
000004
000005
000006         ENVIRONMENT DIVISION.
000007
000008         CONFIGURATION SECTION.
000009         source-computer. Linux-laptop.
000010         object-computer. Linux-laptop.
000011         special-names.
000012             console is scherm.
000013
000014         SOURCE-COMPUTER. IBM-AT.
000015         OBJECT-COMPUTER. IBM-AT.
000016
000017         INPUT-OUTPUT SECTION.
000018         FILE-CONTROL.
000019           select fprinter assign to "pgcobol.prt";
000020           ORGANIZATION LINE SEQUENTIAL.
000021         DATA DIVISION.
000022
000023         FILE SECTION.
000024         FD fprinter.
000025         01 file-buffer PIC X(242).
000026         WORKING-STORAGE SECTION.
000027
000028        *   copy 'SQLCA.cpy'.
000029        *   copy 'EMPREC.cpy'.
000030
000031         01 DATASRC PIC X(64) value
000032        *   "pgsql://10.68.171.50:5432".
000033        *   "pgsql://10.68.171.50:5432/cobol_gixsql".
000034            "pgsql://localhost:5432/cobol_gixsql".
000035         01 DBUSR     PIC X(64)  value "gix_user".
000036         01 DBPWD     PIC X(64)  value "gix_user".
000037
000038         01 CUR-STEP    PIC X(16).
000039         01 empcount    PIC 9(5).
000040         01 employee-record.
000041             03 r-ENO PIC S9(4) COMP.
000042             03 r-LNAME PIC X(10).
000043             03 r-FNAME PIC X(10).
000044             03 r-STREET PIC X(20).
000045             03 r-CITY PIC X(15).
000046             03 r-ST PIC XX.
000047             03 r-ZIP PIC X(5).
000048             03 r-DEPT PIC X(4).
000049        *    03 a-PAYRATE PIC S9(13)V99 COMP-3 VALUE 0.
000050             03 r-PAYRATE PIC S9(13)V99 COMP-3 VALUE 0.
000051             03 r-COM PIC S9V99 COMP-3.
000052             03 r-MISCDATA PIC X(132).

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0002

LINE    PG/LN  A...B............................................................SEQUENCE

000053             03 r-DNUM1 PIC S99V99 COMP-3.
000054             03 r-DNUM2 PIC S99V99 COMP-3.
000055             03 r-DNUM3 PIC S99V99 COMP-3.
000056
000057         01 employee-row.
000058             03 p-ENO PIC z(3)9.
000059             03 filler pic x value space.
000060             03 p-LNAME PIC X(10).
000061             03 filler pic x value space.
000062             03 p-FNAME PIC X(10).
000063             03 filler pic x value space.
000064             03 p-STREET PIC X(20).
000065             03 filler pic x value space.
000066             03 p-CITY PIC X(15).
000067             03 filler pic x value space.
000068             03 p-ST PIC XX.
000069             03 filler pic x value space.
000070             03 p-ZIP PIC X(5).
000071             03 filler pic x value space.
000072             03 p-DEPT PIC X(4).
000073             03 filler pic x value space.
000074             03 p-PAYRATE PIC z(12)9.99.
000075             03 filler pic x value space.
000076             03 p-COM PIC 9v99.
000077             03 filler pic x value space.
000078             03 p-DNUM1 PIC z9.99.
000079             03 filler pic x value space.
000080             03 p-DNUM2 PIC z9.99.
000081             03 filler pic x value space.
000082             03 p-DNUM3 PIC z9.99.
000083             03 filler pic x value space.
000084             03 p-miscdata-text pic X(128).
000085
000086         01 employee-header.
000087             03 h-ENO pic x(5) value 'Eno'.
000088             03 h-LNAME PIC X(11) value 'Lname'.
000089             03 h-FNAME PIC X(11) value 'Fname'.
000090             03 h-STREET PIC X(21) value space.
000091             03 h-CITY PIC X(16) value 'City'.
000092             03 h-ST PIC X(3) value 'ST'.
000093             03 h-ZIP PIC X(6) value 'zip'.
000094             03 h-DEPT PIC X(5) value 'Dept'.
000095             03 h-PAYRATE PIC x(17) value 'Payrate'.
000096             03 h-COM PIC x(4) value 'Com'.
000097             03 h-DNUM1 PIC x(6) value 'Dnum1'.
000098             03 h-DNUM2 PIC x(6) value 'Dnum1'.
000099             03 h-DNUM3 PIC x(6) value 'Dnum1'.
000100             03 h-miscdata-text pic X(128) value 'Misc data'.
000101
000102         01 employee-page.
000103             03 filler pic x(118) value space.
000104             03 filler pic x(10) value 'page'.

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0003

LINE    PG/LN  A...B............................................................SEQUENCE

000105             03 f-page-number PIC z(3)9.
000106
000107        *01 MISCDATA PIC X(132).
000108
000109         01 miscdata-group.
000110             49 miscdata-len pic 9(8) comp-5.
000111             49 miscdata-text pic X(128).
000112
000113         01 IDX              PIC 9(2).
000114         01 print-buffer     PIC X(242).
000115         01 line-number      PIC 99 value 99.
000116         01 page-number      PIC 9999 value zero.
000117
000118         01 TMPNUM          PIC 9(4).
000119
000120  GIXSQL*EXEC SQL
000121  GIXSQL*    INCLUDE employee-table
000122  GIXSQL*END-EXEC.
000123             COPY employee-table.
000001C         01 employee-table.
000002C            03 ENO PIC S9(4) COMP.
000003C            03 LNAME PIC X(10).
000004C            03 FNAME PIC X(10).
000005C            03 STREET PIC X(20).
000006C            03 CITY PIC X(15).
000007C            03 ST PIC XX.
000008C            03 ZIP PIC X(5).
000009C            03 DEPT PIC X(4).
000010C            03 PAYRATE PIC S9(13)V99 COMP-3 VALUE 0.
000011C            03 COM PIC S9V99 COMP-3.
000012C            03 MISCDATA PIC X(132).
000013C            03 DNUM1 PIC S99V99 COMP-3.
000014C            03 DNUM2 PIC S99V99 COMP-3.
000015C            03 DNUM3 PIC S99V99 COMP-3.
000016C
000124
000125  GIXSQL*EXEC SQL
000126  GIXSQL*    INCLUDE SQLCA
000127  GIXSQL*END-EXEC.
000128             COPY SQLCA.
000001C       ******************************************************************
000002C       *       SQLCA: SQL Communications Area for GIXSQL                *
000003C       ******************************************************************
000004C        01  SQLCA.
000005C            05  SQLCAID               PIC X(8).
000006C            05  SQLCABC               PIC S9(9) COMP-5.
000007C            05  SQLCODE               PIC S9(9) COMP-5.
000008C            05  SQLERRM.
000009C            49  SQLERRML              PIC S9(4) COMP-5.
000010C            49  SQLERRMC              PIC X(70).
000011C            05  SQLERRP               PIC X(8).                          *> not used
000012C            05  SQLERRD OCCURS 6 TIMES                                   *> used only ERRD(3)

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0004

LINE    PG/LN  A...B............................................................SEQUENCE

000013C                                      PIC S9(9) COMP-5.
000014C            05  SQLWARN.                                                 *> not used
000015C                10 SQLWARN0           PIC X(1).
000016C                10 SQLWARN1           PIC X(1).
000017C                10 SQLWARN2           PIC X(1).
000018C                10 SQLWARN3           PIC X(1).
000019C                10 SQLWARN4           PIC X(1).
000020C                10 SQLWARN5           PIC X(1).
000021C                10 SQLWARN6           PIC X(1).
000022C                10 SQLWARN7           PIC X(1).
000023C            05  SQLSTATE              PIC X(5).
000024C       ******************************************************************
000129
000130  GIXSQL*EXEC SQL AT cobol_sql
000131  GIXSQL*    DECLARE employeecursor CURSOR FOR
000132  GIXSQL*      SELECT * FROM emptable
000133  GIXSQL*END-EXEC.
000134
000135  GIXSQL 01  SQ0001.
000136  GIXSQL     02  FILLER PIC X(0022) VALUE "SELECT * FROM emptable".
000137  GIXSQL     02  FILLER PIC X(1) VALUE X"00".
000138  GIXSQL 01  SQ0002.
000139  GIXSQL     02  FILLER PIC X(0031) VALUE "SELECT COUNT( * ) FROM emptab"
000140  GIXSQL  &  "le".
000141  GIXSQL     02  FILLER PIC X(1) VALUE X"00".
000142  GIXSQL 01  SQ0003.
000143  GIXSQL     02  FILLER PIC X(0017) VALUE "START TRANSACTION".
000144  GIXSQL     02  FILLER PIC X(1) VALUE X"00".
000145  GIXSQL*   ESQL CURSOR INIT FLAGS (START)
000146  GIXSQL 01  GIXSQL-CI-F-pgcobol-employeecursor PIC X.
000147  GIXSQL*   ESQL CURSOR INIT FLAGS (END)
000148         PROCEDURE DIVISION.
000149
000150         r00-main.
000151
000152             perform r90-init.
000153             perform r80-verwerk.
000154             perform r99-exit.
000155
000156         r80-verwerk.
000157
000158  GIXSQL*    EXEC SQL AT cobol_sql
000159  GIXSQL*        SELECT COUNT(*) INTO :empcount FROM emptable
000160  GIXSQL*    END-EXEC.
000161  GIXSQL     CALL STATIC "GIXSQLStartSQL"
000162  GIXSQL     END-CALL
000163  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000164  GIXSQL         BY VALUE 1
000165  GIXSQL         BY VALUE 5
000166  GIXSQL         BY VALUE 0
000167  GIXSQL         BY VALUE 0
000168  GIXSQL         BY REFERENCE empcount

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0005

LINE    PG/LN  A...B............................................................SEQUENCE

000169  GIXSQL         BY REFERENCE 0
000170  GIXSQL     END-CALL
000171  GIXSQL     CALL STATIC "GIXSQLExecSelectIntoOne" USING
000172  GIXSQL         BY REFERENCE SQLCA
000173  GIXSQL         BY REFERENCE "cobol_sql" & x"00"
000174  GIXSQL         BY VALUE 0
000175  GIXSQL         BY REFERENCE SQ0002
000176  GIXSQL         BY VALUE 0
000177  GIXSQL         BY VALUE 1
000178  GIXSQL     END-CALL
000179  GIXSQL     CALL STATIC "GIXSQLEndSQL"
000180  GIXSQL     END-CALL.
000181
000182             display "Rijen in emptable" upon scherm.
000183             display empcount upon scherm.
000184
000185             perform r81-init-cursor.
000186
000187             perform r85-verwerk-employee until
000188                     SQLCODE < 0 or SQLCODE = 100
000189
000190             perform r89-close-cursor.
000191
000192         r81-init-cursor.
000193
000194  GIXSQL*    EXEC SQL AT cobol_sql START TRANSACTION END-EXEC.
000195  GIXSQL     CALL STATIC "GIXSQLStartSQL"
000196  GIXSQL     END-CALL
000197  GIXSQL     CALL STATIC "GIXSQLExec" USING
000198  GIXSQL         BY REFERENCE SQLCA
000199  GIXSQL         BY REFERENCE "cobol_sql" & x"00"
000200  GIXSQL         BY VALUE 0
000201  GIXSQL         BY REFERENCE SQ0003
000202  GIXSQL     END-CALL
000203  GIXSQL     CALL STATIC "GIXSQLEndSQL"
000204  GIXSQL     END-CALL.
000205             display "start transaction" upon scherm.
000206             display SQLCODE upon scherm.
000207
000208  GIXSQL*    EXEC SQL OPEN employeecursor END-EXEC.
000209  GIXSQL     IF GIXSQL-CI-F-pgcobol-employeecursor = ' ' THEN
000210  GIXSQL         PERFORM GIXSQL-CI-P-pgcobol-employeecursor
000211  GIXSQL         IF SQLCODE = 0
000212  GIXSQL           MOVE 'X' TO GIXSQL-CI-F-pgcobol-employeecursor
000213  GIXSQL         END-IF
000214  GIXSQL     END-IF
000215  GIXSQL     IF GIXSQL-CI-F-pgcobol-employeecursor = 'X' THEN
000216  GIXSQL         CALL STATIC "GIXSQLCursorOpen" USING
000217  GIXSQL             BY REFERENCE SQLCA
000218  GIXSQL             BY REFERENCE "pgcobol_employeecursor" & x"00"
000219  GIXSQL         END-CALL
000220  GIXSQL     END-IF.

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0006

LINE    PG/LN  A...B............................................................SEQUENCE

000221
000222             display "open cursor" upon scherm.
000223             display SQLCODE upon scherm.
000224
000225  GIXSQL*    EXEC SQL FETCH employeecursor INTO :employee-table END-EXEC.
000226  GIXSQL     CALL STATIC "GIXSQLStartSQL"
000227  GIXSQL     END-CALL
000228  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000229  GIXSQL         BY VALUE 23
000230  GIXSQL         BY VALUE 4
000231  GIXSQL         BY VALUE 0
000232  GIXSQL         BY VALUE 256
000233  GIXSQL         BY REFERENCE ENO
000234  GIXSQL         BY REFERENCE 0
000235  GIXSQL     END-CALL
000236  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000237  GIXSQL         BY VALUE 16
000238  GIXSQL         BY VALUE 10
000239  GIXSQL         BY VALUE 0
000240  GIXSQL         BY VALUE 0
000241  GIXSQL         BY REFERENCE LNAME
000242  GIXSQL         BY REFERENCE 0
000243  GIXSQL     END-CALL
000244  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000245  GIXSQL         BY VALUE 16
000246  GIXSQL         BY VALUE 10
000247  GIXSQL         BY VALUE 0
000248  GIXSQL         BY VALUE 0
000249  GIXSQL         BY REFERENCE FNAME
000250  GIXSQL         BY REFERENCE 0
000251  GIXSQL     END-CALL
000252  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000253  GIXSQL         BY VALUE 16
000254  GIXSQL         BY VALUE 20
000255  GIXSQL         BY VALUE 0
000256  GIXSQL         BY VALUE 0
000257  GIXSQL         BY REFERENCE STREET
000258  GIXSQL         BY REFERENCE 0
000259  GIXSQL     END-CALL
000260  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000261  GIXSQL         BY VALUE 16
000262  GIXSQL         BY VALUE 15
000263  GIXSQL         BY VALUE 0
000264  GIXSQL         BY VALUE 0
000265  GIXSQL         BY REFERENCE CITY
000266  GIXSQL         BY REFERENCE 0
000267  GIXSQL     END-CALL
000268  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000269  GIXSQL         BY VALUE 16
000270  GIXSQL         BY VALUE 2
000271  GIXSQL         BY VALUE 0
000272  GIXSQL         BY VALUE 0

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0007

LINE    PG/LN  A...B............................................................SEQUENCE

000273  GIXSQL         BY REFERENCE ST
000274  GIXSQL         BY REFERENCE 0
000275  GIXSQL     END-CALL
000276  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000277  GIXSQL         BY VALUE 16
000278  GIXSQL         BY VALUE 5
000279  GIXSQL         BY VALUE 0
000280  GIXSQL         BY VALUE 0
000281  GIXSQL         BY REFERENCE ZIP
000282  GIXSQL         BY REFERENCE 0
000283  GIXSQL     END-CALL
000284  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000285  GIXSQL         BY VALUE 16
000286  GIXSQL         BY VALUE 4
000287  GIXSQL         BY VALUE 0
000288  GIXSQL         BY VALUE 0
000289  GIXSQL         BY REFERENCE DEPT
000290  GIXSQL         BY REFERENCE 0
000291  GIXSQL     END-CALL
000292  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000293  GIXSQL         BY VALUE 9
000294  GIXSQL         BY VALUE 15
000295  GIXSQL         BY VALUE -2
000296  GIXSQL         BY VALUE 0
000297  GIXSQL         BY REFERENCE PAYRATE
000298  GIXSQL         BY REFERENCE 0
000299  GIXSQL     END-CALL
000300  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000301  GIXSQL         BY VALUE 9
000302  GIXSQL         BY VALUE 3
000303  GIXSQL         BY VALUE -2
000304  GIXSQL         BY VALUE 0
000305  GIXSQL         BY REFERENCE COM
000306  GIXSQL         BY REFERENCE 0
000307  GIXSQL     END-CALL
000308  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000309  GIXSQL         BY VALUE 16
000310  GIXSQL         BY VALUE 132
000311  GIXSQL         BY VALUE 0
000312  GIXSQL         BY VALUE 0
000313  GIXSQL         BY REFERENCE MISCDATA
000314  GIXSQL         BY REFERENCE 0
000315  GIXSQL     END-CALL
000316  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000317  GIXSQL         BY VALUE 9
000318  GIXSQL         BY VALUE 4
000319  GIXSQL         BY VALUE -2
000320  GIXSQL         BY VALUE 0
000321  GIXSQL         BY REFERENCE DNUM1
000322  GIXSQL         BY REFERENCE 0
000323  GIXSQL     END-CALL
000324  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0008

LINE    PG/LN  A...B............................................................SEQUENCE

000325  GIXSQL         BY VALUE 9
000326  GIXSQL         BY VALUE 4
000327  GIXSQL         BY VALUE -2
000328  GIXSQL         BY VALUE 0
000329  GIXSQL         BY REFERENCE DNUM2
000330  GIXSQL         BY REFERENCE 0
000331  GIXSQL     END-CALL
000332  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000333  GIXSQL         BY VALUE 9
000334  GIXSQL         BY VALUE 4
000335  GIXSQL         BY VALUE -2
000336  GIXSQL         BY VALUE 0
000337  GIXSQL         BY REFERENCE DNUM3
000338  GIXSQL         BY REFERENCE 0
000339  GIXSQL     END-CALL
000340  GIXSQL     CALL STATIC "GIXSQLCursorFetchOne" USING
000341  GIXSQL         BY REFERENCE SQLCA
000342  GIXSQL         BY REFERENCE "pgcobol_employeecursor" & x"00"
000343  GIXSQL     END-CALL
000344  GIXSQL     CALL STATIC "GIXSQLEndSQL"
000345  GIXSQL     END-CALL.
000346
000347             display "fetch cursor" upon scherm.
000348             display SQLCODE upon scherm.
000349
000350         r85-verwerk-employee.
000351
000352             move ENO to r-ENO.
000353             move LNAME to r-LNAME.
000354             move FNAME to r-FNAME.
000355             move STREET to r-STREET.
000356             move CITY to r-CITY.
000357             move ST to r-ST.
000358             move ZIP to r-ZIP.
000359             move DEPT to r-DEPT.
000360             move PAYRATE to r-PAYRATE.
000361             move COM to r-COM.
000362             move DNUM1 to r-DNUM1.
000363             move DNUM2 to r-DNUM2.
000364             move DNUM3 to r-DNUM3.
000365             move MISCDATA to miscdata-group.
000366        *    move miscdata-len to r-miscdata-len.
000367        *    move miscdata-text to r-miscdata-text.
000368
000369             move r-ENO to p-ENO.
000370             move r-LNAME to p-LNAME.
000371             move r-FNAME to p-FNAME.
000372             move r-STREET to p-STREET.
000373             move r-CITY to p-CITY.
000374             move r-ST to p-ST.
000375             move r-ZIP to p-ZIP.
000376             move r-DEPT to p-DEPT.

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0009

LINE    PG/LN  A...B............................................................SEQUENCE

000377             move r-PAYRATE to p-PAYRATE.
000378             move r-COM to p-COM.
000379             move r-DNUM1 to p-DNUM1.
000380             move r-DNUM2 to p-DNUM2.
000381             move r-DNUM3 to p-DNUM3.
000382             move miscdata-text to p-miscdata-text.
000383
000384             display employee-row upon scherm.
000385             perform p00-print.
000386
000387  GIXSQL*    EXEC SQL FETCH employeecursor INTO :employee-table END-EXEC.
000388  GIXSQL     CALL STATIC "GIXSQLStartSQL"
000389  GIXSQL     END-CALL
000390  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000391  GIXSQL         BY VALUE 23
000392  GIXSQL         BY VALUE 4
000393  GIXSQL         BY VALUE 0
000394  GIXSQL         BY VALUE 256
000395  GIXSQL         BY REFERENCE ENO
000396  GIXSQL         BY REFERENCE 0
000397  GIXSQL     END-CALL
000398  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000399  GIXSQL         BY VALUE 16
000400  GIXSQL         BY VALUE 10
000401  GIXSQL         BY VALUE 0
000402  GIXSQL         BY VALUE 0
000403  GIXSQL         BY REFERENCE LNAME
000404  GIXSQL         BY REFERENCE 0
000405  GIXSQL     END-CALL
000406  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000407  GIXSQL         BY VALUE 16
000408  GIXSQL         BY VALUE 10
000409  GIXSQL         BY VALUE 0
000410  GIXSQL         BY VALUE 0
000411  GIXSQL         BY REFERENCE FNAME
000412  GIXSQL         BY REFERENCE 0
000413  GIXSQL     END-CALL
000414  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000415  GIXSQL         BY VALUE 16
000416  GIXSQL         BY VALUE 20
000417  GIXSQL         BY VALUE 0
000418  GIXSQL         BY VALUE 0
000419  GIXSQL         BY REFERENCE STREET
000420  GIXSQL         BY REFERENCE 0
000421  GIXSQL     END-CALL
000422  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000423  GIXSQL         BY VALUE 16
000424  GIXSQL         BY VALUE 15
000425  GIXSQL         BY VALUE 0
000426  GIXSQL         BY VALUE 0
000427  GIXSQL         BY REFERENCE CITY
000428  GIXSQL         BY REFERENCE 0

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0010

LINE    PG/LN  A...B............................................................SEQUENCE

000429  GIXSQL     END-CALL
000430  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000431  GIXSQL         BY VALUE 16
000432  GIXSQL         BY VALUE 2
000433  GIXSQL         BY VALUE 0
000434  GIXSQL         BY VALUE 0
000435  GIXSQL         BY REFERENCE ST
000436  GIXSQL         BY REFERENCE 0
000437  GIXSQL     END-CALL
000438  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000439  GIXSQL         BY VALUE 16
000440  GIXSQL         BY VALUE 5
000441  GIXSQL         BY VALUE 0
000442  GIXSQL         BY VALUE 0
000443  GIXSQL         BY REFERENCE ZIP
000444  GIXSQL         BY REFERENCE 0
000445  GIXSQL     END-CALL
000446  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000447  GIXSQL         BY VALUE 16
000448  GIXSQL         BY VALUE 4
000449  GIXSQL         BY VALUE 0
000450  GIXSQL         BY VALUE 0
000451  GIXSQL         BY REFERENCE DEPT
000452  GIXSQL         BY REFERENCE 0
000453  GIXSQL     END-CALL
000454  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000455  GIXSQL         BY VALUE 9
000456  GIXSQL         BY VALUE 15
000457  GIXSQL         BY VALUE -2
000458  GIXSQL         BY VALUE 0
000459  GIXSQL         BY REFERENCE PAYRATE
000460  GIXSQL         BY REFERENCE 0
000461  GIXSQL     END-CALL
000462  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000463  GIXSQL         BY VALUE 9
000464  GIXSQL         BY VALUE 3
000465  GIXSQL         BY VALUE -2
000466  GIXSQL         BY VALUE 0
000467  GIXSQL         BY REFERENCE COM
000468  GIXSQL         BY REFERENCE 0
000469  GIXSQL     END-CALL
000470  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000471  GIXSQL         BY VALUE 16
000472  GIXSQL         BY VALUE 132
000473  GIXSQL         BY VALUE 0
000474  GIXSQL         BY VALUE 0
000475  GIXSQL         BY REFERENCE MISCDATA
000476  GIXSQL         BY REFERENCE 0
000477  GIXSQL     END-CALL
000478  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000479  GIXSQL         BY VALUE 9
000480  GIXSQL         BY VALUE 4

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0011

LINE    PG/LN  A...B............................................................SEQUENCE

000481  GIXSQL         BY VALUE -2
000482  GIXSQL         BY VALUE 0
000483  GIXSQL         BY REFERENCE DNUM1
000484  GIXSQL         BY REFERENCE 0
000485  GIXSQL     END-CALL
000486  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000487  GIXSQL         BY VALUE 9
000488  GIXSQL         BY VALUE 4
000489  GIXSQL         BY VALUE -2
000490  GIXSQL         BY VALUE 0
000491  GIXSQL         BY REFERENCE DNUM2
000492  GIXSQL         BY REFERENCE 0
000493  GIXSQL     END-CALL
000494  GIXSQL     CALL STATIC "GIXSQLSetResultParams" USING
000495  GIXSQL         BY VALUE 9
000496  GIXSQL         BY VALUE 4
000497  GIXSQL         BY VALUE -2
000498  GIXSQL         BY VALUE 0
000499  GIXSQL         BY REFERENCE DNUM3
000500  GIXSQL         BY REFERENCE 0
000501  GIXSQL     END-CALL
000502  GIXSQL     CALL STATIC "GIXSQLCursorFetchOne" USING
000503  GIXSQL         BY REFERENCE SQLCA
000504  GIXSQL         BY REFERENCE "pgcobol_employeecursor" & x"00"
000505  GIXSQL     END-CALL
000506  GIXSQL     CALL STATIC "GIXSQLEndSQL"
000507  GIXSQL     END-CALL.
000508
000509             display "fetch cursor" upon scherm.
000510             display SQLCODE upon scherm.
000511
000512         r89-close-cursor.
000513
000514  GIXSQL*    EXEC SQL CLOSE employeecursor END-EXEC.
000515  GIXSQL     CALL STATIC "GIXSQLCursorClose" USING
000516  GIXSQL         BY REFERENCE SQLCA
000517  GIXSQL         BY REFERENCE "pgcobol_employeecursor" & x"00"
000518  GIXSQL     END-CALL.
000519
000520         r90-init.
000521             perform s00-connect.
000522             open output fprinter.
000523
000524         r99-exit.
000525
000526             perform s99-disconnect.
000527             close fprinter.
000528             perform z99-exit.
000529
000530         z99-exit.
000531
000532             stop run.

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0012

LINE    PG/LN  A...B............................................................SEQUENCE

000533
000534         s00-connect.
000535             display "DATASRC" upon scherm.
000536             display "DBUSR" upon scherm.
000537             display "DBPWD" upon scherm.
000538
000539             MOVE 'CONNECT' TO CUR-STEP.
000540  GIXSQL*    EXEC SQL
000541  GIXSQL*       CONNECT :DBUSR IDENTIFIED BY :DBPWD USING :DATASRC
000542  GIXSQL*       CONNECT TO :DATASRC AS cobol_sql USER :DBUSR USING :DBPWD
000543  GIXSQL*       CONNECT TO "pgsql://10.68.171.50:5432/cobol_gixsql"
000544  GIXSQL*                USER :DBUSR USING :DBPWD
000545  GIXSQL*    END-EXEC.
000546  GIXSQL     CALL STATIC "GIXSQLConnect" USING
000547  GIXSQL         BY REFERENCE SQLCA
000548  GIXSQL         BY REFERENCE DATASRC
000549  GIXSQL         BY VALUE 64
000550  GIXSQL         BY REFERENCE "cobol_sql" & x"00"
000551  GIXSQL         BY VALUE 0
000552  GIXSQL         BY REFERENCE x"00"
000553  GIXSQL         BY VALUE 0
000554  GIXSQL         BY REFERENCE DBUSR
000555  GIXSQL         BY VALUE 64
000556  GIXSQL         BY REFERENCE DBPWD
000557  GIXSQL         BY VALUE 64
000558  GIXSQL     END-CALL.
000559             display "connect to database" upon scherm.
000560             display SQLCODE upon scherm.
000561
000562         s99-disconnect.
000563             display "DATASRC" upon scherm.
000564             display "DBUSR" upon scherm.
000565             display "DBPWD" upon scherm.
000566
000567             MOVE 'DISCONNECT' TO CUR-STEP.
000568  GIXSQL*    EXEC SQL CONNECT RESET cobol_sql END-EXEC.
000569  GIXSQL     CALL STATIC "GIXSQLConnectReset" USING
000570  GIXSQL         BY REFERENCE SQLCA
000571  GIXSQL         BY REFERENCE "cobol_sql" & x"00"
000572  GIXSQL         BY VALUE 0
000573  GIXSQL     END-CALL.
000574  GIXSQL*    EXEC SQL DISCONNECT cobol_sql END-EXEC.
000575  GIXSQL     CALL STATIC "GIXSQLConnectReset" USING
000576  GIXSQL         BY REFERENCE SQLCA
000577  GIXSQL         BY REFERENCE "cobol_sql" & x"00"
000578  GIXSQL         BY VALUE 0
000579  GIXSQL     END-CALL.
000580             display "disconnect from database" upon scherm.
000581             display SQLCODE upon scherm.
000582
000583         p00-print.
000584             if line-number > 50 then

GnuCOBOL 4.0-early-dev. pgcobol.cbsql                                                 Fri Nov  7 15:14:59 2025  Page 0013

LINE    PG/LN  A...B............................................................SEQUENCE

000585               move 1 to line-number
000586               add 1 to page-number
000587               move page-number to f-page-number
000588               move employee-page to print-buffer
000589               write file-buffer from print-buffer
000590               move employee-header to print-buffer
000591               write file-buffer from print-buffer
000592               move employee-row to print-buffer
000593               write file-buffer from print-buffer
000594             else
000595               add 1 to page-number
000596               move employee-row to print-buffer
000597               write file-buffer from print-buffer.
000598
000599         999-PRG-ERR.
000600             display 'ERR - ' CUR-STEP ' : ' SQLCODE.
000601             display 'ERR - ' CUR-STEP ' : ' SQLERRMC(1:SQLERRML).
000602             MOVE -1 TO RETURN-CODE.
000603  GIXSQL*
000604  GIXSQL*   ESQL CURSOR DECLARATIONS (START)
000605  GIXSQL     GO TO GIX-SKIP-CRSR-INIT.
000606  GIXSQL GIXSQL-CI-P-pgcobol-employeecursor.
000607  GIXSQL     CALL STATIC "GIXSQLCursorDeclare" USING
000608  GIXSQL         BY REFERENCE SQLCA
000609  GIXSQL         BY REFERENCE "cobol_sql" & x"00"
000610  GIXSQL         BY VALUE 0
000611  GIXSQL         BY REFERENCE "pgcobol_employeecursor" & x"00"
000612  GIXSQL         BY VALUE 0
000613  GIXSQL         BY REFERENCE SQ0001
000614  GIXSQL         BY VALUE 0
000615  GIXSQL     END-CALL.
000616  GIXSQL GIX-SKIP-CRSR-INIT.
000617  GIXSQL*
000618  GIXSQL*   ESQL CURSOR DECLARATIONS (END)


0 warnings in compilation group
0 errors in compilation group

Back to: Cobol and PostgreSQL