1 | TMGBROWS ;TMG/kst/Record browser ;03/25/06
|
---|
2 | ;;1.0;TMG-LIB;**1**;03/10/07
|
---|
3 |
|
---|
4 | ;" TMG BROWSE RECORDS
|
---|
5 | ;"Kevin Toppenberg MD
|
---|
6 | ;"GNU General Public License (GPL) applies
|
---|
7 | ;"3-10-2007
|
---|
8 |
|
---|
9 | ;"=======================================================================
|
---|
10 | ;" API -- Public Functions.
|
---|
11 | ;"=======================================================================
|
---|
12 | ;"ASKBROWSE -- browse records, and follow pointers
|
---|
13 |
|
---|
14 | ;"=======================================================================
|
---|
15 | ;" Private Functions.
|
---|
16 | ;"=======================================================================
|
---|
17 | ;"Browse(FileNum,IENS,ShowEmpty) --Browse a record, allowing display of
|
---|
18 | ;" the current record, or follow pointers to other records.
|
---|
19 | ;"DispRec(FileNum,IEN) -- To display record
|
---|
20 |
|
---|
21 | ;"=======================================================================
|
---|
22 |
|
---|
23 |
|
---|
24 | ASKBROWSE
|
---|
25 | ;"Purpose: To browse records, and follow pointers.
|
---|
26 |
|
---|
27 | write !!," -= RECORD BROWSE =-",!
|
---|
28 | new FIENS,IENS
|
---|
29 | AL1
|
---|
30 | set FIENS=$$AskFIENS^TMGDBAPI()
|
---|
31 | if (FIENS["?")!(FIENS="^") goto ASKDone
|
---|
32 |
|
---|
33 | set FileNum=$piece(FIENS,"^",1)
|
---|
34 | set IENS=$piece(FIENS,"^",2)
|
---|
35 |
|
---|
36 | AL2
|
---|
37 | set IENS=$$AskIENS^TMGDBAPI(FileNum,IENS)
|
---|
38 | if (IENS["?")!(IENS="") goto AL1
|
---|
39 |
|
---|
40 | new % set %=2
|
---|
41 | write "Display empty fields"
|
---|
42 | do YN^DICN
|
---|
43 | if %=-1 write ! goto ASKDone
|
---|
44 |
|
---|
45 | ;"Do the output
|
---|
46 | write ! do Browse(FileNum,IENS,(%=1))
|
---|
47 | set IENS=$piece(IENS,",",2,99) ;"force Pick of new record to dump
|
---|
48 | if +IENS>0 goto AL2
|
---|
49 | goto AL1
|
---|
50 |
|
---|
51 |
|
---|
52 | ASKDone
|
---|
53 | quit
|
---|
54 |
|
---|
55 |
|
---|
56 | Browse(FileNum,IENS,ShowEmpty)
|
---|
57 | ;"Purpose: Browse a record, allowing display of the current record, or
|
---|
58 | ;" follow pointers to other records.
|
---|
59 | ;"Input: FileNum -- the number of the file to browse
|
---|
60 | ;" IENS -- the record number to display (or IENS: #,#,#,)
|
---|
61 | ;" ShowEmpty -- OPTIONAL; if 1 then empty fields will be displayed
|
---|
62 |
|
---|
63 | new FldInfo,field
|
---|
64 | do GetPtrsOUT^TMGDBAPI(FileNum,.FldInfo)
|
---|
65 |
|
---|
66 | if $extract(IENS,$length(IENS))'="," set IENS=IENS_","
|
---|
67 |
|
---|
68 | set field=""
|
---|
69 | for set field=$order(FldInfo(field)) quit:(field="") do
|
---|
70 | . new name set name=$$GetFldName^TMGDBAPI(FileNum,field)
|
---|
71 | . set FldInfo(field,"NAME")=name
|
---|
72 |
|
---|
73 | new Menu
|
---|
74 | new count set count=1
|
---|
75 | write "File: ",$$GetFName^TMGDBAPI(FileNum),!
|
---|
76 |
|
---|
77 | set Menu(0)="File: "_$$GetFName^TMGDBAPI(FileNum)_" ("_FileNum_"), Record: "_IENS
|
---|
78 | set field=""
|
---|
79 | for set field=$order(FldInfo(field)) quit:(field="") do
|
---|
80 | . new ptr set ptr=$$GET1^DIQ(FileNum,IENS,field,"I")
|
---|
81 | . new otherName set otherName=$$GET1^DIQ(FileNum,IENS,field)
|
---|
82 | . if ptr="" quit
|
---|
83 | . new name set name=$$GetFldName^TMGDBAPI(FileNum,field)
|
---|
84 | . set Menu(count)="BROWSE: ("_field_") "_name_"--> "_otherName_$char(9)_FldInfo(field)_"|"_ptr
|
---|
85 | . set count=count+1
|
---|
86 |
|
---|
87 | set Menu(count)="DUMP entire record"_$char(9)_"DUMP"
|
---|
88 |
|
---|
89 | M0 write #
|
---|
90 | set UsrSlct=$$Menu^TMGUSRIF(.Menu,"^")
|
---|
91 |
|
---|
92 | if UsrSlct="DUMP" do DispRec(FileNum,IENS) goto M0
|
---|
93 | if UsrSlct["|" do goto M0
|
---|
94 | . new newFile set newFile=$piece(UsrSlct,"|",1)
|
---|
95 | . new IEN set IEN=$piece(UsrSlct,"|",2)_","
|
---|
96 | . do Browse(newFile,IEN,.ShowEmpty)
|
---|
97 | if UsrSlct="^" goto MenuDone
|
---|
98 | goto M0
|
---|
99 |
|
---|
100 | MenuDone
|
---|
101 | quit
|
---|
102 |
|
---|
103 |
|
---|
104 | DispRec(FileNum,IEN)
|
---|
105 | ;"Purpose: To display record
|
---|
106 | ;"Input: FileNum -- The File number to display
|
---|
107 | ;" IEN -- the IEN (record number) to display in file.
|
---|
108 | ;"Results: none
|
---|
109 |
|
---|
110 | write "File: ",$$GetFName^TMGDBAPI(FileNum),!
|
---|
111 | do DumpRec2^TMGDEBUG(FileNum,IEN_",",0)
|
---|
112 | do PressToCont^TMGUSRIF
|
---|
113 |
|
---|
114 | quit
|
---|
115 |
|
---|