Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
Problem: How to look up the Process ID from the current process? Resolution: The following will show the Process ID (PID) of the current process. 01 CurrentProcessId DWORD. 01 pSessionId DWORD. call cc74 "GetCurrentProcessId" returning CurrentProcessId Another way to do this is with the use of API: There are different ways for APIs for Win9x Platforms and for NT/2000/XP/2003 Platforms. For Windows 2000 etc... You need the Process Status Helper API http://msdn.microsoft.com/library/?url=/library/en-us/perfmon/base/process_status_helper.asp?frame=true For Windows 9x you need the ToolHelp Library http://msdn.microsoft.com/library/?url=/library/en-us/perfmon/base/process_status_helper.
Problem: In Net Express are you able to redirect your executable module to a different directory during compile/link? Resolution: Yes you can select the location for the exe's (or whatever files you wish) 1. From the top menu bar select Project>Deployment 2. A window will appear that says files selected for deployment- select ADD 3. Another window will appear where you 1- browse for files to be deployed 2. browse for the location to put the files 3. Remove the extension (needs to be blank) 4. check ok 4. Rebuild All to get the module/modules copied to the deployed location. Old KB# 7059
Problem: Attempting to read in an XML document, move i's elements to a new output XML file with the same layout, and write all the records to the new file. The document file contains one root element called <letteroutput> and this is speciified at the 01 level of the record description. Within this one root element there can be any number of child elements called <dunning_letter> which itself contains other child elements and attributes. Reading through the input file using READ NEXT KEY DUNNING-LETTER, and then was moving the elements of each record to the output record, followed by a WRITE LETTER-OUTPUT, and ending up with the <letteroutput> tag for each id (key). move c-type to o-type move c-id &n
Problem: Microsoft have implemented security on MAPI based applications so counter virus threats on desktop applications. MS Oulook when used with MAPI based applications now prompt when an external application attempts to send email. An application may not want this level of security. Using SMTP as a medium for send email may work better for the application. Resolution: There are 2 demoes attached. One is a .Net solutoin that uses .Net classes to send an email. Also there is a Win32 based Net Express demo that shows how to use CDO for Windows2000 ( available with Windows2000/XP/2003). Attachments: cdo.zip Old KB# 7018
Problem: Would like to use CBL2XML to generate the copybook for an XML document that has multiple record definitions at the element level, depending on the value in a contained attribute. Resolution: The CBL2XML tool has a restriction on this type of construct. It will only generate the record description for the first record type specified in the schema. It will ignore any multiple record types or redefinitions of elements. This is a restriction in CBL2XML only, and not in the XML support provided by Net Express. The XML syntax support does provide for this type of redefinition in two different ways. Both ways are documented, with example code, in the Net Express On-Line Help. The first method is to use variables as tag names and values so that you can read any type of XML layout, and receive the names of the tags that are found, along with the corresponding data. This allows you to read an XML document with
Problem: Net Express 4.0: Trying to open project files .app you get back error message: 'Project file does not contain a version string' and a 'Save' does not run correctly before. Resolution: Probably, you have lost local 'user admin rights' in Windows, after setting this back to 'user admin rights' you should be able to open all .app files in a right manner. Old KB# 7010
Problem: If one entry point in Cobol is exposed through the Interface Mapping Toolkit to an EJB using another exit point (a CHAIN operation) is this compatible with exposing it? Resolution: When you CHAIN to a subprogram, control never returns to the calling module (like an XCTL in CICS). The original parameters are preserved so that they go back to the EJB. Old KB# 7022
Problem: Is it possible to select more than one item in a Listview and, if so, how can you get a list of items that have been selected? Resolution: You need to use the MultipleSelection method to tell the listview that more than one item can be selected. The "selectedItems" method returns a collection that contains the selected items. Old KB# 7036
Problem: Where an OPEN statement- the fd assigned to working storage name which has full path assigned and the file is in location pointed to by working storage variable Resolution: Make sure that the compiler directive ASSIGN"EXTERNAL" is not used with the build of the program. Old KB# 7017#RMCOBOL#ServerExpress#AcuCobol#netexpress#COBOL
Problem: The COBCH errors are syntax errors. Resolution: To find the complete list of (COBCH) syntax errors: 1. Click on Help > Help Topics 2. Click on the Index tab 3. Type in "syntax error" 4. Double-click on "Syntax error" from the list 5. Double-click on "Syntax Checking Error Messages" The syntax error should give enough information. Another way to see an individual error from the the help would be to use the Search to look for COBCHxxxx. Old KB# 7030
Problem: Crreating line sequential files with escape sequences, and they are not working as expected because Net Express inserts null values. Resolution: To eliminate nulls being placed in line sequential files: Either create a text file called extfh.cfg with the following entries [XFH-DEFAULT] INSERTNULL=OFF then set environment variable extfh=x:\\directoryname\\extfh.cfg or set environment variable cobsw=-N which turns off null insertion Old KB# 7054#netexpress#RMCOBOL#AcuCobol#COBOL#ServerExpress
Problem: The Help system states that the actual timeout period for the stated value is in seconds or tenths of a second for example: ACCEPT ws-variable AT 2326 TIMEOUT AFTER 600 ON EXCEPTION MOVE 1 TO ws-variable. Resolution: This format of ACCEPT is a Micro Focus extension (see Language Reference manual for full details). The timing unit used is not specified within the source. The ADIS configuration utility (ADISCF) allows you to specify whether the value is treated as seconds or tenths of a second. The default setting is seconds. Old KB# 7060
Problem: Editing or Debugging Copybooks When editing or debugging a program, you step into a copybook, then the editor or debugger will not position correctly thereafter. Microsoft Knowledgebase number: KB830514 Resolution: We advise you to apply the Microsoft Visual Studio fix for this problem, before using Net Express with .NET. You can download the fix from our Micro Focus SupportLine website (http://supportline.microfocus.com) under the "Patches & Fixes" for Net Express 4.0 with .NET <<KB830514.zip>> contains two EXEs NDP1.1-KB830514-X86.exe and WindowsServer2003-KB830514-x86-ENU.exe (one of the exe is for Windows Server 2003) Old KB# 7038
Problem: If you are migrating an old COBOL Workbench application to Net Express that uses SCREENS, you will not initially be able to edit the screen definition files. you will be able to run the application successfully. Resolution: You must use Net Express 4.0, and ensure that the Classic Tools Addpack (filename mct00n40.exe) is applied from the Micro Foucs SupportLine web site. Old KB# 7012
Problem: After installing Net Express .NET enhancement you can not start the .NET IDE also the NetX4.0 IDE because there is a hint that the file dte.olb fails. Resolution: You should try to re-register this Microsoft file via regsvr32 from command-line, probably it was unregistered during the installation procedure. This file can be found in ..\\common files\\Microsoft Shared\\MSEnv. Old KB# 7015
Problem: My questions is : when it says "removed from memory", what does it means ? " A .dll file is automatically removed from memory when a COBOL program within it is cancelled" Resolution: This depends on the setting in the IDE for the Project Properties>Application>Program Loading tab for the "Cache Programs" option. If this is checked then a CANCEL for a program contained within a .DLL will not release the physical memory for the .DLL. If a program in the .DLL is called again then the same .DLL will be used but the program will be in it's initial state. If the Cache Programs option is not on then doing a CANCEL progname for any program within the .DLL will physically remove it from memory. Old KB# 7031
Problem: The records are x'0d" delimited in a Macintosh's line sequential file, and the file handler only recognizes x'0a' (used in Unix) or x'0d0a' (used in Windows) as a valid record delimiter. The file cannot therefore be defined and read as line sequential in COBOL. Resolution: One would assume that LSRECDELIM (file handler configuration option) would be the solution, but that option only accepts either x'0a' or x'0d0a'. The alternatives are using byte-stream I/O routines to convert the file to x'0d0a' record delimiters, using third-party software to convert the file, or reading the entire file as as a single record and extracting each record delimited by x'0d'. Note: 1. There has been an enhancement request that was raised to support x'0d' as a valid parameter to LSRECDELIM option (RPI #1053920) 2. x'0d' = CR = Carriage Return character 3. x'0a' = L
Problem: What is the difference between CBL_THREAD_SLEEP and CBL_YIELD_RUN_UNIT? Resolution: The CBL_YIELD_RUN_UNIT will tell the OS to give the current programs scheduled processing time to another program process so that it can have access to the CPU. A RUN_UNIT in COBOL is defined as the main programs executable along with any programs that have been loaded by a CALL statement. This keeps the current program from using all the CPU cycles when it is currently in a wait state. The CBL_THREAD_SLEEP does basically the same thing but it gives up the current threads processing time and not the entire run-units CPU time. The difference is that CBL_THREAD_SLEEP might yield it's time to another thread that may be running within the same process (run-unit). CBL_YIELD_RUN_UNIT yields time on a per process basis and CBL_THREAD_SLEEP yields time on a per thread basis. Old KB# 7053
Problem: The file-control paragraph specifies the file as follows: select dataFile assign 'datafile.dat' Resolution: The default "file-control-entry" in a COBOL program (the select statement) specifies an optional file. Such a file may or may not be present when a program attempts to open the file. When an optional file is not present at the time an open i-o statement is executed, a file status of "05" is returned and an empty file is created. When an optional file is present at the time an open i-o statement is executed, a file status of "00" is returned. In this way you can determine whether you are processing a new, empty data file (file status = "05") or an existing data file (file status = "00"). If you never want to process an existing file, you can c
Problem: How to call the sql set connect option through cobol to unlock the DataDirect OEM ODBC drivers. Here are the calls to SQLSetConnectOption as one would code in a different language: res_code = SQLSetConnectOption (hdbc, 1041, "licensefile"); res_code = SQLSetConnectOption (hdbc, 1042, "password"); Resolution: Be sure you have entered into an OEM agreement with DataDirect and have thus created a 'branded' driver that is specific to our application package. They have assured us that 'all we have to do' is make these API calls after our standard database connect, to 'unlock' the branded driver. You should just need to set a procedure pointer to ODBC32.DLL. If the app is running as EXE or DLL, you will need to link with ODBC32.LIB and ODBCCP32.LIB. The call convention should be stdcall, i.e. 66. The return value for the ODBC API call -- i.e. SQLRtn -- should be stored as a PIC S9(4) COMP-5.
Problem: Is there a way of stopping MFDEBUG.LOG being generated or changing its location. Resolution: There is no way to specify an alternate location for the MFDEBUG.LOG file. However, you can affect its generation by trying the following: 1) Create a "read-only" dummy mfdebug.log file in the folder. This should stop any new versions of the file being created. 2) Another option would be to set the runtime tunable called: signal_regime (see online documentation for full details). You would need to set this option to signal 11 with a value of 2. 3) Alternatively (and probably the best option) is to identify the reason for the exception and to fix it within your application. Old KB# 7061
Problem: Clicking on an image to print using Javascript's function window.print() invokes the printer dialog and causes the form to be submitted. This causes a CGI error or "page cannot be found". The CGI Error states the following message: "The specified CGI application misbehaved by not returning a complete set of HTTP headers." Resolution: The problem is caused by the usage of "inputimage" instead of "image". The "inputimage" causes the form to be submitted. This is not necessary when the purpose is simply to print the current page using window.print(). Make sure to use "image", which is in Page Elements toolbar (while "inputimage" is the one in the Form Elements toolbar). Old KB# 7027
Problem: CCITC32-0034E CCITCP could not find an 'mfcobol' port in the 'services' file. Resolution: You can manually add the entry into the services file; located in the Windows\\system32\\drivers\\etc directory; as mfcobol 86/udp within the correct numerical location within the file or you can use CCIINST.EXE which is located in the Bin directory of application server for Net Express, or Net Express development \\base \\bin directory. Old KB# 7051
Problem: When a Tuxedo service program (exe) contains a call to a sub-program, the call to the sub-program fails. Resolution: Using Net Express, all this is hidden from you as the CBLLINK utility does this all for you. This is an issue with how the Tuxedo Service EXE is being built. The BEA supplied makefiles assume that only one COBOL module will be linked into the EXE. It is not running CBLNAMES as part of the process. CBLNAMES takes as a parameter all the COBOL objs that are to be linked, and creates "cblds.obj" which should be linked into the main exe. The BEA makefile for the client uses CBLNAMES, but the server does not. As this step has not been done the sub-program is not found when called unless built as a separate DLL. The Tuxedo build process needs to link in other Tuxedo specific C modules and objs. Change the make file to run cblnames and also link
Problem: When trying to change a value in animate mode with the examine monitor, the window is completely greyed out, and value(s) cannot be changed. Resolution: The file VALUEEDITNX.OCX was on the server machine, but had not been copied over to the client machines. You can copy this file from the server to the client, and register this file with the REGSVR32. Old KB# 7047
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.