| 1 | PRCPAWC0 ;WISC/RFJ-adjustment code sheets create and trans ;9.9.97 | 
|---|
| 2 | ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ; | 
|---|
| 7 | CODESHTS(INVPT,TRANID)       ;  create and transmit code sheets | 
|---|
| 8 | ;  for invpt and transaction register id | 
|---|
| 9 | N %,%H,%X,%Y,ACCT,DA,DATA,INVVALUE,ISMSCNT,ISMSFLAG,ITEMDA,NSN,PRCPXMZ,QSIGN,QTY,SELVALUE,STRING,VOUCHER,VSIGN | 
|---|
| 10 | S ISMSFLAG=$$ISMSFLAG^PRCPUX2(PRC("SITE")) | 
|---|
| 11 | K ^TMP($J,"PRCPAWN1") | 
|---|
| 12 | S ISMSCNT=0 | 
|---|
| 13 | S DA=0 F  S DA=$O(^PRCP(445.2,"T",INVPT,TRANID,DA)) Q:'DA  S DATA=$G(^PRCP(445.2,DA,0)) I DATA'="" D | 
|---|
| 14 | .   I '$D(VOUCHER),$L($P(DATA,"^",15)) S VOUCHER=$P(DATA,"^",15) | 
|---|
| 15 | .   S ITEMDA=+$P(DATA,"^",5) I 'ITEMDA Q | 
|---|
| 16 | .   S NSN=$$NSN^PRCPUX1(ITEMDA),ACCT=$$ACCT1^PRCPUX1($E(NSN,1,4)) | 
|---|
| 17 | .   S QTY=+$P(DATA,"^",7),INVVALUE=+$P(DATA,"^",22),SELVALUE=+$P(DATA,"^",23) | 
|---|
| 18 | .   I ISMSFLAG=2 D ISMS Q | 
|---|
| 19 | .   D LOG | 
|---|
| 20 | ; | 
|---|
| 21 | ;  transmit isms code sheets | 
|---|
| 22 | I ISMSFLAG=2,ISMSCNT D | 
|---|
| 23 | .   K ^TMP($J,"STRING") | 
|---|
| 24 | .   S %X="^TMP("_$J_",""PRCPAWN1"",",%Y="^TMP("_$J_",""STRING""," D %XY^%RCR | 
|---|
| 25 | .   D CODESHT^PRCPSMGO(PRC("SITE"),"ADJ",VOUCHER) | 
|---|
| 26 | ; | 
|---|
| 27 | ;  transmit log code sheets to isms | 
|---|
| 28 | I ISMSFLAG'=2,ISMSCNT D | 
|---|
| 29 | .   K ^TMP($J,"STRING") | 
|---|
| 30 | .   S %X="^TMP("_$J_",""PRCPAWN1"",",%Y="^TMP("_$J_",""STRING""," D %XY^%RCR | 
|---|
| 31 | .   D TRANSMIT^PRCPSMCL(PRC("SITE"),605,"LOG") | 
|---|
| 32 | .   W !!?4,"LOG 605 Transmitted in MailMan Messages:" I $D(PRCPXMZ) S %=0 F  S %=$O(PRCPXMZ(%)) Q:'%  W " ",PRCPXMZ(%),"  " | 
|---|
| 33 | K ^TMP($J,"PRCPAWN1"),^TMP($J,"STRING") | 
|---|
| 34 | Q | 
|---|
| 35 | ; | 
|---|
| 36 | ; | 
|---|
| 37 | ISMS ;  format isms code sheet | 
|---|
| 38 | I QTY D ADJUST^PRCPSMA0(INVPT,ITEMDA,QTY,"","","") I STRING("AT")'="" S ISMSCNT=ISMSCNT+1,^TMP($J,"PRCPAWN1",ISMSCNT)=STRING("AT") | 
|---|
| 39 | I INVVALUE D ADJUST^PRCPSMA0(INVPT,ITEMDA,"",INVVALUE,+$P($G(^PRCP(445,INVPT,1,ITEMDA,0)),"^",22),"") I STRING("AT")'="" S ISMSCNT=ISMSCNT+1,^TMP($J,"PRCPAWN1",ISMSCNT)=STRING("AT") | 
|---|
| 40 | Q | 
|---|
| 41 | ; | 
|---|
| 42 | ; | 
|---|
| 43 | LOG ;  format log code sheets for isms | 
|---|
| 44 | S NSN=$E($TR($P(NSN,"-",2,4),"-")_"          ",1,10) | 
|---|
| 45 | ;  format quantity | 
|---|
| 46 | S QSIGN="+" | 
|---|
| 47 | I QTY<0 S QSIGN="-",QTY=QTY*-1 | 
|---|
| 48 | S QTY=$S(QTY=0:"     ",1:$E("00000",$L(QTY)+1,5)_QTY) | 
|---|
| 49 | ;  format inventory value | 
|---|
| 50 | S VSIGN=QSIGN | 
|---|
| 51 | I INVVALUE S INVVALUE=$TR($J(INVVALUE,0,2),"."),VSIGN="+" I INVVALUE<0 S VSIGN="-",INVVALUE=INVVALUE*-1 | 
|---|
| 52 | S INVVALUE=$S('INVVALUE:"     ",1:$E("0000000",$L(INVVALUE)+1,7)_INVVALUE) | 
|---|
| 53 | ;  build code sheets | 
|---|
| 54 | S %="",$P(%," ",80)="" | 
|---|
| 55 | I '$D(VOUCHER) S VOUCHER="     " | 
|---|
| 56 | I QSIGN=VSIGN S ISMSCNT=ISMSCNT+1,^TMP($J,"PRCPAWN1",ISMSCNT)="   "_NSN_PRC("SITE")_"605A"_ACCT_QTY_INVVALUE_QSIGN_VOUCHER_$E(DT,4,7)_$E(DT,2,3)_$E(%,1,35) Q | 
|---|
| 57 | I +QTY S ISMSCNT=ISMSCNT+1,^TMP($J,"PRCPAWN1",ISMSCNT)="   "_NSN_PRC("SITE")_"605A"_ACCT_QTY_"0000000"_QSIGN_VOUCHER_$E(DT,4,7)_$E(DT,2,3)_$E(%,1,35) | 
|---|
| 58 | I +INVVALUE S ISMSCNT=ISMSCNT+1,^TMP($J,"PRCPAWN1",ISMSCNT)="   "_NSN_PRC("SITE")_"605A"_ACCT_"00000"_INVVALUE_VSIGN_VOUCHER_$E(DT,4,5)_$E(DT,6,7)_$E(DT,2,3)_$E(%,1,35) | 
|---|
| 59 | Q | 
|---|