Monday, 29 July 2013

Easytrieve Advance Topic Activity

CALL Statement

The CALL statement invokes an external subprogram. Usually, the CALLed program is an existing program in another language that performs an unsupported function.

CALL program-name [NR] USING ( field-name … )

MOVE Statement

You use the MOVE statement to transfer data from one location to another. MOVE is useful for moving data without conversion and for moving character strings with variable lengths.
  • You can move a field or a literal to a field or move a file to a file.
  • A sending field longer than a receiving field is truncated on the right.
  • A longer receiving field is padded on the right with spaces or an alternate fill character.
  • Spaces or zeroes can be moved to one or many fields.
MOVE NAME 20 TO HOLD-NAME
MOVE NAME CTR TO HOLD-NAME FILL ‘*’
MOVE SPACES TO NAME, HOLD-NAME, HOLD-DIV

MOVE LIKE file-name-1 TO file-name-2

MOVE LIKE

MOVE LIKE moves the value of fields with identical names from one file to another while converting numeric data-types from one format to another.
  • The rules for the assignment statement also apply to MOVE LIKE.
  • Because the same field-name can be used in more than one file, you must qualify duplicate field-names by prefixing the field-name with the file-name and a colon.
User Procedures (PROCs)
A user PROC is a group of user-written EASYTRIEVE PLUS statements designed to accomplish a task. You use a user PROC when identical logic is needed in several places in the activity.
A user PROC must be invoked in the activity with a PERFORM statement.
PERFORM proc-name

 proc-name. PROC
       ** Logic **
END-PROC


Proc-name

Proc-name is the same name as in the PERFORM statement and is followed by a period, a space, and the keyword PROC.

END-PROC

Every PROC must have an END-PROC. At END-PROC, control returned to the statement following the PERFORM statement that invoked the PROC

START / FINISH parameters

You use the optional START and FINISH parameters of the JOB statement to automatically incorporate procedures into processing activities.
JOB input file-name [ NAME job-name ] + [ START proc-name ] [FINISH proc-name]

START parameter

You use START to identify a procedure to be executed during initiation of the JOB activity.
  • The procedure is invoked automatically after the file are opened and prior to the first input record.
  • A typical START procedure might initialize working storage fields or establish a position in a keyed sequenced file.
FINISH parameter

You use FINISH to identify a procedure to be executed during the normal termination of the JOB activity.
  • The procedure is invoked after the last input record is processed and before the files are closed.
  • A typical FINISH procedure displays control information accumulated during execution of the JOB activity.
  • A FINISH proc is invoked if a STOP is encountered but it is not invoked if a STOP EXECUTE is encountered.
GOTO Statement

You use the GOTO statement to modify the natural top-to-bottom logic flow in a program.
GOTO JOB transfers control to the top of current JOB activity.
Example

JOB INPUT PERSNL NAME DIV-LIST
     IF DIV = ‘A’
  ---->          GOTO JOB
    END-IF
    IF DIV = ‘B’
  ---->         GOTO CHECK-REG-RTN
     END-IF
       ** Logic **
   CHECK-REG-RETURN

DO WHILE / END-DO Statements

You use the DO WHILE and END-DO statements to provide a controlled loop for repetitive program logic.
  • The logic between DO WHILE and END-DO is executed until the conditional expression on the DO WHILE statement is false.
  • Conditional expressions follow the rules of IF statements.
JOB INPUT PERSNL NAME DO-EX-1
CTR = 0
DO WHILE CTR LT 10
           CTR = CTR + 1
            ** Logic **
END-DO
IF …
Nesting Example

You can nest DO WHILE statements. (The inner logic loop must be completely within the outer logic loop.)




No comments:

Post a comment