[BATCH , ABORT] 배치모드에서 특정 조건(데이터 건수) 에서 전체 프로세스 멈추기
배치 작업 시 데이터 건수가 일정 조건에 미달하는 경우 배치 프로세스 중지하는 프로그램.
*[ TEST.BAT 파일 ];
"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin "D:\SAS DATA\배치프로그램\배치테스트.sas" -LOG "D:\SAS DATA\배치프로그램\배치로그.LOG" -PRINT "D:\SAS DATA\배치프로그램\배치로그테스트.LST"
*[ 배치테스트.sas 파일 ];
PROC PRINT DATA=SASHELP.CLASS;
RUN;
DATA CLASS;
SET SASHELP.CLASS;
RUN;
PROC SQL NOPRINT;
SELECT COUNT(*) INTO: TOT_CNT
FROM CLASS;
QUIT;
* 특정 조건인 경우 에러 발생 후 배치(BATCH) 프로그램을 중지.;
* 예제는 CLASS 데이터가 10건 이상인 경우 에러 발생;
* 특정 조건에 따라서 전체 프로그램 실행 여부를 결정하는 경우는 전체 프로그램을 %IF 조건 %THEN %DO; 구문을 사용;
DATA _NULL_;
IF &TOT_CNT > 10 THEN ABORT ABEND;
RUN;
PROC PRINT DATA=SASHELP.CARS;
RUN;