RAP (Report Application Pascal) and the integrated development environment that can be used to create RAP programs are the result of the discovery that a visual solution for data processing and calculation was needed for end users. Even though RAP consists of an object-oriented compiler and extensible architecture ‘under the covers’, it appears as a simple, easy-to-use calc workspace within the Report Designer.
The Report Application Programming language (or RAP for short) is designed to allow developers and end users to code calculations, event handlers, and stand-alone procedures for use with ReportBuilder
Enterprise. RAP programs can be created, modified, compiled, and executed at run-time.
RAP is easy to learn.
The RAP language is identical to Object Pascal. If you know how to code Delphi event handlers, you know how to code RAP. Therefore, the ‘learning curve’ for Delphi developers will be minimal.
RAP lets you work with objects and object properties.
RAP provides full access to the report, bands, groups, report components, datapipelines, and any other objects you wish to pass along to the end user. New objects can be created. Both the published and public properties of objects are accessible, so end users can configure objects on-the-fly.
RAP is Portable Code.
RAP allows you to store code with your reports. Until now, ReportBuilder's powerful events have been available only within Delphi. If you wanted to load reports at runtime and retain any event handlers, you had to load the report into a form or datamodule which contained correctly named procedures in order to ensure that the loaded report "hooked up" successfully to the event handlers. Now, with RAP, you can code your event handlers within the Calc workspace and then save them as part of the report in an RTM file. When you load a report from an RTM or from a database, your event handlers are loaded as well and are already "hooked up".
RAP is EndUser Programming.
RAP allows your users to create their own calculations with their reports. ReportBuilder's award winning end user solution was already powerful, allowing your users to edit or create new reports, but RAP extends the solution by giving end users the ability to code their own event handlers and extended calculations. The Calc workspace is an Object Pascal development environment that is designed for ease of use by non-developers. The Code Explorer offers varied views of the report code module; the Code Editor is a syntax-sensitive Pascal editor; the Code Toolbox serves double duty, providing both a partial list of supported identifiers as well as a drag & drop code creation facility.
RAP has a scalable user-interface.
1. For casual end users, a simple Calculations dialog is accessible from the speed menu of the new TppVariable component. This dialog provides a place for calculations to be entered and returned via a single Result parameter. The calculation result is then displayed in the variable when the report prints.
2. For more sophisticated users, RAP can be configured to display as an additional tab in the Report Designer. The new ‘Calc’ tab shows the bands of the report in a tree view, along with the associated variables. The end user can click on the variables and code the calculation in a syntax-sensitive edit window.
3. The highest level of functionality is provided by the ‘Event’ view. This capability shows all of the report components in a tree view. When a component is selected, all of the events for the component are displayed. The user can then select an event and code an event handler.
RAP is extensible.
RAP is delivered standard with the ability to compile the most often used ReportBuilder and Delphi objects. If you want end users to access more than this, you can register additional RTTI information with RAP. RAP will then be able to compile your custom components. You can also extend the language by adding new ‘built-in’ functions and procedures which the users can call from their RAP programs. These procedures are written and compiled in Object Pascal and then registered with RAP.
RAP is cool.
The wide feature set, object-based functionality, and professional user-interface makes RAP the language to beat for reporting applications.