1 | TIUFT1 ; SLC/MAM - LM Template I (Items) Actions Delete, Edit/All, Mnemonic, Sequence, Menu Text, MTXTCHEC(DA,FILEDA,SILENT) ;4/17/97 11:02
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**17,27,43,64**;Jun 20, 1997
|
---|
3 | ;
|
---|
4 | MTXTCHEC(DA,FILEDA,SILENT,OLDMTXT,NEWMTXT) ; Check/Stuff/Inform Menu Text. **43**
|
---|
5 | ; If no MTXT, or MTXT starts w space, or MTXT starts with ALL, stuff
|
---|
6 | ;MTXT with first 20 chars of NAME (or, if NAME begins with ALL, begin
|
---|
7 | ;MTXT w/ ALX instead of ALL).
|
---|
8 | ; Requires array DA, i.e. DA(1) and DA, FILEDA, and SILENT.
|
---|
9 | ; Returns OLD menu text (or NOTEN) in OLDMTXT if received.
|
---|
10 | ; Returns NEW menu text (or NOENTRY) in NEWMTXT if received.
|
---|
11 | N NAMEOK
|
---|
12 | I $$MTXTOK(.DA,.OLDMTXT) S NEWMTXT=OLDMTXT G CHECX
|
---|
13 | S NAMEOK=1,NEWMTXT=$G(^TIU(8925.1,FILEDA,0),"NOENTRY^"),NEWMTXT=$P(NEWMTXT,U),NEWMTXT=$E(NEWMTXT,1,20)
|
---|
14 | I NEWMTXT="NOENTRY" G CHECX
|
---|
15 | I $E(NEWMTXT,1,3)="ALL" S NAMEOK=0
|
---|
16 | S NEWMTXT=$$MIXED^TIULS(NEWMTXT)
|
---|
17 | I 'NAMEOK S $E(NEWMTXT,3)="X"
|
---|
18 | D STUFF(.DA,NEWMTXT)
|
---|
19 | D:'SILENT MSG(NEWMTXT)
|
---|
20 | CHECX Q
|
---|
21 | ;
|
---|
22 | MTXTOK(DA,MTXT) ; Function returns 0 if Menu Text begins with space or all (any case) or if there is no Menu Text. Menu Text (or NOTEN if no ten node) is returned in MTXT.
|
---|
23 | ; Requires DA, DA(1)
|
---|
24 | N MTXTOK S MTXTOK=1
|
---|
25 | S MTXT=$G(^TIU(8925.1,DA(1),10,DA,0),"NOTEN")
|
---|
26 | I MTXT="NOTEN" S MTXTOK=0 G OKX
|
---|
27 | S MTXT=$P(MTXT,U,4)
|
---|
28 | I (MTXT="")!($E(MTXT)=" ")!($$UPPER^TIULS($E(MTXT,1,3))="ALL") S MTXTOK=0
|
---|
29 | OKX Q MTXTOK
|
---|
30 | ;
|
---|
31 | STUFF(DA,MTXT) ; Stuff MTXT
|
---|
32 | N DIE,DR
|
---|
33 | S DR="4///"_MTXT,DIE="^TIU(8925.1,DA(1),10," D ^DIE
|
---|
34 | Q
|
---|
35 | ;
|
---|
36 | MSG(MTXT) ; Inform user
|
---|
37 | I MTXT="NOTEN" W !!,"Item is missing from TIU DOCUMENT DEFINITION file. See IRM.",! Q
|
---|
38 | W !!,"Since item's Menu Text was bad or did not exist, item has been given Menu Text:",!,?5,MTXT,!
|
---|
39 | I $G(TIUFSTMP)'="T" W "To edit, select 'Detailed Display' for the PARENT, then select 'Items'.",!
|
---|
40 | H 3
|
---|
41 | Q
|
---|
42 | ;
|
---|
43 | EDDEL ; Template T (Items for Entry) Actions DELETE, EDIT/ ALL, MNEMONIC, SEQUENCE, MENU TEXT
|
---|
44 | ; Action Delete Items deletes item as an item only, NOT as a file entry.
|
---|
45 | ; No need to update original screen since entry collapsed, will reexpand
|
---|
46 | ; Requires arrays TIUFINFO, TIUFNOD0
|
---|
47 | N OLDLNO,SHIFT,TIUFDA10,LINENO,NODE0,NAME,INFO,TIUFERR,QUIT,TENDA
|
---|
48 | N DA,DIE,DR,DIR,DIK,X,Y,FILEDA,IFILEDA,DDEFUSED,INODE0,ITYPE,TIUFFULL
|
---|
49 | N ISTATUS,TIUFY,INATLFLG,TIUFXNOD,ISHARED,DTOUT,DIRUT,DIROUT
|
---|
50 | S TIUFXNOD=$G(XQORNOD(0)),VALMBCK="",TIUFFULL=0
|
---|
51 | S FILEDA=TIUFINFO("FILEDA")
|
---|
52 | I $P(TIUFXNOD,U,3)["Delete",$P(TIUFNOD0,U,13),TIUFWHO'="N",$P(TIUFNOD0,U,4)="DOC"!($P(TIUFNOD0,U,4)="CO") W !!," Parent is National, of Type TL or CO; Can't add or delete Items" D PAUSE^TIUFXHLX G EDDEX
|
---|
53 | L +^TIU(8925.1,FILEDA):1 I '$T W !!," Another user is editing this entry; Please try later",! H 2 G EDDEX
|
---|
54 | D EN^VALM2(TIUFXNOD,"O")
|
---|
55 | I '$O(VALMY(0)) G EDDEX
|
---|
56 | S OLDLNO=0,VALMBCK="R"
|
---|
57 | F S OLDLNO=$O(VALMY(OLDLNO)) Q:'OLDLNO D
|
---|
58 | . S TIUFDA10(OLDLNO)=$P(^TMP("TIUF2IDX",$J,OLDLNO),U,6)
|
---|
59 | . Q
|
---|
60 | S (OLDLNO,QUIT)=0,DA(1)=FILEDA
|
---|
61 | ; Delete Items
|
---|
62 | I $P(TIUFXNOD,U,3)["Delete" D G EDDEX
|
---|
63 | . S DIR(0)="Y",DIR("A")="Sure you want to delete items",DIR("B")="NO"
|
---|
64 | . S DIR("?",1)="Delete on Items Screen deletes entries as items from the parent ONLY; they are"
|
---|
65 | . S DIR("?",2)="NOT deleted from the file itself. For more, enter ?? at the Select Action"
|
---|
66 | . S DIR("?")="prompt and see DELETE."
|
---|
67 | . D ^DIR S TIUFY=Y K DIR,X,Y,DUOUT I TIUFY'=1 S VALMBCK="" W !!,"NOT Deleted!",! H 1 Q
|
---|
68 | . N DIRUT
|
---|
69 | . F S OLDLNO=$O(TIUFDA10(OLDLNO)) Q:'OLDLNO D Q:$D(DIRUT)
|
---|
70 | . . S TENDA=TIUFDA10(OLDLNO)
|
---|
71 | . . S IFILEDA=+^TIU(8925.1,DA(1),10,TENDA,0)
|
---|
72 | . . S INODE0=$G(^TIU(8925.1,IFILEDA,0)),ISHARED=+$P(INODE0,U,10)
|
---|
73 | . . I INODE0="" W !!," Entry ",OLDLNO," does not exist in File; See IRM",! D PAUSE^TIUFXHLX Q
|
---|
74 | . . S INATLFLG=+$P(INODE0,U,13),ITYPE=$P(INODE0,U,4),ISTATUS=$$STATWORD^TIUFLF5($P(INODE0,U,7)) ;e.g INACTIVE
|
---|
75 | . . I INATLFLG,ITYPE'="CO",TIUFWHO'="N" W !!," Entry ",OLDLNO," can't be deleted from parent: Entry is National",! D PAUSE^TIUFXHLX Q ;P64 prohibit deletion of natl entries as items except for natl components
|
---|
76 | . . I TIUFWHO="C",'ISHARED W !!," Entry ",OLDLNO," can't be deleted from parent:",!,"Only Shared Components can be added/deleted.",! D PAUSE^TIUFXHLX Q
|
---|
77 | . . ; If not CO, don't permit Item delete if Used by Docmts
|
---|
78 | . . I ITYPE'="CO" D I DDEFUSED="YES",'$$OVERRIDE^TIUFHA2("delete entry "_OLDLNO_" from parent even though it is IN USE by documents") W !," Entry ",OLDLNO," NOT deleted" H 3 Q
|
---|
79 | . . . S DDEFUSED=$$DDEFUSED^TIUFLF(IFILEDA)
|
---|
80 | . . . I DDEFUSED="YES" W !!," Entry ",OLDLNO," can't be deleted from parent: In Use by documents",! I TIUFWHO="N" D FULL^VALM1,OVERWARN^TIUFHA2 S TIUFFULL=1
|
---|
81 | . . I ISTATUS'="INACTIVE" W !!," Entry ",OLDLNO," can't be deleted from parent: not INACTIVE",! D PAUSE^TIUFXHLX Q
|
---|
82 | . . I TIUFTMPL="A",$E(TIUFATTR)="P",$$ORPHAN^TIUFLF4(FILEDA,TIUFNOD0)="NO" S TIUFREDO=1 ;orphaning items below item
|
---|
83 | . . S DA=TENDA,DIK="^TIU(8925.1,DA(1),10," D ^DIK
|
---|
84 | . . W !!," Entry ",OLDLNO," Deleted from parent",! H 2
|
---|
85 | . . S LINENO=$O(^TMP("TIUF2IDX",$J,"DA10",TENDA,0))
|
---|
86 | . . S SHIFT=-1
|
---|
87 | . . D UPDATE^TIUFLLM1("T",SHIFT,LINENO-1) S VALMCNT=VALMCNT+SHIFT
|
---|
88 | . . I $G(TIUFERR) S QUIT=1
|
---|
89 | . . ; D screen will be updated when return from T to D.
|
---|
90 | . . Q
|
---|
91 | . D NODE0ARR^TIUFLF(FILEDA,.TIUFNOD0)
|
---|
92 | . Q
|
---|
93 | ; Edit Items
|
---|
94 | D FULL^VALM1 S TIUFFULL=1
|
---|
95 | F S OLDLNO=$O(TIUFDA10(OLDLNO)) Q:'OLDLNO!QUIT D
|
---|
96 | . S QUIT=0
|
---|
97 | . S TENDA=TIUFDA10(OLDLNO)
|
---|
98 | . S LINENO=$O(^TMP("TIUF2IDX",$J,"DA10",TENDA,0))
|
---|
99 | . S INFO=^TMP("TIUF2IDX",$J,LINENO)
|
---|
100 | . S IFILEDA=$P(INFO,U,2),INODE0=$G(^TIU(8925.1,IFILEDA,0))
|
---|
101 | . I INODE0="" W !!," Item ",OLDLNO," Not in File! See IRM.",! D PAUSE^TIUFXHLX Q
|
---|
102 | . S ITYPE=$P(INODE0,U,4)
|
---|
103 | . W !!," Editing Entry ",OLDLNO
|
---|
104 | . I $P(TIUFXNOD,U,3)="Mnemonic" S DR="2"
|
---|
105 | . I $P(TIUFXNOD,U,3)="Sequence" S DR="3"
|
---|
106 | . I $P(TIUFXNOD,U,3)="Menu Text" S DR="4"
|
---|
107 | . I $P(TIUFXNOD,U,3)["All" S DR="3;2;4" I ITYPE'="CL",ITYPE'="DC" S DR="3;4"
|
---|
108 | . S DA=TENDA
|
---|
109 | . S DIE="^TIU(8925.1,DA(1),10," D ^DIE I $D(Y)!$D(DTOUT) S QUIT=1
|
---|
110 | . D MTXTCHEC(.DA,IFILEDA,0) H 4 ;If user left bad Menu Text by accepting bad existing value, stuff and inform user.
|
---|
111 | . Q
|
---|
112 | G:$D(DTOUT) EDDEX
|
---|
113 | D INIT^TIUFT
|
---|
114 | EDDEX I $D(DTOUT) S VALMBCK="Q"
|
---|
115 | L -^TIU(8925.1,+$G(FILEDA))
|
---|
116 | I $G(TIUFFULL) S VALMBCK="R" D RESET^TIUFXHLX
|
---|
117 | Q
|
---|