Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Created On: 2010-03-31 Problem: When the WITH LOCK ON MULTIPLE RECORDS clause is specified for a file, we would like to unlock a specific record. Resolution: When the program locks several records, the one of the following statement releases all record locks : CLOSE the file COMMIT ROLLBACK UNLOCK An explicit call to the File Handler allows to release the lock of one record . To use this explicit call it is necessary to : Allocate data areas for the File Contrel Description ( FCD) Compile the program with the FCDREG directive The syntax of the explicit call is : CALL "EXTFH" USING OPCODE FCD OPCODE : file handler operation code : PIC XX VALUE X"FA0F". FCD : The data area that must be intialize to the specific locked re
Created On: 2010-03-17 Problem: If a C function returns a pointer on a String ( char *) or an array of pointers (char **) how do I proceed to get the values of pointers and array of pointers in a COBOL program? Resolution: The demonstration is attached and contains: A COBOL program named callretPtr.cbl A C program named retPtr.c A script docl.bat file to be run on Windows environment (with Net Express and the C compiler on-line) To compile and link and run the code A script docl.sh to be run on UNIX To compile and link and run the code Pasted is the STDOUT of the demo run: CallretPtr*--> C: retPtr: Bonjour*--> COBOL: Bonjour*--> C: retPtrTB: Bonjour Hello Bonjourno*--> COBOL: 1: Bonjour*--> COBOL: 2: Hello*--> COBOL: 3: Bonjourno The code is quite short: cal
Created On: 2010-04-19 Problem: To generate Cobol records that contain XML syntax extensions , the customer uses the format cbl2xml XMLschema .Cbl2xml may generate a data structure like:04 act identified by "act" count in act-count. 05 MyName PIC X(90) identified by "MyName" . ..........05 more identified by "more". 06 MyName PIC X(90) identified by "MyName".When coding MOVE "Harry" to MyName of act.The following compiler error message is returned:COBCH0005S User-name MyName not uniqueThe identifier MyName at the 05-level cannot be used in the COBOL-program, because there is no way for a proper qualificat
Created On: 2010-03-17 Problem: I want my COBOL application to be able to send a message to a UNIX user (To inform, for example, that a specific event occurred). How do I proceed? Resolution: Code is pasted and attached to this KB. Note it sends a message using the UNIX write command using as the destination user an environment variable named here $DESTUSER ( for convenience of the test,: export DESTUSER=$USER launch the compiled sample working-storage section. 01 MUcmd. 02 filler pic x(5) value "write". 02 filler pic x value spaces. 02 uid &n
Problem:IPSec configuration for host-host communicationsResolution: Product Name: AppServer Product Version: All Product Component: TIBCO 4.4.3 Platform/OS Version: All Setting up IPSec for host-host communications between Solaris-Solaris and Solaris-Windows XP: IPsec protects IP packets by authenticating the packets, by encrypting the packets, or by doing both. IPsec is performed inside the IP module, below the application layer. Therefore, an Internet application can take advantage of IPsec while not having to configure itself to use IPsec, whereas the use of TLS/SSL or other higher-layer protocols must be incorporated into the design of applications at that level. IPsec uses the following protocols to perform various functions: A. Internet key exchange (IKE and IKEv2) to set up a security association (SA) by handling negotiation of protocols and algorithms and to generate the encryption and authentication keys to be used by IPsec. B. Authentication He
Problem:gatekeeper as root - security issueResolution: Product Name: Visibroker Product Version: VBE 65 Product Component: Gatekeeper Platform/OS Version: UNIX Description: When running the gatekeeper as root, that means the port number is below 1024 on UNIX box then you have root rights. Then, You may see that GET request on gatekeeper can expose the sensitive data where the Gatekeeper is running, which is a security issue. This security issue is not seen when used with VBJ 3.x. Answer/Solution: To fix this security issue please use the property "vbroker.se.exterior.scm.ex-hiop.servlet.orb.GET=false". Basically this property is documented under the gatekeeper properties in gatekeeper guide, but it does not document that this property can be used in such above situations. Old KB# 15197#ApplicationMiddleware#archive
This article explains how to place a literal in hexadecimal notation in order for the literal to not be treated as a regular literal. Problem: During compilation, a ‘COBCH1007E Value literal size > data item size, Literal is truncated.’ error occurs. Resolution: In order for the literal value to be treated as a hexadecimal value and not a regular literal, the literal must be placed in hexadecimal notation. To do this, place an ‘h’ or an ‘x’ in front of the literal value. Alternatively, check older copies of the source code to verify that the values are not corrupted or have changed over time. Incident Number: 2427106 Old KB# 14913
Problem:DB Schema (Tables) Definitions Used for Naming ServiceResolution: Product Name: Visibroker Product Version: All Product Component: Naming Service Platform/OS Version: All Description: List?the different tables used?by Naming Service and their purpose. Answer/Solution: There are 4 tables that are created by Visibroker for Naming Service The tables are as follows: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> VBINS_NAMEMASTER_CTX_TBL ( CTX_INDEX INTEGER, CTX_TYPE INTEGER ); This table stores the information for each context that gets created. Each context gets assigned a unique index value. Column CTX_INDEX stores this unique index value. Column CTX_TYPE stores the type of the context such as root context, normal context, or cluster context type. A new row gets added to the VBINS_NAMEMASTER_CTX_TBL every time a new context gets created. >>>>>>>>>>&
This article explains that the mfsort command line in Server Express verson 5.0 WrapPack 4 has changed from Server Express version 4.0. Problem: When upgrading from Server Express 4.0 to Server Express 5.0 WrapPack 4 or greater there are modifications in the command line used by mfsort. Specifying the following mfsort command line using Server Express 4.0 is valid, but fails with the error Record size not specified when using Server Express 5.0 WrapPack 4 or greater: mfsort take SAMFLTRD2_test The SAMFLTRD2_TEST file contains: USE SAMFLTRD.STEP0020.SAMU41.KEY GIVE SAMPLTRD.STEM0030.KEY Sort fields (1,12,ch,a) Record f,1600 Resolution: In the following mfsort command line, notice that the record size has been added to the USE statement. The record size not specified is being emitted on the USE, GIVE processing. Micro Focus now requires this to prevent data corruption. Usi
This article explains the Service Error 5 message when starting an AcuODBC service. Problem: After installing and attempting to start the AcuODBC service an error message “Service Error 5” is displayed. Why is this? Resolution: According to the System Errors list from Microsoft an error 5 means "Access is denied". This error is a permission problem. Since Windows service manager uses system permissions, the directory where AcuODBC is located should be enabled for system account. The issue can be resolved by changing permissions on Acucobol directory to allow full access for Everyone. AcuODBC runs under the (implied) local SYSTEM user. Another possible solution is to uninstall, and reinstall the service. During installation, there are registry entries that are made regarding locations of the AcuODBC executables that will be deleted then correctly made during re-installation. Incident Number: 2428262 Old KB# 14897
This article explains what to do if you get an error after a reboot saying the EnterpriseLink Packet Driver fails to start. Problem: The following error appears in the Windows Event Viewer from the Service Control Manager:The EnterpriseLink Packet Driver service failed to start due to the following error:The system cannot open the file. Resolution: The EnterpriseLink Packet Driver is not required under Windows 2003 Server. You can safely remove it from the registry to keep the message from reappearing each reboot. From the Windows Command Prompt, type regedit. Open the key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services. Scroll the window until you see eltcpacket. Right-Click with the mouse on eltcpacket and select Delete Key. The packet driver will be removed from your Windows 2003 system. This is not required for correct operation of the EnterpriseLink Cluster Server.
In the AcuBench Screen Designer the screen background color is set to dark gray, but comes out black at runtime. Problem: The screen was built in AcuBench using the Screen Designer. The background color was set to dark gray (and looks dark gray in the Screen Designer) but at runtime it is black. Resolution: There is a problem with the AcuBench Screen Designer implementing the gray/dark gray colors which is resolved in version 8.1.2. For earlier versions there is a fairly easy workaround involving modifying the color palette. Here's how: In the screen's Color property select a background color other than gray or dark gray, use dark blue for this example (make sure it is a color that is not used anywhere else in the application). Right click on the screen in the Screen Designer and select Change Color Palette. In the Color dialog select the dark gray color in the Basic colors section. In the Screen designer color palette: s
This article describes how to obtain the correct Microsoft assemblies for use with the Version 8.1.2 ACUCOBOL-GT Runtime for Windows. Problem: The application is deployed with a copy of the ACUCOBOL-GT bin directory included, or the Runtime was installed on a server and the client PCs map a drive to the bin directory to execute it. This can result in an error when the client PC is missing the Microsoft C Redistributables. With Version 8.1.0, adding the two assemblies, Microsoft.VC80.CRT and Microsoft.VC80.MFC enabled the Runtime to execute in this fashion without error. However those same assemblies do not work with newly released Version 8.1.2. Resolution: It is likely that Microsoft updated those two assemblies or parts of them after the 8.1.0 release. The 8.1.2 release was built with, and depends on, different specific versions of those assemblies, or their parts. Attached is an archive, 8.1.2RedistFiles.zip, containing the two assemblies for u
This article describes how to use floating-point data item as parameters. Problem: I would like to use floating-point data item as a parameter between Micro Focus module and Language C module or Java module. How is this done? Resolution: This is an example : **** Makefile ******* .SUFFIXES: .so .cbl .gnt all : prog.gnt ccomp.so : ccomp.c cob -z -o ccomp.so ccomp.c prog.gnt : prog.cbl prog1.gnt ccomp.so cob -u prog.cbl -U prog1.gnt : prog1.cbl javacalled.class cob -u prog1.cbl -U javacalled.class: javacalled.java javac javacalled.java clean : rm -f ccomp.o ccomp.so javacalled.class prog1.idy prog1.int rm -f prog.gnt prog.idy prog.int prog.o prog1.gnt **** prog.cbl ************ 123456$SET INTLEVEL(4) 01 ZONE1 COMP-1. 01 ZONE2 COMP-2. 01 ZONE1-DISPLAY PIC S9(12)V9(12). 01 ZONE2-DISPLAY PIC S9(12)V9(12). PROCEDURE DIVISION. MOVE -12345.678 T
Problem:Documentation Error - Erroreounously stated that "GK Load Metrics data is available on request"Resolution: Documentation Error- Erroreounously stated that "GK Load Metrics data is available on request" Product/ Environment Description Product/Component Name: Borland Enterprise Server Version: 6.5 and earlier Component: Gatekeeper Platform: All Documentation Error Inappropriate statement included in Help Documentation provided with BES versions 6.5 and earlier. For example following is the statement from Gatekeeper performance related documentation as stated on page http://info.borland.com/techpubs/bes/v6/html_books/vb_gate/gkscenario.html. Cite: "GateKeeper stress/load metrics? The ORB performance study is conducted by the Borland Quality Assurance department, therefore comprehensive statistics can be obtained on special request either from Borland"s Professional Services Organization, Customer Support, or Quality Assurance. The information is available for specific p
This article addresses how to solve the *** File system error value = 11 ****** Micro Focus Lock table missing ***>>>file status = 9D,11 when updating to Acu4GL/MSSQL 8.1.2 . Problem: Updating from any pre 8.1.2 version of Acu4GL for MSSQL, we get the following error the very first time we try to access a MSSQL data base that it was working with an earlier version. *** File system error value = 11 ****** Micro Focus Lock table missing ***>>>file status = 9D,11 The reason is that with the purpose to standardize Data Base Connectors and Acu4GL products; now Acu4GL is looking for a new locking table named AcuLocks1, instead of the former AcuLocks. Resolution: Repeat steps 2, 3 and 4 mentioned in our Acu4GL User's Guide > Version 8.1.2 > Appendix B: Acu4GL for Microsoft SQL Server Information > B.2 Installation and Setup > B.2.1 Installing on a Client Machine. A summary of
Problem:When trying to marshall an empty wide string : BAD_PARAM ErrorResolution: Product Name: Visibroker Product Version: VBE 65 Product Component: ORB Platform/OS Version: NA Description: When you run the client, when trying to marshall an empty wide string (not a null string but a one length character string with only 0x00), it may fail with exception: CORBA::BAD_PARAM error. With BES 5.2, it works fine. Answer/Solution: Please issue -Dvbroker.orb.nullstring=true on both the Server and Client side. So CORBA::BAD_PARAM is not thrown. There should not be any impact as long as the client and server tries to transmit a null strings. Please note that if CORBA application do not expect NULL strings then it tries to do some thing erroneous, in which you must add additional checks. Old KB# 15196#ApplicationMiddleware#archive
Problem:How to add a meaningful description for BES65 Windows ServiceResolution: Product Name: AppServer Product Version: 6.5 Product Component: scu Platform/OS Version: Windows XP Problem Description: How to amend/edit the service "description" when the customer running a BES65/BAS66 as a Windows Service in the Windows Control panel -> Administrative Tools -> Services -> BES65 (properties of BES65 Service) Answer/Solution: When the user starts the BES as a windows service by running >scu -install BES65, this would start a BES as the Windows Services but however the customer cannot amend the service description as the way they want. In order to have a more meanful service description, go to regedit HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\BES65, adding a string value "Description", with the description you want to put it then it would appear in the Control panel BES service description. I"ve attached two screen shots to show you how it looks l
This article describes a method of generating a memory hex dump from the runtime debugger. Problem: There are times when it would be desirable to have a hex dump generated to assist with debugging and troubleshooting, but there is no documented method of obtaining a memory hex dump. Resolution: There is an undocumented feature in the ACUCOBOL-GT runtime that facilitates the generation of a memory hex dump. This feature is available on Windows and UNIX. To obtain the hex dump, type “x” at the debugger prompt followed by a space and the name of the dump file. The file will contain a snap shot of the hex values in memory at the time the command is executed. Attached to this article is a sample hex dump from running our sample program newftest.cbl. Old KB# 14908
Compiler flags 801-S External Compiler Module message with DB0109 on host variables that are defined in Linkage Section. Problem: HCO has been provided with Net Express for a certain time, but the DB2 pre-compiler never applied some of the "mainframe emulation" rules until HotFixes release for Net Express 5 WrapPack 3. Host variables are now limited to where they can be defined when pre-compiled with HCO turned on. That is why host variables defined in LINKAGE SECTION are now flagged with the following error messages: * 801-S************ **** External Compiler Module message** DB0109 Data-Item-Name is not a data item. Resolution: If the mainframe emulation is not necessary, it can be turned off by setting environment variable MFHCO=NO. Incident Number: 2355317 Old KB# 14910
This article explains why an RTS 166 Error occurs when COBOL CALL an ENTRY point that is defined in the main source file. Problem: The main source file pmain.cbl is as follows: PROGRAM-ID. PMAIN. PROCEDURE DIVISION. CALL “sp01”. STOP RUN. ENTRY “sp02”. EXIT PROGRAM. The called source file sp01.cbl is as follows: PROGRAM-ID. SP01. PROCEDURE DIVISION. CALL “sp02”. If the application runs in Intermediate Code, or if the compiler directive RECURSECHECK is used to generate ( -N RECURSECHECK ), the error 166 is displayed. Resolution: In fact , if you want to have a recursive environment , you can down this as follows and compile again: PROGRAM-ID. PMAIN IS RECURSIVE . Or PROGRAM-ID. PMAIN. LOCAL-STORAGE SECTION. PROCEDURE DIVISION. However , be aware of the initial status of all data involved in that case at run time , refer to Pro
This article explains how to show that testing has been performed and produce a report to illustrate the extent of test coverage. Problem: Development teams often need to show that they have performed testing which has covered all logical paths through a program. How is this done? Resolution: Using the test coverage utility, they can produce a report to illustrate the extent of test coverage, and can promote this report along with the source code at the various stages of the development lifecycle. While a program is running in test coverage mode, code execution is logged for each program and sub-program that has been compiled with the TESTCOVER directive set. The information stored in the results file depends on how you configure test coverage. As the results file is a binary file, it has to be formatted to produce a text or HTML report file. You can create a report file using the reporting utility
Problem:Adding a New Task to a Line ItemResolution: Product Name: Tempo Product Version:6.x/Tempo 2007 Product Component: Task Platform/OS Version: All Question: How do I add a New Task to a Line Item? Answer: (a). Adding a New Task to a Line Item: Double-click the?the relevant Item (e.g. Inventory Optimization System) In the "Take Action" section, select "Add a new Task:" Complete the Task details as required. Note: In this example, user admin is logged in, and assigns the task to user Carl CIO: To view this Task (and any other Tasks created),right-click on the Item, and choose "Work Breakdown Structure:" ..which displays as follows: Author: Bridget McGilloway Old KB# 14970
This article explains how to use the facilities provided for tracing file operations. Problem: Is it possible to know the sequence of all I-O verbs of all data files? When the application runs first time, we're not having any problem, but the second time, a file-status is displayed. Resolution: The default filename for the File Handler configuration file is extfh.cfg but you can use a different filename by setting the EXTFH environment variable. For example: set EXTFH=/mydir/test.cfg sets the filename to /mydir/test.cfg It is necessary to use the File Handler configuration parameters TRACE, TRACEFILEEXTEND, TRACEFILENAME [XFH-DEFAULT] TRACE=ON TRACEFILENAME=/trace/XHFTRACE.XFH TRACEFILEEXTEND=ON The name of the file must be XHFTRACE.XFH. The Trace Player, cobfhrepro{n} must be used to read the tracing information file. If the application runs in 64 mode the commands are cobfhrepro3 or cobfhrepro364. If the application runs in 32 mode
When the 64-bit Windows Runtime makes a call to AcuBenchPrint.dll it crashes with “Program missing or inaccessible”. Problem: The application deployment includes AcuBenchPrint.dll which is used to preview and print the html reports from the ACUCOBOL-GT program. This all worked fine with the 32-bit Windows Runtime, however with the 64-bit Windows Runtime the first call to AcuBenchPrint.dll causes a crash with this error:AcuBenchPrint.dll: Program missing or inaccessible. The problem is that AcuBenchPrint.dll is a 32-bit dll so the 64-bit Runtime will not be able to load it. Up to, and including, version 8.1.2 there is no 64-bit AcuBenchPrint.dll. Resolution: There is now a 64-bit version of AcuBenchPrint.dll which is attached to this article. The workaround is to use the 32-bit Runtime which is found in the Program Files (x86) branch. Incident Number: 2433249 AcuBenchPrint64.zipDate: Name: Description of change: Date: Name: Description of change: Attachments AcuBen
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.