A fix is available
APAR status
Closed as new function.
Error description
Allow the caller of the VIIF service to specify a WRITE exit which will be invoked when either the edit CREATE or REPLACE primary commands are entered. The VIIF COMMAND exit should also be invoked for the CREATE and REPLACE commands. In summary, the VIIF service should provide the same support as the EDIF service for the CREATE and REPLACE commands.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All ISPF users. * **************************************************************** * PROBLEM DESCRIPTION: Applications calling the VIIF service * * do not have the option of handling the * * processing for the edit CREATE and * * REPLACE primary commands. * **************************************************************** * RECOMMENDATION: * **************************************************************** The VIIF service does not support a write routine parameter to allow the dialog to handle write processing for the CREATE and REPLACE primary commands. This is not consistent with the EDIF service, where the dialog does have the option of handling write processing for the CREATE and REPLACE promary commands through a supplied write routine.
Problem conclusion
Temporary fix
Comments
The VIIF service is enhanced to support a new parameter which can be used to provide the address of a dialog-supplied write routine. This routine will be invoked when either the CREATE or REPLACE primary command is entered and the dialog-supplied command routine has set the return code to indicate the write routine is to do the data transfer for the command. --------- Start of documentation changes ---------------------- Changes to ISPF Service Guide z/OS 1.6 (SC34-4819-03) ISPF Service Guide z/OS 1.7 (SC34-4819-04) and ISPF Service Guide z/OS 1.8 (SC34-4819-05) --------------------------------------------------------------- In section 2.87 VIIF - View interface Replace the 2nd paragraph with the following: The invoking dialog must provide addresses to routines that: o Read the data sequentially from beginning to end, returning to View one record on each invocation. o Perform processing for the MOVE, COPY, and VIEW primary commands (and CREATE and REPLACE commands when a write routine is specified). If this routine is not specified, ISPF processes these commands. o Write the records selected for the CREATE and REPLACE primary commands, accepting one record from Edit on each invocation. In section 2.87.2 Call Invocation Format Replace the two syntax diagrams with the following: CALL ISPLINK ('VIIF ', data-name ,profile-name ,rec-format ,rec-len ,read-routine , cmd-routine , dialog-data , edit-len , panel-name , macro-name , format-name , 'YES '|'NO ' , 'YES '|'NO ' , parm-var , write-routine ); CALL ISPLINK ('VIIF ', data-name ,' ' , rec-format , rec-len ,read-routine , cmd-routine , dialog-data ,' ' ,' ' ,' ' ,' ' ,' ' ,'YES ' ,' ', write-routine ); In section 2.87.3 Parameters Replace the cmd-routine description with the following: cmd_routine A fullword address indicating the entry point of a dialog-supplied routine that processes the MOVE, COPY, and VIEW primary commands. This routine also processes the CREATE and REPLACE primary commands when the address of a write-routine is specified as a parameter on the VIIF call. See "Command Routine" in topic 2.87.4.2 for more information about this parameter. If this parameter is not specified, ISPF processes these commands. Add the following description for the write-routine parameter: write-routine A fullword address indicating the entry point of a dialog-supplied write routine used to handle the writing of records for the CREATE and REPLACE primary commands. See "Write Routine" in topic 2.87.4.2 for more information about this parameter. In section 2.87.4 Dialog-Supplied Routines Replace the 2nd paragraph with the following: A VIIF read or write routine must have an assembler interface to be used in a call to VIIF. Replace the 1st sentence of the 3rd paragraph with the following: The dialog-supplied routines are called directly by ISPF at the same task level (TCB) that displays the ISPF screens. In section 2.87.4.2 Command Routine Replace the 1st paragraph with the following: The dialog-supplied command routine, when specified, processes the MOVE, COPY, and VIEW primary commands. " If the address of a write-routine is specified as a parameter on the VIIF call the command routine also processes the CREATE and REPLACE primary commands. The command routine is invoked with the following parameters: Add the following entries to the list of decimal values for function: 3n Create 4n Replace Replace the second last paragraph with the following: For a MOVE, COPY, CREATE, or REPLACE, the command routine initiates the processing for the requested function. When the return code from the command routine is zero, EDIF calls the read or write routine to transfer the data. After the read or write is completed, the command routine is called once more to handle any termination processing that may be required for the requested function. For example, the MOVE function would need to delete the data that was moved. Add the following new section 2.87.4.3 Write Routine VIIF calls the write routine to write data records for the CREATE and REPLACE commands when the dialog is handling the processing for these commands. The write routine is called repeatedly to write the data records selected for the CREATE or REPLACE command. Flags are passed to the write routine to indicate the source and change status for each record. The dialog-supplied write routine is invoked with the following parameters: o Fullword pointer to record data to be written o Fullword fixed binary data length of record to be written if rec-format is V. This is the length of the nonblank portion of the record. The entire record with trailing blanks up to the maximum rec-len is available. o Fullword of source and change bits for the record. The bit representation is as follows: Source bits: 1 = original record 2 = internal move (Move line command) 3 = internal copy/repeat (Copy/Repeat line commands) 4 = external move (MOVE primary command) 5 = external copy (COPY primary command) 6 = text inserted (TE line command) 7 = typed inserted (Insert line command) Changed bits: 8 = record changed (global bit; set for all changes) 9 = data overtyped 10 = change command (CHANGE primary command) or overlay change (Overlay line command) 11 = columns shifted ((,((,),)) line commands) 12 = data shifted (<,<<,>,>> line commands) 13 = text change (TE, TF, TS line commands) 14 = record renumbered 15-32 = unused Multiple bits may be set on, indicating that more than one modification has occurred for the record. For example, a data record that is inserted by using the Insert line command and is later included in a text flow operation would have bits 7 (typed inserted), 8 (change), 9 (data overtyped) and 13 (text changed) turned on. Records read in for the initial display are flagged as original records. Whenever there is hidden data, the inaccessible portion of inserted records contains blanks. Records are copied in their entirety; that is, including both the visible and hidden portions of the data. o Fullword fixed binary request code. Request settings are as follows: 0 Write the next record 1 First write request 2 Last write request (final data record provided) 3 First and last write request (only one data record) o Fullword dialog data area address Add the following new section 2.87.5.3 Write Routine Return Codes 0 Normal completion 16 Output error, return to View mode 20 Severe error. (The VIIF service terminates immediately with a return code of 20.) --------------------------------------------------------------- Changes to ISPF Reference Summary z/OS 1.6 (SC34-4816-03) ISPF Reference Summary z/OS 1.7 (SC34-4816-04) and ISPF Reference Summary z/OS 1.8 (SC34-4816-05) --------------------------------------------------------------- In section 2.2.87.2 Call Invocation Format Replace the two syntax diagrams with the following: CALL ISPLINK ('VIIF ', data-name ,profile-name ,rec-format ,rec-len ,read-routine , cmd-routine , dialog-data , edit-len , panel-name , macro-name , format-name , 'YES '|'NO ' , 'YES '|'NO ' , parm-var , write-routine ); CALL ISPLINK ('VIIF ', data-name ,' ' , rec-format , rec-len ,read-routine , cmd-routine , dialog-data ,' ' ,' ' ,' ' ,' ' ,' ' ,'YES ' ,' ', write-routine ); In section 2.2.87.3 Return Codes Add the following: Write Routine Return Codes 0 Normal completion 16 Output error, return to View mode 20 Severe error. (The VIIF service terminates immediately with a return code of 20.) --------- End of documentation changes -------------------------
APAR Information
APAR number
OA20139
Reported component name
ISPF V4 (PDF/SC
Reported component ID
565504202
Reported release
E02
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2007-03-06
Closed date
2007-04-29
Last modified date
2007-06-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UA33810 UA33823 UA33848 UA33849 UA33850 UA33851 UA33893 UA33897
UA33898 UA33926 UA33927 UA33928 UA33929 UA33930 UA33931
Modules/Macros
ISREMCE6 ISREMFE6 ISREMPE6 ISREMQE6 ISREMWMF ISREPCR ISREPRP ISRSPT ISRVIIF
| SC34481903 | SC34481904 | SC34481905 | SC34481603 | SC34481604 |
| SC34481605 |
Fix information
Fixed component name
ISPF V4 (PDF/SC
Fixed component ID
565504202
Applicable component levels
RE02 PSY UA33810
UP07/05/02 P F705
RE11 PSY UA33849
UP07/05/02 P F705
RE14 PSY UA33850
UP07/05/02 P F705
RE15 PSY UA33851
UP07/05/02 P F705
RE16 PSY UA33893
UP07/05/02 P F705
RF02 PSY UA33823
UP07/05/02 P F705
RF11 PSY UA33897
UP07/05/02 P F705
RF14 PSY UA33898
UP07/05/02 P F705
RF15 PSY UA33926
UP07/05/02 P F705
RF16 PSY UA33927
UP07/05/02 P F705
RG02 PSY UA33848
UP07/05/02 P F705
RG11 PSY UA33928
UP07/05/02 P F705
RG14 PSY UA33929
UP07/05/02 P F705
RG15 PSY UA33930
UP07/05/02 P F705
RG16 PSY UA33931
UP07/05/02 P F705
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"E02","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCDKBQ","label":"Program Development Facility (PDF)"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"E02","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 June 2007