1 | PRCHHI7 ;WISC/TGH-IFCAP SEGMENT DL -(IT) ;8/12/92 10:00 AM
|
---|
2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;;
|
---|
5 | DL(A,VAR1,NUM,DLCNT) ;Prism delivery Order Line
|
---|
6 | N A2,A3,DAT,DESCLN,SKU,X,Y,I0,I2,I4,ITEM,KEPNUM,PRCHNSN,PRCHDIFF,PRCHQTY,PRCHJUDT
|
---|
7 | S (ITEM,ITEMCNT)=0,TOTAL=$P($G(^PRC(442,VAR1,2,0)),U,4)+7
|
---|
8 | S A2=2,A3="DE"
|
---|
9 | D NOW^%DTC S X=$P(%,".") D JD^PRCFDLN S DAT=$E(X,1,3)+1700_$E(Y,1,3)
|
---|
10 | F S ITEM=$O(^PRC(442,VAR1,2,ITEM)) K PRCHTP1 Q:ITEM'>0 D
|
---|
11 | .S DLCNT=DLCNT+1
|
---|
12 | .S I0=$G(^PRC(442,VAR1,2,ITEM,0))
|
---|
13 | .S DESCLN=$G(^PRC(442,VAR1,2,ITEM,1,0)),DESCLN=$P(DESCLN,U,4)
|
---|
14 | .S I2=$G(^PRC(442,VAR1,2,ITEM,2))
|
---|
15 | .S I4=$G(^PRC(442,VAR1,2,ITEM,4))
|
---|
16 | .;
|
---|
17 | .S PRCHTP1(0,20)="|DL"
|
---|
18 | .S PRCHTP1(0,2)=$P(I0,U,13) ;NSN
|
---|
19 | .S PRCHTP1(0,1)=$P(I0,U) ;ITEM LINE NO.
|
---|
20 | .S PRCHTP1(1,8)=$P(I2,U,2) ;CONTRACT #
|
---|
21 | .S PRCHTP1(0,11)=$P(A,U,10) ;DEL DATE
|
---|
22 | .S PRCHTP1(1,1)=$P(I0,U,2)\1 ;QTY ORDERED
|
---|
23 | .S SKU=$P(I0,U,16) I SKU]"" S SKU=$G(^PRCD(420.5,SKU,0))
|
---|
24 | .S PRCHTP1(0,3)=$P(SKU,U)
|
---|
25 | .S PRCHTP1(1,10)=DESCLN
|
---|
26 | .D
|
---|
27 | ..N I,J S (I,J)=""
|
---|
28 | ..;S $P(^PRCF(423,PRCFA("CSDA"),52,0),U,3,4)=$P(^PRC(442,VAR1,2,0),U,3,4)
|
---|
29 | ..;F S I=$O(PRCHTP1(I)) Q:I="" F S J=$O(PRCHTP1(I,J)) Q:J="" D
|
---|
30 | ..; WAS 3.'s $P(^PRCF(423,PRCFA("CSDA"),52,ITEM,I),U,J)=PRCHTP1(I,J)
|
---|
31 | ..;REMOVE DASHES FROM NSN & FORMAT UPTO 20 CHARS W TRAILING SPACES
|
---|
32 | ..S PRCHNSN=$TR($P(I0,U,13),"-")
|
---|
33 | ..I $D(PRCHNSN) S PRCHNSN=PRCHNSN_" ",PRCHNSN=$E(PRCHNSN,1,20)
|
---|
34 | ..;
|
---|
35 | ..;LINE ITEM NUMBER FORMAT UPTO 3 CHARS W LEADING ZEROS
|
---|
36 | ..S PRCHLINU=$P(I0,U),PRCHLINE="00"_PRCHLINU
|
---|
37 | ..I $D(PRCHLINU) S PRCHLINE=$E(PRCHLINE,$L(PRCHLINE)-2,99)
|
---|
38 | ..;
|
---|
39 | ..;REQUESTED DEL DATE FORMAT UPTO 7 CHARS W JULIAN DATE
|
---|
40 | ..S X=$P(A,U,10) D JD^PRCFDLN S PRCHJUDT=$E(X,1,3)+1700_$E(Y,1,3)
|
---|
41 | ..;
|
---|
42 | ..;QTY ORDERED FORMATTED UPTO 9 CHARS W LEADING ZEROS & 2 DEC. IMPLIED
|
---|
43 | ..S PRCHQTY=$TR($J($P(I0,U,2),0,2),".")
|
---|
44 | ..S PRCHQTY="000000000"_PRCHQTY
|
---|
45 | ..S PRCHQTY=$E(PRCHQTY,$L(PRCHQTY)-8,99)
|
---|
46 | ..;
|
---|
47 | ..S NUM=NUM+1
|
---|
48 | ..S ^TMP($J,"STRING",NUM)="DL"_"^^^"_PRCHNSN_"^"_PRCHLINE_"^"_$P(I2,U,2)_"^^"_PRCHJUDT_"^"_PRCHQTY_"^^^^"_$P(SKU,U)_"^^^^^|"
|
---|
49 | ..S KEPNUM=NUM D CO^PRCHHI9(A2,A3,VAR1,ITEM,.NUM)
|
---|
50 | ..;
|
---|
51 | ..;#DE SEGMENT (DESCR. COUNT) FORMATTED UPTO 3 CHARS W LEADING ZEROS
|
---|
52 | ..;IN DL STRING (3lines above) THE 17Tth piece is set to null
|
---|
53 | ..S PRCHDIFF=NUM-KEPNUM,PRCHDIFF="00"_PRCHDIFF
|
---|
54 | ..S PRCHDIFF=$E(PRCHDIFF,$L(PRCHDIFF)-2,99)
|
---|
55 | ..S $P(^TMP($J,"STRING",KEPNUM),U,17)=PRCHDIFF
|
---|
56 | ..Q
|
---|