DTRHELP.HLB  —  Commands Statements Clauses, STORE Statements, Examples
       The following example stores two records in the FAMILIES domain:

       DTR> READY FAMILIES WRITE
       DTR> REPEAT 2 STORE FAMILIES
       Enter FATHER: GEORGE
       Enter MOTHER: SANDY
       Enter NUMBER_KIDS: 2
       Enter KID_NAME: DANA
       Enter AGE: 12
       Enter KID_NAME: DACIA
       Enter AGE: 9

       Enter FATHER: WAYNE
       Enter MOTHER: SHEEL
       Enter NUMBER_KIDS: 2
       Enter KID_NAME: BETE
       Enter AGE: 8
       Enter KID_NAME: ALEX
       Enter AGE: 5
       DTR> FIND FAMILIES WITH MOTHER = "SANDY", "SHEEL"
       [2 records found]
       DTR> PRINT ALL

                             NUMBER    KID
         FATHER     MOTHER    KIDS     NAME    AGE

       GEORGE     SANDY         2   DANA       12
                                    DACIA       9
       WAYNE      SHEEL         2   BETE        8
                                    ALEX        5

       DTR>

       The following example stores a record in the YACHTS domain, using
       a context variable and a VERIFY clause:

       DTR> SHOW HINKLEY_STORE
       PROCEDURE HINKLEY_STORE
       STORE A IN YACHTS USING
       BEGIN
            BUILDER = "HINKLEY"
            MODEL = "BERMUDA 40"
            RIG = "YAWL"
            LOA = 40
            DISP = 20000
            BEAM = 12
            PRICE = 82000
       END VERIFY USING
       BEGIN
            PRINT A.BOAT, SKIP
            IF *.CONFIRMATION CONT "N" THEN
            PRINT SKIP THEN ABORT "BAD RECORD"
       END
       END_PROCEDURE

       DTR> READY YACHTS WRITE
       DTR> :HINKLEY_STORE

                                      LENGTH
                                       OVER
       MANUFACTURER   MODEL     RIG    ALL   WEIGHT BEAM  PRICE

        HINKLEY     BERMUDA 40 YAWL    40    20,000  12  $82,000

       Enter CONFIRMATION: N

       ABORT: BAD RECORD

       DTR>

       The following example defines a domain for single-digit integers
       and their squares, and uses a WHILE statement to control the
       number of records stored in the domain:

       DTR> DEFINE DOMAIN SQUARES USING
       DFN> SQUARES_REC ON SQUARES.DAT;
       DTR> DEFINE RECORD SQUARES_REC USING
       DFN> 01 SQUARES.
       DFN>    03 NUMBER PIC 9.
       DFN>    03 ITS_SQUARE PIC 99.
       DFN> ;
       [Record is 3 bytes long.]
       DTR> DEFINE FILE FOR SQUARES;
       DTR> READY SQUARES WRITE
       DTR> DECLARE N PIC 99.
       DTR> N = 0
       DTR> WHILE N NE 10 STORE SQUARES USING
       CON> BEGIN
       CON>     NUMBER=N
       CON>     ITS_SQUARE = N * N
       CON>     N = N + 1
       CON> END
       DTR> FIND SQUARES
       [10 records found]
       DTR> PRINT ALL

               ITS
       NUMBER SQUARE

         0      00
         1      01
         2      04
         3      09
         4      16
         5      25
         6      36
         7      49
         8      64
         9      81

       DTR>

       The following example stores data from the WORKER domain into
       the expanded NEW_WORKER domain. These domains have duplicate
       elementary field names that are subordinate to different group
       field names. The example uses a FOR statement to control the
       STORE statement so that DEC DATATRIEVE stores the data from the
       elementary fields correctly. The record definitions and the STORE
       statement are as follows:

       DTR> SHOW WORK_REC
       RECORD WORK_REC USING
       01 WORK.
           03 LOCAL.
                05 CITY   PIC X(10).
                05 STATE  PIC X(2).
           03 REMOTE.
                05 CITY   PIC X(10).
                05 STATE  PIC X(2).
       ;
       DTR> SHOW NEW_WORK_REC
       RECORD NEW_WORK_REC USING
       01 WORK.
           03 NEW_LOCAL.
                05 CITY   PIC X(10).
                05 STATE  PIC X(2).
           03 NEW_REMOTE.
                05 CITY   PIC X(10).
                05 STATE  PIC X(2).
           03 NAME.
                05 FIRST PIC X(10).
                05 LAST  PIC X(15).
       ;
       DTR> READY NEW_WORKER WRITE
       DTR> FOR WORKER
       CON>   STORE NEW_WORKER USING
       CON>     BEGIN
       CON>       NEW_LOCAL = LOCAL
       CON>       NEW_REMOTE = REMOTE
       CON>     END
       DTR>
Close Help