WebDocs Home | Show Navigation Hide Navigation

Distributing ReportWriter with Your Application

Below are three possible scenarios for how you might distribute ReportWriter.

You predefine reports, which can subsequently be generated from your application. The user simply selects the report (for example, from a menu or a list of reports) and it is generated. In this scenario, the user never sees ReportWriter, and may not even be aware that it was used to create the reports.

You provide users with the ReportWriter application and a repository, and allow them to create their own reports. You may want to launch ReportWriter from your application (for example, from a menu option), or you may want to have the user run it as a separate application.

A combination of the above two scenarios. You provide users with the tools necessary to create their own reports, but you also provide them with some predefined reports that they can either use “as is” or as a model for their own reports.

The steps below should serve as a general guide for what you need to do to distribute ReportWriter. Your actual procedures may vary, depending on how much customization you choose to do, how you set up your development system, whether your development system consists of the same operating system and hardware as your target system, and so forth.

1.If desired, customize ReportWriter by doing one or more of the following:

Modify ReportWriter’s handling of filename mapping, printer interfaces, environment fields, userdefined file types or data types, selection list item information, and report initialization by overloading any or all of ReportWriter’s default routines. See “Customizing ReportWriter Routines.”

If the target system is a different endian type than your development system, you must rebuild the ELB that contains these routines. See “Endian types” for a list of the endian types of various systems.

Modify help messages, input prompts, or menu entries and shortcuts in the rptctl.ism file. See “Working with the ReportWriter Window Library.”

Modify ReportWriter screen messages, including the title message, by changing the relevant text in the Synergy/DE message file, syntxt.ism. See “Synergy UI Toolkit Control Panel (synctl)”.

2.If your customers will be writing their own reports, create repository definitions for this distribution of ReportWriter. For information, see “Creating a new repository”.

3.If you are distributing predefined reports that depend on name link associations between the files, or if you want to give this capability to your customers, generate and distribute a repository crossreference file. For information, see “Generating a crossreference file”.

4.Include the required application files.

For Windows, install Core Components and ReportWriter before installing your own application.

For UNIX and OpenVMS, refer to the table below, which shows the application files you need to include when you distribute ReportWriter.

For more information about spawning, chaining to, and calling ReportWriter, see “Accessing ReportWriter from Your Application.”

If you are…

Include these files

Spawning or chaining to ReportWriter

RPT: rpt.dbr

RPTDAT: rptctl.is?

RPTLIB: synrpt.elb

SYNTXT: syntxt.is?

WND: tklib.elb

Calling ReportWriter with the external subroutine interface

RPTDAT: rptctl.is?

RPTLIB: synrpt.elb

SYNTXT: syntxt.is?

WIN: tklib.elb

Include the required data files:

The repository main and text files (for example, rpsmain.is? and rpstext.is?)

The crossreference file, if you are using one (for example, rpsxref.is?)

The report definition file, if you are distributing predefined reports (for example, reports.rp?)

Keep in mind that your repository files and—if you’re using one—the crossreference file must be in sync with one another, must agree with the enduser’s data file layout, and must all be distributed together.

For information on moving the repository main and text files to other systems see “Moving repository files”. See also “Moving a crossreference file” and “Moving report definition files”.

5.Set the necessary environment variables, such as RPSMFIL and RPSTFIL, to point to the location of the data files.