Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Using COBSQL on a 64-bit platform fails when working in 32-bit mode. Investigations revealed that procob32 was missing from $ORACLE_HOME/bin. Resolution: This is an Oracle issue. Further details can be found on the Oracle Metalink site under document id 458640.1. To resolve the problem you should: 1.Download patch 5887582 2.Place the file spcbd.o in $ORACLE_HOME/precomp/lib32 directory 3.Relink the procob32 using $ make -f ins_precomp.mk procob32 (OR) Apply patch 4757588 on top of Oracle 10g 10.2.0.3 Old KB# 2357
Problem: I migrate my application from Object Cobol Developer Suite. In my application , the box is with color and the lines are cut by characters . It runs fine with Object Cobol Developer Suite . With Server Express , The color stops at the first character . Resolution: The terminfo source file for the emulation linux was modified between Object Cobol Developer Suite and Server Express. It is necessary to use the terminfo source file that is delivered with Object Cobol Developer Suite . The source file linux-ocds.src is : # Reconstructed from file: /opt/cobol/d4200/tbx/terminfo/l/linux # Produced by mfinfocmp (Micro Focus terminfo) linux|linux console, am, bce, eo, mir, msgr, xenl, xon, colors#8, cols#80, it#8, lines#25, pairs#64, acsc= ^P\\,^Q-^X.^Y0\\333'^Da\\261f\\370g\\361h\\260i\\316j\\331k\\277l\\332m\\300n\\305o~p\\304q\\304r\\304s_t\\303u\\264v\\301w\\302x\\263y\\363z\\362{\\343|\\330}\\234~\\3
Problem: When you need the option of being able to change the order and count of directories/paths where Shared Objects of COBOL programs are located, you might expect that this should be tunable inside the running process with setenv. But changing the COBPATH environment variable in the running process with setenv has no effect to the Cobol run time. It seems that COBPATH is only once read at the process start. How can one change the directories/paths, where the run time searches for the shared object that was called at realtime? Resolution: id division. program-id. TEST1. data division. working-storage section. procedure division. DISPLAY "CALLING SETPATH" &n
Problem: I work in UNICODE ( UTF16 ) My group is defined as : 01 Z1 . 02 Z11 PIC N. 02 FILLER PIC N. 02 Z12 PIC N. 02 Z13 PIC N. 02 Z14 PIC N. How do I do to initialize Z1 to spaces ( UTF16 ) Resolution: As INITIALIZE statement does not affect elementary FILLER data item, the FILLER data item has the same value before and after INITIALIZE. It is possible to use the compiler directive -C REMOVE=FILLER. Old KB# 2277
Problem: I would like to use animator with my COBOL modules in Intermediate Code. In my COBOL modules I insert Oracle SQL Language. The ANIMATOR loops on verb CALL 'SQLBEX' or STOP RUN. COBSW= A export COBSW rtsora program01.int Resolution: When a Cobol module program01.cob ( the output file of the command procob progam01.pco ) is generated ( for example in Generated Code ), the file program01.idy can't be use to anim program01.int. If it is use , anim loops . So It is necessary to generate in two phases: Compile : cob program01.cob save the files program01.int & program01.idy Generate : cob -u program01.int and use the saved files to anim But it is possible to anim the Generated Code file after use the command: ob -ug program01.int Old KB# 2322
Problem: My program is : 77 A PIC 9 VALUE 5. IF A > 0 IF A = 5 NEXT SENTENCE ELSE DISPLAY "1" END-IF DISPLAY "2" ELSE DISPLAY "3" END-IF
Problem: Using the command: p(cobsql) CSQLT=ORACLE8 KEEPCBL P(CP) SY ENDP produces the following errors * Micro Focus COBSQL Integrated Preprocessor with ASCII/EBCDIC Support * Server Express V5.0 Copyright (C)1984-2006 Micro Focus (IP) Limited. * URN AAAPA/ZZ0/00065 * CSQL-I-008: Invoking cp Preprocessor * CSQL-I-017: Creating "COSP318.cs9" * CSQL-I-018: Invoking ORACLE8 Precompiler/Translator * CSQL-I-020: Processing output of ORACLE8 Precompiler 435 IF mfsqlmsg-line(WS-DB2-ERR-LOOP)(2:4) = ' ' * 14-S********************************************* ** ** Invalid operand 438
Problem: In some circumstances, such as no connection to a database, the SQLCODE returned from Oracle is zero even though the SQL statement was not successful. Resolution: Using the CP pre-processor with the Pro*COBOL MODE=ANSI option can cause this problem and is caused by the expansion of the INCLUDE SQLCA statement by the CP pre-processor before the expanded code is submitted to the Pro*COBOL pre-processor. Problem can be resolved by using the SY option with the CP pre-processor which prevents the CP pre-processor from expanding the SQLCA. Please refer to the COBSQL section of the Database Access manual for more information on the CP pre-processor and the SY directive. Old KB# 2294
Problem: The file data was translated from EBCDIC to ASCII. From the application it is necessary that this file is sorted in EBCDIC order. Resolution: To sort in EBCDIC order , it is necessary to use the SORT-EBCDIC instruction. This instruction must be before all use and give instructions. The example is : sort fields ( 1, 4 , ch , a ) SORT-EBCDIC give FICHIER2 record(f:40) org ls use F1 record(f:40) Old KB# 2249#netexpress#COBOL#ServerExpress#RMCOBOL
Problem: I would like to split my file into files . The split is defined by the value of one field Resolution: This is an example : The key of the split is the fifth character. The ouput files are sorted with the key that is defined as the first character SORT FIELDS(1,1,CH,A) RECORD (F 20) USE fileabc.dat OUTFIL INCLUDE=(5,1,CH,EQ,C'A') GIVE filea.dat RECORD (F 20) OUTFIL INCLUDE=(5,1,CH,EQ,C'B') GIVE fileb.dat RECORD (F 20) OUTFIL INCLUDE=(5,1,CH,EQ,C'W') GIVE filew.dat RECORD (F 20) Old KB# 2258#netexpress#COBOL#RMCOBOL#ServerExpress#AcuCobol
Problem: What is the RPM Package Manager (RPM) and what is it used for? Resolution: The RPM Package Manager is a core component for many LINUX systems, such as Red Hate and SUSE. The RPM is command line driven. It's capable of installing, uninstalling, verifying, querying and updating software package, that was installed using RPM, for the LINUX environment. That is, RPM is not valid for the Micro Focus Server Express product. Please refer to the manpage on LINUX - man rpm RPM is free software, released under the GNU GPL. Old KB# 2374
Problem: In the cobol program the GOBACK statement is followed by a number. When the GOBACK statement is executed the value is not returned. How can this value be returned and displayed? Program contains GOBACK 3. Resolution: You must use RETURNING cob -xav goback2.cbl ./goback2 echo $? IDENTIFICATION DIVISION. PROGRAM-ID. GOBACK2. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. PROCEDURE DIVISION. FIRST-PARA. DISPLAY "This program is just to test GOBACK " "RETURNING 3" GOBACK RETURNING 3. Then run unix script or enter command echo $? Old KB# 2336
Problem: There are development shops that need to test multiple versions of Oracle. The problem is that once the development shop(s) create a rtsora using one version of Oracle there isn't a way to animate using another version. Is there a way to be able to animate both versions? Resolution: Create an environment that will point to the rtsora you want to use: export ORARTS=<my-orarts-for-9.x> or export ORARTS=<my-orarts-for-10.x> To animate .int and .gnt using your custom rtsora use: COBSW= A $ORARTS my-command-line Old KB# 2267
Problem: A project is created using Net Express which includes map files like: map-name.bms. When the project is rebuilt, a map-name.mod is generated, the map executable. When the project is published to Unix it is not possible to capitalize the names of .mod files because they do not appear in the list of files to be published. The .bms files are published and compiled on Unix, genetating .mod files, with the extention in lower case. When the CICS application is requested to run it searches for .MOD files instead of .mod files and to have the CICS application working, you need to rename manually all of the .mod files to .MOD, for every project, or after any publishing. Resolution: The publish setup gives in the tab [Server], button Settings, tab [PostBuild], the option to type the name of a script that should run after the publishing proccess ends, and you can write a script in the project's directory on Unix to change to upper case, all files
Problem: Sample message: ld: warning: file /opt/lib/cobol/lib/libcobrts.so: section .dynsym: symbol [25]: global symbol has no name Resolution: This error occurs because Server Express is being used on an operating system with a C compiler that is newer than the version it was developed on. To see the Reference Environment for the Server Express that it installed see the file $COBDIR/docs/env.txt. It will list the C Compiler used when Server Express was developed. For instance: C Compiler ---------- cc Forte Developer 7 C 5.4 2002/03/09 This will be followed by the command to be executed on the current machine to see which C Compiler is installed locally: cc -V 2>&1 |cut -c5-80|head -1 If these do not match that would cause this kind of error. In this case because it is only a warning, the messages can be safely ignored. Old KB# 2326
Problem: * 801-S************ ( 0)** ** External Compiler Module message ** ES0103 INT-COL does not have a suitable definition to be used as a ** host variable. What does this message mean ? Resolution: The field INT-COL is not defined as a SQL Data Type (ODBC) ; If INT-COL is defined as COMP-3 numeric field , it must be signed Old KB# 2375
Problem: Error occurs trying to compile under sde (Server Express Integrated Development Environment) Compile works fine from the command line. enter sde, load the file and choose "F2 Compile" a message is displayed at the bottom of the window: DIRECT: Memory allocation failed Resolution: During compile under sde Micro Focus tries to allocate some work files in the background. The error "DIRECT: memory allocation failed" may occur if the user's umask is incorrect. Set umask=022 to avoid this error. Old KB# 2302
Problem: Set up COBOL application to use Non-COBOL web services Resolution: In order to use web serivces from with a COBOL application the best thing to do is generate a client side program based on the WSDL (.wsdl) which is made available by the supplier of the web service. After aquiring the .wsdl file execute the following command: imtkmake -genclientwsdl clientwsdl=[name of the wsdl file] This will create a client application program and a cleint proxy program, the application program can be used to test the ability to use the web service, The proxy program can be called by any COBOL program passing the proper arguments and it performs all of the work of communicating with the web serivce/ Old KB# 2347
Created On: 03 March 2008 Problem: The touch C does not stop cobesdebug. I use Z and the UNIX command kill with the option -9 to destroy the both process. After cobesdebug it does not run, and displays error message or warning messages. Resolution: cobesdebug uses a internal data file to stock information about region, transaction, etc. Under Suse, it is possible to use the option -15 of the UNIX command kill. This option send a signal to stop the process with updating the internal data file after the restart of cobesdebug. Example: (chronologically) Screen01 ( tty1 ) cobesdebug ....... Z Screen02 ps -t/dev/tty1 kill -15 pid2 pid1 Screen01 fg ( foreground) to restart cobesdebug that stops ( signal 15 received) Incident #25321 Old KB# 2320
Problem: Error returned by Apache server when attempting to run a COBOL application error while loading shared libraries: libcobrts.so: cannot open shared object file: No such file or directory; Premature end of script headers: myapp Resolution: The error is returned because the path to the Cobol libraries was not set at the time Apache attempted to run the program. If you are not using the cobrun triggers - run the app from a script that sets the environment. #! /bin/sh COBDIR=/MyCobolDirectory PATH=$COBDIR/bin:$PATH LD_LIBRARY_PATH=$COBDIR/lib:$LD_LIBRARY_PATH export COBPATH COBDIR PATH LD_LIBRARY_PATH cobrun mycgiapp $* Then run the script from your input form: <FORM ACTION="/cgi-bin/runapp"> Old KB# 2264
Problem: Sample demonstration which uses: >> a File Share Server on Windows side, This File Share server using a 'Virtual File Handler' thru the use of the FS Server /ap option for files having to ne printed on the winfows default printer >> a File Share client on UNIX or Windows side ( both work ), File Share client which writes on the FS server described above to print on the windows default printer Resolution: 1) Environnent On Windows Net Express ( Test was done with NE 5.0 Websync4 ) On Unix Server Express 5.0 ( Test was done with SE 5.0 Websync4 ) Acronym used: FS = File Share 2) Launching of the demonstration Unzip the demonstration on a Working directory 21) Launch File Share Server on windows Launch FSDB.bat from a Net Express command prompt 22) Launch FS client on Windows Open the Net Express project Cont
Problem: 'fuser' is a standard UNIX command which displays the PIDs of processes using the specified files or file systems. In the default display mode, each file name is followed by a letter denoting the type of access: c current directory. e executable being run. f open file. f is omitted in default display mode. r root directory. m  
Problem: Demo - print flow of data from Unix on Default Printer of a Windows PC thru File Share ======= This KB is the next step of the KB 25059 http://supportline.microfocus.com/mf_kb_display.asp?kbnumber=25059 Which implements the STEP 5) of this KB === 5) Regards to the File Handler called by FS server thru the use of the /ap parameter Another scenario, could be, On the File Handler order 'OPEN OUTPUT' I use a MF PC_PRINTER_OPEN On the File Handler order 'WRITE' I use a MF PC_PRINTER_WRITE On the File Handler order 'CLOSE' I use a MF PC_PRINTER_CLOSE === ======= On File Share Server side (WINDOWS) The File Handler invoked by File Share thru the use of the /ap parameter is named here mymffhPCPR Depending on the existence of a CONSTANT named SaveOfTheFilePrinted If Exists: Il will SAVE on FS Server side (Windows) the 'Data stream' received thru File Share And will print the 'Data stream'
Problem: Within the general subject of multi-threaded COBOL programming, the distinction between "local-storage" and "thread-local storage" may not be clear. This Knowledgebase article illustrates the difference, with an explanation and example source code. Resolution: In the documentation for both Server Express and Net Express, there is a book named "Multi-threaded programming", where this subject is generally covered. The documentation says thread-local storage is "persistent across calls". This means you can call a single individual COBOL program repeatedly within the same thread, and it will "maintain state" across calls, that is, it will remember the values in its thread-local storage from the last time it was called in that thread. Local-storage is different, because local-storage is initialized each time a program is entered (that is, values from previous calls are not remembered). The
Problem: Operand TIME-OF-DAY is not declared 7075 MOVE TIME-OF-DAY TO LOG-TIME-OF-DAY Is TIME-OF-DAY a microfocus extension...is it only available when the NOANS85 directive is in place? Resolution: TIME-OF-DAY is a special register data item This special register requires the compiler directive OSVS cob -uvC OSVS pgm.cbl Old KB# 2323
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.