Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Platforms: x86 and zSeries Resolution: Server Express 5.0 can run on SuSE LINUX Enterprise Server 10 as long as the following change is made: The $COBDIR/etc/cobopt files need updating to point to the correct compiler object files. The following is an example of the changes needed: On the x86 platform: Original product cobopt file: set GCC_LIB=/usr/lib/gcc-lib/i586-suse-linux/3.3.3 Updated cobopt file: set GCC_LIB=/usr/lib/gcc/i586-suse-linux/4.1.0 On the zSeries platform: Original product cobopt file: set GCC_LIB=/usr/lib64/gcc-lib/s390x-suse-linux/3.3.3/32 Updated cobopt file: set GCC_LIB=/usr/lib64/gcc/s390x-suse-linux/4.1.0/32 Without these changes the Server Express product cannot
Problem: When installing Micro Focus Sever Express you are asked whether you want the default working mode to be either 32 or 64 bit. Whichever you select the working mode default is set appropriately. Resolution: You can change the working mode (COBMODE) on a temporary basis or if you have root permission you can change the default working mode. To change the default working mode temporarily you can set the COBMODE environment variable: export COBMODE={32/64} Once you have logged out the default working mode will revert back. Note: You can set COBMODE in your .profile If you have root permission you can change the system default working mode by running the following command: cobmode -s {32/64} Old KB# 2205
Problem: Release 5.0: What has to be changed on SLES 10 i386? Resolution: After installation you need to change $COBDIR/etc/cobopt from set GCC_LIB=/usr/lib/gcc-lib/i586-suse-linux/3.3.3 to set GCC_LIB=/usr/lib/gcc/i586-suse-linux/4.1.2 Old KB# 2125
Problem: Release 4.0: Which changes needed running Server Express 4.0 on SuSE / Novell Enterprise Server 10 i386 (32bit)? Resolution: $COBDIR/etc/cobopt: from set GCC_LIB=/usr/lib/gcc-lib/i586-suse-linux/3.3.3 to set GCC_LIB=/usr/lib/gcc/i586-suse-linux/4.1.2 Old KB# 2127
Problem: Release 5.0: Which changes needed running ServerExpress 5.0 on SLES 10 x86_64? Resolution: $COBDIR/etc/cobopt from set GCC_LIB=/usr/lib/gcc-lib/i586-suse-linux/3.3.3 to set GCC_LIB=/usr/lib64/gcc//x86_64-suse-linux/4.1.2/32 also $COBDIR/etc/cobopt64 from set GCC_LIB=/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3 to set GCC_LIB=/usr/lib64/gcc/x86_64-suse-linux/4.1.2 Old KB# 2126
Problem: COBOL/Java/Oracle 9i application has failed with SQL abend code 1455 whenever COBOL with Oracle FETCH is executed multiple times from JAVA. Application logic that requires CONNECT function is based on a variable in Working-Storage that is set initially to "Y" and then reset to "N" after the CONNECT. During subsequent executions of the COBOL and Oracle program, the Working-Storage field is left as 'N" and it is unclear why. It is supposed to be a completed process after each run. Eliminating the JAVA interface permits the application to execute any number of times. So the inital value of the Working-Storage field is reinitialized each time the program runs outside the JAVA interface. Problem is two-fold: what is causing the SQL abend code and why isn't the JAVA interface clearing the process each time it completes? Resolution: SQL error 1455 was accurate. The reason was ther
Problem: In Object COBOL Development Suite De-referencing a NULL pointer in C was treated as zero. With Server Express it now returns the error: Execution error : file '<file-name>' error code: 114, pc=0, call=1, seg=0 114 Attempt to access item beyond bounds of memory (Signal 11) Passing the NULL is not a problem. De-referencing a NULL pointer in the C PROGRAM is the problem. The error occurs when you use "cob -x" to compile the C program, but does not occur when you just use straight "cc". But dereferencing a NULL pointer is supposed to be an undefined operation in C. Resolution: With Server Express we now put "-z" on the ld command line. The -z was added to the HP-UX liblist because using it is widely considered best practice on that platform. Dereferencing a null pointer in C causes
Problem: To debug and fix a problem, Micro Focus needs a minimal portable demonstration test case capable of reproducing the problem (in other words, a "demo"). Resolution: Micro Focus cannot fix bugs based on verbal descriptions. A simplified source code demonstration is required, which can be compiled and run, and can re-create the problem symptoms. Screen shots show problem symptoms on end user's machines, or it might be possible to dial in or use a Net Meeting to witness a problem, and this is valuable information when debugging, but not enough information to actually fix the problem. The problem must be recreated and studied on machines at Micro Focus, so Micro Focus engineers can debug it in the presence of the Micro Focus internal product source code. Trying to work based on a verbal description, Micro Focus engineers might study the product's internals and find a discrepancy that seems related to the symptoms, and prod
Problem: Attempting to build an executable linking COBOL and C modules getting errors from the system link editior 'ld" example error message: # cob -x a ld: (Warning) Ignoring allowunsats. The option is currently not supported in a 32-bit PA link. ld: Can't open /opt/langtools/lib/pa20_64/crt0.o ld: No such file or directory Resolution: IN order to build executables on the HP/UX PA/RISC environment the HP C language development system must be installed - the version installed should be as identified in the file: $COBDIR/docs/env.txt Old KB# 2210
Problem: I have just installed COBOL for UNIX (i.e. Server Express) for the first time, or I've made changes to the installation or to the licensing. What is a quick way to test whether Server Express can compile and run successfully? Resolution: Set the COBDIR environment variable to the Server Express location to be tested. For example: COBDIR=/opt/microfocus/cobolexport COBDIR Your machine might have more than one installation of Server Express (an old and a new version) in different locations. Decide which one you want to test, and set COBDIR to that location. After COBDIR is set and exported, enter the following commands: LD_LIBRARY_PATH=$COBDIR/libexport LD_LIBRARY_PATH [On AIX, specify LIBPATH instead of LD_LIBRARY_PATH, and on HP/UX, specify SHLIB_PATH instead] PATH=$COBDIR/bin:$PATHexport PATHCOBPATH=.export COBPATH Next, copy and paste the following six commands onto the command line: mkdir /tmp/cob_testcd $CO
Problem: We are trying to install the fixpack and are getting the following: --------------------------------------------------------- | | | Micro Focus Self Extracting Archive | | &nbs
Problem: How to specify paths in an environment variable Resolution: The use of, and interpretation of, ":" and "." in PATH type variables (PATH, LD_LIBRARY_PATH etc) is often misunderstood. ":" is the directory separator. A colon at the beginning (or end) of the environment variable value means a null path at the beginning (end) of the search order. A null path means the same as ".". That is, the current working directory. "::" in the middle of the env-var value is equivalent to ":.:", which obviously means search the current directory at that point in the order. A frequent mistake is "::" at the end of the value, which means search the current directory twice. Example of setting COBDATA- export COBDATA=:/home/data/directory This would cause the search order to be the current directory then /home/data/directory Incidentally - if you specify COBDATA then the current directory wi
Problem: By default the XML GENERATE statement converts data names to upper case to generate XML tags. The following: 01 myXML pic x(1000). 01 myItem1. 05 myItem2 pic x(10) value "my value". ... Xml generate myXML from myItem1 would generate "<MYITEM1><MYITEM2>my value</MYITEM2></MYITEM2>" in myXML Resolution: To preserve the case of data names when XML tags are generated with XML GENERATE it is necessary to use the PRESERVECASE compiler directive, i.e. $SET PRESERVECASE This directive is not documented in Server Express 5.0 but should be documented in Server Express 5.1. After setting PRESERVECASE, the contents of myXML in the example above would be: "<myItem1><myItem2>my value</myItem1></myItem2> Old KB# 2158
Problem: Use the following program as an example and a template, when you need to write a COBOL program that will rebuild an existing indexed file. The program reads the file from beginning to end and writes each record to a new file. This is a way of creating a fresh version of the indexes and their B-trees, and of removing records that were marked for deletion but weren't yet physically deleted, and of otherwise getting the file into a new and fresh state. It is an alternative to using the "rebuild infile, outfile" command. Resolution: The example "rebuild" program below is based on the demonstration program "stockioa.cbl", which gets installed with the Server Express product, and can be found in the directory $COBDIR/demo/locking. Before running the example "rebuild" program below, perform the following steps: mkdir /tmp/test-rbld cd $COBDIR/demo/locking cp stockioa.cbl /tmp/test-rbld cd /tmp/test-rbld cob stockioa.cbl
Problem: When executing or debugging an OpenESQL application, the following error is returned: OpenESQL Error: You must execute your application using the threaded COBOL run-time. Resolution: The ODBC driver manager is typically linked with the threaded C run-time. On some flavors of UNIX, such as HP/UX PA-RISC and HP/UX Itanium, if you attempt to execute an application with the non-threaded run-time, which attempts to load a module requiring the threaded run-time, you will receive an Operating System loader error. OpenESQL applications on UNIX should be built and executed for use with the threaded COBOL run-time, for example : cob -t myapp.cbl cobrun_t myapp or, to debug the application : anim_t myapp Old KB# 2191
Problem: When running a COBOL program with working storage defined as: 30* test structure with mixed case. 31* 32 01 XML-str. 33 05 XML-nbr-comp pic 9(03) value 111. 34 05 XML-nbr-fund pic 9(05) value 22222. 35 05 XML-nbr-acct pic 9(15) value 333333333333333. The procedure division XML code OPEN OUTPUT OUTFILE. 46 XML GENERATE WS-XML-BUFFER 47 FROM XML-str 48 COUNT IN WS-XML-CNT 50 WRITE OUTFILE-REC FROM WS-XML-BUFFER The problem is that the output tags are all uppercase, rather than mixed case <XML-STR><XML-NBR-COMP>111</XML-NBR-COMP><XML-NBR-FUND>22222</XML-NBR-FUND><XML-NBR-ACCT>333333333333333</XML-NBR-ACCT></XML-STR> The problem is that their web service programs are looking for mixed case. Resolution: If you are using the directive DIALECT(ENTCOBOL) then it should work okay. However you are using
Problem: Used rebuild infile, outfile but still having problems. Resolution: What the above command does is use the index tree to recover the file and will only recover records for which there is an index entry. The correct/recommended Rebuild command to use to recover a corrupt file is: Rebuild infile, outfile -d -e which will recover all valid records. The -d option tells Rebuild to ignore the index tree and scan for all valid data records that will be included in the outfile. The -e option indicates to Rebuild to continue to process the input file when an illegal duplicate record is encountered. All illegal duplicates are discarded from the outfile and are directed to a file with the base name of the infile with the extension .err. Old KB# 2173#AcuCobol#RMCOBOL#netexpress#COBOL#ServerExpress
Problem: Unable to open files that have embedded colons (:) in the filename when assigning these files via an environment variable. The SELECT phrase assigns the file names as EXTERNAL and they are set via an environment variable to point to the physical file. This used to work fine in OCDS v4.1 but now fails in Server Express. Resolution: The problem is that we treat the colon as a multi-path separator. If the colon would be in a working-storage variable instead of an environment variable, this would work. This work-around will work for assinging these filenames via an environment variable: So lets say you set an environment variable called INFILE: INFILE=abc:def.dat In the program you use to have: SELECT BLABLA ASSIGN TO EXTERNAL INFILE You would change the SELECT statement as follows instead: SELECT BLABLA ASSIGN TO DYNAMIC WS-INFILE You would then add these 2 lines before you open the file for the first time (this will read th
Problem: Customer has a script written in-house that uses the 'rebuild' command to rebuild some data files. Since upgrading their version of COBOL, the script has begun failing with: build.rad1 /v1/hosp/seqrad/RAD0.dat,/v1/h1/rad/RAD0 -o:seq,ind -k:1 41 -r:f72 -i -e ***Error during sort operation - status 9-037 Resolution: File status 9-037 means a permission problem. I notice the script changes directories to $COBDIR/bin and invokes rebuild with "dot-slash": ./rebuild. The rebuild input and output files are specified by full path and are located elsewhere, but at the time rebuild is running, the current working directory is $COBDIR/bin. The Server Express install script sets permissions such that a common user cannot disturb official files and directories. The user running this script does not have permission to write in $COBDIR/bin -- this is intentional. Although the rebuild input an
Problem: Using SOURCEFORMAT"FREE", getting syntax errors during compilation, for example: -------------------------------------------------------------- *-- File msbilling.scb, Line 2016 -- HOST CODE * 301-S ( 34)** ** Unrecognized verb * 641-S*********************
Problem: How can COBOL access the system time? How can I write a program that will display a clock showing the system time, in real time, for the purpose of checking the system time's accuracy? Resolution: Following is a complete COBOL program (not a fragment). It will compile as written: 000001 01 time-ws pic 9(08) value zeroes. 000002 01 filler redefines time-ws. 000003 05 ws-hours pic 99. 000004 05 ws-minutes pic 99. 000005 05 ws-seconds pic 99. 000006 05 ws-hundredths pic 99. 000007 01 count-ws pic 9(8) value 0. 000008 000009 procedure division. 000010 loop-top. 000011 accept time-ws from time 000012 display ws-hours at 0303 000013 ":" at 0305 000014 ws-minutes at 0306 000015  
Problem: This error may be encountered when attempting to create an indexed file from a line sequential file maintaining the record format defined in the previous file. The loader is a C program which includes an FCD structure with the FCD3 format and a code which sets the value of the FCD field. It is set to OPEN OUTPUT and DYNAMIC ACCESS MODE. This is a sample of the record to be loaded ; note that the records are not in ascending order. X98699ESTERO URSS, 000000000000000000000000000000000000000000 X98999ESTERO YU, GR, TR, SYR, R000000000000000000000000000000000000000000 X99099ESTERO USA, CDN, DOM, 000000000000000000000000000000000000000000 X99199ESTERO AMERICA LATINA, 000000000000000000000000000000000000000000 X99299ESTERO &nbs
Problem: These two(2) characters appear because specified a 'CODE' clause in the RD (Report Descriptor). allowing multiple reports to be included within a single report file The two(2) report 'code' characters are included in the final report output, at the beginning of each line Is there a way to have Report Writer NOT include the report CODE at the beginning of each report line? Resolution: When the CODE clause is specified, literal-1 is automatically placed in the first two character positions of each report writer logical record. Following example of using code clause and how to remove the two characters- select my-file assign to "a.pnt". file section. fd my-file report report-1 report-2. report section. rd report-1 code "R1". 1 my-detail type detail column 1 line plus 1 pic x(10) source "abcd". rd report-2 code "R2". 1 my-detail-2 type detail column 1
Problem: Need hardcopy listing output from the compiler Resolution: Set the enviroment variable DD_LST as follows: DD_LST="> lp" export DD_LST Now when compiling programs using the TBOX/SDE developers environment - use F4 to toggle the listing option to PRINT The hardcopy listing will be sent to the UNIX print spool using the 'lp' command Old KB# 2209
Problem: Is the HTTPS protocol supported from a Web Service Client? Resolution: There is an Security Addpack available for Server Express 5.0 WrapPack 3 which adds SSL support to the product. Currently (May 2007) this is only available for AIX pSeries. Both WrapPack 3 and the Security Addpack are available for download from the Supportline website: http://supportline.microfocus.com/websync/sx50wp3unx.asp There's comprehensive documentation and tutorials on setting-up security included in the addpack, however due to the complexity of SSL itself it's not a trivial task to get it configured and working. You have to edit mf-client.dat (in $COBDIR/etc on Unix, in Base/Bin on Windows) to tell MFCC where to find the CA certificate(s) needed to validate the server's certificate. If the server's certificate was signed using one of the commercial CA certificates we include in the AddPack, you can use the CARootCerts.pem f
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.