HOME  |  RPV HOME PAGE  |  SUPPORT AND FAQS  |  DOWNLOADS  |

Rm/COBOL essential example #3.

The following example shows how to prepare THREE different reports using THE SAME procedure.

Download this example. ZIP file containing the CBL, CPY, COB & DAT files of this example. 
(rmcobolessential.zip 14Kb)

User is prompted to choose between three options:

        1.- Standard report.
        2.- Detailed report
        3.- Labels report. (two labels per record)

What we want to show here is how you can prepare different reports making a unique "PERFORM".

View the COBOL source code.

Download this example. ZIP file containing the CBL, CPY, COB & DAT files of this example. 
(rmcobolessential.zip 14Kb)

 



COBOL source code.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. REPCUS-3.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
              DECIMAL-POINT IS COMMA.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           COPY SELCUS.CPY.

           SELECT OUT-PRINTER ASSIGN TO DISK
                               "C:\COBOLRPV\OUTPUT\REPCUS_3.RPX"
                  FILE STATUS IS STATUS-PRN.


       DATA DIVISION.
       FILE SECTION.
           COPY MAPCUS.CPY.

       FD OUT-PRINTER.
       01   LINE-TO-PRINT PIC X(256).

       WORKING-STORAGE SECTION.
       77 STATUS-ISM     PIC XX VALUE SPACES.
       77 STATUS-PRN     PIC XX VALUE SPACES.
       77 STATUS-KEY     PIC 99 VALUE ZEROS.

       77 AXEPT          PIC X  VALUE SPACE.
       77 CUR-RECORD     PIC 99 VALUE ZEROS.


      ***************************************************************
      * HERE WE DECLARE THE LINES TO BE PRINTED.
      * OBSERVE THAT WE WRITE ALL AVAILABLE FIELDS INTO THE RPX.
      * THEY CAN BE UNSORTED BECAUSE THE TEMPLATE WILL SORT THEM.
      ***************************************************************

       01 LINE-DETAIL.
          03 FILLER          PIC X(10)  VALUE '|MYDETAIL|'.
          03 CUS-ID-PRN      PIC Z(9)  VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-NAME-PRN    PIC X(20) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-LASTNAME-PRN PIC X(20) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-ADDRESS-PRN PIC X(50) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-PHONE-PRN   PIC X(20) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-CITY-PRN    PIC X(20) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-COUNTRY-PRN PIC X(20) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-ZIP-PRN     PIC X(20) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-FAX-PRN     PIC X(20) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.
          03 CUS-E-MAIL-PRN  PIC X(35) VALUE SPACES.
          03 FILLER          PIC X(1)  VALUE '|'.

       COPY WIN.CPY.
      *------------------------------------------------------------
       SCREEN SECTION. 

       01 SCR.
          03 ARC-CRT.
             05 LINE 2 COLUMN 10 VALUE
                   'Standard report: 1'.
             05 LINE 3 COLUMN 10 VALUE
                   'Detailed report: 2'.
             05 LINE 4 COLUMN 10 VALUE
                   'Print labels:    3'.

             05 LINE 6 COLUMN 10 VALUE
                       'Your selection: '.
             05 COLUMN PLUS 1 PIC X USING AXEPT.


       PROCEDURE DIVISION.
       DECLARATIVES.
       C-E SECTION.
                    USE AFTER STANDARD ERROR PROCEDURE ON
                              CUSTOMERS OUT-PRINTER.
       END DECLARATIVES.
       PRIMA SECTION.
       MAIN-PROGRAM.
      *
             DISPLAY SPACE ERASE.
             DISPLAY ARC-CRT.
             ACCEPT  ARC-CRT.
             DISPLAY ARC-CRT.
             ACCEPT STATUS-KEY FROM ESCAPE KEY.
             IF STATUS-KEY = 13
                OPEN INPUT CUSTOMERS
                OPEN OUTPUT OUT-PRINTER
                PERFORM PROCESS THRU END-PROCESS
             END-IF.
             DISPLAY SPACE ERASE.
             STOP RUN.
      *--------------------------------------------------------------
       PROCESS.
      *
            IF AXEPT = 1
               WRITE LINE-TO-PRINT FROM 
                               'TEMPLATE=C:\COBOLRPV\TEMP_CU2.RPV'
            END-IF.

            IF AXEPT = 2
               WRITE LINE-TO-PRINT FROM 
                               'TEMPLATE=C:\COBOLRPV\TEMP_CU3.RPV'
            END-IF.

            IF AXEPT = 3
               WRITE LINE-TO-PRINT FROM 
                               'TEMPLATE=C:\COBOLRPV\TEMP_CU4.RPV'
            END-IF.

            MOVE ZEROS TO CUR-RECORD
            PERFORM UNTIL STATUS-ISM = '10'
               READ CUSTOMERS NEXT
               IF STATUS-ISM = '00'
                  ADD 1 TO CUR-RECORD
                  MOVE CUS-ID       TO CUS-ID-PRN
                  MOVE CUS-NAME     TO CUS-NAME-PRN
                  MOVE CUS-LASTNAME TO CUS-LASTNAME-PRN
                  MOVE CUS-ADDRESS  TO CUS-ADDRESS-PRN
                  MOVE CUS-PHONE    TO CUS-PHONE-PRN
                  MOVE CUS-CITY     TO CUS-CITY-PRN
                  MOVE CUS-COUNTRY  TO CUS-COUNTRY-PRN
                  MOVE CUS-ZIP      TO CUS-ZIP-PRN
                  MOVE CUS-FAX      TO CUS-FAX-PRN
                  MOVE CUS-E-MAIL   TO CUS-E-MAIL-PRN
                  WRITE LINE-TO-PRINT FROM LINE-DETAIL

                 *********************************************
                 *WE FORCE FOR A NEW PAGE WHEN THE SELECTION IS "2"
                 *TO SHOW ONLY 6 RECORDS PER PAGE.
                 *SELECTION "2" IS "DETAILED REPORT"

                 *********************************************

                  IF CUR-RECORD = 6 AND AXEPT = 2
                     WRITE LINE-TO-PRINT FROM '>{\NP}'
                     MOVE ZERO TO CUR-RECORD
                  END-IF

                 *********************************************
                 *WE FORCE FOR A NEW PAGE WHEN THE SELECTION IS "3"
                 *TO SHOW ONLY 9 RECORDS PER PAGE.
                 *SELECTION "3" IS "LABELS"
                 *********************************************

                  IF CUR-RECORD = 9 AND AXEPT = 3
                     WRITE LINE-TO-PRINT FROM '>{\NP}'
                     MOVE ZERO TO CUR-RECORD
                  END-IF

               END-IF
            END-PERFORM.
            CLOSE CUSTOMERS OUT-PRINTER.
            CALL 'SYSTEM' USING 
            'C:\PROGRA~1\RPV\RPV.EXE C:\COBOLRPV\OUTPUT\REPCUS_3.RPX'.
      *
       END-PROCESS.   EXIT.

<go top>



Code generated by this program. When selecting "1" (CUSRPV_3.RPX)

TEMPLATE=C:\COBOLRPV\TEMP_CU2.RPV
|MYDETAIL|      520|Alan                |Bernard             |85 Wilson Avenue.                                 |+44 (0)870-444-4563 |London              |United Kingdom      |12411               |+44 (0)870-444-4563 |alan_bernard@ukonline.co.uk        |
|MYDETAIL|      877|Robert              |Bollini             |2607 S Milwaukee Ave                              |(773) 489-9954      |Chicago             |USA                 |60647               |                    |bollini@wsatts.com                 |
|MYDETAIL|      899|Ian Edward          |Forbes              |8319 N Saint Lauwrence Ave                        |(773) 783-5197      |Chicago             |USA                 |60618               |                    |forbes@wsatts.com                  |
|MYDETAIL|     1015|Ian                 |Forbes              |655 Masselin Ave.                                 |(323)933-32477      |Los Angeles         |USA                 |90036-5775          |                    |pilot82@california.net             |
|MYDETAIL|     1100|Ralph               |Wilson              |25 Windermere lane. Siparia.                      |+61-3-3341000       |Sydney              |Australia           |5419                |+61-3-3341010       |rwilson128@australian.au           |
|MYDETAIL|     1244|Robert              |Gancar              |778 W 42th Street                                 |(212) 12474645      |New York            |USA                 |10011-6014          |(212) 12474645      |rg@nynyny.com                      |
|MYDETAIL|     2541|Jose                |Pernia              |Benarabe 128                                      |+34-964-2457479     |Castellon           |Spain               |1050                |+34-964-2457480     |pernia@yahoo.es                    |
|MYDETAIL|     2555|Barry               |Gasshi              |5 Wilson Avenue                                   |+44-020-24579       |Mitcham             |United Kingdom      |CR4 3JR             |                    |barry@dosdos.com                   |
|MYDETAIL|     3241|Michael             |Jefferson           |17 Wickfield House Wilson Grove                   |+44-5646427         |London              |United Kingdom      |56454               |+44-5646430         |mj@co.uk                           |
|MYDETAIL|     3652|Jaques              |Piaget              |1, av. de L'Imperatrice                           |05 59416455         |Biarritz            |France              |64200               |05 59416788         |piaget@pssfska.fr                  |
|MYDETAIL|     9125|Edmondo             |Spadaveccia         |Via F. Caracciolo 14-80154                        |+81-5980511         |Napoli              |Italy               |80154               |                    |edmondospada@italusers.it          |
|MYDETAIL|    85541|Xavier              |Parcero             |Av. Cutitiba 3212                                 |+52-74-4653121      |Acapulco            |Mexico              |1114                |+52-74-4652211      |xpp231@mexmail.com                 |
|MYDETAIL|    87777|Adrian              |Arjones             |Libertador 8621                                   |+54-1-45641787      |Buenos Aires        |Argentina           |1454                |+54-1-45641790      |adrian99@argentina.com.ar          |
|MYDETAIL|   124632|Carlos              |Chavez              |Av. Los Leones 1125                               |+562-524412         |Santiago            |Chile               |51124               |+562-524420         |cchavez@ench.com.cl                |
|MYDETAIL|  2245145|Andrew              |Adler               |Av. Los Samanes 1111                              |+582-7829451        |Caracas             |Venezuela           |1050                |                    |adler@cantv.com.ve                 |




