Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Writing Directly On Spool!

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & ASSEMBLER
Author Message
kamran

Active User


Joined: 01 May 2005
Posts: 52

PostPosted: Wed Nov 16, 2005 2:02 pm    Post subject: Writing Directly On Spool!
Reply with quote

Hi All,

I OS390 and JES2 I need to write data into the Spool such that I have had control to choose the output name dynamically under the configuration which I explain in the following:

Consider that program "B" which must be "Attached" by a long term VTAM program "A" has the duty to write some lines of data from storage into spool and each output must have reside in Spool separately with unique output name which will be chosen during the execution of program "A".

Also I would appreciate if anybody inform me whether there is any documents available for download that explains the structures of the JES2 SPOOL files.

Thanks
Kamran
Back to top
View user's profile Send private message
References
ironmike

New User


Joined: 07 Aug 2005
Posts: 37

PostPosted: Thu Nov 17, 2005 8:51 pm    Post subject:
Reply with quote

You need to use the Functional Subsytem Interface to process SPOOL content. You don't read and write to SPOOL directly, you ask the subsystem interface for the data. Writing to SPOOL yourself is an abominably bad idea...don't try it! You can dynamically allocate a SYSOUT data set, write to it using QSAM, then read it in later using the FSI. Chapter 27 of the Authorized Assembler Services Guide tells you how to dynamically (via SVC 99) build a SYSOUT data set name.

Here's the URL to the Asm Svcs Guide:
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2A860/CCONTENTS?DT=20050714101051&=

Here's the URL to the FSI IBM manual; read the whole book, but Chapter 9 is the chapter you're interested in.
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2E510/CCONTENTS?SHELF=EZ2ZO10F&DN=SA22-7641-01&DT=20040108171122
Back to top
View user's profile Send private message
kamran

Active User


Joined: 01 May 2005
Posts: 52

PostPosted: Sat Nov 19, 2005 4:18 pm    Post subject:
Reply with quote

Thanks for your clarify response, But what cold I do for seperation of the jobnames of the OUTPUTs.I mean that the jobname of the several outputs which will be produced during the lifetime of the task must be different from each other and have meaning full names.I have found the Macro "IAZXJSAB" with function CREATE and accually I used:
" IAZXJSAB CREATE,JOBNAME=JOBNME,USERID=USER,TYPE=SUBTASK",
and consequently wrote outputs and after that I issued:
" IAZXJSAB DELETE,TYPE=SUBTASK".
Unfortunately the jobname of output remained unchanged(the same as the started job.)
I don't know whether I have made mistake or it's impossible to have outputs with different jobnames under the same address space.


ironmike wrote:
You need to use the Functional Subsytem Interface to process SPOOL content. You don't read and write to SPOOL directly, you ask the subsystem interface for the data. Writing to SPOOL yourself is an abominably bad idea...don't try it! You can dynamically allocate a SYSOUT data set, write to it using QSAM, then read it in later using the FSI. Chapter 27 of the Authorized Assembler Services Guide tells you how to dynamically (via SVC 99) build a SYSOUT data set name.

Here's the URL to the Asm Svcs Guide:
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2A860/CCONTENTS?DT=20050714101051&=

Here's the URL to the FSI IBM manual; read the whole book, but Chapter 9 is the chapter you're interested in.
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2E510/CCONTENTS?SHELF=EZ2ZO10F&DN=SA22-7641-01&DT=20040108171122
Back to top
View user's profile Send private message
ironmike

New User


Joined: 07 Aug 2005
Posts: 37

PostPosted: Sun Nov 20, 2005 4:51 am    Post subject:
Reply with quote

Well, the way I read the doc on IAZXJSAB it's at the jobname (i.e., address space) level. You can't use IAZXJSAB to build output with two different job names within one address space.

Tell us more about what you are trying to do; it's probably possible, but you may have to execute some code in several address spaces to do it. icon_question.gif
Back to top
View user's profile Send private message
kamran

Active User


Joined: 01 May 2005
Posts: 52

PostPosted: Sun Nov 20, 2005 10:24 am    Post subject:
Reply with quote

Hi,

Yes in Authurized assembler macro services which I have it's documented that the function code is just READ but if you read section 4.5 of "OS/390: MVS Using the Subsystem Interface" you would see this statment:

"However, the job information that prints on the header page is associated with the job that created the data set. This ordinarily identifies the job that runs your server, not the client that requested the printout. You would probably prefer that the client's identification print rather than
the server's in order to be able to tell one client's output apart from
another's."
Also in my system which is OS390 V2.7 when I search the macro source of IAZXJSAB in sys1.maclib there I found more function like UPDATE and CREATE.Anyhow I think it must work and maybe I made this mistake that I used the macro in program "A" which is Calling program "B" which produces the output.I am going to change the configuration such that both the Macro and output generator procedure be in a single CSECT.

Regards


ironmike wrote:
Well, the way I read the doc on IAZXJSAB it's at the jobname (i.e., address space) level. You can't use IAZXJSAB to build output with two different job names within one address space.

Tell us more about what you are trying to do; it's probably possible, but you may have to execute some code in several address spaces to do it. icon_question.gif
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> PL/I & ASSEMBLER All times are GMT + 6 Hours
Page 1 of 1