1 | TIUFD ; SLC/MAM - LM Screen D (Display) INIT, DS/BASICS,ITEMS,PARNT,BOILTX,TECH(LASTLIN) ;02/16/06
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**14,184,211**;Jun 20, 1997;Build 26
|
---|
3 | ;
|
---|
4 | HDR ; -- header code
|
---|
5 | S VALMHDR(1)=$$FHDR
|
---|
6 | HDRX ;
|
---|
7 | Q
|
---|
8 | ;
|
---|
9 | FHDR() ; Function returns Type_Name for headers; Requires Array TIUFNOD0.
|
---|
10 | N NAME,TYPE
|
---|
11 | S NAME=$P(TIUFNOD0,U)
|
---|
12 | S TYPE=$$MIXED^TIULS(TIUFNOD0("TYPE"))
|
---|
13 | I TYPE'="" S TYPE=TYPE_" "
|
---|
14 | Q $$CENTER^TIUFL(TYPE_NAME,79)
|
---|
15 | ;
|
---|
16 | INIT ; -- init variables and list array
|
---|
17 | N TEMPLATE
|
---|
18 | K ^TMP("TIUF3",$J),^TMP("TIUF3IDX",$J)
|
---|
19 | D CLEAN^VALM10
|
---|
20 | S VALMCNT=0 D DSBASICS(.VALMCNT)
|
---|
21 | INITX I $D(DTOUT) S VALMQUIT=1
|
---|
22 | Q
|
---|
23 | ;
|
---|
24 | DSBASICS(LASTLIN) ; Set/Update Display Array TIUF3 starting with Basics.
|
---|
25 | ; Requires LASTLIN = Last array line set, if setting array; = Last
|
---|
26 | ;line to keep before resetting the rest if resetting array.
|
---|
27 | ; Updates LASTLIN to Last array line set by this module.
|
---|
28 | ; Requires CURRENT arrays TIUFINFO, TIUFNOD0.
|
---|
29 | ;WARNING: +TIUFINFO may = 0!
|
---|
30 | ; Any blanklines are set at the beginning, not the end, of the module.
|
---|
31 | N LINENO,CNT,TIUI,FILEDA,LP,LC,OWNER,DA,DR,TYPE,DIC,DIQ,FLDNO
|
---|
32 | S LINENO=LASTLIN
|
---|
33 | ;If called to redisplay edited screen rather than by Init, kill array starting with Basics before resetting array.
|
---|
34 | S CNT=$O(^TMP("TIUF3",$J,1000000),-1)
|
---|
35 | F TIUI=LASTLIN+1:1:CNT K ^TMP("TIUF3",$J,TIUI),^TMP("TIUF3IDX",$J,TIUI)
|
---|
36 | S FILEDA=TIUFINFO("FILEDA"),TYPE=$P(TIUFNOD0,U,4)
|
---|
37 | S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=" Basics"_$S(TYPE'="O":" Note: Values preceded by * have been inherited",1:"")
|
---|
38 | K TIUFQ
|
---|
39 | S DIC=8925.1,DR=".01:.15;3.02;3.03;1501",DIQ(0)="I,E",DA=FILEDA,DIQ="TIUFQ" D EN^DIQ1 ;P184
|
---|
40 | F FLDNO=.01,1501,.02,.03,.04,.1,0,.13,.07,.05,.11,.08,.15,3.02,3.03 D
|
---|
41 | . I FLDNO=0,"NM"'[TIUFWHO Q ;Sets IFN line.
|
---|
42 | . I FLDNO=.1,TYPE'="CO" Q
|
---|
43 | . I FLDNO=.11,TIUFTMPL'="A"!(TYPE="O") Q
|
---|
44 | . I FLDNO=3.03,TYPE="CO"!(TYPE="O")!(TIUFWHO="C") Q
|
---|
45 | . I FLDNO=3.02,"N"'[TIUFWHO Q ; For now, include OK to Distribute only on Natl options. MAM
|
---|
46 | . D SETFLD^TIUFLD(FILEDA,.LINENO,FLDNO)
|
---|
47 | . Q
|
---|
48 | K TIUFQ
|
---|
49 | DSBAX S LASTLIN=LINENO Q:$D(DTOUT) D DSPARNT(.LASTLIN)
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | DSPARNT(LASTLIN) ; Set/Update Display Array TIUF3 starting with Parents.
|
---|
53 | ; See DSBASICS for required variables, etc.
|
---|
54 | N LINENO,CNT,TIUI,FILEDA,TIUREC,INFO,NODE0,TYPE,OLDLNO,PARENT
|
---|
55 | S (TIUFPLIN,LINENO)=LASTLIN,FILEDA=TIUFINFO("FILEDA"),TYPE=$P(TIUFNOD0,U,4)
|
---|
56 | I TYPE="O" G DSPAX
|
---|
57 | ; Don't display parents if Template H or C, unless SHARED CO OR (mistakenly) Multiple Parents:
|
---|
58 | I "HC"[TIUFTMPL,'((TYPE="CO")&$P(TIUFNOD0,U,10)) S PARENT=+$O(^TIU(8925.1,"AD",FILEDA,0)) I '$O(^TIU(8925.1,"AD",FILEDA,PARENT)) G DSPAX
|
---|
59 | ;If called to redisplay edited screen rather than by Init, kill array starting with Parents before resetting array.
|
---|
60 | S CNT=$O(^TMP("TIUF3",$J,1000000),-1)
|
---|
61 | F TIUI=LASTLIN+1:1:CNT K ^TMP("TIUF3",$J,TIUI),^TMP("TIUF3IDX",$J,TIUI)
|
---|
62 | S FILEDA=TIUFINFO("FILEDA")
|
---|
63 | S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=""
|
---|
64 | S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=" Parent"_$S(TIUFNOD0("SHARE")="":"",1:"s")_$S($O(^TIU(8925.1,"AD",FILEDA,0)):" Type IFN Natl Status Owner",1:"")
|
---|
65 | I '$O(^TIU(8925.1,"AD",FILEDA,0)) S LASTLIN=LINENO G DSPAX
|
---|
66 | S TIUI=0,OLDLNO=LINENO
|
---|
67 | F S TIUI=$O(^TIU(8925.1,"AD",FILEDA,TIUI)) Q:'TIUI D G:$D(DTOUT) DSPAX
|
---|
68 | . S LINENO=LINENO+1 D NINFO^TIUFLLM(LINENO,TIUI,.INFO),PARSE^TIUFLLM(.INFO),NODE0ARR^TIUFLF(TIUI,.NODE0) Q:$D(DTOUT)
|
---|
69 | . I NODE0="" W !!," Entry "_FILEDA_" has parent missing from the file.",! S LINENO=LINENO-1 D PAUSE^TIUFXHLX Q
|
---|
70 | . D BUFENTRY^TIUFLLM2(.INFO,.NODE0,"80")
|
---|
71 | . Q
|
---|
72 | D UPDATE^TIUFLLM1("D",LINENO-OLDLNO,OLDLNO)
|
---|
73 | DSPAX S LASTLIN=LINENO Q:$D(DTOUT) D DSITEMS(.LASTLIN)
|
---|
74 | Q
|
---|
75 | ;
|
---|
76 | DSITEMS(LASTLIN) ; Set/Update Display Array TIUF3 starting with Items.
|
---|
77 | ; See DSBASICS for required variables, etc.
|
---|
78 | ; Called by subtemplates D AND T
|
---|
79 | N LINENO,CNT,TIUI,FILEDA,TIUREC,ITEMS,OLDLNO,HASITEMS
|
---|
80 | S (TIUFILIN,LINENO)=LASTLIN
|
---|
81 | G:TIUFNOD0("ITEMS")="" DSITX ; Items is NA
|
---|
82 | ;If called to redisplay edited screen rather than by Init, kill array starting with Items before resetting array.
|
---|
83 | S CNT=$O(^TMP("TIUF3",$J,1000000),-1)
|
---|
84 | F TIUI=LASTLIN+1:1:CNT K ^TMP("TIUF3",$J,TIUI),^TMP("TIUF3IDX",$J,TIUI)
|
---|
85 | S FILEDA=TIUFINFO("FILEDA")
|
---|
86 | S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=""
|
---|
87 | ; HASITEMS may have changed if edited items:
|
---|
88 | S ITEMS=" Items",HASITEMS=$$HASITEMS^TIUFLF1(FILEDA) I HASITEMS S ITEMS=ITEMS_" (By Sequence if they have it, otherwise alphabetically by Menu Text)"
|
---|
89 | S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=ITEMS
|
---|
90 | I 'HASITEMS G DSITX
|
---|
91 | S TIUREC=$$SETSTR^VALM1("Item","",2,37)
|
---|
92 | S:"NM"[TIUFWHO TIUREC=$$SETSTR^VALM1(" IFN",TIUREC,32,7)
|
---|
93 | S TIUREC=$$SETSTR^VALM1("Seq ",TIUREC,41,6),TIUREC=$$SETSTR^VALM1("Mnem",TIUREC,49,4),TIUREC=$$SETSTR^VALM1("Menu Text",TIUREC,55,26)
|
---|
94 | S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=TIUREC,OLDLNO=LINENO
|
---|
95 | ; Checked for items existing before entered EDIT/View. So items exist:
|
---|
96 | D BUFITEMS^TIUFLT("D",.TIUFINFO,.LINENO) G:$D(DTOUT) DSITX
|
---|
97 | D UPDATE^TIUFLLM1("D",LINENO-OLDLNO,OLDLNO)
|
---|
98 | DSITX S LASTLIN=LINENO Q:$D(DTOUT) D DSBOILTX(.LASTLIN)
|
---|
99 | Q
|
---|
100 | ;
|
---|
101 | DSBOILTX(LASTLIN) ; Set Display Array TIUF3 starting with Boilerplte Text.
|
---|
102 | ; Used by subtemplates D and X AND T
|
---|
103 | ; See DSBASICS for required variables, etc.
|
---|
104 | N LINENO,CNT,TIUI,FILEDA,NAME
|
---|
105 | S (TIUFBLIN,LINENO)=LASTLIN
|
---|
106 | G:TIUFNOD0("BOILPT")="" DSBOX ; NA
|
---|
107 | ;If called to redisplay edited screen rather than by Init, kill array starting with Boilpt Txt before resetting array.
|
---|
108 | S CNT=$O(^TMP("TIUF3",$J,1000000),-1)
|
---|
109 | F TIUI=LASTLIN+1:1:CNT K ^TMP("TIUF3",$J,TIUI),^TMP("TIUF3IDX",$J,TIUI)
|
---|
110 | S FILEDA=TIUFINFO("FILEDA")
|
---|
111 | I TIUFSTMP'="X" S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)="",LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=" Boilerplate Text"
|
---|
112 | I TIUFNOD0("TYPE")="COMPONENT" S NAME=$P(TIUFNOD0,U),LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=NAME_":"
|
---|
113 | D SETBOIL^TIUFLD1(FILEDA,.LINENO)
|
---|
114 | D DSETBOIL^TIUFLD1(FILEDA,.LINENO)
|
---|
115 | DSBOX S LASTLIN=LINENO Q:$D(DTOUT) D:TIUFSTMP'="X" DSTECH(.LASTLIN)
|
---|
116 | Q
|
---|
117 | ;
|
---|
118 | DSTECH(LASTLIN) ; Set/Update Display Array TIUF3 starting with Technical Flds.
|
---|
119 | ; See DSBASICS for required variables, etc.
|
---|
120 | ; Called by subtemp D and T
|
---|
121 | N LINENO,CNT,TIUI,FILEDA,FLDNO,PFILEDA,PNODE61,PCUSTOM,TYPE
|
---|
122 | N DIC,DR,DIQ,DA
|
---|
123 | S (TIUFTLIN,LINENO)=LASTLIN
|
---|
124 | I "NM"'[TIUFWHO G DSTEX
|
---|
125 | S TYPE=$P(TIUFNOD0,U,4) I TYPE="CO" G DSTEX
|
---|
126 | ;If called to redisplay edited screen rather than by Init, kill array starting with Tech flds before resetting array.
|
---|
127 | S CNT=$O(^TMP("TIUF3",$J,1000000),-1)
|
---|
128 | F TIUI=LASTLIN+1:1:CNT K ^TMP("TIUF3",$J,TIUI),^TMP("TIUF3IDX",$J,TIUI)
|
---|
129 | S FILEDA=TIUFINFO("FILEDA")
|
---|
130 | S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=""
|
---|
131 | S LINENO=LINENO+1,^TMP("TIUF3",$J,LINENO,0)=" Technical Fields"_$S(TYPE'="O":" Note: Values preceded by * have been inherited",1:"")
|
---|
132 | K TIUFQ
|
---|
133 | S DIC=8925.1,DR="4.1:4.45;4.6;4.7;4.9;5:9",DIQ(0)="I,E",DA=FILEDA,DIQ="TIUFQ" D EN^DIQ1
|
---|
134 | I TYPE="O" D SETFLD^TIUFLD(FILEDA,.LINENO,9) G DSTEX
|
---|
135 | S PFILEDA=+$O(^TIU(8925.1,"AD",FILEDA,0))
|
---|
136 | I TYPE="CL"!(TYPE="DC")!(TYPE="DOC") S PNODE61=$G(^TIU(8925.1,PFILEDA,6.1)),PCUSTOM=$P(PNODE61,U,4) I PCUSTOM="" D INHERIT^TIUFLD(FILEDA,0,6.14,"","","",.PCUSTOM)
|
---|
137 | F FLDNO=4.1,4.2,4.3,4.4,4.45,4.6,4.7,4.9,5,6,6.1,6.12,6.13,7,8,6.14 D
|
---|
138 | . I FLDNO=6.14,TYPE'="CL",TYPE'="DC" Q
|
---|
139 | . I FLDNO=6.1!(FLDNO=6.12)!(FLDNO=6.13),'$G(PCUSTOM) Q
|
---|
140 | . D SETFLD^TIUFLD(FILEDA,.LINENO,FLDNO)
|
---|
141 | . Q
|
---|
142 | DSTEX K TIUFQ S LASTLIN=LINENO Q:$D(DTOUT) D DSEMBED^TIUFD1(.LASTLIN)
|
---|
143 | Q
|
---|
144 | ;
|
---|