Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Has anyone used COBOL with MVS ISPF dialog manager 4

Status
Not open for further replies.

dallasdino

Programmer
Nov 27, 2002
28
US
Has anyone done a lot of programing using ISPF Dialog manager panels called from COBOL.

I am in the process of creating a number of panels for some specific business applications used in our testing group as well as some general technical productivity enhancers. I plan to add to these and keep the core panels with me during all my consultant assignments.

Has anyone set up a number of panels called from COBOL. I have some books that I will be following but I am wondering the pros and cons of using COBOL verses CLIST, verses REXX, verses JCL skeletons.

I am a good applications assembler and COBOL programmer and have done a little CLIST and panels in the distant past but I want to create business application and technical productivity enhancement tools to use every day. The goal here is to enhance the ability of lesser trained individuals and help productivity of the others.

Any pointer in the design stage? I plan on getting these up and running this week.
 
Hi Marc,

I want to try the sample program u have provided.
Can u tell me which system library contains the ISPLINK module.

Thanks,

devesh
 
Hi devesh,
You should be able to find it on a library called SYS1.SISPLOAD
Marc
 
Hi Marc,

I tried to search the library PDS thru 3.4. But not able to locate. Is there any other library ?

Thanks
Devesh

 
Hi Devesh,

I have a feeling that this differs from site to site according to how ISPF has been installed. You may have to ask one of the systems programmers if you cannot find it. Try looking at the SYS1 libraries under 3.4 and browse through anything that has ISP,LINK, or LOAD in the library name.

Marc
 
Searching for a loadmodule you can use the command after any ==> on the ISPF screen:

TSO ISRDDN

Now you can see all the allocated ddnames and files to your TSO session.

After that, you can give a browse command for example BROWSE IEFBR14. Use the help to see all the options.

Once IEFBR14 is shown, you also see the loadlib. You can do this for any available loadmodule.

Regards,

Crox
 
Before I posted, I did the ISRDDN trick and used the M (for member) option to search for ISPLINK. It didn't come up with anything, so I assumed it didn't get allocated at signon, but is an additional link library. Crox, do you find it using ISRDDN?
Marc
 
Hi,

That is why you should try the browse command. That can find also libraries which are common.

For example try to find ILBOWAT0, the module you can call to make your program sleep.

Regards,

Crox
 
Crox,
Thanks for that bit of advice. I've not really investigated ISRDDN too much and will definitely have a play. You've caught my interest with the ILBOWAT0 program tho. What function does this provide?

Marc
 
Hi,

You can call it and you can let your program sleep for an amount of seconds, without spoiling CPU.

en example that I copied somewhere on the web is:

Code:
 IDENTIFICATION DIVISION.
 PROGRAM-ID.    DEMOPGM.
 ENVIRONMENT DIVISION.
 CONFIGURATION SECTION.
 SOURCE-COMPUTER. IBM-370.
 OBJECT-COMPUTER. IBM-370.
 INPUT-OUTPUT SECTION.
 FILE-CONTROL.
 DATA DIVISION.
 FILE SECTION.
 WORKING-STORAGE SECTION.
 77  FILLER                            PIC X(36) VALUE
     ' WORKING-STORAGE SECTION BEGINS HERE'.
 01  WAIT-MODULE                       PIC X(8) VALUE 'ILBOWAT0'.
 01  WS-SECONDS-TO-WAIT                PIC S9(8) COMP VALUE +0.

 PROCEDURE DIVISION.
*----------------------------------------------------------------*
*    CALL 'ILBOWAT0' AND PASS IT THE NUMBER OF SECONDS TO WAIT.  *
*----------------------------------------------------------------*
     MOVE +15 TO WS-SECONDS-TO-WAIT.
     CALL WAIT-MODULE USING WS-SECONDS-TO-WAIT.
     GOBACK.

Regards,

Crox
 
Crox,

Thanks for that, I've never come across that before, and it seems as if it could be very useful. I'm not sure WHEN I would ever use it, but I'm positive I'll find a need now I know about it!

Marc
 
Hi,

It is very nice to use for a watchdog program in on-line environments.

Try it out, allocate the right library(! :)) and if you are glad, I count on your vote.... :)

Regards,

Crox
 
Can anyone provide me with the code for a cobol call to LMINIT? I am wanting to use the DSNAME parameter to pass the name of the PDS to LMINIT.
 
MarcLodge,
I tried to use the coding example on ISPF dialog manager you posted, and it won't compile because it can't find the ISPLINK module. I know where the module is but don't how to connect it to my program.
Also, the panels are defined in a test library. How would I define the panels so they can be found.
This is my first attempt at doing anything with the ISPF dialog manager & I am completely lost.

 
Thurell,
You will need to add the SYS1.SISPLOAD library in the step where you are performing your link edit. I think the DDNAME is SYSLMOD, although I'm not at work at the moment so can't check

The panels need to be available at runtime in a DDNAME called ISPPLIB. Go to Option 6 of TSO and type LISTA ST H this will give you a list of all the ddnames and libraries allocated to those ddnames, allocated to your session. Look for the ISPPLIB and then look at datasets allocated to it. Add your panels to one of those libraries.

Alternatively use the ISRDDN command as mentioned by Crox, earlier in this thread.

Report back if you're stil stuck

Marc
 
MarcLodge,
I finally got the program to compile, but when I try to run it I keep getting RC = 20. Any ideas??

 
A Return Code of 20 is the serious error that Dialog Manager gives when it attempts a call that the parameters are not correct or something similar. I would try the usual debugging techniques (xpeditor or displays etc.) to try to find out exactly where the program is falling over, and have a look at that particular call. Have you coded up any panels? If not, it could be that ISPF is attempting to access one of the panels and cannot find it.
Marc
 
MarcLodge,
I have coded up a series of panels that I tested & used successfully in a CLIST. Now I am trying to display these panels from a COBOL program. I copied the first panel to the correct ISP lib, but I think my problem is in the JCL. I don't think the JCL is correct and maybe the program isn't even correct. Where might I be able to find a sample JCL job?
 
Hi again,
ISPF Dialog manager can be used in a batch environment, but of course any displays of panels would not really work, by virtue of the fact that it's a batch program. I'm not sure what result you would get as I must admit, I've never tried it!

The way that Cobol and Dialog Manager is generally used, is that a CLIST or REXX kicks off the program from Option 6 of TSO, and then the Cobol handles everything else. Any panels required would need allocating to the ISPPLIB, but from the fact that you have run this from a CLIST, I suspect this is not a problem.

Let me know if this helps.

Marc
 
MarcLodge,
As you can probably tell this is all new stuff to me & I am really confused. The example program(ISPFPROG) that you posted appears to me to be a batch program, however in your latest message to me, you stated displaying a panel from a batch program will not work. How is the ISPFPROG initiated?
 
No probs, I know what it's like when trying to get to grips with something new. The program is to be run from Option 6 of TSO as it displays screens for the user to interact with.

You'll need to set up a clist that calls it similar to:
ISPEXEC SELECT PGM(ISPFPROG)

Marc
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top