In a third party program, additional data is tracked that is related to Sales Order documents at both the Sales Header and Sales Line level in a one to one relationship. This article discusses how to make a Report Writer function to retrieve the additional data in your dictionary on an SOP Blank Invoice Form report that has been heavily modified in Report Writer.
Dexterity Utilities cannot transfer the report because of the Resources already existing in the development dictionary and the Resource IDs created in Report Writer.
However, you can make a Report Writer function to retrieve the data in your dictionary. The function can then be called from a calculated field using a user-defined function call in Report Writer.
Because this is a function in the third party program, it cannot be called from Report Writer using the Great Plains product, but can be called from Report Writer that is using the third party program. There is an issue about how to move the customized report to the third party product without creating it from scratch.
The solution is to use the Customization Maintenance window to make a Package file with the details of the report. You can do this by hand editing the package file to switch the product to the third party product. This approach works because Package files for reports contain the whole report definition and not just the changes to the report.
Follow these steps:
1. In Dexterity, open the development dictionary.
2. Click the New Resource button drop-down list next to the New button in the upper left corner of the resource explorer. Select Script (Function) and create the required Report Writer functions to retrieve the third party data.
3. Use Dexterity Utilities and create the chunk file by following the procedure in the Great Plains Integration Guide. Make sure to use Transfer Dictionary Module located under the Resources menu to include the SOP Blank Invoice Form as an alternate Dynamics report.
4. Put the new third party chunk in the Great Plains folder, start Great Plains, and include the new code.
5. Click Tools, click Customize, and then click Customization Maintenance.
6. Select the SOP Blank Invoice Form object and then click Export to export it to a package file.
7. Open the new package file with a text editor like Notepad.
8. The first lines are similar to:
<Component Name="SOP Blank Invoice Form" ProductId="00" Object="Report" >
Report "SOP Blank Invoice Form"
(where 00 = the Product ID from the third party product.)
9. Close Notepad and save the changes.
10. Click Tools, click Customize, and then click Customization Maintenance and import the modified package file. This step will create the same report in the third party reports dictionary as a Modified Alternate report.
11. Click Setup, click System, and then click Security and grant access for the user(s) to the Alternate Report and then grant access to the Modified Alternate report that you imported.
12. Click Tools, click Customize, and then click Report Writer and select the third party product. Select the report and open it.
13. Make sure that everything came over correctly. This step is important because this solution is a workaround and may not transfer everything correctly. Text prompts added to the report are the most likely problem to be seen. They may display as "no name" or "not found" in the report layout. If that occurs, delete them and add the correct prompts.
14. To add the additional data to the report, you must create calculated fields that call the appropriate Report Writer function. For example, the Bill To Address Line 1 calculated field on this report calls a Report Writer function rw_SelectAddrLine.
1. Use the Report Writer manual for additional help about how to create a calculated field calling a user-defined Report Writer function.
2. See the Great Plains Integration Guide for additional help about creating a chunk file.
3. Dexterity Programmers Guide Volume 2 offers additional information about creating user-defined functions.
This article was TechKnowledge Document ID: 33486