View previous topic :: View next topic |
Author |
Message |
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Thu Dec 01, 2005 12:46 pm Post subject: Linking maps and program into one load module |
|
|
I have written a 'small' transaction, a couple of thousand lines, that is just a utility program to give some system info, search dfhrpl & steplib, etc (sort of a TASID for CICS) and to be able to make installation easy, I linked the MAPSET and program into a single load module. That works fine using the linkage editor statements below, but only if I put the single mapset first in the load module via an ORDER card. I assume that CICS does a load and then just uses the loaded address as the base for the structure of the map in storage, but... yes there is a question here... if I had more than 1 map set, would it be possible to place more than 1 mapset in a single load module? I realize that this is not something you would want to do in a production program, this is just a question out of curiosity.
Code: | //LKED.INCLUDE DD DSN=USER1.PRIVATE.OBJ,DISP=SHR
//LKED.SYSIN DD *
ORDER DDNMAPS,DDNAMES,READMEM,FINDMEM
INCLUDE INCLUDE(DDNMAPS) <== map object code
INCLUDE INCLUDE(READMEM) <== program object code
INCLUDE INCLUDE(FINDMEM) <== program object code
ENTRY DDNMAPS
ALIAS DDNAMES
NAME DDNMAPS(R)
/* |
|
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
|
Posted: Thu Dec 01, 2005 1:29 pm Post subject: |
|
|
Semigeezer,
I think you want more than 1 map in a mapset and not multiple [/b]mapsets[/b]. You can have more than 1 map in a mapset. YOu just need to code a new DFHMDI after the DFHMDF for the first map. Having more than 1 map in a mapset is quite common.
Hope this helps...
Cheers
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Manas Biswal Intermediate
Joined: 29 Nov 2002 Posts: 382 Topics: 27 Location: Chennai, India
|
Posted: Thu Dec 01, 2005 2:25 pm Post subject: |
|
|
semigeezer,
I never knew that you could link a mapset and a program into a single load module and make it work as a CICS transaction. Thanks for the information.
I am sorry but instead of answering your question, I am posing you a new one.
I would assume that you have defined 1 PCT and 1 PPT entry for the load in your CICS region. So, am I correct in assuming that when you run your transaction which calls the program as well as the mapset (the program displays a map of the mapset), both are run properly. This is great. Never knew that it would work that way.
Thanks,
Manas _________________ There is no path to peace. Peace is the path.
- Mahatma Gandhi (1869-1948) |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Thu Dec 01, 2005 4:43 pm Post subject: |
|
|
Thanks Kolusu. I do actually have a couple of maps in the mapset. Manas, you are correct. This is the step following the link:
Code: | //DEFINE EXEC PGM=DFHCSDUP,REGION=1024K,PARM='CSD(READWRITE)'
...
//SYSIN DD *
DELETE MAPSET(DDNMAPS) GROUP(DGN)
DEFINE MAPSET(DDNMAPS) GROUP(DGN)
DELETE PROGRAM(DDNAMES) GROUP(DGN)
DEFINE PROGRAM(DDNAMES) GROUP(DGN) LANG(LE370)
DELETE TRANS(DRPL) GROUP(DGN)
DEFINE TRANS(DRPL) PROG(DDNAMES) GROUP(DGN)
/* |
(of course the deletes and redefines aren't really necessary, it just helps me keep all the source in one file and get 0 return codes). |
|
Back to top |
|
|
Cogito-Ergo-Sum Advanced
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
|
Posted: Fri Dec 02, 2005 12:29 am Post subject: |
|
|
semigeezer.
Any particular reason why you are using DFHCSDUP ? Generally, CEDA DEFINE is used (that is the online interface for defining resources to system). _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes. |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Fri Dec 02, 2005 2:44 am Post subject: |
|
|
Yes. The only reason for using DFHCSDUP is that I put everything in the same JCL file (assembles, compiles, links, and "RDO" statements) and I want the whole build process to be both a single action (submit the job) and be self documenting. CEDA would be fine, and this really only needs to be done once, but no harm is done by deleting and redefining as far as I know, at least for a transaction that isn't used very often. The only thing I can't do in the JCL is the install or newcopy/phasein because DFHCSDUP doesn't support that. Maybe there is some way to do it that I'm not aware of (EXCI, CICS SM, etc) but that is such a minor problem so I just reload the group manually. I'm just running on test systems or on a personal z/OS system anyway. If this were a controlled or production environment, or if this was more than just a small utility program, I'm sure the build process would be more involved. |
|
Back to top |
|
|
Cogito-Ergo-Sum Advanced
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
|
Posted: Fri Dec 02, 2005 4:18 am Post subject: |
|
|
Quote: | The only thing I can't do in the JCL is the install or newcopy/phasein because DFHCSDUP doesn't support that. |
Actually, you can. This is supposed to work. As I have not tried, I cannot be sure.
Code: |
//*
//ABC COMMAND 'F yourcics,CEMT SET NEW PROG(progname)'
//DUMMY EXEC PGM=IEFBR14
|
_________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes. |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Fri Dec 02, 2005 5:57 pm Post subject: |
|
|
Thanks. I hadn't tried to issue a JES command in years so I didn't know about the COMMAND verb. I tried it and got Code: | +DFHAC2015 NM40CICS Console INTERNAL has not been defined to CICS.
Input is ignored. | but it was a good suggestion none the less. |
|
Back to top |
|
|
Cogito-Ergo-Sum Advanced
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
|
Posted: Sat Dec 03, 2005 5:27 am Post subject: |
|
|
You are welcome, seemigeezer ! _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes. |
|
Back to top |
|
|
|
|