Date: Fri, 25 May 2001 21:12:09 GMT
Reply-To: Lou Pogoda <lpogoda@HOME.NOSPAM.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Lou Pogoda <lpogoda@HOME.NOSPAM.COM>
Organization: Excite@Home - The Leader in Broadband http://home.com/faster
Subject: Re: Writing to Multiple outputs
Pull out that *manual* or check out the HELP screens for the FILEVAR option
of the FILE statement.
Valone, Toren W. wrote in message
<6576570010ACD31195D60004AC33D88702A8B264@dmv-ent-ex07.dmv.ca.gov>...
>Problem, I need to write out to multiple output files based upon what I
find
>in an input file. I define my data coming in using columns,
>I define my output using puts and locations. So far my program can read in
>the file, change flag values and write back out the one
>file. I cannot seem to get the syntax right to write out another output
>file. I have posted the code below. Thanks in advance!
>INFILE DDIN ;
> INPUT DATE MMDDYY8.
> TIME TIME6.
> ACCOUNT $ 16-24
> USERID $ 25-33
> MSGKEY $ 34-54
> CLASS $ 55-63
> MSGSEQN $ 64-68
> MSGDATE $ 69-79
> MSGTIME $ 80-84
> FILESZE $ 85-95
> SENDERF $ 96-141
> FILEDA $ 142-148
> RECV_FLAG $ 149-149
> RECEIVED_DATE MMDDYY8.
> DI_FLAG $ 159-159
> DI_DATE MMDDYY8.
> DI_COUNT 169-174
> ACK_FLAG $ 175-175
> ACK_DATE MMDDYY8.
> ACK_COUNT 182-189
> ACK_SENT_FLAG $ 190-190
> ACK_SENT_DATE MMDDYY8.
>ACK_FLAG $ 175-175
>ACK_DATE MMDDYY8.
> ;
>
> RETAIN ACCOUNT USERID MSGKEY CLASS MSGDATE MSGTIME MSGSEQN
> SENDERF FILESZE FILEDA RECV_FLAG;
> /* THIS LOGIC COMBS THRU EDILOG CHANGING VAN USERID TO */
> /* correct USERID NEED TABLE PROCESSING */
> IF USERID = 'SF00014' THEN DO; /* */
> USERID = 'MVC008';
> END ;
> IF USERID = 'PLAUT01' THEN DO; /* */
> USERID = 'MVC010';
> END ;
> IF USERID = 'FIG4062' THEN DO; /* */
> USERID = 'MVC006';
> END ;
> IF RECV_FLAG = 'N' THEN DO; /* WRITE OUT VARIABLES TO */
> RECV_FLAG = 'Y'; /*SB SET TO Y AFTER RECV */
> ESPLINE = 'AAAAAAA';
> PUT 'HERE BUILD ESP SYMS FOR RECV';
>END;
> OUTPUT ;
> DATA _NULL_ ;
> SET STEP1 ;
> FILE DDOUT OLD ;
> PUT @ 1 DATE MMDDYY8.
> @ 9 TIME TIME6.
> @ 16 ACCOUNT $ 9.
> @ 25 USERID $ 9.
> @ 34 MSGKEY $ 21.
> @ 55 CLASS $ 9.
> @ 64 MSGSEQN $ 10.
> @ 74 MSGDATE $ 7.
>@ 169 DI_COUNT 6. /*COUNT OF DI FILE*/
> @ 175 ACK_FLAG $ 1. /*ACK RUN ON FILE */
> @ 176 ACK_DATE MMDDYY8. /*DATE ACK RUN ON FILE*/
> @ 184 ACK_COUNT 6. /*COUNT OF ACK FILE */
> @ 190 ACK_SENT_FLAG 1. /*Y/N TRACK ACK SENT */
> @ 191 ACK_SENT_DATE MMDDYY8. /*DATE ACK FILE SENT */
> ;
>DATA _NULL_ ;
> SET STEP2 ;
> FILE ESPOUT OLD ;
> PUT @ 1 ESPLINE $ 10.
> ;
> @ 81 MSGTIME $ 5.
> @ 86 FILESZE $ 11.
> @ 97 SENDERF $ 45.
> @ 142 FILEDA $ 7.
> @ 149 RECV_FLAG $ 1. /*Y/N TRACK IEBASE RECV*/
> @ 150 RECEIVED_DATE MMDDYY8.
> @ 159 DI_FLAG $ 1. /*Y/N TRACK DI RUN*/
> @ 160 DI_DATE MMDDYY8. /*DATE DI RAN*/
|