Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AFSLRTT1

AFSLRTT1.m

Go to the documentation of this file.
  1. AFSLRTT1 ;IHS/OIRM/OKCRDC/JDM - PROGRAM TO RE-EXPORT TREASURY TAPE #2; [ 09/27/2005 5:01 PM ]
  1. ;;3.0t1;1166 APPROVALS FOR PAYMENT;**19**;AUG 31, 2005
  1. ;Modified for Y2k compliance 12/24/98HJT
  1. ;Re-export U.S. treasury tape - part 2
  1. S (AFSL1,AFSLEMSG,AFSLFLG1,AFSL1A,AFSL2,AFSL3,AFSL4,AFSL5,AFSLSCH1,AFSLFYN,AFSLSEQ,AFSLSEQ1,AFSLCNT,AFSLAMT,AFSLVFU)=0
  1. ASK ;fy and payment type prompts
  1. U IO(0)
  1. D ^XBCLS
  1. S DY=15,DX=16 X XY
  1. K DIR
  1. S DIR(0)="D"
  1. S DIR("A")="ENTER THE EXPORT DATE YOU WISH TO RE-EXPORT"
  1. S DIR("?")="^S DIC=""^AFSLAFP("",DIC(0)=""FEQ"",D=""B"",DZ=""??"" D DQ^DICQ"
  1. D ^DIR
  1. I $D(DUOUT)!$D(DTOUT)!$D(DIROUT) S AFSLEFLG=1 Q
  1. ;Begin Y2k fix
  1. ;Create a 4-digit year for lookup in ^AFSLAFP 12/24/98HJT
  1. S AFSLFY=$E(Y,1,3)+1700 ;Y2000
  1. ;S AFSLFY=$E(Y,2,3)
  1. ;End of Y2k fix
  1. EDAT ;
  1. K DIR("?")
  1. S DIR(0)="DA",DIR("A")="Enter the Effective Date :" D ^DIR I $D(DUOUT) D ^XBCLS W !!,"NO ""^"" ALLOWED" G EDAT
  1. I $D(DTOUT)!$D(DUOUT) G ASK
  1. I $D(DIROUT) S AFSLEFLG=1 Q
  1. S AFSLPDT=$P(Y,".",1)
  1. DEV K IOP
  1. U IO(0) S %ZIS("A")="PRINTER TO PRINT TAPE CONTENTS REPORT: ",%ZIS="" D ^%ZIS S AFSLDEV=IO,AFSLDSL=IOSL
  1. I POP S AFSLEFLG=1 Q
  1. PRC ;loop thru payment type x-ref's
  1. L +^AFSLAFP:10 I '$T W !,"ANOTHER IS ENTERING DATA. YOU CANNOT PROCESS A TREASURY TAPE AT THIS TIME. TRY LATER." S AFSLEFLG=1 Q
  1. S AFSLFYN="",AFSLFYN=$O(^AFSLAFP("B",AFSLFY,AFSLFYN))
  1. S (AFSLEIN,AFSLEIN1)="",(AFSLCBC,AFSLFLG,AFSLCBA,AFSLCNT,AFSLIN)=0 S (AFSLCNT1,AFSLPG)=1
  1. TREAS ;
  1. S DIE="^AFSLAFP(",DIE("NO^")="",DA=AFSLFYN,DR="2//" D ^DIE
  1. S AFSLSH11="0000"_$P(^AFSLAFP(AFSLFYN,2),U,1)
  1. D HDR^AFSLRTT2
  1. F AFSLX="E","G","H" D XREF
  1. D EXDAT
  1. I AFSLEMSG=0,AFSLFLG=1 D TRL^AFSLRTT2,FRD^AFSLRTT3 Q
  1. ;E S AFSLEMSG=1
  1. S AFSLEMSG=1
  1. Q
  1. XREF ;
  1. F J=0:0 S AFSLEIN=$O(^AFSLAFP(AFSLX,AFSLEIN)) Q:(AFSLEIN="")!(AFSLEMSG=1) I $D(^AFSLAFP(AFSLX,AFSLEIN,AFSLFYN)) D SEIN0
  1. Q
  1. SEIN0 ;
  1. S AFSLSCH1="" F I=1:1 S AFSLSCH1=$O(^AFSLAFP(AFSLX,AFSLEIN,AFSLFYN,AFSLSCH1)) D:AFSLSCH1="" GSET Q:(AFSLSCH1="")!(AFSLEMSG=1) D CHK D:AFSLFLG1 SEIN1 S AFSLFLG1=0
  1. Q
  1. I '$D(^AFSLAFP("M",AFSLBN,AFSLFYN,AFSLSCH1)) D TNUM
  1. SEIN1 S AFSLEIN1="" F L=0:0 S AFSLEIN1=$O(^AFSLAFP(AFSLX,AFSLEIN,AFSLFYN,AFSLSCH1,AFSLEIN1)) Q:(AFSLEIN1="")!(AFSLEMSG=1) D DCHK^AFSLRTT2 Q:AFSLEMSG=1 D SEIN2
  1. Q
  1. EXDAT ;set export date for schedule
  1. S AFSLSC12="" F V=0:0 S AFSLSC12=$O(AFSLSCH1(AFSLSC12)) Q:AFSLSC12="" S DIE="^AFSLAFP(AFSLFYN,1,",DA(1)=AFSLFYN,DA=AFSLSC12,DR="5///TODAY" D ^DIE L -^AFSLAFP ;UNLOCK 1166 PAYMENTS FILE
  1. Q
  1. SEIN2 Q:('$D(^AFSLAFP(AFSLFYN,1,AFSLSCH1,1,AFSLEIN1,0)))!($P(^(0),U,27)["D") S AFSLTT=^(0)
  1. S:$D(^AFSLAFP(AFSLFYN,1,AFSLSCH1,1,AFSLEIN1,1)) AFSLTT5=^(1)
  1. S:$D(^AFSLAFP(AFSLFYN,1,AFSLSCH1,1,AFSLEIN1,1)) AFSLTT=AFSLTT_$P(^AFSLAFP(AFSLFYN,1,AFSLSCH1,1,AFSLEIN1,1),U,21)
  1. S X=$P(AFSLTT,U,11)
  1. S X2="2",X3=10
  1. D COMMA^%DTC
  1. S AFSLTT9=$E(X,1,9)
  1. S AFSLTT9=$J(AFSLTT9,10)
  1. D PDT
  1. S AFSLCBC=AFSLCBC+1,AFSLCBA=AFSLCBA+$P(AFSLTT,U,11)
  1. D GSET1
  1. Q
  1. GSET1 ;module to generate line item payment data
  1. S AFSLTT1A=$S(AFSLX="E":$P(AFSLTT,U,10),1:$P(AFSLTT,U,24))
  1. S AFSLTT2=$S(AFSLX="E":$P(^AUTTVNDR(AFSLTT1A,11),U,1),1:$P(^VA(200,AFSLTT1A,1),U,9))
  1. S AFSLTT(AFSLTT2,AFSLCNT1,3,AFSLCBC,0)=$P(AFSLTT,U,20)_" "_"$"_AFSLTT9_" "_$P(AFSLTT,U,14) S AFSLLG=$L(AFSLTT(AFSLTT2,AFSLCNT1,3,AFSLCBC,0)),AFSLLG=55-AFSLLG
  1. S AFSLTT(AFSLTT2,AFSLCNT1,3,AFSLCBC,0)=AFSLTT(AFSLTT2,AFSLCNT1,3,AFSLCBC,0)_$J("",AFSLLG)
  1. ;I AFSLVFU=1,AFSLX["E" S AFSLCBAV=-$P(AFSLTT,U,11) S AFSLCBAV=$P(^AUTTVNDR(AFSLTT1A,11),U,7)-AFSLCBAV S DIE=9999999.11,DA=AFSLTT1A,DR="1107///^S X=AFSLCBAV" D ^DIE
  1. D:AFSLCBC=12 GSET
  1. Q
  1. GSET ;module to generate record total data
  1. Q:AFSLCBC=0
  1. S AFSLCBA=AFSLCBA*100,AFSLCBA=$E(AFSLOO,1,8-$L(AFSLCBA))_AFSLCBA,AFSLCBA=$J(AFSLCBA,8)
  1. S AFSLTT(AFSLTT2,AFSLCNT1,0)=AFSLSH11_"2"
  1. S AFSLTT(AFSLTT2,AFSLCNT1,0)=AFSLTT(AFSLTT2,AFSLCNT1,0)_AFSLTT2_$J("",12-$L(AFSLTT2))_"0"_AFSLCBA_"IHS"_$J("",7)_"B"
  1. ;S AFSLTT4=$S(AFSLX="E":$P(^AUTTVNDR(AFSLTT1A,0),U,1),1:$P(^VA(200,AFSLTT1A,0),U,1)),AFSLTT4=AFSLTT4_$J("",35-$L(AFSLTT4)) ;ACR*2.1*19.02 IM16848
  1. S AFSLTT4=$S(AFSLX="E":$P(^AUTTVNDR(AFSLTT1A,0),U,1),1:$$NAME2^ACRFUTL1(AFSLTT1A)) ;ACR*2.1*19.02 IM16848
  1. S AFSLTT4=AFSLTT4_$J("",35-$L(AFSLTT4)) ;ACR*2.1*19.02 IM16848
  1. S AFSLTT(AFSLTT2,AFSLCNT1,0)=AFSLTT(AFSLTT2,AFSLCNT1,0)_AFSLTT4
  1. I AFSLX["E" D VADR^AFSLTT4
  1. I AFSLX'["E" D EADR^AFSLTT4
  1. S AFSLTT(AFSLTT2,AFSLCNT1,2)=AFSLTT(AFSLTT2,AFSLCNT1,2)_$J("",67)_$S(AFSLCBC<10:"0"_AFSLCBC,1:AFSLCBC)
  1. S AFSLCNT=AFSLCNT+1,AFSLAMT=AFSLAMT+AFSLCBA,AFSLCBC=0,AFSLCBA=0
  1. D PRC^AFSLRTT2 K AFSLTT S AFSLCNT1=AFSLCNT1+1
  1. Q
  1. CHK ;checks for certification date,open/close,export date
  1. I $D(^AFSLAFP(AFSLFYN,1,AFSLSCH1,0)) S AFSLSCH3=^(0)
  1. E Q
  1. I $D(^AFSLAFP(AFSLFYN,1,AFSLSCH1,2)) S AFSLSCH2=^(2)
  1. E Q
  1. I '$D(^AFSLAFP("ME",AFSLFYN,$P(^AFSLAFP(AFSLFYN,1,AFSLSCH1,0),U,1))) Q
  1. S AFSLFLG=1,AFSLFLG1=1,AFSLSCH=$P(AFSLSCH3,U,1),AFSLSCH1(AFSLSCH1)=AFSLSCH1
  1. S AFSLOO="0000000000"
  1. Q
  1. TNUM ;
  1. S X=AFSLBN
  1. S DIE="^AFSLAFP("_AFSLFYN_",1,"
  1. S DA(1)=AFSLFYN
  1. S DA=AFSLSCH1
  1. S DR="10////"_AFSLSH11
  1. D ^DIE
  1. Q
  1. PDT ;
  1. S DIE="^AFSLAFP("_AFSLFYN_",1,"_AFSLSCH1_",1,",DA(2)=AFSLFYN
  1. S DA(1)=AFSLSCH1,DA=AFSLEIN1,DR="19////"_AFSLPDT
  1. D ^DIE
  1. S AFSLDNUM=$P(^AFSLAFP(AFSLFYN,1,AFSLSCH1,1,AFSLEIN1,1),U,16),AFSLDFYN=$P(^(1),U,15),AFSLPDNM=$P(^(1),U,7)
  1. S DIE="^AFSLODOC("_AFSLDFYN_",1,"_AFSLDNUM_",1,"
  1. S DA(2)=AFSLDFYN
  1. S DA(1)=AFSLDNUM
  1. S DA=AFSLPDNM
  1. S DR="1////"_AFSLPDT
  1. D ^DIE
  1. Q