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

ACRFEXP5.m

Go to the documentation of this file.
  1. ACRFEXP5 ;IHS/OIRM/DSD/AEF - EXPORT TO ECS FILE [ 01/27/2005 1:36 PM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**2,15**;NOV 05, 2001
  1. ;
  1. ;ACR*2.1*2.01;NEW ROUTINE
  1. ;
  1. ;The formats for the ECS payment records herein are described in
  1. ;US Treasury document 'Electronic Certification System, Formats
  1. ;And Notes For Mainframe Alternate Data Entry Methods For ECS
  1. ;Production PC', P7.6 Revision 8, dated October 26, 1998.
  1. ;
  1. REC01(ACRSCH,ACRRFC,ACRALC,ACRECS,ACRACH,ACRBTYP) ;EP
  1. ;----- CHECK TRANSMISSION HEADER RECORD 01
  1. ;RECORD LAYOUT:
  1. ; 1-2 RECORD TYPE "01" 43-45 RFC IDENTIFIER
  1. ; 3-8 TRANSMISSION NUMBER 46-53 ALC
  1. ; 9-22 SCHEDULE NUMBER 54-65 DOS FILENAME
  1. ;23-34 DATE/TIME 66-416 FILLER
  1. ;35-38 FPA ID 417-417 PAYMENT TYPE
  1. ;39-40 FPA PC # 418-418 PAYMENT APPLICATION
  1. ;41-42 FILLER 419-440 BLANK FILL
  1. ;
  1. ;INPUT:
  1. ;ACRSCH =TREASURY SCHEDULE NUMBER
  1. ;ACRRFC =REGIONAL FINANCE CENTER
  1. ;ACRALC =AGENCY LOCATION CODE
  1. ;ACRECS =TREASURY ECS FILE NAME
  1. ;ACRACH =PAYMENT FORMAT
  1. ;ACRBTYP=BATCH TYPE
  1. ;
  1. N Z
  1. S $E(Z,1,2)="01"
  1. S $E(Z,3,8)=$$PAD^ACRFUTL("","R",6,"")
  1. S $E(Z,9,22)=$$PAD^ACRFUTL(ACRSCH,"L",14,0)
  1. S $E(Z,23,34)=$$PAD^ACRFUTL("","R",12,"")
  1. S $E(Z,35,38)=$$PAD^ACRFUTL("","R",4,"")
  1. S $E(Z,39,40)=$$PAD^ACRFUTL("","R",2,"")
  1. S $E(Z,41,42)=$$PAD^ACRFUTL("","R",2,"")
  1. S $E(Z,43,45)=$$PAD^ACRFUTL(ACRRFC,"R",3,"")
  1. S $E(Z,46,53)=$$PAD^ACRFUTL(ACRALC,"R",8,"")
  1. S $E(Z,54,65)=$$PAD^ACRFUTL($G(ACRECS)_"."_$G(ACRRFC),"R",12,"")
  1. S $E(Z,66,416)=$$PAD^ACRFUTL("","R",351,"")
  1. S $E(Z,417)=$$PAD^ACRFUTL($S(ACRACH="A":"A",ACRACH="B":"A",ACRACH="C":"C",ACRACH="N":"C",1:""),"R",1,"")
  1. S $E(Z,418)=$$PAD^ACRFUTL($S(ACRBTYP="V":"V",ACRACH="C"&(ACRBTYP="T"):"M",ACRACH="N"&(ACRBTYP="T"):"M",ACRACH="A"&(ACRBTYP="T"):"T",ACRACH="B"&(ACRBTYP="T"):"T",1:""),"R",1,"")
  1. S $E(Z,419,440)=$$PAD^ACRFUTL("","R",22,"")
  1. ;
  1. W Z
  1. Q
  1. REC02(ACRSCH,ACRALC) ;EP
  1. ;----- AGENCY LOCATION CODE (ALC) CONTROL RECORD 02
  1. ;
  1. ; ACR*2.1*15.01 IM15981
  1. ; Moved code to ACRFEXP6 because ACRFEXP5 is too large
  1. ;
  1. D REC02^ACRFEXP6(ACRSCH,ACRALC)
  1. Q
  1. ;
  1. REC03(ACRSCH,ACRADD1,ACRADD2,ACRADD3,ACRPHON) ;EP
  1. ;----- AGENCY BILLING ADDRESS CONTROL RECORD 03
  1. ;
  1. ; ACR*2.1*15.01 IM15981
  1. ; Moved code to ACRFEXP6 because ACRFEXP5 is too large
  1. ;
  1. D REC03^ACRFEXP6(ACRSCH,ACRAADD1,ACRAADD2,ACRAADD3,ACRAPHON)
  1. Q
  1. ;
  1. RECA04(ACRPCNT,ACRSCH,ACRATYP,ACRSSN,ACRAMT,ACRNAME,ACRRTN,ACRDAN,ACRAPPN,ACRPDFOR,ACRBTYP) ;EP
  1. ;----- ACH 04 PAYMENT RECORD
  1. ;
  1. ;RECORD LAYOUT:
  1. ; 1-2 RECORD TYPE "04" 96-112 DEPOSITOR ACCT NO.
  1. ; 3-8 PAYMENT NUMBER 113-216 FILLER
  1. ; 9-22 SCHEDULE NUMBER 217-217 PAYMENT TYPE
  1. ;23-23 ACCOUNT TYPE 218-233 ACCOUNT SYMBOL
  1. ;24-32 PAYEE ID/TIN 234-283 FILLER
  1. ;33-35 FILLER 284-363 PAYMENT ID LINE
  1. ;36-46 ZERO FILL 364-410 FILLER
  1. ;47-56 PAYMENT AMOUNT 411-413 ADDENDUM FORMAT
  1. ;57-57 RECORD CODE "B" 414-414 1099 REPORTING ELIG
  1. ;58-79 PAYEE NAME 415-415 TOP OFFSET ELIG
  1. ;80-80 ALLOTMENT CODE 416-423 ASAID
  1. ;81-86 FILLER 424-431 ACOID
  1. ;87-95 ROUTING TRANSIT NUMBER 432-440 MAC
  1. ;
  1. ;INPUT:
  1. ;ACRPCNT =PAYMENT NO
  1. ;ACRSCH =TREAS SCHED NO
  1. ;ACRATYP =ENCLOSURE CODE
  1. ;ACRSSN =VENDOR EIN OR TRAVELER SSN
  1. ;ACRAMT =PAYMENT AMOUNT
  1. ;ACRNAME =PAYEE NAME
  1. ;ACRRTN =BANK ROUTING TRANSIT NUMBER
  1. ;ACRDAN =DEPOSITOR ACCOUNT NUMBER
  1. ;ACRAPPN =APPROPRIATION
  1. ;ACRPDFOR=ACH ADDENDUM/INVOICE NUMBER
  1. ;ACRBTYP =BATCH TYPE
  1. ;
  1. N Z
  1. S $E(Z,1,2)="04"
  1. S $E(Z,3,8)=$$PAD^ACRFUTL(ACRPCNT,"L",6,0)
  1. S $E(Z,9,22)=$$PAD^ACRFUTL(ACRSCH,"L",14,0)
  1. S $E(Z,23)=ACRATYP
  1. S $E(Z,24,32)=ACRSSN
  1. S $E(Z,33,35)=$$PAD^ACRFUTL("","R",3,"")
  1. S $E(Z,36,46)=$$PAD^ACRFUTL(0,"R",11,0)
  1. S $E(Z,47,56)=$$PAD^ACRFUTL($TR($$DOL^ACRFUTL(ACRAMT),".",""),"L",10,0)
  1. S $E(Z,57)="B"
  1. S $E(Z,58,79)=$$PAD^ACRFUTL(ACRNAME,"R",22,"")
  1. S $E(Z,80)=$$PAD^ACRFUTL("","R",1,"")
  1. S $E(Z,81,86)=$$PAD^ACRFUTL("","R",6,"")
  1. S $E(Z,87,95)=$$PAD^ACRFUTL(ACRRTN,"R",9,"")
  1. S $E(Z,96,112)=$$PAD^ACRFUTL(ACRDAN,"R",17,"")
  1. S $E(Z,113,216)=$$PAD^ACRFUTL("","R","",104)
  1. S $E(Z,217)=$$PAD^ACRFUTL("","R",1,"")
  1. S $E(Z,218,233)=$$PAD^ACRFUTL(ACRAPPN,"R",16,"")
  1. S $E(Z,234,283)=$$PAD^ACRFUTL("","L","",50)
  1. S $E(Z,284,363)=$$PAD^ACRFUTL(ACRPDFOR,"R",80,"")
  1. S $E(Z,364,410)=$$PAD^ACRFUTL("","R",47,"")
  1. S $E(Z,411,413)=$$PAD^ACRFUTL($S(ACRBTYP="V":"CCD",ACRBTYP="T":"PPD",1:""),"R",3,"")
  1. S $E(Z,414)="N"
  1. ;S $E(Z,415)="Y" ;ACR*2.1*15.01 IM15981
  1. ;S $E(Z,415)=$S(ACRBTYP="T":"N",1:"Y") ;ACR*2.1*15.01 IM15981
  1. S $E(Z,415)="Y" ;ACR*2.1*15.01 IM15981
  1. S $E(Z,416,423)=$$PAD^ACRFUTL("","R",8,"")
  1. S $E(Z,424,431)=$$PAD^ACRFUTL("","R",8,"")
  1. S $E(Z,432,440)=$$PAD^ACRFUTL("","R",9,"")
  1. ;
  1. W Z
  1. Q
  1. RECC04(ACRPCNT,ACRSCH,ACRAMT,ACRNAME,ACRADD,ACRAPPN,ACRSSN,ACRNID,ACRID) ;EP
  1. ;----- CHECK 04 PAYMENT RECORD
  1. ;
  1. ;RECORD LAYOUT:
  1. ; 1-2 RECORD TYPE "04" 218-218 TYPE OF PAYMENT
  1. ; 3-8 PAYMENT NUMBER 219-234 ACCOUNT SYMBOL
  1. ; 9-22 SCHEDULE NUMBER 235-243 VENDOR EIN/TRAVELER SSN
  1. ; 23-23 ENCLOSURE CODE 244-283 FILLER
  1. ; 24-30 FILLER 284-285 NUMBER OF PAYMENT ID LINES
  1. ; 31-31 ZERO FILL 286-340 PAYMENT ID LINE 1
  1. ; 32-41 PAYMENT AMOUNT 341-395 PAYMENT ID LINE 2
  1. ; 42-51 AGENCY ID 396-413 FILLER
  1. ; 52-52 RECORD CODE "B" 414-414 1099 REPORTING ELIG
  1. ; 53-87 PAYEE NAME 415-415 TOP OFFSET ELIG
  1. ; 88-122 ADDRESS LINE 1 416-423 ASAID
  1. ;123-157 ADDRESS LINE 2 424-431 ACOID
  1. ;158-187 ADDRESS LINE 3 432-440 MAC
  1. ;188-217 ADDRESS LINE 4
  1. ;
  1. ;INPUT:
  1. ;ACRPCNT=RECORD NUMBER
  1. ;ACRSCH =TREAS SCHED NO
  1. ;ACRAMT =PAYMENT AMOUNT
  1. ;ACRNAME=PAYEE NAME
  1. ;ACRADD =ARRAY CONTAINING ADDRESS LINES
  1. ;ACRAPPN=APPROPRIATION
  1. ;ACRSSN =VENDOR EIN/TRAVELER SSN
  1. ;ACRNID =NUMBER OF PAYMENT ID LINES
  1. ;ACRID =ARRAY CONTAINING PAYMENT ID LINES
  1. ;
  1. N Z
  1. S $E(Z,1,2)="04"
  1. S $E(Z,3,8)=$$PAD^ACRFUTL(ACRPCNT,"L",6,0)
  1. S $E(Z,9,22)=$$PAD^ACRFUTL(ACRSCH,"L",14,0)
  1. S $E(Z,23)=2
  1. S $E(Z,24,30)=$$PAD^ACRFUTL("","R",7,"")
  1. S $E(Z,31)=0
  1. S $E(Z,32,41)=$$PAD^ACRFUTL($TR($$DOL^ACRFUTL(ACRAMT),".",""),"L",10,0)
  1. S $E(Z,42,51)=$$PAD^ACRFUTL("IHS","R",10,"")
  1. S $E(Z,52)="B"
  1. S $E(Z,53,87)=$$PAD^ACRFUTL(ACRNAME,"R",35,"")
  1. S $E(Z,88,122)=$$PAD^ACRFUTL($G(ACRADD(1)),"R",35,"")
  1. S $E(Z,123,157)=$$PAD^ACRFUTL($G(ACRADD(2)),"R",35,"")
  1. S $E(Z,158,187)=$$PAD^ACRFUTL($G(ACRADD(3)),"R",30,"")
  1. S $E(Z,188,217)=$$PAD^ACRFUTL($G(ACRADD(4)),"R",30,"")
  1. S $E(Z,218)="A"
  1. S $E(Z,219,234)=$$PAD^ACRFUTL(ACRAPPN,"R",16,"")
  1. S $E(Z,235,243)=$$PAD^ACRFUTL(ACRSSN,"R",9,"")
  1. S $E(Z,244,283)=$$PAD^ACRFUTL("","R",40,"")
  1. S $E(Z,284,285)=$$PAD^ACRFUTL(ACRNID,"L",2,0)
  1. S $E(Z,286,340)=$$PAD^ACRFUTL($G(ACRID(1)),"R",55,"")
  1. S $E(Z,341,395)=$$PAD^ACRFUTL($G(ACRID(2)),"R",55,"")
  1. S $E(Z,396,413)=$$PAD^ACRFUTL("","R",18,"")
  1. S $E(Z,414)="N"
  1. ;S $E(Z,415)="Y" ;ACR*2.1*15.01 IM15981
  1. ;S $E(Z,415)=$S(ACRBTYP="T":"N",1:"Y") ;ACR*2.1*15.01 IM15981
  1. S $E(Z,415)="Y" ;ACR*2.1*15.01 IM15981
  1. S $E(Z,416,423)=$$PAD^ACRFUTL("","R",8,"")
  1. S $E(Z,424,431)=$$PAD^ACRFUTL("","R",8,"")
  1. S $E(Z,432,440)=$$PAD^ACRFUTL("","R",9,"")
  1. ;
  1. W Z
  1. Q
  1. RECC05(ACRPCNT,ACRSCH,ACRID) ;EP
  1. ;----- CHECK 05 NCR ENCLOSURE RECORD
  1. ;
  1. ;RECORD LAYOUT:
  1. ; 1-2 RECORD TYPE "05" 243-297 PAYMENT ID LINE 7
  1. ; 3-8 PAYMENT NUMBER 298-352 PAYMENT ID LINE 8
  1. ; 9-22 SCHEDULE NUMBER 353-415 FILLER
  1. ; 23-77 PAYMENT ID LINE 3 416-423 ASAID
  1. ; 78-132 PAYMENT ID LINE 4 424-431 ACOID
  1. ;133-187 PAYMENT ID LINE 5 432-440 MAC
  1. ;188-242 PAYMENT ID LINE 6
  1. ;
  1. ;INPUT:
  1. ;ACRPCNT=PAYMENT NUMBER
  1. ;ACRSCH =TREAS SCHED NO
  1. ;ACRID =ARRAY CONTAINING PAYMENT ID LINES
  1. ;
  1. N Z
  1. S $E(Z,1,2)="05"
  1. S $E(Z,3,8)=$$PAD^ACRFUTL(ACRPCNT,"L",6,0)
  1. S $E(Z,9,22)=$$PAD^ACRFUTL(ACRSCH,"L",14,0)
  1. S $E(Z,23,77)=$$PAD^ACRFUTL($G(ACRID(3)),"R",55,"")
  1. S $E(Z,78,132)=$$PAD^ACRFUTL($G(ACRID(4)),"R",55,"")
  1. S $E(Z,133,187)=$$PAD^ACRFUTL($G(ACRID(5)),"R",55,"")
  1. S $E(Z,188,242)=$$PAD^ACRFUTL($G(ACRID(6)),"R",55,"")
  1. S $E(Z,243,297)=$$PAD^ACRFUTL($G(ACRID(7)),"R",55,"")
  1. S $E(Z,298,352)=$$PAD^ACRFUTL($G(ACRID(8)),"R",55,"")
  1. S $E(Z,353,415)=$$PAD^ACRFUTL("","R",63,"")
  1. S $E(Z,416,423)=$$PAD^ACRFUTL("","R",8,"")
  1. S $E(Z,424,431)=$$PAD^ACRFUTL("","R",8,"")
  1. S $E(Z,432,440)=$$PAD^ACRFUTL("","R",9,"")
  1. ;
  1. W Z
  1. Q
  1. RECC06(ACRPCNT,ACRSCH,ACRID) ;EP
  1. ;----- CHECK 06 NCR ENCLOSURE RECORD
  1. ;
  1. ;RECORD LAYOUT:
  1. ; 1-2 RECORD TYPE "06" 243-297 PAYMENT ID LINE 13
  1. ; 3-8 PAYMENT NUMBER 298-352 PAYMENT ID LINE 14
  1. ; 9-22 SCHEDULE NUMBER 353-415 FILLER
  1. ; 23-77 PAYMENT ID LINE 9 416-423 ASAID
  1. ; 78-132 PAYMENT ID LINE 10 424-431 ACOID
  1. ;133-187 PAYMENT ID LINE 11 432-440 MAC
  1. ;188-242 PAYMENT ID LINE 12
  1. ;
  1. ;INPUT:
  1. ;ACRPCNT=PAYMENT NUMBER
  1. ;ACRSCH =TREAS SCHED NO
  1. ;ACRID =PAYMENT ID LINE ARRAY
  1. ;
  1. N Z
  1. S $E(Z,1,2)="06"
  1. S $E(Z,3,8)=$$PAD^ACRFUTL(ACRPCNT,"L",6,0)
  1. S $E(Z,9,22)=$$PAD^ACRFUTL(ACRSCH,"L",14,0)
  1. S $E(Z,23,77)=$$PAD^ACRFUTL($G(ACRID(9)),"R",55,"")
  1. S $E(Z,78,132)=$$PAD^ACRFUTL($G(ACRID(10)),"R",55,"")
  1. S $E(Z,133,187)=$$PAD^ACRFUTL($G(ACRID(11)),"R",55,"")
  1. S $E(Z,188,242)=$$PAD^ACRFUTL($G(ACRID(12)),"R",55,"")
  1. S $E(Z,243,297)=$$PAD^ACRFUTL($G(ACRID(13)),"R",55,"")
  1. S $E(Z,298,352)=$$PAD^ACRFUTL($G(ACRID(14)),"R",55,"")
  1. S $E(Z,353,415)=$$PAD^ACRFUTL("","R",63,"")
  1. S $E(Z,416,423)=$$PAD^ACRFUTL("","R",8,"")
  1. S $E(Z,424,431)=$$PAD^ACRFUTL("","R",8,"")
  1. S $E(Z,432,440)=$$PAD^ACRFUTL("","R",9,"")
  1. ;
  1. W Z
  1. Q
  1. REC09(ACRPCNT,ACRSCH,ACRTAMT,ACRAPPN,ACRCNT) ;EP
  1. ;----- SCHEDULE CONTROL RECORD 09
  1. ;
  1. ; ACR*2.1*15.01 IM15981
  1. ; Moved code to ACRFEXP6 because ACRFEXP5 is too large
  1. ;
  1. D REC09^ACRFEXP6(ACRPCNT,ACRSCH,ACRTAMT,.ACRAPPN,.ACRCNT)
  1. Q
  1. REC99(ACRCNT,ACRSCH) ;EP
  1. ;----- SCHEDULE TRAILER RECORD 99
  1. ;
  1. ; ACR*2.1*15.01 IM15981
  1. ; Moved code to ACRFEXP6 because ACRFEXP5 is too large
  1. ;
  1. D REC99^ACRFEXP6(.ACRCNT,ACRSCH)
  1. Q