Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Is there a recommended approach to doing base64 decoding from ACUCOBOL? I do have a few ideas in mind, including calling functions from either OpenSSL or MSXML. But the boss is asking for a second opinion. Our preference would be for a shared library routine as opposed to a standalone utility. Our platforms include both Linux and Windows. Thanks!#Base64#ACUCOBOL9.2.1
Visual COBOL ships with the Eclipse IDE as its development environment. Eclipse is an integrated development environment (IDE) that many non-COBOL programmers are very comfortable using. This familar IDE has helped programmers who are new to COBOL and/or Unix make an easier transition. But if you are new to Eclipse, then you also face a learning curve. While learning the syntax of the Eclipse IDE, you can still continue to use the same methods that you used with Server Express. You can sign onto the Unix box directly and use vi, emacs, etc. From the commandline, you can: set the environment variables, compile using the 'cob' command, run your code using 'cobrun', animate, etc. While your goal will be to get up to speed using Eclipse to unlock all the features of Visual COBOL, you can still use familiar ways to make any immediate changes to your code while you are learning the syntax of the Eclipse IDE.
Problem In Visual COBOL for Eclipse, how do I make a copybook in one COBOL project available to other COBOL projects? Solution Instead of having the copybook in a COBOL project, place the copybook into a COBOL Copybook project. Here are the steps: In Visual COBOL for Eclipse, create a project of type "COBOL copybook", named for example, "my_copybooks". From the menu, select File -> New -> COBOL Copybook Project, and enter a name for the project Move desired copy file(s) from an existing COBOL project into "my_copybooks" project Select the copy files in the COBOL project using CTRL-Click Drag the selected files to the new COBOL Copybook project Add reference to "my_copybooks" project in each COBOL project that needs to access the copybook In each COBOL project, go to Project Properties -> Micro Focus -> Build Path Choose the "Projects" Tab Click "add" button to add a reference to another project Choose
Visual COBOL can be installed on unsupported Linux distributions, if you execute the installer with the command line option "-noplatformcheck" to skip the platform check. However, Micro Focus does not test, or support, this type of environment, so, you will be using the product at your own risk.
Problem: You can manually start the license manager under root credentials with no issues, and, /etc/inittab contains this line...mF:2345:wait:sh /etc/mflmrcscript > /dev/null 2>&1, however, the LMF daemon does not start at boot-up. Resolution: The /etc/inittab file is deprecated in RHEL 6 except for the default runlevel line, therefore the lmf startup line in that file does not get executed. Below is information on how to start the LMF daemon automatically on newer Linux distributions: In order to start the LMF daemon at start-up, you will create a new file named /etc/init/mflm.conf. This file will contain: start on runlevel [0123456] script sh /etc/mflmrcscript > /dev/null 2>&1 exit 0 end script Then, to test this file: 1) connect as root 2) initct1 start mflm
The first record in every variable structure file is a system record called the file header. This is normally 128 bytes in length. For an index file, eight bytes into the header record is the creation date and time entry. This entry is 14 bytes long and has the format YMMDDHHMMSSCC This is documented at: http://supportline.microfocus.com/Documentation/books/sx51/rhfile05.htm
This information is available on the Supportline Web Portal (http://supportline.microfocus.com). Below are instructions for locating this information on the website: 1) Click the link: Support Resources 2) Click the link: Product Availability and Support Schedule 3) Fill in the "Product", "Product Version", and "Release" data (the "Operating System" and "OS versions" are optional) 4) Click the "Submit" button The screen will display whether the product has reached "End of Service" .
Greetings, Is it possible to utilize a DLL file while running a GNT? I have downloaded the 'checklogin' sample from MF and i'm trying to obtain the user login trough MFCOBOL. I'm calling a checklogin.gnt instead of the executable, since the .exe cannot share it's results (unless i write to a file wich i'm trying not to). However when calling the checklogin.gnt, apparently it cannot find the MPR.DLL wich it needs. I have %\\system32 on PATH (wich is where MPR.DLL is located). Running Server 5.1 on Server 2003. It returns the following error: Function failed = 487 On winerror.cpy 487 = ERROR-INVALID-ADDRESS
Problem: AcuServer process returns a file status 9D,110. What is the meaning of this error code?What may be the cause and how to solve it? Resolution: The first important thing to do to analyze 9D errors is to record two important trace files: one for the runtime, one for the AcuServer process/daemon. To record an ACUCOBOL-GT Runtime trace file, the following environment variables should be added to the runtime configuration file (cblconfi): FILE_TRACE 9FILE_TRACE_FLUSH 1FILE_TRACE_TIMESTAMP 1 The information will be written into a text file.To customize this file name and location and to collect a list of configuration variables loaded by the process itself, add the following -le flag to the runtime launch script: wrun32.exe/runcbl -le c:\\tmp\\acuruntime.%p.log [any further flag] [program name] To record an AcuServer trace file, the process must be stopped and restarted using the proper options.This operation requires any clients to be stopped in advance, to avoid any possible ungrac
After opening an Excel Worksheet, etc. I can change easily to different pages, for example page 2 with this invoke: invoke WorkSheets "getItem" using by Value 2 returning WorkSheet But when I do not use tho constant value 2, but instead a variable which contains the value 2, the program aborts. 000303 77 N-AGENTE PIC 99 VALUE 2. no one of these 3 examples work * invoke WorkSheets "getItem" using by value N-AGENTE * invoke WorkSheets "getItem" using by reference N-AGENTE * invoke WorkSheets "getItem" using by content N-AGENTE The compiler does not send an error, but running the program I receive the message Exception 65537 not trapped by the class oleexception manager. Any idea what is missing. How must I define the
This is a followup to a previous inquiry about the RMNET library routines: community.microfocus.com/.../10648.aspx In that thread I included a test program which I could have sworn worked on Feb. 14, 2014. But it doesn't work today, so I'm puzzled. My CALL "NetInit" statement is landing in the ON EXCEPTION block. We're running the static library build from acucob921pmk60st.tar.gz. My understanding back in February was that the static library build would include the RMNET routines, so we would not have to load the RMNET library by using the runcbl command's -y option. Obviously I'm missing something. Any idea what's needed to use the RMNET library routines from the static library build of ACUCOBOL 9.2.1 in Linux? Thanks!#RMNet#Linux#ACUCOBOL9.2.1
Hi, We are planning to use TFS to build & deploy our COBOL programs. As I understand it we need to install Visual COBOL on the TFS Build Controller (that will be a separate server) and have a valid Visual COBOL license for that server. But do we also need to first install Visual Studio on the TFS Build Controller or is it enough with the build system installed as part of the TFS Build Controller? Regards, Ingela#TFSBuildController#VisualStudio2012#VisualCOBOL
Greetings, Does anyone know of a way to programatically read the dimensions of a jpg image in Cobol? Preferably straight from Cobol but if you are aware of a an activex that would be ok too. Thanks, Steve
We have a lot of old code that doesn't properly initialize working storage variables and we are getting strange results in our numeric fields. I was hoping to use a compiler directive to accomplish the initialization. I am compiling at the command line and compiling into INTs. I came across the INIT-BY-TYPE compiler directive that seems like it should do what I need, but I am having trouble getting it to work from the command line. My current compile line looks like this: cobol prog1.cbl int() REMOVE"CONTROL"; I've tried including the INIT-BY-TYPE directive but I keep getting errors. How do you include this directive on the command line?
Hello, We are currently running an ASP.NET MVC site that connects to a COBOL database through ACUGT. We are using ACUXDBC 8.01 drivers. The machine with the ASP.NET site is on a machine that has Windows Server Standard 2008 with SP2, IIS 7, 4 GB of RAM. About twice a day the website stops working for one of the 2 reasons: We get the error that says “System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {BFBBB600-C4DB-11D2-B11B-74F606C10000} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).”, where we have to restart the server IIS gets the processor to 100% and we have to stop the process and everything gets back to normal. Has anyone encountered this problem and solved it? Below is the config section for ACU. Thank you #AcuXDBC#ASP.Net
Problem: Customer has a Visual COBOL managed .NET application which uses OpenESQL with the DBMAN=ADO directive set. The application declares a cursor that returns a large number of rows. When the cursor is opened and the rows are fetched the performance is very good but when the CLOSE statement is issued for the cursor it can take several seconds to return. What is causing this slowdown and how can it be improved? Resolution: This type of behavior can occur if you are defining a forward only read only cursor and only the first few rows are being read, ie a large number of rows are being left unread at close time. This is a scenario in which SQL Server is known to perform badly. The reason is in the design of the TDS protocol which returns the entire result set in a single response with no easy way for a client to stop the flow of rows from the server, so typically the provider will just sit in a loop discarding rows that the application doesn’t need. There are two possible w
Problem: Customer has a managed .NET application that calls the external file handler directly through fileshare by doing: CALL "FHREDIR" ...This works fine when compiled to a target platform of x86 or x64 but when the platform is set to AnyCPU the program will report an invalid format exception error when the CALL statement is executed. Why does this occur and is there a workaround for this? Resolution: The problem is that the FHREDIR assembly does a p/invoke to call in the required native code CCI modules. The CCITCP.dll (or anything that is platform invoked) is loaded from the system PATH. So, if the project is AnyCPU and is executed on a 64-bit machine then you would need to run it from a 64-bit Visual COBOL command prompt or at least make sure all the required 64-bit native DLLs (ccitcp.dll and mfcrptlib.dll in this case) are on the PATH or in the current directory. The 64-bit versions of these files are found in the folder: C:\\Pro
Problem: Customer has a Visual COBOL application that uses Oracle's Pro*COBOL product to access their Oracle database. When they compile the programs they use the directive INITCALL"ORASQL11". This will cause a CALL "ORASQL11" statement to be inserted into the beginning of the program in oder to load the Pro*COBOL run-time system orasql11.dll. This works fine in 32-bit but when compiling for 64-bit and using the 64-bit version of Pro*COBOL the application is failing with a RTS 114 error when it is run. What is the problem with 64-bit? Resolution: It appears that the 64-bit version of the Pro*COBOL run-time system does not contain an actual entry point called ORASQL11 whereas the 32-bit version does. When a CALL statement is executed for an entry point that is not loaded the .dll with that name will be loaded automatically and then the entry point with the same name will be called. If there is no entry point with that name then the entry point with the
Problem A program that used to run fine under Net Express has been recompiled using Visual COBOL.The program uses OpenESQL to do a EXEC SQL OPEN on a declared cursor and then proceeds into a loop that fetches each row from the cursor, potentially updating that row and executing an EXEC SQL COMMIT. In Net Express this worked fine but in Visual COBOL the commit statement appears to be closing the cursor because the next fetch after the commit results in a sqlcode = -10000 Function Sequence Error. What can I do to fix this? Resolution: In Net Express the default setting for the SQL(BEHAVIOR) directive was UNOPTIMIZED while in Visual COBOL the default is now MAINFRAME. When BEHAVIOR=MAINFRAME is used the default cursor handling is to close a cursor at the end of a transaction, which is signaled by a COMMIT or ROLLBACK. To change this you can set BEHAVIOR to either UNOPTIMIZED or ANSI and the cursors will no longer be closed. An alternative to this is to use the WITH HOLD ph
While installing Micro Focus Visual COBOL for Eclipse, I had to un-install. Now I am trying to re-install and I'm getting the following error; :This application requires Micro Focus License Administration. Please install Micro Focus License Administration and then run this installer again.". So where can I get the License Administration? Anyone have the link? Thanks. Bill#Installation
Problem : With cobimtk or Net Express or Enterprise Server , is it possible to modify the Enterprise Server Run-time Environment ? Solution: With the option esruntime of imtkmake it is possible to define the Enterprise Server Run-Time Environment. The value of this option is the path of a xml file . The xml file is created by cobimtk with the extension rtc , and can be used with imtkmake . The following is the text of the xml file : <?xml version="1.0" encoding="UTF-8" ?> <mf:application_configuration xmlns:mf="http://xml.microfocus.com/schema/appconfig/v1.0/mfappcfg.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xml.microfocus.com/schema/appconfig/v1.0/mfappcfg.xsd http://xml.microfocus.com/schema/appconfig/v1.0/mfappcfg.xsd"> <mf:envvars> </mf:envvars> <mf:sw
Problem : The DISPLAY-OF function with a class national returns an incorrect string. Solution: The DISPLAY –OF function uses the value of the environment variable $LANG to define the character encoding of the returned string . Example : $LANG=en_US.utf8 DISPLAY-OF returns a UTF8 string $LANG=en_US.iso885915 DISPLAY-OF returns an ISO string
Problem: Using Oracle 11 client, when executing an application, error RTS173 is displayed when calling the SQLGLM function. Using Oracle 9 client, the application works fine. Resolution: The SQLGLM function is used to obtain the full text of an Oracle error. With Oracle procob version 8, the call via the CALL verb of the DLL was inserted as the first instruction. With Oracle procob version 11, the call via the CALL verb of the DLL is inserted before the processing of the first SQL CONNECT instruction. In this case then you must: EITHER - insert CALL 'ORASQL8' before the call OR - compile with directive INITCALL (ORASQL8.DLL)
Problem: How to create statistics collections of holding licenses for deployment under Windows? Resolution: The following script file displays the collection. The parameters are: apptrackstat.bat nnn mmm where: nnn = the number mmm = the period in seconds **************apptrackstat.bat****************** for /L %%i IN ( 1 , 1 , %1 ) DO ( apptrack batch 2 sleep %2 ) Please note, to run this script, it is necessary to install the freeware file sleep.exe which is available for download from http://www.sleepcmd.com.
On this .... Before you start To run the demo you need to install the following: Visual COBOL for Eclipse for Windows, R4 Update 2. AndroidForCommunity AddPack – downloadable from SupportLine (Visual COBOL AddPacks section). No more There In SupportLine.....Can you help me please ???? The Android SDK (available from Google, here) The Android Developer Tools (ADT) for Eclipse. Follow the instructions here. Once you have all these installed, you need to install at least one Android platform in your SDK – the one you need to run the demo is for API Level 8. To do this, open the Android SDK Manager, and download the Android 2.2 (API 8) SDK Platform. The SDK manager shows the SDK Platform for all the Android APIs released so far, but by default the only platform actually downloaded will be the latest one. Select Android 2.2 (API 8) SDK Platform and Samples, and click the Install Packages button. You also need to create a new Android emulator (or Android Virtual Device
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.