Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Compiling a program and/or running cob -V from the command line, and getting an error similar to the following: cob32: invalid symbol __iob in sidefile /opt/cobol/lib/cobisym Resolution: Make certain your $PATH environment variable is set correctly. Old KB# 4549
Problem: A customer wanted to know how comptible .int code really was: for example, could he take an .int file compiled as 64-bit on net Express 5.0, and then run it on a UNIX box? Also, would this have to be a 64-bit UNIX system? Resolution: A 64-bit .int built on Net Express will run on a 32- or a 64-bit UNIX box. Old KB# 4560
Problem: When compiling an executable on SCO v6.0.0, with Server Express v4.0, the above error is displayed. Resolution: The full library name is libintl.so and is the library that provides Native Language Support. On SCO 6, it is found in /usr/gnu/lib, which when added to the PATH corrects the problem Old KB# 4492
Problem: Load error : file '$JAVA$CallVendorServices' error code: 198, pc=93, call=1, seg=0 198 Load failure Resolution: If your Environment Settings are correct, test this by trying to make a direct call to your Java application. You need to run this as a multithreaded application by using the cobjrun. Old KB# 4530
Problem: When you have say about 3000 ints and 50 users. It can happen that a file in I/O is locked. How can you find out in the runtime who locks the file or which runtime process as you could kill all but that's not very user friendly. Resolution: There is a tool in Server Express which is not documented (yet). It's called 'wholock'. It's quite simple to use: wholock filename dfed filename This opens the file in the data file editor Then use the command: wholock /support/cmc/filename result: Process 15098 (cmc) on tty pts/4 holds 1 read and 1 write locks Old KB# 4528#ServerExpress#RMCOBOL#netexpress#AcuCobol#COBOL
Problem: READY TRACE is set up in an online program. The trace compiler directive was set. When the program executes the trace logging is written directly to the online screen. How can the ready trace output be directed to a physical log file? Resolution: Trace output defaults to standard out. Try setting the OUTDD compiler directive to redirect the file. A simple example would be compile the program with the directive: cob -C OUTDD=SYSOUT myprogram.cbl then establish the desired location for the log file. export SYSOUT=/home/dir/myfile.txt For more information on the OUTDD compiler directive, see the online documentation at: http://supportline.microfocus.com/Documentation/books/sx40sp2/stpubb.htm Old KB# 4542
Problem: How does the Dialog export command help me as a developer? Resolution: The export command allows a developer to dump every detail about a dialog screenset. This both helps with debugging and also re-coding. Alt/F10 brings up the export option where a filename.txt file can be designated for output. Pressing the SPACE bar allows you to toggle which components are selected Components Screenset Dets Data Block Error Messages Validations Global Dialog Panels This is followed by a list of panels which can be de-selected by use of SPACE. For debugging, one is usually only interested in a subset of panels. The resultant output is a text file containing every detail of the selected components. This is part of the Global Dialog setion. GLOBAL DIALOG CASE-SENSITIVITY ON EK F1 [RETC ] &nb
Problem: A particular application allocates memory dynamically. The only access to the data is via a pointer in working-storage. There is no direct way to inspect the data values at the dynamic location. Resolution: Following is a small Cobol program which illustrates the solution. data division. working-storage section. * Data to be inspected -- statically allocated to simplify the demo, but * referenced only by a pointer. 01 data-of-interest pic x(50) value 'This is interesting data.'. 01 pointer-to-interest pointer.
Problem: When trying to run a Unix script that invokes a Cobol program, it runs fine when manually running it from the shell. So you are able to run the script as the user from a menu. However, when running the script from a cron as the same user it won't work - the error "could not obtain latest contract from popen(3C): No such process" appears. Resolution: The problem here was the "popen" error message seemed to be a generic error message. This particular program had "display" in it - running it in the cron caused the above "popen" error - when commented the displays out the error no longer appeared. It was identified as a Solaris error and they can provide a fix for this. Old KB# 4526
Problem: The RTS error on failure is one which may be caused by an environment variable setting problem, e.g. 173, 211, 114, etc. How to check the environment while running in CGI mode and compare it to the command line environment? Resolution: One good way to compare environments is to run the mfsupport utility from the successful command line environment and from the cgi environment. A comparison of the environment sections of both output files may reveal the problem. However, it is not simple to run mfsupport in the cgi environment. To do the latter, write a small cgi program which contains the following fragments: 01 mfsupport-command-line. 10 mfsupport-command pic x(200) value 'mfsupport > /dev/null 2>&1'. &
Problem: Release 4.0: Server Express install breaks with message libc not found on a Linux System. Resolution: Please ensure that you have the gcc component installed because gcc is not a standard Package for the most Linux Systems and must be installed separately. Old KB# 4559
Problem: Rebuild -f:c63d5 <file-name> returns the followin error: -f:c63d5 <file-name> ^ REBUILD aborted - Invalid option Resolution: This Rebuild validatation command is no longer valid. The correct sytax is: rebuild -f:c9 <file-name> The -f performs a full integrity cheeck on a file, display all possible information The -c Specifies the validation performed. You can select any combination of checks 1, 2 and 8 by adding the appropriate numbers together. (The more checks you perform, the longer the validation takes.) The default is 11. 1 Checks the data file structure and counts the number of records. 2 Checks the structure of the free space list (FSL). 8 Checks the index file structure. 256 Checks the data file structure and counts the number of records with the file open for sharing in another process. You cannot
Problem: A program, including the routine CBL_READ_SCR_CHATTRS, is generated using NetExpress and runs correctly on a Windows platform. However, when porting this application to a UNIX platform under Server Express, the routine no longer works in that it no longer reads the screen attributes (backgound colours) of the screen. Resolution: The problem can be solved by inserting CBL_SCR_SET_PC_ATTRIBUTES at the beginning of the program. Old KB# 4546
Problem: How can I get information about input and output files? Resolution: Rebuild -i <file-name> Displays information about the input and output files, including record lengths, file type and key structure. If you only want to see the information and do not want to perform any other operation, use the -n option instead. Old KB# 4554#COBOL#ServerExpress#netexpress#AcuCobol#RMCOBOL
Problem: According to the documentation indexed files should have a 128 byte file header and a record header. A customer sent us a demo converting an line sequential file to an index file which had no header. Resolution: There is always a header in the index portion of the file (assuming the file is not IDX-8) The 128 byte header referred to in the File Structure docs is in the data portion and only in MF format files. C-ISAM files do not have a header in the data portion. Changing the demo to create the output file as variable length altered the output file to include a header. Running rebuild -f on the file shows it to be MF format IDX-3. Running the rebuild -f on the original file showed that it was c-isam where the data portion is just a fixed length text file. Old KB# 4493#netexpress#AcuCobol#RMCOBOL#COBOL#ServerExpress
Problem: Cobol program's being animated using COBSW= A set will not start up in the animator, but will just execute. Resolution: This problem can be caused by the environment variable DISPLAY being set. When the DISPLAY environment variable is set the Server Express product will try to create a new X-Term window for the Animator screen and user interface. If the user is not using an X-Windows session, this operation fails and the Animator screen is never displayed. Ensure that the environment varaible DISPLAY is not set. If DISPLAY is set, unset and then animate. example: echo $DISPLAY DISPLAY="information" unset DISPLAY Old KB# 4516
Problem: EXEC SQL INCLUDE table1 END-EXEC The copy is in the current directory as "table1.cpy" but the compiler appears as if it looking for "TABLE1.cpy" (converts to UPPERCASE in the inverse way as SQLCA). Resolution: The problem is that UNIX is case sensitive and the only way to get round this problem is either to manually change the names to upper/lower case but that would be unfeasible if there are 100s of programs involved. Another way and much easier is to use the compiler directive FOLD-CALL-NAME or FOLDCALLNAME respectively. Both are the same and allow lower and/or upper case letters. Old KB# 4510
Problem: A customer had a script called (say) ggg, and a program (say) ggg.cbl. The script was in a directory pointed at by PATH, and the program was in a directory pointed at by COBPATH. If he typed 'anim ggg', then Animator picked up the script, rather than the program. Why was this? Resolution: Animator can debug .int, .gnt, .so, executables, core files and running processes. So when you type anim nnn the animator will first check to see if 'nnn' is number and, if so, see if it can dynamically attach to a process with that pid. Next, it will search for exes, down $PATH. It that fails, it will search using the standard RTS rules (using $COBPATH and the program_search_order tunable, etc). Finally, it checks to see if it's been asked to debug a core file. In this case, as a script is an executable, it was be picked up first. The ideal solution is not to have s
Problem: How do you use the h2cpy utility to convert pstat.h to pstat.cpy Output is not aligned correctly with 64 bit application using the following command to create: h2cpy /usr/include/sys/pstat.h -I /usr/include -e lp64 h2cpy /usr/include/sys/pstat.h -I /usr/include -e ilp64 Resolution: The pstat_ functions is used to obtain system and process information. Create pstat.cpy with the following command: h2cpy /usr/include/sys/pstat.h -I /usr/include -D_PSTAT64 It will create pstat.cpy with the following: 01 pst-status is typedef. 02 pst-idx usage l-long. 02 pst-uid usage l-long. 02 pst-pid &n
Problem: On UNIX the file name default is file-base-name for the data portion aand file-base-name.idx for the index portion of a file. The following explains how to change these default naming converntions. Resolution: In the extfh.cfg configuration file you can specify the option IDXNAMETYPE. The IDXNAMETYPE option specifies the format of the filename type for both the data file and index file,present. if presnet. IDXNAMETYPE={0|1|2} where the parameters specify how the the name of the index file (if present) is derived from that of the data file: 0 By discarding any extension and adding the extension .idx 1 By simply adding the extension .idx 2 Like 1 except that the data file name is modified by adding the extension .dat For example, if the data file name presented to the File Handler is abc.def, the options shown above give the following data and index file names: 0 abc.def and abc.idx
Problem: If the database connection criteria is being passed to Pro*COBOL via a compiler directive, is there a way to prevent this from being displayed on the console? Note the line: * CSQL-I-005: Passing userid=abcd/wxyz@INST1 to ORACLE Precompiler in the output of a compilation of an Oracle COBOL program.. Resolution: These messages are actually coming from the COBSQL portion of the COBOL compiler * CSQL-I-005: Passing userid=abcd/wxyz@INST1 to ORACLE Precompiler This message is only displayed if the CONFIRM directive is set. Removing the CONFIRM directive should resolve the problem. Old KB# 4517
Problem: I can't run the XML tutorial . Cob2xml command can't create files and displays errors about undefined functions . Resolution: Server Express 5.0 is validated with the version 7 of the C compiler . It is necessary to install this version. To verify the version : Login : root lslpp -L vac.C must display the line : vac.C 7.0.0.0 Old KB# 4562
Problem: After applying a fix patch to Server Express 4.0 SP2 a customer noticed a difference between the COMPUTE statement in that it correctly calculates an int file but gave the wrong results in a gnt file. Resolution: After setting the Compiler directive HOSTARITHMETIC the desired results were achieved. There is a KB article about HOSTARITHMETIC as new compiler directive: (KB 19918) which is recommended to read as it contains detailed information to this compiler directive. Old KB# 4512
Problem: You may be trying to do a very simple rebuild on a small ISAM file but for some reason the command is not finding the input file to be rebuilt (even though it is in the present working directory). You may have been following the suggestions in the manual & it seems like it should work.... Resolution: The first thing to consider is the way the file is named. If it is FILENAME.dat and FILENAME.idx, then you are probably using the IDXNAMETYPE filehandler configuration option. By default, the name of the data portion of the indexed will be exactly as specified in ASSIGN clause in the SELECT statement of the program. Therefore, if the program has ASSIGN "CCSTAT.dat", then the data part of the file would be CCSTAT.dat - however the indexed part of the file would be created as CCSTAT.dat.idx. For you to have the file extensions as you have - CCSTAT.dat and CCSTAT.idx, you probably have the IDXNAMETYPE configuration option set to 2 in the fil
Problem: An application moved cursor focus to a group field when pressing a specific key. i.e. to the index 9 in an array of 12. This apparently worked OK on a pre 4.0 version of OCDS but not on Server Express. Resolution: The dialog (local code associated with a panel) pertaining to the group field TOGGLE is shown below. This is the field to jump to when pressing END (that doesn't work). It's a 12 member array of 7 bytes, the application jumps to index 9. PANEL GROUP PRE-GRP VERTICAL LINE 13 COLUMN 59 HEIGHT 9 WIDTH 7 TYPE DATA ACC-EXIT BAR SELECT BAR LENGTH 7 &n
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.