isCOBOL Runtime
Starting from isCOBOL 2020R2, new configuration settings and new library routines are available to customize behavior and improve compatibility.
The new configuration settings are:
iscobool.key.<keystroke>=search=<context> to customize the search action in a specific component. By default, pressing Ctrl+F on grid, print-preview and web-browser makes the Search panel appear. The key combination can be customized: for example it can be set to Shift+F4 by using the following configuration settings:
iscobol.key.*f=search=
iscobol.key.^f4=search=grid,print-preview,web-browser
If you need to disable the Ctrl+F feature for the web-browser only, the following setting can be used:
iscobol.key.*f=search=print-preview,grid
iscobol.call_cancel.hook=className to specify a hook class for CALL and CANCEL statements. The class can be written in pure Java or in COBOL using the appropriate syntax CLASS-ID to implement the interface “com.iscobol.rts.CallHandler”. The list of required methods that need to be defined for this interface are:
o public void afterCall(IscobolCall call, Object[] argv);
o public void afterCancel(IscobolCall call);
o public void afterCancelAll();
o public void beforeCall(IscobolCall call, Object[] argv);
o public boolean beforeCancel(IscobolCall call);
o public boolean beforeCancelAll();
iscobol.jdbc.auto_connect=true to automatically connect to the database without using an explicit ESQL CONNECT statement in the program. When the first ESQL statement is executed, the connection is automatically established.
iscobol.jdbc.user=userName to supply a username credential without specifying it in the iscobol.jdbc.url property. This can be used also in conjunction with iscobol.jdbc.auto_connect=true
iscobol.jdbc.password=pwd to supply the connection password without specifying it in the iscobol.jdbc.url property. This can be used also in conjunction with iscobol.jdbc.auto_connect=true
New library routines have been implemented to enhance the compatibility with the MicroFocus® dialect:
CBL_ALLOC_MEM to allocate memory. The allocated memory amount is expressed in bytes, and it returns a pointer used to release allocated memory.
CBL_FREE_MEM to release the previously allocated memory.
CBL_GET_CURRENT_DIR to retrieve the current folder name.
CBL_READ_DIR to retrieve the current folder absolute path name.
The following is a code snippet of a migrated COBOL program that calls all the new supported library routines:
           WORKING-STORAGE SECTION.
           77  path-name         pic x(256).
           77  path-name-length  pic x comp-x.
           77  dir-status-code   pic x(2comp-5.
           77  flags             pic x(4comp-5.
           77  name-length       pic x(4comp-5.
           77  mem-pointer       usage pointer.
           77  mem-size          pic x(4comp-5.
           77  mem-flags         pic x(4comp-5.
           77  mem-status-code   pic x(2comp-5.
           ...
           PROCEDURE DIVISION
           ...
               call "CBL_READ_DIR" using path-name 
                                         path-name-length 
                               returning dir-status-code
               call "CBL_GET_CURRENT_DIR" using by value     flags
                                                by value     name-length
                                                by reference path-name
                                                returning    dir-status-code
               call "CBL_ALLOC_MEM" using          mem-pointer
                                          by value mem-size  
                                          by value mem-flags
                                         returning mem-status-code
               call "CBL_FREE_MEM"  using by value mem-pointer
                                         returning mem-status-code