[613] | 1 | PRCHLO4 ;WOIFO/RLL/DAP-EXTRACT ROUTINE CLO REPORT SERVER ; 10/16/06 2:10pm
|
---|
| 2 | V ;;5.1;IFCAP;**83,98**; Oct 20, 2000;Build 37
|
---|
| 3 | ;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | ; Continuation of PRCHLO3
|
---|
| 5 | ;
|
---|
| 6 | ; PRCHLO3 routines are used to Write out the Header and data
|
---|
| 7 | ; associated with each of the 19 tables created for the Clinical
|
---|
| 8 | ; logistics Report Server. The files are built from the extracts
|
---|
| 9 | ; located in the ^TMP($J) global.
|
---|
| 10 | ;
|
---|
| 11 | Q
|
---|
| 12 | GETDIR ; Get directory from System parameter for CLRS
|
---|
| 13 | S FILEDIR=$$GET^XPAR("SYS","PRCPLO EXTRACT DIRECTORY",1,"Q")
|
---|
| 14 | ;
|
---|
| 15 | Q
|
---|
| 16 | CLRSFIL ; Create output files for CLRS
|
---|
| 17 | N FILEDIR
|
---|
| 18 | S FILEDIR=$$GET^XPAR("SYS","PRCPLO EXTRACT DIRECTORY",1,"Q")
|
---|
| 19 | ; GET station id
|
---|
| 20 | N STID
|
---|
| 21 | ; S STID=$G(^DD("SITE",1)) Old call
|
---|
| 22 | S STID=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",99)
|
---|
| 23 | TSTFIL ; Test entry point
|
---|
| 24 | ;
|
---|
| 25 | D POMASTF ; Po Master Data
|
---|
| 26 | D POOBF ; Po Obligation Data
|
---|
| 27 | D POMETHF ; PO Method of Purchase Data
|
---|
| 28 | D PODISCF ; PO Discount Data
|
---|
| 29 | D POITMF ; Po Item Data
|
---|
| 30 | D POITIVF ; PO Item Inventory Point Data
|
---|
| 31 | D POITDRF ; PO Item Desc Data
|
---|
| 32 | D PODSCF ; PO Description
|
---|
| 33 | D POPRTF ; PO Partial Data
|
---|
| 34 | D PO2237F ; PO 2237 data
|
---|
| 35 | D POBOCF ; PO BOC Data
|
---|
| 36 | D POCOMF ; PO Comments data
|
---|
| 37 | D POREMF ; PO Remarks data
|
---|
| 38 | D POPPTF ; PO Prompt Payment Terms data
|
---|
| 39 | D POAMTF ; PO Amount data
|
---|
| 40 | D POAMDF ; PO Amendment Data
|
---|
| 41 | D POAMDCF ; PO Amendment Changes Data
|
---|
| 42 | D POAMDDF ; PO Amendment Description Data
|
---|
| 43 | D POAMBKF ; PO Amount Breakout Code Data
|
---|
| 44 | GIPBL1 ; GIP REPORTS
|
---|
| 45 | D BLDGP1^PRCPLO3
|
---|
| 46 | D BLDGP2^PRCPLO3
|
---|
| 47 | Q
|
---|
| 48 | POMASTF ; Save PO Master table data to a file to FTP to report Server
|
---|
| 49 | ; build file name
|
---|
| 50 | N OUTFIL1
|
---|
| 51 | S OUTFIL1="IFCP"_STID_"F1.TXT"
|
---|
| 52 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL1,"W") ; Open the file
|
---|
| 53 | D USE^%ZISUTL("FILE1") ; Use the file as the output device
|
---|
| 54 | D POMASTH^PRCHLO3 ; Write the Header to the file
|
---|
| 55 | D POMASTW^PRCHLO3 ; Write the data to the file
|
---|
| 56 | D CLOSE^%ZISH("FILE1") ; Close the file
|
---|
| 57 | Q
|
---|
| 58 | POOBF ; Create flat file for PO OBLIGATION DATA
|
---|
| 59 | N OUTFIL2
|
---|
| 60 | S OUTFIL2="IFCP"_STID_"F2.TXT"
|
---|
| 61 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL2,"W") ; Open the file
|
---|
| 62 | D USE^%ZISUTL("FILE1") ; Use the file as the output device
|
---|
| 63 | D POOBHD^PRCHLO3
|
---|
| 64 | D POOBW^PRCHLO3
|
---|
| 65 | D CLOSE^%ZISH("FILE1") ; Close the file
|
---|
| 66 | Q
|
---|
| 67 | POMETHF ; Create flat for for Purchase Order Method
|
---|
| 68 | N OUTFIL3
|
---|
| 69 | S OUTFIL3="IFCP"_STID_"F3.TXT"
|
---|
| 70 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL3,"W") ; Open the file
|
---|
| 71 | D USE^%ZISUTL("FILE1") ; Use the file as the output device
|
---|
| 72 | D POPMEH^PRCHLO3
|
---|
| 73 | D POPMEW^PRCHLO3
|
---|
| 74 | D CLOSE^%ZISH("FILE1") ; Close the file
|
---|
| 75 | Q
|
---|
| 76 | PODISCF ; Create flat file for Purchase Order Discount
|
---|
| 77 | N OUTFIL4
|
---|
| 78 | S OUTFIL4="IFCP"_STID_"F4.TXT"
|
---|
| 79 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL4,"W") ; Open the file
|
---|
| 80 | D USE^%ZISUTL("FILE1")
|
---|
| 81 | D PODISCH^PRCHLO1
|
---|
| 82 | D PODISCW^PRCHLO1
|
---|
| 83 | D CLOSE^%ZISH("FILE1")
|
---|
| 84 | Q
|
---|
| 85 | POITMF ; Create flat file for PO Item data
|
---|
| 86 | N OUTFIL5
|
---|
| 87 | S OUTFIL5="IFCP"_STID_"F5.TXT"
|
---|
| 88 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL5,"W") ; Open the file
|
---|
| 89 | D USE^%ZISUTL("FILE1")
|
---|
| 90 | D POITEMH^PRCHLO2
|
---|
| 91 | D POITEMW^PRCHLO2
|
---|
| 92 | D CLOSE^%ZISH("FILE1")
|
---|
| 93 | Q
|
---|
| 94 | POITIVF ; Create flat file for PO Item inv. point data
|
---|
| 95 | N OUTFIL6
|
---|
| 96 | S OUTFIL6="IFCP"_STID_"F6.TXT"
|
---|
| 97 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL6,"W") ; Open the file
|
---|
| 98 | D USE^%ZISUTL("FILE1")
|
---|
| 99 | D POITLNH^PRCHLO2
|
---|
| 100 | D POITLNW^PRCHLO2
|
---|
| 101 | D CLOSE^%ZISH("FILE1")
|
---|
| 102 | Q
|
---|
| 103 | POITDRF ; Create flat file for PO Item date received
|
---|
| 104 | N OUTFIL7
|
---|
| 105 | S OUTFIL7="IFCP"_STID_"F7.TXT"
|
---|
| 106 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL7,"W") ; Open the file
|
---|
| 107 | D USE^%ZISUTL("FILE1")
|
---|
| 108 | D POITDRCH^PRCHLO2
|
---|
| 109 | D POITDRCW^PRCHLO2
|
---|
| 110 | D CLOSE^%ZISH("FILE1")
|
---|
| 111 | Q
|
---|
| 112 | PODSCF ; Create flat file for PO item description
|
---|
| 113 | N OUTFIL8
|
---|
| 114 | S OUTFIL8="IFCP"_STID_"F8.TXT"
|
---|
| 115 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL8,"W") ; Open the file
|
---|
| 116 | D USE^%ZISUTL("FILE1")
|
---|
| 117 | D POITDSH^PRCHLO2
|
---|
| 118 | D POITDSW^PRCHLO2
|
---|
| 119 | D CLOSE^%ZISH("FILE1")
|
---|
| 120 | Q
|
---|
| 121 | POPRTF ; Create flat file for PO Partial data
|
---|
| 122 | N OUTFIL9
|
---|
| 123 | S OUTFIL9="IFCP"_STID_"F9.TXT"
|
---|
| 124 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL9,"W") ; Open the file
|
---|
| 125 | D USE^%ZISUTL("FILE1")
|
---|
| 126 | D POPART^PRCHLO3
|
---|
| 127 | D POPARTW^PRCHLO3
|
---|
| 128 | D CLOSE^%ZISH("FILE1")
|
---|
| 129 | Q
|
---|
| 130 | PO2237F ; Create flat file for 2237 data
|
---|
| 131 | N OUTFIL10
|
---|
| 132 | S OUTFIL10="IFCP"_STID_"F10.TXT"
|
---|
| 133 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL10,"W") ; Open the file
|
---|
| 134 | D USE^%ZISUTL("FILE1")
|
---|
| 135 | D PO2237H^PRCHLO3
|
---|
| 136 | D PO2237W^PRCHLO3
|
---|
| 137 | D CLOSE^%ZISH("FILE1")
|
---|
| 138 | Q
|
---|
| 139 | POBOCF ; Create flat file for PO BOC data
|
---|
| 140 | N OUTFIL11
|
---|
| 141 | S OUTFIL11="IFCP"_STID_"F11.TXT"
|
---|
| 142 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL11,"W")
|
---|
| 143 | D USE^%ZISUTL("FILE1")
|
---|
| 144 | D POBOCH^PRCHLO3
|
---|
| 145 | D POBOCW^PRCHLO3
|
---|
| 146 | D CLOSE^%ZISH("FILE1")
|
---|
| 147 | Q
|
---|
| 148 | POCOMF ; Create flat file for PO Comments
|
---|
| 149 | N OUTFIL12
|
---|
| 150 | S OUTFIL12="IFCP"_STID_"F12.TXT"
|
---|
| 151 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL12,"W")
|
---|
| 152 | D USE^%ZISUTL("FILE1")
|
---|
| 153 | D POCMTSH^PRCHLO3
|
---|
| 154 | D POCMTSW^PRCHLO3
|
---|
| 155 | D CLOSE^%ZISH("FILE1")
|
---|
| 156 | Q
|
---|
| 157 | POREMF ; Create flat file for PO Remarks
|
---|
| 158 | N OUTFIL13
|
---|
| 159 | S OUTFIL13="IFCP"_STID_"F13.TXT"
|
---|
| 160 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL13,"W")
|
---|
| 161 | D USE^%ZISUTL("FILE1")
|
---|
| 162 | D PORMKH^PRCHLO3
|
---|
| 163 | D PORMKW^PRCHLO3
|
---|
| 164 | D CLOSE^%ZISH("FILE1")
|
---|
| 165 | Q
|
---|
| 166 | POPPTF ; Create flat file for PO Prompt payment terms data
|
---|
| 167 | N OUTFIL14
|
---|
| 168 | S OUTFIL14="IFCP"_STID_"F14.TXT"
|
---|
| 169 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL14,"W")
|
---|
| 170 | D USE^%ZISUTL("FILE1")
|
---|
| 171 | D POPPTH^PRCHLO3
|
---|
| 172 | D POPPTW^PRCHLO3
|
---|
| 173 | D CLOSE^%ZISH("FILE1")
|
---|
| 174 | Q
|
---|
| 175 | POAMTF ; Create flat file for PO Amount data
|
---|
| 176 | N OUTFIL15
|
---|
| 177 | S OUTFIL15="IFCP"_STID_"F15.TXT"
|
---|
| 178 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL15,"W")
|
---|
| 179 | D USE^%ZISUTL("FILE1")
|
---|
| 180 | D POAMTH^PRCHLO3
|
---|
| 181 | D POAMTW^PRCHLO3
|
---|
| 182 | D CLOSE^%ZISH("FILE1")
|
---|
| 183 | Q
|
---|
| 184 | POAMDF ; Create flat file for PO Amendment data
|
---|
| 185 | N OUTFIL16
|
---|
| 186 | S OUTFIL16="IFCP"_STID_"F16.TXT"
|
---|
| 187 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL16,"W")
|
---|
| 188 | D USE^%ZISUTL("FILE1")
|
---|
| 189 | D POAMDH^PRCHLO3
|
---|
| 190 | D POAMDW^PRCHLO3
|
---|
| 191 | D CLOSE^%ZISH("FILE1")
|
---|
| 192 | Q
|
---|
| 193 | POAMDCF ; Create flat file for PO Amendment changes
|
---|
| 194 | N OUTFIL17
|
---|
| 195 | S OUTFIL17="IFCP"_STID_"F17.TXT"
|
---|
| 196 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL17,"W")
|
---|
| 197 | D USE^%ZISUTL("FILE1")
|
---|
| 198 | D POAMDCH^PRCHLO3
|
---|
| 199 | D POAMDCW^PRCHLO3
|
---|
| 200 | D CLOSE^%ZISH("FILE1")
|
---|
| 201 | Q
|
---|
| 202 | POAMDDF ; Create flat file for PO Amendment Desc data
|
---|
| 203 | N OUTFIL18
|
---|
| 204 | S OUTFIL18="IFCP"_STID_"F18.TXT"
|
---|
| 205 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL18,"W")
|
---|
| 206 | D USE^%ZISUTL("FILE1")
|
---|
| 207 | D PAMDDH^PRCHLO3
|
---|
| 208 | D PAMDDW^PRCHLO3
|
---|
| 209 | D CLOSE^%ZISH("FILE1")
|
---|
| 210 | Q
|
---|
| 211 | POAMBKF ; Create flat file for PO amount breakout code
|
---|
| 212 | N OUTFIL19
|
---|
| 213 | S OUTFIL19="IFCP"_STID_"F19.TXT"
|
---|
| 214 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFIL19,"W")
|
---|
| 215 | D USE^%ZISUTL("FILE1")
|
---|
| 216 | D PAMTBKH^PRCHLO3
|
---|
| 217 | D PAMTBKW^PRCHLO3
|
---|
| 218 | D CLOSE^%ZISH("FILE1")
|
---|
| 219 | Q
|
---|
| 220 | TSTF ; Test directory for file creation
|
---|
| 221 | N FILEDIR,TFILE,OUTFILT,POP,STID
|
---|
| 222 | ; POP is returned by OPEN^%ZISH if file cannot be created.
|
---|
| 223 | S POP=""
|
---|
| 224 | S STID=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",99)
|
---|
| 225 | S OUTFILT="CLRSREADME"_STID_".TXT"
|
---|
| 226 | S FILEDIR=$$GET^XPAR("SYS","PRCPLO EXTRACT DIRECTORY",1,"Q")
|
---|
| 227 | D OPEN^%ZISH("TFILE",FILEDIR,OUTFILT,"W")
|
---|
| 228 | I POP D
|
---|
| 229 | . S CLRSERR=2
|
---|
| 230 | . Q
|
---|
| 231 | I CLRSERR'=2 D
|
---|
| 232 | . D USE^%ZISUTL("TFILE")
|
---|
| 233 | . W !,"$ ! This directory is used to store PO activity"
|
---|
| 234 | . W !,"$ ! extracts and GIP Extracts which are transmitted"
|
---|
| 235 | . W !,"$ ! to the Clinical Logistics Report Server on a monthly"
|
---|
| 236 | . W !,"$ ! basis. There are 21 extract files IFCPXXXF1 through"
|
---|
| 237 | . W !,"$ ! IFCPXXXF19, IFCPXXXG1 and IFCPXXXG2. In addition, there"
|
---|
| 238 | . W !,"$ ! are 2 working files used for the FTP Transfer:"
|
---|
| 239 | . W !,"$ ! CLRSxxx.DAT and CLRS1xxx.COM. CLRSREADMExxx.TXT is also present"
|
---|
| 240 | . W !,"$ EXIT"
|
---|
| 241 | . D CLOSE^%ZISH("TFILE")
|
---|
| 242 | . Q
|
---|
| 243 | Q
|
---|
| 244 | ;
|
---|
| 245 | CRTCOM ; Create .DAT file to transfer file(s)
|
---|
| 246 | N FILEDIR,POP,STID,OUTFLL1
|
---|
| 247 | S STID=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",99)
|
---|
| 248 | S POP="" ; POP is returned by OPEN^%ZISH
|
---|
| 249 | ; S FILEDIR="$1$DGA2:[ANONYMOUS.CLRS]" ;set dir for outpt files.
|
---|
| 250 | S FILEDIR=$$GET^XPAR("SYS","PRCPLO EXTRACT DIRECTORY",1,"Q")
|
---|
| 251 | S OUTFLL1="CLRS"_STID_"FTP.DAT"
|
---|
| 252 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFLL1,"W")
|
---|
| 253 | I POP D
|
---|
| 254 | . S CLRSERR=3
|
---|
| 255 | . Q
|
---|
| 256 | I CLRSERR'=3 D
|
---|
| 257 | . D USE^%ZISUTL("FILE1")
|
---|
| 258 | . W "clrsadmin",! ; Enter user name for Report Server Login
|
---|
| 259 | . W "1025clrs",! ;pw=1025clrs Enter P/W for Report Server Login
|
---|
| 260 | . ; W "SET DEFAULT /LOCAL $1$DGA2:[ANONYMOUS.CLRS]",!
|
---|
| 261 | . W "SET DEFAULT /LOCAL "_FILEDIR,!
|
---|
| 262 | . W "PUT IFCP"_STID_"*.*;*",! ; new code to issue PUT command
|
---|
| 263 | . W "EXIT",! ; Exit FTP
|
---|
| 264 | . D CLOSE^%ZISH("FILE1")
|
---|
| 265 | . Q
|
---|
| 266 | Q
|
---|
| 267 | CRTCOM1 ; Run CLRSFTP1.COM as com file for exception handling
|
---|
| 268 | ;
|
---|
| 269 | ;*98 Modified code to work with PRC CLRS ADDRESS parameter
|
---|
| 270 | ;
|
---|
| 271 | N FILEDIR,STID,OUTFLL2,ADDR
|
---|
| 272 | S STID=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",99)
|
---|
| 273 | S FILEDIR=$$GET^XPAR("SYS","PRCPLO EXTRACT DIRECTORY",1,"Q")
|
---|
| 274 | S ADDR=$$GET^XPAR("SYS","PRC CLRS ADDRESS",1,"Q")
|
---|
| 275 | I ADDR="" S PRCPMSG(1)="There is no address identified in the CLRS Address Parameter.",PRCPMSG(2)="Please correct and retry." D MAILFTP^PRCHLO4A S CLRSERR=1 Q
|
---|
| 276 | S OUTFLL2="CLRS"_STID_"FTP1.COM"
|
---|
| 277 | D OPEN^%ZISH("FILE1",FILEDIR,OUTFLL2,"W")
|
---|
| 278 | D USE^%ZISUTL("FILE1")
|
---|
| 279 | W "$ SET VERIFY=(PROCEDURE,IMAGE)",!
|
---|
| 280 | W "$ SET DEFAULT "_FILEDIR,!
|
---|
| 281 | W "$ FTP "_ADDR_" /INPUT="_FILEDIR_"CLRS"_STID_"FTP.DAT",!
|
---|
| 282 | ;
|
---|
| 283 | W "$ EXIT 3",!
|
---|
| 284 | D CLOSE^%ZISH("FILE1")
|
---|
| 285 | Q
|
---|
| 286 | FTPCOM ; Issue the FTP command after CLRS1.TXT file is built
|
---|
| 287 | ; remain in CACHE during FTP Process using
|
---|
| 288 | ; $ZF(-1) call
|
---|
| 289 | ; ; SACC Exception received for usage of $ZF(-1) in PRC*5.1*83
|
---|
| 290 | ; See IFCAP technical manual
|
---|
| 291 | ;
|
---|
| 292 | ; commented out for testing
|
---|
| 293 | ; add hook to mailman messaging for ftp, check variable PV
|
---|
| 294 | N PV,XPV1,FILEDIR,STID
|
---|
| 295 | ;
|
---|
| 296 | ;
|
---|
| 297 | S FILEDIR=$$GET^XPAR("SYS","PRCPLO EXTRACT DIRECTORY",1,"Q")
|
---|
| 298 | S STID=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",99)
|
---|
| 299 | S XPV1="S PV=$ZF(-1,""@"_FILEDIR_"CLRS"_STID_"FTP1.COM/OUTPUT="_FILEDIR_"CLRS"_STID_"FTP1.LOG"")"
|
---|
| 300 | X XPV1 ; Run the .COM file to transfer files
|
---|
| 301 | ;
|
---|
| 302 | ; Error flag logic
|
---|
| 303 | I PV=-1 D ; This error is generated if failure during xfer occurs
|
---|
| 304 | . S CLRSERR=1
|
---|
| 305 | . Q
|
---|
| 306 | Q
|
---|