[613] | 1 | PRCOVTST ;WISC/DJM/BGJ-IFCAP VRQ TO-DO ROUTINE ; [10/19/98 11:20am]
|
---|
| 2 | V ;;5.1;IFCAP;**30**;Oct 20, 2000
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | NEW(VEN1,SITE,FLAG) ;VEN1 = VENDOR INTERNAL ENTRY NUMBER
|
---|
| 5 | N %,B,DATE,GECSFMS,FLAGN,FY,I,J,PS,NAME,MO,PAY,PAY1,PRCOVA,PRCOVA3,PRCOVN,PRCOVN3,SEQ,SSNT,ST,TIME,TRANS,VEN,VEND,X,Y
|
---|
| 6 | S FLAGN=$G(^PRC(440.3,VEN1,0))
|
---|
| 7 | S PRCOVN=$G(^PRC(440,VEN1,0))
|
---|
| 8 | S PRCOVN3=$G(^PRC(440,VEN1,3))
|
---|
| 9 | S PAY=$G(^PRC(440,VEN1,7))
|
---|
| 10 | I FLAGN]"" D
|
---|
| 11 | .S PRCOVA=FLAGN
|
---|
| 12 | .S PRCOVA3=$G(^PRC(440.3,VEN1,3))
|
---|
| 13 | .S PAY1=$G(^PRC(440.3,VEN1,7))
|
---|
| 14 | G:PRCOVN3="" EXIT ;THERE IS NO DATA IN NODE 3 FOR THIS VENDOR--THIS USUALLY WILL NOT HAPPEN. CAN ONLY QUIT WITHOUT CREATING 'VRQ'
|
---|
| 15 | ;
|
---|
| 16 | G:$P(PRCOVN3,U,6)="N" EXIT ;NON-RECURRING VENDOR "N"=ONE-TIME VENDOR--DON'T NEED TO 'ADD'
|
---|
| 17 | ;
|
---|
| 18 | I FLAG=1,$P(PRCOVN3,U,4)]"" G EXIT ;'ADD' VRQ & FMS VENDOR CODE??? VENDOR UPDATED--DON'T NEED TO 'ADD' AGAIN (SHOULD NOT SEE THIS)
|
---|
| 19 | ;
|
---|
| 20 | I FLAG=1,(($P(PRCOVN3,U,9)="")!($P(PRCOVN3,U,8)="")) G EXIT ;NO TAX ID/SSN OR SSN/TAX ID INDICATOR--DON'T HAVE ALL INFORMATION TO SEND 'VRQ'
|
---|
| 21 | ;
|
---|
| 22 | G:PAY="" EXIT ;DON'T HAVE ANY PAYMENT ADDRESS INFORMATION--DON'T SEND 'VRQ'
|
---|
| 23 | ;
|
---|
| 24 | I FLAGN="" G DOIT ;THIS IS A NEW IFCAP VENDOR ENTRY--SEND IT
|
---|
| 25 | I FLAG=1,$P(PRCOVN3,U,4)="",$P(PRCOVN3,U,12)="" G DOIT ;THIS ENTRY NEEDS TO BE SENT BECAUSE IT WASEN'T EVER DONE BEFORE
|
---|
| 26 | ;
|
---|
| 27 | I $P(PRCOVN,U)'=$P(PRCOVA,U) G DOIT
|
---|
| 28 | I $P(PRCOVN3,U,11)'=$P(PRCOVA3,U,11) G DOIT
|
---|
| 29 | I $P(PRCOVN3,U,13)'=$P(PRCOVA3,U,13) G DOIT
|
---|
| 30 | I $P(PRCOVN3,U,14)'=$P(PRCOVA3,U,14) G DOIT
|
---|
| 31 | I $P(PAY,U,3)'=$P(PAY1,U,3) G DOIT
|
---|
| 32 | I $P(PAY,U,4)'=$P(PAY1,U,4) G DOIT
|
---|
| 33 | I $P(PAY,U,7)'=$P(PAY1,U,7) G DOIT
|
---|
| 34 | I $P(PAY,U,8)'=$P(PAY1,U,8) G DOIT
|
---|
| 35 | I $P(PAY,U,9)'=$P(PAY1,U,9) G DOIT
|
---|
| 36 | G EXIT ;USER DIDN'T CHANGE ANYTHING USED TO CREAT A VENDOR REQUEST
|
---|
| 37 | ;
|
---|
| 38 | DOIT ;COME HERE IF A VRQ SHOULD BE CREATED.
|
---|
| 39 | S NOVRQ=0
|
---|
| 40 | Q NOVRQ
|
---|
| 41 | ;
|
---|
| 42 | EXIT ;USE THIS EXIT ONLY IF NO VRQ SHOULD BE CREATED.
|
---|
| 43 | ;DON'T FORGET TO REMOVE UN-EDITED COPY OF VENDOR RECORD (IN 440.3).
|
---|
| 44 | K ^PRC(440.3,VEN1)
|
---|
| 45 | S NOVRQ=1
|
---|
| 46 | Q NOVRQ
|
---|
| 47 | ;
|
---|
| 48 | CHECK(DA,SITE,FLAG) ; CALL TO SEE IF VENDOR IS PROPERLY SET UP FROM AR
|
---|
| 49 | ; VENDOR LOOKUP CALL -- VENSEL^PRCHUTL().
|
---|
| 50 | ; COME HERE TO DECIDE WHAT NEEDS TO BE DONE WITH THE SELECTED
|
---|
| 51 | ; VENDOR.
|
---|
| 52 | ;
|
---|
| 53 | ; RETURNED VALUE MEANING
|
---|
| 54 | ; 0 NEED TO CREATE A VRQ - ALL DATA TO
|
---|
| 55 | ; CREATE A VRQ IS HERE.
|
---|
| 56 | ; 1 NEED TO EDIT VENDOR RECORD BEFORE A
|
---|
| 57 | ; VRQ CAN BE CREATED.
|
---|
| 58 | ; 2 THE VENDOR IS PROPERLY SET UP. NO
|
---|
| 59 | ; VRQ NEEDS TO BE CREATED.
|
---|
| 60 | ;
|
---|
| 61 | S PRCOVN3=$G(^PRC(440,DA,3))
|
---|
| 62 | I FLAG=1,$P(PRCOVN3,U,4)]"" G EXIT2 ;ADD VRQ WITH FMS VENDOR CODE
|
---|
| 63 | ; PRESENT??? VENDOR UPDATED--DON'T NEED TO 'ADD' AGAIN.
|
---|
| 64 | ;
|
---|
| 65 | S (I,J)=0
|
---|
| 66 | F S I=$O(^PRC(411,I)) Q:I'>0 S J=J+1
|
---|
| 67 | I J>1 S PS=$O(^PRC(411,"AC","Y",0)) G:PS="" EXIT1
|
---|
| 68 | ; 'PRIMARY STATION' NEEDS TO BE FILLED IN.
|
---|
| 69 | ;
|
---|
| 70 | S PAY=$G(^PRC(440,DA,7))
|
---|
| 71 | G:PRCOVN3="" EXIT1 ; THIS RECORD NEEDS TO BE EDITED.
|
---|
| 72 | ;
|
---|
| 73 | G:$P(PRCOVN3,U,6)="N" EXIT1 ; NON-RECURRING VENDOR THIS RECORD
|
---|
| 74 | ; NEEDS TO BE EDITED.
|
---|
| 75 | ;
|
---|
| 76 | G:$P(PRCOVN3,U,14)="" EXIT1 ; VENDOR TYPE UNDEFINED.
|
---|
| 77 | G:PAY="" EXIT1
|
---|
| 78 | ; DON'T HAVE ANY PAYMENT ADDRESS INFORMATION--EDIT THIS RECORD.
|
---|
| 79 | ;
|
---|
| 80 | G:$P(PAY,U,3)=""!($P(PAY,U,7)="")!($P(PAY,U,8)="")!($P(PAY,U,9)="") EXIT1 ; PAYMENT FIELDS AREN'T FILLED IN.
|
---|
| 81 | S ST=$P(PAY,U,8)
|
---|
| 82 | S ST=$E($P($G(^DIC(5,ST,0)),U,2),1,2)
|
---|
| 83 | G:ST="" EXIT1 ; FOR SOME REASON THIS STATE IS MISSING FROM THE
|
---|
| 84 | ; STATE FILE.
|
---|
| 85 | ;
|
---|
| 86 | I FLAG=1,(($P(PRCOVN3,U,9)="")!($P(PRCOVN3,U,8)="")) G EXIT1
|
---|
| 87 | ; NO TAX ID/SSN OR SSN/TAX ID INDICATOR--DON'T HAVE ALL INFORMATION
|
---|
| 88 | ; TO SEND 'VRQ'. EDIT THIS RECORD.
|
---|
| 89 | ;
|
---|
| 90 | DOIT1 ; COME HERE IF A VRQ SHOULD BE CREATED.
|
---|
| 91 | S NOVRQ=0
|
---|
| 92 | Q NOVRQ
|
---|
| 93 | ;
|
---|
| 94 | EXIT1 ; COME HERE IF THE VENDOR RECORD NEEDS TO BE EDITED.
|
---|
| 95 | S NOVRQ=1
|
---|
| 96 | Q NOVRQ
|
---|
| 97 | ;
|
---|
| 98 | EXIT2 ; USE THIS EXIT ONLY IF NO VRQ SHOULD BE CREATED.
|
---|
| 99 | ; IF THERE IS NO "AR" NODE PRESENT REMOVE UN-EDITED COPY OF VENDOR
|
---|
| 100 | ; RECORD (IN 440.3).
|
---|
| 101 | S NODE=$D(^PRC(440.3,DA,"AR"))
|
---|
| 102 | I NODE]"" S NODE=1
|
---|
| 103 | K:NODE=0 ^PRC(440.3,DA)
|
---|
| 104 | S NOVRQ=2
|
---|
| 105 | Q NOVRQ
|
---|
| 106 | ;
|
---|
| 107 | VRQ(DA,SITE) ; COME HERE TO SEND A VRQ FOR THE VENDOR RECORD SELECTED
|
---|
| 108 | ; BY THE AR USER. THIS ENTRY POINT IS CALLED FROM VENSEL^PRCHUTL().
|
---|
| 109 | S PRCXDA=DA
|
---|
| 110 | K ^PRC(440.3,DA)
|
---|
| 111 | VRQ1 S PRCOVN3=$G(^PRC(440,DA,3))
|
---|
| 112 | D NOW^%DTC
|
---|
| 113 | S DATE=$P(%,".")
|
---|
| 114 | S DATE=$E(DATE,2,7)
|
---|
| 115 | S TIME=$P(%,".",2)_"000000"
|
---|
| 116 | S TIME=$E(TIME,1,6)
|
---|
| 117 | S FY=$E($P(%,"."),2,3)
|
---|
| 118 | S MO=$E($P(%,U),4,5)
|
---|
| 119 | S FY=$E(100+$S(+MO>9:FY+1,1:FY),2,3)
|
---|
| 120 | K PRCFLN
|
---|
| 121 | S X=SITE_"-"_FY_"-"_MO
|
---|
| 122 | D COUNTER^PRCFACP
|
---|
| 123 | S SEQ="000"_Y
|
---|
| 124 | S SEQ=$E(SEQ,$L(SEQ)-3,99)
|
---|
| 125 | S TRANS=SITE_FY_MO_SEQ
|
---|
| 126 | S DA=PRCXDA
|
---|
| 127 | S B="VRQ^"_DATE_"^"_TIME_"^"_SITE_"^"_DA_"^"_$P(PRCOVN3,U,8)_"^"
|
---|
| 128 | S B=B_$S($P(PRCOVN3,U,5)]"":$P(PRCOVN3,U,5),1:"")
|
---|
| 129 | S NAME=$P($G(^PRC(440,DA,0)),"^")
|
---|
| 130 | S NAME=$E(NAME,1,30)
|
---|
| 131 | S B=B_"^"_NAME_"^"
|
---|
| 132 | S PAY=$G(^PRC(440,DA,7))
|
---|
| 133 | S B=B_$E($P(PAY,U,3),1,30)_"^"
|
---|
| 134 | S B=B_$S($P(PAY,U,4)]"":$E($P(PAY,U,4),1,30),1:"")_"^"
|
---|
| 135 | S B=B_$E($P(PAY,U,7),1,19)_"^"
|
---|
| 136 | S ST=$P(PAY,U,8)
|
---|
| 137 | S ST=$E($P($G(^DIC(5,ST,0)),U,2),1,2)
|
---|
| 138 | S B=B_ST_"^"_$TR($P(PAY,U,9),"-")_"^"
|
---|
| 139 | S VEND=$S($P(PRCOVN3,U,11)]"":$P(PRCOVN3,U,11),1:"N")
|
---|
| 140 | S SSNT=$S($P(PRCOVN3,U,9)]"":$P(PRCOVN3,U,9),1:"T")
|
---|
| 141 | S:VEND="N" SSNT=""
|
---|
| 142 | S B=B_SSNT_"^"_VEND_"^"_$P(PRCOVN3,U,14)_"^N^A^~"
|
---|
| 143 | ;
|
---|
| 144 | ; REQUEST GENERIC CODE SHEET PACKAGE SET UP AN ENTRY IN FILE 2100.1.
|
---|
| 145 | ;
|
---|
| 146 | D CONTROL^GECSUFMS("I",SITE,TRANS,"VR","","","","Vendor Request")
|
---|
| 147 | ;
|
---|
| 148 | ; ENTER THE 'VRQ' SEGMENT INTO FILE 2100.1 RECORD CREATED IN
|
---|
| 149 | ; PREVIOUS CALL.
|
---|
| 150 | ;
|
---|
| 151 | D SETCS^GECSSTAA(GECSFMS("DA"),B)
|
---|
| 152 | ;
|
---|
| 153 | ; TELL GCS PACKAGE WHAT TO DO WITH THIS RECORD--'QUEUE' IT TO SEND
|
---|
| 154 | ; THE NEXT TIME ANY FMS TRANSACTIONS ARE SENT TO AUSTIN.
|
---|
| 155 | ;
|
---|
| 156 | Q
|
---|
| 157 | ;
|
---|
| 158 | VRQS(DA,SITE) ; COME HERE TO SEND A VRQ FROM THE 'SEND VRQ' PROTOCOL.
|
---|
| 159 | ;
|
---|
| 160 | S PRCXDA=DA
|
---|
| 161 | ;
|
---|
| 162 | ; NOW LETS GO OVER TO SEND THIS VRQ TO AUSTIN, WITHOUT KILLING THE
|
---|
| 163 | ; RECORD IN FILE 440.3. THAT RECORD IS USED WITHIN THE AR EDIT
|
---|
| 164 | ; LIST TEMPLATE UNTIL 'DELETE EDIT REQUEST' REMOVES THE RECORD.
|
---|
| 165 | ;
|
---|
| 166 | G VRQ1
|
---|