Date: Fri, 14 May 2004 07:24:11 -0700
Reply-To: subramanyam_22@YAHOO.COM
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: subramanyam_22@YAHOO.COM
Organization: http://groups.google.com
Subject: Hello I am having a date Problem
Content-Type: text/plain; charset=ISO-8859-1
Hello all I am running a SAS/AF application verything in Program works
well expect for that I have to manually change the date every other
day actually Program has been return by somebody and I am doing
documentation his code looks like this,
%LET PGM= ;
DATA A.STATUS;
SET A.STATUS;
DROP DATE;
IDATE=NXDATE;
NXDATE=NXDATE2;
STATUS=MIN(STATUS,2);
SET B.PAYMENT(FIRSTOBS=3 OBS=3 KEEP=DATE);
NXDATE2=DATE;
IF MONTH(IDATE) EQ 9 AND MONTH(NXDATE) EQ 10 THEN DO;
FY=SUBSTR(PUT(YEAR(IDATE)+1,4.),4);
TNUM=(FY*1000)+1;
CALL SYMPUT('PGM','%INC "E:\I\S\FYINT.SBR";');
RCNUM=FY*100;
END;
RUN;
&PGM;
%INC 'E:\I\S\LQRSTART.SBR';
DATA A.OTHER;
SET A.OTHER;
DROP IDATE;
IF _N_=1 THEN SET A.STATUS(KEEP=IDATE);
DATE=IDATE; RUN;
DATA A.ADDOWEPR;
SET A.ADDOWEPR(OBS=0); RUN;
DATA A.NEGHOLD;
SET A.NEGHOLD(OBS=0); RUN;
DATA A.BCOLLECT(LABEL=CURRENT INV DATE LOCKBOX COLLECTIONS);
SET A.BCOLLECT;
IF _N_=1 THEN SET A.STATUS(KEEP=IDATE); DROP IDATE;
DATE=IDATE; RUN;
DATA A.RCOLLECT(LABEL=FUND TRANSFERS );
SET A.STATUS(KEEP=IDATE);
KEEP RBANK IDATE C1-C%EVAL(&PRGNUM) COLLECT;
LENGTH RBANK 3;
FORMAT C1-C%EVAL(&PRGNUM) COLLECT COMMA13.2;
RENAME IDATE=DATE;
ARRAY C C1-C%EVAL(&PRGNUM) COLLECT;
DO O=1 TO OTOBS;
SET A.OTHER POINT=O NOBS=OTOBS;
OUTPUT;
END; RUN;
PROC MEANS NOPRINT;
VAR C1-C%EVAL(&PRGNUM) COLLECT;
OUTPUT OUT=A.RCOLLSUM(DROP=_FREQ_ _TYPE_)
SUM=RC1-RC%EVAL(&PRGNUM)
RCOLLECT;
RUN;
%INC 'E:\I\S\LABEL.SBR';
PROC DATASETS DDNAME=WORK MT=DATA NOLIST KILL;
RUN;
QUIT;
DM 'LOG;
I do not see any Sas code a.status or B.payments Only other Code I
found is
*** \I\AUTOCALL\INIT.SAS ;
%MACRO INIT;
** COPY FILES FROM PREVIOUS INVESTMENT DATES SASDAILY DIRECTORY TO
SASFILE DIRECTORY FOR CURRENT DATES INVESTMENTS;
PROC COPY IN=A OUT=B;
SELECT T; RUN;
** CHANGE DATES STORED IN STATUS DATASET;
** FUTURE DATE IS FOUND IN IMPUTED PAYMENT DATASET;
DATA A.STATUS; SET A.STATUS; DROP DATE; INITIAL=1;
LENGTH PRDATE5 PRDATE4 PRDATE3 4.;
FORMAT PRDATE5 PRDATE4 PRDATE3 MMDDYY8.;
INFORMAT PRDATE5 PRDATE4 PRDATE3 MMDDYY8.;
PRDATE5=PRDATE4; PRDATE4=PRDATE3; PRDATE3=PRDATE2;
PRDATE2=PRDATE; PRDATE=IDATE; IDATE=NXDATE; NXDATE=NXDATE2; TNUM+1;
WKDY=TRIM(PUT(IDATE,WEEKDATE9.)) || ', ' || PUT(IDATE,MMDDYY8.);
SET B.PAYMENT(FIRSTOBS=3 OBS=3 KEEP=DATE); NXDATE2=DATE; RUN;
%MEND;