How to get filename of a DD PATH=xxxx at runtime?
Hi, I'm looking for a way to get the pathname/filename of a DD (specifying a PATH not a DD) at runtime I tried to get it out of the TIOT - JFCB but there is no field within the JFCB for the name (the field for the DSN ist filled with a dummy-value). Does anybody know if there is another control block where I can get the real name? Because I need to get the name in Java it would be great if there would be a way without using assembler). Thanks! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Obtaining System Information from a COBOL program
business applications. Why not use a tool designed to obtain this kind of information? Because you *CAN* get this information just with a few lines of code (even in COBOL)... And if it is that simple, *WHY* someone should not do it? Bye, MK -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover Phone: +49 511 / 397 80 - 0 Fax: +49 511 / 397 80 - 66 michael.kni...@set-software.de Commercial Registry: HRB52778 Local Court Hannover Chief Executive Officer: Till Dammermann, Dr. Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to monitor a Printer?
Have you looked at the REXX interface into SDSF? Not yet - very good hint! Bye, MK -- Mit freundlichen Grüßen Michael Knigge Entwicklung S.E.T. Software GmbH Lister Straße 15 30163 Hannover Telefon: +49 511 / 397 80 - 0 Fax: +49 511 / 397 80 - 66 michael.kni...@set-software.de Handelsregister: HRB52778 Amtsgericht Hannover Geschäftsführer: Till Dammermann, Dr.Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
How to monitor a Printer?
All, using SDSF I can see the progress of a print-job - I can see the total number of records of the print-file and I can see the number of already printed records. Does anyone of you know how to get this infomation (ASM, COBOL, C, ...)? I was wondering if there is an API or if it is possible to get this information by SNMP... Thank you! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to modify/add an OUTPUT-Statement to an DD at runtime?
Dynamicly allocate or one output per file. //OUTPUT1 OUTPUTCOPIES=1,PRMODE=LINE,ROOM=12, // TITLE=TITLE ONE //TSTFILE1 DD SYSOUT=A,OUTPUT=(*.OUTPUT1) Eh, where is this dynamic? ok, once again, maybe I wasn't clear enough... The JCL: //OUTPUT2 OUTPUTCOPIES=1,PRMODE=LINE,ROOM=12, // TITLE=TITLE TWO //TSTFILE2 DD SYSOUT=A,OUTPUT=(*.OUTPUT2) The contents/attributes of the OUTPUT2 Statement are totally unknown to the application. Now at runtime, the application decides that the file TSTFILE2 needs the TITLE-Attribute set to FO And the application doesn't know the contents of the associated OUTPUT-Statement. It even doesn't know if there is an OUTPUT-Statement Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
How to modify/add an OUTPUT-Statement to an DD at runtime?
All, I need to change the attribute (in my case, the TITLE) of an OUTPUT-Statement at runtime. I've digged around a little bit in the IBM Manuals (Auth. Assember, ...) but I did not find the information I need. If I understand the docs correctly, it is not possible to modify an OUTPUT-Statement at runtime - I only can add with OUTADD and delete with OUTDEL an OUTPUT-Statement. So my idea is to create an additional OUTPUT-Statement with OUTADD at runtime. But I wonder if it is possible to *ADD* an additional OUTPUT-Statement to an existing DD-Statement (the DD-Statement may have already an associated/assigned OUTPUT-Statement) Changing an existing TITLE-Attribute of an associated OUTPUT-Statement would make me happy also ;) But I did not find the data area that holds the OUTPUT-Statements (I know that I can find all DD-Statements at the TIOT, but I did not find the area that holds the OUTPUT-Statements). Well, and I guess ( or afraid) that overwriting the title in memory would cause an S0C4). Anyone has an idea? Thank you very much, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to modify/add an OUTPUT-Statement to an DD at runtime?
Well, you can certainly free the existing file and descriptor and allocate new ones. If I understand you right, I should deallocate the output-file (DD) and the OUTPUT-Statement and then re-allocate new ones?!? But then I need to get *ALL* information about the both - right? Or you can internally issue $TO I guess I need APF-authorization for this? That's a no-go for me Bye thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to modify/add an OUTPUT-Statement to an DD at runtime?
Binyamin, Or you can internally issue $TO Well, finally I've found the right manual for the $T command Well, I guess $TO also won't work because it can't update the TITLE attribute... (or I was too stupid) ;-(Furthermore, it seems to me that T$O sets characteristics for a complete job, not just for a single file what I need is something like that: //OUTPUT1 OUTPUTCOPIES=1,PRMODE=LINE,ROOM=12,TITLE=DUMMY //TSTFILE1 DD SYSOUT=A,OUTPUT=(*.OUTPUT1) //TSTFILE2 DD SYSOUT=A,OUTPUT=(*.OUTPUT1) //TSTFILE3 DD SYSOUT=A,OUTPUT=(*.OUTPUT1) //TSTFILE4 DD SYSOUT=A,OUTPUT=(*.OUTPUT1) And when writing the files TSTFILE1 to TSTFILE4, I need to set individual strings for the TITLE for every file - at runtime IBM even states in one of it's manuals, that the TITLE should only be changed by SDSF If SDSF can change the TITLE - than it is possible, but why IBM dosn't document how?!?!? I even digged around in the SSI and SAPI manuals - but all in vain. I can't find a way or I don't understand the manuals :-( Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to modify/add an OUTPUT-Statement to an DD at runtime?
Scott, if I understand the manual of BPXWDYN correctly, you can create/allocate a new DD- or OUTPUT-Statement, but you can't *modify* an existing statement right? Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to modify/add an OUTPUT-Statement to an DD at runtime?
Thats the way I understand it also. We do it in Cobol, with a Select, then build the statement dynamically and open /read/write close the file. Yeah, but I don't know the attributes that may be set of an already existing OUTPUT-Statement. That's why I need a functionality to just add (or change an already existing) TITLE-Attribute dynamically at runtime... Seems to me that this not an trivial (or even impossible) task... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: 3270 Emulator Software
Rick Fochtman schrieb: You really should look at VISTA, from TomBrennanSoftware.com It's quite good and, in my experience, very reliable. Yeah, it is! And the Font that comes with Vista is just GREAT! It is so great that I use it with SPF/SE (a SPF-like Editor for Windows) and not just for Vista tn3270... And just one thing to note: Tom Brennan gives excellent Support. As we started using it and I also started writing macros for Vista tn3270 I came accross afeature that I was missing: I needed to get the EBCDIC-Value of a character on the screen I've sent a mail to Tom, asked for that feature and voila, just a few days later I've got a new version... Try this with IBM (PCOMM) or other big players Bye, Michael -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover GERMANY Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Commercial Registry: HRB52778 Local Court Hannover Chief Executive Officer: Till Dammermann, Dr. Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: mainframe zip
Jim McAlpine schrieb: Are there any free zip programs that will compress a number of mvs text files which are compatible with winzip. Try ftp://ftp.info-zip.org/pub/infozip/mvs/ bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SSH connection using PuTTY
try TERM=xterm doesn't work I can't enter 2, I can't enter =. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SSH connection using PuTTY
BTW I assume that you are actually connecting to SSH (typically port 22, with ssh mode configured in PuTTY) Sure. I do my daily work on several unix boxes via PuTTY (Linux, Solaris and AIX) and everything works like a charm. But I may try a newer version of PuTTY. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Building a DLL under USS
All, today I came accross a somehow strange (at least for me) problem Usually I build my DLLs (written in C and C++) in the MVS-World of z/OS. But now I want to build the same DLL under USS (because I can do this all remote using SSH). When I try to compile and link my DLL (it's just one C-Source file) in one command, the DLL get's build, but somehow doesn't work (can't be loaded and/or the enty-points are not found). Furthermore the DLL is much larger as if it is build under MVS. like this: c89 -Wc,MY,OPTIONS -Wl,MY_OTHER_OPTIONS -o libfoo.so foo.c If I compile the module with the -c switch (-- don't link) and then link the module to a DLL in a second step, the Linker tells me that CEESTART can't be resolved c89 -c -Wc,MY,OPTIONS foo.c c89 -Wl,MY_OTHER_OPTIONS -o libfoo.so foo.o It seems so me that (for some reason) the linker dosn't know where to look for the LE-Runtimes - but the file /usr/lpp/cbclib/xlc/etc/usr/lpp/cbclib/xlc/ looks ok so far Would be great if anyone has an idea Thank you, Michael P.S.: Just to be complete, here are my compiler and linker options: Compiler: DLL(CBA) ILP32 TUNE(0) ARCH(0) FLOAT(IEEE) LANGLVL(EXTENDED) TARGET(LE) NOOPT LONGNAME SOURCE ROSTRING OBJECT PLIST(HOST) NOOE NOSTRICT_INDUC NOWSIZEOF NOSEQUENCE NOMARGINS NOINLINE NOLIST NOOFFSET NOCOMPACT NOCOMPRESS NOIGNERRNO NOINITAUTO EXECOPS DEFINE(_OS390) DEFINE(_OE_SOCKETS) DEFINE(_OPEN_THREADS) DEFINE(_LARGE_FILES) DEFINE(_POSIX_SOURCE) DEFINE(_ISOC99_SOURCE) DEFINE(_UNIX03_SOURCE) DEFINE(_XOPEN_SOURCE_EXTENDED=1) DEFINE(_XOPEN_SOURCE=500) DEFINE(NEEDSIEEE754) DEFINE(NEEDSLONGLONG) Linker: AMODE=31 RMODE=ANY CASE=MIXED DYNAM=DLL REUS=RENT UPCASE=NO LIST MAP XREF -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SSH connection using PuTTY
Neubert, Kevin schrieb: I didn't think PuTTY supported 3270. Has something changed in the last few years? It even shows as an actively opposed feature for PuTTY at www.chiark.greenend.org.uk Not 3270 over SSL - I'm talking about a pure SSH Connection. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Building a DLL under USS
Thank you all for your hints. Building unter USS seems ver tricky to me When I use -qdll with cc, then I get unknwon option -d :-( When I use -qdll with c89, then I get unknwon option -q :-( Now, after playing a while I got it working... I use xlc now and compile and link in one step. The DLLs that are generated are all at least two times larger as the DLLs produced by the Compiler unter z/OS Batch. But... they are working now (can be loaded and used) Again, thank you fpr your suggestions Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
SSH connection using PuTTY
All, could anyone tell me correct settings for a SSH connection to a z/OS Box? I use PuTTY and encounter some funny things, for i. e. I can't enter the number 2 Maybe just $TERM is wrong (I use vt100). Any ideas? Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Windoze 7
I have a laptop with pretty near those specs. Win7 (Ultimate 64) is a pile of rubbish - locks up continually. Plenty of hits on the web. No answer. Linux, even driving 6 cores 100%, runs fine - a bit warm, but never locked up yet. It should be noted I only bought this for some Linux scheduler testing, so no major issue for me - might be for others. Oh no, please... We are all grown-up here, so please no more (annoying) Windows vs. Linux Flamewar Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SQL Server replacement
Richards, Robert B. schrieb: If we were looking to replace Microsoft's SQL Server with something on System z, what would my options be and how much effort would be required to move it there? Well migrating to another DBMS is mostly a big challenge. If you are using just plain valinna stuff (i. e. no properitary column types, stored procedures, triggers, ...) then changin the DBMS is mostly painless... But if there are a lot of special things (see samples above), then... eh... have fun ;- As we are an ISV our products have to support a wide range of DBMS. We used MS-SQL Server, MySQL, PostgreSQL, Oracle and DB2 (unix and z/OS) in the past and they all have pros and cons. For example: DB2 is rock-solid and very, very close on the SQL-92 standard (well, but that is not always a gift - for example SQL-92 states that leading spaces from CHAR(n) columns should not be removed and so DB2 doesn't removes them on retrieval - most other DBMS (as MS-SQL) do so). But administrating DB2 is not that easy imho. Oracle is somehow rock-solid also, but I personally *HATE* tha Java Frontend that comes with Oracle. Furthermore I *HATE* the fact that you need a GUI to install Oracle (or I was too stupid to do without a GUI). I had to install X11 on a server just to install Oracle. Oracle also has its own datatypes (no INTEGER, SMALLINT and so on... Oracle knows NUMBER). And what is sometimes really a pain: Oracle doesn't know columns containiung NULL. PostgreSQL... a great performer, great fetures but the ODBC driver is (sorry) crap, crap, crap If you really need ODBC, I pers. would avoid PostgreSQL. MS-SQL Hmmm The system is somehow ok, the ODBC-Driver is stable but stupid (supports mostly just the base that is needed). MySQL Well from a users, administrators and coders view, this is my favorite. Most of MySQL-Stuff is just so simple. The Server is installed in just one or two minutes, the ODBC-Driver is just a dream and using/administrating MySQL is *VERY* simple. But I've heard from some colleagues that they had problems with MySQL when they used rather big databases (multiple Gigs). But I don't remember exactly the problems they had... As you see. The answer to your questing is it depends as always. I pers. would try MySQL on z/Linux. If ODBC is not needed you could/should try PostgreSQL also. DB2 is also great - I like this DBMS, but administrating is more overhead as for PostgreSQL and MySQL Bye, Michael -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover GERMANY Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Commercial Registry: HRB52778 Local Court Hannover Chief Executive Officer: Till Dammermann, Dr. Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: AFP Toolkit - open source or freeware
I am looking for a WYSIWYG freeware or open source tool to build AFP resources with. We have PSF, but not InfoPrint. Up until now we have just written OGL, but now we need to look for a tool. It would be fine for it to run either on z or on a PC or Linux . Use MS-Word and the AFP-Printer Driver from IBM. It can generate Overlays, Page Segments and Documents. bye, MK -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: AFP Toolkit - open source or freeware
I am looking for a WYSIWYG freeware or open source tool to build AFP resources with. We have PSF, MS-Word is hardly freeware or open source, but if MS-Word will do what is needed, then perhaps the OpenOffice equivalent would also work (and that *is* both freeware and open source). Well, MS-Word was just a joke. Of course any tool can be used, even notepad or MS-Paint. Furthermore, the orginal auther requested a freeware tool that generates AFP. So... the generator is the printer driver and this tool is freeware. Bye, MK -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
LE Condition Handler, COBOL SORT and z/OS 1.10
All, at a customers site we encounter a problem that I don't understand... maybe any of you can give me a hint.. At first, at the client side the LE-Option TRAP(ON,NOSPIE) is in effect and z/OS 1.10 is running. The described problem does not occur with z/OS 1.9! Our main program (all COBOL) registers a user condition handler using CEEHDLR and queries a resume point using CEE3SRP. The address of the resume point is stored in a COBOL-Variable marked EXTERNAL. Now, from another sub-program we issue a COBOL-SORT (using an INPUT and OUTPUT PROCEDURE) and encounter a S0C4. Our condition handler get's called, but the EXTERNAL-Variable containing the address of our resume point is NULL. Furthermore, the complete WORKING-STORAGE of our condition handler is completely fresh. I guess the reason is that the SORT runs in its own enclave?!?!? So, I check if the resume-point is NULL/ZERO - if yes, I GOBACK from my condition handler after I've set the flag PERCOLATE (like in the current case if I catch an ABEND within the COBOL-SORT processing). Now... the funny/bad thing is, that the jobstep ends not with the S0C4, it ends with CC=0. WHY?!?!?!?!? As said, if running with TRAP(ON,SPIE) everything is fine. And TRAP(ON,NOSPIE) is even fine under z/OS 1.9 - but z/OS 1.10 gives me the CC=0 WHY? Anything I miss? Bye Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: LE Condition Handler, COBOL SORT and z/OS 1.10
Steve, I got to wondering: have your LE default settings been changed in moving from 1.9 to 1.10? If someone got it in their bonnet to set the default to POSIX(ON) that might account for the change in behavior. I'll cross-check this tomorrow - but afaik POSIX(OFF) is in effect... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: ASA character viewer
:Do you know of a freeware Windows viewer that can display reports with :embedded asa carriage control characters and be able to display it :correctly? The viewer should be able to interpret the ASA characters. Not windows, but Linux (or other UNIX that supports the getopt() function) http://home.comcast.net/~urbanjost/CLONE/ASA/asa_carriage_control.html May be compiled without pain using cygwin under Windows Bye, Michael -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover GERMANY Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Commercial Registry: HRB52778 Local Court Hannover Chief Executive Officer: Till Dammermann, Dr. Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Date / Time simulation?
All, is it possible to simulate a specific time and date to an appication (COBOL+ASM Batch and/or Java)? There are some tools and libraries for Linux and Windows that can fake a specific date/time to a process. Using Micro Focus COBOL one can fake the date via environment variables... But how about z/OS? Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Alternatives to QuickRef?
Itschak Mugzach schrieb: Does anyone knows an alternative to the mainframe product known as QuickRef? I' currently working on a Help-System that will hopefully be released Q1 next year (most of the work is done - I'm currently cleaning up some things, implement licesnsing stuff, design the web-site and so on). This system is a .NET Application that can be hooked into any running application, grab the text string under the cursor and query a DB with this string. This way I can query any 3270-Emulation and query for the string under the cursor. (In detail, I use several techniques/methods to get the string to query). If you are interested to give it a test drive or you want to have more technical details - let me know. And also let me know which manuals you need to be stored in the database (i. e. SQL-Codes, DB2-Messages, RACF-Messages. MVS System Codes and so on). I also plan to provide an API so you can store your own personal data into the database. Oh.. and to answer your question: Well, the only alternative that I know is IBM BookManager Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Does a DD-Statement waste memory after dealloc?
Clark, If these are for QSAM data sets, does the C program do a FREEPOOL (free the buffer pool) on CLOSE. For reasons I don't understand, apparently CLOSE does not automatically free the buffers. I think the Well, I assume the C-Runtime does a FREEPOOL. If an I/O Error occurs the field __last_op of the __amrc_type can be __QSAM_FREEPOOL. At no other place in the Manual something like FREEPOOL is mentioned. So I guess it is done automatically Bye, Michael -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover GERMANY Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Commercial Registry: HRB52778 Local Court Hannover Chief Executive Officer: Till Dammermann, Dr. Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Does a DD-Statement waste memory after dealloc?
Miklos, We are also around dynalloc from C/C++, but You are saying 17000 pages , but the used storage also high ? (RPTSTG(ON)) So is it a reall a memory leak (HEAPC(ON,0,0,20)) or just a high real storage usage ? The LE runtime HEAPOOL(ALIGN) can make big differences . Well, maybe I'm currently a little bit dumb, but where is the difference? When my Prog starts, SDSF reports something around 1700 used pages (ehh, a page is 4K, right?). After some time, it reports (for example today) 15T pages (I assume T=thousand). The prog does a DYNALLOC, OPEN, READ/WRITE, CLOSE, DEALLOC. So somehwere is a memory leak. The last days I tried to find it using different techniques. I used a wrapper around malloc(), calloc(), realloc() and free() to track my own memory allocations. Result: No leak! Nearly everything I allocate gets freed too. I've also used the Heap-Manager CEL4MCHK... again: no leak. So... Until now I can be sure that I've no obvious memory leak in my application. Now I assume something that is special to the z/OS Envoronment makes my application use that much memory (the application runs also on Linux, AIX, SunOS and Windows - no high memory usage is seen on these platforms). Just a few minutes ago I've captured a SVC Dump of my prog - since I've never done things with IPCS this brings me not any further. I'll have to get familar with IPCS first. I also cancelled the prog and generated a dump - the dump has been catched by the IBM Application Fault Analyzer and I'll throw an eye on the analysis later. What I've seen so far is a error message: snip *ERROR* The left node address 1E222AD8 is larger than the parent node address 1E222098 /snip whatever IBM tries to tell me with this left-right stuff ;- I'll consult the manual later Maybe I'm somehow irritating the heap manager Bye, Michael -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover GERMANY Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Commercial Registry: HRB52778 Local Court Hannover Chief Executive Officer: Till Dammermann, Dr. Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Does a DD-Statement waste memory after dealloc?
Hi Juergen, The FREEPOOL macro releases an area of storage, previously acquired for a buffer pool for a specified data control block. The area must have been acquired either automatically (except when dynamic buffer control is used) or The problem is, that FREEPOOL needs the DCB - an because my appl is written in C, I don't have any clue about the DCB Bye, Michael -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover GERMANY Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Commercial Registry: HRB52778 Local Court Hannover Chief Executive Officer: Till Dammermann, Dr. Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Does a DD-Statement waste memory after dealloc?
Hi Chris, Under the COMMAND panel, try VERBX VSMDATA 'SUMMARY' Thank you for the hint... I tried it and what I get at the end of the summary is: VSM SUBPOOL TRANSLATION TABLE ERROR DETECTED The other thing I find interesting is the fact that you are up to 17T real pages. Either some program is looking at a lot of storage all the time, or that storage has been pagefixed. If it was not pagefixed, the system probably would have paged some of that storage out. To see what is pagefixed you can run a RSMDATA report. gives me BLS18100I ASID(X'0001') FFB744 not available for PVT IAR80303I Primary RSM data area not in dump. RSM processing terminated. Well all this stuff is somehow wired... Using IPCS I was able to see that I use most of the space in the extended user region (ELOAL = 3A4F000) and with the IBM Fault Analyzer I was able to see that there are many many modules loaded in this region that I've never heard about :( So I'm out of the office now for two days and when I'm back I guess I have to study a lot of manuals (i. e. ABCs of SysProg and so on) to get familar with all this stuff... I ask myself why there is no how to find memory leaks guideline in the ABCs of System Programming Manuals... Other stuff is handled (for ex. loop detection) So far, thank you for your hints bye, Michael -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover GERMANY Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Commercial Registry: HRB52778 Local Court Hannover Chief Executive Officer: Till Dammermann, Dr. Bernd Huber -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Does a DD-Statement waste memory after dealloc?
All, I currently try to find a obscure memory leak in one of our applications. After some days our appl occupies ~17.000 pages of real memory (needs just ~1.500 after startup). As we track all malloc(), calloc(), realloc() and free() function calls, I can say that there is no obvious memory leak Now... after I've looked at the JESYSMSG I've noticed that we've done approx 17.000 DYNALLOCs, everyone with a different DD-Name (we let the z/OS generate a unique one, like SYS1, SYS2, SYS3 and so on). to be clear: *NOT* ~17.000 at the same time. mostly only one at the same time... Of couse, we deallocate them after we've finished using the DD-Name, but I wonder that even after a DEALLOC (with SVC99) there is some space still occupied Why? Because of performance? Because of some kind of control block that can only grow but not shrink? Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Does a DD-Statement waste memory after dealloc?
Have you tried taking an in-flight dump (z/OS command : DUMP COMM=('foo') ) of the address space and then running IPCS against it to see where the storage is being used (VERBX VSMDATA and RSMDATA would be good place to start). I've never used IPCS :-( But I'm afraid in this case I have to use it. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Does a DD-Statement waste memory after dealloc?
We are also around dynalloc from C/C++, but You are saying 17000 pages , but the used storage also high ? (RPTSTG(ON)) So is it a reall a memory leak (HEAPC(ON,0,0,20)) or just a high real storage usage ? The LE runtime HEAPOOL(ALIGN) can make big differences . I'll give this a try MK -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How much will fit in a dataset?
Jan MOEYERSONS schrieb: DASDCALC of Central Cost Software does a pretty good job on calculating DASD space. http://www.centralcoastsoftware.com/page6.html Ah, nice tool @ all: thank you for your replies to my question. After reading the 3390 Reference Summary (I even didn't know that such thing existed) and playing around a little bit with DASDCALC and a self written C Prog I guess now I have clue how this stuff works Thank you! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
How much will fit in a dataset?
All, I'm a little bit mystified but maybe I just need more coffee... don't know... Yesterday I've allocaed a dataset (RECFM=FB, LRECL=80, BLKSIZE=800, SPACE=TRK(1,1)) and filled as much records in this dataset as possible. I've used the ISPF Editor and I was able to write 6240 records to the file. I've got a E37 as I tried to add the record #6241. Ok Then I've written a little C-Program that used the fopen/fwrite/fclose functions to fill the same dataset. I was able to fwrite 6.290 records. Well... I guess I was able the write 6240 records and the difference is somethere in the C-Library IO-Buffer that now can't be flushed to disk. So I've issued a fflush() after each write to be sure how many records I *REALLY* can write into the dataset: round about 1.200... huh? Here I guess that the fflush() will write a block to the DASD and will waste much space - because the block isn't filled yet... I've read some manuals and I guess I know why: There may be so called short blocks - I guess this can happen when the C-Library calls fflush() to flush the IO buffer but a Block isn't full yet. Right so far?!?!? So I've allocated the file with RECFM=FBS and voila... No matter if I issue a fflush() after each write or not - I can write 6290 records in both cases. But what I really don't understand: A track is (afaik) 56.664 bytes in size. So I could write 56.664 / 800 (track size / block size) = 70 blocks in one track. One block can hold up to 10 records (LRECL=80, BLKSIZE=800). So... one track should keep up to 700 records. z/OS allocates up to 16 extents, so... 700 * 16 = 11.200 Records. So why I can only write 6.240 records? So the question is: How can I determine how much space is still available? Is there a formula or something like that?!? Or any way to get the current allocation (allocated extents) for a dataset? And why the hell is my calculation wrong?!?!? Thank you very much for your help and ideas Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How much will fit in a dataset?
Thank you all so far! *avoid* fflush for 3 reasons: performance, wasted space on track, unexpected space abends. Period. Well, I've used the fflush() to check my assumptions... I'm aware of the badness of fflush() ;- If you expect to write approx. 1 000 000 records then you get 1432,6... tracks. You should round it up to 1500 tracks and give some secondary space, i.e. 500 tracks (YMMV). Here are the bad news (well, for me): A) I don't have any clue how much I have to write (this is the reason why I need to check if the dataset is getting full and I have to allocate an additional file) B) the whole stuff is written in Java... This is why I hoped I could do all the needed calculations by myself because calling native stuff (assembler) is expensive in Java Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How much will fit in a dataset?
Don Williams schrieb: Yes, there is a formula. I'll assume that you have either 3390 or 3380 (or equivalent). Refer to GX26-4577. It has additional references. Ahh found it on bitsavers.org Thanks! Bye, MK -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: User-written ISPF-Editor line commands
* FA - Find All occurrences of a word. I did a similar thing using a Macro with Vista tn3270 If I press ALT-ENTER, the word under the Cursor is searched with a FIND xxx ALL command. If I press CTRL-ENTER, the Word under the cursor is searched on column 8 (-- so I put the cursor on a PERFORM X00-FOO-BA, press CTRL-ENTER and the editor jumps to the X00-FOO-BA paragraph... I really don't wanna miss one of them But ok, not native for ISPF because it is a 3270-Emulation macro. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
User-written ISPF-Editor line commands
All, I've been googl'ing for a while now but in vain so far: Is it somehow possible to write user-defined line commands? I want to enter FOO in front of a line in EDIT and then a self-written routine should be fired up that handles the line... Any way? Thank you, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: User-written ISPF-Editor line commands
Thank you guys! That's exactly what I'm looking for! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Need new 3270 emulator: SSH, inexpensive, reliable
John, if you need a cheap and reliable 3270 Emulation then give Vista tn3270 a try. see www.tombrennansoftware.com Since V1.26 it supports secure connections over a SSL connection - I guess this is what you need. The pros and cons of (all) 3270 emulations have been discussed here before. What I like best on Vista is the really clear font, the support of the author and the z/OS Utility VSTEXEC, which can be used to start Vista tn3270 Macros from your TSO Session... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Any product to undelete file?
Guy Gardoit schrieb: Hmmm. Makes me wonder if in Unix there is an recycle bin equivalent for the rm command. no. KDE, GNOME, XFCE and so on have a recycle bin implemented, wich only works if files are deleted with the filemanager of the desktop environment (-- KDE, GNOME, etc). But there is a rather cool library called libtrash which can be used. This library hooks the remove() and unlink() functions of the libc. So whenever an application deletes a file, the libtrash will get informed about this and move the file to a recycle bin directory. Works at least for Linux, no idea if it works for AIX, SunOS, HP-UX or whatever Bye, Michael -- Mit freundlichen Grüßen Michael Knigge Entwicklung S.E.T. Software GmbH Lister Straße 15 30163 Hannover Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Handelsregister: HRB52778 Amtsgericht Hannover Geschäftsführer: Till Dammermann, Klaus Stöhr -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Question about REUS=NONE
All, once upon the time, we had to write an application (in VS COBOL II) that uses subtasks. Because this old COBOL release did not support subtasks, we did a trick: We've attached from an ASM driver a little ASM stub that did just one thing: call the wanted COBOL prog. We had to link all COBOL-Modules statically to get all this stuff working. The COBOL progs are also using some ASM Subs for some special things (i. e. doing a GETMAIN, FREEMAIN, STIMERM and so on). They are also statically linked. So the initial ATTACH attaches a really big thing... Now we are just about 13 years later and I have to convert this application. We want to use Enterprise COBOL and dynamic CALLs. Now. I guess all the COBOL-Stuff will work pretty well (I guess that the WOKING-STORAGE gets getmained for every new copy of the COBOL-Prog within each subtask). But I wonder how to migrate the ASM-Subs nearly painless I could rewrite all this ASM-Subs and use dynamic Saveareas but I wonder if just using REUS=NONE would do the same job... So bring it to a question: What is the scope of the REUS-Option? (Sub)Task-Level? Then using REUS=NONE would bring up a new copy of the ASM-Stubs for every Subtask - just what I need I don't care for the wasted memory because the ASM-Subs are mostly rather small (and well, today they are all statically linked together with some really big COBOL-Subs) Thank you for hints Bye, Michael -- Mit freundlichen Grüßen Michael Knigge Entwicklung S.E.T. Software GmbH Lister Straße 15 30163 Hannover Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Handelsregister: HRB52778 Amtsgericht Hannover Geschäftsführer: Till Dammermann, Klaus Stöhr -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
IF-Statement in JCL
All, is it possible to control the steps to be executed by a IF-Statement, i. e. with a variable? Like this: // SET SWITCH1=YES // SET SWITCH2=NO //* //* EXECUTE ONLY IF SWITCH1 IS SET TO YES //IF SWITCH1=YES //STEP01 EXEC PGM=IEBGENER //... more stuff //ENDIF //* //* EXECUTE ONLY IF SWITCH2 IS SET TO YES //IF SWITCH2=YES //STEP02 EXEC PGM=IEBGENER //... more stuff //ENDIF //* If I've understood the JCL docs corretly there are only some predefined variables (like RC) that can be checked... I wonder if there is a way... Thanks Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IF-Statement in JCL
Roland, Not with YES/NO but like this Note: IEFBR14 always set RC0 oh my god, that simple.. I always thought to myself, I could write a utility that just returns (so do a B R14) and set a RC that I've specified with a PARM JCL-Statement (EXEC PGM=FOO,PARM='1' or something like that) Your approach somehow the same, but much simplier Thank you... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
How to set priority (CPU) of a job?
All, maybe this is a real dumb question but We are running a ADCD based system (around 60 MIPS) and need to run a job with a most powerless priority possible. One of our jobs (a real big java program) is consuming so much CPU power that working on the system is nearly impossible. So we want to submit the job but in a way, where all other stuff running on the system (started tasks, batch jobs and TSO Sessions) are getting all CPU power and the batch job is getting only what's left... Any way? The Work Load Manager is installed and active, but I have no skills in this area. It would be great if someone would bring me in the right direction... Thank you, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to set priority (CPU) of a job?
The answer is in WLM. There should be a Service Class with the lowest possible goal, probably with a Discretionary Goal. Then there should be Classification Rules that direct jobs to that Service Class, probably by jobclass. Select that jobclass for the job, if you are allowed to, OR reset the jobclass before is starts OR reset the Service Class of the running job under SDSF. Thank you - I'll give it a try this evening Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: C/C++ Calling OBTAIN / IGC0002G
Eileen, I don't know what is happening at your site, but on our system everything runs fine. I was able to compile and link the source and successfully do an OBTAIN for SYS1.PARMLIB on volume Z9RES1. I'll attach once again my source and also the SYSOUT of the c++ so you can compare your and my settings Good luck! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html *-- R0 EQU 0 R1 EQU 1 R2 EQU 2 R3 EQU 3 R4 EQU 4ADRESSIERUNG DER PARAMETER R5 EQU 5 R6 EQU 6 R7 EQU 7 R8 EQU 8 R9 EQU 9 R10 EQU 10 R11 EQU 11 BASISREGISTER R12 EQU 12 LE/370 COMMON ANCHOR AREA (CAA) R13 EQU 13 LE/370 DYNAMIC SAVE AREA (DSA) R14 EQU 14 R15 EQU 15 *-- PARM DSECT PARM_FLG DSFFUNKTIONSCODE HEX'C100' PARM_DSN DSFADRESSE AUF DSN (MUSS 44 BYTES LANG SEIN) PARM_VOL DSFADRESSE AUF VOLSER (MUSS 6 BYTES LANG SEIN) PARM_WRK DSFADRESSE AUF 140 BYTE WORK/RETURN-AREA *-- *-- OBTAIN CEEENTRY PPA=MAINPPA, ADRESSE AUF PROGRAM PROLOG AREA X AUTO=WORKSIZE,GROESSE DER DSECT (- SAVEAREA!) X NAB=NO, NAB NICHT ZWINGEND VORHANDEN X MAIN=NO, KEIN HAUPTPROGRAMMX EXPORT=NO,ENTRYPOINT NICHT EXPORTIEREN X BASE=R11 BASISREGISTER * USING CEECAA,R12COMMON ANCHOR AREA USING CEEDSA,R13DSA + LOKALE (DYNAM.) VARIABLEN *-- L R4,0(R1) ADRESSE AUF PARAMETER LADEN USING PARM,R4 PARAMETER ADRESSIEREN * OBTAIN PARM OBTAIN AUFRUFEN STR15,RETCODE RETURNCODE SICHERN * CEETERM RC=RETCODE *-- MAINPPA CEEPPA PROGRAM PROLOG AREA LTORG *-- CEEDSA DSECT: DYNAMIC SAVE AREA RETCODE DS F RETURNCODE DS 0D ALIGNMENT SICHERSTELLEN WORKSIZE EQU *-CEEDSA *-- CEECAA DSECT: COMMON ANCHOR AREA CEEEDB DSECT: ENCLAVE DATA BLOCK *-- END -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html //* c++ //COMPILE EXEC PGM=CCNDRVR, // PARM='POSIX(OFF) ABT(RETCODE) ENVAR(PDFDIR=./, __CBC_EXTENDED=9)/ // ./ ./ctoasm.c *.c // CMDOPTS(OE,NOLSEARCH, // START,LONGNAME,RENT,TERMINAL, // OBJECT(ctoasm.o), // HALT(16),NOMARGINS,NESTINC(255),NOSEQUENCE,NOSSCOM, // NOEVENTS,NOALIAS,TARGET(LE),NOEXPORTALL, // ARGPARSE,EXECOPS,PLIST(HOST),REDIR, // LOCALE(POSIX), // LANGLVL(ANSI),NOUPCONV,NOLIBANSI,ANSIALIAS, // NOINLINE(AUTO,NOREPORT,100,1000),MEMORY,MAXMEM(*),SPILL(128), // NODEBUG,NOTEST,NOGONUMBER, // NOLIST(/dev/fd1),NOSOURCE(/dev/fd1), // NOAGGREGATE,NOEXPMAC,NOOFFSET,NOSHOWINC,NOXREF, // NOINFO,FLAG(W),NOIPA), // DEFINE(errno=(*__errno())), // DEFINE(_OPEN_DEFAULT=1), // NOSEARCH,SEARCH(/usr/include/, ///usr/lpp/cbclib/include/, ////''CEE.SCEEH.+'', ////''CBC.SCLBH.+''), // NOPPONLY(NOCOMMENTS,NOLINES,/dev/fd1,2048), // OPTIMIZE(0)' //*STEPLIB DD DSN=CEE.SCEERUN,DISP=SHR //*DD DSN=CBC.SCCNCMP,DISP=SHR //* c++ //ASSEMBLE EXEC PGM=ASMA90, // PARM='NODECK,OBJECT,TERM, // NOLIST,NOESD,NORLD,NOXREF,FLAG(4)' //SYSLIB DD DSN='CEE.SCEEMAC',DISP=SHR,DCB=DSORG=DIR // DD DSN='SYS1.MACLIB',DISP=SHR,DCB=DSORG=DIR // DD DSN='SYS1.MODGEN',DISP=SHR,DCB=DSORG=DIR //SYSPUNCH DD DUMMY //SYSUT1 DD UNIT=SYSDA,SPACE=(32000,(30,30)), // STORCLAS=,MGMTCLAS=,DATACLAS=,DSNTYPE=, // DCB=(RECFM=F,LRECL=4088,BLKSIZE=4088)
Re: C/C++ Calling OBTAIN / IGC0002G
I am trying to compile and link the programs in batch but am running into other problems, so you attachments will be a big help. Well, I usually work under Batch I could send you my compile and link JCL complete with all options (for asm, compile and link) if you wish Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: C/C++ Calling OBTAIN / IGC0002G
Hi, but when i look at c, c++ on the mainframe I know next to nothing - c# is completely different. That is why i got interested in this topic. Well, C# ist more like Java as C or C++ although some do work and others abend. and the abends happen when running both batch and under OMVS. i have not yet looked up what the segmentation violation abend means. segmentation violation is a S0C4. int main() { char dsname[44], volume[6]; memset(dsname,' ',44); ,Command ===, memcpy(dsname, XCICS.EILEEN.PDSE, 17); memset(volume,' ', 6); memcpy(volume, CICH92, 6); memset(work,' ',140); call_obtain(dsname,volume,work); Try call_obtain(XCICS.EILEEN.PDSE, CICH92); and remove the stuff above... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: C/C++ Calling OBTAIN / IGC0002G
Cristi Terpea schrieb: What am I doing wrong? I really don't know ;) But why don't you use a little ASM routine? * R0 EQU 0 R1 EQU 1 R2 EQU 2 R3 EQU 3 R4 EQU 4PARMS R5 EQU 5 R6 EQU 6 R7 EQU 7 R8 EQU 8 R9 EQU 9 R10 EQU 10 R11 EQU 11 BASE R12 EQU 12 LE/370 COMMON ANCHOR AREA (CAA) R13 EQU 13 LE/370 DYNAMIC SAVE AREA (DSA) R14 EQU 14 R15 EQU 15 * PARM DSECT PARM_FLG DSFFUNCTION-CODE HEX'C100' PARM_DSN DSFADDR OF DSN (44 BYTES) PARM_VOL DSFADDR OF VOLSER (6 BYTES) PARM_WRK DSFADDR OF 140 BYTE WORK/RETURN-AREA * * OBTAIN CEEENTRY PPA=MAINPPA, ADDR OF PROGRAM PROLOG AREA X AUTO=WORKSIZE,SIZE OF DSECT (- SAVEAREA!) X NAB=NO, NAB NOT USED X MAIN=NO, NO MAINPROG X EXPORT=NO,DONT EXPORT ENTRYPOINTX BASE=R11 BASE * USING CEECAA,R12COMMON ANCHOR AREA USING CEEDSA,R13DSA + LOCAL (DYNAM.) VARIABLES *-- L R4,0(R1) LOAD ADDR OF PARMS USING PARM,R4 ADDRESS PARMS * OBTAIN PARM INVOKE OBTAIN STR15,RETCODE SAVE RC * CEETERM RC=RETCODE *-- MAINPPA CEEPPA PROGRAM PROLOG AREA LTORG *-- CEEDSA DSECT: DYNAMIC SAVE AREA RETCODE DS F RETURNCODE DS 0D ENSURE ALIGNMENT!!! WORKSIZE EQU *-CEEDSA *-- CEECAA DSECT: COMMON ANCHOR AREA CEEEDB DSECT: ENCLAVE DATA BLOCK *-- So... now you can invoke OBTAIN from C by int OBTAIN(unsigned long[]); #pragma linkage(OBTAIN, OS) #pragma pack(1) /* 1 byte alignment */ typedef struct { char Ds1FmtId; char Ds1Dssn[6]; unsigned short Ds1VolSq; char Ds1CreDt[3]; char Ds1ExpDt[3]; unsigned char Ds1NoEpv; unsigned char Ds1NoBdb; unsigned char Ds1Flag1; char Ds1SysCd[13]; char Ds1RefDt[3]; unsigned char Ds1SmsFg; unsigned char Ds1ScXft; unsigned short Ds1ScXtv; unsigned char Ds1DsOrg[2]; unsigned char Ds1RecFm; unsigned char Ds1OptCd; unsigned short Ds1BlkL; unsigned short Ds1LrecL; unsigned char Ds1KeyL; unsigned short Ds1Rkp; unsigned char Ds1DsInd; unsigned char Ds1ScAl1; unsigned char Ds1ScAl3[3]; unsigned char Ds1LstAr[3]; unsigned short Ds1TrBal; unsigned char Reserved; unsigned char Ds1Tthi; unsigned char Ds1Ext1[10]; unsigned char Ds1Ext2[10]; unsigned char Ds1Ext3[10]; unsigned char Ds1PtrDs[5]; char Filler[44]; } DSCB; #pragma pack() /* default alignment */ int call_obtain(char *Dsn, char *VolSer) { intRc; unsigned long Parm[4]; char ParmDsn[44]; char ParmVolSer[6]; DSCB Dscb; memset(ParmDsn, ' ', 44); memcpy(ParmDsn, Dsn, strlen(Dsn)); memset(ParmVolSer, ' ', 6); memcpy(ParmVolSer, VolSer, strlen(VolSer)); /should be 6 always! Parm[0] = 0xC100; Parm[1] = (unsigned long) ParmDsn; Parm[2] = (unsigned long) ParmVolSer; Parm[3] = (unsigned long) Dscb; if((Rc = OBTAIN(Parm[0])) != 0) return(Rc); // do something with DSCB return(0); } This is how it works for me in a multithreaded application written in C... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SPF/pc, Gone???
- Does anyone have any contact information? No, really bay news! - Have any currently registered owners of SPF/SE heard anything from the company? The last time I've been in contact with Tim Tetiva was 08/26/2008. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: SPF/pc, Gone???
I continued to check in yearly to see if new feature would entice me away from the old version. I did this as recently as late last year, and at that time saw no signs that they were about to pull the product. I've been in deep contact with Tim Tetia since Nov 2006. He did a lot of enhancements for us (and bug fixes for some bugs I've found). One of the greatest enhancements is the ability to edit files with a RDW (Record Descriptor Word, the 4 byte length field of every RECFM=V dataset). This feature is so flexible that we can also edit files downloaded from a BS2000 Mainframe (with a 2 Byte length field) and also binary AFP-Files (2 byte length field following a X'5A'). Furthermore Tim has realized a command history function for us and the new command FONTSET which can be used to change the editor font at runtime. And last but not least, he added support for newer Micro Focus COBOL Compilers (Net Express / Server Express) so one can use MERGEMSG to merge error-messages into the edit session. Oh yes, and he implemented the new option SCREEN for the PRINT command that causes SPF/SE to print a hardcopy (prints exactly what is shown in the editor). SPF/SE is much more powerful as one might think if looking at the web site Bye, Michael -- Yours sincerely Michael Knigge Development S.E.T. Software GmbH Lister Straße 15 30163 Hannover GERMANY Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Handelsregister: HRB52778 Amtsgericht Hannover Geschäftsführer: Till Dammermann, Klaus Stöhr -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: TN3270 Clients?
Does anyone know of a really good, free TN3270 client for windows? You should really invest $30 and buy Vista tn3270 from www.tombrennansoftware.com Not free, but cheap. If you want it really free there are (IMHO) three alternatives: 1. The (old) free Version of QWS3270 2. The console version of X3270 (-- w3270) 3. Use a free X-Server and X3270 W3270 and X3270 can be downloaded at http://x3270.bgp.nu There a several free X-Servers, but I guess the best is Xming which can be downloaded - http://sourceforge.net/projects/xming But running a X-Server just for a 3270 Session Hmmm hey, spend the $30 and be happy ;-) Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Pass Parameter containing spaces to Rexx in BATCH
All, I want to pass multiple parameters to a rexx running in batch, but one of the parameters can contain spaces (-- multiple words). I tried EXEC PGM=IKJEFT01,PARM='MYREXX P1 P2 IS HERE P3' and also EXEC PGM=IKJEFT01,PARM='MYREXX P1 ''P2 IS HERE'' P3' but all in vain. no chance? Thank you all, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Pass Parameter containing spaces to Rexx in BATCH
All, Lots of ways to do this. Work with the syntax of your PARSE verb. Quick and easy: put the parameter with spaces last: Thanks a lot for all your replies - again I've learned a little bit ;) bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: 3270 emulator cost
Brennan's Vista. At $30 a seat for a perpetual license, you can't get a better TN3270 emulator. Not only is it cheap, it's way better than PCOMM, Extra, RUMBA, etc. Check it out at www.tombrennansoftware.com. I also recommand Vista tn3270 to everyone. But better than is not right. It always depend on the needed features. For example, if you need EHLLAPI/WinHLLAPI, then you can't use Vista because it doesn't support this stuff. But I guess for the $40.000 Tom Brennan would implelent this ;- Advantages of Vista (imho) o VERY VERY good readable Font! IMHO the greatest 3270 Font! o Vista is small- it fires up quickly and you get quickly conncted o powerful macro language o Tom Brennan gives great support (he implemented extensions to the macro language for me - try this with IBM or other competitors) o It simply works! Disadvantages: o No EHLLAPI / WinHLLAPI o Dialogs are really old-fashioned (yes I know, who cares, but for the first time user they really look, ehem, strange). I personally would never use another emulator if I had the choice. bye, Michael Regards, Tom Conley -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- Mit freundlichen Grüßen Michael Knigge Entwicklung S.E.T. Software GmbH Lister Straße 15 30163 Hannover Tel. +49 511/3 97 80-23 Fax +49 511/3 97 80-65 michael.kni...@set-software.de Handelsregister: HRB52778 Amtsgericht Hannover Geschäftsführer: Till Dammermann, Klaus Stöhr -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: USS and C
And the converged question is: Do the two sets overlap? That is, do most/all of the folks who DO use C on z/OS do so under USS? I don't have much knowledgea bout all this stuff (still learning), but if I got things right you can decide if your application runs in the POSIX-Environment or in the MVS-Environment not... So, if your C-programmer someday will encounter a function that can only be used with POSIX(ON), like the threading stuff for example, then he/she will switch it on and he/she will be happy that function fooba() now will work... Now - when this application runs it runs under USS (if I got all this stuff right), so. yes, UCC and C will/can overlap. bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Anyone using TSO/E Exit IKJEFLN2 from FILE 183 of CBT-Tape?
All, subject says it all: Is anyone using GSF's TSO/E Exit IKJEFLN2 that is availabel from CBT-Tape File 183? Is it safe to install it (-- somehow stable)? I don't care if it sometimes doesn't work, but it should not crash my system Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
JCL Problem...
All, I have a utility that outputs a string to SYSPRINT (but that can be changed). Now I need to pass this string via SYSIN (or PARM) together with some other parameters to a second utility. A little pseudo-sample: //* //* IMAGINE FOO WILL OUTPUT AN IP-ADDRESS - BUT THE ADDRESS //* IS OF COURSE NOT KNOWN... //* //STEP01 EXEC PGM=FOO //SYSPRINT DD SYSOUT=* //* //* NOW I NEED TO EXECUTE A COMMAND THAT CONTAINS //* THE IP-ADDRESS //STEP02 EXEC PGM=BA,PARM='PING the.ip.addr.here' . OR ... //STEP02 EXEC PGM=BA //SYSIN DD * PING the.ip.addr.here //SYSPRINT DD SYSOUT=* Any ideas how to solve this problem? My first idea was to pass the SYSPRINT from STEP01 to a following STEP that issues an EDIT-Macro that changes the contents to my needs (BTW, how to do this?). The new SYSPRINT is then passed to the PING STEP. Of yourse this is just simplified just to show you what I need. My real case has nothing to do with IP-Adresses and PING and that stuff, but this sample is (I think so) easy to understand... Thank you in advance Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: JCL Problem...
Flint, Mike schrieb: Is there any reason why you aren't pointing SYSPRINT (or whatever) at a temporary (or permanent) file, and using that file as the SYSIN dataset for STEP02? For what reason do you *need* the SYSIN data to be instream? I don't really need it instream - it was just to clarify that I need to modify the output to SYSPRINT from the first STEP (put something around). Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Simple VTAM-Question?
All, I've modified my VTAM Logon Screen and now want to activate it. Is this possible without an IPL? I guess I have to do a F LLA,REFRESH and then to restart the TN3270-Server. But what do I have to do for the real 3270-Terminals? Restart VTAM? How? Thank you - guess it is a simple question for VTAM-Guys but I'm pretty new in this area Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Simple VTAM-Question?
Earl Buhrmester schrieb: For your TN3270 server you don't need to cycle the server, just refresh the profile. Any new connections will pick up the new USS table. V TCPIP,TN3270,O,PROFILE.DATA.SET For VTAM, use the following F NET,TABLE,OPTION=LOAD,NEWTAB=TABNAME Thank you Earl - that worked! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Debugging Tips
Michael Knigge wrote: Thank you all for your hints... When the bug is found I'll tell you... If anybody is interested - it is solved! The bug wasn't found by using IPCS, ABEND-AID, DumpMaster or whatever, just by using the all time favourite Debugger Eyes'n'Brain ;-) My application is written in C with the exception of two modules which are written in assembler (for invoking LOCATE and OBTAIN). This has been my code (extract): LOCATE CSECT LOCATE AMODE ANY LOCATE RMODE ANY SAVE (14,12) BALR R3,0 USING *,R3 LRR9,R13 LAR13,SAVEAREA STR13,8(R9) STR9,4(R13) * L R4,0(R1) USING PARM,R4 * LOCATE PARM STR15,RC * L R13,4(,R13) MVC 16(4,R13),RC LMR14,R12,12(R13) BRR14 SAVEAREA DS18F RC DSF Where is the fault? Nowhere! It's all correct. But this is true only for non-threaded code. My application uses multiple threads and by using the above code all thready have been sharing the same SAVEAREA I've written the ASM-modules LE/370 compliant now with dynamic saveareas and hey all works perfect... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Debugging Tips
find something that will trigger an early failure, run a GTF trace with IF recording. I'd advise using SYSMDUMP rather than SYSUDUMP, so that you can use IPCS. Of course, if you have SLIP take the dump then you'll have Hmmm... Never did this before I'll have look this week. something to browse with IPCS regardless. GPR C-F 000C 4298A448 R13 looks like it might be legitimate. What are the stored R14-R12, forward and back links? What format is it? I'm familar with the SAVEAREa concepts and so on, but everytime I'm digging that deep in a dump I really need some time, concentration and *SILENCE* - this is not my daily job And sadly currently here in my office I have nothing of that. So I'll have to go back to this issue in a few days... bye thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Debugging Tips
The 'call stack' saying UNKNOWN called UNKNOWN called UNKNOWN called (you get the picture) basically means that *something* called a BPX service that is either in LPA or located somewhere in the OMVS address space. H I'm playing a lot with this POSIX-Threads stuff... How familiar are you with IPCS? Enough to get around and issue a few commands? Set a slip trap on the 0C1 *and* the 422 for your job name, include your job, omvs asid and all of OMVSs dataspaces. Currently I have no access to IPCS (no permissions on current z/OS host) and I've never used it. But currently I'm planning/doing the migration to another z/OS host for our company and then I have IPCS access and I plan to play arounf with it The last few days have been very hetic here and I've been not able to focus on this bug. So... I've started to implement a lot of trace stuff this weekend in the product and hope it will crash today ;-) If it won't... welk, then I'll have to go on digging in the dump :-( bye thanks Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Debugging Tips
Steve, This particular kind of thing is sometimes seen where a program is NON-LE compliant and gets called by LE compliant code. R12 is not what LE want's it to be (and x'000c' is NOT what LE wants) and so it augers in and makes a crater. I also currently assume that I have to look in this direction. Everythig I use is my own code, written in C or ASM. The only exception (AFAIR) is the invokation of the CSI (Catalog Search Interface). Ok I'll go ahead and x-check my code again and read the C-Manual (linking stuff) Thank you all for your hints... When the bug is found I'll tell you... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Debugging Tips
All, sind a few days now I try to track down a S0C1 in one of my applications. The application is a multi-threaded application (TCP/IP Server) written in C using a bunch of self-written DLL's. The application sometimes crashes after a few minutes, sometimes after some days with the S0C1. DumpMaster tells me that the ABEND occurs in program BPXINLPA, and the PSW is 078D1400 8002. But no call stack (well, it tells me UNKNOWN called UNKNOWN called UNKNOWN) and that the failing instruction at is at offset in program PSA The job itself ends with a S422. Some information from the Log: +CEE0374C CONDITION=CEE3201S TOKEN=00030C81 59C3C5C5 954 WHILE RUNNING PROGRAM UNKNOWN AT THE TIME OF INTERRUPT PSW 078D1400 8002 GPR 0-3 4298A340 40894608 108602CA GPR 4-7 4298A3B0 40876C10 C086EA6C 0661F420 GPR 8-B 40875200 4298A500 4086E872 GPR C-F 000C 4298A448 FLT 0-2 4848A181A1EE3A55 FLT 4-6 BPXP011I THREAD 40F74C000422, IN PROCESS 211, WAS 955 TERMINATED DUE TO A PTHREAD QUIESCE OF TYPE 2. BPXP011I THREAD 40FA00E002AF, IN PROCESS 211, WAS 956 TERMINATED DUE TO A PTHREAD QUIESCE OF TYPE 2. BPXP011I THREAD 40F9E2C1, IN PROCESS 211, WAS 957 TERMINATED DUE TO A PTHREAD QUIESCE OF TYPE 2. BPXP011I THREAD 40F9F1D2, IN PROCESS 211, WAS 958 TERMINATED DUE TO A PTHREAD QUIESCE OF TYPE 2. SYSTEM COMPLETION CODE=0C1 REASON CODE=0001 TIME=14.27.13 SEQ=44974 CPU= ASID=00C7 PSW AT TIME OF ERROR 078D1400 8002 ILC 2 INTC 01 NO ACTIVE MODULE FOUND NAME=UNKNOWN DATA AT PSW - 000A 000130E1 GR 0: 1: 4298A340 2: 40894608 3: 108602CA 4: 4298A3B0 5: 40876C10 6: C086EA6C 7: 0661F420 8: 40875200 9: 4298A500 A: B: 4086E872 C: 000C D: 4298A448 E: F: END OF SYMPTOM DUMP BPXP018I THREAD 40F897600424, IN PROCESS 211, ENDED 321 WITHOUT BEING UNDUBBED WITH COMPLETION CODE 940C1000, AND REASON CODE 0001. SYSTEM COMPLETION CODE=422 REASON CODE=01A0 TIME=14.29.16 SEQ=45446 CPU= ASID=00C7 PSW AT TIME OF ERROR 070C4400 C08642BE ILC 2 INTC 78 NO ACTIVE MODULE FOUND - PRIMARY NOT EQUAL TO HOME NAME=UNKNOWN BPXP023I THREAD 40F9B590, IN PROCESS 211, WAS 342 TERMINATED BY SIGNAL SIGCNCL, SENT FROM THREAD 40F897600424, IN PROCESS 211, UID 50049, IN JOB E1407900. All I tried so far to track this one down failed. I'm at the end of my skills :-( Could anyone please give me some advise how to find this bug? Any good manual to read? Thank you very much, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Debugging Tips
David, I have some kind of limited skills, but I'm not *THAT* stupid ;) I would start start by looking up the condition description in the 'LE Run-Time Messages' manual. I have some kind of limited skills, but I'm not *THAT* stupid ;) Of course I've looked up the condition description Programmer Response: Examine the contents of registers 14 and 15. If register 15 has a value of 0, then the cause was probably a routine didn't exist and a branch was made to location 0. This would indicate a link- edit failure. Examine the contents of register 14 to determine the point Yes, and R15 **AND** R14 are ZERO So I came from address Zero... Voood ;-) Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Debugging Tips
Being multi threaded, perhaps one or more of your modules is not really re entrant /reusable but still bound as such. Well, they are... But I'm using some system stuff Catalog Search Interface for example, SVC99, and so on. I'll go ahead and read the manual if there is some kind of serializaion neccessary LE has a number of debugging tools. I think you should find an exception trace: one that only traces the last x number of events. I know very little about C, but you should be able to do a HANDLE CONDITION and trap some diagnostic information. Hmmm... I'll search in the LE Manuals for that... Never heared abou that Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Debugging Tips
Do you have a standard SYSUDUMP available, and are you on z/OS 1.8 or above, and on a z9? If so, then find the RTM2WA area in the SYSUDUMP. Now find the name BEA in the dump. That is the address of the last successful BRANCH type instruction. It should point you to where you came from. Find that in your source code and see what is missing. Thanks!!! Sounds easy... I'll check that tomorrow... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Problem opening VTAM-ACB
All, we currently move to another z/OS System (ADCD-based) and I have a poblem with one of our applications. This dialog-application generates the 3270 Datastream itself and communicates to the 3270 terminals using a VTAM ACB. I've configured this ACB as usual: AMYAPP VBUILD TYPE=APPL MYAPPAPPL APPC=YES, AUTH=(ACQ,PASS), MODETAB=LOGMODES, PARSESS=YES (of couse, I've put the continuation char in column 72) The command D NET,IP=MYAPP,SCOPE=ALL gives the following: IST075I NAME = ADCD.MYAPP, TYPE = APPL IST486I STATUS= CONCT, DESIRED STATE= CONCT IST1447I REGISTRATION TYPE = CDSERVR IST977I MDLTAB=***NA*** ASLTAB=***NA*** IST861I MODETAB=LOGMODES USSTAB=***NA*** LOGTAB=***NA*** IST934I DLOGMOD=***NA*** USS LANGTAB=***NA*** IST1632I VPACING = 8 IST1938I APPC = YES IST597I CAPABILITY-PLU INHIBITED,SLU INHIBITED,SESSION LIMIT NONE IST231I APPL MAJOR NODE = AMYAPP IST654I I/O TRACE = OFF, BUFFER TRACE = OFF IST1500I STATE TRACE = OFF IST271I JOBNAME = ***NA***, STEPNAME = ***NA***, DSPNAME ***NA*** IST228I ENCRYPTION = OPTIONAL , TYPE = DES IST1563I CKEYNAME = MYAPP CKEY = PRIMARY CERTIFY = NO IST1552I MAC = NONE MACTYPE = NONE IST1050I MAXIMUM COMPRESSION LEVEL - INPUT = 0, OUTPUT = 0 IST1633I ASRCVLM = 100 IST1634I DATA SPACE USAGE: CURRENT = ***NA*** MAXIMUM = ***NA*** IST171I ACTIVE SESSIONS = 00, SESSION REQUESTS = 00 IST172I NO SESSIONS EXIST IST314I END Now, when I tra to open the ACB in my assembler prog, I get the RC=8 in R15. This just says ACB was not opened - very helpful :-( Any hints how to track this down? My VTAM Skills are very, very, very limited (I'm a Coder - not an VTAM-Admin)! OPEN PACB ... PACB ACB AM=VTAM,APPLID=APPL1,EXLST=EXLST1,MACRF=LOGON EXLST1 EXLST AM=VTAM,LOGON=LOGON1,SYNAD=SYNAD1,LERAD=LERAD1, RESP=RESP1,TPEND=TPEND1,LOSTERM=LOSTERM1, DFASY=DFASY1,NSEXIT=NSEXIT1,RELREQ=RELREQ1,SCIP=SCIP1 . APPL1 DCX'08' APPL1A DCCL8'MYAPP ' Thank you very much for any hint! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problem opening VTAM-ACB
Chis, thank you so far for your post! I wrote all the ACB and 3270 logic about nine years ago and I guess I've lost some knowledge over the years :-( adjective usual is not peripheral to the discussion but central. I just noticed that you have coded APPC=YES. This is most inappropriate for a VTAM program written to support the use of the 3270 data stream to the assumed PC emulator. We also support LU6.2 connections from the network - this is legacy code, nowadays we use TCP/IP are doing already. If it is not zero, you should then present the value of the ACBERFLG field for interpretation - and exit the program, of course. This was A, I forgot about this one as said, approx. nine years ago It would be interesting to know which code was used to describe your problem if you would be kind enough to post it. After all your efforts... I promise! ;-) I will try tomorrow and post the results Bye Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problem opening VTAM-ACB
Chris, It would be interesting to know which code was used to describe your problem if you would be kind enough to post it. My Code is a F4: The application program is not authorized for SRBEXIT=YES. A request to open an ACB whose corresponding APPL definition statement specifies SRBEXIT=YES is rejected unless the application program is APF authorized, or using key 0-7, or in supervisor state. Ok, I don't run authorized. I added a SRBEXIT=NO to my VTAM-Definition but still in vain (and still F4) Seems I'm doning something really wrong locally. I also changed APPC=YES to APPC=NO in my VTAM-Definition but after a VARY NET,INACT,ID=MYAPPfollowed by a VARY NET,ACT,ID=MYAPP the command D NET,ID=MYAPP,SCOPE=ALL still shows APPC=YES Guess I have to grab the VTAM-Book ;) Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problem opening VTAM-ACB
Ok, I don't run authorized. I added a SRBEXIT=NO to my VTAM-Definition but still in vain (and still F4) Don't know why exactly, but now it works I've also stopped and started the Appl Major Node AMYAPP and now it works... THANK YOU!!! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Set JobId on Submit..
All, I'm currently working on a new system and I miss a great feature(tm). On the systems I've been working so far the Jobid of a JCL was automatically set to my UserId when I've submitted the Job. i. e.: //ABCXYZPQ JOB 999830010T,'SPUFI',CLASS=A,NOTIFY=SYSUID, // MSGCLASS=H,MSGLEVEL=(1,1),SYSUID Here ABCXYZP was replace with my userid FOOBAA0, resulting to the jobname FOOBAA0Q... could anyone tell what I have to do to get this great feture back? Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Set JobId on Submit..
I'd bet it was done via the IKJEFF10 submit exit. Basically, you're likely out of luck. Ahhh, yes And I also found some on the CBT-Tape that will do the job! Thank you! I'd really LOVE for IBM to allow something like: //SYSUID.A JOB ...,NOTIFY=SYSUID And I always thought I'm too stupid ;) Now I know it really doesn't work ;-) Bye Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DYNALLOC question (Multi-Volume)
If you use this on a wide scale, you might blow up your catalogs. Each dataset reserves 255 (candidate) volumes entries in the catalog record and these take space. Do a LISTC of such a dataset. Ah, good point. Thanks! Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
DYNALLOC question (Multi-Volume)
All, currently I'm playing around a little bit with the SVC99 DYNALLOC. When I try to allocate a rather large Dataset, I (sometimes) need to specify DALVLCNT (Dataset volume count). Now... I wonder it it would be safe (or ok) to specify 255 in all cases, even when allocating a small dataset. The documentation says DALVLCNT specifies the maximum number of volumes an output data set may require **MAY**... So... If I don't care if the dataset is a multi-volume or not (I just want to be sure the dataset can be allocated somehow if space is somewhere available), is it safe/ok to specify 255 and let z/OS decide to allocate multi-volume or not? Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DYNALLOC question (Multi-Volume)
Thank you guys! bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DASD or TAPE attached via TCP/IP
I wonder how it is possible to attach DASD- or TAPE-Devives via TCP/IP. Consider NFS. I guess I need to be more specific: We currently consider moving from our current (shared) z/OS system to a dedicated ADCD-System. From this system we have no access to a Tape (but we need this for QA of our products). So I wonder how (and how hard) it would be to write some thing of software that emulates a tape (and even better: a tape library) so we can also migrate our datasets. The emulated tape should be a bunch of files on a remote Server (Windows or Unix). My problem is that I don't have very deep z/OS knowledge. I'm not dumb ;-), so I guess I could learn the needed stuff (and I want! because I want to understand the things behind the scenes better), but currently I don't know how/where to start (which manual for example). I guess there must be something like a ASM-Macro that registeres a device and the piece of code that handles the commands (CCWs?) for the device. But as I said already, I even don't know where to start bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
DASD or TAPE attached via TCP/IP
All, I wonder how it is possible to attach DASD- or TAPE-Devives via TCP/IP. There is a product called mfnetdisk (see mknetdisk.com) that is able to emulate a 3390 that resides on a PC and is accessed via TCP/IP. So... I ask myself how this is possible. And (for me) even more interesting, would it also be possible to do the same for a Tape? Thank you, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DASD or TAPE attached via TCP/IP
Yes, it is possible, it works. Residence of emulated 3390 on PC is irrelevant. It is also possible for tape ...on other systems. See iSCSI. And how to configure on z/OS? Any hint for a manual? Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to check if a job has run?
Rob, (1) Use the IEFACTRT exit (job/step termination exit) - however this might be overkill for you. Well, I need this functionality only for a few jobs and IEFACTRT would impact all submitted jobs... From this point of view - yes, it is overkill. (2) Write an assembler program that always gets control as the last job step and process the JCT and SCT control blocks - (not sure about the GUPI status of these) Well if nothing else would be possible I would do this. (4) Post process the SMF data hunting for type-30 records using SORT or a freeware tool like DAF. I would like to capture SYSLOG or SMF, but I don't know how to do it. Running a batch-Job for this would not fit my needs. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to check if a job has run?
David, file, so how does this help? What would you do with it that I am not understanding? Hmmm. yes... confusing... :) What I don't want is an additional STEP after every STEP in my Job. So for example: STEP01: IEBCOPY STEP02: MYTOOL -- writes STEP01 returned CC=0 STEP03: IEBCOPY STEP04: MYTOOL -- writes STEP03 returned CC=4 STEP05: IEBCOPY STEP06: MYTOOL -- writes STEP05 returned CC=4 I didn't knew that is is quite simple to use JCT and SCT to get the CC of every STEP in the job. So putting only one STEP at the end of the Job is somehow ok for me. And I like this more than the FTP-Idea, because the FTP-Server may be down, the JCT/SCT will never ;-) Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to check if a job has run?
Hi, If you have access, you can look in the system log. Tools like OPC will capture the end of job event and then do something. Well, I need to do this in a program. Could you bring me in the right direction and tell me how I can capture the SYSLOG? My problem is that I submit a job and some time later I need to know if the job has run **AND** which was the return-code (best: condition code of every step). My first idea was that I could write a loader-program: So if the program IEBCOPY needs to be executed I could code my JCL like this: STEP01 EXEC PGM=MYLOAD,PARM='IEBCOPY' ... Now MYLOAD loads/fetches IEBCOPY (-- see PARM) and executes it. after IEBCOPY returns, I could write the RC to a file. This would also be a solution (for my problem) even for multi-step jobs. But this approach doesn't work if IEBCOPY ABENDs, because MYLOAD would not get control anymore. Or is it also possible to cathc **ALL** ABENDs? Using LE I can only catch S0Cx Bye Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: How to check if a job has run?
You can also check SMF. Can SMF be monitored (and how?) or do I need to SMF to a file and parse the file? Thank you, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: CPU-Time in z/Os-System. Is The Cpu Time In z/Os-systems A Meaningful Indication?
the job protocol 11.25 (what ever that means) and this month it consumed 16.33. Actually I expected the cpu time would be nearly the same. But there is this difference I can not explain. Any suggestions would be greatly appreciated. There are several reasons why Run- or CPU-Times may change. One reason could be that a extent has to be allocated (for one of your output datasets) when running the job is running (and another time this is not neccessary). Or depending of the values you insert into the DB2-Tables the INSERTs need more CPU/Runtime because the index(es) of your tables need to be reorganized or something like this. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
How to check if a job has run?
All, currently I check via the FTP-JES-Interface if a job that I've submitted has run. But if the job has beed purged from JES2 (i. e. via SDSF) in the meantime it is not listed by teh FTP-JES-Interface - of course. Now I wonder if there is another way to check if a job was run (I guess there must be one - Tools like OPC can also do). Is there an JES2-Exit or something like that? Thank you, Michael P.S.: And no, I don't want to put an additional STAP at the end of my job that puts a MY-JOB-HAS-RUN Dataset somewhere. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Convert EBCDIC to ASCII in batch?
not tape!), translating the contents from EBCDIC (CP-037) to ASCII (ISO8859-1). I can think of a way to do it using UNIX services, but I'm hoping for a simplier method. The ASCII file is to be transferred to a Windows system, so each line must end in CRLF. Why do you want to convert it first and than transfer it? If you transfer the file via FTP in ASCII-Mode, the file is converted and CRLF is appended to each record. Bye, MK -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Two COBOL questions
R., 1. JCL EXEC ...,PARM='parameter' Can I read data from PARM field in EXEC statement ? Any ACCEPT ? It is accessible from the LINKAGE-SECTION: LINKAGE SECTION. 01 PARM. 05 PARM-LENGTHPIC 9(4) COMP. 05 PARM-STRINGPIC X(999). PROCEDURE DIVISION USING PARM. A00-BEGINN. DISPLAY 'PARM IS ' PARM-LENGTH ' BYTES LONG' DISPLAY 'PARM=' PARM-STRING(1:PARM-LENGTH) 2. Dynamic allocation Can I use permanent dataset without DDNAME ? In other words can I specify dataset name instead of ddname ? AFAIK, no. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: zOS Version 1 Release 9 and software products DVD collection
All (germans) ;-), You can order a full set of zOS manuals, Redbooks and zOs related softwar= e products from IBM For $20. one need a IBM Customer number to order this collection. Because I have no one, would one of the german list members be so kind and order the collection for me? Thanks, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Question for german listers
I know that germans are very good at substituting english words for german versions. Oh yeah, germany is a land full of consultants (there are no more Berater anymore) ;-) I am going to enlist for course ES20 in either Düsseldorf or München and was wondering about the choice of language for computer terms. Do the germans use the german or the english version for mainframe-related computer terms? Well, I guess this is a question like how is CICS pronounced. The funny thing is, we germans are really good at using english words, but also pronouncing the abbreviation in german ;-) In the big companies there are a lof of DBAs (pronounced german), but of course these persons are all database administrators (pronounced english). ;-) To come back to your question: I **guess** you don't have to care about that. Some prefer german, some prefere english. But both are well known. The thing is, if you use computer or rechner - doesn't matter. But for example, if someone is talking about speicher, I personally think of RAM, not ot HD-Space. But it clearifies in the context. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: IND$FILE
Bob Shannon schrieb: I have searched high and low for documentation on this relic. Can anyone help? TIA. If you are able to understand C, then have a look at the x3270 Package. It Supports IND$FILE Transfers in DFT and CUT mode. Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problem fetching a program object (CSV031I)
Peter, Can you put each thing that needs to be patched in a separate CSECT that is bound with the rest of your program object? I will give this a try. Thank you, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problem fetching a program object (CSV031I)
I think that is IBMese for don't do that!. Hmm... yes, this makes sense - absolutely ;-) bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problem fetching a program object (CSV031I)
what does AMBLIST tells you about patched module. Nothing one should care about I've also compared the listings of AMBLIST (patched and unpatched module) and they just differ in the hex-listing (only at the expected locations). Why don't you use AMASPZAP for such kind of patches? Well, now as I fight with this stuff for some days, I really think I should try to argue our management that we should use AMASZAP. The problem is, that the bytes we have to patch are on different byte offsets with every release - so we also have to create new control cards for AMASZAP for every release. Currently I wonder if it is possible to 1. build our application, 2. analyze all needed program objects 3. find the offsets to patch 4. write control cards for AMSZAP I guess this would be fewest pain for all ;) Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Problem fetching a program object (CSV031I)
All, I have a C-Program that is compiled to a DLL and stored in a PDSE, so it is stored as a program object (if I got all this stuff right). In my program I have some static areas (name it eye cathers), for example like this: static char *Foo = 123456\0MY_EYE_CATHER; This way, the String 123456[null]MY_EYE_CATCHER is contained within my program object. Now I create a XMIT-File from my program object and then I change some bytes in this generated XMIT. For example, I look for MY_EYE_CATCHER and I replace the 123456 in front of this eye-catcher to something different. Same length of course. Now when I restore the program object from this edited XMIT, I get an error fetching this DLL: CSV031I LIBRARY ACCESS FAILED FOR MODULE XYZ, RETURN CODE 20, REASON CODE 26130003, DDNAME STEPLIB I swear by my [whatever you like] that no other bytes than my 123456 are changed. why the hell can't this DLL noe be fetched anymore? Are there some checksums within the program object that are now not correct? The funny thing is, that this happens just on a few modules (I have around 20 that are going to be patched by this method), mostly everything goes well Any ideas? Or a better way to patch a module? Bye thanks, Michael P.S.: If you wonder why I need to do this: We compile a product, generate a XMIT and if we ship it to a client we want to patch a client-id and date into all shipped modules - and using this method we can do this under windows/unix and don't need to recompile+relink under z/OS -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Problem fetching a program object (CSV031I)
Steve, XMIT does some internal reformatting; if the bytes you patch happen to get folded across data boundaries, you may well not get what you expect. I know this and my patch-routine is aware of this. If you do your patching under Windows or Unix, of course, you need to be aware of ASCII/EBCDIC issues, too. ;-) I code stuff under Windows, Linux, AIX, SunOS, HP-UX, z/OS and sometimes under BS2000. I know about this ;-) the client info). I think you have a faulty design in your approach to managing your client info. Decision by our management (to do all changes needed for release under Win- or UNIX-Box). Not my decision... Bye, Michael -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html