Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: Having more than one program to build into a .NET executable from the command line. For example: Considering about having 3 programs - proga.cbl, progb.cbl, and progc.cbl to be able to rebuild them from the Net Express command line so that proga.cbl will become the main.exe and progb.cbl and progc.cbl become components of the proga.exe. Resolution: To achieve this by making use of ILSOURCE - to use the following command line from a Net Express command prompt as a template: cobol proga.cbl ILSOURCE (progb.cbl) ILSOURCE (progc.cbl) ILGEN After running this command there will be a proga.exe, and opening a Visual Studio command prompt and to change directory to the location of the proga.exe and running the command ILDASM proga.exe will show the components and programs that make up the proga.exe. Old KB# 4402
Problem: How to delete an entry from the registry in .NET COBOL? What classes to be used to access and delete information in the Windows registry from a COBOL .NET application? Resolution: There are classes for manipulation of Registry information in the Microsoft.Win32 namespace. Some example code that uses these classes to insert and remove information in the Registry is: $set sourceformat"variable" program-id. RegDemo as "RegDemo.RegDemo". environment division. configuration section. repository. class cRegistry as "Microsoft.Win32.Registry" class cRegistryValueType as "Microsof
Problem: This technical bulletin is meant as reference material in helping you provide us the necessary information required before contacting the Micro Focus SupportLine group. Resolution: See attachement. Attachments: HowtosubmitaNetExpressSupportProblem.zip Old KB# 4363
Problem: This zip files contains the reviewed demos that are provided with the Cobol and .NET - Using Micro Focus Net Express with .NET from Will Price. These revised demos are made to work with Net Express v4.0 and Net Express with .NET including the installation of WrapPack ALL05N40. Resolution: ========================================================== Keywords: Example, sample, demo, demonstration, .NET, cobolanddotnetprojects.zip demo.ex demo.ne Attachments: cobolanddotnetprojects.zip Old KB# 4355
Problem: When generating a client in the Interface Mapping toolkit an error was displayed about a missing assembly MicroFocus.COBOL.CodeDom. The error occured in Net Express V5. Resolution: Checking the Global Assembly Cache (c:\\windows\\assemblies) the file was indeed missing. The issue was resolved by opening Add/Remove programs and highlighting Net Express. You can then click on the Support link and REPAIR the install. Old KB# 4378
Problem: How to automate a build of a Visual Studio 2005 project from the command prompt or in a batch file ? Resolution: Visual Studio 2005 has a number of command prompt options. These can be used to automate builds of a Visual Studio Solution. For example:- devenv mycobolsolution.sln /build release or devenv mycobolsolution.sln /build debug to build the project for the relevant release level. Running devenv /? gets a list of all the available options. The above method will work on Visual Studio 2005 but looking at KB 22920 that gives details on how to use MSBUILD. Old KB# 4399
Problem: How to code a COPY REPLACING statement? Resolution: This is a useful and widely exploited feature within COBOL. However, the syntax can often cause problems and it is hoped the following will give some much needed clarification. The attached demo illustrates one particular use for COPY REPLACING -- the reuse of a file status copybook. If we look at the FSTAT-WS.CPY we see: 01 (tag)-fstat. 03 (tag)-fs-values. 05 (tag)-fs-key1 pic x(1). 05 (tag)-fs-key2 pic x(1). &nbs
Problem: This is the easiest and quickest way to animate a DB2 stored procedure with UDB 8.1 with latest fixes or a later version of UDB. This assumes that the Net Express development environment is installed on the UDB server machine. Resolution: The procedure for animating a COBOL Stored proedure is as follows:- 1. put a call to CBL_DEBUGBREAK within in your stored procedure program 2. compile the stored procedure and create it as a dll 3. link the stored procedure with db2api.lib 4. make sure the stored procedure dll is linked as shared , dynamic and includes the system files 5. copy dll to IBM's sqllib\\function subdirectory 6. run the stored procedure from IBM's development center and enter necessary parameters 7. when the dialog box appears that indicates the RTS has encountered a call to CBL_DEBUGBREAK , do you want to debug - answer yes 8. the stored procedure should pop up in animator, ready for animating Note: R
Problem: Release 4.0: Web service error 605, "Incorrect number of parameters supplied" when calling COBOL Web Service from Tibco General Interface tool. Resolution: The Tibco General Interface tool may create a SOAP request with a tag <SOAP-ENV:Body> which should actually be <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> in order to properly identify the SOAP request as rpc/encoded. Net Express 4.0 Enterprise Server uses the encodingStyle attribute to differentiate between rpc/encoded and document/literal SOAP requests, but with the missing attribute, it thinks this is doc/literal which is not supported for Net Express 4.0 Web Services under Enterprise Server, and issues the 605 error. You can test this by changing the SOAP request coming out of the Tibco tool so that this attribute exists as stated above. Net Express 5.0 Web Services can be rpc/encoded or document/literal and
Problem: The following error occurs on each compile/rebuild: Error opening trace configuration file 'c:\\logs\\ctfesjcl.cfg' How to make it to stop looking for that cfg file? Resolution: The trace configuration file is searched when the MFTRACE_CONFIG environment variable is set. Make sure the file and location exists or remove the environment variable. Old KB# 4377
Problem: Makes use of the WebSync Library Manager AddPack. It has most of the functionality of the old function key version of the library manager, but with a Windows interface (Dialog System). Resolution: BUILD W/RELEASE: Tested with Net Express 3.0 and 3.1 INTRODUCTION ========== This application is limited to working with library entries that are no longer than 35 characters in length. Use the "Load" choice to view library entries in the listbox of the application. Use the "List" choice to create a text file of the contents of a library. A backup copy of the library will be created on load of a libray file if the "create library backup" option is checked in the program settings (options menu). SOURCE FILES: ========== Program Files Description ---------------- ----------------------------------------------------------- libman.cbl
Problem: Release 5.0 .NET: Kann Net Express 5.0 .NET mit der deutschen Version von VS2005 installiert werden? Resolution: Ja, das funktioniert. Bitte beachten Sie: Dieser Hinweis gilt nicht für die Visual Studio 2005 Express Edition. Old KB# 4370
Problem: Using UNC path from the CMD did not work Resolution: Microsoft's command line is not able to handle UNC pathes, i.e. \\\\server\\resource\\program when called from a program. The message occurs "\\\\server\\resource\\project\\program CMD.EXE starts with this path. UNC-Pathes are not supported. Using the Standard Windows Path." Solution is to map the remote drive by using 'net use'. Old KB# 4341
Problem: Trying to convert in batch a record sequential EBCDIC file to a record sequential ASCII file via >run dfconv xyz.pro gets back immediatly: Execution Error 114: "Attempt to access item beyond bounds of memory (Signal 11)". Net Express doc files do not explain why this happens, so the first meaning is something goes wrong around the size of this file, but no errors occur converting another large 2GB file. Is there an additional hint available to get rid off this problem? Resolution: Yes, to check both the Convert Profile (.pro) also the Record Layout (.str) to ensure that they are related to the data file correctly. In that case the Convert Profile .pro did not fit the data file because the record length used was too long. Old KB# 4381
Problem: When a control is refreshed it can sometimes "flicker" this can be seen if the control repaint itself. This type of effect is dependant on what the control is doing and by no means impacts any controls. It tends to impact controls that paint colours and graphics on the screen. Resolution: To minimise flicker to switch off WM_ERASEBKGND and also to implement double buffering. Both the techniques are covered in the attached demo and article. Attachments: flicker.zip Old KB# 4382
Problem: Can a 64-bit program call a 32-bit program or vice versa? Resolution: It is not possible for 64-bit to call 32-bit or vice versa. The documentations also state: -------------------------------------------------------------------------------- The Compiler directive P64 enables you to create a program that can be run on Micro Focus Server in 64-bit mode. If you do not use the P64 directive when you compile your program, the program can only be run on Micro Focus Server in 32-bit mode. Therefore, if you have developed an application on a 32-bit development system, you must recompile it with the P64 directive set, if you want to migrate it using Micro Focus Server in 64-bit mode. -------------------------------------------------------------------------------- And -------------------------------------------------------------------------------- You cannot port executable code between 32-bit and 64-bit development systems. -----------------------
Problem: PC_PRINTER routines and RAW printing for sending data to electronic mailboxes Resolution: Some multi-function printer/copier/scanners have the ability to store reports in electronic mailboxes. The PC_PRINTER_OPEN routine can be used to display a dialog box that may have options to send to mailboxes, but any embedded PCL (Printer Control Language) code in the print data will not work. Using PCL code/printer escape codes, the RAW print method should be used instead. This method is demonstrated in the printraw demo available at http://supportline.microfocus.com/examplesandutilities/nesamp.asp under the Printing category. Advanced functions such as sending to electronic mailboxes are actually implemented by using PJL (Printer Job Language) instead of PCL, embedding both in the print data is possible. For more information to consult the printer/copier/scanner's documentation for PJL codes because this is a machine-specific environment. O
Problem: This demo shows how to write a VB.NET program to interact with and pass parameters to an unmanaged (procedural) Cobol program. It is different from the way a VB program calls a Cobol program. To find out what is new and different in VB .NET, here is a link to an interesting article: http://www.ondotnet.com/pub/a/dotnet/excerpt/vbnetnut_appa/index.html Resolution: BUILD W/RELEASE: NetExpress v4.0 & Microsoft VB .NET 2003 INTRODUCTION ========== The issues that will be addressed in the demo are the way to pass an integer, a string, and a structure. First, the integer now takes 4 bytes in VB .NET (2 bytes in VB), so it has to be defined as pic x(4) comp-5 in Cobol. Secondly, there is no fixed-length string in VB. NET. In VB, it was possible to define it as follows: MyPicX3 string * 3 One way to emulate the above in VB .NET would be to define a string and pad it with spaces to reserve the size to be
Problem: A graphical C Interface calling COBOL entry points with different formats Integer, Float, Double, Short, String.. Resolution: BUILD W/RELEASE: NetExpress v3.1 (tested with fixpacks as of 08/2001) ============ Microsoft Visual C v6.0 SOURCE FILES: ========= Program Files Description ---------------- ----------------------------------------------------------- Cobdll.APP Net Express project file to create the COBOL DLL Cobdll.CBL COBOL source code of the COBOL DLL mfguic.C C source code Mfguic.DSP C project file Mfguic.DSW C project workspace \\DEBUG\\MFGUIC.EXE C executable Copy Files: --------------
Problem: Form Designer fails to start in Net Express 3.1, 4.0, and 5.0, and displays the following error message: ----- Form Designer requires Microsoft Internet Explorer 4.01 or greater to be installed on this system. See Installation Notes for more details. Form Designer cannot continue. ----- The following error message occurs after clicking the OK button: ----- Mfnetx.exe - COBOL Text Window Execution error: file 'formdctl' error code: 240, pc=0, call=1, seg=0 240 Object reference not valid ----- Resolution: The November 2006 update of Microsoft suggested to upgrade Microsoft Internet Explorer (IE) to v7.0. This issue has been fixed in WrapPack 3 (WS3) for Net Express 5.0, and there is no fix for this for Net Express 3.1 and 4.0. The alternative for Net Express 3.1 and 4.0 is to uninstall IE7 and install IE6 instead. Old KB# 4373
Problem: This demo shows how to generate and animate a dump file using the core_on_error runtime tunable. See also KB article 23215 for details of doing this using the CBLCORE utility. Resolution: BUILD W/RELEASE: Express v4.0 including ALL03N40 WrapPack. SOURCE FILES: ========== Program Files Description ---------------- ----------------------------------------------------------- CBLCORE.CBL Test program that will cause a runtime 114 error Resource Files: --------------------------- ----------------------------------------------------------- COREONERROR.CFG Runtime tunable file DOIT.BAT Bat file OPERATION: ======== From a Net Express Command Prompt execute the included BAT file, doit.bat. This bat file compile for animation and link the test program then it will set the COBCONFIG_ environment  
Problem: Assuming that code such as:- 01 ws-data pic x(20) value spaces. .... MOVE "HELLO WORLD" TO WS-DATA The value at initialization will be something like "Y?a¤Y?a¤Y?a¤Y?a¤" and after the move statement ws-data will contain something like "Hello WorldY?a¤Y?a¤", seems to have included incorrect values. Resolution: This issue only occurs when the code is executed on a Virtual PC 2004 or Virtual Server 2005 virtual machine image. Microsoft have been made aware of this problem and it will be fixed in Virtual PC 2007 and Virtual Server 2007. The problem is caused by Virtual PC not correctly handling some MMX Intel Chip instructions that get generated by the .Net Common Language Runtime JIT Compiler. Please note this only affects Net Express Version 5 COBOL .Net based application. Net Express unmanaged application an
Problem: 105 memory allocation error when invoking internal method of COM class that is passed a pointer Resolution: Be carefull when hand-coding (when not using the method wizard) any methods in a COM class. The reason is invoking the method using the INVOKE SELF syntax from within the COM class itself, the runtime will invoke it as a COM method (as opposed to a non-COM Ojbect COBOL method) and will coerce parameters to COM types. This could especially be a problem passing a pointer as a parameter and the COM runtime coerces it to something else. In this case it is possible to end up getting a 105 (memory allocation) error. It is recommended to use the method wizard when adding COM methods to a class. The wizard will guide in creating parameters with proper types. If there is a need to hand-code any methods that accept non-COM types, then to create a separate Object COBOL class (one that does not inherit from olebase) and to add the methods there. Then, to inst
Problem: This sample demonstrates how to use the TestCover compiler directive and support tools. Resolution: BUILD W/RELEASE: Net Express v4.0 with December 2003 Websync. This demo uses the Net Express DEMO\\LOCKING demo to demonstrate the TestCover utility. For instructions on how to use/run LOCKING demo please the the README file in your Net Express\\BASE\\DEMO\\LOCKING folder. SOURCE FILES: ========= Resource Files: Description ---------------- ----------------------------------------------------------- .\\TCF\\LOCKING.TCF Test Coverage configuration file RunTC.bat BAT command file that will generate the
Problem: Example of Net Express working with MQSeries Resolution: 1). IBM MQSeries client or server Developers Toolkit must be installed on the machine that will build the application. This creates a "tools" directory below the directory that you installed IBM MQSeries, with a sub directory called "lib". The "lib" directory will contain the link file needed for execution on a server machine; mqmcb32.lib or for a client machine; mqiccb32.lib. 2). For simplicity I have added the directives in the beginning of the program as $SET statements. The LITLINK directive is used to resolve the literal at like time as public symbols. 3). The linking of an EXE will require the correct link library for IBM MQSeries installed on the machine that will run the program. IBM MQSeries Client machine requires "mqiccb32.lib" added to the Advance Category of the Build Settings L
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.