Release 10.1A: OpenEdge Development:
Programming Interfaces

> ## Basic report demonstration

> This section provides a basic report demonstration.

> | To see a demonstration of Progress behavior when displaying a report to your screen:

> 1. Open `i-10-01.p` and run it. Progress creates a down frame that occupies all the vertical space it can and fills the frame with iterations of data:

> Notice the message at the bottom of the screen. Progress pauses to allow you to view the first frame of data.

> 2. Press SPACEBAR. Progress clears the down frame and fills it with a new set of iterations.

> 3. Press END-ERROR and then SPACEBAR to return to the Procedure Editor.

> Here is the code for this example:

> i-10-01.p
>           DEFINE VARIABLE Bal-due AS LOGICAL LABEL "Balance Due?"
>               VIEW-AS TOGGLE-BOX.

>           DEFINE FRAME Frame1
>             sports.Customer.Name
>     /*1*/      Bal-due VIEW-AS TEXT
>     /*2*/        WITH DOWN USE-TEXT CENTERED THREE-D.

>     /*3*/  FOR EACH Customer FIELDS (Name Balance) WITH FRAME Frame1:
>             IF BALANCE > 0 THEN Bal-due = YES.
>               ELSE Bal-due = NO.
>     /*4*/   DISPLAY Name Bal-due.
>           END.

> Note: The `THREE-D` option is relevant only on a Windows client; it is ignored by a character client.

> The following notes help to explain the code:

> 1. The default data widget for this `LOGICAL` variable is a toggle box, making the `VIEW-AS TEXT` phrase necessary to convert it to a text widget.

> 2. The frame phrase of the `DEFINE FRAME` statement contains two key options: `DOWN` and `USE-TEXT`. The `DOWN` keyword specifies a down frame that automatically expands to fit as many iterations as the screen can hold. Specifying an integer before `DOWN` sets the maximum number of iterations the frame can hold. `USE-TEXT` converts all fill-in fields into text widgets for a compact display.

> 3. Since the great majority of reports compile and manipulate table data, the `FOR EACH` statement is the most common control block used for report procedures. The frame phrase here replaces the default down frame with the named down frame defined earlier.

> 4. The `DISPLAY` statement is the most commonly used output statement. As you’ll see later, `DISPLAY` can output to terminals, printers, or files.

> The type of report display created by procedure `i-10-01.p` does not fit well with the event-driven model because the user:

> - Does not control the display of data.

> - Can view data in only one direction.

> - Does not have an intuitive way to dismiss the report.

> The next section describes a technique for viewing reports that better suits the event-driven model.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095