The Edit Source tool is a subset of an SEU (PDM) like function. The
intent of the tool is to provide a simple source editor for a system
that does not have the STRSEU command or a similar function. This
would be typical in some remote or small installations. which may
need to compile CL and DDS source. See also the WRKSRC command which
provides a WRKMBRPDM like function.
While any source type may be edited (with some restrictions), the
following are the intended use:
CLP, CLP38, CLLE F4 is valid for prompting
CMD F4 is valid for prompting
PF, PF38
LF, LF38
DSPF, DSPF38
PRTF, PRTF38
TXT
Windowing of the source is not supported (only the text that appears
in the 70 byte window). If the source type allows F4 for prompting,
the source can normally be edited by prompting which forces the
statement to fit in the supplied window.
If a source statement has data beyond position 70 and prompting
cannot be used (or is not used), it is possible that the line can be
changed so that it will be invalid for a create function.
Because the system supplies commands such as CRTPF and CRTCLPGM, many
applications may be written using system function (not program
products) and TAA Tools.
CL Compiler support restricts the use of data base support to input
only and does not support printing. However, the TAA Tools:
CLPDBR Allows data base add, update, delete
BLDPRTLIN Builds a print line with editing
PRINT Prints from CL
can be used to build many applications.
A typical command to edit an existing member would be:
EDTSRC SRCFILE(xxxx) SRCMBR(yyyy)
A display similar to the SEU display would appear and source may be
edited. This includes updating, adding, deleting, moving, copying,
scanning, etc. Prompting exists for CLP, CLLE, and CMD source.
When exiting the editor, an Exit display is provided which is similar
to SEU. If changes have been made, an option defaults to update the
member. This causes the member to be cleared and the new data is
written back.
Not all of the SEU functions are provided. The following major
functions are included.
** Updating or adding a member.
** Rollup, rolldown, position by sequence number.
** Updating statements.
** Basic operations can be entered in positions 1-2:
I Insert one line
M Move one line
C Copy one line
D Delete one line
MM Move a set of lines (must be paired with an MM)
CC Copy a set of lines (must be paired with a CC)
DD Delete a set of lines (must be paired with a DD)
A The location for insertion after the line
B The location for insertion before the line
Note that several functions that are not valid in the sequence
columns such as W, In, Mn, RPn, CRn, CCR, COLS, F, IF, IP, +n,
or -n.
The following major differences exist
-------------------------------------
** The source file length must be between 92 and 112.
** Source statements that go beyond position 70 of a single line
may not be accessed. If the prompter is used, all source will
remain within the 70 byte window.
** No prompting exists other than for CL, CLLE, and CMD source
types.
** The browse/copy function is a full screen (not a split
screen).
** Several functions such as 'In' or 'RPn' are not supported (See
the previous list of supported functions).
** Many SEU Function key options are not supported such as F10,
F13, F14, F15, F17
** Syntax checking is not as good as SEU. When the prompter is
used, checking is the same. Without the prompter, EDTSRC is
not as effective.
** Lower case is assumed. Upper case may be entered by using the
shift key.
** There is no dummy record before the first statement or after
the last statement. Therefore, to insert before the first
record, insert at another location and move the statement.
You cannot copy the last statement after itself. If this is
needed, copy the last statement after the next to last
statement.
** A maximum of 9997 records may exist in the internal array used
to hold the source.
** The storing of defaults in the interactive profile is not
supported.
EDTSRC escape messages you can monitor for
------------------------------------------
None. Escape messages from based on functions will be re-sent.
EDTSRC Command parameters *CMD
-------------------------
SRCFILE The qualified name of the source file to be edited.
The library value defaults to *LIBL. *CURLIB may
also be used.
SRCMBR The source member to be edited. If the member does
not exist, NEWMBR(*YES) must be entered.
TYPE The type of source to be edited. Any value may be
entered, but it is intended for the standard values
such as CLP, RPG, PF, etc. Only CL and CMD source
types allow prompting. The default is *SAME to not
change the existing value. A value must be entered
if the member does not exist.
OPTION The option to be performed. *EDIT is the default to
edit the source.
*DSP may be entered to provide a 'display only'
function.
NEWMBR A *YES/*NO option for whether a new member is to be
entered. The default is *NO for an existing member.
If no member exists, *YES must be entered.
TEXT The text description of a new member. The default
is *BLANK meaning no text is assigned to the member.
The text is not changed for an existing member. To
change the text, end EDTSRC with F3 and enter a text
description in the 'Edit Source - TAA Exit' display.
Restrictions
------------
See the previous comments.
Prerequisites
-------------
The following TAA Tools must be on your system:
EDTVAR Edit variable
PRTSRCF Print source file
RSNLSTMSG Resend last message
RTVDBFA Retrieve data base file attributes
SNDCOMPMSG Send completion message
SNDESCINF Send escape information
SNDESCMSG Send escape message
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
EDTSRC *CMD TAASREJ QATTCMD
TAASREJC *PGM CLP TAASREJC QATTCL
TAASREJC2 *PGM CLP TAASREJC2 QATTCL
TAASREJC11 *PGM CLP TAASREJC11 QATTCL
TAASREJC12 *PGM CLP TAASREJC12 QATTCL
TAASREJC13 *PGM CLP TAASREJC13 QATTCL
TAASREJC15 *PGM CLP TAASREJC15 QATTCL
TAASREJR *PGM RPG TAASREJR QATTRPG
TAASREJR11 *PGM RPG TAASREJR11 QATTRPG
TAASREJR12 *PGM RPG
TAASREJR15 *PGM RPG TAASREJR15 QATTRPG
TAASREJD *FILE DSPF TAASREJD QATTDDS
TAASREJR11 is the main program. The source is also used to create
TAASREJR12 which is used for the Browse/Copy function.
TAASREJR is used as the first RPG program. It allows the CPY array
to be passed to TAASREJR11. This array is too large for a CL
variable so an RPG program is used.
Structure
---------
EDTSRC
TAASREJC CPP
TAASREJR Calls TAASREJR11 to allow large array
TAASREJR11 RPG Main program
TAASREJC2 CLP Clears member for update
TAASREJC11 CLP CL functions during F15
TAASREJC12 CLP Syntax check
TAASREJC13 CLP Used for F4 lists
TAASREJR12 RPG Used for copy/browse
TAASREJR15 RPG Used to copy all of a member
|