IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

how to use second panel and browse member into.


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
italo_pm

New User


Joined: 26 Mar 2015
Posts: 37
Location: Italy

PostPosted: Mon May 04, 2015 9:59 am
Reply with quote

Hi everyone

I'm trying to create with help of manuals and examples to do a panel where with 2 input parameters to my rexx script to send an e-mail to the persons in charge of the application...

Practically with the input that is the name of the job in abend and the name of the application in abend find in my data set (member library) of the applications information the persons in charge (owner) of the app and chief of area to send an e-mail...

All that the rexx does in automatic, works correctly with the submit.

But now i'm desire browse member dataset (into the panel) before.
I don't know, what is better? if could use a second panel with member information or browse member into the first panel, beacuse aftet view (read) member information (notes for operator,schedule, description jobs, etc, etc) i want to use the panel to send an email.

Here is the code of the panel and rexx...


OTPPAN03 ==> here pass to member OTKPAN03 is the jcl/rexx the variables that they write to job and in app input to prepare the jcl and then to execute the rexx to send an email.


Code:

)PANEL
)ATTR
%   TYPE(TEXT) INTENS(HIGH) COLOR(BLUE)
+   TYPE(TEXT) INTENS(LOW) color(green)
_   TYPE(INPUT) INTENS(HIGH) CAPS(ON) JUST(LEFT) color(white)
$   TYPE(OUTPUT) INTENS(HIGH) CAPS(ON) JUST(LEFT) COLOR(RED)
)BODY ASIS
%(&ZUSER) &TITLE (&ZDATE - &ZTIME)
%
% Command ==>_z                                                               +
%
+ name job in abend  ==>_z       +
%
+ name app in abend  ==>_z       +   (member in library)
%
+ Submit/Edit     ==>_z+
%
% ==> process job in abend   :$z
%
% ==> process app in abend   :$z
%
%
%
%
%
% END PAGE: EXIT(Pf03)
%
)INIT
.ZVARS = '(cmd,input,inputa,flag,OUTPUT,OUTPUT2)'
&PFK= .PFKEY
)PROC
&PFK= .PFKEY
 VER (&input,NB)
 VER (&inputa,NB)
 VER (&flag,LIST,S,E)
)END 


rexx OTXPAN03

Code:

/* rexx */
/*-----------------------------------------------------------*/
/*--------------OTXPAN03-------------------------------------*/
/*-----------------------------------------------------------*/
input=''
inputa=''
flag='E'
output=''
output2=''
cmd=''
err_val_msg=''
err_vala_msg=''
cursor='input'
cc=99
Do Until PFK = 'PF03'
/* mod ver num */
cc=0
   err_val_msg =''
/* mod ver num */
   if input<>'' then do /*if01*/
     if datatype(input)='NUM' Then do  /*if02*/
        err_val_msg='name Job not valid (NO NUM)'
        cursor='input'
        cc=99
     end  /*endif02*/
/**----------------------------------**/
/* mod ver num */
   err_vala_msg =''
   if cc=0 & inputa<>'' then do /*if03*/
     if datatype(inputa)='NUM' Then do  /*if04*/
        err_vala_msg='name App not valid (NO NUM)'
        cursor='inputa'
        cc=99
     end /*endif04*/
/**----------------------------------**/
     else do
        output=input
        output2=inputa
        cc=0
        ftsk='OTKPAN03'
        address ispexec 'ftopen temp'
         if rc > 0 then call err_val 'Error>' rc 'ftopen '
        address ispexec 'ftincl 'ftsk
         if rc > 0 then call err_val 'Error>' rc 'ftincl '
         address ispexec 'ftclose'
         address ispexec  'vget (ztempf ztempn)'
         dsntemp = ztempf
         filtemp = ztempn
        select
          when flag ='S' then
               address tso 'submit ('dsntemp') jobchar('qq')'
          when flag ='E' then
              address ispexec 'edit dataset('dsntemp') macro(hion)'
          otherwise nop
        end
        input=''
        inputa=''
     end /*endif*/
   end /*endif01*/
   end /*endif03*/

   if cc=99 then call err_val err_val_msg err_vala_msg
   call DisplayPanel
   if PFK ='PF03' then exit