Standard report (option 1). How it looks when opening with Rpv.


<go top>
 


Code generated by this program. When selecting "2" (CUSRPV_3.RPX)

Difference between this code and "option 1" is only the ">{\np}" (new page command) inserted every 6 records and the selected template.

TEMPLATE=C:\COBOLRPV\TEMP_CU3.RPV
|MYDETAIL|      520|Alan                |Bernard             |85 Wilson Avenue.                                 |+44 (0)870-444-4563 |London              |United Kingdom      |12411               |+44 (0)870-444-4563 |alan_bernard@ukonline.co.uk        |
|MYDETAIL|      877|Robert              |Bollini             |2607 S Milwaukee Ave                              |(773) 489-9954      |Chicago             |USA                 |60647               |                    |bollini@wsatts.com                 |
|MYDETAIL|      899|Ian Edward          |Forbes              |8319 N Saint Lauwrence Ave                        |(773) 783-5197      |Chicago             |USA                 |60618               |                    |forbes@wsatts.com                  |
|MYDETAIL|     1015|Ian                 |Forbes              |655 Masselin Ave.                                 |(323)933-32477      |Los Angeles         |USA                 |90036-5775          |                    |pilot82@california.net             |
|MYDETAIL|     1100|Ralph               |Wilson              |25 Windermere lane. Siparia.                      |+61-3-3341000       |Sydney              |Australia           |5419                |+61-3-3341010       |rwilson128@australian.au           |
|MYDETAIL|     1244|Robert              |Gancar              |778 W 42th Street                                 |(212) 12474645      |New York            |USA                 |10011-6014          |(212) 12474645      |rg@nynyny.com                      |
>{\NP}
|MYDETAIL|     2541|Jose                |Pernia              |Benarabe 128                                      |+34-964-2457479     |Castellon           |Spain               |1050                |+34-964-2457480     |pernia@yahoo.es                    |
|MYDETAIL|     2555|Barry               |Gasshi              |5 Wilson Avenue                                   |+44-020-24579       |Mitcham             |United Kingdom      |CR4 3JR             |                    |barry@dosdos.com                   |
|MYDETAIL|     3241|Michael             |Jefferson           |17 Wickfield House Wilson Grove                   |+44-5646427         |London              |United Kingdom      |56454               |+44-5646430         |mj@co.uk                           |
|MYDETAIL|     3652|Jaques              |Piaget              |1, av. de L'Imperatrice                           |05 59416455         |Biarritz            |France              |64200               |05 59416788         |piaget@pssfska.fr                  |
|MYDETAIL|     9125|Edmondo             |Spadaveccia         |Via F. Caracciolo 14-80154                        |+81-5980511         |Napoli              |Italy               |80154               |                    |edmondospada@italusers.it          |
|MYDETAIL|    85541|Xavier              |Parcero             |Av. Cutitiba 3212                                 |+52-74-4653121      |Acapulco            |Mexico              |1114                |+52-74-4652211      |xpp231@mexmail.com                 |
>{\NP}
|MYDETAIL|    87777|Adrian              |Arjones             |Libertador 8621                                   |+54-1-45641787      |Buenos Aires        |Argentina           |1454                |+54-1-45641790      |adrian99@argentina.com.ar          |
|MYDETAIL|   124632|Carlos              |Chavez              |Av. Los Leones 1125                               |+562-524412         |Santiago            |Chile               |51124               |+562-524420         |cchavez@ench.com.cl                |
|MYDETAIL|  2245145|Andrew              |Adler               |Av. Los Samanes 1111                              |+582-7829451        |Caracas             |Venezuela           |1050                |                    |adler@cantv.com.ve                 |



