*  THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(WQDIST)'     00000101
*                                                                       00000301
*  THIS FILE CONTAINS A SAMPLE TWO-STEP STORET RETRIEVAL, WHERE THE     00000401
*  FIRST STEP IS STORET, AND THE SECOND STEP IS SAS.                    00000501
*                                                                       00000601
*  YOU MUST USE A JOB STREAM OF THIS TYPE IF YOU WANT TO ADD A          00000701
*  SECOND STEP TO A STORET RETRIEVAL.  THERE ARE NO RESTRICTIONS        00000801
*  OF ANY KIND ON THE NATURE OR FUNCTION OF THE SECOND STEP, AND        00000901
*  IT IS POSSIBLE TO ADD MANY STEPS, RATHER THAN JUST ONE AS SHOWN      00001001
*  HERE.                                                                00001101
*                                                                       00001201
*  THIS RUN STREAM REQUIRES A VALID NCC JOB-CARD AT THE TOP, AND        00001301
*  MUST BE SUBMITTED RATHER THAN SCANNED.                               00001401
*                                                                       00001501
** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **  00001601
//*                                                                     00001701
//STORET EXEC WQDIST                                                    00001801
//CARDFD DD DATA                                                        00001901
PGM=RET,MORE=4,EXPANDED,                                                00002001
A=31DELRBC,S=091017,S=091020,S=091023,                                  00002101
P=10,P=300,P=400,P=1027,P=1028,P=1029,                                  00002201
BD=880101,ED=881231,                                                    00002301
/*                                                                      00002401
//STEP2 EXEC SAS                                                        00002501
//FCF DD DISP=(OLD,PASS),DSN=&&FCF                                      00002601
//SYSIN DD DATA                                                         00002701
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00002801
DATA PARMS;                                                             00002901
KEEP PARM NAME;                                                         00003001
ARRAY N(I) $ 10  N1-N10 ;                                               00003101
ARRAY A(I) $ 10  A1-A10 ;                                               00003201
ARRAY B(I) $ 10  B1-B10 ;                                               00003301
ARRAY C(I) $ 10  C1-C10 ;                                               00003401
INFILE FCF LENGTH=L;                                                    00003501
INPUT @24 MORE  $1. @;                                                  00003601
IF L ^= 145 THEN DELETE;    *  OMIT THE DATA RECORDS                  ; 00003701
IF MORE ^= '4' THEN DELETE; *  ONLY LOOK AT PARAMETER HEADER RECORDS  ; 00003801
INPUT @44  (N1-N10) ($10.)                                              00003901
           /                                                            00004001
      @44  (A1-A10) ($10.)                                              00004101
           /                                                            00004201
      @44  (B1-B10) ($10.)                                              00004301
           /                                                            00004401
      @44  (C1-C10) ($10.)                                              00004501
           ;                                                            00004601
DO OVER N;                                                              00004701
PARM=N; NAME=A || B || C ;  IF PARM^=' ' THEN OUTPUT;                   00004801
END;                                                                    00004901
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00005001
DATA STATIONS;                                                          00005101
LENGTH STATION $ 15;                                                    00005201
RETAIN LAT LONG SEC_STN;                                                00005301
RETAIN DESCRIP;                                                         00005401
LENGTH STCNTY $ 5; RETAIN STCNTY ' ';                                   00005501
LENGTH CAT_UNIT $ 8; RETAIN CAT_UNIT ' ';                               00005601
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00005701
INFILE FCF LENGTH=L;                                                    00005801
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00005901
INPUT @26 YYDLIM $2. @ ; DROP YYDLIM;                                   00006001
IF _N_<=20 THEN DELETE;                                                 00006101
IF L>145 THEN DELETE;                                                   00006201
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00006301
IF L=145 THEN DO;  *  L=145 SIGNALS POTENTIAL STATION HDR RECORD      ; 00006401
  INPUT @1 AGENCY $8. @9 STATION $15. @25 LINE $1. @; DROP LINE;        00006501
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00006601
       IF LINE='1' THEN INPUT @108 SEC_STN $12.                         00006701
                              @;                                        00006801
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00006901
       IF LINE='2' THEN DO;                                             00007001
                        INPUT @91  LATDEG  2.                           00007101
                              @94  LATMIN  2.                           00007201
                              @97  LATSEC  4.1                          00007301
                              @102 LONGDEG 3.                           00007401
                              @106 LONGMIN 2.                           00007501
                              @109 LONGSEC 4.1                          00007601
                              @;                                        00007701
                        LAT=LATDEG+LATMIN/60+LATSEC/3600;               00007801
                        LONG=LONGDEG+LONGMIN/60+LONGSEC/3600;           00007901
                        DROP LATDEG LATMIN LATSEC;                      00008001
                        DROP LONGDEG LONGMIN LONGSEC;                   00008101
                        END;                                            00008201
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00008301
       IF LINE='3' THEN INPUT @91 DESCRIP $48.                          00008401
                              @;                                        00008501
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00008601
       IF LINE='4' THEN INPUT @91 STCNTY $5.                            00008701
                              @;                                        00008801
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00008901
       IF LINE='7' THEN INPUT @120 CAT_UNIT $8.                         00009001
                              @;                                        00009101
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00009201
       IF LINE='9' THEN DO;            *  LAST LINE OF STATION HEADER ; 00009301
                        OUTPUT;                                         00009401
                        END;                                            00009501
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00009601
  END;                                                                  00009701
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00009801
DATA STORET;                                                            00009901
FORMAT DATE YYMMDD8.;                                                   00010001
FORMAT TIME HHMM5.;                                                     00010101
ARRAY P(I)   P1-P50;                                                    00010201
ARRAY R(I) $ R1-R50;                                                    00010301
INFILE FCF LENGTH=L;                                                    00010401
INPUT @26 YYDLIM $2.; DROP YYDLIM;                                      00010501
IF L=145 THEN DELETE;                                                   00010601
IF YYDLIM='99' THEN DELETE;                                             00010701
INPUT   @1  AGENCY       $8.                                            00010801
        @9  STATION     $15.                                            00010901
       @26  DATE    YYMMDD6.                                            00011001
       @32    HH    2.                                                  00011101
              MM    2.                                                  00011201
       @36  (P1-P50)  (RB4.)                                            00011301
      @236  (R1-R50)   ($1.)                                            00011401
      @306  MEDIA       $8.                                             00011501
      @314  DEPTH      8.3                                              00011601
           ;                                                            00011701
IF HH>24 THEN TIME=.;                                                   00011801
         ELSE TIME=HMS(HH,MM,0);                                        00011901
         DROP HH MM;                                                    00012001
DO OVER P;                                                              00012101
 IF P>0 & P<1.E-15 THEN P=.;                                            00012201
 END;                                                                   00012301
DROP P7-P50 R7-R50;            *  WE ONLY ASKED FOR 6 PARAMETERS.     ; 00012401
                               *  MATCH THE "DROP" TO YOUR RETRIEVAL. ; 00012501
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; 00012601
PROC PRINT DATA=PARMS;ID PARM;                                          00012701
PROC PRINT DATA=STATIONS;ID AGENCY;                                     00012801
PROC PRINT DATA=STORET;ID AGENCY;                                       00012901
VAR STATION DATE TIME MEDIA DEPTH P1-P6 R1-R6;                          00013001
