- AFSLDKG2 ;IHS/OIRM/DSD/JDM,HJT - WRITE TO ECS-CHECKS FORMAT FILE; [ 10/27/2004 4:21 PM ]
- ;;3.0t1;1166 APPROVALS FOR PAYMENT;**13**;FEB 07, 1997
- ;ACR*2.1*13.02 IM13574
- ;Verified for Y2K Compliance 1/11/1999HJT
- ; 2-digit or 1-digit dates in this rout cannot be changed - output is
- ; directed to a fixed format file dictated to the Treasury Dept.
- ; 1/11/1999HJT
- ;Part 2 - Gen. Treasury ECS-format file from Unix Tape-format file.
- ;ACR*2.1*13.02 IM13574 ;REMOVED DUPLICATE SUBROUTINES
- FRD ;EP-open & rd tape file & send to ascii formatted file
- S (AFSLRCT,AFSLSAMT)=0
- S AFSLZROS="000000000000"
- S AFSLSPAC=" "
- F I=1:1:10 S AFSLASY(I)=" ",AFSLSAM(I)="000000000000"
- OPENFLS S %FN=AFSEXFN
- S %IN=1
- S (AFSLBFL1,AFSLBFL2,AFSLBFL3,AFSLBFL4,AFSLBFL5,AFSLGFLG,AFSLXFLG)=0
- S (AFSLXA,AFSLXC,AFSLXX,AFSLTMXX)=""
- D OPENHFS^AFSLCK1
- I $D(AFSERMSG) D ERROR^AFSLCK1 G FINI
- I $D(AFSJFLG) G FINI
- S AFSLTDEV=%DEV
- K %DEV
- READTFL ;rd tp fle
- U AFSLTDEV R X:DTIME ; READ FILE ;ACR*2.1*13.02 IM13574
- D ^AFSLCKZC ;ACR*2.1*13.02 IM13574
- I X=""!($A(X)=-1)!($E(X,1,3))="C01" G FINI ;ACR*2.1*13.02 IM13574
- ITEM ;process pmt data
- I $E(X,1,3)="C01" G FINI
- I $E(X,1,3)="&01" D G:$D(AFSJFLG) FINI G:$D(AFSLMFLG) FINI G READTFL
- .S AFSLSCHD=$E(X,4,13)
- .S AFSLALC=$E(X,27,34)
- .S AFSLAID=$P(^AFSLPRM(1,2),U,8)
- .S AFSLRECN="000000"
- .S AFSLRFC=$P(^AFSLPRM(1,2),U,3)
- .D ALCC
- I $E(X,1,3)="A01",$E(X,4,13)=AFSLSCHD D G READTFL
- .S AFSLANAM=$E(X,72,80)
- I $E(X,1,3)="A01",$E(X,4,13)'=AFSLSCHD D G READTFL
- .S AFSLANAM=AFSLANAM_$E(X,4,19)
- .S AFSLADR1=$E(X,20,44)
- .S AFSLADR2=$E(X,45,69)
- .D BLCC
- B01 ;EVALUATE 'B01' RECORDS AND SET VARIABLES ACCORDING TO WHETHER THE
- ;FIRST THROUGH FIFTH RECORD IS BEING READ
- ;Removed redundant subroutine & commented-out code;ACR*2.1*13.02 IM13574
- I $E(X,1,3)="B01",'$G(AFSLBFL1) D
- .S AFSLRCT=AFSLRCT+1
- .S AFSLENCD=$E(X,14)
- .S AFSLVEIN=$E(X,15,26)
- .S AFSLTAMT=$E(X,27,36)
- .S AFSLSAMT=AFSLSAMT+AFSLTAMT
- .S AFSLVNAM=$E(X,48,80)
- .S AFSLBFL1=1
- I $E(X,1,3)="B01",AFSLBFL1=1 D
- .S AFSLADD1=$E(X,4,38)
- .S AFSLBFL1=2
- I $E(X,1,3)="B01",AFSLBFL1=2 D
- .S AFSLADD2=$E(X,4,38)
- .S AFSLADD3=$E(X,39,68)
- .S AFSLBFL1=3
- I $E(X,1,3)="B01",AFSLBFL1=3 D
- .S AFSLADD4=$E(X,4,33)
- .S AFSLPTYP="A"
- .S AFSLACSY=$E(X,34,49)
- .S AFSLBFL1=4
- I $E(X,1,3)="B01",AFSLBFL1=4 D
- .S AFSLPCNT=$E(X,5,6)
- .S AFSLBFL1=0
- .K AFSLPREC
- .D READLP
- G READTFL
- Q
- READLP ;rd 1-14 pd-for rcds & create AFSLPREC(1-14)
- F J=1:1:AFSLPCNT D
- .U AFSLTDEV R X:DTIME D ^AFSLCKZC
- .U IO(0) G:X=""!($A(X)=-1)!(AFSLGFLG=1) FINI D:AFSLXFLG'=1 SETPREC
- D PMTREC
- Q
- SETPREC ;set AFSLPREC(J)
- S AFSLPREC(J)=$E(X,4,58)
- Q
- ALCC ;create ALC ctl rcd
- D SHDR^AFSLDKG3
- Q:$D(AFSLMFLG)
- S AFSLAID=AFSLAID_$E(" ",1,10-$L(AFSLAID))
- S AFSLALCC="02"_"000001"_AFSLSCHD_" "_" "_AFSLALC_" "_"&"_AFSLB50_AFSLB50_AFSLB50_AFSLB50_AFSLB50_AFSLB50_AFSLB50_$E(AFSLB50,1,35)
- D WRTALCC
- Q
- BLCC ;create Agcy Billing Addr Ctl Rcd
- S AFSLBLCC="03"_"000002"_AFSLSCHD_" "_"0000000000000"_" "_"A"_AFSLANAM_AFSLADR1_AFSLADR2_$E(AFSLB50,1,25)_" "_AFSLB50_AFSLB50_AFSLB50_AFSLB50_AFSLB50_$E(AFSLB50,1,25)
- U AFSLKDEV W AFSLBLCC
- U AFSLKDEV
- Q
- PMTREC ;create pmt rcd
- S AFSLPYID=$E(AFSLVEIN,2,10)
- S AFSLPYID=AFSLPYID_$E(" ",1,16-$L(AFSLPYID))
- S AFSLVNAM=AFSLVNAM_$E($$SPACE^AFSLUTLM(35),1,35-$L(AFSLVNAM))
- S AFSLRECN=$E($$ZERO^AFSLUTLM(6),1,6-$L(AFSLRCT))_AFSLRCT
- S AFSLTAMT=$E($$ZERO^AFSLUTLM(10),1,10-$L(AFSLTAMT))_AFSLTAMT
- S AFSLAID=AFSLAID_$E(AFSLB50,1,10-$L(AFSLAID))
- S AFSLVEIN=AFSLVEIN_$E(AFSLB50,1,16-$L(AFSLVEIN))
- WRTPMT ;
- S AFSLALCP="04"_AFSLRECN_AFSLSCHD_" "_AFSLENCD_" "_"0"_AFSLTAMT_AFSLAID_"B"_AFSLVNAM_AFSLADD1_AFSLADD2_AFSLADD3_AFSLADD4_AFSLPTYP_AFSLACSY_AFSLPYID_$E(AFSLB50,1,33)
- S AFSLAPPN=AFSLACSY
- S AFSLPCNT=$E("00",1,2-$L(AFSLPCNT))_AFSLPCNT
- S AFSLALCP=AFSLALCP_AFSLPCNT
- S AFSLSYMT=AFSLSYMT+AFSLTAMT
- I '$D(AFSLTOT(AFSLAPPN)) S AFSLTOT(AFSLAPPN)=0
- S AFSLTOT(AFSLAPPN)=AFSLTOT(AFSLAPPN)+AFSLTAMT
- S AFSLASY(1)=AFSLAPPN
- S AFSLSAM(1)=$E("000000000000",1,12-$L(AFSLSYMT))_AFSLSYMT
- U AFSLKDEV W AFSLALCP
- PIDLINE ;
- F L=1:1:14 D WRTPLINS
- U AFSLKDEV W AFSLB50_$E(AFSLB50,1,38)
- Q
- WRTALCC ;write alc ctl rcd
- S %FN=$$ARMSDIR^ACRFSYS(1) ;ACR*2.1*13.06 IM14144
- S %FN=%FN_AFSLNXDK_"-"_AFSLMMDD,%IN=0 ;ACR*2.1*13.06 IM14144
- I '$D(^AFSLPRM(1,3)) G SKPPRM
- I $P(^AFSLPRM(1,3),U,1)'="" S %FN=$P(^AFSLPRM(1,3),U,1)_"/"_AFSLNXDK_"-"_AFSLMMDD
- SKPPRM ;
- D OPENHFS^AFSLCK1
- I $D(AFSERMSG) U AFSLSDEV W !,AFSERMSG
- I Y>0 U AFSLSDEV W !,"UNABLE TO OPEN DISKETTE FILE FOR WRITE!"
- I Y=1 U AFSLSDEV W !,"No HFS Device available...",! D PAUSE^ACRFWARN ; ACR*2.1*13.06 IM14144
- I Y=2 U AFSLSDEV W !,"Trying to open a new file for read (R) mode...",!
- I Y=3 U AFSLSDEV W !,"Passed fls by ref...",!
- I Y=4 U AFSLSDEV W !,"Invalid fi length...",!
- I Y>0 S AFSJFLG=1 Q
- S AFSLKDEV=%DEV K %DEV
- U AFSLKDEV W AFSLSHDR,AFSLALCC
- U IO(0)
- Q
- WRTPLINS ;write pmt lns 1-14
- I L=3 S AFSLRCTY="05" D WRTPRX
- I L=9 S AFSLRCTY="06" D WRTPRX
- I '$D(AFSLPREC(L)) S AFSLPREC(L)=AFSLB50_" "
- U AFSLKDEV W AFSLPREC(L)
- I L=2 U AFSLKDEV W $E(AFSLB50,1,45)
- I L=8 U AFSLKDEV W AFSLB50_$E(AFSLB50,1,38)
- Q
- WRTPRX ;
- U AFSLKDEV W AFSLRCTY_AFSLRECN_AFSLSCHD_" "
- Q
- WRTSCR ;write alc schd ctl rcd
- S %H=$H
- D YX^%DTC
- S AFSLNOW=X_$E(%,1,5)
- S AFSLMMDD=$E(X,4,7)
- S AFSLSICT=$E($$ZERO^AFSLUTLM(7),1,7-$L(AFSLRCT))_AFSLRCT
- S AFSLSAMT=$E($$ZERO^AFSLUTLM(12),1,12-$L(AFSLSAMT))_AFSLSAMT
- S AFSLRECN=AFSLRECN+1,AFSLRECN=$E($$ZERO^AFSLUTLM(6),1,6-$L(AFSLRECN))_AFSLRECN
- S AFSLSCR="09"_AFSLRECN_AFSLSCHD_" "_"9999999999999"_AFSLSICT_AFSLSAMT_"C"
- S AFSLNXAN="",AFSLACT=0
- NXAPN ;
- I AFSLACT=10 G QNXAPN
- I '$O(AFSLTOT(AFSLNXAN)) S AFSLSCR=AFSLSCR_" 000000000000",AFSLACT=AFSLACT+1 G NXAPN
- S AFSLNXAN=$O(AFSLTOT(AFSLNXAN))
- I AFSLTOT(AFSLNXAN)="" S AFSLTOT(AFSLNXAN)=0
- S AFSLTOT(AFSLNXAN)=$E("000000000000",1,12-$L(AFSLTOT(AFSLNXAN)))_AFSLTOT(AFSLNXAN)
- S AFSLSCR=AFSLSCR_AFSLNXAN_AFSLTOT(AFSLNXAN),AFSLACT=AFSLACT+1
- G NXAPN
- QNXAPN ;
- S E=10-AFSLACT
- F M=1:1:E S AFSLSCR=AFSLSCR_AFSLASY(2)_AFSLSAM(2)
- U AFSLKDEV W AFSLSCR
- F M=1:1:105 U AFSLKDEV W " "
- S AFSLNXTD=AFSLNXDK_"-"_AFSLMMDD
- S X=AFSLNOW
- S DIC="^AFSLDKGL("
- S DIC(0)="ML"
- U AFSLSDEV
- D ^DIC
- S DIE="^AFSLDKGL(",DA=$P(Y,U,1)
- S DR="1///^S X=AFSLFY" D ^DIE
- S DR="2///^S X=AFSLSCHD" D ^DIE
- S DR="3///^S X=AFSLEXFN" D ^DIE
- S DR="4///^S X=AFSLNXTD" D ^DIE
- S DR="5///^S X=AFSLRCT" D ^DIE
- S DR="6///^S X=AFSLSAMT" D ^DIE
- Q
- FINI ;
- I $E(X,1,3)="C01",'$D(AFSJFLG) D WRTSCR,WRTSTRL^AFSLDKG3
- I '$D(AFSLTDEV) G FINI2
- D CLOSE^%ZISH("") ; ACR*2.1*13.06 IM14144
- FINI2 ;
- I '$D(AFSLKDEV) G FINI3
- D CLOSE^%ZISH("") ; ACR*2.1*13.06 IM14144
- FINI3 ;
- Q
- AFSLDKG2 ;IHS/OIRM/DSD/JDM,HJT - WRITE TO ECS-CHECKS FORMAT FILE; [ 10/27/2004 4:21 PM ]
- +1 ;;3.0t1;1166 APPROVALS FOR PAYMENT;**13**;FEB 07, 1997
- +2 ;ACR*2.1*13.02 IM13574
- +3 ;Verified for Y2K Compliance 1/11/1999HJT
- +4 ; 2-digit or 1-digit dates in this rout cannot be changed - output is
- +5 ; directed to a fixed format file dictated to the Treasury Dept.
- +6 ; 1/11/1999HJT
- +7 ;Part 2 - Gen. Treasury ECS-format file from Unix Tape-format file.
- +8 ;ACR*2.1*13.02 IM13574 ;REMOVED DUPLICATE SUBROUTINES
- FRD ;EP-open & rd tape file & send to ascii formatted file
- +1 SET (AFSLRCT,AFSLSAMT)=0
- +2 SET AFSLZROS="000000000000"
- +3 SET AFSLSPAC=" "
- +4 FOR I=1:1:10
- SET AFSLASY(I)=" "
- SET AFSLSAM(I)="000000000000"
- OPENFLS SET %FN=AFSEXFN
- +1 SET %IN=1
- +2 SET (AFSLBFL1,AFSLBFL2,AFSLBFL3,AFSLBFL4,AFSLBFL5,AFSLGFLG,AFSLXFLG)=0
- +3 SET (AFSLXA,AFSLXC,AFSLXX,AFSLTMXX)=""
- +4 DO OPENHFS^AFSLCK1
- +5 IF $DATA(AFSERMSG)
- DO ERROR^AFSLCK1
- GOTO FINI
- +6 IF $DATA(AFSJFLG)
- GOTO FINI
- +7 SET AFSLTDEV=%DEV
- +8 KILL %DEV
- READTFL ;rd tp fle
- +1 ; READ FILE ;ACR*2.1*13.02 IM13574
- USE AFSLTDEV
- READ X:DTIME
- +2 ;ACR*2.1*13.02 IM13574
- DO ^AFSLCKZC
- +3 ;ACR*2.1*13.02 IM13574
- IF X=""!($ASCII(X)=-1)!($EXTRACT(X,1,3))="C01"
- GOTO FINI
- ITEM ;process pmt data
- +1 IF $EXTRACT(X,1,3)="C01"
- GOTO FINI
- +2 IF $EXTRACT(X,1,3)="&01"
- Begin DoDot:1
- +3 SET AFSLSCHD=$EXTRACT(X,4,13)
- +4 SET AFSLALC=$EXTRACT(X,27,34)
- +5 SET AFSLAID=$PIECE(^AFSLPRM(1,2),U,8)
- +6 SET AFSLRECN="000000"
- +7 SET AFSLRFC=$PIECE(^AFSLPRM(1,2),U,3)
- +8 DO ALCC
- End DoDot:1
- IF $DATA(AFSJFLG)
- GOTO FINI
- IF $DATA(AFSLMFLG)
- GOTO FINI
- GOTO READTFL
- +9 IF $EXTRACT(X,1,3)="A01"
- IF $EXTRACT(X,4,13)=AFSLSCHD
- Begin DoDot:1
- +10 SET AFSLANAM=$EXTRACT(X,72,80)
- End DoDot:1
- GOTO READTFL
- +11 IF $EXTRACT(X,1,3)="A01"
- IF $EXTRACT(X,4,13)'=AFSLSCHD
- Begin DoDot:1
- +12 SET AFSLANAM=AFSLANAM_$EXTRACT(X,4,19)
- +13 SET AFSLADR1=$EXTRACT(X,20,44)
- +14 SET AFSLADR2=$EXTRACT(X,45,69)
- +15 DO BLCC
- End DoDot:1
- GOTO READTFL
- B01 ;EVALUATE 'B01' RECORDS AND SET VARIABLES ACCORDING TO WHETHER THE
- +1 ;FIRST THROUGH FIFTH RECORD IS BEING READ
- +2 ;Removed redundant subroutine & commented-out code;ACR*2.1*13.02 IM13574
- +3 IF $EXTRACT(X,1,3)="B01"
- IF '$GET(AFSLBFL1)
- Begin DoDot:1
- +4 SET AFSLRCT=AFSLRCT+1
- +5 SET AFSLENCD=$EXTRACT(X,14)
- +6 SET AFSLVEIN=$EXTRACT(X,15,26)
- +7 SET AFSLTAMT=$EXTRACT(X,27,36)
- +8 SET AFSLSAMT=AFSLSAMT+AFSLTAMT
- +9 SET AFSLVNAM=$EXTRACT(X,48,80)
- +10 SET AFSLBFL1=1
- End DoDot:1
- +11 IF $EXTRACT(X,1,3)="B01"
- IF AFSLBFL1=1
- Begin DoDot:1
- +12 SET AFSLADD1=$EXTRACT(X,4,38)
- +13 SET AFSLBFL1=2
- End DoDot:1
- +14 IF $EXTRACT(X,1,3)="B01"
- IF AFSLBFL1=2
- Begin DoDot:1
- +15 SET AFSLADD2=$EXTRACT(X,4,38)
- +16 SET AFSLADD3=$EXTRACT(X,39,68)
- +17 SET AFSLBFL1=3
- End DoDot:1
- +18 IF $EXTRACT(X,1,3)="B01"
- IF AFSLBFL1=3
- Begin DoDot:1
- +19 SET AFSLADD4=$EXTRACT(X,4,33)
- +20 SET AFSLPTYP="A"
- +21 SET AFSLACSY=$EXTRACT(X,34,49)
- +22 SET AFSLBFL1=4
- End DoDot:1
- +23 IF $EXTRACT(X,1,3)="B01"
- IF AFSLBFL1=4
- Begin DoDot:1
- +24 SET AFSLPCNT=$EXTRACT(X,5,6)
- +25 SET AFSLBFL1=0
- +26 KILL AFSLPREC
- +27 DO READLP
- End DoDot:1
- +28 GOTO READTFL
- +29 QUIT
- READLP ;rd 1-14 pd-for rcds & create AFSLPREC(1-14)
- +1 FOR J=1:1:AFSLPCNT
- Begin DoDot:1
- +2 USE AFSLTDEV
- READ X:DTIME
- DO ^AFSLCKZC
- +3 USE IO(0)
- IF X=""!($ASCII(X)=-1)!(AFSLGFLG=1)
- GOTO FINI
- IF AFSLXFLG'=1
- DO SETPREC
- End DoDot:1
- +4 DO PMTREC
- +5 QUIT
- SETPREC ;set AFSLPREC(J)
- +1 SET AFSLPREC(J)=$EXTRACT(X,4,58)
- +2 QUIT
- ALCC ;create ALC ctl rcd
- +1 DO SHDR^AFSLDKG3
- +2 IF $DATA(AFSLMFLG)
- QUIT
- +3 SET AFSLAID=AFSLAID_$EXTRACT(" ",1,10-$LENGTH(AFSLAID))
- +4 SET AFSLALCC="02"_"000001"_AFSLSCHD_" "_" "_AFSLALC_" "_"&"_AFSLB50_AFSLB50_AFSLB50_AFSLB50_AFSLB50_AFSLB50_AFSLB50_$EXTRACT(AFSLB50,1,35)
- +5 DO WRTALCC
- +6 QUIT
- BLCC ;create Agcy Billing Addr Ctl Rcd
- +1 SET AFSLBLCC="03"_"000002"_AFSLSCHD_" "_"0000000000000"_" "_"A"_AFSLANAM_AFSLADR1_AFSLADR2_$EXTRACT(AFSLB50,1,25)_" "_AFSLB50_AFSLB50_AFSLB50_AFSLB50_AFSLB50_$EXTRACT(AFSLB50,1,25)
- +2 USE AFSLKDEV
- WRITE AFSLBLCC
- +3 USE AFSLKDEV
- +4 QUIT
- PMTREC ;create pmt rcd
- +1 SET AFSLPYID=$EXTRACT(AFSLVEIN,2,10)
- +2 SET AFSLPYID=AFSLPYID_$EXTRACT(" ",1,16-$LENGTH(AFSLPYID))
- +3 SET AFSLVNAM=AFSLVNAM_$EXTRACT($$SPACE^AFSLUTLM(35),1,35-$LENGTH(AFSLVNAM))
- +4 SET AFSLRECN=$EXTRACT($$ZERO^AFSLUTLM(6),1,6-$LENGTH(AFSLRCT))_AFSLRCT
- +5 SET AFSLTAMT=$EXTRACT($$ZERO^AFSLUTLM(10),1,10-$LENGTH(AFSLTAMT))_AFSLTAMT
- +6 SET AFSLAID=AFSLAID_$EXTRACT(AFSLB50,1,10-$LENGTH(AFSLAID))
- +7 SET AFSLVEIN=AFSLVEIN_$EXTRACT(AFSLB50,1,16-$LENGTH(AFSLVEIN))
- WRTPMT ;
- +1 SET AFSLALCP="04"_AFSLRECN_AFSLSCHD_" "_AFSLENCD_" "_"0"_AFSLTAMT_AFSLAID_"B"_AFSLVNAM_AFSLADD1_AFSLADD2_AFSLADD3_AFSLADD4_AFSLPTYP_AFSLACSY_AFSLPYID_$EXTRACT(AFSLB50,1,33)
- +2 SET AFSLAPPN=AFSLACSY
- +3 SET AFSLPCNT=$EXTRACT("00",1,2-$LENGTH(AFSLPCNT))_AFSLPCNT
- +4 SET AFSLALCP=AFSLALCP_AFSLPCNT
- +5 SET AFSLSYMT=AFSLSYMT+AFSLTAMT
- +6 IF '$DATA(AFSLTOT(AFSLAPPN))
- SET AFSLTOT(AFSLAPPN)=0
- +7 SET AFSLTOT(AFSLAPPN)=AFSLTOT(AFSLAPPN)+AFSLTAMT
- +8 SET AFSLASY(1)=AFSLAPPN
- +9 SET AFSLSAM(1)=$EXTRACT("000000000000",1,12-$LENGTH(AFSLSYMT))_AFSLSYMT
- +10 USE AFSLKDEV
- WRITE AFSLALCP
- PIDLINE ;
- +1 FOR L=1:1:14
- DO WRTPLINS
- +2 USE AFSLKDEV
- WRITE AFSLB50_$EXTRACT(AFSLB50,1,38)
- +3 QUIT
- WRTALCC ;write alc ctl rcd
- +1 ;ACR*2.1*13.06 IM14144
- SET %FN=$$ARMSDIR^ACRFSYS(1)
- +2 ;ACR*2.1*13.06 IM14144
- SET %FN=%FN_AFSLNXDK_"-"_AFSLMMDD
- SET %IN=0
- +3 IF '$DATA(^AFSLPRM(1,3))
- GOTO SKPPRM
- +4 IF $PIECE(^AFSLPRM(1,3),U,1)'=""
- SET %FN=$PIECE(^AFSLPRM(1,3),U,1)_"/"_AFSLNXDK_"-"_AFSLMMDD
- SKPPRM ;
- +1 DO OPENHFS^AFSLCK1
- +2 IF $DATA(AFSERMSG)
- USE AFSLSDEV
- WRITE !,AFSERMSG
- +3 IF Y>0
- USE AFSLSDEV
- WRITE !,"UNABLE TO OPEN DISKETTE FILE FOR WRITE!"
- +4 ; ACR*2.1*13.06 IM14144
- IF Y=1
- USE AFSLSDEV
- WRITE !,"No HFS Device available...",!
- DO PAUSE^ACRFWARN
- +5 IF Y=2
- USE AFSLSDEV
- WRITE !,"Trying to open a new file for read (R) mode...",!
- +6 IF Y=3
- USE AFSLSDEV
- WRITE !,"Passed fls by ref...",!
- +7 IF Y=4
- USE AFSLSDEV
- WRITE !,"Invalid fi length...",!
- +8 IF Y>0
- SET AFSJFLG=1
- QUIT
- +9 SET AFSLKDEV=%DEV
- KILL %DEV
- +10 USE AFSLKDEV
- WRITE AFSLSHDR,AFSLALCC
- +11 USE IO(0)
- +12 QUIT
- WRTPLINS ;write pmt lns 1-14
- +1 IF L=3
- SET AFSLRCTY="05"
- DO WRTPRX
- +2 IF L=9
- SET AFSLRCTY="06"
- DO WRTPRX
- +3 IF '$DATA(AFSLPREC(L))
- SET AFSLPREC(L)=AFSLB50_" "
- +4 USE AFSLKDEV
- WRITE AFSLPREC(L)
- +5 IF L=2
- USE AFSLKDEV
- WRITE $EXTRACT(AFSLB50,1,45)
- +6 IF L=8
- USE AFSLKDEV
- WRITE AFSLB50_$EXTRACT(AFSLB50,1,38)
- +7 QUIT
- WRTPRX ;
- +1 USE AFSLKDEV
- WRITE AFSLRCTY_AFSLRECN_AFSLSCHD_" "
- +2 QUIT
- WRTSCR ;write alc schd ctl rcd
- +1 SET %H=$HOROLOG
- +2 DO YX^%DTC
- +3 SET AFSLNOW=X_$EXTRACT(%,1,5)
- +4 SET AFSLMMDD=$EXTRACT(X,4,7)
- +5 SET AFSLSICT=$EXTRACT($$ZERO^AFSLUTLM(7),1,7-$LENGTH(AFSLRCT))_AFSLRCT
- +6 SET AFSLSAMT=$EXTRACT($$ZERO^AFSLUTLM(12),1,12-$LENGTH(AFSLSAMT))_AFSLSAMT
- +7 SET AFSLRECN=AFSLRECN+1
- SET AFSLRECN=$EXTRACT($$ZERO^AFSLUTLM(6),1,6-$LENGTH(AFSLRECN))_AFSLRECN
- +8 SET AFSLSCR="09"_AFSLRECN_AFSLSCHD_" "_"9999999999999"_AFSLSICT_AFSLSAMT_"C"
- +9 SET AFSLNXAN=""
- SET AFSLACT=0
- NXAPN ;
- +1 IF AFSLACT=10
- GOTO QNXAPN
- +2 IF '$ORDER(AFSLTOT(AFSLNXAN))
- SET AFSLSCR=AFSLSCR_" 000000000000"
- SET AFSLACT=AFSLACT+1
- GOTO NXAPN
- +3 SET AFSLNXAN=$ORDER(AFSLTOT(AFSLNXAN))
- +4 IF AFSLTOT(AFSLNXAN)=""
- SET AFSLTOT(AFSLNXAN)=0
- +5 SET AFSLTOT(AFSLNXAN)=$EXTRACT("000000000000",1,12-$LENGTH(AFSLTOT(AFSLNXAN)))_AFSLTOT(AFSLNXAN)
- +6 SET AFSLSCR=AFSLSCR_AFSLNXAN_AFSLTOT(AFSLNXAN)
- SET AFSLACT=AFSLACT+1
- +7 GOTO NXAPN
- QNXAPN ;
- +1 SET E=10-AFSLACT
- +2 FOR M=1:1:E
- SET AFSLSCR=AFSLSCR_AFSLASY(2)_AFSLSAM(2)
- +3 USE AFSLKDEV
- WRITE AFSLSCR
- +4 FOR M=1:1:105
- USE AFSLKDEV
- WRITE " "
- +5 SET AFSLNXTD=AFSLNXDK_"-"_AFSLMMDD
- +6 SET X=AFSLNOW
- +7 SET DIC="^AFSLDKGL("
- +8 SET DIC(0)="ML"
- +9 USE AFSLSDEV
- +10 DO ^DIC
- +11 SET DIE="^AFSLDKGL("
- SET DA=$PIECE(Y,U,1)
- +12 SET DR="1///^S X=AFSLFY"
- DO ^DIE
- +13 SET DR="2///^S X=AFSLSCHD"
- DO ^DIE
- +14 SET DR="3///^S X=AFSLEXFN"
- DO ^DIE
- +15 SET DR="4///^S X=AFSLNXTD"
- DO ^DIE
- +16 SET DR="5///^S X=AFSLRCT"
- DO ^DIE
- +17 SET DR="6///^S X=AFSLSAMT"
- DO ^DIE
- +18 QUIT
- FINI ;
- +1 IF $EXTRACT(X,1,3)="C01"
- IF '$DATA(AFSJFLG)
- DO WRTSCR
- DO WRTSTRL^AFSLDKG3
- +2 IF '$DATA(AFSLTDEV)
- GOTO FINI2
- +3 ; ACR*2.1*13.06 IM14144
- DO CLOSE^%ZISH("")
- FINI2 ;
- +1 IF '$DATA(AFSLKDEV)
- GOTO FINI3
- +2 ; ACR*2.1*13.06 IM14144
- DO CLOSE^%ZISH("")
- FINI3 ;
- +1 QUIT