| [613] | 1 | PRCPLO3 ;WOIFO/DAP/RLL-manual run option for GIP reports ; 7/28/06 10:39am
 | 
|---|
 | 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 |  ;
 | 
|---|
 | 5 | ENT ;This section of the routine executes calls to the separate CLRS GIP
 | 
|---|
 | 6 |  ;extract routines.
 | 
|---|
 | 7 |  ;
 | 
|---|
 | 8 |  N ZTRTN,ZTDESC,ZTDTH,ZTIO,PRCPSSR,ZTSK,ZTREQ,PRCPMSG
 | 
|---|
 | 9 |  S ZTRTN="ENT^PRCPLO2"
 | 
|---|
 | 10 |  S ZTDESC="PRCPLO CLO GIP Reports CLRS"
 | 
|---|
 | 11 |  S ZTDTH=$H
 | 
|---|
 | 12 |  S ZTREQ="@"
 | 
|---|
 | 13 |  S ZTIO=""
 | 
|---|
 | 14 |  D ^%ZTLOAD
 | 
|---|
 | 15 |  S PRCPSSR=ZTSK
 | 
|---|
 | 16 |  ; Calls mail group message generation and screen display with success
 | 
|---|
 | 17 |  ; or exception notification
 | 
|---|
 | 18 |  I $D(PRCPSSR)[0 S PRCPMSG(1)="A task could not be created for the CLO GIP Reports - please contact IRM." D MAIL W ! D EN^DDIOL(PRCPMSG(1)) Q
 | 
|---|
 | 19 |  ;
 | 
|---|
 | 20 |  S PRCPMSG(1)="Task # "_PRCPSSR_" entered for the CLO GIP Reports."
 | 
|---|
 | 21 |  W !
 | 
|---|
 | 22 |  D EN^DDIOL(PRCPMSG(1))
 | 
|---|
 | 23 |  D MAIL
 | 
|---|
 | 24 |  ;
 | 
|---|
 | 25 |  Q
 | 
|---|
 | 26 |  ;
 | 
|---|
 | 27 | MAIL ; Builds mail messages to a defined mail group to notify users of the 
 | 
|---|
 | 28 |  ; success or failure of the TaskMan scheduling for the CLO GIP Reports.
 | 
|---|
 | 29 |  ;
 | 
|---|
 | 30 |  ;*98 Modified code to work with PRC CLRS OUTLOOK MAILGROUP parameter
 | 
|---|
 | 31 |  N XMDUZ,XMMG,XMSUB,XMTEXT,XMY,XMZ,PRCPMG,PRCPMG2
 | 
|---|
 | 32 |  S XMSUB="CLO GIP Report Status for "_$$HTE^XLFDT($H)
 | 
|---|
 | 33 |  S XMDUZ="Clinical Logistics Report Server"
 | 
|---|
 | 34 |  S XMTEXT="PRCPMSG("
 | 
|---|
 | 35 |  S XMY("G.PRCPLO CLRS NOTIFICATIONS")=""
 | 
|---|
 | 36 |  S PRCPMG=$$GET^XPAR("SYS","PRC CLRS OUTLOOK MAILGROUP",1,"Q")
 | 
|---|
 | 37 |  S:$G(PRCPMG)'="" PRCPMG2="S XMY("""_PRCPMG_""")=""""" X PRCPMG2
 | 
|---|
 | 38 |  ;
 | 
|---|
 | 39 |  D ^XMD
 | 
|---|
 | 40 |  Q
 | 
|---|
 | 41 |  ; 
 | 
|---|
 | 42 | BLDGP2 ; Build the DAYS of stock on hand file
 | 
|---|
 | 43 |  N FILEDIR,STID,FILG2
 | 
|---|
 | 44 |  S FILEDIR=$$GET^XPAR("SYS","PRCPLO EXTRACT DIRECTORY",1,"Q")
 | 
|---|
 | 45 |  S STID=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",99)
 | 
|---|
 | 46 |  S FILG2="IFCP"_STID_"G2.TXT"
 | 
|---|
 | 47 |  D OPEN^%ZISH("FILE1",FILEDIR,FILG2,"W")
 | 
|---|
 | 48 |  ; D OPEN^%ZISH("FILE1",FILEDIR,"CLRSG2.TXT","W")
 | 
|---|
 | 49 |  D USE^%ZISUTL("FILE1")
 | 
|---|
 | 50 |  D GTGIPSOH  ; *98 New version
 | 
|---|
 | 51 |  D GTGIPSOD  ; *98 New version
 | 
|---|
 | 52 |  D CLOSE^%ZISH("FILE1")
 | 
|---|
 | 53 |  Q
 | 
|---|
 | 54 | BLDGP1 ; BUILD THE stock status file
 | 
|---|
 | 55 |  N FILEDIR,STID,FILG1
 | 
|---|
 | 56 |  S FILEDIR=$$GET^XPAR("SYS","PRCPLO EXTRACT DIRECTORY",1,"Q")
 | 
|---|
 | 57 |  S STID=$$GET1^DIQ(4,$$KSP^XUPARAM("INST")_",",99)
 | 
|---|
 | 58 |  S FILG1="IFCP"_STID_"G1.TXT"
 | 
|---|
 | 59 |  D OPEN^%ZISH("FILE1",FILEDIR,FILG1,"W")
 | 
|---|
 | 60 |  ; D OPEN^%ZISH("FILE1",FILEDIR,"CLRSG1.DAT","W")
 | 
|---|
 | 61 |  D USE^%ZISUTL("FILE1")
 | 
|---|
 | 62 |  ; D GETGIPH2
 | 
|---|
 | 63 |  ; D GETGIPSF
 | 
|---|
 | 64 |  D GTGIPSSH  ; *98, New version
 | 
|---|
 | 65 |  D GTGIPSSD  ; *98, New version
 | 
|---|
 | 66 |  D CLOSE^%ZISH("FILE1")
 | 
|---|
 | 67 |  Q
 | 
|---|
 | 68 | GETGIPSF ; Get the GIP stock status data from file 446.7 (old format)
 | 
|---|
 | 69 |  N GT1,GT2,GT3,GT4
 | 
|---|
 | 70 |  S GT1="",GT2="",GT3=""
 | 
|---|
 | 71 |  F  S GT1=$O(^PRCP(446.7,GT1)) Q:GT1=""  D
 | 
|---|
 | 72 |  . S GT2=$G(^PRCP(446.7,GT1,2))
 | 
|---|
 | 73 |  . I $P(GT2,"*",2)'="" W GT2,!
 | 
|---|
 | 74 |  . Q
 | 
|---|
 | 75 |  Q
 | 
|---|
 | 76 | GTGIPSOD ; *98 Get the GIP Stock on Hand Data new (new format)
 | 
|---|
 | 77 |  ;
 | 
|---|
 | 78 |  N GT1,GT2,DT3
 | 
|---|
 | 79 |  S GT1="",GT2="",DT3=""
 | 
|---|
 | 80 |  F  S GT1=$O(^PRCP(446.7,GT1)) Q:GT1=""  D
 | 
|---|
 | 81 |  . S GT2=$G(^PRCP(446.7,GT1,1))_"*"
 | 
|---|
 | 82 |  . S DT3=$G(^PRCP(446.7,GT1,2))
 | 
|---|
 | 83 |  . I $P(GT2,"*",2)'="" W !,GT2,DT3
 | 
|---|
 | 84 |  . Q
 | 
|---|
 | 85 |  Q
 | 
|---|
 | 86 | GTGIPSSD ; *98 Get GIP Stock Status data (new format)
 | 
|---|
 | 87 |  N GT1,GT2,DT3,DT4,DT5,DT6,DT7
 | 
|---|
 | 88 |  S GT1="",GT2="",DT3="",DT4="",DT5="",DT6="",DT7=""
 | 
|---|
 | 89 |  F  S GT1=$O(^PRCP(446.7,GT1)) Q:GT1=""  D
 | 
|---|
 | 90 |  . S GT2=$G(^PRCP(446.7,GT1,3))_"*"
 | 
|---|
 | 91 |  . S DT4=$G(^PRCP(446.7,GT1,4))_"*"
 | 
|---|
 | 92 |  . S DT5=$G(^PRCP(446.7,GT1,5))_"*"
 | 
|---|
 | 93 |  . S DT6=$G(^PRCP(446.7,GT1,6))_"*"
 | 
|---|
 | 94 |  . S DT7=$G(^PRCP(446.7,GT1,7))
 | 
|---|
 | 95 |  . I $P(GT2,"*",2)'="" W !,GT2,DT4,DT5,DT6,DT7
 | 
|---|
 | 96 |  . Q
 | 
|---|
 | 97 |  Q
 | 
|---|
 | 98 | GETGIPH1 ; Header for stock on hand report (old format)
 | 
|---|
 | 99 |  ;
 | 
|---|
 | 100 |  W "StationNum"_"*"_"DateRange"_"*"_"InvIdNum"_"*"
 | 
|---|
 | 101 |  W "InventoryPoint"_"*"_"InventoryType"_"*"_"TotalDollars"_"*"
 | 
|---|
 | 102 |  W "NumOfLineItemsSoh"_"*"_"NumOfLineItemsInv"_"*"_"CostCenter",!
 | 
|---|
 | 103 |  Q
 | 
|---|
 | 104 | GTGIPSOH ; *98 Header for stock on hand report (new format)
 | 
|---|
 | 105 |  ;
 | 
|---|
 | 106 |  W "StationNum"_"*"_"DateRange"_"*"_"InvIdNum"_"*"
 | 
|---|
 | 107 |  W "InventoryPoint"_"*"_"InventoryType"_"*"_"TotalDollars"_"*"
 | 
|---|
 | 108 |  W "NumOfLineItemsSoh"_"*"_"NumOfLineItemsInv"_"*"_"CostCenter"_"*"
 | 
|---|
 | 109 |  W "StdTotDolVal"_"*"_"OdiTotDolVal"_"*"_"AllTotDolVal"_"*"
 | 
|---|
 | 110 |  W "StdNumSohItems"_"*"_"OdiNumSohItems"_"*"_"AllNumSohItems"_"*"
 | 
|---|
 | 111 |  W "StdNumInvItems"_"*"_"OdiNumInvItems"_"*"_"AllNumInvItems"
 | 
|---|
 | 112 |  Q
 | 
|---|
 | 113 | GETGIPH2 ; Header for Stock Status Report
 | 
|---|
 | 114 |  W "StationNum"_"*"_"DateRange"_"*"_"NumDays"_"*"
 | 
|---|
 | 115 |  W "InvIdNum"_"*"_"InventoryPoint"_"*"_"InventoryType"_"*"_"OpenBalTotal"_"*"_"ReceiptsTot"_"*"
 | 
|---|
 | 116 |  W "IssuesTotal"_"*"_"AdjTotal"_"*"_"ClosingBalTot"_"*"
 | 
|---|
 | 117 |  W "ReceiptsTot#"_"*"_"IssuesTotal#"_"*"_"AdjTotal#"_"*"
 | 
|---|
 | 118 |  W "TurnoverTotal"_"*"_"InactiveItmTotal#"_"*"_"InactiveItemTotal$"
 | 
|---|
 | 119 |  W "*"_"InactiveItemsPct"_"*"_"LongSupplyTotal#"_"*"_"LongSupplyTotal$"
 | 
|---|
 | 120 |  W "*"_"LongSupplyPct"_"*"_"NumOfLineItemsInv",!
 | 
|---|
 | 121 |  Q
 | 
|---|
 | 122 | GETGIPF ; Get the GIP days of stock on hand data from File 446.7 (old format)
 | 
|---|
 | 123 |  ;
 | 
|---|
 | 124 |  N GP1,GP2,GP3
 | 
|---|
 | 125 |  S GP1=0,GP2=0,GP3=0
 | 
|---|
 | 126 |  F  S GP1=$O(^PRCP(446.7,GP1)) Q:GP1=""  D
 | 
|---|
 | 127 |  . S GP2=$G(^PRCP(446.7,GP1,1))
 | 
|---|
 | 128 |  . I $P(GP2,"*",1)'="" W GP2,!
 | 
|---|
 | 129 |  . Q
 | 
|---|
 | 130 |  Q
 | 
|---|
 | 131 | GTGIPSSH ; *98 NEW Stock Status Report Header
 | 
|---|
 | 132 |  ; Additional Fields were added to accommodate
 | 
|---|
 | 133 |  ; Standard Items and On Demand Items
 | 
|---|
 | 134 |  W "StNum"_"*"_"DtRng"_"*"_"NmDys"_"*"
 | 
|---|
 | 135 |  W "InvIdNum"_"*"_"InvPnt"_"*"_"InvTyp"_"*"
 | 
|---|
 | 136 |  W "StdOpnBalTot"_"*"_"OdiOpnBalTot"_"*"_"AllOpnBalTot"_"*"
 | 
|---|
 | 137 |  W "StdRcptsTot"_"*"_"OdiRcptsTot"_"*"_"AllRcptsTot"_"*"
 | 
|---|
 | 138 |  W "StdIssTot"_"*"_"OdiIssTot"_"*"_"AllIssTot"_"*"
 | 
|---|
 | 139 |  W "StdAdjTot"_"*"_"OdiAdjTot"_"*"_"AllAdjTot"_"*"
 | 
|---|
 | 140 |  W "StdClseBalTot"_"*"_"OdiClseBalTot"_"*"_"AllClseBalTo"_"*"
 | 
|---|
 | 141 |  W "NumStdRcpts"_"*"_"NumOdiRcpts"_"*"_"NumAllRcpts"_"*"
 | 
|---|
 | 142 |  W "NumStdIss"_"*"_"NumOdiIss"_"*"_"NumAllIss"_"*"
 | 
|---|
 | 143 |  W "NumStdAdj"_"*"_"NumOdiAdj"_"*"_"NumAllAdj"_"*"
 | 
|---|
 | 144 |  W "StdTrnvrTot"_"*"_"OdiTrnvrTot"_"*"_"AllTrnvrTot"_"*"
 | 
|---|
 | 145 |  W "NumStdInactItms"_"*"_"NumOdiInactItms"_"*"_"NumAllInactItms"_"*"
 | 
|---|
 | 146 |  W "StdInactTotDol"_"*"_"OdiInactTotDol"_"*"_"AllInactTotDol"_"*"
 | 
|---|
 | 147 |  W "StdInactPct"_"*"_"OdiInactPct"_"*"_"AllInactPct"_"*"
 | 
|---|
 | 148 |  ;
 | 
|---|
 | 149 |  W "StdNumLngSup"_"*"_"OdiNumLngSup"_"*"_"AllNumLngSup"_"*"
 | 
|---|
 | 150 |  W "StdLngSupTotDol"_"*"_"OdiLngSupTotDol"_"*"_"AllLngSupTotDol"_"*"
 | 
|---|
 | 151 |  W "StdLngSupPct"_"*"_"OdiLngSupPct"_"*"_"AllLngSupPct"_"*"
 | 
|---|
 | 152 |  W "NumStdInvLnItms"_"*"_"NumOdiInvLnItms"_"*"_"NumAllInvLnItms"
 | 
|---|
 | 153 |  ;
 | 
|---|
 | 154 |  ;
 | 
|---|
 | 155 |  Q
 | 
|---|