1 | XPDTA2 ;SFISC/RWF - Build Actions for Kernel Files Cont. ;08/09/2001 12:36
|
---|
2 | ;;8.0;KERNEL;**201**;Jul 10, 1995
|
---|
3 | Q
|
---|
4 | ;^XTMP("XPDT",XPDA,"KRN",XPDFILE,DA) is the global root
|
---|
5 | ;DA=ien in ^XTMP,XPDNM=package name, XPDA=package ien in ^XPD(9.6,
|
---|
6 | ;
|
---|
7 | PAR1E1 ;PARAMETER file 8989.51: entry post
|
---|
8 | N XP,XP1,XP2,XP3,VP,PN,ROOT
|
---|
9 | S ROOT=$NA(^XTMP("XPDT",XPDA,"KRN"))
|
---|
10 | D PAR51(DA) ;Handle the entry from 8989.51
|
---|
11 | ;Now find any entrys in 8989.5 to transport, because we point to them
|
---|
12 | S XP=0,XP3=$P(^XPD(9.6,XPDA,0),U,2),VP=XP3_";DIC(9.4,",PN=$$PT^XPDTA("^DIC(9.4)",XP3)
|
---|
13 | Q:'XP3 ;No package file link
|
---|
14 | F S XP=$O(^XTV(8989.5,"AC",DA,VP,XP)),XP1=0 Q:'XP D ;Instance
|
---|
15 | . F S XP1=$O(^XTV(8989.5,"AC",DA,VP,XP,XP1)) Q:'XP1 D ;entry
|
---|
16 | . . M ^XTMP("XPDT",XPDA,"KRN",8989.5,XP1)=^XTV(8989.5,XP1)
|
---|
17 | . . S XP3=^XTV(8989.5,XP1,0) ;param def.
|
---|
18 | . . S $P(@ROOT@(8989.5,XP1,0),U,2)=$$PT^XPDTA("^XTV(8989.51)",$P(XP3,U,2))
|
---|
19 | . . Q ;Will redo the ENT at other end.
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | PAR51(DA) ;Fix one 8989.51 entry in transport global
|
---|
23 | ;Called from both PAR1E1 and PAR2E1
|
---|
24 | N XP,XP1,XP2,XP3,VP,PN,ROOT
|
---|
25 | S ROOT=$NA(^XTMP("XPDT",XPDA,"KRN"))
|
---|
26 | ;Don't bring X-ref
|
---|
27 | K @ROOT@(8989.51,DA,30,"B"),^("AG")
|
---|
28 | S XP=0
|
---|
29 | ;Entries in the file will be maintained by Toolkit patches.
|
---|
30 | Q
|
---|
31 | ;
|
---|
32 | PAR2E1 ;PARAMETER file 8989.52 entry post
|
---|
33 | N XP1,XP2,XP3,ROOT
|
---|
34 | S ROOT=$NA(^XTMP("XPDT",XPDA,"KRN"))
|
---|
35 | ;Resolve USE INSTANCE OF
|
---|
36 | S XP2=$P(^XTV(8989.52,DA,0),U,4),XP3="" I XP2 S XP3=$$PT^XPDTA($NA(^XTV(8989.51)),XP2)
|
---|
37 | I $L(XP3) S $P(@ROOT@(8989.52,DA,0),U,4)=XP3
|
---|
38 | ;Resolve PARAMETERS
|
---|
39 | S XP1=0 K ^XTMP("XPDT",XPDA,"KRN",8989.52,DA,10,"B") ;Drop X-ref
|
---|
40 | F S XP1=$O(^XTV(8989.52,DA,10,XP1)),XP3="" Q:'XP1 D
|
---|
41 | . S XP2=$P(^XTV(8989.52,DA,10,XP1,0),U,2)
|
---|
42 | . I XP2 S XP3=$$PT^XPDTA($NA(^XTV(8989.51)),XP2)
|
---|
43 | . I '$L(XP3) K @ROOT@(8989.52,DA,10,XP1)
|
---|
44 | . S $P(^XTMP("XPDT",XPDA,"KRN",8989.52,DA,10,XP1,0),U,2)=XP3
|
---|
45 | . ;Now to move the entries this points to.
|
---|
46 | . I '$D(@ROOT@(8989.51,XP2)) M @ROOT@(8989.51,XP2)=^XTV(8989.51,XP2) D PAR51(XP2)
|
---|
47 | . Q
|
---|
48 | Q
|
---|