support: Customer Portal
Focused on delivering choice, investment protection and flexibility to organizations with valuable COBOL assets

Veryant Knowledge Base
Home > All Categories > isCOBOL General > Can I use directory paths in CALL names?
Question Title Can I use directory paths in CALL names?

My application source contains files that have the same name but are in different directories, e.g. dir1/progA.cbl, dir2/progA.cbl. I rely on the ability to specify paths in the CALL names in order to differentiate the programs, e.g. CALL "dir1/PROGA". 

Can I do this with isCOBOL?
If so, then how?


In order to specify paths in CALL names, you need to set iscobol.code_prefix to the list of directories where your COBOL programs are located. The directory paths must be separated by the "\n" character sequence. For example,


For a simpler example, if a program named TESTPROG does CALL "dir1/progA" and PROGA.class is in a subdirectory named dir1, you could run TESTPROG with:

java -Discobol.code_prefix=. TESTPROG 

To search for a program, the isCOBOL runtime framework first looks in the JAR files and directories listed in the class path. It then looks in the directories listed in iscobol.code_prefix.

Relative paths specified in CALL names are treated as relative to the directories listed in iscobol.code_prefix. The isCOBOL runtime framework appends the path from the CALL name to each value in iscobol.code_prefix to find the program

When iscobol.code_prefix is set to '.' the isCOBOL runtime framework searches in the current working directory and treats paths in CALL names as relative to the current working directory.

If you need to specify absolute paths in CALL names then set iscobol.code_prefix to '/' on Unix or 'c:' on Windows.

Here is some additional information:

The isCOBOL Compiler produces Java classes using the file names as class names. By default, the isCOBOL runtime framework searches for the classes (.class files) in jar files or directories that are listed in the class path. For example, with CALL "PROGA", the isCOBOL framework will attempt to create an instance of a class named PROGA. The Java framework will search for PROGA.class in all of the JAR files and directories that are listed in the class path (i.e. either in the CLASSPATH environment variable or the value specified with the java -cp command line option.)

In this case, CALL "dir1/progA" will fail because "dir1/progA" is not a valid class name. 

