SUBROUTINE DICT_POPUP * How many of you always hit F5 and type LOOKDICT FILENAME in the DICT window? * Provide a LOOKDICT style F2 popup for the DICT window rather than a choice * between all or non-indexed fields with only the names displayed. * To display indexed fields, use SF2 instead. * 04/13/91 - Byron Shindler - Original Program * 06/01/96 - BTS - Update for AREV 3.x $INSERT SYSINCLUDE,WINDOW_COMMON% $INSERT SYSINCLUDE,LOGICAL DECLARE SUBROUTINE MSG, FSMSG DECLARE FUNCTION POP.UP FILE.NAME = FIELD(WC_DATAFILE%," ",2) IF WC_DATAFILE% THEN DISPLAY = '' SORT.LIST = '' EOF = FALSE OPEN "DICT",FILE.NAME TO FILE ELSE FSMSG() RETURN END SELECT FILE LOOP READNEXT KEY ELSE EOF = TRUE UNTIL EOF IF KEY[1,1] NE "%" THEN READ RECORD FROM FILE, KEY THEN TYPE = RECORD<1> FMC = RECORD<2> ROW = KEY ROW:= @VM : TYPE ROW:= @VM : FMC ROW:= @VM : OCONV(RECORD<28>,"B") ROW:= @VM : RECORD<4> ROW:= @VM : RECORD<12> ROW:= @VM : RECORD<9> ROW:= @VM : RECORD<10> SORT.VALUE = TYPE:FMC"R(0)#3":KEY LOCATE SORT.VALUE IN SORT.LIST BY "AL" USING @FM SETTING POSITION ELSE SORT.LIST = INSERT(SORT.LIST,POSITION,0,0,SORT.VALUE) DISPLAY = INSERT(DISPLAY,POSITION,0,0,ROW) END END ELSE MSG('Record ':KEY:' is not found.','','','') END END REPEAT END ELSE MSG('Displaying a dictionary requires a file name.','','','') END COL = 0 ROW = 0 FILE = '' FORMAT = "1:30:L::Field Name\2:1:L::T\3:3:R::Pos\4:4:L::Mstr\5:3:L::S/M\6:15:L::Data Type\7:4:L::Just\8:3:R::Len" MODE = "R" SELECTION = 0 TITLE = FILE.NAME:@VM:"Dictionary Fields" ATTR = '' HELP = '' COLUMN = 1 TYPE = '' * @ANS = '' @ANS = POP.UP(COL,ROW,FILE,DISPLAY,FORMAT,MODE,SELECTION,TITLE,ATTR,HELP,COLUMN,TYPE) RETURN