Detailed report (option 2). How it looks when opening with Rpv.

<go top>


Code generated by this program. When selecting "3" (CUSRPV_3.RPX)

Difference between this code and "option 1" is only the ">{\np}" (new page command) inserted every 9 records and the selected template.

TEMPLATE=C:\COBOLRPV\TEMP_CU4.RPV
|MYDETAIL|      520|Alan                |Bernard             |85 Wilson Avenue.                                 |+44 (0)870-444-4563 |London              |United Kingdom      |12411               |+44 (0)870-444-4563 |alan_bernard@ukonline.co.uk        |
|MYDETAIL|      877|Robert              |Bollini             |2607 S Milwaukee Ave                              |(773) 489-9954      |Chicago             |USA                 |60647               |                    |bollini@wsatts.com                 |
|MYDETAIL|      899|Ian Edward          |Forbes              |8319 N Saint Lauwrence Ave                        |(773) 783-5197      |Chicago             |USA                 |60618               |                    |forbes@wsatts.com                  |
|MYDETAIL|     1015|Ian                 |Forbes              |655 Masselin Ave.                                 |(323)933-32477      |Los Angeles         |USA                 |90036-5775          |                    |pilot82@california.net             |
|MYDETAIL|     1100|Ralph               |Wilson              |25 Windermere lane. Siparia.                      |+61-3-3341000       |Sydney              |Australia           |5419                |+61-3-3341010       |rwilson128@australian.au           |
|MYDETAIL|     1244|Robert              |Gancar              |778 W 42th Street                                 |(212) 12474645      |New York            |USA                 |10011-6014          |(212) 12474645      |rg@nynyny.com                      |
|MYDETAIL|     2541|Jose                |Pernia              |Benarabe 128                                      |+34-964-2457479     |Castellon           |Spain               |1050                |+34-964-2457480     |pernia@yahoo.es                    |
|MYDETAIL|     2555|Barry               |Gasshi              |5 Wilson Avenue                                   |+44-020-24579       |Mitcham             |United Kingdom      |CR4 3JR             |                    |barry@dosdos.com                   |
|MYDETAIL|     3241|Michael             |Jefferson           |17 Wickfield House Wilson Grove                   |+44-5646427         |London              |United Kingdom      |56454               |+44-5646430         |mj@co.uk                           |
>{\NP}
|MYDETAIL|     3652|Jaques              |Piaget              |1, av. de L'Imperatrice                           |05 59416455         |Biarritz            |France              |64200               |05 59416788         |piaget@pssfska.fr                  |
|MYDETAIL|     9125|Edmondo             |Spadaveccia         |Via F. Caracciolo 14-80154                        |+81-5980511         |Napoli              |Italy               |80154               |                    |edmondospada@italusers.it          |
|MYDETAIL|    85541|Xavier              |Parcero             |Av. Cutitiba 3212                                 |+52-74-4653121      |Acapulco            |Mexico              |1114                |+52-74-4652211      |xpp231@mexmail.com                 |
|MYDETAIL|    87777|Adrian              |Arjones             |Libertador 8621                                   |+54-1-45641787      |Buenos Aires        |Argentina           |1454                |+54-1-45641790      |adrian99@argentina.com.ar          |
|MYDETAIL|   124632|Carlos              |Chavez              |Av. Los Leones 1125                               |+562-524412         |Santiago            |Chile               |51124               |+562-524420         |cchavez@ench.com.cl                |
|MYDETAIL|  2245145|Andrew              |Adler               |Av. Los Samanes 1111                              |+582-7829451        |Caracas             |Venezuela           |1050                |                    |adler@cantv.com.ve                 |


Labels report (option 3). How it looks when opening with Rpv.

<go top>

 


[Cobol Printing Page] [Rpv home page] [Support & Faqs] [Rpv downloads] [Contact us]

Copyright (C) 2003 Dasp Software. All Rights Reserved.