However, if you specify iscobol.code_prefix then the isCOBOL runtime framework will use its own class loader and will use the value of iscobol.code_prefix as well as any path information in the CALL name to load the class.
Authored by: Veryant Support This question has been viewed 8095 times so far.
Click Here to View all the questions in isCOBOL General category.
File Attachments File Attachments
There are no attachment file(s) related to this question.
How helpful was this article to you?
User Comments User Comments Add Comment
There are no user comments for this question. Be the first to post a comment. Click Here
Related Questions Related Questions
  1. How do I compile for compatibility with older versions of Java?
  2. When can I get the " Permission denied:connect" message? And how can it be avoided?
  3. How do I migrate indexed files to a format that is supported by isCOBOL?
  4. How do I resolve "code too large for try statement" errors?
  5. How do I prevent hackers from decompiling Java class files to reverse engineer my COBOL application?
  6. How can I read an Excel spreadsheet from COBOL?
  7. Does SET ADDRESS OF X TO Y work?
  8. What Micro Focus library routines are supported?
  9. How do I create a desktop shortcut icon to launch my program?
  10. Do I need to worry about the compile warning "Note: uses unchecked or unsafe operations?"
  11. What tools are available for automated functional (regression) testing of a COBOL application?
  12. Where can I obtain a copy of the ANSI 2002 COBOL standard?
  13. Is there currently a way to debug COBOL and Java source together?
  14. How do I set up isCOBOL to access Vision files?
  15. How do I increase the maximum Java heap size when compiling?
  16. How can I package my application and execute it in a JAR file?
  17. How do I turn on debug trace to produce a log file?
  18. How do I determine what properties are set?
  19. Should I use JISAM or isCOBOL ISAM Server (c-treeACE)?
  20. Why do I get a compile error "--S: Invalid open mode" on an OPEN I-O of an ORGANIZATION LINE SEQUENTIAL file?
  21. How would I create my own CBL_ALLOC_MEM and CBL_FREE_MEM routines?
  22. What is the best way to control Microsoft Word?
  23. How can I use the F10 key in my application without it changing the keyboard focus?
  24. How do I get my screens to be the same size and spacing as when I run with ACUCOBOL?
  25. Where can I find more information on A$ENCRYPT and A$DECRYPT?
  26. How do I use conditional compilation?
  27. How do I specify properties or a properties file on the command line?
  28. How do I change the icon in the upper left corner of the Window?
  29. Does isCOBOL work with Flexus COBOL sp2?
  30. How does a program detect at runtime whether it is running standalone GUI, thin client or with Web Direct 2.0?
  31. What is the behavior difference of STOP THREAD?
  32. What are the defaults for the DATE-ENTRY control DISPLAY-FORMAT property and format styles?
  33. Sending SMTP mail
  34. How do I select 11x17 paper size using WIN$PRINTER?
  35. Is the isCOBOL 2009 SP1 release intended to deploy mainframe applications over the cloud? Or is it an integration mechanism for bringing in cloud data and apps?
  36. How would I create my own CBL_CHECK_FILE_EXIST routine?
  37. Where can I learn more about Classpath, the Java class loader, JDK tools and utilities?
  38. What are the key technical advantages of isCOBOL?
  39. Does isCOBOL run on Linux on System z?
  40. Why do I get the error java.lang.NoClassDefFoundError: com/iscobol/rts_n/StopRunException?
  41. Can Veryant recommend a good Web site to find 3rd party JavaBeans?
  42. Why do I get the error message "Native call not found" and how do I fix the problem?
  43. What compile option should I use for ICOBOL compatibility?
  44. How do I compile fixed (ANSI) format source that COPYs terminal format source or vice versa?
  45. Can isCOBOL access a DLL or .so that is in a JAR file?
  46. I still get the error : "Missing License: The license key is missing, invalid or has expired!" I can't figure out why
  47. How do I configure file locations with environment variables?
  48. What algorithm does isCOBOL use to load framework properties (runtime config variables)?
  49. How can I make my isCOBOL program to be called instead of a C routine when both have the same name?
  50. Is your runtime library backward compatible?
  51. How do I set iscobol.file.index.FileName with variable file name assignments?
  52. Does isCOBOL APS run on z/OS?
  53. How do I specify which file status codes I want to use?
  54. What is the easiest and/or best way to convert a legacy text-based user interface to a web front end?
  55. Is there any equivalent to COPY RESOURCE?
  56. Does isCOBOL support C$REDIRECT?
  57. How do I print to a spooler in Unix?
  58. Is isCOBOL backward compatible?
  59. How do I write my own replacement for a C$ library routine?
  60. Why do I get the error message “java.lang.UnsatisfiedLinkError: no ### in java.library.path?
  61. What should I use for USAGE HANDLE items instead of NULL?
  62. What is the best way to profile an isCOBOL program?
  63. Is there a way to have single set of source code that will compile with both ACUCOBOL and isCOBOL?
  64. Can you derive isCOBOL object classes from Java and vice versa?
  65. Is there any way to use isCOBOL with SCO 5.0.6 (JDK 1.3)?
  66. How can I tell what changes were made in the isCOBOL latest update?
  67. How can I avoid the "java.lang.OutOfMemoryError: PermGen space" error?
  68. I've heard there is a problem passing pointers to C functions. What is it?
  69. Can the file system (iscobol.file.index) be set programmatically?
  70. How do I get more information when I get java.lang.reflect.InvocationTargetException?
  71. How can I monitor a jvm started on a remote computer box?
  72. Does isCOBOL support Crystal Reports or other Report Writers?
  73. How do I suppress multiple reserved words with the -rw compiler option?
  74. Why do I get the error message "java.lang.ArrayIndexOutOfBoundsException" ?
  75. Why do I get the error message "java.lang.NullPointerException" ?
  76. Can I call an RMCobol program passing parameters to it?
  77. How can I avoid, in execution, the "java.lang.OutOfMemoryError: Java heap space" error?
  78. What does mean the error NO X11 DISPLAY?
  79. How do I resolve the error "java.lang.NoClassDefFoundError" or "java.lang.ClassNotFoundException"?
  80. Does isCOBOL support C$XML or other XML interfaces?
  81. Is there any way to direct the output from the “Print Screen” keyboard key directly to a printer?
  82. Why do I get the error "Could not load the main class" ?
  83. Did you know that in a string you can replace a text with a new one with a different length by using the C$REPLACE_ALL routine?
  84. Did you know how to write custom information inside isCOBOL log file?
  85. Did you know you could set properties to configure the PDF'S generation while printing?
  86. Did you know you can encrypt the communication with the isCOBOL Server?
  87. GIT Server (Linux) - Install and Configuration
  88. Activating and Check the isCOBOL License
  89. How to search by key with case insensitive on ISAM files
  90. How do I point my installed isCOBOL to a different Java location?
  91. May I create my own type definitions and reuse them?
  92. How can I generate QR codes from COBOL?
  93. Can I define one or more data items based on the definition of another one?
Article Information Additional Information
Article Number: 29
Created: 2009-08-28 4:03 PM
Rating: No Rating
Article Options Article Options
Print Question Print this Question
Email Question Email Question to Friend
Export to Adobe PDF Export to PDF File
Export to MS Word Export to MS Word
Bookmark Article
Subscribe to Article Subscribe to Article
Search Knowledge Base Search Knowledge Base


© Veryant - All Rights Reserved
Veryant and isCOBOL are trademarks or registered marks of Veryant in the United States and other countries. All other marks are the property of their respective owners.