Home » EASYTRIEVE » EASYTRIEVE – Sample Program – Table And Search

EASYTRIEVE – Sample Program – Table And Search

EASYTRIEVE – Sample Program – Table And Search

The Input file contains the data of all the employees as shown below

=COLS> —-+—-1—-+—-2—-+—-3—-+—-4—-+—-5

****** ***************************** Top of Data ********

000100 RAJESH SURNAME1 23125478 MECH

000200 SIVA SURNAME2 22351875 CHEM

000300 HARI SURNAME3 21357987 MCA

000400 PAVAN SURNAME4 22574821 MTEC

****** **************************** Bottom of Data ******

The output report Looks like below.

********************************* Top of Data **********************************

3/21/12 EMPLOYEES DATA PAGE 1

FIRST SECOND EMPLOYEE BRANCH

NAME NAME NUM NAME

RAJESH SURNAME1 23125478 MECHANICAL

SIVA SURNAME2 22351875 CHEMICAL

HARI SURNAME3 21357987 MASTERCOMP

PAVAN SURNAME4 22574821 MTECHNOLGY

******************************** Bottom of Data ********************************

The Code for this is provided Below:

//STEP01 EXEC PGM=EZTPA00

//INPUT DD DSN=HLQ1.INPUT01,DISP=SHR

//OUTPUT1 DD DSN=HLQ1.OUTPUT01,

// DISP=(,CATLG,DELETE),

// UNIT=SYSALLDA,SPACE=(CYL,(1,1),RLSE),

// DCB=(RECFM=FB,LRECL=100,BLKSIZE=0)

//SYSPRINT DD SYSOUT=*

//SYSOUT DD SYSOUT=*

//SYSIN DD *

FILE INPUT

INREC 1 80 A

FIRST-NAME 1 6 A HEADING (‘FIRST’ ‘NAME’)

SECOND-NAME 8 8 A HEADING (‘SECOND’ ‘NAME’)

EMPLOYEE-NUM 17 8 N HEADING (‘EMPLOYEE’ ‘NUM’)

BRANCH 26 4 A HEADING (‘BRANCH’ ‘NAME’)

*

FILE OUTPUT1 PRINTER

*

FILE BRANCHID TABLE INSTREAM . * DEFINE INSTREAM REGION TABLE

ARG 1 4 A. DESC 6 10 A. * DEFINE TABLE SPECIAL FIELD IDS

CHEM CHEMICAL

MCA MASTERCOMP

MECH MECHANICAL

MTEC MTECHNOLGY

ENDTABLE

*

BRANCH-TEXT W 10 A

*

JOB INPUT (INPUT)

*

IF EMPLOYEE-NUM > 20000000

SEARCH BRANCHID WITH BRANCH GIVING BRANCH-TEXT

PRINT

END-IF

REPORT PRINTER OUTPUT1 LINESIZE 80

TITLE 01 ‘EMPLOYEES DATA ‘

HEADING BRANCH-TEXT (‘BRANCH’ ‘NAME’)

LINE 01 FIRST-NAME SECOND-NAME EMPLOYEE-NUM BRANCH-TEXT

/*

Explaining concepts used in this program:

  1. TABLE – we can define a table in the FILE section. This is used when we need a collection of uniform data records. In this example, the branch needs to be expanded to branch name. So we have declared the file BRANCHID as TABLE and mentioned 2 columns in it.
    1. BRANCH is specified as first ARG, which should be in ascending order. This is used as key while searching the table.
    2. BRACH NAME is the DESC field, that has the desired information

    Table can be internal (as provided in the above example) or can be defined as an external file.

  2. SEARCH – It searches the file-name with ARG (BRANCH) to give DESC (BRANCH NAME)

    SEARCH file-name WITH field-name-1 GIVING field-name-2

    SEARCH BRANCHID WITH BRANCH GIVING BRANCH-TEXT

  3. HEADING – When used, we get the header as mentioned here in the final Report. This is used at the field declaration process. This can also be done in REPORT section. Here we gave the statement as HEADING (‘FIRST’ ‘NAME’) as we have space between FIRST and NAME, we got the HEADER in two rows.
  4. Here when we provide the option of PRINTER for output file, the default length of output file is taken as 133 and RECFM as FA (printer file). But LINESIZE provided in the REPORT section, defines the length the report to be displayed in the output file.
  5. If we have only single report for the whole program, it is not necessary to provide the report name at PRINT statement and REPORT statement.
  6. HEADING in the report section gives a header name for the BRANCH-TEXT as BRANCH NAME

 

You may also like to look at:

 

EASYTRIEVE – REPORT STATEMENT
EASYTRIEVE – Sample Program – Display Employee Data
EASYTRIEVE – Sample Program – Display Totals and Summary
EASYTRIEVE – Sample Program – Table And Search
EASYTRIEVE – SORT and FILE COMPARISION
EASYTRIEVE – Special-name Report Procedures

 


About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s