View previous topic :: View next topic
|
Author |
Message |
boyti ko
New User
Joined: 03 Nov 2014 Posts: 78 Location: Malaysia
|
|
|
|
Hi,
This is the screen we have for File-Aid V10.2. We're trying to find out how to put something in these fields: Record layout usage, Record layout dataset, Member name if we invoke the shortcut to browse a file using File-Aid.
Code: |
File-AID -------------- Browse - Dataset Specification ----------------------
COMMAND ===>
Browse Mode ===> V (F=Fmt; C=Char; V=Vfmt; U=Unfmt)
Specify Browse Information:
Dataset name or zFS path ===> 'VSAM.DATASET'
Member name ===> (Blank or pattern for member list)
Volume serial ===> (If dataset is not cataloged)
Specify Record Layout and XREF Information:
Record layout usage ===> S (S = Single; X = XREF; N = None)
Record layout dataset ===> MY.COPYLIB
Member name ===> CPY1 (Blank or pattern for member list)
XREF dataset name ===>
Member name ===> (Blank or pattern for member list)
Specify Selection Criteria Information: (E = Existing; T = Temporary;
Selection criteria usage ===> N M = Modify; Q = Quick; N = None)
Selection dataset name ===>
Member name ===> (Blank or pattern for member list) |
This is the code we have to invoke the shortcut to browse a file.
Code: |
PROC 1 DATA_SET_NAME_OR_GO
/*********************************************************************/
/* COPYRIGHT (C) 2009 BY COMPUWARE CORPORATION, ALL RIGHTS RESERVED. */
/* */
/* F1 - INVOKE FILE-AID BROWSE (F.1) DIRECTLY */
/*********************************************************************/
CONTROL MSG
SET &FUNCVAR = &STR(1)
SET &DSNVAR = &STR(&DATA_SET_NAME_OR_GO)
IF &SUBSTR(1:1,&DSNVAR) = &STR(') -
THEN SET "E = &STR(QUOTE)
ELSE SET "E = &STR()
/*********************************************************************/
/* PASS PARMS TO FADYNALC TO SET LIBS AND INVOKE FILE-AID */
/*********************************************************************/
ISPEXEC SELECT -
CMD(%FADYNALC &FUNCVAR DSN(&DSNVAR) "E) NEWAPPL(FAXX) PASSLIB
END
|
We tried to follow the program above until it calls a program in a loadlib. The screen will automatically put the last previous input on the said 3 fields. It seems that the logic for that is inside that program.
The plan we have is to get the last qualifier of the dataset. Match it on a certain table. Then give the value which we can put in the 3 fields we are looking for.
Below are the program calls after the program above.
Code: |
PROC 1 FUNCVAR DSN() QUOTE
/**********************************************************************/
/* THIS CLIST IS CALLED WITH A NEWAPPL OF FAXE TO PROTECT ANY */
/* LIBDEF ENVIRONMENT THAT EXISTS WHEN IT IS INVOKED. THIS */
/* ENSURES THAT THE LIBDEFS ARE LOCAL TO THIS APPLICATION AND DO */
/* NOT REPLACE ANY LIBDEFS THAT EXISTED WHEN THE CLIST WAS */
/* CALLED. IF YOU CHOOSE TO WRITE YOUR OWN CLISTS TO INVOKE */
/* THIS CLIST, YOU MUST SPECIFY A NEWAPPL OF FAXE WHEN YOU DO */
/* SO. FAILURE TO DO SO WILL CAUSE ISPF TO DISCARD ANY LIBDEFS */
/* IN EFFECT AT THE TIME OF THE CALL. */
/* */
/**********************************************************************/
CONTROL NOFLUSH NOMSG
SET MPANEL = &STR(XFAMU01)
/**********************************************************************/
/* PASS PARAMETERS TO FAEXEC TO SET OPTIONS AND EXECUTE FILE-AID */
/* (THE NEWAPPL WITH PASSLIB IS REQUIRED ON THIS SELECT TO ACTIVATE */
/* THE NEW ISPTLIB AND PASS IT TO THE APPLICATION) */
/**********************************************************************/
ISPEXEC SELECT CMD(XVJALLOC PRODID(XXX))
/**********************************************************************/
CALLEXEC: ISPEXEC -
SELECT CMD(%FAEXEC &FUNCVAR DSN(&DSN) PANID(&MPANEL) "E) -
NEWAPPL(FAXE) PASSLIB
/**********************************************************************/
/* DYNAMIC DEALLOCATION OF FILE-AID LIBRARIES */
/**********************************************************************/
ISPEXEC CONTROL ERRORS RETURN
ISPEXEC SELECT CMD(XVJFREE)
END |
Code: |
PROC 1 FUNCVAR DSN() PANID(XFAMU01) QUOTE
/*********************************************************************/
/* COPYRIGHT (C) 2009 BY COMPUWARE CORPORATION, ALL RIGHTS RESERVED. */
/* */
/* FAEXEC - EXECUTE FILE-AID FROM ISPF/PDF */
/* */
/* THIS CLIST IS INVOKED BY THE FADYNALC CLIST, AFTER THE FILE-AID */
/* LIBRARIES HAVE BEEN ESTABLISHED. IT IS PASSED THE FUNCTION TO */
/* BE PERFORMED; OPTIONALLY, THE DATASET TO BE PROCESSED MAY BE */
/* PASSED. THE DATASET IS VPUT TO THE PROFILE SPECIFIED IN THE */
/* NEWAPPL (FAXE) IN THE CALL OF FADYNALC. FILE-AID IS THEN CALLED */
/* TO PERFORM THE REQUEST. */
/* 144159 */
/*********************************************************************/
SET FAEXEC = N
IF &FAEXEC = Y THEN +
DO
WRITE ======================
WRITE ENTER CLIST: FAEXEC
WRITE ======================
CONTROL MSG LIST SYMLIST CONLIST
END
ELSE CONTROL NOMSG NOLIST NOSYMLIST NOCONLIST
BEGIN: -
IF &STR('&DSN') = &STR('GO') THEN +
SET &DSN = &STR()
SET &XMODEPRM = &STR()
IF &FUNCVAR = MENU THEN -
GOTO VPUTDSN
SET &XMODEPRM = &STR(&FUNCVAR)
VPUTDSN: -
IF &STR(&DSN) EQ &STR() THEN GOTO EXECUTE
IF &FUNCVAR = &STR(8) THEN -
DO
SET &LISTB = &STR(DDSN2 DMPMAP CPBKNM)
SET &CPBKNM = &STR()
IF "E = QUOTE THEN -
DO
SET &DDSN2 = &STR('&DSN')
SET &DMPMAP = &STR('&DSN')
END
ELSE -
DO
SET &DDSN2 = &STR(&DSN)
SET &DMPMAP = &STR(&DSN)
END
END
ELSE -
DO
SET &LISTB = &STR(DDSN DMPDSN PNMEM)
SET &PNMEM = &STR()
IF "E = QUOTE THEN -
DO
SET &DDSN = &STR('&DSN')
SET &DMPDSN = &STR('&DSN')
END
ELSE -
DO
SET &DDSN = &STR(&DSN)
SET &DMPDSN = &STR(&DSN)
END
END
ISPEXEC VPUT (&LISTB) PROFILE
EXECUTE: -
ISPEXEC VGET (ZAPPLID) SHARED
ISPEXEC CONTROL ERRORS RETURN
SET &STARTTIME = &SYSTIME
ISPEXEC SELECT PANEL(&PANID) OPT(&XMODEPRM)
SET LRC = &LASTCC
IF &LRC > 19 THEN -
DO
IF &XMODEPRM = &STR() THEN -
DO
IF &PANID = &STR(XFAMU01) THEN -
DO
SET LMSG = &STR( )
ISPEXEC SETMSG MSG(IMM101)
WRITE *** THIS IS AN INVALID OPTION ***
WRITE WHEN YOU INSTALL JAPANESE, YOU NEED A DBCS TERMINAL TO
WRITE RUN File-AID/MVS
END
IF &PANID = &STR(UDAMU01) THEN -
DO
SET LMSG = &STR( )
ISPEXEC SETMSG MSG(IMM101)
WRITE *** THIS IS AN INVALID OPTION ***
WRITE WHEN YOU INSTALL JAPANESE, YOU NEED A DBCS TERMINAL TO
WRITE RUN File-AID/DATA SOLUTIONS
END
END
ELSE -
DO
WRITE &XMODEPRM IS AN INVALID FILE-AID OPTION
SET XMODEPRM = &STR()
ISPEXEC SELECT PANEL(&PANID) OPT(&XMODEPRM)
END
END
ELSE -
DO
IF &LRC > 11 THEN -
DO
ISPEXEC CONTROL ERRORS CANCEL
ISPEXEC SELECT PANEL(&PANID)
END
END
/*********************************************************************/
/* */
/* THE NEXT TWO LINES CALL THE REXX EXEC TO PRESENT THE ACTIVITY */
/* USAGE PANEL AND TO LOG USER ACTIVITY TO THE LOG FILE */
/* (OPTIONAL - FAEVAL ROUTINE INVOKED ONLY IF INSTALLED) */
/*********************************************************************/
ISPEXEC CONTROL ERRORS RETURN
%FAEVAL &STARTTIME
END |
|
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
Have you talked to the vendor about what you want to do? If not, that should be your first conversation -- the vendor knows the product much better than anyone else and probably can tell you precisely how to do what you want to do. |
|
Back to top |
|
|
boyti ko
New User
Joined: 03 Nov 2014 Posts: 78 Location: Malaysia
|
|
|
|
Hello Robert,
Thanks for reply. As of now, I'm trying to find out to whom we can address our query here. I'm thinking that there might be someone who can answer here. |
|
Back to top |
|
|
boyti ko
New User
Joined: 03 Nov 2014 Posts: 78 Location: Malaysia
|
|
|
|
Hello,
If anyone might be interested here. The field is stored under your own ISPPROF. |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 730 Location: Denmark
|
|
|
|
if the variables are stored in your profile ds then you can read and modify the values beforehand using 'VGET (xxxx) PROFILE' and 'VPUT (xxxx) PROFILE'. Beware of applid. |
|
Back to top |
|
|
boyti ko
New User
Joined: 03 Nov 2014 Posts: 78 Location: Malaysia
|
|
|
|
Hi Willy,
I really appreciate your comment. I'll research more about the VGET and VPUT. |
|
Back to top |
|
|
|