Title: Debugging Business Functions Using Microsoft Visual C++ 7.1
Abstract: Document details how to debug a business function using Visual C++ 7.1 (Included in Visual Studio .NET 2003). This is an attachment to Solution 200974879
Table of Contents
1. 2. 3. 4. Overview Rebuilding Business Functions Debugging the Business Function Called from Application Running Locally Debugging the Business Function Called from Application Running on Local Web Server 5. Common Issues when Debugging a Business function
You can use Microsoft Visual C++ 7.1 to debug business functions in EnterpriseOne 8.11 and beyond, including C business functions, Named Event Rule (NER) business functions (by debugging the NER generated C code), and Table triggers (by debugging the NER generated C code). You can debug business functions attached to interactive applications or batch applications, but the business functions MUST be executed locally. If launching a UBE, this generally means running it on the local workstation.
Back to Top
Rebuilding Business Functions
1. Before debugging a business function, the business function must be rebuilt using busbuild because it cannot be debugged without a .pdb file, and pdb files are not delivered with a package install. 2. Sign on to EnterpriseOne Development Client, go to Object Management Workbench, find the business function that you want to debug and bring it into a project. Check out the business function or do a Get. 3. Select the Design button. In the design window select the Design Tools tab. Select the Build Business Function icon. In the BusBuild window, make sure that under the build tool bar the debug info has a check mark by it, and the dropdown box has the appropriate build mode, Optimized in this case. If debug
info is not checked, let the build finish, check the debug info option, Close BusBuild, and hit build again. If the dropdown box has the wrong build mode, to avoid memory violations, let the build finish, select the correct mode in the BusBuild mode window, close BusBuild and hit build again. 4. Close out of the PeopleSoft EnterpriseOne software.
Back to Top
Debugging the Business Function Called from Application Running Locally
1. Make sure that no EnterpriseOne software (activeConsole, UTB, BusBuild, etc.) is running. The software must be closed to correctly debug using Visual C++ .NET. 2. Open Microsoft Visual C++ .NET and make sure that all workspaces are closed. 3. From the file menu, choose Open Project. 4. Make sure to choose all file types or Executable Files (.exe) so you can choose the correct executable. 5. Select ACTIVECONSOLE.EXE on path e811\System\bin32
6. From the File menu choose open to open the .c or .h files for the business function (e811\path code\source\Bxxxxxx.c)
7. Set your break points in the code (make sure to set your break points after main processing section). 8. Go to the Debug menu option and click Start. 9. Save the solution file 10. If “No Symbolic Information” message box for activConsole.exe appear click OK and continue. 11. Then the EnterpriseOne login box will appear. 12. Sign into the PeopleSoft EnterpriseOne software. 13. Launch the application or submit the UBE (locally) as you normally would (Task, Interactive Versions, Batch Versions, OMW etc). When the application or UBE reaches the business function to Debug, it will display the C code in Visual C++ .NET so that you can step through it. If you are debugging business function event rules and "C" business functions, you can use the Event Rule Debug Application and Visual C++ debugger together. Follow the steps above until you log into the PeopleSoft EnterpriseOne software. At this point follow the steps for the Event Rule debugger. Program execution stops if "C" code is accessed. You can then use the Visual C++ to continue debugging. This is useful if you are trying to locate a problem and you are not sure whether the problem is in a "C" business function of the application calling the business function.
Back to Top
Debugging the Business Function called from application running on local web server
1. For Full version, debugging is the same as Debugging the Business Function Called from Application Running Locally steps above. a. Make sure that no EnterpriseOne software (activeConsole, UTB, BusBuild, etc.) is running. The software must be closed to correctly debug using Visual C++ .NET. b. Open Microsoft Visual C++ .NET and make sure that all workspaces are closed. c. From the file menu, choose Open Project. d. Make sure to choose all file types or Executable Files (.exe) so you can choose the correct executable. e. Select ACTIVECONSOLE.EXE on path e811\System\bin32 f. From the File menu choose open to open the .c or .h files for the business function (e811\path code\source\