[613] | 1 | PRCSECP1 ;SF-ISC/LJP/DGL-COPY A TRANSACTION CON'T ; 7/29/99 1:54pm
|
---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | S1 ;subroutine to copy transactions of form type 1 (i.e. 1358)
|
---|
| 5 | K PRCSTMP
|
---|
| 6 | N I,PRCSIP
|
---|
| 7 | I $D(^PRCS(410,T1,0)) D
|
---|
| 8 | . F I=2,4 S $P(^PRCS(410,DA,0),U,I)=$P(^PRCS(410,T1,0),U,I)
|
---|
| 9 | . D IP^PRCSUT
|
---|
| 10 | . I $G(PRCSIP) S $P(^PRCS(410,DA,0),U,6)=PRCSIP
|
---|
| 11 | S:$D(^PRCS(410,T1,1)) $P(^PRCS(410,DA,1),U,5)=$P(^(1),U,5)
|
---|
| 12 | I $D(^PRCS(410,T1,3)) S PRCSTMP=^(3),^PRCS(410,DA,3)=$P(^PRCS(410,DA,3),U,1,2)_"^"_$P(PRCSTMP,U,3,6)_"^^"_$P(PRCSTMP,U,8)_"^^"_$P(PRCSTMP,U,10)
|
---|
| 13 | I $P(PRCSTMP,U)'=$P(^PRCS(410,DA,3),U) S $P(^PRCS(410,DA,3),U,3)=""
|
---|
| 14 | S:$D(^PRCS(410,T1,10)) $P(^PRCS(410,DA,10),U)=$P(^(10),U)
|
---|
| 15 | ;
|
---|
| 16 | D CHECK
|
---|
| 17 | D S4,S5,S7
|
---|
| 18 | Q
|
---|
| 19 | ;
|
---|
| 20 | ;subroutine S2 is called to copy all transactions of form type <> 1
|
---|
| 21 | ;(anything other than a 1358)
|
---|
| 22 | S2 K PRCSTMP
|
---|
| 23 | N I,PRCSIP
|
---|
| 24 | ;if possible, copy over transaction type & form type from old trans.
|
---|
| 25 | ;also get inventory distrib. point from NEW FCP inv distrib point
|
---|
| 26 | I $D(^PRCS(410,T1,0)) D
|
---|
| 27 | . F I=2,4 S $P(^PRCS(410,DA,0),U,I)=$P(^PRCS(410,T1,0),U,I)
|
---|
| 28 | . D IP^PRCSUT
|
---|
| 29 | . I $D(PRCSIP) S $P(^PRCS(410,DA,0),U,6)=PRCSIP
|
---|
| 30 | ;copy classification of request
|
---|
| 31 | I $D(^PRCS(410,T1,1)) S $P(^PRCS(410,DA,1),U,5)=$P(^(1),U,5)
|
---|
| 32 | ;now copy cost center, vendor, requesting service, and vendor contract #
|
---|
| 33 | ;"CHECK" checks for valid FCP user, CC, BOC, etc.
|
---|
| 34 | I $D(^PRCS(410,T1,3)) D
|
---|
| 35 | . F I=3,4,5,10 S $P(^PRCS(410,DA,3),U,I)=$P(^PRCS(410,T1,3),U,I)
|
---|
| 36 | . I $P(^PRCS(410,T1,3),U)'=$P(^PRCS(410,DA,3),U) S $P(^PRCS(410,DA,3),U,3)=""
|
---|
| 37 | . D CHECK
|
---|
| 38 | ;copy the line item count
|
---|
| 39 | S:$D(^PRCS(410,T1,10)) $P(^PRCS(410,DA,10),U)=$P(^(10),U)
|
---|
| 40 | ;S:$D(^PRCS(410,T1,9)) $P(^PRCS(410,DA,9),U,1)=$P(^(9),U,1)
|
---|
| 41 | ;
|
---|
| 42 | D S4,S5,S7
|
---|
| 43 | Q
|
---|
| 44 | ;
|
---|
| 45 | S3 ;Note: S3 commented out (prior to patch 182) so it falls through to S4
|
---|
| 46 | ;K PRCSTMP
|
---|
| 47 | ;S:$D(^PRCS(410,T1,3)) $P(^PRCS(410,DA,3),U,3)=$P(^(3),U,3) D CHECK
|
---|
| 48 | ;I $D(^PRCS(410,T1,"CO",0)) S ^PRCS(410,DA,"CO",0)=$P(^(0),U,1,4)_"^"_DT,PRCSI="CO",PRCSK=0 D S6
|
---|
| 49 | ;D S4 Q
|
---|
| 50 | ;
|
---|
| 51 | ;
|
---|
| 52 | S4 ;copy vendor info and sort group
|
---|
| 53 | ;
|
---|
| 54 | S:$D(^PRCS(410,T1,2)) ^PRCS(410,DA,2)=^(2)
|
---|
| 55 | S:$D(^PRCS(410,T1,11)) ^PRCS(410,DA,11)=$P(^(11),U,1)
|
---|
| 56 | ;following line (copy sub control point) commented out before P182
|
---|
| 57 | ;I $D(^PRCS(410,T1,12,0)) S ^PRCS(410,DA,12,0)=^(0),PRCSI=12,PRCSK=0 D S6
|
---|
| 58 | Q
|
---|
| 59 | ;
|
---|
| 60 | S5 ;copy special remarks (using S6)
|
---|
| 61 | S PRCSI="RM"
|
---|
| 62 | I $D(^PRCS(410,T1,PRCSI,0)) D
|
---|
| 63 | . S ^PRCS(410,DA,PRCSI,0)=$P(^(0),U,1,4)_"^"_DT,PRCSK=0
|
---|
| 64 | . D S6
|
---|
| 65 | Q
|
---|
| 66 | ;
|
---|
| 67 | S6 ;General purpose copy used for remarks
|
---|
| 68 | F S PRCSK=$O(^PRCS(410,T1,PRCSI,PRCSK)) Q:'PRCSK D
|
---|
| 69 | . S:$D(^PRCS(410,T1,PRCSI,PRCSK,0)) ^PRCS(410,DA,PRCSI,PRCSK,0)=$P(^(0),U,1)
|
---|
| 70 | Q
|
---|
| 71 | ;
|
---|
| 72 | S7 ;copy the items from the old transaction to the new
|
---|
| 73 | I $D(^PRCS(410,T1,"IT",0)) D
|
---|
| 74 | . S ^PRCS(410,DA,"IT",0)=^PRCS(410,T1,"IT",0)
|
---|
| 75 | . K PRCSTMP S PRCSK=0
|
---|
| 76 | . D S8
|
---|
| 77 | Q
|
---|
| 78 | ;
|
---|
| 79 | S8 ;copy the items from old to new (detail)
|
---|
| 80 | F S PRCSK=$O(^PRCS(410,T1,"IT",PRCSK)) Q:'PRCSK I $D(^(PRCSK,0)) D
|
---|
| 81 | . S PRCSTMP=^PRCS(410,T1,"IT",PRCSK,0)
|
---|
| 82 | . S ^PRCS(410,DA,"IT",PRCSK,0)=$P(PRCSTMP,U,1,7)
|
---|
| 83 | . S PRCSL=0 D S9
|
---|
| 84 | Q
|
---|
| 85 | S9 ;copy the items from old txn to new (further detail)
|
---|
| 86 | N PRCSTMP
|
---|
| 87 | I $D(GET1) S $P(^PRCS(410,DA,"IT",PRCSK,0),"^",4)=GET1
|
---|
| 88 | I $D(^PRCS(410,T1,"IT",PRCSK,1,0)) S PRCSTMP=^(0) D
|
---|
| 89 | . S ^PRCS(410,DA,"IT",PRCSK,1,0)=$P(PRCSTMP,U,1,4)_"^"_DT
|
---|
| 90 | F S PRCSL=$O(^PRCS(410,T1,"IT",PRCSK,1,PRCSL)) Q:'PRCSL D
|
---|
| 91 | . L -^PRCS(410,DA)
|
---|
| 92 | . I $D(^PRCS(410,T1,"IT",PRCSK,1,PRCSL,0)) S PRCSTMP=^(0),^PRCS(410,DA,"IT",PRCSK,1,PRCSL,0)=PRCSTMP
|
---|
| 93 | Q
|
---|
| 94 | CHECK ;Check for valid CC/BOC on the FCP for this transaction
|
---|
| 95 | ;if old trans didn't have an FCP stop right now
|
---|
| 96 | N TEST S TEST=$P($G(^PRCS(410,T1,3)),"^",3) Q:TEST=""
|
---|
| 97 | S PRC("ACC")=$$ACC^PRC0C(PRC("SITE"),PRC("CP")_"^"_PRC("FY")_"^"_PRC("BBFY"))
|
---|
| 98 | S PRCSAPP=$P(PRC("ACC"),"^",11)
|
---|
| 99 | S $P(^PRCS(410,DA,3),U)=PRC("CP"),$P(^(3),"^",2)=PRCSAPP,$P(^(3),"^",12)=$P(PRC("ACC"),"^",3)
|
---|
| 100 | S $P(^PRCS(410,DA,3),"^",11)=$P($$DATE^PRC0C(PRC("BBFY"),"E"),"^",7)
|
---|
| 101 | S $P(^PRCS(410,DA,7),U)=DUZ,$P(^PRCS(410,DA,7),U,2)=$P($G(^VA(200,DUZ,20)),U,3)
|
---|
| 102 | ;P182--Commented out following 4 lines which were determining a default
|
---|
| 103 | ;CC and attempting to get a default BOC. Now this is accomplished in
|
---|
| 104 | ;CHGCCBOC^PRCSCK, which is called upon return to ^PRCSECP
|
---|
| 105 | ;I '$D(^PRC(420,PRC("SITE"),1,+PRC("CP"),2,TEST)) D
|
---|
| 106 | ;.S GET=0 S GET=$O(^PRC(420,PRC("SITE"),1,+PRC("CP"),2,GET)) Q:+GET=0
|
---|
| 107 | ;.Q:'$D(^PRCD(420.1,GET)) S GET1=0 S GET1=$O(^PRCD(420.1,GET,1,GET1)) Q:'$D(^PRCD(420.2,GET1)) S GET1=$E(^PRCD(420.2,GET1,0),1,30)
|
---|
| 108 | ;.Q:+GET1=0 S $P(^PRCS(410,DA,3),"^",3)=GET
|
---|
| 109 | Q
|
---|
| 110 | W1 W !!,"Would you like to review this request" S %=2 D YN^DICN G W1:%=0 Q:%'=1 S (N,PRCSZ)=DA,PRCSF=1 D PRF1^PRCSP1 S DA=PRCSZ K X,PRCSF,PRCSZ Q
|
---|
| 111 | W3 W !!,"Would you like to copy another request" S %=1 D YN^DICN G W3:%=0 Q
|
---|