Tags

, , , , , ,

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

——————————————————————————————————–

In United States, If you would like to Earn Free Stocks, Credit card Points and Bank account Bonuses, Please visit My Finance Blog

——————————————————————————————————–

You may also like to look at:

Working on Mainframes – Is Change to a different technology necessary
Important SQL CODES and ABEND CODES
SORT JOIN – TO JOIN TWO FILES BASED ON A KEY
KNOW YOUR MAINFRAME
REXX – INITIAL SETUP
EASYTRIEVE – A023 ABEND
EASYTRIEVE – SORT and FILE COMPARISION
EASYTRIEVE – Special-name Report Procedures
EASYTRIEVE – REPORT STAEMENT
EASYTRIEVE – Sample Program – Table And Search
EASYTRIEVE – Sample Program – Display Totals and Summary
EASYTRIEVE – Sample Program – Display Employee Data
CA-Easytrieve/Plus – Basics
REXX TOOL # 02 – FSAVE – Save member opened in VIEW mode
REXX TOOL # 01 – O – Open Any Mainframe Element from any ISPF Screen
REXX – INDEX, POS, SUBSTR, COMPARE
REXX – READ THE DSN PROVIDED AS DD IN JCL
REXX – SEND MULTIPLE ARGUMENTS THROUGH JCL
REXX – HOW TO COMPILE YOUR REXX EXEC
REXX – CHANGE UPPER TO LOWER CASE
REXX – GET LAST 4 DAYS FROM GIVEN DATE
REXX – PANEL Definition
REXX – READ, CREATE AND WRITE DATA TO A DATASET
REXX TOOL TO SUBSTITUTE SYMBOLICS IN A PROC

 

Advertisement