OpenVMS DCL Command Procedure :
In order to create the FILE-VIEW.TPU$SECTION file, do the following :
Extract the code located between the dashes into the file FILE-VIEW.TPU :
=========================================================================
procedure create_display
first_buffer := get_info(buffer,"current");
first_window := create_window(1,22,off);
set(modifiable,first_buffer,off);
set(status_line,first_window,underline," ");
set(eob_text,first_buffer,"<<<End Of Document>>>");
helpkeys_buffer := create_buffer("HelpKeys","file-view-help.txt");
helpkeys_window := create_window(23,2,off);
set(video,helpkeys_window,reverse);
map (helpkeys_window,helpkeys_buffer);
map (first_window,first_buffer);
endprocedure;
!
procedure exit_editor
exit;
endprocedure;
!
procedure undefine_nonessential_keys
undefine_key(ctrl_k_key);
undefine_key(ctrl_r_key);
undefine_key(ctrl_v_key);
undefine_key(key_name("0",shift_key));
undefine_key(key_name("1",shift_key));
undefine_key(key_name("2",shift_key));
undefine_key(key_name("3",shift_key));
undefine_key(key_name("4",shift_key));
undefine_key(key_name("5",shift_key));
undefine_key(key_name("6",shift_key));
undefine_key(key_name("7",shift_key));
undefine_key(key_name("8",shift_key));
undefine_key(key_name("9",shift_key));
endprocedure;
!
procedure eve_toggle_width
local swidth;
swidth := get_info(screen,"width");
if swidth = 80 then
swidth := 132;
else
swidth := 80;
endif;
eve_set_width(swidth);
endprocedure;
!
procedure tpu$local_init
create_display;
undefine_nonessential_keys;
define_key("exit_editor",key_name("K",shift_key));
define_key("eve_toggle_width",key_name("V",shift_key),"Change screen width");
define_key("eve_find('')",key_name(",",shift_key),"Start search");
define_key("eve_find_next",key_name(".",shift_key),"Continue search");
endprocedure;
tpu$local_init;
=========================================================================
Extract the code located between the dashes into the file FILE-VIEW-HELP.TXT :
=========================================================================
Gold/, ==> Search Gold/{up arrow} ==> Top Gold/V ==> Screen width
Gold/. ==> Cont Search Gold/{down arrow} ==> Bottom Gold/K ==> Exit
=========================================================================
Enter the EVE text editor and retrieve the file FILE-VIEW.TPU.
Press the DO key to bring up the "Command:" prompt.
Enter in "EXTEND TPU *"
Press the DO key to bring up the "Command:" prompt.
Enter in "SAVE FILE-VIEW"
Exit from EVE.
$!
$! VIEW_REPORT.COM
$!
$! This procedure will enable a user to view an SIS report located in their
$! root directory.
$!
$ SET NOVERIFY
$ SET NOCONTROL_Y
$ DEFINE/NOLOG SYS$INPUT SYS$COMMAND
$ ON ERROR THEN GOTO END
$ ON WARNING THEN GOTO END
$!
$ SAY :== WRITE SYS$OUTPUT
$ ASK :== READ/END=END/PROMPT=
$ CL*EAR :== "SET TERM/WIDTH=80"
$!
$! Prompt for file name to view.
$!
$TOP:
$!
$ CL
$ ASK "Enter the report name to view: " SYS$COMMAND PRM
$!
$ PRM = F$EDIT(PRM, "UPCASE,COLLAPSE")
$ IF PRM .EQS. "" THEN GOTO END
$!
$! Check to see if file name exists.
$!
$FILE_SEARCH:
$!
$ FILNM = "SYS$LOGIN:" + PRM + "RPT.PRT"
$ PRMFL = F$SEARCH(FILNM)
$!
$ IF PRMFL .EQS. ""
$ THEN
$ SAY FILNM," Not found in your directory. Re-enter report name."
$ ASK "Press <RETURN> to continue ... " SYS$COMMAND DUMMY
$ GOTO TOP
$ ENDIF
$!
$! List out all matching files and prompt user to select one to view.
$!
$CONTINUE:
$!
$ CL
$ SAY " "
$ SAY "Listing for files are in the format specified: "
$ SAY " "
$ SAY "NAME.EXTENSION.VERSION SIZE DATE TIME"
$ DIR/DATE/SIZE/NOTRAILING 'FILNM'
$ SAY " "
$ SAY "CONTROL-Z to exit without viewing "
$ ASK "Enter version number of file to view or press <RETURN> for latest: " SYS$COMMAND VIRGIN
$!
$ PR_FILE = FILNM + ";" + F$EDIT(VIRGIN, "COLLAPSE")
$ IF F$SEARCH(PR_FILE) .EQS. ""
$ THEN
$ SAY " "
$ SAY " "
$ SAY PR_FILE," Not found. Re-enter the version number."
$ ASK "<RETURN> to continue ... " SYS$COMMAND DUMMY
$ GOTO CONTINUE
$ ENDIF
$!
$ EDIT/TPU/SECTION=FILE-VIEW.TPU$SECTION 'PR_FILE'
$!
$END:
$!
$ EXIT
This page hosted by
Get your own Free Homepage