Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: If mfosrt is used to try and create one file from another, with a greater record length in the output file, then the result is not as expected. The scenario: Input file indata: 01234567890123456789012345678901234567890123456789 Desired output file outdata: 012345678901234567890123456785678900 0 0 4567890123456789 mfsort_directives, the directives file: USE indata ORG LS RECORD F,50 sort fields=copy OUTFIL GIVE outdata ORG LS RECORD F,75 OUTREC=(1,25,26,4,26,6,C'0',6X,C'0',7X,C'0',8X,35,2,37,7,44,7) The command line: mfsort take mfsort_directives The actual output: 012345678901234567890123456785678900 0 viz. the output is being truncated. Resolution: This is a bug, which will be fixed in due course. There are a couple of workarounds. both which entail changing th
Problem: Error occurs on select and insert of data via OpenEsql to sqlserver. String data, right truncation (SQLCODE 000000001) Running SQLServer 2000. Datadirect ODBC64 v 53. Resolution: Correct by using OpenESQl in 32 bit mode with Datadirect 32 bit ODBC data sources Server Express currently support OpenESQL in 32-bit mode,....to providing support for accessing 64-bit ODBC data sources from OpenESQL will be within the SX 5.1 timeframes. There is no commitment date at this time Old KB# 2203
Problem: Porting application from HPUX 11/23 PA-RISC to HPUX 11/23 Itanium. Compile cobol module with cob, using ld to link linker produces the warning: ld: (Warning) Unsatisfied symbol "_mFldhandle" in file xxx.o This cobol module is one several modules compiled to .obj for inclusion in a shared liabrary. The shared library is built, but at runtime the above Unsatisfied symbol "_mFldhandle" is not being resolved. SHLIB_PATHs, and LD_LIBRARY_PATH are set which /cobol/lib shared lib to use with the -l flag on the ld command to resolve this symbol Resolution: When linking Cobol you must use cob. . IBM, HP and other take the same approach with C . You must use the C tool to link C applications. _mFldhandle is not defined in any library in $COBDIR/lib. This symbol is created by cob, locally to each shared object, as part of the link process. It is used as part of cancel processing, and shared object load/unload
Problem: Is there a way to insure that the "cob" compile command uses the xlc_r compiler with C code? It appears to be defaulting to xlc and causing compile issues with C code. Is it possible to override the cob default at a user and/or server level? xlc_r invokes the thread safe version of xlc. It should be used when any kind of multi-threaded code is being built. Resolution: When linking C code the -x,CC flags are required when using the cob command - this in combination with a C source file i.e. .C will invoke the xlC (C compiler) if the -t option is also used the xlC_r (reentrant C ) compiler will be used. cob -t -x,CC mypgm.C It is possible to configure the C and C compilers used by cob on a per session basis. To set the C compiler, set the environment variable CC, and for C use the environment variable CCOO. Assuming ksh, put the following in .prof
Problem: Here is an example of calling the Fileshare Manager API to shutdown or restart a fileshare server. Note that security must be turned in fileshare to do this. Resolution: Program-ID. fsmanager. Working-Storage Section. 01 fsmgr-param-block. 05 fsmgr-function-code pic x(02) comp-x. 05 fsmgr-error-status pic x(02) comp-x. 05 fsmgr-fileshare-name pic x(16). &nb
Problem: Under AIX 5.2 (64bits) The command cobmode displays 64 I try with the Micro Focus example ( pi.cbl ) cob -x pi.cbl The following message is displayed << ld: 0711-736 ERROR: Input file /tmp/cobcp4xUa/%cob0.o: XCOFF64 object files are not allowed in in 32-bit mode. >> Resolution: This message is displayed if the environment variable LIBLIST is validated. The file defined in this variable is for 32bits mode. As this variable should not be used unless a Micro Focus Support representative asks you to, you must unset it . Old KB# 2184
Problem: In some Unix platforms the following example code gives unexpected results (different from 0). 01 WK-NUMER-12 PIC 9(12). 01 WK-QUOTIENT-06 PIC 9(06). 01 WK-REMAINDER PIC 9(02). 01 WK-CHECK PIC 9(01). PROCEDURE DIVISION. MOVE 114600120320 TO WK-NUMER-12. MOVE 0 TO WK-QUOTIENT-06 WK-REMAINDER. &nbs
Problem: The FaultFinder log files are missing ALL call stack entries for both COBOL and non-COBOL on AIX. Resolution: This appears to be a problem specific to AIX. To get the call stack entries into the FaultFinder log you need to set the LDR_CNTRL environment variable as follows: export LDR_CNTRL=USERREGS Specifying the USERREGS option will tell the system to save all general-purpose user registers across system calls made by an application. Old KB# 2103
Problem: This error occurred after upgrading from Oracle 9 to 10 and from Server Express 4.0 SP2 to Server Express 5.0. Everything worked fine under Server Express 4.0 and Oracle 9. Everything compiles fine with Server Express 5.0 and the connection to Oracle is working as well. Yet when running the application ORA-01017 error occurs. Resolution: Check that the fix Patch level is the same for the Server Express and the Application Server for Server Express (Runtime). Once this was brought to the same level the error disappeared. Old KB# 2246
Problem: The following error was encountered when compiling a simple demo program (eg. tictac.cbl) with option -u in 32 bit mode: # cob -uk tictac.cbl 174 move zero to xcount,ocount,factor *1125-W************************ ** ** Punctuation character not followed by a space. Assume space. *1125-W******************************* &n
Problem: Under Windows Operating Systems, text files have a record terminator of Carriage Return-Line Feed (hex'0D0A), under UNIX, the record terminator is only a Line Feed (hex'0A'). If you need to share these files between UNIX and Windows, you have to convert the record terminator after each transfer (or FTP the file as ASCII). What happens if the file needs to be shared simultaneously between the two environments via a shared network drive? Resolution: There is a file handler configuration option called 'LSRECDELIM' which allows you to specify what record delimiter to use for Line Sequential files. The default for Windows is LSRECDELIM=0D0A and LSRECDELIM=0A for UNIX. This is defined in the extfh.cfg file as follows: [XFH-DEFAULT] LSRECDELIM=0D0A If you want to configure this on a file-by-file basis, you can specify for which file as follows: [XFH-DEFAULT] BASENAME=ON [file1.dat] LSRECDELIM=0D0A [file2.dat] LSRECDELIM=0A The ext
Problem: What are the benefits of moving a 32 bit application to 64 bits? Is it possible to run a 32 bit application on an Operating System with a 64 bit architecture? Do I need an additional license if I run my application in 64 bit mode? Resolution: What are the benefits of moving a 32 bit application to 64 bits? It depends on the application. If the application takes advantage of the 64 bit address space because it handles big amounts of information, then it will run better and faster. Otherwise, "normal" applications that don't take advantage of the bigger address space would run even slower. The other reason why users need to migrate to 64 bits is that a part of their application, i.e. the data base manager, needs to be 64 bits. Then the whole application needs to be 64 bits as you can not mix 32 bits and 64 bits parts within the same application. Is it possible to run a 32 bit application on an Operating System with a 64 bit arc
Problem: Compiler appears to automatically redefine "usage comp" fields to comp-5. When field is referenced receive non-unique data name error. This occurs when using the Oracle preompiler PROCOB Resolution: By default pcbcfg.cfg (in $ORACLE_HOME/precomp/admin) defines: comp5=yes define=comp5 Changing COMP5=YES to be COMP5=NO will resolve this issue. COMP5=YES can also be overridden at compile time by passeing COMP5=NO in the list of directives to be passed to the Pro*COBOL precompiler as follows: PREPROCESS(COBSQL) CSQLT=ORACLE8 ENDC COMP5=NO P(CP) ENDP The only effect this directive has is on the code generated by the Oracle precompiler. As COMP and COMP-5 are the same byte ordering on AIX, the change should not impact the application. To see what I mean, with this small app : 01 a pic s9(4) comp-5 value 23. 01 b pic s9(4) comp value 23. &nbs
Problem: filestat.c is missing from Server Express, how can file status values be customized. Resolution: The file named filestat.c file is not supplied in the Micro Focus Server Express product. There is a new mechanism in the Server Express product which will allow file status values to be converted to any desired value(s). The steps needed to enable the conversion from Micro Focus standard file status codes to other values are: Set the CONVERTSTATUS option in File Handler configuration file (extfh.cfg) for information on configuring the File Handler, see the chapter File Handler Configuration in File Handling documentation. The default filename for the File Handler configuration file is extfh.cfg however a different filename can be used and setting the EXTFH environment variable, for example: EXTFH=MYCONFIG.cfg The CONVERTSTATUS option specifies the name of a program that is ca
Problem: Under Object Cobol Developer Suite, using chatr to examine an executable, the following occurs: cob -x pd.cbl chatr pd pd: shared executable shared library dynamic path search: SHLIB_PATH disabled second embedded path disabled first Not Defined Under Server Express the following occurs: cob -x pd.cbl chatr pd pd: shared executable shared library dynamic path search: &nb
Problem: I use the File handler configuration parameters TRACE , TRACEFILENAME . Now I would like to read the trace file . Resolution: Under UNIX : The command is cobfhrepro2{nn} /g{name of the trace file} /a /d /n{name of the data file} cobfhrepro2{nn} nn is 32 or 64 /a /d : all information xfhrepro.log is the name of the output file with information if /n is omitted , the information are for all data files Old KB# 2178#ServerExpress#COBOL#RMCOBOL#netexpress#AcuCobol
Problem: Error compiling program being migrated from Object COBOL. cob32: error opening: /tmp/cobxyz/a.out Error in compiling and linking file xyz.cob Compile command: cob -C IBMCOMP -xv -Q -o xyz.exe xyz.cob Resolution: The -Q flag passes option to the system linker (See the Server Express User's Guide > 10. Descriptions of cob Flags). In this particular case it was not followed by a valid linker option. The "-o" is supposed to be passed to cob causing it to take the next parameter as the ouput name, in this case xyz.exe. This affected the intermediate workfile a.out created by the cob/lilnk process. Removing the -Q resolved the problem. Old KB# 2216
Problem: When customer run their application with core_on_error=1 in the cobconfig.cfg file. There may be a problem occassionally getting more than one core file. Resolution: To change the naming convention of the core file then: On AIX 5.2 (or later), you change the name used for a core dump file, from core, to core.. by exporting the CORE_NAMING environment variable (to any value). On Solaris, the 'coreadm' command allows you to configure the format of the filename, and location, of the core file. The 'coreadm' utility is also listed as a new feature in HP/UX 11i v3. On Linux, you can change the name used for a core dump file, from core, to core., via the following command (run as root): echo 1 > /proc/sys/kernel/core_uses_pid and return to the default name of 'core', using: echo 0 > /proc/sys/kernel/c
Problem: Using Server Express 4.0 SP2 on Linux cob -iav pi.cbl export COBSW= A $COBDIR/bin/rts32_t pi will not animate "jumps" to empty screen, ^C to exit. Displays error: Trace/BPT trap Resolution: The work around is not to use the threaded runtime (rts32_t) cobrun pi This is a know problem and it has been fixed in Server Express 5.0 Old KB# 2240
Problem: I have problem generating the .gnt files. When I do a "cob -u progname.int" I am getting this: * Rejected - TARGET"386-16" cob32: error(s) in code generation: CSBM0201.int What does this mean? Resolution: The compiler directive TARGET"386-16" is not a default setting; this directive specification is apparently a customization made by early developers of the application and carried forward with the application ever since. TARGET"386-16" tells the Native Code Generator to produce machine code for a 16-bit Intel 386 chip (probably an early PC). It has been several years since 16-bit 386 chips were state-of-the-art. Remove the specification of this directive and proceed. Old KB# 2140
Problem: Problems encountered while using C routines to access the Micro Focus filehandler using the EXTFH API Resolution: Debugging a C language calls to EXTFH The API for calling the Micro Focus filehandler is well documented and it's possible to create C language applications which use the Micro Focus filehandler to access and update COBOL data files. The interface to the filehandler consists of a call to the function EXTFH which passes two arguments, 1) a pointer to the Operation Code and 2) a pointer to a Micro Focus File Control Descriptor (FCD). When the interface between your C language routine and the filehandler fails the problem is frequently caused by a errors in the contents of one or both of these arguments. There is a fairly straight forward means available to debug and troubleshoot the interaction between your C language application and the Micro Focus filehandler, Create a COBOL program that contains a L
Problem: In SELECT statements, a customer's application code declared line sequential files (using the ORGANIZATION LINE SEQUENTIAL clause). In the FD, the application code specified RECORDING MODE V and the RECORD CONTAINS clause for these files, because of the customer's impression that line sequential files are variable length. The customer noticed that it didn't seem to matter what values were specified in the RECORD CONTAINS clause, even if the values did not match the actual minimum and maximum record sizes in the file. The customer was also using "mfsort" and "rebuild", and wondered whether options declaring variable-length should be specified when processing line sequential files with "mfsort" and "rebuild". Resolution: Line sequential files are neither truly fixed nor truly variable format files. The presence of RECORDING MODE, RECORD CONTAINS, or RECORD VARYING IN SIZE clauses does not change the behavior of line sequen
Problem: This error occurs during compile after upgrading to new release. Previous release truncated to 30 characters. Resolution: To be compatible with the earlier versions of COBOL, code the compiler directive MF. If MF"10" or lower is specified, data names are truncated to 30 characters. -C MF=10 Old KB# 2106
Problem: Compile program with 149,000 byte if statement with else clauses inside one section receive cob32: erros in compilation Resolution: Program has a large number of ELSE statements. Reference File Handler Manual: System limits: Numbers of ELSE Clauses If a program contains IF statements with very many ELSE clauses, the program might fail to compile.Problem can be resolved by increasing the size of the mian stack using the COBMAINSTACK environment variable; for more information see the entry for COBMAINSTACK in the appendix Environment Variables in your User's Guide EXPORT COBMAINSTACK=XXXXXX Old KB# 2105
Problem: A copy of the Readme file is attached to this article. Resolution: Attachments: Server Express v5 WS03 Suse_x86_64.zip Old KB# 2196
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.