How to RLSE on multi-volume data set
Hello list, I have an application that may have to write DASD files very variable in size. These files are dynamically allocated as SMS managed files (using DALSTCL, DALMGCL and DALDACL) and with text unit DALRLSE (equivalent of the RLSE JCL keyword) so that unused space is released from the allocation when closing the file after writing it. This works well with mono-volume data sets, but is it possible to make it work for multi-volume data sets too ?? After testing a bit, it looks like: - At the time of allocation , the primary space amount is allocated on EACH of the volumes if the volume count (DALVLCNT) is greater than 1. - At the time of CLOSE, the unused space is released on the current volume (the last one that was written to). But, and this is my problem, the allocations on the (unused) next volume(s) if any, are NOT freed !!! Is it possible to specify something (in SMS ?) so that it would free ALL unused space ? Thanks in advance for your thoughts. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: DFSMShsm Abend S878
Ah, 878's in DFHSM takes me back to about 1988. Fun times - for ME but probably not for the customer or DFHSM Development. :-) The debacle at a well-known UK customer got the Virtual Storage estimates in the manual fixed and helped spur Development on to move stuff above the line. Cheers, Martin Martin Packer, zChampion, Principal Systems Investigator, Worldwide Banking Center of Excellence, IBM +44-7802-245-584 email: martin_pac...@uk.ibm.com Twitter / Facebook IDs: MartinPacker Blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker From: Mike Wood mww...@ntlworld.com To: IBM-MAIN@listserv.ua.edu, Date: 10/18/2012 08:28 AM Subject:Re: DFSMShsm Abend S878 Sent by:IBM Mainframe Discussion List IBM-MAIN@listserv.ua.edu On Wednesday, 17 October 2012 23:02:49 UTC+1, Munish Sharma wrote: We had an issue on one system wherein hsm cds backups were failing on LPAR1 with RC=12 and REAS=08. The jrnl backups were going fine. When browsing through the activity logs, I came across the following: ADR376E (ttt)-m(yy), UNABLE TO ACQUIRE ADDITIONAL STORAGE FOR THE TASK Since dfdss tries a concurrent backup of all 3 cds' to tape, I think it is facing a memory issue. But since journal is not included in this concurrency, it always goes fine. Also, situation is compounded for hsm since mcds is multi-cluster. So it requires the more memory. But the backup on LPAR2 was running fine. So I think it comes down to the region size on both tasks. LPAR1 has 8M but LPAR2 has 0M. Therefore I guess LPAR2 has the capability to scale up the region size required by dfdss. Shall we try modifying the REGION parm for LPAR1 and test the backvolcds command OR As earlier suggested the Use the DSSXMMODE(?) SETSYS parm to run DSS in its own cross-memory address space ..clearly in this case as well... It's happening as too many DFDSS tasks are running in HSM., to backup the multiple CDS's Regards Munish Sharma Munish, Looking at the R12 hsm books http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2i490/2.3.2.1.1?SHELF=EZ2ZBK0KDT=20100729205957CASE= you can see there the recommendations for hsm region size both for primary and secondary address spaces. Many examples in the hsm book show 8M, but that was probably unchanged since early releases of hsm (which I remember well!). Now the book seems to recommend 0M Mike Wood -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: DFSMShsm Abend S878
We are having a very busy system as well (for example 15 volume migration tasks, 13 recycle tasks, and 10 recall tasks running) hence couple of things being discussed are : Time to run HSM's major functions(recycle/migration etc) to ensure you have them spread out as much as possible. consider using the Mutiple Address Space HSM (MASH) function. Using MASH, you can run multiple instances of HSM on an LPAR and assign some of the workload to the additional HSM(s). Use DSS cross-memory mode for HSM procsessing. This will move much of the storage requirements of DSS to cross-memory address spaces and get them out of the HSM user region. (FYI Above DSS Cross memory is a new function drived from zOS1.9 onward more to address 878- 10 issue and going to run new address space for most of the HSM function except Recall and indeed need a kind of whole new setup and to address/implement it a complete new project needed.) Region size increase (check with IEFUTL exit) and also any above the line storage definition in STC Proc of dfhsm. FYI - There's some orphaned tape MVT allocations. These are control blocks that were allocated by HSM for tape processing but do not get freed when the task finished with the tape and being addressed with APAR OA40365. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to RLSE on multi-volume data set
It sounds like you are not using Dynamic Volume Count or Partial Space release. Dynamic volume count allocates the 1st extent on the 1st volume and dynamically adds volumes to the list, up to the architectural max of 59. It is not necessary to specify (for example) 10 volumes in JCL. It is specified in the DATACLAS assigned to the dataset. Partial Space Release will release unused space with a sequential file at dfHSM Primary Space Management time. This is specified in the MGMTCLAS assigned to the dataset. You might also check and see if the Guaranteed Space is specified in the STORCLAS assigned to this dataset... Check the fine manuals for dfSMS or the online help for further details. HTH, snip I have an application that may have to write DASD files very variable in size. These files are dynamically allocated as SMS managed files (using DALSTCL, DALMGCL and DALDACL) and with text unit DALRLSE (equivalent of the RLSE JCL keyword) so that unused space is released from the allocation when closing the file after writing it. This works well with mono-volume data sets, but is it possible to make it work for multi-volume data sets too ?? After testing a bit, it looks like: - At the time of allocation , the primary space amount is allocated on EACH of the volumes if the volume count (DALVLCNT) is greater than 1. - At the time of CLOSE, the unused space is released on the current volume (the last one that was written to). But, and this is my problem, the allocations on the (unused) next volume(s) if any, are NOT freed !!! Is it possible to specify something (in SMS ?) so that it would free ALL unused space ? /snip -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Question on DB2 and LFAREA (large-pages)
Good day !!! I'm looking on how to implement DB2 and its large page support. One question ... Suppose I allocate an LFAREA of 4.5 GB based on the fact that the fixed DB2 bufferpools use 4GB. Then my DBA requests to dynamically ALTER the bufferpool to 5GB. What's happen then? a - Is it allocated part with large pages and part with 4K pages? b - All with 4K pages? c - Not possible, need to IPL? d - Other Thanks in advance for your hints. Mauri. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: IBM, id's to open pmr's, lot$a $$$$ now involved?...
My current employer only has one shared ID for IBM electronic support, used by all platforms. The last few years, it's just become too painful to use the online facility, so I'm back to using the 800 number exclusively. Welcome to the 1980's! Once a pmr has been opened, emails can be used for exchange of info with L2 or L3 support. I see this as just another indicator of the continuing slide of IBM in the last few years. Deep cost cutting and USA staff that has been RA'ed to the max, leaving sketchy support areas overseas with little experience to support customers both external and internal. A large share of profits goes for stock buy-backs, propping up EPS and thus stock price. It is a cycle that cannot continue indefinitely, very similar to a ponzi scheme. Unfortunately the z customers that are left are ones that will not, or cannot migrate easily to other platforms, so they make a great cash cow to milk for all their worth. Dana On Tue, 16 Oct 2012 17:34:13 -0700, Charles Mills charl...@mcn.org wrote: A vendor has to charge for its services and they are entitled to charge as they wish but there is no question that it is just plain goofy to give 800 number support at no additional charge, but to charge extra to use the Web. Totally backwards. Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: DFSMShsm Abend S878
We are a z/OS 1.13 shop and encountered an S878 as well. There is an APAR OA39358 with fix # UA65499. I have applied this fix to my system and have not had a re-occurrence. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Ravi Gaur Sent: Thursday, October 18, 2012 5:25 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: DFSMShsm Abend S878 We are having a very busy system as well (for example 15 volume migration tasks, 13 recycle tasks, and 10 recall tasks running) hence couple of things being discussed are : Time to run HSM's major functions(recycle/migration etc) to ensure you have them spread out as much as possible. consider using the Mutiple Address Space HSM (MASH) function. Using MASH, you can run multiple instances of HSM on an LPAR and assign some of the workload to the additional HSM(s). Use DSS cross-memory mode for HSM procsessing. This will move much of the storage requirements of DSS to cross-memory address spaces and get them out of the HSM user region. (FYI Above DSS Cross memory is a new function drived from zOS1.9 onward more to address 878- 10 issue and going to run new address space for most of the HSM function except Recall and indeed need a kind of whole new setup and to address/implement it a complete new project needed.) Region size increase (check with IEFUTL exit) and also any above the line storage definition in STC Proc of dfhsm. FYI - There's some orphaned tape MVT allocations. These are control blocks that were allocated by HSM for tape processing but do not get freed when the task finished with the tape and being addressed with APAR OA40365. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Peculiar behavior of D PROG,LNKLST.
W dniu 2012-10-18 13:42, Peter Relson pisze: The general rule of system commands is: If you enter something that is documented as valid, it will work or we will fix the code or the documentation. If you enter something that is not documented as valid, no assumption about what you will get is valid. Risky approach IMHO. Invalid syntax could be a result of mistake, human error, typo. In such case you say no warranty about what happen. Incorrect output seems acceptable, but wait state (no warranty!) does not. My €0.02 -- Radoslaw Skorupka Lodz, Poland -- Tre tej wiadomoci moe zawiera informacje prawnie chronione Banku przeznaczone wycznie do uytku subowego adresata. Odbiorc moe by jedynie jej adresat z wyczeniem dostpu osób trzecich. Jeeli nie jeste adresatem niniejszej wiadomoci lub pracownikiem upowanionym do jej przekazania adresatowi, informujemy, e jej rozpowszechnianie, kopiowanie, rozprowadzanie lub inne dziaanie o podobnym charakterze jest prawnie zabronione i moe by karalne. Jeeli otrzymae t wiadomo omykowo, prosimy niezwocznie zawiadomi nadawc wysyajc odpowied oraz trwale usun t wiadomo wczajc w to wszelkie jej kopie wydrukowane lub zapisane na dysku. This e-mail may contain legally privileged information of the Bank and is intended solely for business use of the addressee. This e-mail may only be received by the addressee and may not be disclosed to any third parties. If you are not the intended addressee of this e-mail or the employee authorised to forward it to the addressee, be advised that any dissemination, copying, distribution or any other similar activity is legally prohibited and may be punishable. If you received this e-mail by mistake please advise the sender immediately by using the reply facility in your e-mail software and delete permanently this e-mail including any copies of it either printed or saved to hard drive. BRE Bank SA, 00-950 Warszawa, ul. Senatorska 18, tel. +48 (22) 829 00 00, fax +48 (22) 829 00 33, www.brebank.pl, e-mail: i...@brebank.pl Sd Rejonowy dla m. st. Warszawy XII Wydzia Gospodarczy Krajowego Rejestru Sdowego, nr rejestru przedsibiorców KRS 025237, NIP: 526-021-50-88. Wedug stanu na dzie 01.01.2012 r. kapita zakadowy BRE Banku SA (w caoci wpacony) wynosi 168.410.984 zotych. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Question on DB2 and LFAREA (large-pages)
On Thu, 18 Oct 2012 07:53:52 -0500, Mauri Kanter itzuv...@013.net.il wrote: Good day !!! I'm looking on how to implement DB2 and its large page support. One question ... Suppose I allocate an LFAREA of 4.5 GB based on the fact that the fixed DB2 bufferpools use 4GB. Then my DBA requests to dynamically ALTER the bufferpool to 5GB. What's happen then? a - Is it allocated part with large pages and part with 4K pages? b - All with 4K pages? c - Not possible, need to IPL? d - Other Thanks in advance for your hints. Is it documented in the DB2 manuals? It depends on how the IARV64 request is coded. If the page frame size is coded as 1MEG, the request will fail (but maybe DB2 retries with MAX or 4K?). If coded as MAX, it will end up being backed by 4K frames. Regards, Mark -- Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS mailto:m...@mzelden.com Mark's MVS Utilities: http://www.mzelden.com/mvsutil.html Systems Programming expert at http://expertanswercenter.techtarget.com/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Question on DB2 and LFAREA (large-pages)
Hi Mauri, We have done this in all but our largest data sharing Sysplex which is scheduled next month. Currently there is an open interesting APAR OA39941. If you exceed 80% of Large Pages you will get an exciting red hi-lite message from SRM. Nothing bad may happen but some ISV products may react to the bits that are set in control blocks. It would be best to avoid exceeding SRM thresholds of Large Pages till you apply the PTF for OA39941 or test this condition in an identical non-production LPAR at your site with your software mix. DB2 will get its storage even over 100% allocated large pages and will work fine functionally but you would get error message IRA120E LARGE FRAME SHORTAGE. We are managing the LFA size which can be set only at IPL carefully with our DBA's to avoid exceeding the 80% threshold. We already had procedures in place to manage storage with them because we use almost all page fixed buffer pools and they need to work with closely on budgeting real storage use and management of the available frame queue in each LPAR. APAR Identifier .. OA39941 Last Changed 12/09/25 MESSAGES IRA120E AND IRA121E SHOULD BE INFORMATIONAL SRM monitors large frame usage and issues message IRA120E when 80% of all large frames in the system are in use and then issues message IRA121E when 95% of all large frames in the system are in use. These messages were implemented as highlighted action messages but they are really only informational messages. Best Regards, Sam Knutson, GEICO System z Team Leader mailto:sknut...@geico.com (office) 301.986.3574 (cell) 301.996.1318 Think big, act bold, start simple, grow fast... -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Mauri Kanter Sent: Thursday, October 18, 2012 8:54 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Question on DB2 and LFAREA (large-pages) Good day !!! I'm looking on how to implement DB2 and its large page support. One question ... Suppose I allocate an LFAREA of 4.5 GB based on the fact that the fixed DB2 bufferpools use 4GB. Then my DBA requests to dynamically ALTER the bufferpool to 5GB. What's happen then? a - Is it allocated part with large pages and part with 4K pages? b - All with 4K pages? c - Not possible, need to IPL? d - Other Thanks in advance for your hints. Mauri. This email/fax message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution of this email/fax is prohibited. If you are not the intended recipient, please destroy all paper and electronic copies of the original message. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Nested enclaves and POSIX(ON)
I have a program written in LE C++ that is among other usages designed to be callable from a COBOL (or potentially other LE) program. I recently changed the program to run POSIX(ON) because it is now sometimes calling the GSK crypto routines. Now, when I call it from a COBOL program I get the following error: CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is not supported. Explanation: In Language Environment, a process can have only one enclave that is running with POSIX(ON), and that enclave must be the first enclave. All nested enclaves must be running with POSIX(OFF). Programmer response: Specify the POSIX(ON) run-time option for only the first enclave. Make sure all nested enclaves specify POSIX(OFF). System action: The application will be terminated. Is it truly the case that a POSIX(ON) main program can't be invoked from another LE program? That seems kind of restrictive given that a number of C library functions require POSIX(ON). I gather it's also not possible to turn POSIX on programmatically, is that correct? It has to be set either with a #pragma or one of the CEEOPTS type methods, is that right? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Question on DB2 and LFAREA (large-pages)
Mark, Sam, Thank you for your prompt answers ! Mauri. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
Sam, I am curious was your CEEPIPI and assembler driver to call and establish separate tasks? Scott ford www.identityforge.com Tell me and I'll forget; show me and I may remember; involve me and I'll understand. - Chinese Proverb On Oct 18, 2012, at 10:50 AM, Sam Siegel s...@pscsi.net wrote: On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills charl...@mcn.org wrote: I have a program written in LE C++ that is among other usages designed to be callable from a COBOL (or potentially other LE) program. I recently changed the program to run POSIX(ON) because it is now sometimes calling the GSK crypto routines. Now, when I call it from a COBOL program I get the following error: CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is not supported. Explanation: In Language Environment, a process can have only one enclave that is running with POSIX(ON), and that enclave must be the first enclave. All nested enclaves must be running with POSIX(OFF). Programmer response: Specify the POSIX(ON) run-time option for only the first enclave. Make sure all nested enclaves specify POSIX(OFF). System action: The application will be terminated. Is it truly the case that a POSIX(ON) main program can't be invoked from another LE program? That seems kind of restrictive given that a number of C library functions require POSIX(ON). I ran into that problem with a bunch of C/C++ code that needed to be POSIX(ON). Same requirement, the C/C++ needed to be callable from non-POSIX COBOL. My solution was to put the C/C++ in a seperate TCB and use CEEPIPI in that TCB to start a new LE ENCLAVE. I gather it's also not possible to turn POSIX on programmatically, is that correct? It has to be set either with a #pragma or one of the CEEOPTS type methods, is that right? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Dynamic SMFU8X exits skipped
Did you verify that the entry point address in the D PROG,EXIT,EN=SYS.IEFU83,DIAG was valid and pointed to the correct address in storage? Was the first bit set correctly in the EPADDR to reflect 31-bit addressing? Rob Scott Lead Developer Rocket Software 77 Fourth Avenue . Suite 100 . Waltham . MA 02451-1468 . USA Tel: +1.781.684.2305 Email: rsc...@rs.com Web: www.rocketsoftware.com -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Donald Likens Sent: 18 October 2012 15:55 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Dynamic SMFU8X exits skipped My product dynamically implements the IEFU8x exits (same module in all the IEFU8x exits). On all the systems my product runs on dynamic implementation of these exits works great but I have a problem on my latest install. We dynamically modified SMFPRMxx to include the IEFU8x exits in all the subsystems. We set a per trap to create a dump when the first instruction in my exit was executed. It did not hit. We did a display of the exits. It shows my exit active and first in the chain. We set the same slip on the exit second (statically loaded) in the chain. It hit. This installation is running z/OS 1.13. We are stumped. Any ideas would be helpful. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to RLSE on multi-volume data set
Doesn't have to be guaranteed space - can get the same effect with an Extended Sequential SMS dataset with Storage Constraint Relief enabled if your primary allocation exceeds the space available on one volume. Agreed. However, it seems like that might be influencing the initial allocation snip Doesn't have to be guaranteed space - can get the same effect with an Extended Sequential SMS dataset with Storage Constraint Relief enabled if your primary allocation exceeds the space available on one volume. Yes, of course you can allocate a smaller space at initial allocation and let the data set dynamically allocate to additional volumes; but if you do this there is also no guarantee that the space will actually be available on some candidate volume when you need it. There is then the possibility that a very expensive job step may fail on insufficient DASD space and have to be repeated simply because the secondary allocation doesn't mesh well with the available space and fragmentation on potential candidate volumes at the instant when additional allocation is required. Being able to allocate adequate multi-volume space before the job step starts reduces the odds of wasting CPU and I/O resources on an expensive, potentially-failing job step and is a much more efficient solution in such cases; but then you run into this other trade-off of being unable to easily free space on unused volumes when the output file size is much smaller than the worst case and some allocated volumes are not used. It must not be a trivial thing to fix or IBM would have done so by now. /snip -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
the C/C++ needed to be callable from non-POSIX COBOL. It's worse than that. POSIX anything is not even callable from POSIX COBOL. That's how the message reads, and I just verified by running the COBOL program //CEEOPTS DD * POSIX(ON) What a PITA! LE. G. Am I reading what you say to imply that this should work if the C were on its own TCB (task)? That if I wrote a little COBOL-callable stub to ATTACH the C++ program and wait for it that it should work? Can anyone confirm or deny my conjecture that there is no straightforward programmatic way to turn POSIX(ON) from within a program (short of using CEEPIPI to build a new enclave, etc.). I can't have a basic C++ program that starts up and after a while says this next function is going to require POSIX(ON) and so calls setposix(true); Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 7:50 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills charl...@mcn.org wrote: I have a program written in LE C++ that is among other usages designed to be callable from a COBOL (or potentially other LE) program. I recently changed the program to run POSIX(ON) because it is now sometimes calling the GSK crypto routines. Now, when I call it from a COBOL program I get the following error: CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is not supported. Explanation: In Language Environment, a process can have only one enclave that is running with POSIX(ON), and that enclave must be the first enclave. All nested enclaves must be running with POSIX(OFF). Programmer response: Specify the POSIX(ON) run-time option for only the first enclave. Make sure all nested enclaves specify POSIX(OFF). System action: The application will be terminated. Is it truly the case that a POSIX(ON) main program can't be invoked from another LE program? That seems kind of restrictive given that a number of C library functions require POSIX(ON). I ran into that problem with a bunch of C/C++ code that needed to be POSIX(ON). Same requirement, the C/C++ needed to be callable from non-POSIX COBOL. My solution was to put the C/C++ in a seperate TCB and use CEEPIPI in that TCB to start a new LE ENCLAVE. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
On Thu, Oct 18, 2012 at 9:28 AM, Charles Mills charl...@mcn.org wrote: the C/C++ needed to be callable from non-POSIX COBOL. It's worse than that. POSIX anything is not even callable from POSIX COBOL. That's how the message reads, and I just verified by running the COBOL program //CEEOPTS DD * POSIX(ON) What a PITA! LE. G. Am I reading what you say to imply that this should work if the C were on its own TCB (task)? That if I wrote a little COBOL-callable stub to ATTACH the C++ program and wait for it that it should work? Charles - You are correct. That is exactly what my process does. COBOL calls ASM. ASM attaches task. Attached task uses CEEPIPI to call POSIX(ON) C/C++ code. Sam Can anyone confirm or deny my conjecture that there is no straightforward programmatic way to turn POSIX(ON) from within a program (short of using CEEPIPI to build a new enclave, etc.). I can't have a basic C++ program that starts up and after a while says this next function is going to require POSIX(ON) and so calls setposix(true); Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 7:50 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills charl...@mcn.org wrote: I have a program written in LE C++ that is among other usages designed to be callable from a COBOL (or potentially other LE) program. I recently changed the program to run POSIX(ON) because it is now sometimes calling the GSK crypto routines. Now, when I call it from a COBOL program I get the following error: CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is not supported. Explanation: In Language Environment, a process can have only one enclave that is running with POSIX(ON), and that enclave must be the first enclave. All nested enclaves must be running with POSIX(OFF). Programmer response: Specify the POSIX(ON) run-time option for only the first enclave. Make sure all nested enclaves specify POSIX(OFF). System action: The application will be terminated. Is it truly the case that a POSIX(ON) main program can't be invoked from another LE program? That seems kind of restrictive given that a number of C library functions require POSIX(ON). I ran into that problem with a bunch of C/C++ code that needed to be POSIX(ON). Same requirement, the C/C++ needed to be callable from non-POSIX COBOL. My solution was to put the C/C++ in a seperate TCB and use CEEPIPI in that TCB to start a new LE ENCLAVE. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
On Thu, Oct 18, 2012 at 7:58 AM, Scott Ford scott_j_f...@yahoo.com wrote: Sam, I am curious was your CEEPIPI and assembler driver to call and establish separate tasks? Yes - From my reading of the DOC, each TCB can have a separate and independent LE ENCLAVE. This has proven to be true and works well. Scott ford www.identityforge.com Tell me and I'll forget; show me and I may remember; involve me and I'll understand. - Chinese Proverb On Oct 18, 2012, at 10:50 AM, Sam Siegel s...@pscsi.net wrote: On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills charl...@mcn.org wrote: I have a program written in LE C++ that is among other usages designed to be callable from a COBOL (or potentially other LE) program. I recently changed the program to run POSIX(ON) because it is now sometimes calling the GSK crypto routines. Now, when I call it from a COBOL program I get the following error: CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is not supported. Explanation: In Language Environment, a process can have only one enclave that is running with POSIX(ON), and that enclave must be the first enclave. All nested enclaves must be running with POSIX(OFF). Programmer response: Specify the POSIX(ON) run-time option for only the first enclave. Make sure all nested enclaves specify POSIX(OFF). System action: The application will be terminated. Is it truly the case that a POSIX(ON) main program can't be invoked from another LE program? That seems kind of restrictive given that a number of C library functions require POSIX(ON). I ran into that problem with a bunch of C/C++ code that needed to be POSIX(ON). Same requirement, the C/C++ needed to be callable from non-POSIX COBOL. My solution was to put the C/C++ in a seperate TCB and use CEEPIPI in that TCB to start a new LE ENCLAVE. I gather it's also not possible to turn POSIX on programmatically, is that correct? It has to be set either with a #pragma or one of the CEEOPTS type methods, is that right? Charles -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
Don't have C/C++ compiler, so cannot test this, but could a new pthread be used instead of an intermediate ASM program in order to get a new LE enclave on the new thread (TCB)? -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets(r) 9151 Boulevard 26 * N. Richland Hills * TX 76010 (817) 255-3225 phone * john.mck...@healthmarkets.com * www.HealthMarkets.com Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets(r) is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance Company(r), Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 11:46 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 9:28 AM, Charles Mills charl...@mcn.org wrote: the C/C++ needed to be callable from non-POSIX COBOL. It's worse than that. POSIX anything is not even callable from POSIX COBOL. That's how the message reads, and I just verified by running the COBOL program //CEEOPTS DD * POSIX(ON) What a PITA! LE. G. Am I reading what you say to imply that this should work if the C were on its own TCB (task)? That if I wrote a little COBOL-callable stub to ATTACH the C++ program and wait for it that it should work? Charles - You are correct. That is exactly what my process does. COBOL calls ASM. ASM attaches task. Attached task uses CEEPIPI to call POSIX(ON) C/C++ code. Sam Can anyone confirm or deny my conjecture that there is no straightforward programmatic way to turn POSIX(ON) from within a program (short of using CEEPIPI to build a new enclave, etc.). I can't have a basic C++ program that starts up and after a while says this next function is going to require POSIX(ON) and so calls setposix(true); Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 7:50 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills charl...@mcn.org wrote: I have a program written in LE C++ that is among other usages designed to be callable from a COBOL (or potentially other LE) program. I recently changed the program to run POSIX(ON) because it is now sometimes calling the GSK crypto routines. Now, when I call it from a COBOL program I get the following error: CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is not supported. Explanation: In Language Environment, a process can have only one enclave that is running with POSIX(ON), and that enclave must be the first enclave. All nested enclaves must be running with POSIX(OFF). Programmer response: Specify the POSIX(ON) run-time option for only the first enclave. Make sure all nested enclaves specify POSIX(OFF). System action: The application will be terminated. Is it truly the case that a POSIX(ON) main program can't be invoked from another LE program? That seems kind of restrictive given that a number of C library functions require POSIX(ON). I ran into that problem with a bunch of C/C++ code that needed to be POSIX(ON). Same requirement, the C/C++ needed to be callable from non-POSIX COBOL. My solution was to put the C/C++ in a seperate TCB and use CEEPIPI in that TCB to start a new LE ENCLAVE. - - For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: IBM, id's to open pmr's, lot$a $$$$ now involved?...
How about Resource Action. Laid off. Fired. Downsized. Rightsized. All mean pretty much the same thing. Tom Chicklon --- RA? I suspect resource allocation or thereabouts, but?? Deep cost cutting and USA staff that has been RA'ed to the max, leaving sketchy support areas overseas with little experience to support customers both external and internal. This e-mail transmission contains information that is confidential and may be privileged. It is intended only for the addressee(s) named above. If you receive this e-mail in error, please do not read, copy or disseminate it in any manner. If you are not the intended recipient, any disclosure, copying, distribution or use of the contents of this information is prohibited. Please reply to the message immediately by informing the sender that the message was misdirected. After replying, please erase it from your computer system. Your assistance in correcting this error is appreciated. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
Do anyone know that ? : http://publib.boulder.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.bpxb100/sdd.htm This change the behaviour of your current address space, making each ATTACH to create a new Unix process (Dubbing), each one having its own enclave and then maybe their own POSIX option For SDSF users, you should be able to see changes with ps option Quoc-Hoa TRAN On Thu, Oct 18, 2012 at 6:57 PM, McKown, John john.mck...@healthmarkets.com wrote: Don't have C/C++ compiler, so cannot test this, but could a new pthread be used instead of an intermediate ASM program in order to get a new LE enclave on the new thread (TCB)? -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets(r) 9151 Boulevard 26 * N. Richland Hills * TX 76010 (817) 255-3225 phone * john.mck...@healthmarkets.com * www.HealthMarkets.com Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets(r) is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance Company(r), Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 11:46 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 9:28 AM, Charles Mills charl...@mcn.org wrote: the C/C++ needed to be callable from non-POSIX COBOL. It's worse than that. POSIX anything is not even callable from POSIX COBOL. That's how the message reads, and I just verified by running the COBOL program //CEEOPTS DD * POSIX(ON) What a PITA! LE. G. Am I reading what you say to imply that this should work if the C were on its own TCB (task)? That if I wrote a little COBOL-callable stub to ATTACH the C++ program and wait for it that it should work? Charles - You are correct. That is exactly what my process does. COBOL calls ASM. ASM attaches task. Attached task uses CEEPIPI to call POSIX(ON) C/C++ code. Sam Can anyone confirm or deny my conjecture that there is no straightforward programmatic way to turn POSIX(ON) from within a program (short of using CEEPIPI to build a new enclave, etc.). I can't have a basic C++ program that starts up and after a while says this next function is going to require POSIX(ON) and so calls setposix(true); Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 7:50 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills charl...@mcn.org wrote: I have a program written in LE C++ that is among other usages designed to be callable from a COBOL (or potentially other LE) program. I recently changed the program to run POSIX(ON) because it is now sometimes calling the GSK crypto routines. Now, when I call it from a COBOL program I get the following error: CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is not supported. Explanation: In Language Environment, a process can have only one enclave that is running with POSIX(ON), and that enclave must be the first enclave. All nested enclaves must be running with POSIX(OFF). Programmer response: Specify the POSIX(ON) run-time option for only the first enclave. Make sure all nested enclaves specify POSIX(OFF). System action: The application will be terminated. Is it truly the case that a POSIX(ON) main program can't be invoked from another LE program? That seems kind of restrictive given that a number of C library functions require POSIX(ON). I ran into that problem with a bunch of C/C++ code that needed to be POSIX(ON). Same requirement, the C/C++ needed to be callable from non-POSIX COBOL. My solution was to put the C/C++ in a seperate TCB and use CEEPIPI in that TCB to start a new LE ENCLAVE. - - For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN
Re: Nested enclaves and POSIX(ON)
I really appreciate the flexibility IBM demonstrates in the last sentence: Be running with POSIX(ON) and have set the environment variables to signal that you want to establish a nested enclave. You can use the __POSIX_SYSTEM environment variable to cause a system() to establish a nested enclave instead of performing a fork()/exec(). __POSIX_SYSTEM can be set to NO, No, or no. :-( Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 9:49 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:58 AM, Scott Ford scott_j_f...@yahoo.com wrote: Sam, I am curious was your CEEPIPI and assembler driver to call and establish separate tasks? Yes - From my reading of the DOC, each TCB can have a separate and independent LE ENCLAVE. This has proven to be true and works well. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
On Thu, Oct 18, 2012 at 10:34 AM, Charles Mills charl...@mcn.org wrote: I really appreciate the flexibility IBM demonstrates in the last sentence: Be running with POSIX(ON) and have set the environment variables to signal that you want to establish a nested enclave. You can use the __POSIX_SYSTEM environment variable to cause a system() to establish a nested enclave instead of performing a fork()/exec(). __POSIX_SYSTEM can be set to NO, No, or no. I'm wondering what would happen if 'nO' was specified? ;-) :-( Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 9:49 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:58 AM, Scott Ford scott_j_f...@yahoo.com wrote: Sam, I am curious was your CEEPIPI and assembler driver to call and establish separate tasks? Yes - From my reading of the DOC, each TCB can have a separate and independent LE ENCLAVE. This has proven to be true and works well. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
File Processing
Hello I have a requirement where the input file is comming from a thrid party system and each of the files is having different logical record lengths. Once the file cam i have to use the file and encrypt the customer number that is there. Please let me know how in a single cobol program we can acheive the same? Regards Ron T -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: IBM, id's to open pmr's, lot$a $$$$ now involved?...
Ah. Sure. It seems so obvious now... On Thu, Oct 18, 2012 at 1:05 PM, Gross, Randall [Primerica] randy.gr...@primerica.com wrote: IIRC, it was resource action, but it was seven years ago when it happened to me. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of zMan Sent: Thursday, October 18, 2012 11:38 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: IBM, id's to open pmr's, lot$a now involved?... RA? I suspect resource allocation or thereabouts, but?? On Thu, Oct 18, 2012 at 8:53 AM, Dana Mitchell mitchd...@gmail.com wrote: My current employer only has one shared ID for IBM electronic support, used by all platforms. The last few years, it's just become too painful to use the online facility, so I'm back to using the 800 number exclusively. Welcome to the 1980's! Once a pmr has been opened, emails can be used for exchange of info with L2 or L3 support. I see this as just another indicator of the continuing slide of IBM in the last few years. Deep cost cutting and USA staff that has been RA'ed to the max, leaving sketchy support areas overseas with little experience to support customers both external and internal. A large share of profits goes for stock buy-backs, propping up EPS and thus stock price. It is a cycle that cannot continue indefinitely, very similar to a ponzi scheme. Unfortunately the z customers that are left are ones that will not, or cannot migrate easily to other platforms, so they make a great cash cow to milk for all their worth. -- zMan -- I've got a mainframe and I'm not afraid to use it -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- zMan -- I've got a mainframe and I'm not afraid to use it -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: File Processing
How are your jobs submitted when the files arrive? Do you use a scheduling software that can monitor for the dataset names? Or is it a manual submission? Are you going to use hard coded dataset names in the JCL or are you going to use symbolics? Are all files being read at the same time by the program? Or are you going handle them individually? Lizette -Original Message- From: Ron Thomas ron5...@gmail.com Sent: Oct 18, 2012 10:43 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: File Processing Hello I have a requirement where the input file is comming from a thrid party system and each of the files is having different logical record lengths. Once the file cam i have to use the file and encrypt the customer number that is there. Please let me know how in a single cobol program we can acheive the same? Regards Ron T -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
I disagree. If 'NO', 'No', and 'no' are acceptable, 'nO' should be too. The obvious ways to make the first three interchangeable---using one of the HLASM macro-language LOWER or UPPER BIFs or the like---would indeed make 'nO' admissible too. A line or two of ad hoc code would be re On 10/18/12, Sam Siegel s...@pscsi.net wrote: On Thu, Oct 18, 2012 at 10:34 AM, Charles Mills charl...@mcn.org wrote: I really appreciate the flexibility IBM demonstrates in the last sentence: Be running with POSIX(ON) and have set the environment variables to signal that you want to establish a nested enclave. You can use the __POSIX_SYSTEM environment variable to cause a system() to establish a nested enclave instead of performing a fork()/exec(). __POSIX_SYSTEM can be set to NO, No, or no. I'm wondering what would happen if 'nO' was specified? ;-) :-( Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 9:49 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:58 AM, Scott Ford scott_j_f...@yahoo.com wrote: Sam, I am curious was your CEEPIPI and assembler driver to call and establish separate tasks? Yes - From my reading of the DOC, each TCB can have a separate and independent LE ENCLAVE. This has proven to be true and works well. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- John Gilmore, Ashland, MA 01721 - USA Avant d'imprimer cet e-mail, réfléchissons à l'impact sur l'environnement. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: File Processing
Two problems here, right? 1. How can a COBOL program handle an input file with a variety of fixed (?) record lengths. 2. How can a COBOL program encrypt a field? Answers: 1. I'm not much of a COBOL guy but I am going to guess you need three different FD's and a PARM= that tells it which one to use. 2. A major topic of its own. Ron, any idea what sort of API or package you intend to use to do this? IBM? Third-party? Have you thought about password management? Public key? Private key? Would perhaps just masking the number -- making it unreadable to the average guy or gal -- be sufficient? Is there an API to encrypt a field with crypto services? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Ron Thomas Sent: Thursday, October 18, 2012 10:43 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: File Processing Hello I have a requirement where the input file is comming from a thrid party system and each of the files is having different logical record lengths. Once the file cam i have to use the file and encrypt the customer number that is there. Please let me know how in a single cobol program we can acheive the same? Regards Ron T -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: File Processing
First option: use DFSORT (one step per DSN) to copy your input data. You can use the OUTREC control card to force the data to be of a standard length, padding with blanks or x'00' or whatever. Then process the new, padded, data sets using normal COBOL. === Now, if you could make the file definition VARIABLE and force the incoming files to be RECFM=VB, then it is still fairly easy. The COBOL FD would then look something like: FD INLOG RECORD IS VARYING IN SIZE FROM 1 TO 133 DEPENDING ON WS-INLOG-RECORD-LENGTH RECORDING MODE IS V LABEL RECORDS ARE OMITTED. (note 133 is my max in the program I was writing, change to your max). When you read the record, the variable WS-INLOG-RECORD-LENGTH (PIC ) will contain the size of the record read. You could then MOVE it to a fixed length area using reference modification, like: MOVE INLOG-RECORD(1:WS-INLOG-RECORD-LENGTH) TO FIXED-DATA-AREA. This will copy the input to a fixed output (or work) area, padded with blanks. If you want it padded with LOW-VALUES (or something else), you could do: MOVE ALL LOW-VALUES TO FIXED-DATA-AREA. MOVE INLOG-RECORD(1:WS-INLOG-RECORD-LENGTH) TO FIXED-DATA-AREA(1:WS-INLOG-RECORD-LENGTH). === If you want to be truly weird and the data is textual (no unprintable binary), put the data in a z/OS UNIX file instead of a sequential data set. Then read the file as you normally would in your COBOL program as FIXED, using a DD similar to: //INPUT DD PATH='/some/directory/input.data', // PATHOPTS=(ORDONLY), // RECFM=FB,LRECL=???,BLKSIZE=???, // FILEDATA=TEXT Since all normal z/OS UNIX text files are delimited by a NEL (x'15'), they are inherently variable length. But if you put RECFM=FB,LRECL=??? (replace ??? with max record length), then QSAM will read the logical record from UNIX and automagically pad it with blanks if it is short. No, I am not really suggesting this. It's just my desire to do things strangely. -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets® 9151 Boulevard 26 • N. Richland Hills • TX 76010 (817) 255-3225 phone • john.mck...@healthmarkets.com • www.HealthMarkets.com Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets® is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. –The Chesapeake Life Insurance Company®, Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Ron Thomas Sent: Thursday, October 18, 2012 12:43 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: File Processing Hello I have a requirement where the input file is comming from a thrid party system and each of the files is having different logical record lengths. Once the file cam i have to use the file and encrypt the customer number that is there. Please let me know how in a single cobol program we can acheive the same? Regards Ron T -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: File Processing
1. How can a COBOL program handle an input file with a variety of fixed (?) record lengths. - Write small Hlasm program that returns record pointer and length. It can handle all RECFM. - Multiple file definitions, each defined as OPTIONAL. Open each and look at file status to see which one is really there. I've done both methods but prefer former as it is universal. 2. The people who do encryption tell me they have a software package to do such from Cobol. They said it would take too long to explain the details. IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU wrote on 10/18/2012 02:06:48 PM: From: Charles Mills charl...@mcn.org To: IBM-MAIN@LISTSERV.UA.EDU, Date: 10/18/2012 02:07 PM Subject: Re: File Processing Sent by: IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU Two problems here, right? 1. How can a COBOL program handle an input file with a variety of fixed (?) record lengths. 2. How can a COBOL program encrypt a field? Answers: 1. I'm not much of a COBOL guy but I am going to guess you need three different FD's and a PARM= that tells it which one to use. 2. A major topic of its own. Ron, any idea what sort of API or package you intend to use to do this? IBM? Third-party? Have you thought about password management? Public key? Private key? Would perhaps just masking the number -- making it unreadable to the average guy or gal -- be sufficient? Is there an API to encrypt a field with crypto services? -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU I have a requirement where the input file is comming from a thrid party system and each of the files is having different logical record lengths. Once the file cam i have to use the file and encrypt the customer number that is there. Please let me know how in a single cobol program we can acheive the same? Regards Ron T - The information contained in this communication (including any attachments hereto) is confidential and is intended solely for the personal and confidential use of the individual or entity to whom it is addressed. If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that you have received this communication in error and that any review, dissemination, copying, or unauthorized use of this information, or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail, and delete the original message. Thank you -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
Not much to disagree with, is there? (My really appreciate was sarcastic; did I fail to make that clear?) My sarcasm referred to their lack of flexibility with regard to enclaves and POSIX; not to their flexibility or lack thereof with regard to specifying the option. I have not run a test; I don't KNOW that nO is NOT acceptable. Perhaps the manual writer simply thought it too silly to mention. He says what IS acceptable; he does not say that nO is not acceptable. You're right: it would arguably be harder to write code that accepted NO, No, and no but not nO. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of John Gilmore Sent: Thursday, October 18, 2012 11:05 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) I disagree. If 'NO', 'No', and 'no' are acceptable, 'nO' should be too. The obvious ways to make the first three interchangeable---using one of the HLASM macro-language LOWER or UPPER BIFs or the like---would indeed make 'nO' admissible too. A line or two of ad hoc code would be re On 10/18/12, Sam Siegel s...@pscsi.net wrote: On Thu, Oct 18, 2012 at 10:34 AM, Charles Mills charl...@mcn.org wrote: I really appreciate the flexibility IBM demonstrates in the last sentence: Be running with POSIX(ON) and have set the environment variables to signal that you want to establish a nested enclave. You can use the __POSIX_SYSTEM environment variable to cause a system() to establish a nested enclave instead of performing a fork()/exec(). __POSIX_SYSTEM can be set to NO, No, or no. I'm wondering what would happen if 'nO' was specified? ;-) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
The manual writer was being silly. The point he or she should have made was that the value was not case-sensitive. For 'no', there are only 2^2 = 4 possible case variants; but for 'yes' there are 2^3 = 8; and for 'maybe' there are 2^5 = 32. Enumeration breaks down very quickly. I doubt that your sarcastic intent was missed by any reader you would care about, and it is understandable. That said, case independence is a highly desirable attribute in contexts like this one. It should be (but is not yet) the norm, everyone's expectation. John Gilmore, Ashland, MA 01721 - USA Avant d'imprimer cet e-mail, réfléchissons à l'impact sur l'environnement. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
On Thu, 18 Oct 2012 11:14:30 -0700, Charles Mills wrote: You're right: it would arguably be harder to write code that accepted NO, No, and no but not nO. Not necessarily; the programmer could easily have coded 3 switch/case/SELECT labels for the branches considered plausible. Easier to code than to document. C has the standard library function strcasecmp(). Does COBOL or PL/I provide similar. HLASM? For all I know it might be one of the new z/EC12 instructions. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of John Gilmore Sent: Thursday, October 18, 2012 11:05 AM I disagree. If 'NO', 'No', and 'no' are acceptable, 'nO' should be too. The obvious ways to make the first three interchangeable---using one of the HLASM macro-language LOWER or UPPER BIFs or the like---would indeed make 'nO' admissible too. ... Are those not merely macro-language BIFs, but can they generate code to perform the translation at runtime? -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: File Processing
On Thu, 18 Oct 2012 12:43:00 -0500, Ron Thomas wrote: I have a requirement where the input file is comming from a thrid party system and each of the files is having different logical record lengths. Once the file cam i have to use the file and encrypt the customer number that is there. Please let me know how in a single cobol program we can acheive the same? What RECFM? If V[B] just concatenate them in JCL. I believe that for a long time now (but not as long as it should have been, IMO) the largest LRECL and BLKSIZE will be chosen. If I'm wrong, specify those values as overriding attributes of the first catenand. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
For all I know it might be one of the new z/EC12 instructions. Might be hard to do in hardware. You need locale information. What is the upper-case of 汉字/漢字? Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Paul Gilmartin Sent: Thursday, October 18, 2012 1:21 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, 18 Oct 2012 11:14:30 -0700, Charles Mills wrote: You're right: it would arguably be harder to write code that accepted NO, No, and no but not nO. Not necessarily; the programmer could easily have coded 3 switch/case/SELECT labels for the branches considered plausible. Easier to code than to document. C has the standard library function strcasecmp(). Does COBOL or PL/I provide similar. HLASM? For all I know it might be one of the new z/EC12 instructions. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of John Gilmore Sent: Thursday, October 18, 2012 11:05 AM I disagree. If 'NO', 'No', and 'no' are acceptable, 'nO' should be too. The obvious ways to make the first three interchangeable---using one of the HLASM macro-language LOWER or UPPER BIFs or the like---would indeed make 'nO' admissible too. ... Are those not merely macro-language BIFs, but can they generate code to perform the translation at runtime? -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
Dragging this thread kicking and screaming back to the OP, yup, it works. I had generic C-callable ATTACH, WAIT, and DETACH functions in assembler. I wrapped some minimal C around them and voila! Only about 3 or 4 hours wasted on this stupid, stupid bit of design idiocy. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Sam Siegel Sent: Thursday, October 18, 2012 9:49 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Nested enclaves and POSIX(ON) On Thu, Oct 18, 2012 at 7:58 AM, Scott Ford scott_j_f...@yahoo.com wrote: Sam, I am curious was your CEEPIPI and assembler driver to call and establish separate tasks? Yes - From my reading of the DOC, each TCB can have a separate and independent LE ENCLAVE. This has proven to be true and works well. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: IBM, id's to open pmr's, lot$a $$$$ now involved?...
Yes, sorry to the non-ex-IBMers. RA is resource action. Their term for the quarterly layoffs. Dana -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
My point was of course that case independence makes all of 'no', 'nO', 'No', 'NO' interchangeable in use. In PL/I one writes, say, arg = lower(argument) ; match = (arg = 'no') ; or, indifferently, arg = upper(argument) ; match = (arg = 'NO') ; The same thing can be done in C, using all but identical assignment statements (although the variable declarations for them must be different). Moreover, since Paul Gilmartin raised the issue, I will add that this is a fortiori possible in assembly language too. It is of course true that match = (arg = 'no') | (arg = 'nO') | (arg = 'No') | arg = ('NO') ; is longer than it would be if the term (arg = 'nO') were omitted, but I would dispense with the services of a programmer who wrote such things. I am delighted that Charles found a solution to his problem. John Gilmore, Ashland, MA 01721 - USA Avant d'imprimer cet e-mail, réfléchissons à l'impact sur l'environnement. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
On Thu, 18 Oct 2012 18:03:46 -0400, John Gilmore wrote: arg = upper(argument) ; match = (arg = 'NO') ; The same thing can be done in C, using all but identical assignment statements (although the variable declarations for them must be But why bother when you can use the standard library function, strcasecmp()? different). Moreover, since Paul Gilmartin raised the issue, I will add that this is a fortiori possible in assembly language too. It is of course true that match = (arg = 'no') | (arg = 'nO') | (arg = 'No') | arg = ('NO') ; is longer than it would be if the term (arg = 'nO') were omitted, but I would dispense with the services of a programmer who wrote such things. My assertion was (and is) that the HLASM macro-language UPPER and LOWER BIFs avail little to this end. I am delighted that Charles found a solution to his problem. Not only a problem but also a perplexity over elliptical documentation. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Nested enclaves and POSIX(ON)
It is difficult for me to avoid the conclusion that Paul Gilmartin's latest post in this thread was disingenuous. He is not, moreover, the only or, certainly, the most egregious offender. There is much anecdotal evidence that secondary-school debating-society posts all but empty of substantive content are becoming more and more common here. LOWER and UPPER are certainly HLASM macro-language, i.e., assembly-time, BIFs. Equally, they are C and PL/I, i.e., execution-time, BIFs. They are all, no matter what their binding times, specializations of the System/360 TRanslate instruction [when they are implemented in even minimally intelligent fashion]. In the case of PL/I, which makes a much more general TRANSLATE BIF available, they are also gratuitous, provided for the convenience of quondam C programmers accustomed to thinking and coding at much lower levels of generality.) Binding-time decisions can be important, even crucial; but what can be done early can usually, almost always be done late too. Mr. Gilmartin thus has thing ass backwards. Premature bindings are almost always the culprits. John Gilmore, Ashland, MA 01721 - USA Avant d'imprimer cet e-mail, réfléchissons à l'impact sur l'environnement. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: IBM, id's to open pmr's, lot$a $$$$ now involved?...
I don't get letting well educated and highly experience professionals go. Who do companies think will handle these systems ? Outsourcing , not Scott ford www.identityforge.com Tell me and I'll forget; show me and I may remember; involve me and I'll understand. - Chinese Proverb On Oct 18, 2012, at 11:37 AM, zMan zedgarhoo...@gmail.com wrote: RA? I suspect resource allocation or thereabouts, but?? On Thu, Oct 18, 2012 at 8:53 AM, Dana Mitchell mitchd...@gmail.com wrote: My current employer only has one shared ID for IBM electronic support, used by all platforms. The last few years, it's just become too painful to use the online facility, so I'm back to using the 800 number exclusively. Welcome to the 1980's! Once a pmr has been opened, emails can be used for exchange of info with L2 or L3 support. I see this as just another indicator of the continuing slide of IBM in the last few years. Deep cost cutting and USA staff that has been RA'ed to the max, leaving sketchy support areas overseas with little experience to support customers both external and internal. A large share of profits goes for stock buy-backs, propping up EPS and thus stock price. It is a cycle that cannot continue indefinitely, very similar to a ponzi scheme. Unfortunately the z customers that are left are ones that will not, or cannot migrate easily to other platforms, so they make a great cash cow to milk for all their worth. -- zMan -- I've got a mainframe and I'm not afraid to use it -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: How to RLSE on multi-volume data set
Staller, Allan wrote: snip It sounds like you are not using Dynamic Volume Count or Partial Space release. Dynamic volume count allocates the 1st extent on the 1st volume and dynamically adds volumes to the list, up to the architectural max of 59. It is not necessary to specify (for example) 10 volumes in JCL. It is specified in the DATACLAS assigned to the dataset. Partial Space Release will release unused space with a sequential file at dfHSM Primary Space Management time. This is specified in the MGMTCLAS assigned to the dataset. /snip Thank you. I had had a look in DFSMS doc, but I didn't pay (enough) attention to the Dynamic Volume Count, I'll do so now. As to partial space release, it says right there in the doc: snip For a multivolume data set that is not in extended format, or is in extended format with a stripe count of 1, CLOSE releases space only on the current volume. /snip This is exactly what I see in my testing. As to the Guaranteed Space in the STORCLASS, I also avoid it since it says in the doc that partial space release is incompatible with it. Thanks anyway for the quick reply. snip I have an application that may have to write DASD files very variable in size. These files are dynamically allocated as SMS managed files (using DALSTCL, DALMGCL and DALDACL) and with text unit DALRLSE (equivalent of the RLSE JCL keyword) so that unused space is released from the allocation when closing the file after writing it. This works well with mono-volume data sets, but is it possible to make it work for multi-volume data sets too ?? After testing a bit, it looks like: - At the time of allocation , the primary space amount is allocated on EACH of the volumes if the volume count (DALVLCNT) is greater than 1. - At the time of CLOSE, the unused space is released on the current volume (the last one that was written to). But, and this is my problem, the allocations on the (unused) next volume(s) if any, are NOT freed !!! Is it possible to specify something (in SMS ?) so that it would free ALL unused space ? /snip -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN