Menu

#51 Grammar issue with COMMIT

v1.0 (example)
closed-fixed
nobody
grammar (1)
6
2015-02-09
2015-02-04
Inaki GE
No

Hi,
I have detected a grammar issue related to the COMMIT word that is not being properly considered by Koopa.
In the procedure division of a program there are the following lines:

<1>
[...]
000503 PERFORM COMMIT FT000110
000504 THRU COMMIT-EXIT FT000111
[...]

<2>
000656 COMMIT. MKAM0204
000657** MKAM0209
000658 MOVE 'COMMIT' MKAM0212
000659 TO AUX-PARRAFO. MKAM0213
000660 IF CN-REGISTROS-PEND-COMMIT >= CT-100 FT000129
000661 FT000130
000662 EXEC SQL FT000131
000663 COMMIT FT000132
000664 END-EXEC FT000133
000665 FT000134
000666 MOVE ZEROES TO CN-REGISTROS-PEND-COMMIT FT000135
000667 FT000136
000668 END-IF FT000137
000669 FT000138
000670 . MKAM0218
000671 COMMIT-EXIT. MKAM0219
000672 EXIT. MKAM0220
[...]

The thing is that the COMMIT in the perform transaction (<1> line 000503) is not referring to a privileged word but to another part below in the procedure division (<2> Line 000656).
I suppose that some changes in the grammar configuration in Koopa must be done.

If you need further information do not hesitate to contact me.

Regards.

Discussion

  • Inaki GE

    Inaki GE - 2015-02-05

    Hi again,
    The problem also exists with the ROLLBACK word. See the following example:

    <1>
    [...]
    04703 IF NOT SQL-OK
    004704 PERFORM ROLLBACK
    004705 THRU ROLLBACK-EXIT
    [...]

    <2>
    004941 ROLLBACK.
    004942****
    004943 MOVE 'ROLLBACK'
    004944 TO AUX-PARRAFO.
    004945 EXEC SQL
    004946 ROLLBACK
    004947 END-EXEC
    004958 ROLLBACK-EXIT.
    004959 EXIT.
    [...]

     
  • KrisDS

    KrisDS - 2015-02-08

    Tried to fix this in [r204]. Please let me know if that helped.

     

    Related

    Commit: [r204]

  • Inaki GE

    Inaki GE - 2015-02-09

    Hi,
    Both COMMIT and ROLLBACK issues are solved with the new version.
    Thank you very much.

     
  • KrisDS

    KrisDS - 2015-02-09
    • status: open --> closed-fixed
     

Log in to post a comment.