End /*end-do panel*/

/* end */
exit
/* config messagge error */
err_val:
parse arg msgio
zedlmsg =  msgio
return
DisplayPanel:
/*address ISPEXEC 'VPUT (varlist)' */
  title = center(' Abend Batch - Send Email ',50,'-')
  IF zedlmsg<>'' then  address ISPEXEC "SETMSG MSG(ISRZ001)"
/*  address ispexec 'display panel(OTPPAN03) CURSOR('cursor')' */
ADDRESS ISPEXEC
"LIBDEF ISPPLIB DATASET ID('MYUSER.SCRIPT.TEXT')"
ADDRESS ISPEXEC
 'DISPLAY PANEL(OTPPAN03) CURSOR('cursor')'
return



the panel is very basic, but it works , there it wanted when write the name of the job and app opens first in browse the member (name app) that this in a dataset (member) with all the information ... and then already to enable the part of


+ Submit/Edit ==>_z+

or other panel or option...

Same idea or suggestion to implementing it??


for sample....

PANEL 1 (before enter)

Code:

)BODY ASIS
%(&ZUSER) &TITLE (&ZDATE - &ZTIME)
%
% Command ==>_z                                                               +
%
% ENTER NAME JOB IN ABEND AND NAME APPLICATION IN ABEND
%
% APPLICATION NAME IS A MEMBER OF LIBRARY
% USE MEMBER TO SEE (mode BROWSE) INFORMATION
%
%
+ name job in abend  ==>WIAX8P10 +
%
+ name app in abend  ==>WIAX8    +   (member in library)
%
+ Browse             ==>B +
%
%
%
%
%
%
% END PAGE: EXIT(Pf03)
%




PANEL 2 (after enter)


Code:

)BODY ASIS
%(&ZUSER) &TITLE (&ZDATE - &ZTIME)
%
% Command ==>_z                                                               +
%
%
% TO SEND EMAIL SELECT Submit/Edit
%
+ Submit/Edit     ==>_z+
%
% JOB NAME IN ABEND     "job.name"
% APP NAME IN ABEND     "app.name" (member in library)
%
%  YOUR BROWSE IN MEMBER "app.name" TO SEE ALL INFORMATION ABOUT APPLICATION
%
%
% BROWSE    MYUSER.SCRIPT.TEXT(WIAX8)
% Command ===>
%*********************************************************** Top of Data
%VFY APP      RESPONS                    AREA            CRITICA   CELL
%VFY WIAX8    name lastname              AUTO.TEST       NO
%========================================================================
%Description : APP WIAX8
%======================================================================
%***********************************************************************
%JOBNAME* *DESCRIPTION JOB         *                *CLASS* *RC**RESTART*
%***********************************************************************
%WIAX8PPR  WIAX8PPR DESCRIPTION             WIAX8PPR   0     00   JOB
%
%
% END PAGE: EXIT(Pf03)
%



it's possible?? how to use a second panel and browse member data set into panel..??



thanks again

Regards.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2546
Location: Silicon Valley

PostPosted: Mon May 04, 2015 9:28 pm
Reply with quote

Quote:
browse member data set into panel.

It is not clear what you mean by that.

Perhaps you mean, how to browse a data set with a customized panel. The ISPF Planning and Customizing manual mentions the names of panels used for browse.

1. copy the view panel to your own panel data set and customize it to have your new fields above the data area.
2. invoke the VIEW service.
Code:
ISPEXEC "VIEW DATASET('MYUSER.SCRIPT.TEXT(WIAX8)') PANEL(myview) MACRO(mymacro1)"

3. The user can use SUBMIT command to submit the job.
Back to top
View user's profile Send private message
italo_pm

New User


Joined: 26 Mar 2015
Posts: 37
Location: Italy

PostPosted: Wed May 06, 2015 11:19 pm
Reply with quote

