++USERMOD(ZP60009) REWORK(20221126) . ++VER(Z038) FMID(ETV0108) PRE(UZ35180,UZ26905,UZ67122,UZ22286,UZ55134,UZ28255, UZ71054,UZ54020,UZ68882,UZ57385,UZ28016) /* PROBLEM DESCRIPTION: THE NOEDIT OPERAND OF TPUT AND TPG IS NOT HONOURED BY TSO/VTAM. THE TIOC COMMON SVC 93 ROUTINE IGC0009C CORRECTLY DETECTS THE REQUEST OF NOEDIT FOR TPUT AND TPG REQUESTS, BUT THIS IS NOT HANDLED PROPERLY BY TSO/VTAM. THE GTTERM MACRO FUNCTION IS NOT SUPPORTED BY TSO/VTAM. WHEN A TSO APPLICATION ISSUES THE GTTERM MACRO RC=4 RESULTS. AN APPLICATION CANNOT DETERMINE IF THE READ PARTITION (QUERY) FUNCTION IS SUPPORTED. ALSO, THE ALTERNATE SCREEN SIZE CANNOT BE DETERMINED. 3270 HOUSEKEEPING IS LIMITED TO MODEL-1 AND MODEL-2 SCREEN SIZES. TSO WILL ONLY PERFORM LINE MODE 3270 SCREEN HOUSEKEEPING FOR MODEL-1 (12 BY 40) AND MODEL-2 (24 BY 80) SCREEN SIZES. THE ALTERNATE SCREEN SIZE OF A TERMINAL CANNOT BE PROPERLY EXPLOITED BY TSO LINE MODE, NOR BY TSO FULLSCREEN APPLICATIONS. THE NOEDIT OPERAND OF STFSMODE IS NOT SUPPORTED BY TSO/VTAM. NOEDIT INPUT MODE IS SET BY SPECIFYING NOEDIT=YES ON A 'STFSMODE ON' MACRO. THIS IS NOT SUPPORTED BY TSO. WITHOUT THIS ABILITY ANY X'1E' IN INPUT DATA (INCLUDING A QUERY RESPONSE, OR AN SBA ORDER FROM A SCREEN WITH MORE THAN 4096 LOCATIONS) WILL BE INTERPRETED AS A FIELD MARK CHARACTER AND CAUSE THE DATA FOLLOWING IT TO BE HELD OVER UNTIL THE NEXT TGET MACRO IS ISSUED. THIS USERMOD CHANGES SEVERAL TSO/VTAM MODULES. THE TSO/VTAM SVC 93 ROUTER IS CHANGED TO NOT REJECT REQUESTS WITH NOEDIT SPECIFIED. THE TSO/VTAM TPUT HANDLER IS CHANGED TO NOT TRUNCATE TRAILING BLANKS FROM NOEDIT REQUESTS. A PREVIOUSLY RESERVED BIT IS USED TO FLAG NOEDIT REQUESTS, WHICH ARE ALSO FLAGGED AS FULLSCREEN REQUESTS BY THE TPUT AND TPG MACROS (AND NOW ALSO BY THIS MODULE). THE TSO/VTAM TGET HANDLER IS CHANGED TO BACK OUT THE FIX FOR APAR OZ60978 SHIPPED IN PTF UZ57385 TO REGRESS FUNCTIONALITY TO THE UZ55134 LEVEL SO THAT TPUT MACROS ISSUED AFTER TGET MACROS WITH THE NOWAIT OPERAND ARE NOT QUEUED UNTIL THERE IS SOME INPUT, BUT SENT TO THE SCREEN ASYNCHRONOUSLY. THIS HAS THE EFFECT OF REINTRODUCING THE PROBLEM WHERE A TGET NOWAIT DOES NOT FORCE THE KEYBOARD TO BECOME UNLOCKED, BUT THIS CAN BE CIRCUMVENTED BY THE APPLICATION SETTING THE X'02' BIT IN THE WCC WHEN APPROPRIATE. THE TSO/VTAM TGET HANDLER IS ALSO CHANGED TO ADD THE TGET MACRO RETURN CODES 24 AND 28 WHICH MAY BE GIVEN WHEN NOEDIT INPUT MODE IS IN EFFECT, THEREBY IMPROVING COMPATIBILITY WITH TSO/E. THE TSO/VTAM INITIALIZATION ROUTINE FOR THE TSO INPUT MANAGER AND TSO OUTPUT MANAGER HAS BEEN CHANGED TO NOT REGARD TERMINALS WITH BUFFER SIZES LARGER THAN 1920 BYTES AS MODEL-1 TERMINALS. THIS WILL HELP AVOID LINE MODE SCREEN HANDLING ERRORS AFTER LOGON RECONNECT PROCESSING. THE TSO/VTAM LOGON RECONNECT ROUTINE HAS BEEN CHANGED TO INCLUDE THE PRIMARY AND ALTERNATE SCREEN DIMENSIONS IN THE DATA PERTAINING TO THE NEW TERMINAL PROPAGATED TO CONTROL BLOCKS WHEN A LOGON RECONNECT IS PERFORMED, THUS ALLOWING TSO APPLICATIONS TO DETECT DYNAMIC CHANGES TO THE SCREEN SIZE. THE TSO/VTAM 3270 TERMINAL SCREEN MANAGER IS ALTERED TO SKIP ANY DATA TRANSLATION FOR NOEDIT TPUTS. FURTHER, IN KEEPING WITH 3270 ARCHITECTURE DATA INTEGRITY FOR DISPLAYABLE CODE POINTS (WHERE ALL CODE POINTS IN THE RANGE X'40' TO X'FE' ARE CONSIDERED "DISPLAYABLE", AND REGARDLESS OF THE TERMINAL'S ABILITY TO DISPLAY THE CHARACTER, WHEN SUCH A CODE POINT IS WRITTEN TO THE TERMINAL, IT CAN BE READ BACK UNALTERED) ALL TPUTS TO 3270 EBCDIC TERMINALS WILL NO LONGER ALTER ANY DATA CODE POINTS IN THE X'40' TO X'FE' RANGE. (THE X'40' CODE POINT IS RESERVED FOR A BLANK IN ALL SINGLE-BYTE CHARACTER SETS.) THE TSO/VTAM 3270 TERMINAL SCREEN MANAGER IS ALSO ALTERED TO SUPPORT DIFFERENT PRIMARY AND ALTERNATE SCREEN SIZES OF ANY SIZE SUBJECT TO THE 3270 ARCHITECTURE LIMITATIONS, AND ALSO THAT THE ALTERNATE SCREEN SIZE NEVER HAS FEWER COLUMNS NOR FEWER LINES THAN THE PRIMARY SCREEN SIZE. TSO/VTAM LINE MODE HOUSEKEEPING WILL NOW USE 14-BIT ADDRESSING FOR ALL BUFFER LOCATIONS GREATER THAN 4095, BUT WILL STILL USE 12-BIT ADDRESSING FOR LOCATIONS FROM 0 TO 4095 INCLUSIVE. THIS CHANGE HAS THE EFFECT OF INCREASING THE MAXIMUM TSO/VTAM 3270 SCREEN SIZE SUPPORTED FROM 4096 LOCATIONS TO 16384 LOCATIONS. THE TSO/VTAM 3270 TERMINAL SCREEN MANAGER NOW HANDLES TPUT FULLSCR DIFFERENTLY TO THE EXTENT THAT A STANDARD WRITE (X'F1') WITH A NO-OP WCC (X'40') WILL NOT FORCE THE INCLUSION OF AN INSERT CURSOR ORDER AS THE TPUT MAY BE SENDING AN ASYNCHRONOUS PARTIAL SCREEN UPDATE WHICH DOES NOT OVERWRITE AN ACTIVE INPUT AREA WHERE SOME TEXT MAY BE BEING TYPED IN. THE TSO/VTAM 3270 INPUT DATA HANDLER HAS BEEN ALTERED TO NOT PROCESS FIELD MARK CHARACTERS INPUT WHEN NOEDIT MODE IS IN EFFECT. FURTHER, THE ACTUAL NUMBER OF COLUMNS AND LINES ON THE SCREEN IS USED IN LINE COUNT CALCULATIONS. THE TSO/VTAM SVC 94 ROUTER IS ALTERED TO PASS CONTROL TO A NEW CSECT FOR TSO TERMINAL CONTROL FUNCTION 17 (GTTERM). A TSO APPLICATION CAN NOW ISSUE A GTTERM MACRO TO DETERMINE IF THE QUERY BIT IS ON, AND CAN GET THE DIMENSIONS OF THE PRIMARY AND ALTERNATE SCREEN SIZES. NOEDIT TPUT/TPG MACROS CAN BE USED TO ISSUE WRITE STRUCTURED FIELD COMMANDS TO GAIN ACCESS TO VARIOUS 3270 EXTENSIONS INCLUDING GRAPHICS. QUERY SUPPORT IS NOT NEEDED FOR A READ BUFFER COMMAND WHICH CAN NOW ALSO BE ISSUED VIA A NOEDIT TPUT/TPG MACRO. GTTERM RETURN CODES AND OUTPUT IS COMPATIBLE WITH TSO/E, EXCEPT THAT THE TERMID OUTPUT AREA IS CURRENTLY LIMITED TO 8 BYTES. THE TERMINAL CONTROL MACRO ROUTINE FOR THE STFSMODE MACRO HAS BEEN CHANGED TO SUPPORT THE NOEDIT OPERAND, AND RESHOW KEY CODES CAN NOW BE IN THE RANGE OF FROM 1 TO 24 INCLUSIVE (REPRESENTING THE VALID PFK NUMBERS). THE TERMINAL CONTROL MACRO ROUTINE FOR THE STLINENO MACRO HAS BEEN CHANGED TO SUPPORT THE SPECIFICATION OF ANY VALID LINE NUMBER THAT EXISTS ON THE SCREEN. IT HAS ALSO BEEN CHANGED TO SUPPORT NOEDIT INPUT MODE. THE TERMINAL CONTROL MACRO ROUTINE FOR THE STSIZE MACRO HAS BEEN CHANGED TO INDICATE THAT ANY REQUESTED SCREEN SIZE WHICH MATCHES EITHER THE PRIMARY OR ALTERNATE SIZE OF THE SCREEN IS CONSIDERED A STANDARD SIZE, EVEN IF IT IS NOT THE SIZE OF A MODEL-1 OR MODEL-2 SCREEN. THIS IS DONE WITH A RETURN CODE OF ZERO INSTEAD OF A RETURN CODE OF 12 WHICH INDICATES A NON-STANDARD SCREEN SIZE. (THE FLAGGING OF NON-STANDARD SCREEN SIZES IS INTENDED TO WARN OF THE POSSIBILITY OF SCREEN CONTROL ERRORS.) THE MAPPING MACRO FOR THE TSO/VTAM WORK AREA IKTTVWA IS UPDATED TO ADD BIT TVWAALTS WHICH IS SET WHEN THE TSO/VTAM SCREEN MANAGER SETS THE SCREEN TO ITS ALTERNATE SIZE. (THE MAPPING OF THIS BIT IS INCOMPATIBLE WITH TSO/E.) THE STFSMODE TERMINAL CONTROL MACRO FOR TSO FULLSCREEN APPLICATIONS HAS BEEN UPDATED TO ADD THE NOEDIT OPERAND, WHICH CAN BE ASSIGNED THE VALUE OF YES OR NO. NO IS THE DEFAULT. NOEDIT=YES IS USED TO ALLOW BYTES WITH A VALUE OF X'1E' TO BE RETURNED TO AN APPLICATION AS INPUT DATA FROM THE TERMINAL WITHOUT EACH SUCH BYTE BEING PROCESSED AS A FIELD MARK. SPECIAL CONDITIONS: ACTION: A "CLPA" MUST BE PERFORMED AT IPL TIME FOR THIS SYSMOD TO BECOME ACTIVE. COMMENTS: PRYCROFT SIX P/L PUBLIC DOMAIN USERMOD FOR MVS 3.8 NUMBER 9. REWORK HISTORY: 2003-02-01: INITIAL RELEASE. 2003-03-05: KBD (UN)LOCK ASYNC MSGS DURING NOEDIT TPUTS. 2003-03-30: DO NOT FORCE IC IF WRT WITH NO-OP WCC. 2005-08-14: DO NOT FORCE LINE-WRAP AFTER COLUMN 80. 2009-06-01: USE SCREEN SIZES AND QUERY BIT FROM SNA BIND. 2009-11-07: CHANGE IKTIIOM AND ADD IKTLOGR ZAPS FOR RECONNECT. 2012-04-28: IMPROVE THE INTEROPERABILITY OF TPUT NOEDIT (WITH "UNLOCK KEYBOARD" SET IN THE WCC) AND TGET NOWAIT TO MATCH THAT OF TPUT FULLSCR AND TGET NOWAIT. 2019-04-22: CHANGE IKTVTGET SO THAT TGET NOWAIT REQUESTS DO NOT INHIBIT WRITES TO THE TERMINAL UNTIL SOME INBOUND DATA IS FIRST RECEIVED FROM THE TERMINAL. REMOVE DEBUG CODE AND FLAGS FROM IKT3270O CSECT. REMOVE FLSCRTAB EDITING OF TPUT FULLSCR DATA. 2020-06-21: CHANGE IKT3270I TO FIX LINE COUNT OF INPUT WIDTH. 2022-11-26: FIX 2019 IKTVTGET SOURCE CODE UPDATES TO CORRECTLY IMPLEMENT THE ZAP PREVIOUSLY USED, THEREBY FIXING TPUT HOLD BEHAVIOUR. MAKE THE CORRECT IKTVTGET SOURCE CODE CHANGES SO THAT TGET NOWAIT REQUESTS DO NOT INHIBIT WRITES TO THE TERMINAL UNTIL SOME INBOUND DATA IS FIRST RECEIVED FROM THE TERMINAL. TSO/VTAM IS A VTAM APPLICATION. THIS SYSMOD DOES NOT IMPLY THAT VTAM CAN CORRECTLY PROCESS THE DATA THAT CAN NOW BE GENERATED BY TSO APPLICATIONS, EVEN IF THE DATA CONSISTS OF A PERFECTLY VALID 3270 DATA STREAM. EVT0108 LOCAL NON-SNA SUPPORT IS PROVIDED BY USERMOD ZP60008. USERMOD ZP60032 UPGRADES THE GTTERM MACRO TO BE ABLE TO EXPLOIT NEW FUNCTION DELIVERED IN THIS SYSMOD. THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: MODULES: IKT0009C IKTVTPUT IKTIIOM IKTLOGR IKTVTGET IKT3270O IKT0009D IKTXLOG IKT3270I IKT09412 IKT09413 IKT0940A MACROS: IKTTVWA STFSMODE */.