Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Created On: 18 May 2012 Problem: I know that I can export Visual COBOL ADO connections into an XML file using the ADO Connection Editor. Is there a way to automate the import process on the production computers so that we don't have to start ADO Connection Editor on each one in order to import the connection information? Resolution: There is a tool to automate the import of ADO connections onto production computers in Visual COBOL 2.0 and COBOL Server 2.0 called mfimportconn.MFIMPORTCONN: Enables you to import connection settings previously exported from the ADO.NET Connection Editor. Important: You must run this command from a 32-bit or a 64-bit Visual COBOL command prompt, available from Start > All Programs > Micro Focus Visual COBOL. Syntax{MFImportConn32_v2 | MFImportConn32_v4 | MFImportConn64_v2 | MFImportConn64_v4} path:\\exportedXMLfile {System | User} {32BIT | 64BIT} Important: Use the executable that fits the type of connection
Created On: 29 May 2012 Problem: I have a native code COBOL application that sends data records to a specific printer under Windows. These data records have Printer Control Language escape codes embedded in them.I know that there is new functionality in Visual COBOL 2.0 to allow for managed code .NET programs to send a file to a printer in RAW format but how do I do this in a native code program? Resolution: The native code program can call a managed code program by using COM Interop functionality of .NET. Attached is a Visual Studio Solution that demonstrates how this can be done.The description of this example is as follows:VCPRINTRAWThis example program demonstrates how a file containing Printer Control codes (PCL) can be sent to a printer as RAW data so that the esc sequences will not be stripped out by the Windows print driver. Starting in Visual COBOL 2.0, two methods of accomplishing this task have been added for managed code .NET programs
Created On: 31 May 2012 Problem: How can I pass a Java String array between Java and COBOL and manipulate it's contents in both languages? Resolution: Please see the attached example project that was written using Net Express 5.1. Here is the description of the project: READARRAY This example shows how a Java String array can be passed between a COBOL program and a java program and how each can manipulate its contents using native methods. COBOL program ReadArray will instantiate Java class arraydemo. It will then call method getStringArray which will create a new java string array and return it b
Created On: 24 April 2012 Problem: The default behavior on a screen form is to type data in the form using lower-case and upper-case text at the same time. In some cases, it is necessary to force the use of upper-case (or lower-case) only. Resolution: Adding the UPPER (or LOWER) property to the definition of a screen control is one method of accomplishing this. However, this requires the program to be recompiled. An alternative solution that does not require compiling is to configure some environment variables. For character screens, use this environment variable: KEYBOARD case=lowerorKEYBOARD case=upper For graphical screens, the KEYSTROKE environment variable allows you to remap lower-case to upper-case, or vice versa. For example:KEYSTROKE data=65 97 <- this will transform the edited 'a' in 'A'KEYSTROKE data=66 98 <- this will transform the edited 'b' in 'B'KEYSTROKE data=67 99 &
Created On: 24 April 2012 Problem: Using AcuConnect Thin Client 9.1.0 or 9.1.1 and your focus is on a cell of a grid and you press a hot-key to call another program, when the called program is closed you could get a MAV (memory access violation). Resolution: This is a bug which now is been fixed with ECN-4163. The correction will be available in next release 9.1.2. Incident #2566228 Old KB# 35868
Created On: 24 April 2012 Problem: A Java program calls a cobol program using CVM.jar. It gets this java exception:Initializing logging.CVM: begin loadCVM: runtime library successfully loaded.CVM: exception caught in constructorCVM: Exception caught loading CVM: nullCVM: end load Exception caught loading CVM: null java.lang.NullPointerException at com.acucorp.acucobolgt.CVM.getCommandLineArray() (Unknown Source) at com.acucorp.acucobolgt.CVM.initialize() (Unknown Source) at test.main(java.lang.String[]) (Unknown Source) Resolution: Check to make sure the environment is setup correctly, taking care about existing values for previous installations. For example, this command line was used to setup environment variables: export CLASSPATH=$CLASSPATH:/usr/acucobol/tools/CVM.jar:. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/acucobol/lib export PAT
Created On: 23 April 2012 Problem: Xcentrisity BIS for Windows fails to generate a response with a "server too busy" error message. Resolution: Xcentrisity BIS uses a system resource called a "Thread" to render pages. For efficiency, BIS maintains an internal pool of threads, and when a request for a BIS page arrives, a thread from the pool is dispatched to serve the page. If there are no available threads in the pool, the request must wait for a thread to become available. A request will wait for some period of time (normally about 60 seconds) before being denied with a “server too busy” error page. The BIS_MAX_THREADS environment variable may be used to increase (or decrease) the size of the thread pool. The syntax is: BIS_MAX_THREADS=n Where, n, is an integer value that specifies the number of threads that will be used by BIS to service requests. The default value for n is 5. Old KB# 35860#COBOL#XBIS#AcuCobol#RMCOBOL#Servertoobusy#BIS#IIS
Created On: 26 April 2012 Problem: A customer recently upgraded the AIX operating system or installed an AIX system patch. Now when compiling, they receive message 0711-552 SEVERE ERROR. Resolution: The problem affects clients running AIX operating system 5.3 /6.1/7.1 and using Server Express 5.0/5.1. The users receive the following error when they compile: ld: 0711-552 SEVERE ERROR: Object somename.o Csects with symbol numbers 200 and 180 overlap. IBM has been rolling out a patch to the AIX operating system that updates their system linker and causes it to flag an error when SX compiles an external .o file into an executable. The fix Development made a correction in Hotfix 3 for Server Express 5.1 WrapPack 6. It is also included in later Hotfixes and will be part of Server Express 5.1 WrapPack 7. Info These Hotfixes must be installed “over the top” of Server Express 5.1 WrapPack 6 Link Here is a link for Serve
Created On: 23 April 2012 Problem: Is there a web service available if you wish to interface with your COBOL for extend application? Resolution: In order to access a published web service, your COBOL program will need to be able to execute HTTP requests, and, manage XML documents. To address these two requirements, Micro Focus provides RMNet and XML Extensions for extend. The RMNet subprogram library ships for free with extend v9.0.0 . RMNet is an HTTP client for the extend Runtime, and, it allows your COBOL program to make HTTP requests. The XML Extensions subprogram library, also, ships for free with extend v9.0.0 . This product will allow you to create XML SOAP requests and import XML SOAP responses. Attached to this Knowledge Base Article is a zip archive, RMNetTutorial.zip, that contains a tutorial that describes how to use RMNet and XML Extensions to consume a web service. Attachments RMNetTutorial.zip Old KB
Created On: 23 April 2012 Problem: When attempting to add a new record, or, update an existing record, the, WRITE fails with a COBOL I/O error 24, 02. Resolution: A COBOL 24, 02 error indicates that there is insufficient room left in the file for the operation. This behavior can occur when an index file has reached it's maximum size as defined by it's configured File Lock Limit. In order to have the affected file grow larger, you will need to modify the exiting file's configured File Lock Limit, and possibly the Index File Version, using the Define Indexed File (rmdefinx) Utility. If you would like all newly created files to be configured with a larger file limit, then, you will need to add the following keywords to your RM/COBOL Runtime Configuration file(*.cfg): RUN-FILES-ATTR LARGE-FILE-LOCK-LIMIT=nRUN-INDEX-FILES USE-LARGE-FILE-LOCK-LIMIT=YES **Where, n, is the File Lock Limit as expressed in gigabytes(GB). The default is
Created On: 27 April 2012 Problem: I would like to import data contained in Excel without the need to parse a CSV file, or, access an Excel ODBC data source. Resolution: Current versions of Microsoft Excel have the ability to save a spreadsheet in the form of an XML document. This is accomplished by using the 'XML Spreadsheet' option of the 'Save as type:'. The resulting XML document is quite rich in the detail saved for the spreadsheet, including formulae used to produce cells, as well as cell values. You may refer to the Microsoft web site for more information about this particular XML specification, named SpreadsheetML. There are also several books devoted to using XML in the Office suite. Using XML Extensions, one can import virtually any detail of the resulting spreadsheet. The attached example demonstrates the most common requirement: importing the actual data values from the sheet. The example XSLT (XML translating stylesheet) assumes that the first row contains col
Created On: 23 April 2012 Problem: An RMNet HTTPS request fails with an SSL certificate verification error. Resolution: The ca-bundle.crt file that ships with RMNet contains PEM format certificates for the Certificate Authorities that are used to verify valid SSL certificates. This bundle is not guaranteed to be up-to-date, however, and might not contain the Certificate Authority that generated your SSL certificate. You can obtain an updated CA Bundle file from this website: http://curl.haxx.se/docs/caextract.html Old KB# 35859#AcuCobol#RMNet#COBOL#SSL#RMCOBOL#Certificates
Created On: 30 April 2012 Problem: Is it possible to pass command-line parameters to a Visual COBOL main program using a linkage section item? Resolution: Yes, it is possible to pass command-line parameters to a Visual COBOL native linked .EXE by using the run-time tunable command_line_linkage.Program should receive parameters as follows:linkage section.01 CommandLine. 05 CommandLineLen pic 9(4) comp. 05 CommandLineParams pic x(256).procedure division using CommandLine.You must create a text file (called cobconfig.cfg in this example) containing the following line:set command_line_linkage=TRUEand then set the environment variable COBCONFIG to point to the file:SET COBCONFIG=c:\\myapp\\cobconfig.cfgThen when you start the app by passing it parameters on the command-line, e.g. myapp.exe "This is a test"then the length of the command line, 16 in this ca
Created On: 26 April 2012 Problem: Converting a native Net Express Dialog System application to Visual COBOL.Visual COBOL application uses a managed main program which does a platform invoke call to a native Dialog System program using the Dialog System Addpack.The Dialog System screenset contains an ActiveX control which has a control program.The managed program calls the native program fine but when the screenset is being initialized and the control program for the ActiveX control is being executed an error occurs in Create-ActiveX-Instance section on: invoke wsEventManager "initializeOLE" The error states that OLE has already been initialized using a different threading model.Why is this ocurring? Resolution: When mixing .NET managed and native/ActiveX the customer will need to understand how COM threading models work. .NET uses MTA threads as the default, whereas ActiveX requires STA. When using .NET as the main program this needs to be marke
Created On: 02 April 2012 Problem: Some customer have encountered performance issue when migrating an application from Server Express to Visual COBOL. So, rather than taking seconds to run, in Visual COBOL the same process may take up to 40 seconds. Resolution: The issue was determined to be within the licensing system for which there is a simple workaround until a permanent fix is made.In the directory /var/microfocuslicensing/bin folder there is a file called ces.iniEdit this file by adding the line: CacheCPULicenses=1 Old KB# 35742
Created On: 13 April 2012 Problem: While trying to execute a program sitting in a Windows server from a client machine through AcuServer, the execution fails showing in the AcuServer trace file the following error messages: Cannot search (READ/EXECUTE) all parent directories Cannot create files in the directory Error like no such file? errno: 2 Even the user is part of the "Local Admin Group, and the "admin Group" was already on all the locations, also the user added the "Local Account " directly into the security of all the folder that is needed access to and gave him "Full Control". Resolution: This is a frequent problem that checking permissions in a Windows server, users circumvent the permissions of the root directory. Even the user is a local admin with full access to the files and directories, the problem in those cases is that the user who has being mapped in the AcuAccess file is not able to access the files at the top leve
Created On: 10 April 2012 Problem: I am using Visual COBOL for Eclipse R4 Update 2 under Windows and I am trying to create a project that contains COBOL programs that need to be precompiled using Oracle's Pro*COBOL precompiler. Do you have an example of how to do this? Resolution: The following are the steps necessary to setup a Visual COBOL for Eclipse native COBOL project so that it can interact with the Oracle Pro*COBOL precompiler.There are a few prerequisites to running with this sample.1. If you are using Oracle's Pro*COBOL then the appropriate Oracle client software including Pro*COBOL has to installed on your computer and must be accessible within the PATH.2. You must be able to connect to the Oracle database using Oracles SQL Developer, etc. from your development computer.3. The sample program assumes that the Oracle Sample database is installed and is accessible from the user account SCOTT/TIGER. Please change the username/password to one that is
Created On: 16 April 2012 Problem: A certain Hotfix for a UNIX based system is needed. How do I obtain and install the Hotfix? Resolution: Step 1 Your supportline representative will provide: Login: ####### Password: ######## Step 2 The Hot Fixes are on the ftp site: ftp.microfocus.com Click the View menu and select Open FTP Site in Windows Explorer. Then right click and select Login As… and supply the login and password. This will go directly to the correct area for the Hotfix requested, based on the id and Password. Step 3 To install the Hotfix: 1. On the target server, log in as root. 2. Create a temporary directory: mkdir tmpdir 3. Download the Hotfix into the temporary directory.The downloaded file should have an extension of “tar.encr”, if it has anything like “tar.tar” please rename it to “tar.encr”. 4. Set the COBDIR environment variable: COBDIR=/location-of-your-cobol-product export COBDIR 5. Give execute permissions to the downloaded package: chmod x pa
Created On: 12 April 2012 Problem: In the Data File Editor (DFED) inside the Net Express IDE you might want to edit a SEQUENTIAL data file in FORMATTED mode.To view a file in FORMATTED mode you need to go through the process of generating the .STR file to record the record layout to be used when editing the file. This is explained in the Net Express manuals. Once this has been done you can then either double-click on the file name or right-click and select 'Edit' in order to view the file. However, you may have completed this process and then attempted to edit the file, as shown in the manuals. But instead of immediately seeing the file in FORMATTED mode it brings up the Data File Editor, which asks for the File Organization and the minimum and maximum record lengths.So even though the .STR file has been generated and stored in the same directory as the data file, why doesn't it automatically display the file in FORMAT
Created On: 13 April 2012 Problem: Reading a large table with Acu4GL in a SQL Server Data Base accessing the records by alternate key, the performance decreases dramatically compared with a VISION file. Resolution: It is a fact that accessing a data base table instead a VISION file, the performance decreases due to VISION files are the native file system handled by Extend runtime with no translations at all. This performance hit increases if the program is accessing the tables using alternate keys; data bases don’t have and don’t know the alternate key’s concept. In Cobol, the two most expensive statements, in terms of performance, are OPEN and START; accessing a VISON file this impact is not noticeable but it is when we are working with a data base. Using the above COBOL statements extensively in the same program or in the same runtime unit will decrease the performance of the runtime. Said that, there are some guidelines described in Chapter 9 Performance and Trou
Created On: 03 April 2012 Problem: I am using MS SQL Server 2005 and Database Connectors (within MicroFocus' Studio Enterprise Edition 6.0). After creating a solution in Visual Studio 2008, I attempted to connect the Visual Studio solution (DBC.sln) to the SQL database tables through the debugging steps. I received a "File Error: 9T" in the debugging window. How do I resolve this issue? Resolution: For Studio 6.0 SP2 (and later), a 9.0 license for Connector for MSSQL is needed. It needs to live in %ALLUSERSPROFILE%[\\Application Data]\\Micro Focus\\ConnectorForMSSQL 9, and be named acufh.mlc. The “\\Application Data” part is included in the directory name if the version of Windows is less than 600. Another way to look at this is that the acufh.mlc either needs to be in \\ProgramData\\Micro Focus\\ConnectorForMSSQL 9, or in \\Documents and Settings\\Application Data\\Micro Focus\\ConnectorForMSSQL 9, depending on which pathway exists.To obtain the license, a S
Problem: Errors such as "corrupt license database" are occurring, and prior efforts to fix them have failed. Resolution: Here is a thorough and comprehensive way of recovering from "corrupt license database" errors if other efforts have failed, for example if the "lmfdbrecover" or "aslmdbrecover" utilities don't exist or didn't work for some reason. This requires root credentials. Also, you must have your licenses available at hand (including, for each license, both the serial number and the license key) because during this process you re-install the licenses. 1. Login with root credentials 2. Change directories (cd) to the directory where the COBOL product is installed. This is by default /opt/microfocus/cobol, but the person originally installing may have specified any location. It is possible that more than one COBOL product is installed on a given machine. If you do not know the location (or the locations) where COBOL is installed, use this com
Created On: 12 April 2012 Problem: On submitting a JCL, the following error is seen in the log:JCLCM0187I JOB65040 ZLO10DN0 JOB SUBMITTED (JOBNAME=ZLO10DN0,JOBNUM=65040) 14:38:08 JCLCM0172E JOB65040 ZLO10DN0 JOB FAILED - JCL ERROR 14:38:08 JES000050E JCL parsing error: Job: 065040 RC = 8 14:38:08 Processed "/appl/mfocus/wrapper/jcl/copy/ZLO10DN0.JCL"and in the spool o/p 53 //JLO4M EXEC ZPLNIMS,MBR=IKJEFT1B,COND=(4,LT) **** JCLCM0406E PROCEDURE NOT FOUND **** JCLCM0414E INVALID OR UNKNOWN OR UNEXPECTED OPERAND Similar errors also seen in the console log:JCLCM0187I JOB65088 ZLFG0DNP JOB SUBMITTED (JOBNAME=ZLFG0DNP,JOBNUM=65088)JCLCM0172E JOB65088 ZLFG0DNP JOB FAILED - JCL ERROR 12:49:46JES000050E JCL parsing error: Job: 065088 RC = 8 12:49:46 JCLCM0187I JOB65089 ZLFG0DNP JOB SUBMITTED (JOBNAME=ZLFG0DNP,JOBNUM=65089)JCLCM0172E JOB65089 ZLFG0DNP JOB FAILED - JCL ERROR 13:13:34JES000050E JCL parsing e
Created On: 27 March 2012 Problem: The following command line has embedded quotes, and X’91’ Function 35 fails to execute it: CMD /K "C:\\Program Files (x86)\\TestData\\Bin\\TestProg.exe" -i"aData" -o"aData" Resolution: When a command line requires quotes, additional quotes are required as follows: CMD /K ""C:\\Program Files (x86)\\TestData\\Bin\\TestProg.exe" -i"aData" -o"aData"" Incident #2542130 Old KB# 35708
Created On: 28 March 2012 Problem: Is there a way for one program (Program A) to open files, accept input from a screen, then call a second program (Program B) for file processing without Program A closing the files and Program B reopening files? Resolution: Declaring the file FD as external in both programs accomplish the desired task: FD custom-file external. 01 custom-record ....etc This way the file can be opened and closed in ProgramA and read, write, etc. in ProgramB. ProgramB can not open again the file because it will generate an error. Incident #2191524 Old KB# 35719
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.