hi, thanks for answer, i'm put the browse mode into the panel but then not it's possible work it.. was "freeze " not response some option blocked in the panel

then change the command (not more open panel with member browse) but open (exec) the rexx script this

Code:
ADDRESS TSO "ex 'MYLIB.SCRIPT.TEXT(OTXPAN03)' "


now, the panel is open but i'm don't know how to pass the member name (parm from first panel) and member (from first panel) in browse mode and the panel work with new option...

any suggestion please, thanks again.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2546
Location: Silicon Valley

PostPosted: Thu May 07, 2015 2:30 am
Reply with quote

To pass parameters, include them in the call to the rexx program:
Code:
A= test
ADDRESS TSO "ex 'MYLIB.SCRIPT.TEXT(OTXPAN03)' '"a"' "

Though, I would not use SCRIPT.TEXT as the name.

And to receive the parameter, use the ARG parameter of PARSE:
Code:
/* rexx */
Parse arg var1
Back to top
View user's profile Send private message
italo_pm

New User


Joined: 26 Mar 2015
Posts: 37
Location: Italy

PostPosted: Fri May 08, 2015 8:51 pm
Reply with quote

hi averyone,

Pedro, thanks for answer, I did like you said...

i'm a problem with the second panel, not work after pass variable (it seems frozen) and not exec possible (Submit/Edit)

i put for sample WIAX8 in the first panel,

Code:


 (MYUSER) ISPF - FIND MEMBER APP TO PASS OTPPAN03  (15/05/08 - 16:21)
 ---------------------------------------------------------------------

  Command ==> ________________________________________________________

   NOME LIBRERIA             ==>  MYUSER.SCRIPT.TEXT

   NOME MEMBRO (SE ESISTE)   ==> WIAX8__

  PREMERE PF7 PER PAGE UP, PF8 PER PAGE DOWN E PF3 PER USCIRE



then, when press "enter" open the second panel, the member name pass to the second panel in browse mode in ")AREA" but the option panel not work after put input (it seems frozen) and not exec possible (Submit/Edit)



Code:


 (MYUSER) MYUSER.SCRIPT.TEXT(WIAX8) - 01.55 ------- Line 00000000 Col 001 080
  Command ==>

  nome job in abend  ==>

  nome app in abend  ==>

  Submit/Edit     ==> E

  ==> hai segnalato l abend del job   :
  ==> hai segnalato l abend della app :

  PREMERE PF7 PER PAGE UP, PF8 PER PAGE DOWN E PF3 PER USCIRE

********************************* Top of Data *********************************
VFY APP      RESPONS                    AREA            CRITICA   CELL
VFY WIAX8    name lastname              AUTO.TEST       NO
--- WIAX8    name lastname 2            AUTO.TEST1      NO
VFY= CAMPO FISSO

========================================================================
Description : APP WIAX8
======================================================================
***********************************************************************
JOBNAME* *DESCRIPTION JOB         *                *CLASS* *RC**RESTART*
************************************************************************
WIAX8PPR   WIAX8PPR                        WIAX8PPR   0     00   JOB
WIAX8P01   WIAX8P01 DESCRIPTION script     WIAX8P01   0           NO
WIAX8P02   WIAX8P02 DESCRIPTION script     WIAX8P02   0           NO
WIAX8P03   WIAX8P03 DESCRIPTION script     WIAX8P03   0           NO
WIAX8P04   WIAX8P04 DESCRIPTION script     WIAX8P04   0           NO
WIAX8P05   WIAX8P05 DESCRIPTION script     WIAX8P05   0           NO
************************************************************************
******************************** Bottom of Data ********************************




maybe i should use tables to view a member data?? although I do not know how they work ....

any ideas please?

thanks

regards
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts HILITE on Browse mode? TSO/ISPF 2
No new posts Execute secondary panel of sdsf with ... CLIST & REXX 1
No new posts Call program, directly from panel CLIST & REXX 9
No new posts Difference when accessing dataset in ... JCL & VSAM 7
No new posts How to copy the -1 version of a membe... TSO/ISPF 4
Search our Forums:

Back to Top