Skip to main content

I am trying to call a program of type "JVM COBOL" (which from now on I will call program "J") from a program of type "Native COBOL" (which from now on I will call program "N") from my Enterprise Developer local environment but the following error occurs:
Load error : file 'ProgramJ'
error code: 173, pc=0, call=1, sec=0
173 Called program file not found in drive/directory


The program program "J" is in a project of type "COBOL JVM Project" and program "N" is in another project of type "Mainframe COBOL Project". I have modified the "Projects" tab of the "Micro Focus --> Build Path" properties of the "Mainframe COBOL Project" type project to incorporate the "COBOL JVM Project" type project, but this has not been enough for the "Enterprise Developer" find the compiled object of program "J". So, could anyone tell me what else I should change in the settings to fix the problem?
Finally, I add that the compilation of the program "J" generates a file with the extension .class and the compilation of the program "N" generates a file with the extension .dll


#MicroFocusCOBOL
#EnterpriseDeveloper
#EnterpriseServer

I am trying to call a program of type "JVM COBOL" (which from now on I will call program "J") from a program of type "Native COBOL" (which from now on I will call program "N") from my Enterprise Developer local environment but the following error occurs:
Load error : file 'ProgramJ'
error code: 173, pc=0, call=1, sec=0
173 Called program file not found in drive/directory


The program program "J" is in a project of type "COBOL JVM Project" and program "N" is in another project of type "Mainframe COBOL Project". I have modified the "Projects" tab of the "Micro Focus --> Build Path" properties of the "Mainframe COBOL Project" type project to incorporate the "COBOL JVM Project" type project, but this has not been enough for the "Enterprise Developer" find the compiled object of program "J". So, could anyone tell me what else I should change in the settings to fix the problem?
Finally, I add that the compilation of the program "J" generates a file with the extension .class and the compilation of the program "N" generates a file with the extension .dll


#MicroFocusCOBOL
#EnterpriseDeveloper
#EnterpriseServer

Hi Sergi, RTS 173 indicates the program being called is not being found, can you test with the .dll being located in the same working directory. If that does not help then I propose you raise a support case to seek further assistance.


Hi Sergi, RTS 173 indicates the program being called is not being found, can you test with the .dll being located in the same working directory. If that does not help then I propose you raise a support case to seek further assistance.

Hello. I have copied the files resulting from the compilation of program "J" in the same folder where the files resulting from the compilation of program "N" are located and the same error continues to occur. I imagine that in the Micro Focus administrator it is necessary to indicate some configuration so that a .dll can make a call to a .class.

Hello. I have copied the files resulting from the compilation of program "J" in the same folder where the files resulting from the compilation of program "N" are located and the same error continues to occur. I imagine that in the Micro Focus administrator it is necessary to indicate some configuration so that a .dll can make a call to a .class.

Hi, what does your CALL statement look like,  see this documentation page for another example:
https://www.microfocus.com/documentation/visual-cobol/vc60/EclWin/GUID-7DB0B80F-AE74-47FD-881A-14D8C3A45483.html
The sample on this page include "native COBOL invokes the invokeMe method".


I am trying to call a program of type "JVM COBOL" (which from now on I will call program "J") from a program of type "Native COBOL" (which from now on I will call program "N") from my Enterprise Developer local environment but the following error occurs:
Load error : file 'ProgramJ'
error code: 173, pc=0, call=1, sec=0
173 Called program file not found in drive/directory


The program program "J" is in a project of type "COBOL JVM Project" and program "N" is in another project of type "Mainframe COBOL Project". I have modified the "Projects" tab of the "Micro Focus --> Build Path" properties of the "Mainframe COBOL Project" type project to incorporate the "COBOL JVM Project" type project, but this has not been enough for the "Enterprise Developer" find the compiled object of program "J". So, could anyone tell me what else I should change in the settings to fix the problem?
Finally, I add that the compilation of the program "J" generates a file with the extension .class and the compilation of the program "N" generates a file with the extension .dll


#MicroFocusCOBOL
#EnterpriseDeveloper
#EnterpriseServer

If program "J" is compiled to java byte code i.e. J.class, A Native COBOL module (or any native module for that matter) cannot CALL it directly.  You're getting the 173, because the native runtime is expecting the program "N" to be looking for a .dll, shared library, .int, .gnt....All are examples of Native code.