Good day for all, we are making an integration of my ERP in RM-COBOL version 7.03 with another system in Oracle database and Sqlserver, I'm using the InstantSql to update some basic catalogs that are shared between both applications, I am trying to execute stored procedures that contain all the validations, in sql server if there are errors the procedure returns me a resultset with the information, but in Oracle it returns of the information in a cursor which I could not obtain the information.
These are the parameters of the stored procedure in ORACLE
and this is the code with which I'm running the stored procedure
This is the error that the program throws at me.
And the description of the error is the following:
additional to this Is that cobol uses to describe the parameters of the stored procedure
InstantSql version 7.5d.00
Version of the cobol 7.03
Thanks in advance for the help you can give me.
Have you tried using only actual COBOL data items in your SQL BIND PARAMETER statement?
The error message seems to indicate that you have not correctly bound all of the parameters for this stored procedure, and, the documentation for Instant SQL does not state that you can use literals in your SQL BIND PARAMETER statement. It is possible that this is acceptable in some situations; but, in this specific stored procedure, the first parameter is of the "input-output" type, and, you are setting that to a literal value of "COBOL".
I would recommend either only assigning actual COBOL data items to bound parameters, or, modifying your SQL statement to not include parameter markers where you really want to use a hard-coded literal.
Please let me know, though, if the error persists after making these changes to your program.
**As a note, RM/COBOL v7.03 is very old, so, I would strongly recommend that you upgrade to a current release for added compatibility with newer platforms, and, product bug fixes.
Senior SupportLine Representative, North American Support