Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
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 prefer that my COBOL application sends a message to a local Windows user or to a local or remote Windows computer to inform, for example if a specific event occurrs such as an error. How do I proceed? Resolution: Please find the code attached to this KB. Simply use the Microsoft command Net Send. See that the demonstration attached uses an Error handler and the RTS error which occurs in the code is sent as an Alert message. Note that the Net Send Microsoft command implies the Microsoft Service named “Messenger” to be started. (Microsoft Service Messenger: Transmits net send and alerter service messages between clients and servers. This service is not related to Windows Messenger. If this service is stopped, Alerter messages will not be transmitted.) Attachments CobNetSend.cbl Old KB# 30864
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
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 include all of the necessary run-time support modules needed to eliminate the load error file outddfh not found. Problem: After a program encounters a Display statement, a ‘load error: file ‘outddfh’ not found’ is received. The ‘outdd’ compiler directive is being used. Resolution: For .gnt or .int files, the compiler directive ‘init utils.lbr’ must be included in the directives file. If not, the trigger program .exe should call ‘utils.lbr’ when it is invoked. ‘Utils.lbr’ contains all of the Micro Focus run-time support modules. Incident Number: 2429172 Old KB# 14912
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
This article explains how to compile a source file with XML preprocessor, EHTML preprocessor, with copies files. Problem: If we use the XML preprocessor and EHML preprocessor and the first line of the source file is: 123456$set preprocess(htmlpp) stephtml preprocess(prexml) The following error message is displayed: 40 copy "initxml.cpy".* 803-S***************** ( 0)**** Integrated preprocessor message** CP0202 Copybook "initxml.cpy" not found What should we do? Resolution: The solution is to use the CP preprocessor. In this case the syntax of the first line is: 123456$set preprocess(htmlpp) stephtml p(cp) endp preprocess(prexml) Old KB# 14902
This article explains why an error occurs when re-installing Server Express or Server for COBOL version 5.x and above using the install script located in $COBDIR. Problem: When re-installing Server Express or Server for COBOL version 5.x using the install script located in $COBDIR, the following error is returned: Install has already been run against this product directory, this is not a valid operation. Installation aborted. Why is this? Resolution: During the installation of the product, the install script set a number of options. This warning has been implemented as there are certain options during the install that it are now unsafe to repeat. It is quicker and safer to remove the product completely and start the install over using the extracted product. Incident Number: 2428746 Old KB# 14946
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
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
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
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 how to extract error message text from an OLE Exception object. Problem: We need a way to extract text from an OLE Exception object. A Net Express program reads an Excel spreadsheet using OLE. It works great until it encounters an error of some sort. The exception manager is set up to do a call back. The call back works and displays the Excel error message. The question is instead of displaying the error message, how can the error text be moved to a COBOL data item? The following is the callback code which is copied from a Net Express example: callback section. entry "onOleException" using by reference lnkErrorObject by reference lnkErrorNumber by reference lnkErrorText. display "Excel had returned an error..." display "The COBOL exception number was: " lnkErrorNumber invoke lnkErrorObject "display" display "
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
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 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
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.
This article discusses when a run-time error occurs, the need to restart an execution at the point of the main program. Problem: When a run-time error occurs, it is necessary to restart an execution at the point of the main program. For example, if the COBOL applicaton is integrated with TUXEDO, or if the application COBOL is in a Web Service or in an EJB. How is this done? Resolution: The sample attached to this article includes the following files: SERV21.cbl: the main program of the server. It calls SERV31.cbl. It is called with three parameters: INPUT field 9(4) OUTPUT field 9 ( 4 ) = INPUT field 23 ( if error ) = 0 OUTPUT field X(30) = OK or Error SERV31.cbl: called program by SERV21.cbl. SERV41.cbl: called program by SERV31.cbl. &n
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
This article resolves an RTS 173 error that occurs on the application name. Problem: When attempting to animate a 64-bit application from the Net Express command line using the following command mfnetx /debug:progname.exe an RTS error 173 occurs on the application name. Resolution: This is because a new switch “debug64” has been added to the mfnetx command and needs to be used whenever a 64-bit application is to be loaded. Use the following when animating a 64-bit application: mfnetx /debug64:progname.exe Incident Number: 2434379 Old KB# 14914
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. >>>>>>>>>>&
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
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
This article discusses the slow performance when using AcuServer over a LAN. Problem: We are experiencing slow performance when using AcuServer while using a high speed network (FIOS). Other products seem to be running a lot faster. Equipment was replaced and tested and there was no improvement in the performance. What is happening? Resolution: It was determined that the ISP was indentifying the traffic as a bit torrent. The packet analyzer software being used by the ISP was identifying the traffic between the runtime at the remote store and AcuServer at the main store as torrent data. Due to the amount of bandwidth that was being used for torrents on the network, the ISP had implemented a policy to throttle all torrent traffic from 8am to 5pm so their business customers could take advantage of the high speed FiOS Internet connections. The ISP removed the torrent restriction from the IP addresses used by the stores and performance was improved. Old KB#
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.