[796] | 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 |
|
---|