Page 1 of 1

Panel input field

PostPosted: Fri Jun 10, 2011 6:23 pm
by Julie
Hi,
I have a panel where the user enters 5 characters selection. Is there a way to make the cursor jump from an input field to the next input field automatically after they enter the first character?
)ATTR                                                                 
 +  TYPE(PT)                     /* TEXT   Panel Title              */
 %  TYPE(PS)                     /* TEXT   Point-and-Shoot Field    */
 Â£  TYPE(FP)                     /* TEXT   Field Prompt             */
 Â§  TYPE(NT)                     /* TEXT   Normal Text              */
 *  TYPE(SAC)                    /* TEXT   Select Available Choice  */
 #  TYPE(DT)                     /* TEXT   Descriptive Text         */
 Â¤  TYPE(CH)                     /* TEXT   Column Heading           */
 Âµ  TYPE(NEF) CAPS(ON) PADC(USER)/* INPUT  Normal Entry Field       */
 \  TYPE(CEF) CAPS(ON) PADC(USER)/* INPUT  Choice entry field       */
 _  TYPE(VOI)                    /* OUTPUT Variable output inform.  */
 }  TYPE(LID)                    /* OUTPUT List item description    */
 {  TYPE(LI)                     /* OUTPUT List items               */
)BODY WINDOW(62,15) EXPAND(çç)                                         
+                                                                       
% ç ç Messages à inserer dans l'éditeur ç ç                             
*Info.:µZ*Warning:µZ*Error:µZ*Severe:µZ*Unrec.:µZ*             
%                                                                       
)INIT                                                                   
.ZVARS = '(RETI RETW RETE RETS RETU)'                                   
&VARLIST = 'O,N'                                                       
.HELP = MONCMPE2                                                       
.CURSOR = RETI                                                         
VGET (RETI RETW RETE RETS RETU) PROFILE                                 
)END

Re: Panel input field

PostPosted: Fri Jun 10, 2011 6:36 pm
by Robert Sample
Is there a way to make the cursor jump from an input field to the next input field automatically after they enter the first character?
Remember a 3270 is not a Windows PC. Until an appropriate key is hit (enter, clear, PF or PA key, etc), there is NO interaction between the screen and the mainframe. In order to automatically skip after a character is entered, you MUST define the field as a single byte. If you define it as five bytes, you can skip after someone enters 5 bytes -- but not after entering only one byte. That would require computer interaction, which does not occur until the appropriate key is hit.

Re: Panel input field

PostPosted: Fri Jun 10, 2011 6:52 pm
by Julie
As you can see I define the field like that
µ  TYPE(NEF) CAPS(ON) PADC(USER)

I don't understand how define the field as a single byte.

Re: Panel input field

PostPosted: Fri Jun 10, 2011 7:12 pm
by Akatsukami
Julie wrote:As you can see I define the field like that
µ  TYPE(NEF) CAPS(ON) PADC(USER)

I don't understand how define the field as a single byte.

And yet your OP shows that you have defined the field in that way.

Perhaps what you are thinking of is defining the text delimiter with the SKIP(ON) attribute, so that the cursor automagically skips from one input field to the next?

Re: Panel input field

PostPosted: Fri Jun 10, 2011 7:56 pm
by Julie
I already try to define the field in this way
µ TYPE(TEXT) INTENS(HIGH) SKIP(ON)

but I don't know how store the variable return in input field

Re: Panel input field

PostPosted: Fri Jun 10, 2011 8:15 pm
by Robert Sample
I recommend finding the ISPF/PDF manuals for your version of z/OS (hint: http://www.s390.ibm.com would be a good place to start looking) and start reading. Sooner or later you'll find the answer to your question.

Re: Panel input field

PostPosted: Fri Jun 10, 2011 8:51 pm
by NicC
Also, look at other panels and their invoking programs to see how they work.

Re: Panel input field

PostPosted: Fri Jun 10, 2011 10:17 pm
by Akatsukami
Julie wrote:I already try to define the field in this way
µ TYPE(TEXT) INTENS(HIGH) SKIP(ON)

but I don't know how store the variable return in input field

You don't say in what language the driver for your panel is written. If it is Rexx, then variables with the same names as the input fields in the panel ought to be available to the script from which the DISPLAY service is invoked. To access these data in calling scripts, I recommend that the VPUT service be used, either in the )PROC section of the panel or in the script.

If the driver is written in some compiled language, then I would recommend using the VDEFINE service to equate host language variables with the ISPF variables.