Re: Assembler question

2017-04-07 Thread Sam Siegel
OPEN for UPDAT might require the GET LOCATE instead of GET MOVE.

Try OPEN for INPUT and see if work area is populated.

On Fri, Apr 7, 2017 at 4:09 PM, Tony Thigpen  wrote:
> I am helping on an assembler program that is accessing a sequential file in
> move mode, yet the move is not happening. R1 points to valid data after the
> GET, but the record area specified was not filled in. This application is
> being ported from VSE to z/OS.
>
> Code snippets:
>
>  OPEN  (HPPCTL,UPDAT)
>  GET   HPPCTL,PPCT
> HPPCTL   DCB   DSORG=PS,RECFM=F,LRECL=100,DDNAME=HPPCTL,
>BLKSIZE=(100),
>MACRF=(GM),EODAD=PPCTLOUT
>
> in program storage:
> PPCT DS0CL100  CONTROL RECORD
> PPID DSCL5 RECORD IDENT
> ... and more
>
>
> Thoughts?
>
> (My expertise is in VSE, not z/OS application programming.)
>
> --
> Tony Thigpen
>
> --
> 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: Need help understanding use of CEEPIPI from non-LE assembler main programs

2017-03-17 Thread Sam Siegel
There are two tables which contain the programs: 1) The PreInit table
coded with CEEXPIT, CEEXPITY and CEEXPITS macros; 2) The table
maintained by LE.

During the LE initialization process, a table is constructed in
storage controlled by LE.  The information in the PreInit table is
copied over.

The add_entry function updates the LE constructed table, not the user
constructed table.  Notice that the add_entry, delete_entry,
identify_entry, identify_environment and identify_attribute use the
environment token, not the table address as function arguments.

Please read the add_entry doc again.  You will see that it
specifically says that the "LE maintained table"

On Fri, Mar 17, 2017 at 8:16 AM, Farley, Peter x23353
 wrote:
> Gord,
>
> That's what I have coded so far, but here is what happens:
>
> 1.  The (init_sub) returns RC=8, but based on the ASMPIPI example I let 
> that go as not a fatal error since the pre-init table has only empty entries
> 2.  The first (add_entry) succeeds RC=0 in R15, but the pre-init table is 
> not updated at all (see debugging display below).  The program being added 
> was compiled with Enterprise COBOL V4.2 so it is certainly a valid LE HLL 
> subroutine.
>
> So why does the (add_entry) not update the pre-init table?  What am I doing 
> wrong here?
>
> Peter
>
> The pre-init table is defined with four empty entries like this:
>
> PPTBLCEEXPIT  ,
>  CEEXPITY ,
>  CEEXPITY ,
>  CEEXPITY ,
>  CEEXPITY ,
>  CEEXPITS ,
>
> Debugging display (thank you Cole Software!) right after (add_entry) 
> succeeds, sanitized (names are not what I actually use here):
>
> XDC ===> d testpipi+4b8 2;d testpipi+4b8? 4;d testpipi+4308 2;d 
> testpipi+4308+c?
> _  _EF48 8f (A.S.TSOUSERE) --- TESTPIPI.TESTPIPI+4B8, @R14+3A, 
> @R1+50, @R12+4B8,
> _   TESTPIPI+4B8, PRIVATE+CF48
> _  +4B8  8fB70992D0   *..k}*  
> <=== EP address of TESTSUBR and pre-init 
> table index returned by (add_entry)
> _  _370992D0 8f (A.S.TSOUSERE) --- TESTSUBR+0, XPRIVATE+8992D0
> _+0  8f  47F0F028 00C3C5C5 0288 0014  *.00..CEE...h*  
>  <=== TESTSUBR module in storage
> _   +10  8f  47F0F001 98CEAC00 37099386   *.00.q.lf*
> _   +20  8f   0DFF 90ECD00C 4110F038  *..}. .0.*
> _   +30  8f  98EFF04C 07FF 370992D0   *q.0<..k}*
> _  _00012D98 8f (A.S.TSOUSERE) --- TESTPIPI.TESTPIPI +4308, 
> TESTPIPI+4308, PRIVATE+10D98
> _ +4308  8f80042508 0003  **  
>  <=== Address of CEEPIPI, two other 
> constants, address of pre-init table
> _ +4310  8f  0009 00012EE4  3711BDB8  *...U..].*
> _  _00012EE4 8f (A.S.TDPEFARE) --- TESTPIPI.TESTPIPI +4454, 
> TESTPIPI+4454, PRIVATE+10EE4
> _ +4454  8f   C3C5C5E7 D7E3C2D3 0004  *CEEXPTBL*  
> <=== Pre-init table after (add_entry) succeeds (RC = 
> 0)
> _ +4460  8f  0010 0002  40404040  **
> _ +4470  8f  40404040   40404040  **
> _ +4480  8f  40404040   40404040  **
> _ +4490  8f  40404040   40404040  **
> _ +44A0  8f  40404040   00278000  **
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of Gord Tomlin
> Sent: Thursday, March 16, 2017 5:41 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Need help understanding use of CEEPIPI from non-LE assembler 
> main programs
>
> On 2017-03-16 16:11, Farley, Peter x23353 wrote:
>> Doesn't use of (add_entry) presume that you add to the table BEFORE you call 
>> (init_subr) or (init_subr_dp)?  What if initialization is set up to be done 
>> first, before any entries at all appear in the table?
>
> We do INIT_SUB, followed by ADD_ENTRY calls for all the routines to be
> called via CEEPIPI. Then we do CALL_SUB for any routine using the index
> returned by ADD_ENTRY.
>
> --
>
>
> This message and any attachments are intended only for the use of the 
> addressee and may contain information that is privileged and confidential. If 
> the reader of the message is not the intended recipient or an authorized 
> representative of the intended recipient, you are hereby notified that any 
> dissemination of this communication is strictly prohibited. If you have 
> received this communication in error, please notify us immediately by e-mail 
> and delete the message and any attachments from your system.
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email 

Re: 31 vs 24 QSAM

2017-02-15 Thread Sam Siegel
Are you sure it is not just cache?  were the tests run multiple times
and averaged?  was the load on the system and dasd sub-system similar
for each test?

On Wed, Feb 15, 2017 at 12:19 PM, Joseph Reichman  wrote:
> Hi
>
> And thank you all
>
> I just did a benchmark
>
> And I had a significant savings in CPU time
>
> 24 bit QSAM .85 CPU time 31 bit QSAM .34 CPU time
>
> I could tell it ran a lot faster
>
>
>
>
> Joe Reichman
> 8045 Newell St Apt 403
> Silver Spring MD 20910
> Home (240) 863-3965
> Cell (917) 748 -9693
>
> --
> 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: Addressing Question

2016-12-21 Thread Sam Siegel
Look at the load library directory listing for the calling module in
question. It may show up as amode 24 and rmode 24.



On Dec 21, 2016 5:17 PM, "scott Ford" <idfli...@gmail.com> wrote:

> Sam:
>
> CBL option is nodyn and statically linked ..
> Our CBL options are :
>
> CBL NOC(E),FLAG(W),DATA(31),NODYN,RES,RENT,MAP,SSR
> CBL NOZWB,NUM,NOTERM,NOVBREF,X,APOST,LIB,LIST
>
> Regards,
> Scott
>
>
> On Wed, Dec 21, 2016 at 6:38 PM, Sam Siegel <s...@pscsi.net> wrote:
>
> > Scott - Is any data passed via linkage?  Are the programs dynamically
> > loaded and dynamically called?  Or are they statically linked and
> > called?
> >
> > Sam
> >
> > On Wed, Dec 21, 2016 at 3:34 PM, scott Ford <idfli...@gmail.com> wrote:
> > > Sam,
> > >
> > > I see what you saying, the program's being called are
> > self-contained..they
> > > execute perform data extract functions , close the file and return
> > >
> > > Scott
> > >
> > > On Wednesday, December 21, 2016, Sam Siegel <s...@pscsi.net> wrote:
> > >
> > >> I think that the AMODE(24) is of more concern.  Depending on how they
> > >> are invoked and/or how the entry/exit logic works, they may only be
> > >> using 24-bit addresses.  This would be a problem if a buffer was
> > >> passed to them with a valid 31-bit address.
> > >>
> > >> On Wed, Dec 21, 2016 at 2:15 PM, scott Ford <idfli...@gmail.com
> > >> <javascript:;>> wrote:
> > >> > All:
> > >> >
> > >> > I have a dumb question ...we have a STC running AMODE(31)
> RMODE(ANY)
> > and
> > >> > written in
> > >> > LE Cobol 4.2  we also run DATA(31) , my question is we call several
> > sub
> > >> > programs which are
> > >> > AMODE(24) and RMODE(24) and they work and have been working for a
> long
> > >> time.
> > >> > Several of these Assembler programs are doing I/O. My question is
> why
> > ...
> > >> >
> > >> > I think i am right in saying that RMODE(ANY) sees the program with
> > >> > RMODE(24) and
> > >> > its ok to execute and the I/O buffers are they 24bit or 31
> > >> >
> > >> > Sorry for the dumb question, everyone..
> > >> >
> > >> > Regards,
> > >> > Scott
> > >> >
> > >> > 
> > --
> > >> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > >> > send email to lists...@listserv.ua.edu <javascript:;> with the
> > message:
> > >> INFO IBM-MAIN
> > >>
> > >> 
> --
> > >> For IBM-MAIN subscribe / signoff / archive access instructions,
> > >> send email to lists...@listserv.ua.edu <javascript:;> 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
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Addressing Question

2016-12-21 Thread Sam Siegel
Scott - Is any data passed via linkage?  Are the programs dynamically
loaded and dynamically called?  Or are they statically linked and
called?

Sam

On Wed, Dec 21, 2016 at 3:34 PM, scott Ford <idfli...@gmail.com> wrote:
> Sam,
>
> I see what you saying, the program's being called are self-contained..they
> execute perform data extract functions , close the file and return
>
> Scott
>
> On Wednesday, December 21, 2016, Sam Siegel <s...@pscsi.net> wrote:
>
>> I think that the AMODE(24) is of more concern.  Depending on how they
>> are invoked and/or how the entry/exit logic works, they may only be
>> using 24-bit addresses.  This would be a problem if a buffer was
>> passed to them with a valid 31-bit address.
>>
>> On Wed, Dec 21, 2016 at 2:15 PM, scott Ford <idfli...@gmail.com
>> <javascript:;>> wrote:
>> > All:
>> >
>> > I have a dumb question ...we have a STC running AMODE(31)  RMODE(ANY) and
>> > written in
>> > LE Cobol 4.2  we also run DATA(31) , my question is we call several sub
>> > programs which are
>> > AMODE(24) and RMODE(24) and they work and have been working for a long
>> time.
>> > Several of these Assembler programs are doing I/O. My question is why ...
>> >
>> > I think i am right in saying that RMODE(ANY) sees the program with
>> > RMODE(24) and
>> > its ok to execute and the I/O buffers are they 24bit or 31
>> >
>> > Sorry for the dumb question, everyone..
>> >
>> > Regards,
>> > Scott
>> >
>> > --
>> > For IBM-MAIN subscribe / signoff / archive access instructions,
>> > send email to lists...@listserv.ua.edu <javascript:;> with the message:
>> INFO IBM-MAIN
>>
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu <javascript:;> 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: Addressing Question

2016-12-21 Thread Sam Siegel
I think that the AMODE(24) is of more concern.  Depending on how they
are invoked and/or how the entry/exit logic works, they may only be
using 24-bit addresses.  This would be a problem if a buffer was
passed to them with a valid 31-bit address.

On Wed, Dec 21, 2016 at 2:15 PM, scott Ford  wrote:
> All:
>
> I have a dumb question ...we have a STC running AMODE(31)  RMODE(ANY) and
> written in
> LE Cobol 4.2  we also run DATA(31) , my question is we call several sub
> programs which are
> AMODE(24) and RMODE(24) and they work and have been working for a long time.
> Several of these Assembler programs are doing I/O. My question is why ...
>
> I think i am right in saying that RMODE(ANY) sees the program with
> RMODE(24) and
> its ok to execute and the I/O buffers are they 24bit or 31
>
> Sorry for the dumb question, everyone..
>
> Regards,
> Scott
>
> --
> 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: ABO Automatic Binary Optimizer

2016-10-13 Thread Sam Siegel
Peter - Well said.

Sam

On Thu, Oct 13, 2016 at 1:01 PM, Farley, Peter x23353 <
peter.far...@broadridge.com> wrote:

> Bill,
>
> You do not comprehend the depth of the fear of failure in large, audited
> business organizations.
>
> Also the "verification" you propose that we use for ABO output has no
> programmed tool yet to perform the verification automatically - IEBIBALL is
> the only current tool available, and that is notoriously inefficient and
> error-prone.  Do you expect each ABO client to "roll their own" automated
> verification tool?  IEBIBALL a 1+ line COBOL program assembler listing
> (option LIST) against the list produced by ABO?  I don't think so.
>
> I am not saying ABO is a bad tool, only that it must be considered as a
> change like any other actual source change in order to allay natural and
> substantial concerns in any large organization.  Like the OPT compiler
> option, if the tested version does not use the option (or does not use ABO
> before testing) then it was not tested at all and is not "ready for QA".
>
> No auditor I have ever encountered will tell you otherwise.  I wouldn’t
> buy it either if I were an auditor.
>
> Careful is not wasteful.  Careful saves jobs and companies.
>
> Peter
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Bill Woodger
> Sent: Thursday, October 13, 2016 2:31 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: ABO Automatic Binary Optimizer
>
> Peter,
>
> For a recompile, where the program is not expected to have changed even
> one iota, a regression-test is a very poor substitute for verification. I'd
> be amazed if your tests would be extensive enough to pick that the program
> was different, whereas a comparison (masking or "reconciling" the date/time
> change) will give you 100% surety that the recompiled-program-with-no-changes
> is indeed identical, in all but the date/time, to the original.
>
> If your audit procedures still insist that you do the regression-test,
> still do the comparison and ignore the results of the regression-test (it's
> wasted). Because you then have a task which is ignored/wasted, the tendency
> will be to become "sloppier" with the regression-tests in general.
>
> Look at an site which accepts RC=4 as "OK" without needing to look at the
> diagnostics. It is highly likely that there's dark and stinky stuff in
> their systems. Slackness leads to slackness.
>
> A program which is 100% identical (executable code) to the previous
> program has already been tested to the exact extent of the previous
> program. Are there auditors, in a financial environment, who buy that? Yes.
> Do they all? It seems not. Or it is open at least as to whether things have
> been explained to them.
>
> ABO is different, the executable code changes. The changes are can be
> "reconciled", through the listing. An automatic verification is going to
> give way better results than any regression-test. Yes, for sure, that is a
> harder argument with an auditor, but even if the regression test is still
> forced, I'd go with the verification every time to "prove" the system, and,
> yes, that again means the regression-test (applied for the entire process)
> is again degraded.
>
> Analogies are tricky, but how about this (abstracting all "human error"):
> you have a very long list of single-digits which you have to add up; you
> have a process which removes all sequences of digits which add up to a
> factor of 10 (and is guaranteed not to have removed anything else) by a
> total of all of those digits at the bottom of the list, and lists all those
> removed numbers separately. We assume 100% accuracy either way (ABO isn't
> doing anything for that), and it is going to be quicker to add up the new
> "full" list than the original, and the total of the removed digits can be
> verified to the total in the new list to demonstrate that nothing is lost.
> Given that the original list has been audited for its addition, is there a
> requirement to again audit the speeded-up addition of the new list?
>
> --
>
>
> This message and any attachments are intended only for the use of the
> addressee and may contain information that is privileged and confidential.
> If the reader of the message is not the intended recipient or an authorized
> representative of the intended recipient, you are hereby notified that any
> dissemination of this communication is strictly prohibited. If you have
> received this communication in error, please notify us immediately by
> e-mail and delete the message and any attachments from your system.
>
>
> --
> 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 

Re: How force dataset non-SMS?

2016-04-05 Thread Sam Siegel
Use the following JCL and Assembler program to force a multi-volume dataset
under SMS control.

//DV55686X JOB ABC,'J: A11J',

// CLASS=A,

// MSGCLASS=9,

// NOTIFY=

//*

//JSDELEXEC PGM=IEFBR14

//DS010DD DSN=TEST.ABC.A11.MULTIVOL,

//DISP=(MOD,DELETE,DELETE),UNIT=3390,SPACE=(TRK,0)

//*

//JS010EXEC PGM=A11

//STEPLIB  DD DSN=DV55686.TSO.LOAD,DISP=SHR

//OUT  DD DSN=TEST.ABC.A11.MULTIVOL,

//DISP=(NEW,CATLG,CATLG),

//UNIT=(TEST,3),

//SPACE=(TRK,(2,1),RLSE),

//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)



*

A11  AMODE 24

A11  RMODE 24

A11  CSECT

 USING *,R15

 STM   R14,R12,12(R13)ENTRY LOGIC

 LAR1,SA

 STR1,8(R13)

 STR13,4(R1)

 LRR13,R1

 LAR12,0(R15)

 DROP  R15

 USING A11,R12

*

 OPEN  (OUT,(OUTPUT)) OPEN DATASETS

 LTR   R15,R15OPEN OK?

 JZMAIN_010T-CONTINUE

*

 WTO   'A11 - OPEN ERROR',ROUTCDE=11  ISSUE ERROR MSG

 ABEND 1,DUMP,STEPABEND

*

MAIN_010 DS0H

 PUT   OUT,OUTPUT WRITE STATUS MSG

 APPL8,=P'1'

 CPPL8,=P'1'

 JHMAIN_020

 J MAIN_010   LOOP

*

MAIN_020 DS0H

 ZAP   PL8,=P'0'

*

MAIN_030 DS0H

 PUT   OUT,OUTPUT WRITE STATUS MSG

 FEOV  OUT

 APPL8,=P'1'

 CPPL8,=P'100'

 JHMAIN_040

 J MAIN_030   LOOP

*

MAIN_040 DS0H

 CLOSE (OUT)  EOF: CLOSE FILES

*

 L R13,4(R13) EXIT LOGIC

 LMR14,R12,12(R13)

 XRR15,R15

 BRR14

*

SA   DC18F'0' REGISTER SA

PL8  DCPL8'0'

*

OUTPUT   DCCL80'X'

*

*OUTPUT MESSAGE DD

OUT  DCB   DSORG=PS,MACRF=PM,RECFM=FB,LRECL=80,X

   DDNAME=OUT

*

 YREGS ,

 END   A11

On Tue, Apr 5, 2016 at 10:51 AM, Charles Mills  wrote:

> Yup.
>
> VOLUMES
>   VOLSERLS0502 DEVTYPE--X'3010200F'
>   VOLSER-* DEVTYPE--X''
>   VOLSER-* DEVTYPE--X''
>   VOLSER-* DEVTYPE--X''
>   VOLSER-* DEVTYPE--X''
>
> SMS is too darned smart!
>
> I *really* don't want to figure out some IEBGENER or Rexx to load a
> zillion tracks of data into it.
>
> Maybe I will try to figure out some other way to solve the original
> problem.
>
> I will ask the SMS guys I guess. Wanted to avoid that.
>
> Charles
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of John Clifford
> Sent: Tuesday, April 05, 2016 1:26 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: How force dataset non-SMS?
>
> I you got it out of SMS, and not enough data gets loaded so a 2nd or third
> vol is needed, it will only show a single vol-ser.  If you run a listcat of
> the dataset does it show an '*" for the 2 volumes not used yet ??
> (Candidate volumes)???
>
> --
> 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: COBOL Rookie Problem

2016-04-01 Thread Sam Siegel
Thanks for sending this out.  We will be looking at ABO soon.  I'll be very
interested to see your ABO results.

Sam

On Fri, Apr 1, 2016 at 5:09 PM, Jesse 1 Robinson 
wrote:

> An update for anyone who cares. My motivation was to get a preview of how
> real application programs might benefit from ABO. As an electric utility,
> we have millions of customers and millions of account records. We don't do
> elaborate calculations for most customers. Think what it might take to
> produce your monthly bill. Many factors are included, but neither
> astronomical nor particle physics gets dragged in to determine how much
> juice you burned and what you're on the hook for. I beefed up my program a
> bit to add more arithmetic so that each O/P record now involves addition,
> multiplication, division, and square root (just for fun). And a lot of
> records.
>
> I also took David Jousma's prime number program (thanks!) to use as a
> second test case.
>
> Running bare metal, David's program uses about 1/3 second of CPU time on a
> z12. Mine takes a little over half a minute. How these results compare with
> real-life work is still a guess, but the application folks are totally
> saturated with another project right now. For me it's either try something
> or do nothing. ABO results are pending.
>
> P.S. my COBOL is now 1000% better than it was a week ago!
>
> .
> .
> .
> J.O.Skip Robinson
> Southern California Edison Company
> Electric Dragon Team Paddler
> SHARE MVS Program Co-Manager
> 323-715-0595 Mobile
> 626-302-7535 Office
> robin...@sce.com
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Bill Woodger
> Sent: Friday, April 01, 2016 1:04 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: (External):COBOL Rookie Problem
>
> I know what you're saying, and would normally agree where "incremental"
> performance benefits were expected - knocking up a couple of test programs
> may not reflect what would normally occur.
>
> However, this is far from incremental. V4 generates "ESA" machine-code.
> ABO can do ARCH 10 or 11. In the example, DFP (if used by ABO) is going to
> provide substantial performance improvements on arithmetic with
> zoned-decimal. There is still improved performance with packed-decimal.
> Leads to the idea that all decimal arithmetic will improve.
>
> I few verification programs before tossing it at real programs seems to me
> a good idea, in this type of case. If something doesn't work as expected,
> it can be investigated in isolation, without having to untie it from other
> stuff, or, more likely, miss it altogether.
>
> On Friday, 1 April 2016 08:49:21 UTC+1, Andrew Rowley  wrote:
> > On 01/04/2016 06:26 PM, Bill Woodger wrote:
> > > Andrew, I don't think it would be difficult at all. Especially for
> ARCH 11, there's some substantial differences in that example of what code
> would be possible (with V5 or V6), so it will be interesting to see if the
> ABO takes full advantage.
> >
> > I'm not doubting that there would be benefits, just whether you could
> > quantify them from a test program. It's hard to predict whether the
> > benefits would be more, less or the same.
>
>
> --
> 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: COBOL Rookie Problem

2016-03-31 Thread Sam Siegel
change linkage section as follows:
LINKAGE SECTION .
01 ls-parm.
05 ls-length pic s9(4) comp.
05 iterate  PIC 9(5) .

jcl parm has half word length.  value will be 0 to 100, depending on the
amount of data put on teh PARM=

Sam

On Thu, Mar 31, 2016 at 4:38 PM, Jesse 1 Robinson 
wrote:

> The rest of the program follows below. You can see that it has two
> DISPLAYs: one for ITERATE and one for each READ. Results for PARM='1':
>
> +Iterate  1  times
> +Reading record (repeated 1,100 or 2,200 times depending on input record
> count)
>
> I understand that reading a dummy or an empty file should not cause a
> failure, but shouldn't the AT END condition be set immediately for zero
> data records? And when there is exactly one record, I would expect AT END
> on the second READ. This a pretty simple-minded program. ;-(
>
>
> IDENTIFICATION DIVISION .
> PROGRAM-ID .   ABOTEST .
> ENVIRONMENT DIVISION .
>   INPUT-OUTPUT SECTION .
>   FILE-CONTROL .
>  SELECT TESTIN
>  ASSIGN TESTIN
>  FILE STATUS IS testin-status .
>  SELECT TESTOUTE
>  ASSIGN TESTOUTE
>  FILE STATUS IS testoute-status .
>  SELECT TESTOUTO
>  ASSIGN TESTOUTO
>  FILE STATUS IS testouto-status .
> DATA DIVISION .
> FILE SECTION .
> FD TESTIN
> BLOCK  CONTAINS 0
> RECORD CONTAINS 80 CHARACTERS
> RECORDING MODE F .
> 01 input-recPIC X(80) .
> FD TESTOUTE
> BLOCK  CONTAINS 0
> RECORD CONTAINS 80 CHARACTERS
> RECORDING MODE F .
> 01 outpute-rec  PIC X(80) .
> FD TESTOUTO
> BLOCK  CONTAINS 0
> RECORD CONTAINS 80 CHARACTERS
> RECORDING MODE F .
> 01 outputo-rec  PIC X(80) .
> WORKING-STORAGE SECTION .
> 01 dig-sum  PIC 9(5) .
> 01 quo  PIC 9(5) .
> 01 rem  PIC 9(5) .
> 01 testin-eof   PIC X .
> 01 testin-statusPIC 99 .
> 01 testoute-status  PIC 99 .
> 01 testouto-status  PIC 99 .
> 01 IN-REC .
> 05 IN-DIGIT PIC 9
> OCCURS 80 TIMES
> INDEXED BY i1 .
> 01 out-rec .
> 05 rec-sum  PIC 9(5)  .
> 05 out-filler   PIC X(75) .
> LOCAL-STORAGE SECTION .
> LINKAGE SECTION .
> 01 iterate  PIC 9(5) .
>
> PROCEDURE DIVISION USING iterate .
> ...
>
>
> .
> .
> .
> J.O.Skip Robinson
> Southern California Edison Company
> Electric Dragon Team Paddler
> SHARE MVS Program Co-Manager
> 323-715-0595 Mobile
> 626-302-7535 Office
> robin...@sce.com
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Farley, Peter x23353
> Sent: Thursday, March 31, 2016 4:06 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: (External):Re: COBOL Rookie Problem
>
> Skip, I would need to see the invoking JCL and the COBOL definition of
> "iterate" in the LINKAGE SECTION to confirm my suspicion, but my first
> guess is that you gave the program a PARM of 1100 to do 1100 iterations,
> and that is what it did.  Empty (even DUMMY) sequential files always open
> cleanly and the first read should take the AT END path.
>
> It would help to see all of the program, from ID DIVISION onward, as well
> as the invoking JCL.
>
> HTH
>
> Peter
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Jesse 1 Robinson
> Sent: Thursday, March 31, 2016 6:04 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: COBOL Rookie Problem
>
> I'm writing my first COBOL program in decades. It's not supposed to do
> anything important, but it's not a toy. I need a program that chews up CPU
> in order to try out ABO (Automatic Binary Optimizer). I started with a REXX
> and am now rewriting in COBOL 4.2. It's not doing what I want, which is to
> read a sequential file, do some arithmetic, then write out records to a
> couple of other sequential files. Very simple, but I'm missing something.
> When the input file is empty-no records-the program does 1,100 reads! When
> the input file has one record, it does 2,200 reads!! It's not a real loop
> because the program ends normally after all the commotion. What's wrong?
> The REXX is structured almost identically, and it works fine.
>
> PROCEDURE DIVISION USING iterate .
> IF ADDRESS OF iterate = NULL THEN MOVE 1 TO iterate; END-IF
> DISPLAY "Iterate" iterate "times" UPON CONSOLE
> OPEN OUTPUT testoute
> OPEN OUTPUT testouto
> PERFORM iterate TIMES
>   OPEN INPUT testin
>   MOVE "N" TO testin-eof
>   PERFORM UNTIL testin-eof = "Y"
>   display "Reading record" UPON CONSOLE
> READ testin INTO in-rec
>   AT END MOVE "Y" TO testin-eof   < < < EOF is not getting set as
> it should
> END-READ
> IF testin-eof = "N" THEN
>   MOVE 0 TO dig-sum
>   PERFORM 

Re: SRB Mode and C functions

2016-01-22 Thread Sam Siegel
Look in the XL C/C++ run time library reference in appendix B Function
Support Table.  It provides a comprehensive list of functions which can be
used under an SRB.

Sam

On Fri, Jan 22, 2016 at 2:43 PM, Janet Graff <
004dc9e91b6d-dmarc-requ...@listserv.ua.edu> wrote:

> We recently found that a pthread_mutex_lock() issues an SVC under the
> covers which causes our code in SRB Mode to abend with a S0F8-004.
>
> Does anyone have a list of C functions (POSIX as well as stdlib) that are
> illegal in SRB Mode?
>
> Thanks!
> Janet
>
> --
> 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: slight reprieve on the z.

2015-12-18 Thread Sam Siegel
it is all about the agenda they are driving.  Or the agenda of the
subordinate preparing the talking points.

On Fri, Dec 18, 2015 at 9:06 AM, Walter Davies 
wrote:

> Our board of supervisors like to say the mainframe is running on DOS. One
> is an ex intel management employee.
>
> On Fri, Dec 18, 2015 at 8:40 AM, Grinsell, Don  wrote:
>
> > Cute.  The problem is there's nobody there to call bull$h!t or do a fact
> > check.  We see this sort of testimony here as well often implying that we
> > are still running an antiquated s/360 that absolutely nobody knows
> anything
> > about anymore.
> >
> > --
> >
> > Donald Grinsell
> > State of Montana
> > 406-444-2983
> > dgrins...@mt.gov
> >
> > "Hell is other people."
> > ~ Jean-Paul Sartre
> >
> >
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> >
>
>
>
> --
>
>
>
> Walter Davies
> Supervising IT Analyst
> walter.dav...@edcgov.us
> (530) 621-5420
>
> --
> 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: GETDSAB

2015-11-27 Thread Sam Siegel
Scott.   Look at the DEVTYPE macro also to determine if a DD is present or
absent from the JCL
On Nov 27, 2015 9:15 AM, "Scott Ford"  wrote:

> All,
>
> I am i right in thinking that if I issue a
>
>MVCMYDDN,=CL8'AUDIT'
>GETDSAB   DDNAME=MYDDN,DSAPTR=MYPTR
>
>
> MYDDN   DS   CL8
> MYPTR   DS   AL4
>
>
> If the ddname in not in the JCL with the DSAPTR be blank or 0 ?
>
> Regards,
> Scott
>
> --
> 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: SRB And Enclave SRB

2015-11-05 Thread Sam Siegel
KEY 0 is not required by an SRB.  See IEAMSCHD documentation.  Supervisor
state is required.

On Thu, Nov 5, 2015 at 3:48 PM, michelbutz  wrote:

> I would think what flavor SRB is always key 0
> Supervisor state
>
> Sent from my iPhone
>
> > On Nov 5, 2015, at 6:45 PM, Clark Morris 
> wrote:
> >
> >> On 5 Nov 2015 08:27:39 -0800, in bit.listserv.ibm-main you wrote:
> >>
> >> Thanks so much SRBs have apparently become more than quick and dirty
> type of work
> >> And do extensive processing in some instances
> >
> > I skimmed the paper and could not figure out what key and state
> > (supervisor or non-supervisor) they operate in.
> >
> > Clark Morris
> >>
> >> Sent from my iPhone
> >>
> >>> On Nov 4, 2015, at 6:09 PM, Dave Barry <
> 00a5644c6d08-dmarc-requ...@listserv.ua.edu> wrote:
> >>>
> >>> See John Arwe's seminal work on the subject described at
> ftp://public.dhe.ibm.com/s390/zos/wlm/WLMpresrb.pdf.
> >>>
> >>> -Original Message-
> >>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
> On Behalf Of michelbutz
> >>> Sent: Wednesday, November 04, 2015 1:39 PM
> >>> To: IBM-MAIN@LISTSERV.UA.EDU
> >>> Subject: SRB And Enclave SRB
> >>>
> >>> Hi
> >>>
> >>> Can someone on the list point me to where I might find the differences
> between the above two
> >>>
> >>>
> >>> Thanks
> >>>
> >>> Sent from my iPhone
> >>> --
> >>> 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
>
> --
> 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: SRB And Enclave SRB

2015-11-04 Thread Sam Siegel
Authorized assembler services guide chapter 9. SA22-7608

wlm: programing workload management services : SA22-7619 IWMECRE
and IWM4ECRE

essentially, an enclave srb is associated with a work load management
enclave.



On Wed, Nov 4, 2015 at 10:39 AM, michelbutz  wrote:

> Hi
>
> Can someone on the list point me to where I might find the differences
> between the above two
>
>
> Thanks
>
> Sent from my iPhone
> --
> 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: IEAVAPE2/IEAVPSE2 another address space

2015-10-16 Thread Sam Siegel
It works like POST and WAIT.  The task to be suspended must call the pause
service with a valid Pause Element.

On Fri, Oct 16, 2015 at 8:17 AM, michelbutz  wrote:

>
> Yes I'm using 2.1
>
> Waiting for the likes of Pete Relson to chime in
>
> Thanks so much
>
> Sent from my iPhone
>
> > On Oct 16, 2015, at 10:58 AM, John McKown 
> wrote:
> >
> > Well, the URL that I'm reading is
> >
> https://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieaa800/chooch.htm?lang=en
> >
> > I do see what you're reading. It's under the "Pause, Release, Transfer"
> > column, row 4. Which says: "An authorized caller can pause and release
> any
> > task or SRB in the system."
> >
> > Please confirm that you want is program "A" to be able to pause "any task
> > or SRB" in the system (same or different address space) without any
> coding
> > in the target. Oh, you might want to say what release of z/OS you're
> using
> > too.
> >
> > I take it you interpret "An authorized caller can pause and release any
> > task or SRB in the system." as meaning "An authorized caller can use the
> > pause service to pause any _other_ task or SRB in the system". From
> reading
> > the other documentation (
> >
> https://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieaa200/ieavpse.htm?lang=en
> > "Call Pause to make the current task or SRB nondispatchable" )
> >
> > I interpret this to mean that an authorized user can allocate a PE in
> such
> > a way as to allow that PE to be used by any task or SRB to suspend
> itself.
> > And that any _other_ task or SRB in the system can then use that same PE
> to
> > resume the paused task or SRB.
> >
> > I guess what I'm saying, at least until someone corrects me, is that the
> > sentence is either too ambiguous or just down right wrong. I don't see a
> > way for program "A" to cause some other "task of SRB" to be suspended (or
> > paused) without the target "task or SRB" doing something. IIRC, what you
> > want is something like CALLRTM (which abends any task or SRB in the
> > system), but which just "stops" it instead of abending it.
> >
> > I must now bow out to those more knowledgeable than I about the
> internals.
> > If this were _my_ need, my approach would be to schedule an SRB into the
> > address space which would schedule a CIRB which would do a SUSPEND
> > RB=PREVIOUS. Then something later would need to schedule an SRB into the
> > address space which would do a RESUME TCB=,RETURN=N to allow the
> suspended
> > work to continue.
> >
> > --
> >
> > Schrodinger's backup: The condition of any backup is unknown until a
> > restore is attempted.
> >
> > Yoda of Borg, we are. Futile, resistance is, yes. Assimilated, you will
> be.
> >
> > He's about as useful as a wax frying pan.
> >
> > 10 to the 12th power microphones = 1 Megaphone
> >
> > Maranatha! <><
> > John McKown
> >
> > --
> > 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: Writing support for DD SUBSYS= (got it, thanks!)

2015-10-10 Thread Sam Siegel
Hi - I tried looking on bitsavers for this, but cannot find it.  I'm
wondering if you had the chance to upload it yet?

Thanks,
Sam

On Mon, Oct 5, 2015 at 8:17 AM, David Cole  wrote:

> Will do but I won't be back to the office until tomorrow
>
> Sent from my cell phone . Pease forgive typos.
> On Oct 5, 2015 10:13 AM, "Farley, Peter x23353" <
> peter.far...@broadridge.com>
> wrote:
>
> > Dave,
> >
> > If you get a chance, would you mind uploading that to bitsavers.org?  I
> > would find that manual interesting reading as well.
> >
> > Peter
> >
> > -Original Message-
> > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> > Behalf Of David Cole
> > Sent: Sunday, October 04, 2015 11:46 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Writing support for DD SUBSYS= (got it, thanks!)
> >
> > Thank you, Alex, for sending me a copy of GG66-3131! Much appreciated.
> >
> > Lizette wrote:
> > >Did you check out the cbttape.org for file 290?
> >
> > Yes, that's Howard Gilbert's GPSAM. Howard's an old friend from when
> > we worked together back in the '70s. He's also one of the best
> > programmers I've ever met. I had forgotten that he wrote that. I've
> > downloaded it and am studying it with interest.
> >
> > Tom Marchant wrote:
> > >Did you try bitsavers? If they don't have it, perhaps someone who
> > >does would be kind enough to upload it.
> >
> > Thanks for the suggestion Tom, But I was lucky enough that Alex was
> > able to send me a copy.
> >
> > Dave
> >
> > At 10/3/2015 04:26 PM, you wrote:
> > >Hi,
> > >
> > >I'm considering writing a Subsystem to intercept an output file and
> > >putting it somewhere else. It looks like // DD SUBSYS= might be one
> > >good way to do this.
> > >
> > >I understand that there is an ancient
> > >redbook/orangebook/whateverbook that discusses how to do this. it
> > >was written by IBM's Washington Systems Center and titled "The
> > >Subsystem Interface in MVS/SP Version 3" (GC66-3131). Of course,
> > >that book is long gone from the usual sources... I'm just wondering
> > >if anyone has a copy they could hook me up with?
> > >
> > >Yes, I know about the "MVS Subsystem Interface" manual, "im just
> > >looking for additional information.
> > >
> > >Thanks
> > --
> >
> > This message and any attachments are intended only for the use of the
> > addressee and may contain information that is privileged and
> confidential.
> > If the reader of the message is not the intended recipient or an
> authorized
> > representative of the intended recipient, you are hereby notified that
> any
> > dissemination of this communication is strictly prohibited. If you have
> > received this communication in error, please notify us immediately by
> > e-mail and delete the message and any attachments from your system.
> >
> > --
> > 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: LE Condition Handler

2015-08-27 Thread Sam Siegel
On Thu, Aug 27, 2015 at 6:02 AM, Scott Ford idfzos...@gmail.com wrote:

 All:

 I need a sanity check on a design I am wanting to do. We have a Cobol STC
 running with a Assembler Operator Interface, single thread.
 I understand I could redo in Assembler and multi-task, redo in C or C++ and
 thread, but this isnt what I am looking for. Inside the STC we maintain
 a secondary index of data items. If the Operator issues a 'P ..'  or
  'C ' we will loose the secondary index. My idea is to write a
 Cobol condition
 handler with TRAP(ON) in LE to capture the S222 and at that time read the
 secondary index and write to disk. I am just not sure of the steps in the
 Cobol.


Scott - Sorry to have to deliver the bad news.  LE condition handlers do
not intercept Sx22 abends, even with TRAP(ON).  See the LE Programming
guide (SA22-7561) chapter 15: TRAP Effects on the Condition Handling
Process.

Sam



 I could write the condition handler in Assembler or C I dont care. My
 object is not to loose this data..

 Any ideas,opinions are welcome and appreciated.

 Scott Ford
 www.idmworks.com

 --
 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: Emperor (Was Calendars ... and Leap ... etc.)

2015-08-13 Thread Sam Siegel
What a wonderful quote.

On Thu, Aug 13, 2015 at 8:49 AM, Charles Mills charl...@mcn.org wrote:

 If you wish to make an apple pie from scratch, you must first invent the
 universe.

 -- Carl Sagan

 Charles

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Elardus Engelbrecht
 Sent: Thursday, August 13, 2015 11:12 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Emperor (Was Calendars ... and Leap ... etc.)

 Paul Gilmartin wrote:

 If I were Emperor of the Universe, I would make the rule:
 Every year divisible by 4 except one divisible by 128 is a leap year.

 Emperor! Your majesty, my precious, but you will be stopped by Darth
 Vader, because he is the Force.

 If not stopped, you'll also have these problems within a year or leap-year:

 1. Define 'year' and 'leap year'. Each planet, dwarf planet, astro, etc.
 have their own definition of their equivalent of day, month, year.

 --
 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: Exporting Excel to Dataset

2015-08-03 Thread Sam Siegel
Several years ago, I developed an API which allows COBOL, ASM, etc. to read
and write native excel files.

To read, the unmodified Excel files is binary uploaded to sequential file
or PDS member.  JCL allocates sequential file or PDS member via JCL.  COBOL
program accesses sequential file or PDS member via API.

Let me know if you are interested in additional details.

Sam

On Mon, Aug 3, 2015 at 10:36 AM, Farley, Peter x23353 
peter.far...@broadridge.com wrote:

 I think that the open document format for spreadsheet files (*.ods) is
 an XML file in reality, you might want to investigate converting the Excel
 template to that format first.

 Excel since the 2007 version can save files in that format, using SaveAs.

 HTH

 Peter

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Ron Thomas
 Sent: Monday, August 03, 2015 1:20 PM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Exporting Excel to Dataset

 We have a requirement that looks for exporting an Excel template with data
 in a tabular format from an FTP folder location to a mainframe PDS which
 later needs to be accessed via COBOL for some business processing logic.

 We know that this works fine if the input Excel file is in .CSV format.
 What we are looking for is, if anyone is aware of any such functionalities
 where we can accept and export the Excel template as such to a PDS that is
 readable by COBOL without being converted to a .CSV file?

 Thanks
 Ron T
 --


 This message and any attachments are intended only for the use of the
 addressee and may contain information that is privileged and confidential.
 If the reader of the message is not the intended recipient or an authorized
 representative of the intended recipient, you are hereby notified that any
 dissemination of this communication is strictly prohibited. If you have
 received this communication in error, please notify us immediately by
 e-mail and delete the message and any attachments from your system.


 --
 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: Abend-Aid questions

2015-07-08 Thread Sam Siegel
Here are some abend-aid ddnames and their purpose.

//ABENDAID DD SYSOUT=AAlternate DD for Abend-AID output
  (Note: A SYSUDUMP/SYSABEND DD is still
  required to invoke Abend-AID. Users of
  SYSMDUMP must use the ABENDAID DD to get
  Abend-AID output. Abend-AID will not write
  to SYSMDUMP.)

//ABNLALL  DD DUMMY   Forces formatting of all program storage
  and control blocks

//ABNLDUMP DD DUMMY   Forces printing of the normal IBM dump

//ABNLENAB DD DUMMY   Enables Abend-AID when it has been
  disabled globally

//ABNLFMTD DD DUMMY   Forces printing of only the formatted
  control blocks portion of the IBM dump

//ABNLHELP DD DUMMY   Produces the Abend-AID help pages when
  disabled globally

//ABNLIGNR DD DUMMY   Shuts off Abend-AID processing

//ABNLNCBS DD DUMMY   Suppresses printing of the Abend-AID
  data management control blocks section

//ABNLNODP DD DUMMY   Suppresses printing of the IBM dump

//ABNLNONE DD DUMMY   Opposite of //ABNLALL

//ABNLNWSP DD DUMMY   Suppresses printing of the Abend-AID
  program storage section

//ABNLPCBS DD DUMMY   Forces printing of the Abend-AID data
  management control blocks section

//ABNLSUPT DD DUMMY   Suppresses the inclusion of Abend-AID/
  COBOL information in the object module
  (Note: When this DD statement is used,
  the enhanced Abend-AID/COBOL output will
  not be available at abend time.)

//ABNLSUPW DD DUMMY   Suppresses W-level message in the body
  of the Abend-AID/COBOL source listing

//ABNLTERM DD SYSOUT=AInvokes the Abend-AID/ONLINE feature
  for 72-column output when 121-column
  output is the default

//ABNLTERM DD DSN=Specifies an Abend-AID dump data set for
  Abend-AID output

//ABNLWIDE DD DUMMY   Allows 121-column output when the default
  is 72 columns

//ABNLWSPT DD DUMMY   Forces printing of the Abend-AID
  program storage section

On Wed, Jul 8, 2015 at 8:35 AM, Charles Mills charl...@mcn.org wrote:

 We're not Abend-Aid licensees, so we have no access to complete
 documentation. I find some help on the Web, but I want to get this right
 and
 not burden the customer with a whole lot of try this. We have a customer
 where we have a problem (S238 - yes, I know what that is trying to tell us)
 and are not getting a dump, which would be a very helpful tool in this
 situation. The customer does not know how to force a dump.

 We are seeing the following messages:

  LEAID ENTERED (LEVEL 05/14/2013 AT 15:14)
  LEAID LEAID109 ABEND-AID PROCESSING IGNORED. ABEND SPECIFIED NO DUMP
  LEAID PROCESSING COMPLETE RC=4

 Questions:
 - Is this indeed Abend-Aid talking or is LEAID some other product that is
 suppressing Abend-Aid? (The failing program is indeed LE-based.)
 - There is a SYSUDUMP DD SYSOUT=* statement in the JCL -- will adding
 //ABNLIGNR DD DUMMY get us a SYSUDUMP?

 Thanks,

 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


Re: S0C4 At Entry to SRB routine

2015-06-22 Thread Sam Siegel
I'm not sure if this is the cause of the error or not.  But it appears that
the SRB is being copied to CSA, instead of being LOADed to CSA.  This might
negatively impact addresses or adcons which were resolved prior to being
copied to CSA.

On Mon, Jun 22, 2015 at 3:36 PM, michealbutz michealb...@comcast.net
wrote:

 Hi,



 I am at my wits end I have tried all sorts of things I am getting S0C4 at
 right at the entry point to my SRB routine my SRB rtn does even take off it
 goes directly to the   FRR routine looking at the SDWAABCC its 940C4



 *

  STORAGE OBTAIN,

LENGTH=(R0),

ADDR=(R12),

KEY=0,

SP=227

 *

  SPKA  0

 *

  STR12,SRBEPXStore Entry Point

  OCSRBEPX,=X'8000'   Turn on high order bit

  LAR5,VSMFRR-VSMLOC(,R12) R9 -- frr Code

  STR5,SRBFRR Store FRR

  LAR8,SRBFLAG-VSMLOC(,R12)

  MVI   0(R8),X'00'

  OCSRBFRR,=X'8000'   Turn on high order bit

  LAR5,PARMS-VSMLOC(,R12)  Get parms addr

  STR4,0(R5)

  STR5,FRRPARM

  OCFRRPARM,=X'8000'

  LRR4,R12Point to Csa

  LAR5,VSRBLEN   len

  STR6,INBUFPTR  Store Buffer pointer

  LAR6,VSMLOC

  LRR7,R5

  MVCL  R4,R6 Move to csa



 a little later



 *---*

 * Schedule the SRB  *

 *---*

  LAR12,SRBEPX  Entry point

  LAR11,PARMADD Srb Param

  LAR9,SRBFRR   FRR Address

 *LAR2,FRRPARM  Frr Paramters

  XRR2,R2

 *

  IEAMSCHD EPADDR=(R12),

PRIORITY=GLOBAL,

ENV=STOKEN,

TARGETSTOKEN=WSSTOKEN,

PARM=(R11),

FRRADDR=(R9),

SDWALOC31=YES,

FLAGS=(R8),



 The next adress points to LR R13,1

 *-*

  * *

  * SRB CODE*

  * *

  * R2 -- Point to 24 Bit 24 byte paramter area*

  * *

  *bytes 0 - 3 Address of Retry routine *

  *bytes 4 - 7 area of storage LSQA,PVT etc *

  *bytes 8 - 11 R13 *

  *-*

  VSMLOC   DS0D

   DROP  R3

   LRR5,R15

   USING VSMLOC,R5 Entry Point

   LRR10,R14   SAVE RETURN ADDRESS

   LRR13,R1

  *DROP  R13




















 --
 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: Outsourcing Experiences

2015-04-22 Thread Sam Siegel
Joel - Well said.

On Wed, Apr 22, 2015 at 7:36 AM, Joel Ewing jcew...@acm.org wrote:


 I would second the sentiment that it would not be a wise move to
 outsource IT when that is a part of the core business.  With web
 presence being such a key component of customer service these days, I
 would think that would make IT a part of the core business for any
 entity where providing services to customers is a major component of
 their business.  Last time I checked most State governments were heavily
 involved in providing services to their customers/tax-payers.

 Putting part of your core business out of your direct control makes it
 much more difficult to adapt when the inevitable need for change occurs.

 Outsourcing one part of your IT can restrict future ability to adopt the
 most cost-effective IT solution to change.  The limitations of typical
 outsourcing contracts will make changing any outsourced component of IT
 more difficult and probably more expensive -- so there will be strong
 pressure to resist changing that component even when that might
 otherwise be the best approach..


 --
 Joel C. Ewing,Bentonville, AR   jcew...@acm.org

 --
 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: Standard IBM Enterprise COBOL Service to convert ASCII to EBCDIC

2015-04-13 Thread Sam Siegel
Agreed.  There are good and bad on both sides of that line.

On Mon, Apr 13, 2015 at 10:06 AM, Graham Hobbs gho...@cdpwise.net wrote:

 Seconded.
 All the business systems in the world seem to work just fine so they must
 have been written by systems programmers:-D

 On 2015-04-13 9:21 AM, Farley, Peter x23353 wrote:

 Sorry for this rant but I just had to step in on this conversation.  That
 is the most hoary, antiquated, and prejudiced set of statements about
 application programmers that I think I have ever seen you make.  I remember
 making stupid mistakes when I was a junior programmer and needing to ask
 for the systems programmer's help, but to bring up that dumb 0C7 example is
 just dredging up ancient history of application programming people as they
 MAY have been but were never ALL alike.

 In my experience, most of the COBOL application programmers who are left
 working today (and I must admit there are fewer and fewer of us every day)
 are both reasonably bright and very experienced in using the tools that
 earn them their living.  Do they know the latest CS paradigms and
 theories?  Not always (some do!), but they can program the daylights out of
 a business application need, and get it done on time and with high-quality
 regression testing done too.

 Knowing how to use COBOL FUNCTION intrinsics to translate text to or from
 ASCII or any other code page is not rocket science, it is just normal
 business programming.

 Please get off that ridiculously high systems programmer horse of yours
 and join us here in the 21st century.

 Peter

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Ed Gould
 Sent: Sunday, April 12, 2015 11:46 PM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: Standard IBM Enterprise COBOL Service to convert ASCII to
 EBCDIC

 Ze'ev:
 Because in most cases programmers are less than lets say bright. If
 you bring up ASCII you will only confuse them. I suspect they will
 try and use it in some sort of horrendous fashion, like convert to
 ASCII and then back. To give you an idea how stupid programmers can
 be a S0C7 turns into a tech support issue as the system said it was a
 0C7 so it is a systems issue. Thats how bad some programmers are.

 Ed
 --

 This message and any attachments are intended only for the use of the
 addressee and may contain information that is privileged and confidential.
 If the reader of the message is not the intended recipient or an authorized
 representative of the intended recipient, you are hereby notified that any
 dissemination of this communication is strictly prohibited. If you have
 received this communication in error, please notify us immediately by
 e-mail and delete the message and any attachments from your system.

 --
 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: A New Performance Model ?

2015-04-05 Thread Sam Siegel
On Sun, Apr 5, 2015 at 7:28 PM, Timothy Sipples sipp...@sg.ibm.com wrote:

 Our development management are telling is (Systems  Operations) that
 it is cheaper to Upgrade the mainfame than to have the application
 programmers review their code for performance oppurtunities.

 I'm disappointed in the reactions so far. They're quite...old
 fashioned. :-( Yes, there is a new performance model, but this new is
 almost as old as computing.

 That assertion from the development team's management is certainly
 possible. Development talent, particularly highly skilled talent, continues
 to become more expensive relative to most other factor inputs in computing.
 That trend exists on *every* platform.


Highly skilled development talent takes performance and resource
utilization into consideration during design, development, turning and
testing.

Based on what was described, 0c4 and 0c7 abends were eliminated by grossly
over allocating tables to eliminate memory overlay.

By my experience, this does not sound like highly skilled talent,
regardless of expense.




 Whether that assertion is true or not in these particular circumstances I
 have no idea. More importantly, neither do you yet. This question can only
 be answered with a careful cost analysis (or re-analysis), and that itself
 is a comparatively rare skill within IT organizations as you and others may
 have just demonstrated. :-) It also isn't free to analyze costs. Otherwise
 accountants and consultants, including Al Sherkow, among other talented
 people, wouldn't be paid.

 As a *generalization*, most organizations are running many more MIPS now
 than, say, 15 years ago. Typically, though, that's at a similar or lower
 real cost in terms of infrastructure and operations. At the same time, real
 costs for a given amount of quality-equivalent development talent have gone
 up. (Raise your hand if you want to dispute that generalization, but I
 don't think it's particularly controversial.) There have been some
 development productivity improvements but probably not as many as on the
 operations side. So the overall trend is that your organization
 *rationally* shouldn't be using as much labor cost to optimize code as you
 did, say, 15 years ago. Exactly how much less depends on your particular
 situation, but generally less is the correct, cost-optimizing answer in
 most cases.

 Is that so surprising? Raise your hand if you're still hand tuning code to
 account for disk rotation. That's at least not a common way developers are
 now spending their increasingly precious time. The economics have moved on.

 What you, on the operations side, can perhaps help do is to help lower the
 real costs of evaluating, implementing, and testing performance
 optimizations. If the operations and development teams are working well
 together, it's wonderful. Some of John McKown's previous posts, for
 example, suggest he's going above and beyond in helping his colleagues in
 development. You are colleagues, or at least you're supposed to be. So, try
 to give them more actionable intelligence that's easier (read: lower
 cost) for them to act on. If it's not actionable enough yet, then see if
 you can do better. But keep in mind you cost real money, too. :-)
 Prioritization is important for both the operations and development teams.
 Also, most well-run development organizations have some sort of task
 list. The basic idea is that you can log particular recommended
 performance optimizations, especially if you have some specific insight to
 report. They may or may not get worked on right away, but if they're
 officially logged they're better documented. That could mean, for example,
 they get worked on with the next major set of application changes.

 There are many development organizations that now depend on bringing in
 contractors. When those contracts expire, it gets that much more expensive
 to bring them back. Some organizations are quite reluctant to do that
 absent a compelling enough reason. Functional correctness to the business
 always takes precedence.

 Said another way, given enough time, money, and effort EVERY highly
 talented performance expert can find ways to improve the performance of a
 real world system. There are even programming contests oriented that way.
 That reality is not actually all that interesting. What is more interesting
 is whether that hypothetical expert can do her work within a particular
 budget, productively enough in terms of real world savings to pay for her
 applied and increasingly expensive expertise. Sometimes yes, sometimes no,
 but increasingly, for better or worse, no. Whether it's mainframes or
 microwave oven microprocessors, the same general trends apply.

 Said yet another way, if you think saving one MIPS is a worthy goal in and
 of itself, you've completely lost the plot.

 Centuries ago salt used to be extremely precious. Its distributors and
 consumers went to great lengths (and expense) to make sure salt was only
 

Re: RDJFCB

2015-03-19 Thread Sam Siegel
On Thu, Mar 19, 2015 at 2:43 PM, Charles Mills charl...@mcn.org wrote:

 Neither RDJFCB nor SVC 99 Info Retrieval is perfectly simple but both are
 very workable.

 RCJFCB works just like an OPEN except instead of actually opening the DCB,
 it uses an entry in the open exit list to point to an area in which it
 stores a table that includes the dataset name and any member or G000V00. It
 does not work for HFS files. (Wrote that paragraph from memory -- don't
 shoot me if I got something wrong.)

 SVC 99 takes some work to set up but is the modern (1985?) way to do
 things. There are a number of front-ends to SVC 99 that make its use a lot
 easier from a higher-level language. It supports HFS as well as
 conventional datasets. SVC 99 is also known as DYNALLOC. It's main function
 is dynamic allocation (doing what a DD statement does, but at run time
 rather than at JCL time) but it also does de-allocation, concatenation, and
 information retrieval. It is documented, somewhat counter-intuitively, in
 the authorized assembler services guide. (It does not require authorization
 generally and the documentation is basically reference documentation, not
 guide.)


There is documentation on how to use SVC99() and DYNALLOC() in the C/C++
runtime manual.  This is useful for learning how to setup the required
structures in a C/C++ program.  With careful thought, they can be
transposed to COBOL.

The SCV99() function is the one needed to retrieve dataset name from the
DDname.  As Charles mentioned, refer to the  authorized assembler guide for
the parameter reference.


 Charles

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Scott Ford
 Sent: Thursday, March 19, 2015 1:57 PM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: RDJFCB

 All:

 I have a need to find the current dataset name of a ddname of a STC
 running. The STC is in Cobol and I would like to write the ddname query in
 Assembler. Could I do the following 

 Call xyz passing ddname
 ... Either with EXTRACT or RDJFCB find the dataset name and pass it back

 ?

 Regards,
 Scott

 --
 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: RDJFCB

2015-03-19 Thread Sam Siegel
You might want to consider doing an SVC99 query by DDNAME to get the
related dataset name.

You can invoke SVC99 from a C program using the C-runtime or directly via
assembler.

Or if you read between the lines enough, you can the c-runtime svc99
function directly from cobol with text units built in your working
storage.  This is a really good way to practice your pointers in COBOL.


On Thu, Mar 19, 2015 at 1:56 PM, Scott Ford idfzos...@gmail.com wrote:

 All:

 I have a need to find the current dataset name of a ddname of a STC
 running. The STC is in Cobol and I would like to write the ddname query in
 Assembler. Could I do the following 

 Call xyz passing ddname
 ... Either with EXTRACT or RDJFCB find the dataset name and pass it back

 ?

 Regards,
 Scott

 --
 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: Knowledgecentre versus the library server

2015-03-11 Thread Sam Siegel
I'm with you Scott ... I like to have the pdf on local disk.

On Wed, Mar 11, 2015 at 7:24 AM, Scott Ford idfzos...@gmail.com wrote:

 I would rather download the PDFs,I'm think personally, it's easier more me.

 On Wednesday, March 11, 2015, Staller, Allan allan.stal...@kbmg.com
 wrote:

  The new tools are not as available, reliable, or efficient as their
  predecessors [1].
 
  [1] In a bout of frustration I complained to a duty manager about the
  performance and availability of one of the new tools.
  I was informed that it was still the same old green screen application
 w/a
  GUI front end. It  was the front end that was causing the
  performance/availability issues, not the old tool . Score 1 for the
  PFCSK's.
 
  snip
  From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU
  javascript:;] On Behalf Of Shane Ginnane
  Sent: Tuesday, March 10, 2015 7:09 PM
  To: IBM-MAIN@LISTSERV.UA.EDU javascript:;
  Subject: Knowledgecentre versus the library server
 
  Reading Kolosu's latest admonishment to gil, I trundled through the links
  for completeness.
  The first (knowledgecentre) took minutes to load - yes *minutes*. The
  others just popped up.
 
  Another great technological leap backwards.
  /snip
 
  --
  For IBM-MAIN subscribe / signoff / archive access instructions,
  send email to lists...@listserv.ua.edu javascript:; 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: LE Question

2015-03-09 Thread Sam Siegel
Scott - You will need to pass the address of the heap variable back to
COBOL. Then use set address of to associate the address with a COBOL
linkage section entry.

You may also need to take into consideration how LE clean's up the heap.
Depending on which heap the variable is created in, the life time of that
heap may be different that what you expect.

Look in the LE programming guide (ceea2190) chapter 14 for details.

Sam

On Mon, Mar 9, 2015 at 9:08 AM, Scott Ford idfzos...@gmail.com wrote:

 I have a question about heaps. I want to have a Cobol program call a C
 routine, the C routine to place data onto the heap  then return back to
 Cobol. The question is can Cobol then reference that data ?

 Regards,
 Scott
 www.identityforge.com

 --
 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: LE Question

2015-03-09 Thread Sam Siegel
How much data?  10meg?  100meg?  1gig?
On Mar 9, 2015 2:06 PM, Scott Ford idfzos...@gmail.com wrote:

 Guys:

 I will have to read and try ..my question is how do i pass a lot of data
 ...a dataspace ? i would like to avoid dasd if I can ..

 Regards,
 Scott

 On Mon, Mar 9, 2015 at 12:29 PM, Sam Siegel s...@pscsi.net wrote:

  Scott - You will need to pass the address of the heap variable back to
  COBOL. Then use set address of to associate the address with a COBOL
  linkage section entry.
 
  You may also need to take into consideration how LE clean's up the heap.
  Depending on which heap the variable is created in, the life time of that
  heap may be different that what you expect.
 
  Look in the LE programming guide (ceea2190) chapter 14 for details.
 
  Sam
 
  On Mon, Mar 9, 2015 at 9:08 AM, Scott Ford idfzos...@gmail.com wrote:
 
   I have a question about heaps. I want to have a Cobol program call a C
   routine, the C routine to place data onto the heap  then return back to
   Cobol. The question is can Cobol then reference that data ?
  
   Regards,
   Scott
   www.identityforge.com
  
   --
   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: LE Question

2015-03-09 Thread Sam Siegel
OK ... that is a lot of data.

Since an address space provides for just 2GB in the 31 bit range for code,
data and system code, you cannot get 3GB in there.  You have the following
choices:
1) 1 or more data spaces
2) 64bit memory
3) some 31 bit data in current address space; remainder in dataspace(s)
and/or 64bit memory.

64 bit memory is the cleanest in terms of using linear addresses.  However,
if data needs to be referenced by COBOL, you will face problems.  You might
need to copy back data to 31bit address space or other means.

dataspaces cannot be directly accesses by COBOL as you need to be in AR
mode and use the proper ALETs. COBOL does not do ALETs.

If you go the 64 bit memory route.  You can create an API in c that will
retrieve data on behalf of COBOL and copy it back to 31 bit memory.

If you go the dataspace route, you can create an API in asm that will
retrieve ALET qualified data on behalf of COBOL and copy it over to
non-alet qualified memory.

Either way, i think you need an API.

On Mon, Mar 9, 2015 at 3:44 PM, Scott Ford idfzos...@gmail.com wrote:

 Sam,

 2-3 G .

 Regards,
 Scott

 On Monday, March 9, 2015, Paul Gilmartin 
 000433f07816-dmarc-requ...@listserv.ua.edu wrote:

  On Mon, 9 Mar 2015 14:18:15 -0700, Sam Siegel wrote:
 
  How much data?  10meg?  100meg?  1gig?
  
  How about 10 gig?  None of those numbers would be unreasonable
  if COBOL supported 64-bit addressing.  But IBM can't see the use
  for that.
 
  Of course if the data are large enough they go into page data sets
  anyway, but that's utterly transparent to the programmer.
 
  On Mar 9, 2015 2:06 PM, Scott Ford wrote:
  
   I will have to read and try ..my question is how do i pass a lot of
 data
   ...a dataspace ? i would like to avoid dasd if I can ..
 
  -- gil
 
  --
  For IBM-MAIN subscribe / signoff / archive access instructions,
  send email to lists...@listserv.ua.edu javascript:; 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: C++ Batch compile with includes in a USS directory

2015-02-25 Thread Sam Siegel
On Wed, Feb 25, 2015 at 9:46 AM, Chuck Arney ch...@arneycomputer.com
wrote:

 I was going through this same process a while back.  At that time I
 decided that batch compiles with the XL C/C++ compiler just don't work as
 documented.  The best you can do is find something that works and not try
 and rationalize it with what the doc says.

 One thing I remember from that exercise is that the compiler reacts
 differently in the use of the SEARCH and LSEARCH options if you first reset
 them before setting them to the value you want.  I ended up with this in my
 OPT file to get it to work:

NOSEARCH
SEARCH(/USR/LPP/CBCLIB/INCLUDE/)
NOLSEARCH
LSEARCH(/USR/LPP/CBCLIB/INCLUDE/)


Chuck's solution is exactly what i use and it works correctly.  You can
also add regular PDS files here.  Also, remember that USS paths need to be
entered in upper and lower case to exactly match the path.


 I'm not sure this was the total solution to my problems but I remember it
 made things better.

 Chuck Arney
 Arney Computer Systems
 Web: http://zosdebug.com
 Facebook: http://www.facebook.com/arneycomputer

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Donald Likens
 Sent: Wednesday, February 25, 2015 9:23 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: C++ Batch compile with includes in a USS directory

 I want to do a batch compile using procedure CBCCL with the #includes that
 are required to compile the source in /VERSYSB/usr/lpp/IHSA/V8R5/include.

 I tried pointing the SYSLIB DD to this directory. I also tried the SEARCH
 option.

 I have been successful with using the UNIX xlc command but this has other
 complications.

 Any help is appreciated.

 --
 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: Lenovo and Superfish

2015-02-20 Thread Sam Siegel
On Fri, Feb 20, 2015 at 9:40 AM, R.S. r.skoru...@bremultibank.com.pl
wrote:

 W dniu 2015-02-20 o 16:54, John McKown pisze:

 On Fri, Feb 20, 2015 at 9:39 AM, Mark Post mp...@suse.com wrote:

  On 2/20/2015 at 08:32 AM, David Crayford dcrayf...@gmail.com wrote:

 Barbarian! Macs are beautiful.

 The product may be beautiful, but the company that produces it most
 certainly is not.  Every time my wife brings up the idea of buying
 anything
 from them I tell her no.


 Mark Post

  ​Well, I personally like both Windows and Mac users. Why? Low hanging
 fruit. I don't have hackers going after my Linux set up at home so long
 as
 there are easier targets. If Linux becomes too popular, then there is
 always OpenBSD or one of the other *BSD systems.


  Good reason to use zTPF. ;-)

 BTW: Is there any (still used and supported) OS less popular than zTPF?


TPF is very popular with the companies which use it. :-)



 --
 Radoslaw Skorupka
 Lodz, Poland






 --
 Treść tej wiadomości może zawierać informacje prawnie chronione Banku
 przeznaczone wyłącznie do użytku służbowego adresata. Odbiorcą może być
 jedynie jej adresat z wyłączeniem dostępu osób trzecich. Jeżeli nie jesteś
 adresatem niniejszej wiadomości lub pracownikiem upoważnionym do jej
 przekazania adresatowi, informujemy, że jej rozpowszechnianie, kopiowanie,
 rozprowadzanie lub inne działanie o podobnym charakterze jest prawnie
 zabronione i może być karalne. Jeżeli otrzymałeś tę wiadomość omyłkowo,
 prosimy niezwłocznie zawiadomić nadawcę wysyłając odpowiedź oraz trwale
 usunąć tę wiadomość włączając 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
 authorized 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.

 mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa,
 www.mBank.pl, e-mail: kont...@mbank.pl
 Sąd Rejonowy dla m. st. Warszawy XII Wydział Gospodarczy Krajowego
 Rejestru Sądowego, nr rejestru przedsiębiorców KRS 025237, NIP:
 526-021-50-88. Według stanu na dzień 01.01.2015 r. kapitał zakładowy mBanku
 S.A. (w całości wpłacony) wynosi 168.840.228 złotych.


 --
 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: Strange C runtime library behavior

2015-02-15 Thread Sam Siegel
On Sun, Feb 15, 2015 at 9:55 AM, Ze'ev Atlas 
004b34e7c98a-dmarc-requ...@listserv.ua.edu wrote:

 Hi allI am trying to create a common interface between COBOL and the
 runtime C library, especially the RegEx related functions.
 The regex.h header file indicates that the regmatch_t structure consists
 of two long variables (i.e. two pic s9(18) comp-5.).  This structure is
 used as an element of an array of such elements for however reasonable
 amount needed.When I call the regexec function, it looks like the program
 returns as the first component of the first element only int (i.e. PIC
 s9(9) COMP-5.).  All other components of that element and subsequent ones
 are correct.
 For example, I was supposed to get (0,15),(8,2)so I get
   000F
 0002  0008
 instead of
   000F
 0002  0008
 Does anybody have a clue about why do I get such a bizarre behavior.
Ze'ev Atlas



I'm sure you have already looked at these.  In case you have not, double
check them.

Is nmatch set to 0 or REG_NOSUB in the call to regcomp()?  If yes, then
pmatch is undefined.

EREG_NOSUB also influences array returned in pmatch.

regmatch_t also has an alternate structure which contains shift state
information.




 --
 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: Debug tool from whitin a program

2015-02-09 Thread Sam Siegel
ctest(); must use langlvl(extended)
__ctest();  langlvl(extended) not required.

include ctest.h

You can pass a debugger command as a character string as the parm.

On Mon, Feb 9, 2015 at 2:06 PM, michelbutz michealb...@comcast.net wrote:

 Hi

 Is there a way to invoke debug tool from within  a
 Non le assembler program

 Thanks

 Sent from my iPhone

 --
 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: Debug tool from whitin a program

2015-02-09 Thread Sam Siegel
Sorry about that.  Look in the debug tool users guide for EQANMDBG.  That
might do what you want.  No completely sure.

On Mon, Feb 9, 2015 at 2:26 PM, michelbutz michealb...@comcast.net wrote:

 That syntax is C/C++ I was looking for non le assembler

 Sent from my iPhone

  On Feb 9, 2015, at 5:17 PM, Sam Siegel s...@pscsi.net wrote:
 
  ctest(); must use langlvl(extended)
  __ctest();  langlvl(extended) not required.
 
  include ctest.h
 
  You can pass a debugger command as a character string as the parm.
 
  On Mon, Feb 9, 2015 at 2:06 PM, michelbutz michealb...@comcast.net
 wrote:
 
  Hi
 
  Is there a way to invoke debug tool from within  a
  Non le assembler program
 
  Thanks
 
  Sent from my iPhone
 
  --
  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: Other COBOL upgrades that might be worth having resend with actual posting was Re: Compile COBOL Programs In 64 Bit.

2015-02-08 Thread Sam Siegel
On Sun, Feb 8, 2015 at 5:00 PM, Clark Morris cfmpub...@ns.sympatico.ca
wrote:

 On 14 Jan 2015 16:57:26 -0800, in bit.listserv.ibm-main you wrote:
 OOPs, the previous response got sent too soon.

 snip.  If I
 knew more about some of the newer languages, I might be able to make a
 good case for IBM effort being directed to converting COBOL programs
 to one or more of them.  If COBOL still is the best and simplest way
 to handle business problems, then much of the 2002 standard should be
 adopted.  I would take advantage of the new EXIT statements in COBOL
 5.1 or 5.2 and do appreciate seeing them.


In COBOL 5.2 the EXIT statement is significantly more useful.

Exit statement enhancements includes;
EXIT SECTION leaves current section
EXIT PARAGRAPH leaves current paragraph
EXIT PERFORM leaves an inline PERFORM block (similar to LEAVE in PL/I and
break in C)
EXIT PERFORM CYCLE skips the remainder of the current iteration of an
inline PERFORM block (similar to ITERATE in PL/I and continue in C)

The exit perform and exit perform cycle eliminate the need to use different
unstructured techniques, setting flags or indexes/subscripts.  Our
application group has requested the next upgrade use COBOL 5.2 instead of
5.1 to get these features sooner.




 Clark Morris

 
 Cheers,
 TomR   COBOL is the Language of the Future! 
 
 --
 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: Anthem Healthcare Hacked

2015-02-07 Thread Sam Siegel
According to Anthem's website, it was formed by the merger of Wellpoint and
Anthem.

According to http://mainframes.wikidot.com/, Wellpoint is a mainframe shop.

Hopefully as additional details will become available.  It seems, that
unless you are in the know, which I'm not, that facts are in short supply
and further, talking heads have taken  a license to say what they please.

Like others on this list, I'm also negatively affected by this.

On Sat, Feb 7, 2015 at 8:09 PM, Jake anderson justmainfra...@gmail.com
wrote:

 One of an article says the hack assumingly happened from an external Web
 storage.

 So not a mainframe ?

 Jake
 On 8 Feb 2015 08:31, Timothy Sipples sipp...@sg.ibm.com wrote:

  Tom Brennan writes:
  Maybe someone can tell me what difference it makes whether the data was
  encrypted on disk or not (as some news reports are talking about).  I
  mean, if I do a SELECT * from an admin id I must be going through the
  decrypt process, right?
 
  No, that's not a given. Many financial transaction systems -- handling
  credit and debit cards, for example -- store sensitive information using
  various hash functions. (The new IBM z13 includes a new format-preserving
  encryption standard that's quite handy.) There's also the fact
  administrative IDs typically shouldn't be allowed to do SELECT * -- and
  then SELECT * isn't actually SELECT-the-entire-database when you're using
  MLS. In a reasonably well run shop (or better) DB2 DBAs don't actually
 get
  end user data access authority. I can't remember what version of DB2
  introduced the more strict role-based separation, but I think it was at
  least as far back as DB2 Version 8.
 
  I'm assuming customers use IBM mainframes and use these wonderful
  capabilities (and others) IBM provides. Big assumptions, sadly violated
 too
  often.
 
 
 
 
  Timothy Sipples
  IT Architect Executive, Industry Solutions, IBM z Systems, AP/GCG/MEA
  E-Mail: sipp...@sg.ibm.com
  --
  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: Top-Secret

2015-01-31 Thread Sam Siegel
Scott - If TSS program is normally called via JCL with PARM=, then you
would need to do the following:
1) build parm in working storage.  Binary halfword immediately followed by
data.
2) Data can be from 0 to 100 bytes in length.
3) length of data, not including length of halfword, is placed in halfword.
4) define an adcon which will have address of halfword
5) set r1 with address of adcon
6) ensure that all required DDs have been appropriately allocated
7) issue LINK EP=
8) Check R15 for return code.

Sam

On Sat, Jan 31, 2015 at 11:51 AM, Scott Ford 
0006f84450fa-dmarc-requ...@listserv.ua.edu wrote:

 All:


 I am looking for documentation on how to issue either a ‘CALL’  in Cobol
 or Assembler or a LINK EP= in assembler to TSS module.

 I can submit a batch ( from a running STC ) and it works find , but I
 would like to perform an internal call of some sort to make our life easier.


 All opinions and/or comments much appreciated




 Regards,

 Scott Ford

 www.idmworks.com

 --
 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: Top-Secret

2015-01-31 Thread Sam Siegel
Gil - Thanks for pointing that out.

Sam

On Sat, Jan 31, 2015 at 2:07 PM, Paul Gilmartin 
000433f07816-dmarc-requ...@listserv.ua.edu wrote:

 On Sat, 31 Jan 2015 12:17:07 -0800, Sam Siegel wrote:
 ...
 6) ensure that all required DDs have been appropriately allocated
 
 If this results in DDNAME conflicts with calling program, some utilities
 allow you to circumvent this with alternate DDNAME list described in
 Utilities Reference.

 -- 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: OT: Friday joke :-)

2015-01-25 Thread Sam Siegel
On Jan 25, 2015 3:27 AM, Aled Hughes 
0050619ca8df-dmarc-requ...@listserv.ua.edu wrote:

 Oh come on everybody. Lighten up - it's only a game after

:-)


 *Ducks*

 ALH







 -Original Message-
 From: Linda linda.lst...@comcast.net
 To: IBM-MAIN IBM-MAIN@LISTSERV.UA.EDU
 Sent: Sun, 25 Jan 2015 2:36
 Subject: Re: OT: Friday joke :-)


 Almost. At the point in time you describe, it would be a FULLY inflated
ball.

 Linda

 Sent from my iPhone

  On Jan 24, 2015, at 5:25 PM, Brian Westerman 
brian_wester...@syzygyinc.com
 wrote:
 
  So I guess we can assume that you are supposed to inflate the ball to
the
 point where it bursts, then go back in time to the point just before the
 bursting and you have an inflated ball?
 
  Brian
 
  --
  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: OT: Friday joke :-)

2015-01-23 Thread Sam Siegel
The question of the day is, were the balls fully inflated our not?
On Jan 23, 2015 6:28 AM, Duffy Nightingale, SS du...@soundsoftware.us
wrote:

 Good one!  Thanks.

 Duffy Nightingale

  On Jan 23, 2015, at 4:32 AM, George Rodriguez 
 george.rodrig...@palmbeachschools.org wrote:
 
  lol... Very funny... Thanks for stating my Friday morning with a smile!
 
 
  *George Rodriguez*
  *Specialist II - IT Solutions*
  *IT Enterprise Applications*
  *PX - 47652*
  *(561) 357-7652 (office)*
  *(561) 707-3496 (mobile)*
  *School District of Palm Beach County*
  *3348 Forest Hill Blvd.*
  *Room B-251*
  *West Palm Beach, FL. 33406-5869*
  *Florida's Only A-Rated Urban District For Eight Consecutive Years*
 
  On Fri, Jan 23, 2015 at 7:09 AM, Elardus Engelbrecht 
  elardus.engelbre...@sita.co.za wrote:
 
  A pilot has to take about 20 crazy guys from Seattle to New York.
 
  Yes, you guessed correctly, they're micro$oft programmers.
 
  He is worried that they will cause trouble, so he asked an IBM engineer
 to
  watch them in the plane.
 
  After a few minutes the plane is shaking heavily. Up, down, banking left
  and right, etc.
 
  He asked his co-pilot to take over and rushed back.
 
  Hey, engineer! what are they doing?
 
  Oh, they're playing rugby.
 
  Just stop them please!
 
  The plane flew without problems and the pilot is getting worried that it
  is very silent back.
 
  He handed the plane to his co-pilot and went back.
 
  Engineer? Where are those programmers?
 
  Oh, I asked them to play outside!
 
  :-D
 
  Groete / Greetings
  Elardus Engelbrecht
 
  --
  For IBM-MAIN subscribe / signoff / archive access instructions,
  send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
 
  --
 
 
  *Disclaimer: *Under Florida law, e-mail addresses are public records. If
  you do not want your e-mail address released in response to a public
  records request, do not send electronic mail to this entity. Instead,
  contact this office by phone or in writing.
 
 
  --
  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: OT: Friday joke :-)

2015-01-23 Thread Sam Siegel
On Fri, Jan 23, 2015 at 6:53 AM, Chase, John jch...@ussco.com wrote:

  -Original Message-
  From: IBM Mainframe Discussion List On Behalf Of Sam Siegel
 
  The question of the day is, were the balls fully inflated our not?

 Precisely define fully inflated.  Dig me up when everybody's satisfied
 with your definition.  :-)


Yes ... that is a good question.  I'm sure we will all be enlightened at
the appropriate time when the lawyer are done arguing the point. ;-)




 -jc-


  On Jan 23, 2015 6:28 AM, Duffy Nightingale, SS du...@soundsoftware.us
 
  wrote:
 
   Good one!  Thanks.
  
   Duffy Nightingale
  
On Jan 23, 2015, at 4:32 AM, George Rodriguez 
   george.rodrig...@palmbeachschools.org wrote:
   
lol... Very funny... Thanks for stating my Friday morning with a
 smile!
   
   
*George Rodriguez*
*Specialist II - IT Solutions*
*IT Enterprise Applications*
*PX - 47652*
*(561) 357-7652 (office)*
*(561) 707-3496 (mobile)*
*School District of Palm Beach County*
*3348 Forest Hill Blvd.*
*Room B-251*
*West Palm Beach, FL. 33406-5869*
*Florida's Only A-Rated Urban District For Eight Consecutive Years*
   
On Fri, Jan 23, 2015 at 7:09 AM, Elardus Engelbrecht 
elardus.engelbre...@sita.co.za wrote:
   
A pilot has to take about 20 crazy guys from Seattle to New York.
   
Yes, you guessed correctly, they're micro$oft programmers.
   
He is worried that they will cause trouble, so he asked an IBM
engineer
   to
watch them in the plane.
   
After a few minutes the plane is shaking heavily. Up, down, banking
left and right, etc.
   
He asked his co-pilot to take over and rushed back.
   
Hey, engineer! what are they doing?
   
Oh, they're playing rugby.
   
Just stop them please!
   
The plane flew without problems and the pilot is getting worried
that it is very silent back.
   
He handed the plane to his co-pilot and went back.
   
Engineer? Where are those programmers?
   
Oh, I asked them to play outside!
   
:-D
   
Groete / Greetings
Elardus Engelbrecht
   
---
--- For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO
IBM-MAIN
   
--
   
   
*Disclaimer: *Under Florida law, e-mail addresses are public
records. If you do not want your e-mail address released in response
to a public records request, do not send electronic mail to this
entity. Instead, contact this office by phone or in writing.
   
   

-- 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

 **
 Information contained in this e-mail message and in any attachments
 thereto is confidential. If you are not the intended recipient, please
 destroy this message, delete any copies held on your systems, notify the
 sender immediately, and refrain from using or disclosing all or any part of
 its content to any other person.


 --
 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’s reorg-from-Hell launches next week - Cringely

2015-01-23 Thread Sam Siegel
On Fri, Jan 23, 2015 at 7:53 AM, Mullen, Patrick patrick.mul...@gwl.ca
wrote:

 Let us hope that none of our IBM friends and colleagues on this list are
 included in the alleged 26%.


Agreed!



 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of imugzach
 Sent: Friday, January 23, 2015 9:35 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: השב: IBM’s reorg-from-Hell launches next week - Cringely

 Run before thimoty will get you!

 ITschak




 Sent from Galaxy Tab 2Mark Regan 
 006f01c0dca1-dmarc-requ...@listserv.ua.edu כתב:
 http://www.cringely.com/2015/01/22/ibms-reorg-hell-launches-next-week/

 Thanks,
 Mark Regan, USNR-Ret, 1969-1991
 

 --
 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: In C++ any way to get traceback info in a catch()?

2015-01-22 Thread Sam Siegel
On Jan 22, 2015 4:53 PM, Charles Mills charl...@mcn.org wrote:

 Ah, thanks. I keep forgetting that. Oddly named manual, IMHO.

 Anyway, I don't think I have a CIB. I think this condition is totally
internal to C++ -- not an LE condition.

Please take at least a quick look at the le manuals.   As you know the
c/c++ stack is implemented on top of le.

Also le implements a full set of try/catch semantic that work across le
enabled languages.   The c/c++ try/catch may be built on top of that.



 Charles

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Sam Siegel
 Sent: Thursday, January 22, 2015 3:52 PM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: In C++ any way to get traceback info in a catch()?

 On Jan 22, 2015 3:26 PM, Charles Mills charl...@mcn.org wrote:
 
  Don, thanks. To clarify, there is no ABEND type condition. The
  exception
 in
  questions is out of storage -- bad_alloc.
 
  Where is machine block documented or defined? cib_machine is a void*.
 

 Look in LE vendor interface manual for all of the LE control blocks.

 --
 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: In C++ any way to get traceback info in a catch()?

2015-01-22 Thread Sam Siegel
On Jan 22, 2015 3:26 PM, Charles Mills charl...@mcn.org wrote:

 Don, thanks. To clarify, there is no ABEND type condition. The exception
in
 questions is out of storage -- bad_alloc.

 Where is machine block documented or defined? cib_machine is a void*.


Look in LE vendor interface manual for all of the LE control blocks.

 Charles

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Don Poitras
 Sent: Thursday, January 22, 2015 12:45 PM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: In C++ any way to get traceback info in a catch()?

 The C header has all that.

 cib_machine from the __cib structure is the pointer to the machine block.
 __mch has the psw, regs and bear at the time of abend. This all assumes
you
 are running TRAP(ON).


 In article 54c1508e.3050...@t-online.de you wrote:
  Hello Charles,

  I hope that I am not directing you in the wrong direction ... that is:
  I hope that the CIB that you see contains the information that you need.

  What we did at the recent site that I worked: we had a LE exit that
  got control at all exceptions - no matter what kind - and did all the
  error diagnosis and error reporting, instead of CEEDUMP etc; that's
  because we needed a special kind of reporting, which included some
  very important site specific informations. I did this in 2005 ca., and
  it worked not only with this LE exit and CIBs, but also with normal
  SPIE/STAE and EPIEs and other sorts of error interfaces (SDWAs) and
  interfaces from home grown tools.

  To use the CEECIB, we used the mapping macro CEECIB.

  We used for example these fields in CEECIB:

MVC   ERRCOD(4),CIB_ABCD
MVC   ERRCOD+4(4),CIB_ABRC
MVC   ERRCIB,CIB_COND
MVC   ERRCIBA,CIB_OLD_COND
L R3,CIB_MACHINE
  --- 738 line(s) not displayed 
AVPUTH 'CIB_BACK  ',CIB_BACK
AVPUTH 'CIB_FWRD  ',CIB_FWRD
AVPUTH 'CIB_COND  ',CIB_COND
AVPUTH 'CIB_OLD_C ',CIB_OLD_COND
AVPUTH 'CIB_ABCD  ',CIB_ABCD
AVPUTH 'CIB_ABRC  ',CIB_ABRC
AVPUTC 'CIB_ABNAME',CIB_ABNAME
AVPUTH 'CIB_SV1   ',CIB_SV1
AVPUTH 'CIB_SV2   ',CIB_SV2
AVPUTH 'CIB_MID   ',CIB_MID
AVPUTH 'CIB_RTCC  ',CIB_RTCC

  at the position CIB_MACHINE, a structure with the same layout as EPIE
  is recorded, so you get the PSW at the time of error and the contents
  of the registers.

   From the PSW and the registers, you are able to compute the entry
  point of the current function and the name of the function and all the
  other information in the traceback ... that's what I did in my error
  diagnosing routine.
  Register 13
  is the pointer to the current DSA (= stack frame). I'm doing classes
  from time to time on these topics (dump diagnosis etc.), where all
  this is covered.

  Normally, you are not able to tell the source line of the error; only
  the offsets relative to the EPA of the function or to the load point
  of the module.
  To tell the
  source line, the load module must contain a table for the translation
  of the offsets into source line numbers (in PL/1: compile option
  GONUMBER). Our error diagnosis doesn't do that; it only tells the
  name of the procedure or function and the two offsets; but that is
  sufficient for the developers.

  If you need more information, feel free to contact me offline.

  Kind regards

  Bernd



  Am 22.01.2015 um 19:48 schrieb Charles Mills:
   Bernd -
  
   Thanks much!
  
   Really. :-)
  
   Yes, I did not mention it, but when I catch conditions (in a generic
   sense of the word) in a signal handler then CEE3DMP shows the real
error
 location.
   You can return from a signal handler so the stack is preserved. It
   appears the stack is unwound on a catch() -- from which there is no
   return (to the point of failure).
  
   That is encouraging news on the CIB -- implies that a CIB may be
   created on a C++ exception that leads to a catch().
  
   Is the CIB documented anywhere? All I have found are the leawi.h
   header and a couple of fields documented in the LE P/G.
  
   What fields do you find useful? Is there anything close to the line
   number and function or module name for the error?
  
   Charles
  
   -Original Message-
   From: IBM Mainframe Discussion List
   [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Bernd Oppolzer
   Sent: Thursday, January 22, 2015 10:28 AM
   To: IBM-MAIN@LISTSERV.UA.EDU
   Subject: Re: In C++ any way to get traceback info in a catch()?
  
   Am 22.01.2015 um 18:13 schrieb Charles Mills:
   I am catching a bad_alloc exception in a catch() block. I call
   CEE3DMP but the stack has been unwound
   Really?
  
   If I have a similar situation for example with PL/1, where an
   exception is caught by a PL/1 ON ERROR UNIT, I get a traceback which
 looks like that:
  
   CEEDUMP  called by
   ON ERROR unit  

Re: In C++ any way to get traceback info in a catch()?

2015-01-22 Thread Sam Siegel
ceecib is documented in LE vendor interface manual

On Thu, Jan 22, 2015 at 10:48 AM, Charles Mills charl...@mcn.org wrote:

 Bernd -

 Thanks much!

 Really. :-)

 Yes, I did not mention it, but when I catch conditions (in a generic sense
 of the word) in a signal handler then CEE3DMP shows the real error
 location.
 You can return from a signal handler so the stack is preserved. It appears
 the stack is unwound on a catch() -- from which there is no return (to the
 point of failure).

 That is encouraging news on the CIB -- implies that a CIB may be created on
 a C++ exception that leads to a catch().

 Is the CIB documented anywhere? All I have found are the leawi.h header and
 a couple of fields documented in the LE P/G.

 What fields do you find useful? Is there anything close to the line number
 and function or module name for the error?

 Charles

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Bernd Oppolzer
 Sent: Thursday, January 22, 2015 10:28 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: In C++ any way to get traceback info in a catch()?

 Am 22.01.2015 um 18:13 schrieb Charles Mills:
  I am catching a bad_alloc exception in a catch() block. I call CEE3DMP
  but the stack has been unwound

 Really?

 If I have a similar situation for example with PL/1, where an exception is
 caught by a PL/1 ON ERROR UNIT, I get a traceback which looks like that:

 CEEDUMP  called by
 ON ERROR unit  called by
 some LE error handling stuff  called by
 the routine getting the exception (with the CIB)  called by
 PL/1 main (for example)  called by
 LE initialization stuff.

 that is, the stack at the time of the ON ERROR unit still contains the
 routine with the exception. So I have no problem seeing the routine that
 caused the error.
 I guess: signal handling in C will do the same.

 Is the try/catch logic in C++ that different?

 --
 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: Overlaid VCON in load module

2015-01-21 Thread Sam Siegel
Gary - I have an idea of what is occurring, but some additional info is
needed.

1) Does this only happen on second and subsequent load?
2) What attributes (rent, reus, etc.) are present on the load module?
3) is this under CICS?  Or a proprietary multitasking region?
4) Is code all ASM?  Or is there an HLL in the mix?
5) was the module recently changed?  or is it a new module?


Sam


On Wed, Jan 21, 2015 at 7:26 AM, Gary Weinhold weinh...@dkl.com wrote:

 We have a situation where it appears that a LOAD of a module may not be
 resolving a VCON correctly.  The first requirement for this module in a
 region will cause us to issue a LOAD for the module.  In a multitasking
 environment we know that our code could be running on two TCBs
 simultaneously, but I don't see anything in the manuals to indicate that we
 have to prevent LOAD from running at the same time.

 From what we can see the address that ends up in the VCON is the
 displacement from the beginning of the module (the value presumably placed
 their by the binder) plus twice the load point.  Has anyone seen this
 happen before?  Is there an undocumented requirement to single thread
 multiple LOADs for the same module within a region?

 Gary Weinhold
 Data Kinetics, Ltd.

 --
 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 Launches the z13 Mainframe

2015-01-15 Thread Sam Siegel
On Thu, Jan 15, 2015 at 6:27 AM, Elardus Engelbrecht 
elardus.engelbre...@sita.co.za wrote:

 Tom Marchant wrote:

 Can I get z/OS messages to be issued in Unicode?

 And having Bookmanager bookies written in all those codepages?

 I could probably ask many more questions like these.
 Unless the answer to all of these is yes, your absolutely no
 requirement to use is false.

 True.


 Paul Gilmartin wrote:

 I'm waiting for Timothy's answer and apologia.

 Or try test TRT for packed / unpacked values. Just remember ASCII numbers
 (packed) are in hex x'30 - x'3F' and EBCDIC are in x'F0' - x'F9'.

 And even there I see biases in string constants coded in programs.
 HLASM has EBCDIC self-defining terms, but not ASCII self-defining terms.

 So I see it too after RTFM. Good catch.


 IEBGENER can probably deal with Unicode data set content, but not Unicode
 data set names.

 or try: OCOPY '/SYSTEM/tmp/blahblah.txt'   HLQ.DSN.NAME

 where you specify your folders/filename in Unicode.

 I will not go on, especially if you add FTP (transfers *with* translation
 from codepages) in this fray...

 Groete / Greetings
 Elardus Engelbrecht

 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


At the hardware level PACK ASCII and UNPACK ASCII are needed because PACK
and UNPACK convert from and to EBCDIC.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Enumerating User IDs (was: CANCEL TSO Logon?)

2015-01-05 Thread Sam Siegel
On Mon, Jan 5, 2015 at 8:57 AM, Tony's Basement Computer 
tbabo...@comcast.net wrote:

 Back years ago I worked at a Top Secret shop.  That product wrote a
 console message when a log on attempt has occurred that specified an
 unknown user.  Sadly, what was usually seen was a password.  It's been
 years since I was in that business so I don't know if that display is a
 configurable option.

 Sidebar:  I watched video and I found it dismaying.  The presenter spoke
 in demeaning tone of the traditional terminology to which we are all
 familiar which I found insulting.  I felt he acted proud that *his*
 technology was superior because *his* terms are more current, thus
 better. I felt he made some assumptions in his presentation that would lead
 the uninitiated to believe that these exposures exist in all cases and in
 all environments. Stipulating that a deficiently configured z/OS-RACF (or
 TS or ACF2) shop could present these opportunities, I feel he should have
 made this disclaimer at the outset.  Had he done so I might have taken him
 more seriously.


Agreed.  What I found interesting was that the vulnerabilities presented
all related to the Unix side and add-ons related to the web world.  I think
the only exception to this was the comments related to job submission
related to FTP.

In the presentation, I did not see (perhaps i missed it) was how to obtain
root (special) access to a z/OS system.  All of the thing presented seemed
to assume you were dealing with a logon id which already had considerable
capabilities.


 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Charles Mills
 Sent: Monday, January 05, 2015 10:35 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: Enumerating User IDs (was: CANCEL TSO Logon?)

  SMF and console messages to record logon/authentication failures.
  These could be intercepted in real time to alert someone of unusual
  probing while it is occurring

 Yup! Come to either of my sessions at SHARE to learn about how to do that
 (albeit with one of several commercial products).

 Unfortunately I know of no way to intercept in real time the invalid
 userid at its initial usage and possible validation as opposed to when it
 is actually used for a logon with password.

 Charles

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Joel Ewing
 Sent: Monday, January 05, 2015 8:18 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: Enumerating User IDs (was: CANCEL TSO Logon?)

 On 01/05/2015 09:35 AM, Paul Gilmartin wrote:
  On Mon, 5 Jan 2015 07:21:28 -0800, Charles Mills wrote:
 
  For TSO, you can probe for known user ids, but you will see a lot of
 LOGON and IEA989I message in the SYSLOG.
 
  Only if you set a specific SLIP trap for this condition.
 
  In the video cited:
 
  On Jan 2, 2015, at 3:31 PM, Mark Regan wrote:
 
  Black Hat 2013 - Mainframes: The Past Will Come to Haunt You, by a
  Philip Young and it's about an hour long.
 
  http://youtu.be/uL65zWrofvk
 
  ... the speaker opined that such probing is less likely to be detected
  by Security than by Operations as a spike in CPU usage.
 
  -- gil
 
 RACF uses SMF and console messages to record logon/authentication
 failures.  These could be intercepted in real time to alert someone of
 unusual probing while it is occurring.  We used independent review of daily
 summary reports generated from RACF SMF records to verify that such probing
 had not occurred, just the typical typos and forgotten passwords from
 terminals within the corporation.  With our normal system workload, someone
 would have been more likely to notice a flood of unusual console messages
 than see any noticeable impact on CPU.

 --
 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: mainframe tribute song

2015-01-02 Thread Sam Siegel
Brilliant.  Thanks for sending it out.

On Fri, Jan 2, 2015 at 9:35 AM, Pedro Vera pe...@us.ibm.com wrote:

 Earlier this year, they had a talent show at work.  I foolishly
 volunteered to sing.

 Please enjoy my mainframe tribute song!
 https://www.youtube.com/watch?v=nQ__nvHJGLA

 --
 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: mainframe tribute song

2015-01-02 Thread Sam Siegel
Thanks!

On Fri, Jan 2, 2015 at 12:46 PM, Ed Finnell 
000248cce9f3-dmarc-requ...@listserv.ua.edu wrote:

 http://www.mxg.com/thebuttonman/boney.asp


 In a message dated 1/2/2015 11:54:31 A.M. Central Standard Time,
 s...@pscsi.net writes:

 Brilliant.  Thanks for sending it  out.



 --
 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: COBOL IGZBRDGE

2014-12-16 Thread Sam Siegel
relinking does not change calling program.  This has the potential to
reduce testing effort.

On Tue, Dec 16, 2014 at 9:38 AM, Frank Swarbrick 
002782105f5c-dmarc-requ...@listserv.ua.edu wrote:

 Thanks.I still have to wonder why anyone would use that instead of just
 recompiling with DYNAM.  With IGZBRDGE you still have to re-link, so why
 not recompile as well?  Ah well, water way under the bridge I guess!
 Frank
  From: Bob Rutledge deerh...@ix.netcom.com
  To: IBM-MAIN@LISTSERV.UA.EDU
  Sent: Monday, December 15, 2014 8:51 PM
  Subject: Re: COBOL IGZBRDGE

 Frank Swarbrick wrote:
  We got an interesting note from one of our vendors.  They are using the
 IGZEBRG module (which I guess is invoked from the IGZBRDGE macro, though
 they don't seem to actually use the macro itself) for dynamic calls and are
 going to have to make invasive changes in order to get around the fact
 that this is not supported in COBOL 5.
  We never used this feature in our own internal programs.  Where can I
 find out more about how it worked and what the migration path away from it
 is/was?  I can't seem to find much about it on the internet.  I assume
 that's because it's really a COBOL II feature.
 From what I can tell by looking at the macro (in CEE.SCEEMAC) and its
 resulting usage it looks like its used to create an object module with
 entry points for any routine where you want to use a static call and yet
 have the actual modules called/loaded dynamically.  I am curious about the
 history behind it.  Why would this have been used instead of just
 specifying the COBOL DYNAM option so that a call literal does a dynamic
 call instead of a static call?
  Not that it matters in the end; I'm just wondering about its history.
 And I'm wondering how long ago this vendor should have stopped using it.
 :-)

 Start here:


 http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves/IGYSH007?SEARCHREQUEST=cobol+iiTYPE=FUZZYRANK=RANKSEARCHTOPIC=TOPICSEARCHTEXT=TEXTSEARCHINDEX=INDEXCASE=alcse913

 It's described in the APG for MVS  CMS.

 Bob



 --
 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: 64bit

2014-10-17 Thread Sam Siegel
I was interpreting Scott's question as how can above-the-bar memory be used
directly by COBOL.



On Fri, Oct 17, 2014 at 5:06 AM, Peter Relson rel...@us.ibm.com wrote:

 Perhaps I misunderstood the problem.

 Whether called by the system, Cobol, or anything else, an HLASM routine
 can get any storage that its authorization allows it to. That includes
 storage below the bar, above the bar, and in data spaces. The routine can
 switch in and out of any AMODE that its RMODE allows (e.g., an RMODE 31
 program better not SAM24).

 The caller needs to provide parameters in the form that the HLASM routine
 wants (or conversely the HLASM routine needs to accommodate the parameters
 that the caller provides; this is probably the easier approach).

 If you need the calling routine to then be able to deal with the storage
 above 2G, that's a different matter entirely.

 Peter Relson
 z/OS Core Technology Design

 --
 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: 64bit

2014-10-16 Thread Sam Siegel
Scott - I think that only enterprise cobol 5.x support 64 bit natively.

Sam

On Thu, Oct 16, 2014 at 7:17 AM, Scott Ford 
0006f84450fa-dmarc-requ...@listserv.ua.edu wrote:

 All,
 I have a generalized design question. First background will help. Our
 products run as Enterprise Cobol STC, no multi-tasking, yet. We call hlasm
 subroutines. I would like to use 64bit storage for some functions from
 Cobol. Is this feasible. I think it is, where I am unclear is the call and
 binder parameters. Do I have to do anything special parameter wise ?

 Thanks as always,

 Regards,

 Scott ford
 www.identityforge.com - www.idmworks.com
 from my IPAD

 --
 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 quietly terminate not detached subtask

2014-10-16 Thread Sam Siegel
Hi Victor - Look at the EXTR parameter in the ATTACH(X) documentation.
This end-of-task exist gets control on normal and abnormal end-of-task.

You can issue the DETACH macro from within this exit.

Sam

On Thu, Oct 16, 2014 at 11:00 AM, Victor Gil victor@broadridge.com
wrote:

 Hi everyone,

 Working on a general purpose callable subroutine to connect to a remote
 DB2 subsystem and return values back to the caller.

 Since the caller may [and WILL] have established its own DB2 connection to
 a local DB2 subsystem, possibly with some cursors open and DB2 locks
 acquired, the subroutine must run under a different TCB.

 I have no problems attaching a subtask on a first call and connecting from
 it to a remote subsystem, but I cannot force the caller [because this would
 mean massive change to the existing source code] to also call me with the
 end-of-job request, so that I can properly detach the subtask.

 And if it is not detached the main task will surely get abended. [By the
 way - can't this get trapped by an ESTAE(X) and converted into RC=0?]

 Given the above scenario - does anyone have a suggestion on how to quietly
 terminate both tasks without the detach?  Or maybe a suggestion on ANOTHER
 way of implementing the required functionality?

 Many thanks in advance!
 -Victor 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: COBOL LINK without Assembler?

2014-09-22 Thread Sam Siegel
To obtain the address of an XPLINK C/C++ routine which can be called from a
NON-XPLINK program, look at the fetch() function in the C/C++ run time
library reference.

When calling fetch() from COBOL, the COBOL code will have to use the
RETURNING facility of the CALL statement to get the address of the C/C++
program.  The variable populated by RETURNING facility will need to be a
FUNCTION POINTER or a redefinition of a FUNCTION POINTER.

The COBOL code will then need to call the returned program via the
FUNCTION POINTER variable.  See COBOL language reference and COBOL program
guide for additional details.


On Mon, Sep 22, 2014 at 6:24 AM, Kirk Wolf k...@dovetail.com wrote:

 We have a batch utility program that is built in C that uses the XPLINK
 version of the C runtime.A customer would like to dynamically call
 this from COBOL, but of course the LE runtimes are not compatible:

 IGZ0179S A dynamic call to COZBATCH failed because the load module contains
 one
  or more routines with XPLINK linkage.


 Is it possible to do the equivalent of a Assembler LINK (separate RB and
 LE runtime environment) from COBOL without writing an Assembler stub
 routine?

 Thanks,

 Kirk Wolf
 Dovetailed Technologies
 http://dovetail.com

 --
 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: COBOL LINK without Assembler?

2014-09-22 Thread Sam Siegel
Let me know if it works.

On Mon, Sep 22, 2014 at 12:14 PM, Kirk Wolf k...@dovetail.com wrote:

 Sam,

 This is a really good suggestion I have used fetch() from non-XPLINK C
 before to call XPLINK C in a separate enclave, so I know that that works.
 It may be more COBOL than I can handle, though... :-)

 Kirk Wolf
 Dovetailed Technologies
 http://dovetail.com

 On Mon, Sep 22, 2014 at 10:32 AM, Sam Siegel s...@pscsi.net wrote:

  To obtain the address of an XPLINK C/C++ routine which can be called
 from a
  NON-XPLINK program, look at the fetch() function in the C/C++ run time
  library reference.
 
  When calling fetch() from COBOL, the COBOL code will have to use the
  RETURNING facility of the CALL statement to get the address of the C/C++
  program.  The variable populated by RETURNING facility will need to be a
  FUNCTION POINTER or a redefinition of a FUNCTION POINTER.
 
  The COBOL code will then need to call the returned program via the
  FUNCTION POINTER variable.  See COBOL language reference and COBOL
 program
  guide for additional details.
 
 
  On Mon, Sep 22, 2014 at 6:24 AM, Kirk Wolf k...@dovetail.com wrote:
 
   We have a batch utility program that is built in C that uses the XPLINK
   version of the C runtime.A customer would like to dynamically
 call
   this from COBOL, but of course the LE runtimes are not compatible:
  
   IGZ0179S A dynamic call to COZBATCH failed because the load module
  contains
   one
or more routines with XPLINK linkage.
  
  
   Is it possible to do the equivalent of a Assembler LINK (separate RB
  and
   LE runtime environment) from COBOL without writing an Assembler stub
   routine?
  
   Thanks,
  
   Kirk Wolf
   Dovetailed Technologies
   http://dovetail.com
  
   --
   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: Dynalloc with FREE=CLOSE,SPIN=UNALLOC

2014-09-05 Thread Sam Siegel
Look at the assembler service guide.   Dynalloc () is just a wrapper which
calls svc99.
On Sep 5, 2014 6:55 PM, Janet Graff 
004dc9e91b6d-dmarc-requ...@listserv.ua.edu wrote:

 I have a Started Task with a log file.  I'd like to SPIN off the log files
 from my C program and allow the users to delete them when there is too much
 spool output or the log file is no longer needed.

 The C program is calling dynalloc() to allocate the file but I don't see
 any flags for SPIN=UNALLOC.  I am currently using
 ip.__misc_flags = __RELEASE  __CONTIG  __CLOSE;
 but that leaves the DD associated with the running step and not
 purgable/deletable.

 Does anyone know whether dynalloc() supports FREE=CLOSE,SPIN=UNALLOC?

 Janet Graff

 --
 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: DF/SORT question (challenge?)

2014-08-20 Thread Sam Siegel
Have you considered writing a program which dynamically allocates the
output files?


On Wed, Aug 20, 2014 at 7:34 AM, TonyIcloud-OPERA tonybabo...@icloud.com
wrote:

 I have a dataset that contains records with a field, by which I need to
 create a separate dataset that would contain all occurrences of that field.
 For example the file, FB100, looks like

 value1 other data.
 value1 other data.
 value1 other data.
 value2 other data.
 value2 other data.
 value2 other data.
 value3 other data.
 value3 other data.
 value3 other data.
 value4 other data.
 value4 other data.
 value4 other data.

 My final product must be a series of datasets:

 hlq.value1.records
 hlq.value2.records
 hlq.value3.records
 hlq.value4.records

 There may be hundreds/thousands of possible values, hence
 hundreds/thousands of datasets.  I have accomplished this in 3 phases,
 first pass reads the data, uses ICETOOL OCCUR to list the values, second
 phase reads the OUTPUT and formats DD statements and OUTFIL OUTREC
 statements, the third phase reads the original data to create the numerous
 output files.  I used a newly created PDSE as the output file whereupon the
 third phase created several thousand members.

 It works, after a fashion, but I'd like a more simple solution.


 --
 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: INITILAIZE COST

2014-08-11 Thread Sam Siegel
Don't.

Use occurs depending on or keep track of number of entries in a separate
variable.

Populate entries as needed.   All valid entrIes are initialized when
populated.

Restrict subsequent operations to number of rows in table.
On Aug 11, 2014 6:37 PM, Ron Thomas ron5...@gmail.com wrote:

 Hello.

 We have a array like this , what would be best way to initlaize this array
  in terms of performance ?

 01  EXAMPLE-TABLE.
 05  MY-TABLE.
 10  TABLE-ENTRY OCCURS  TIMES.
 15  FIRST-NAME PIC X(15).
 15  LAST-NAME  PIC X(15).
 15  SEX-CODE   PIC X.
 15  DOB.
 20  DOB-   PIC 9(4).
 20  DOB-MM PIC 99.
 20  DOB-DD PIC 99.
 15  SSNPIC 9(9).
 15  SALARY PIC S9(9)V99 COMP-3.

 Thanks
 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: SORT JCL

2014-07-20 Thread Sam Siegel
(1,4, BI, A) will provide ascending sequence for unsigned binary numbers


(1,4, FI, A) will provide ascending sequence for signed binary numbers.


COBOL PICTURE clause of S9(09) COMP, is for a 4 byte signed binary number.

On Jul 20, 2014 7:58 PM, Ron Thomas ron5...@gmail.com wrote:

 Hello.

 I have file in which first 1-4 bytes is character format, the file is
 comming from a different vendor and they have now changed to S9(09) COMP .
 We have SORT card that is using (1,4,CH,A), this now we are seeing a
 different order. Could some one please let us know how to get the same
 order what was existing earlier.

 Thanks
 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: C program stopped working with z/OS 1.13 on production rollout of z/OS 1.13 :(

2014-06-23 Thread Sam Siegel
Several variables, including FEOF, are not explicitly initialized to 0.
 The program appears to set FEOF to 1 only when there is an error opening
either of the DDs.

There may be residual data on the stack which is setting FEOF to a non-zero
value.

I don't think the C standard requires the compiler or runtime to ensure any
particular value to non-initialized variables.

Sam


On Mon, Jun 23, 2014 at 12:12 PM, Gibney, Dave gib...@wsu.edu wrote:

 I have a C program, written by someone long gone, last complied in 2004 or
 so. Running under z/OS 1.13, it reports reading/writing zero records.
 STEPLIB of CEE.SCEERUN from z/OS 1.11 returns it to its previous working
 behavior.
 I am opening a PMR next, but thought I would ask here also. Entire program
 follows

 /*  This program works like the Unix tf -d command. It removes the */
 /*  special character (hex 4f) from records, thus leaving a clean, */
 /*  comma-delimited record in the output file. */
 /* */
 /*  Modified 04/08/2004 by DMD; force abend if write error detected*/
 /*  Modified 08/23/2004 by DMD; remove carriage return  line feed.*/
 /* */
 #include stdio.h
 #include string.h
 #define  MAXREC 5000
 main (){
   int  rec_in_cnt;
   int  rec_out_cnt;
   char rec_in[MAXREC];
   char rec_out[MAXREC];
   char delimitr[1]={0x00};
   char comma   [1]=,;
   char NL  [1]={0x15};  /* new-line*/
   char CR  [1]={0x0D};  /* carriage return */
   char blnks[5000];
   FILE * File_Out;
   FILE * File_In;
   int in_cnt, out_cnt;
   intincrmt, inc, blnk_cnt, recout_siz, FEOF;

   for (inc=0;incMAXREC;inc++) blnks[inc]=0x40; /* init blank array */

   File_In = fopen(dd:stdin,rb,recfm=*,type=record);
   if (!File_In){
   printf(\n Could not open file STDIN. %d.\n,ferror);
   FEOF=1; } /* force exit */

   File_Out = fopen(dd:stdout,wb,recfm=*,type=record);
   if (!File_Out){
   printf(\n Could not open file STDOUT. %d.\n,ferror);
   FEOF=1; } /* force exit */

   while ( (! feof(File_In))  (!FEOF) ){
 in_cnt = fread(rec_in,sizeof(char),MAXREC,File_In);
 for(inc=0;incin_cnt;inc++)rec_out[inc]=0x40;  /* clean buff-out */
   if (! feof(File_In)) {
 rec_in_cnt++;
 if ( !ferror(File_In) ){
  for (incrmt=0,inc=0,blnk_cnt=0;incrmtin_cnt;incrmt++) {
   if (strncmp(rec_in[incrmt],delimitr,1)) /* if ! fill char */
 if (strncmp(rec_in[incrmt],blnks,1)){ /* if ! fill blnk */
   if(!(strncmp(rec_in[incrmt],comma,1))) /* if is comma */
  blnk_cnt=0;   /* drop prev blnks*/
   else {
 memcpy(rec_out[inc],blnks[1],blnk_cnt); /* do blnk */
 inc+=blnk_cnt; blnk_cnt=0;   /* save  reset cnt */
   }  /* end of ELSE condition */
   if ( (strncmp(rec_in[incrmt],NL,1))  /* not newline */
(strncmp(rec_in[incrmt],CR,1)) )  /* not car-rtn */
   memcpy(rec_out[inc++],rec_in[incrmt],1); /* do char  */
   else memcpy(rec_out[inc++],blnks[1],1);  /* blank it */
 }
 else blnk_cnt++;  /* count the blank */
  }  /* end of FOR loop */
   recout_siz = fwrite(rec_out,sizeof(char),in_cnt,File_Out);
   if (recout_siz  in_cnt) { /* if we didn't write whole record */
 printf(Write error encountered.); /* for example B37. */
 abort();/* force abend. */
 }
 rec_out_cnt++;
   }/* end of IF ferror condition */
 else printf(\n Error reading input file.\n);
 }/* end of IF feof condition */
   }  /* end of WHILE condition */
  printf(Record counts for data compression utility GNDU2200.\n\n);
  printf(Records read %d.\nRecords written %d.,rec_in_cnt,rec_out_cnt);
  fclose(File_In);
  fclose(File_Out);
 }  /* end of MAIN  */

 Dave Gibney
 Information Technology Services
 Washington State University


 --
 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: Enterprise COBOL v5.1 and RDz v9.x

2014-04-21 Thread Sam Siegel
VSAM Media Manager


On Mon, Apr 21, 2014 at 4:49 PM, Bernd Oppolzer
bernd.oppol...@t-online.dewrote:

 I know that DB2 does not use VSAM KSDS - only for very limited purposes,
 IIRC - some logfile directories or boot strap data sets, don't recall the
 details.

 The tablespace data sets are VSAM LDS - linear data sets.

 Anyway: there are some improvements done to VSAM for DB2, AFAIK ...
 I believe some improvements to enable list prefetch or other things I don't
 recall at the moment ... and I recall only vaguely a paper from ORACLE
 where
 they tell that they benefit from these VSAM improvements, too.

 Kind regards

 Bernd



 Am 21.04.2014 16:59, schrieb Joel C. Ewing:

 I'm pretty sure the original motivation behind VSAM was to provide a
 more efficient keyed-access alternative to an earlier ISAM (Indexed
 Sequential Access Method) keyed-access method --ISAM had abysmal
 performance when the number of inserts became large.  But, just as a
 clarification,  while it is true that VSAM under IBM Operating  systems
 includes support for keyed-access data sets in the forms of KSDS (Keyed
 Sequential) and RRDS (Relative Record),  VSAM also includes support for
 non-keyed-access data set types:  ESDS (Entry-Sequenced) and  LDS
 (Linear).

 The LDS data sets on z/OS do not have any organizational structure
 imposed upon them by VSAM other than being a stream of consecutive bytes
 physically organized in 4KiB, pageable chunks; and DB2 uses these LDS
 data sets for its table spaces.  So, it is incorrect to think of DB2 as
 somehow using or building upon VSAM keyed-access techniques to locate
 table rows.  DB2 has it own table structures, indexing organization, and
 key search techniques built on top of the very rudimentary Linear Data
 Set structure.

 DB2 required greater flexibility and control to achieve its performance
 and data consistency goals than was possible with VSAM keyed-access
 support.  A very cursory  look at Experiences Installing Oracle
 Database 10g on z/OS would suggest Oracle on z/OS makes use of VSAM LDS
 for table storage as well.
  Joel C Ewing


 --
 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: Compiler error in z/OS C compiler

2014-03-27 Thread Sam Siegel
On Thu, Mar 27, 2014 at 12:31 PM, Bernd Oppolzer bernd.oppol...@t-online.de
 wrote:

 Thank you all for your valuable suggestions.

 The compiler is z/OS XL/C V1.13 and V1.11 -
 well, in fact, I didn't test it with the 1.11. version.
 I observed the problem on the site with the 1.13 version.

 This is part of the PL/1 interface for my XML parser.
 I had to do a rollout today on three different sites of my
 customers; that's why there are different versions of the compiler.
 The site with the 1.11. compiler is on z/OS v1.13, but still uses
 the old compiler.

 I found a workaround in the meantime, this way:


 /**/
 /* */
 /*   PLI/1 NULL () = SYSNULL ()  */
 /* */
 /**/

 static void pli_null_to_sysnull (void *pptr)

 {
char *cp = pptr;

if (memcmp (cp, \xff\x00\x00\x00, 4) == 0)
{
   *cp = 0x00;
}
 }


Enclose memcmp in parenthesis, (memcmp)(...), to force the compile to
generate code which calls memcmp instead of generating inline code.



 of course, this is completely different and avoids
 the unsigned int comparison completely, but that
 solves my problem :-)

 For the error, I observed by looking at the PSEUDO ASSEMBLY
 LISTING, that the IBM compiler removed the function calls and the
 function completely. There was only the source statements in the
 ASSEMBLY LISTING, no code produced. I didn't check if the function
 was inlined in the printf case, but I think so.

 Kind regards

 Bernd



 Am 27.03.2014 18:05, schrieb Thomas David Rivers:

 Bernd Oppolzer wrote:

  Hello mainframe C users,


 That looks as if the compiler guessed that the condition
 (ppli == 0xff00u) can never be true. But because ppli is
 an unsigned int, and int has size 32, of course it can (and
 it does, as we can see in the case when printf is present).



 The value 0xff00 is also an unsigned int, if 'ppli' is an
 unsigned int (with an indeterminant value) then the comparison
 is quite valid and can't be elided.

 Recall that hex constants (those beginning with 0x) are unsigned-int
 by definition in the C standard.

 And, certainly, when you cast a pointer to an unsigned it, the compiler
 should not apply an special consideration to the definition of pointers
 in 31-bit mode.  Although, you _could_ decide that a pointer can't
 have its upper bit set, it's quite clear that it often does.

 The IBM compiler could be misapplying range optimizations, assuming
 that a 31-pointer is in the range [0x0 .. 0x7fff] and therefor could
 never be equal to 0xff00... but, that would be quite a stretch.
 If they are doing this, I can bet your report to IBM will cause
 an option to be added to quit doing it :-)

 You might want to check to see if the function has been in-lined,
 and if so, perhaps the parameter was a known constant or a value
 of a known range... which would give the compiler the flexibility
 to do what you observed.
 When I compiled your example (removing the 'static' modifier)
 I got this with the Dignus compiler:

 * ***  if (ppli == 0xff00u)
 C 2,@lit_217_2
 BNE   @L3

 (where @lit_217_2 was your value)  and I doing the same with the
 IBM compiler, I got this:

  21 |   * if (ppli == 0xff00u)
 68  5520  305221 | CL r2,=F'-16777216'
 6C  4770  303E21 |BNE  @1L1


 which looks rather similar (both compiled with -O.)

 Which version of the IBM compiler are you using?


   - Dave Rivers -


 --
 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: Is there a C macro for is z/OS

2014-02-14 Thread Sam Siegel
Macros as you suggest (slightly different names) should be fully documented
in the c/c++ users guide or language reference.


On Fri, Feb 14, 2014 at 3:14 PM, Charles Mills charl...@mcn.org wrote:

 Is there a standard IBM z/OS XLC macro for is compiling on z/OS? I looked
 for __ZOS and __MVS and so forth but did not find anything.

 I have code that runs Windows or z/OS and I have just been using #ifdef
 WIN32 to differentiate the two cases, but now I need code that will run
 Windows, z/OS or Linux so a Boolean check is no longer adequate.

 I don't need tremendous granularity - this release versus that release or
 USS command versus batch - just is z/OS rather than Windows or Linux. And
 obviously I could kludge something, but I thought most systems had a
 standard this is who I am macro.

 Thanks,

 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


Re: POSIX(ON) costs or disadvantages

2014-01-27 Thread Sam Siegel
On Jan 27, 2014 6:20 AM, Bernd Oppolzer bernd.oppol...@t-online.de
wrote:

 Some years ago, I had to make available a library which does
 some SSL coding and encoding to PL/1 callers, and that was a little
 complicated, because the library was coded in C - which was no problem -
 but it was compiled and linked using the high performance linkage option -
 I believe it's called XPLINK - which is not compatible with standard
linkage
 conventions, and so I had to find a way to bring together the standard
linkage
 PL/1 modules with the XPLINK C library. In fact, it was successful after
using
 an intermediate module which was callable from PL/1 using standard linkage
 and called the library using XPLINK - of course, all calls had to be
dynamic calls,
 no static linkage.

 When I was finished with that, I observed that I additionally had to
specify
 POSIX(ON) on the jobs which called that modules - but I don't recall if
it was
 due to the library which maybe required POSIX or if it was due to the
communication
 between the XPLINK and non-XPLINK modules.

XPLINK and POSIT(ON|OFF) are not related.

Anyway, we specified POSIX(ON)
 on the LE-Parms of the jobs where it was needed, and it worked. The PL/1
modules
 etc. had no problem with that.

 Kind regards

 Bernd



 Am 27.01.2014 15:05, schrieb Scott Ford:

 Juergen,

 I know C and C++ that use threads pthread.h requires posix(on). I
know there are other functions that require it

 Scott ford
 www.identityforge.com
 from my IPAD




 On Jan 27, 2014, at 4:03 AM, Juergen Weber webe...@gmail.com wrote:

 Scott,

 we are running a C++ library (libACE) and it requires POSIX(ON). Our
admins don't like it, but won't say exactly, why.
 So I checked the IBM docs, but did not find anything, except that some
C runtime library functions need it.

 Juergen

 --
 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: Subject Unicode

2014-01-09 Thread Sam Siegel
Scott - The PC is going to have to provide the codepage of the message data
someplace in the communication protocol.  Either as a separate field,
separate message or as a prefix/suffix to the message data.

It will be pretty dicey to attempt to guess the codepage based on the
message data.

One other possibility would be to provide a configuration file to the z/OS
side which says what codepage the PC is using.  Then the PC would need to
actually use the agreed upon codepage.

Sam


On Thu, Jan 9, 2014 at 5:39 PM, Scott Ford scott_j_f...@yahoo.com wrote:

 Gil,

 We send a data message from a pc, we encrypt it with AES128 , the message
 is received at the host (z/OS) decrypted then converted from ascii to
 ebcdic..so I am trying to figure out how to
 Determine what codepage the pc uses and have z/OS convert it to the proper
 EBCDIC codepage from ASCII.  Does that help ?

 Scott ford
 www.identityforge.com
 from my IPAD




  On Jan 9, 2014, at 7:47 PM, Paul Gilmartin paulgboul...@aim.com wrote:
 
  On Thu, 9 Jan 2014 16:35:55 -0800, Scott Ford wrote:
 
  All:
  �
  I have a fundamental question on Unicode, or more of how it works . I am
 confused about the following scenario..
  PC ( data using a foreign language Unicode page, like French )� going to
 z/OS and being keep in tact. Names and address type data. As the
 application do I have to query the incoming data and find out what the
 Unicode CECP is then translate to the desired ? or how does it work ?
 
  I believe, yes.  What is the desired ?
 
  iconv may be your friend here, either as a shell command or as a library
 subroutine,
  after transferring the file in BINARY.
 
  Will Co:Z let the user specify the target code page when transferring a
 file?
 
  -- 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


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Multi-Tasking question

2013-12-04 Thread Sam Siegel
Scott - Do the security action messages and non-section action messages
come into the process via the same tcp connection?  The based on type of
processing (security vs.non-security) get processed by different sub-tasks?

If the answer is yes, you may need 3 sub taks:
1) tcp processing
2) security processing
3) non-security processing

The task could be connected by queues.  The tcp task would put a work
element on either the security or non-security queue based on processing
needs.

the worker tasks would process the work and put the answer on a queue going
back to the tcp task.

depending on how you configure the processing will determine the number of
queues needed.  For example:
1 queue to security task from tcp task
1 queue to non-security task from tcp task
1 queue to tcp task to security task
1 queue to tcp task to non-security task
With dedicated queues, you don't need to have work type identifiers.  The
queue defines the direction and purpose.

If you use shared queues, then you need more info in the queue message to
determine purpose ( sec vs. non-sec) and potentially direction.

It may be easier (design, coding and testing) to use dedicated queues.

Sam



On Wed, Dec 4, 2013 at 10:53 AM, Scott Ford scott_j_f...@yahoo.com wrote:

 All:

 I have what seem to be a dumb question, but this is my first venture is
 real multi-tasking...

 We have a single thread Cobol STC that performs all the necessary
 functions we need to do,
 Two STCS  perform Security Reconciliation and Provisioning just to provide
 everyone with a general idea .
 Our z/OS STCs talk via encrypted  messages to a LDAP that resides on
 Windows or Linux or any *nix derivative.

 I am not 100% percent sure based on my reading we can multi-thread Cobol
 like we need to do . We can separate storage , i.e.;
 with Local-Storage, no issue. I need to have two threads running TCPIP. We
 currently use EZASOKET, which performs and works fine. I need one thread to
 issue various security commands via r_admin and the other thread performing
 other not security type calls to other programs.  But can I do TCP calls
 from a second thread or do I have to issue a 'ATTACH' in assembler and call
 the new Cobol code ? I am thinking about two separate listening ports
 because our STC listens based on a parameter provided port.

 If I do the 'ATTACH' how would the Cobol program 'POST' back ..

 As always Best Regards,

 Scott J Ford
 Software Engineer
 http://www.identityforge.com/

 --
 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: Multi-Tasking question

2013-12-04 Thread Sam Siegel
look at the msgctl, msggegt, msgrcv, msgsnd and msgxrcv in the c/c++ run
time documentation.  sa22-7821.

These queue functions can be wrapped in C programs.  COBOL can call C.
 I've not used them, but they look very useful.

Since they are part of the C-runtime, they are include with the system even
if the c/c++ compiler is not licensed.

Or you can google FIFO queue in C using google and get different
implementations.  the main issue with getting code from google is the z/OS
difference in locking mechanisms.

Or you can roll your own in ASM.


On Wed, Dec 4, 2013 at 1:12 PM, Scott Ford scott_j_f...@yahoo.com wrote:

 Sam,

 The answer is yes, but the ldap is java multi-threaded..I agree with a
 queue ..the question is that would the queue be in assembler I assume yes
 ...

 Scott ford
 www.identityforge.com
 from my IPAD

 'Infinite wisdom through infinite means'


  On Dec 4, 2013, at 2:15 PM, Sam Siegel s...@pscsi.net wrote:
 
  Scott - Do the security action messages and non-section action messages
  come into the process via the same tcp connection?  The based on type of
  processing (security vs.non-security) get processed by different
 sub-tasks?
 
  If the answer is yes, you may need 3 sub taks:
  1) tcp processing
  2) security processing
  3) non-security processing
 
  The task could be connected by queues.  The tcp task would put a work
  element on either the security or non-security queue based on processing
  needs.
 
  the worker tasks would process the work and put the answer on a queue
 going
  back to the tcp task.
 
  depending on how you configure the processing will determine the number
 of
  queues needed.  For example:
  1 queue to security task from tcp task
  1 queue to non-security task from tcp task
  1 queue to tcp task to security task
  1 queue to tcp task to non-security task
  With dedicated queues, you don't need to have work type identifiers.
  The
  queue defines the direction and purpose.
 
  If you use shared queues, then you need more info in the queue message to
  determine purpose ( sec vs. non-sec) and potentially direction.
 
  It may be easier (design, coding and testing) to use dedicated queues.
 
  Sam
 
 
 
  On Wed, Dec 4, 2013 at 10:53 AM, Scott Ford scott_j_f...@yahoo.com
 wrote:
 
  All:
 
  I have what seem to be a dumb question, but this is my first venture is
  real multi-tasking...
 
  We have a single thread Cobol STC that performs all the necessary
  functions we need to do,
  Two STCS  perform Security Reconciliation and Provisioning just to
 provide
  everyone with a general idea .
  Our z/OS STCs talk via encrypted  messages to a LDAP that resides on
  Windows or Linux or any *nix derivative.
 
  I am not 100% percent sure based on my reading we can multi-thread Cobol
  like we need to do . We can separate storage , i.e.;
  with Local-Storage, no issue. I need to have two threads running TCPIP.
 We
  currently use EZASOKET, which performs and works fine. I need one
 thread to
  issue various security commands via r_admin and the other thread
 performing
  other not security type calls to other programs.  But can I do TCP calls
  from a second thread or do I have to issue a 'ATTACH' in assembler and
 call
  the new Cobol code ? I am thinking about two separate listening ports
  because our STC listens based on a parameter provided port.
 
  If I do the 'ATTACH' how would the Cobol program 'POST' back ..
 
  As always Best Regards,
 
  Scott J Ford
  Software Engineer
  http://www.identityforge.com/
 
  --
  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: Multi-Tasking question

2013-12-04 Thread Sam Siegel
search google for examples of the msgxxx functions.  Since they are
published standard functions, you should find lots of non z/OS code that
uses them.


On Wed, Dec 4, 2013 at 1:48 PM, Scott Ford scott_j_f...@yahoo.com wrote:

 Sam,

 Thx I am looking at the msgxxx C functions..the lack of examples in the C
 Doc is maddening at times

 Scott ford
 www.identityforge.com
 from my IPAD

 'Infinite wisdom through infinite means'


  On Dec 4, 2013, at 4:25 PM, Sam Siegel s...@pscsi.net wrote:
 
  look at the msgctl, msggegt, msgrcv, msgsnd and msgxrcv in the c/c++ run
  time documentation.  sa22-7821.
 
  These queue functions can be wrapped in C programs.  COBOL can call C.
  I've not used them, but they look very useful.
 
  Since they are part of the C-runtime, they are include with the system
 even
  if the c/c++ compiler is not licensed.
 
  Or you can google FIFO queue in C using google and get different
  implementations.  the main issue with getting code from google is the
 z/OS
  difference in locking mechanisms.
 
  Or you can roll your own in ASM.
 
 
  On Wed, Dec 4, 2013 at 1:12 PM, Scott Ford scott_j_f...@yahoo.com
 wrote:
 
  Sam,
 
  The answer is yes, but the ldap is java multi-threaded..I agree with a
  queue ..the question is that would the queue be in assembler I assume
 yes
  ...
 
  Scott ford
  www.identityforge.com
  from my IPAD
 
  'Infinite wisdom through infinite means'
 
 
  On Dec 4, 2013, at 2:15 PM, Sam Siegel s...@pscsi.net wrote:
 
  Scott - Do the security action messages and non-section action messages
  come into the process via the same tcp connection?  The based on type
 of
  processing (security vs.non-security) get processed by different
  sub-tasks?
 
  If the answer is yes, you may need 3 sub taks:
  1) tcp processing
  2) security processing
  3) non-security processing
 
  The task could be connected by queues.  The tcp task would put a work
  element on either the security or non-security queue based on
 processing
  needs.
 
  the worker tasks would process the work and put the answer on a queue
  going
  back to the tcp task.
 
  depending on how you configure the processing will determine the number
  of
  queues needed.  For example:
  1 queue to security task from tcp task
  1 queue to non-security task from tcp task
  1 queue to tcp task to security task
  1 queue to tcp task to non-security task
  With dedicated queues, you don't need to have work type identifiers.
  The
  queue defines the direction and purpose.
 
  If you use shared queues, then you need more info in the queue message
 to
  determine purpose ( sec vs. non-sec) and potentially direction.
 
  It may be easier (design, coding and testing) to use dedicated queues.
 
  Sam
 
 
 
  On Wed, Dec 4, 2013 at 10:53 AM, Scott Ford scott_j_f...@yahoo.com
  wrote:
 
  All:
 
  I have what seem to be a dumb question, but this is my first venture
 is
  real multi-tasking...
 
  We have a single thread Cobol STC that performs all the necessary
  functions we need to do,
  Two STCS  perform Security Reconciliation and Provisioning just to
  provide
  everyone with a general idea .
  Our z/OS STCs talk via encrypted  messages to a LDAP that resides on
  Windows or Linux or any *nix derivative.
 
  I am not 100% percent sure based on my reading we can multi-thread
 Cobol
  like we need to do . We can separate storage , i.e.;
  with Local-Storage, no issue. I need to have two threads running
 TCPIP.
  We
  currently use EZASOKET, which performs and works fine. I need one
  thread to
  issue various security commands via r_admin and the other thread
  performing
  other not security type calls to other programs.  But can I do TCP
 calls
  from a second thread or do I have to issue a 'ATTACH' in assembler and
  call
  the new Cobol code ? I am thinking about two separate listening ports
  because our STC listens based on a parameter provided port.
 
  If I do the 'ATTACH' how would the Cobol program 'POST' back ..
 
  As always Best Regards,
 
  Scott J Ford
  Software Engineer
  http://www.identityforge.com/
 
  --
  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: DESERV function get DCB address

2013-11-28 Thread Sam Siegel
Try using TCBJLB for STEPLIB DCB or CVTLINK for LINKLIST DCB.  Both are
GUPI.


On Thu, Nov 28, 2013 at 11:00 AM, MichealButz michealb...@optonline.netwrote:

 Hi,



 I having been using BLDL to get program directory information I found the
 macro to not give correct results.

 So I have moved on to DESERV FUNC=GET,PDSDE=BLDL_LIST unfortunately DESERV
 FUNC=GET needs a real DCB address as opposed to the zero used invoking BLDL

 Any suggestions



 Thanks


 --
 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: Determining number of Parameters passed to a COBOL program

2013-10-02 Thread Sam Siegel
On Wed, Oct 2, 2013 at 9:36 AM, Raupach, Robert E (CTO Architecture +
Engineering) rraup...@thehartford.com wrote:

 Greetings...

 A colleague asked me the following question:

   Is there a way to determine how many parameters are being passed into a
 COBOL program?

 I could show him in Assembler, but in COBOL, I wouldn't have a clue.


The following is specific to z/OS COBOL only and assumes that an IBM
standard parm list is used.  In the future, if COBOL comes to support XP
linkage, the following will not work.  Until then it does because the last
parm will have the left most bit set, making it a negative number.

this also assumes that at least 1 parm is passed.

LINKAGE SECTION.

01  L-ADDR-1 PIC S9(9) COMP-5.
01  L-ADDR-1-PTR REDEFINES L-ADDR-1 POINTER.

01  L-ADDR-2 PIC S9(9) COMP-5.
01  L-ADDR-2-PTR REDEFINES L-ADDR-2 POINTER.

01  LINKAGE-PARMS-1  PIC X(64).

01  LINKAGE-PARMS-2  PIC S9(9) COMP-3.

PROCEDURE DIVISION USING BY VALUE L-ADDR-1 L-ADDR-2.

SET ADDRESS OF LINKAGE-PARMS-1   TO L-ADDR-1-PTR
MOVE LINKAGE-PARMS-1 TO CARP-PARM-AREA

IF L-ADDR-1  +0
  SET ADDRESS OF LINKAGE-PARMS-2 TO L-ADDR-2-PTR
  SET  WS-PARM-2-PRESENT TO TRUE
ELSE
  SET WS-PARM-2-ABSENT   TO TRUE
END-IF

IF WS-PARM-2-PRESENT
  MOVE LINKAGE-PARMS-2 TO WS-SVEFFDT
  MOVE 'Y' TO WS-EFFDT
ELSE
  MOVE LOW-VALUES TO WS-EFFDT
END-IF


 Can someone advise?
 Thx,
 Bob R

 
 This communication, including attachments, is for the exclusive use of
 addressee and may contain proprietary, confidential and/or privileged
 information.  If you are not the intended recipient, any use, copying,
 disclosure, dissemination or distribution is strictly prohibited.  If you
 are not the intended recipient, please notify the sender immediately by
 return e-mail, delete this communication and destroy all copies.
 


 --
 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: CEEPIPI assistance requested

2013-08-27 Thread Sam Siegel
See other email. Problem resolved.

Thanks.
On Aug 27, 2013 6:16 AM, Shmuel Metz (Seymour J.) shmuel+...@patriot.net
wrote:

 In
 CAFMxNWKJXbzsB5OrtaZgREk-bK=kgb_i-kh0tjzuzukbtgg...@mail.gmail.com,
 on 08/26/2013
at 10:03 PM, Sam Siegel s...@pscsi.net said:

 Below is the module and offset.

 Did you search for IEAVTESP+0B3A? Create a PMR? Where is 04D3DA8A? Did
 you check the save area chain?

 --
  Shmuel (Seymour J.) Metz, SysProg and JOAT
  Atid/2http://patriot.net/~shmuel
 We don't care. We don't have to care, we're Congress.
 (S877: The Shut up and Eat Your spam act of 2003)

 --
 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: CEEPIPI assistance requested

2013-08-26 Thread Sam Siegel
On Sun, Aug 25, 2013 at 5:27 PM, Peter Relson rel...@us.ibm.com wrote:

 I don't know why LE would issue an ESPIE if you told it not to. It
 certainly seems from the evidence that something is issuing ESPIE.
 And it's issuing it in your state, which is supervisor state, which
 therefore will result in the abend you received.
 Is it possible that what you think are the options that you provided are,
 in fact, not?


Peter - Thanks making me reexamine the dump and related code.  The VERBX
LEDATA output showed that the LE Environment for the ABENDing TCB has
TRAP(ON,SPIE) set.  Clearly the cause of the abend.

The odd thing was that TRAP(ON,SPIE) was labeled as INSTALLATION DEFAULT
when the CEEPIPI RUNOPTS specified otherwise.  For some reason, CEEPIPI and
INIT_SUB_DP did not take any of the specified RUNOPTs.  This will be
 further investigated.

Adding #pragma runtops ( trap(on,nospie)) to the program under this TCB
solve the problem.

Job now runs to completion with RC=0.

Sam






 As to
 You might be asking, why I'm doing this.  The answer is that eventually,
 I
 want to be able to run the C/C++ programs that are setup in the SUB_DP
 environment under an SRB.  This is documented in Language Environment
 Vendor Interfaces (SA22-7568).  This will allow me to offload C/C++ code
 to
 a zIIP engine.

 I can say only maybe. In general, only if you are licensed to do so (and
 of course if the SRBs are enclave SRBs).

 Peter Relson
 z/OS Core Technology Design

 --
 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: CEEPIPI assistance requested

2013-08-25 Thread Sam Siegel
On Sun, Aug 25, 2013 at 5:27 PM, Peter Relson rel...@us.ibm.com wrote:

 I don't know why LE would issue an ESPIE if you told it not to. It
 certainly seems from the evidence that something is issuing ESPIE.
 And it's issuing it in your state, which is supervisor state, which
 therefore will result in the abend you received.
 Is it possible that what you think are the options that you provided are,
 in fact, not?

This is a possibility and I will check it carefully.  However, if
supervisor mode is entered prior to any subtask being attached, the process
runs to completion without abend.  The 46d-18 only occurs when the PROCESS
subtask is the only subtask which enters supervisor mode.

My current thinking is that the exception routine needs to be coded in the
CEEPIPI service routine vector.  That will be checked next.


 As to
 You might be asking, why I'm doing this.  The answer is that eventually,
 I
 want to be able to run the C/C++ programs that are setup in the SUB_DP
 environment under an SRB.  This is documented in Language Environment
 Vendor Interfaces (SA22-7568).  This will allow me to offload C/C++ code
 to
 a zIIP engine.

 I can say only maybe. In general, only if you are licensed to do so (and
 of course if the SRBs are enclave SRBs).


Agreed on both points.  A valid license is hand.



 Peter Relson
 z/OS Core Technology Design

 --
 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


CEEPIPI assistance requested

2013-08-24 Thread Sam Siegel
Hello - I'm experiencing an 46D-18 abend under certain conditions when
running a supervisor mode multi-tcb CEEPIPI job step.  Under other
conditions the 46D-18 does not occur.

Any assistance or advice would be appreciated.

Per the system completion codes documentation, a 46D-18 occurs when an
ESPIE is issued in supervisor mode or when the program issuing the ESPIE
had a PSW storage key that did not match the TCB storage key.

All HLL programs are either C or C++.
All assembler programs are reentrant
The only #pragma present is to set the fetchable attribute.
Each invocation of CEEPIPI specifies TRAP(ON,NOSPIE),INTERRUPT(OFF),NOTEST
as part of the runtime options.

The //STEPLIB references only 1 dataset.  It is a PDSE.  It is in the list
of APF authorized libraries.  Issuing MODESET MODE=SUP does not cause an
abend.

The program invoked by JCL is linked AC(1).  Let's call this program
JCLMAIN.  It is assembler.

4 TCBs are created via the ATTACHX macro.  Let's call the related load
modules INIT, READ, PROCESS and WRITE

Each attached TCB setups up its own CEEPIPI environment.

The PROCESS load module is linked AC(1).

The read, process and write tasks interact with each other via a queue and
are coordinated with a combination of WAIT/POST and Pause/Release services.

CEEPIPI for the PROCESS TCB is initialized as a SUB_DP environment with a
service vector to handle LOAD, DELETE, GET, FREE and MESSAGE.  Exception
handling is not yet handled in the service vector.

The PROCESS TCB uses either call_sub_addr_nochk  or call_sub_addr_nochk2 to
invokes the C/C++ program.  call_sub_addr_nochk  and call_sub_addr_nochk2
are documented in the Language Environment Vendor Interfaces (SA22-7568)
manual.  Only nochk or nochk2 is used at any one time.  I've tested with
both with no difference in outcome.

Conditions under which this works:
1) This works when MODESET is never issued and the entire process is
problem state.  THis has been run from a load library that is not APF
authorized and it works.

2) This works when the JCLMAIN issues MODESET MODE=SUP,KEY=NZERO prior to
any sub-tasks being attached and then issuing MODESET MODE=PROB,KEY=NZERO
after all tasks are detached.

Conditions under which this fails:
1) This fails and the 46D-18 occurs when JCLMAIN reamins in problem state
at all times and attaches all sub-tasks.  The PROCESS TCB issues MODESET
MODE=SUP,KEY=NZERO prior to calling CEEPIPI to setup the SUB_DP
environment.  The PROCESS TCB is the only TCB which enters supervisor state.

This has me perplexed because the run ops provided to CEEPIPI has
TRAP(ON,NOSPIE),INTERRUPT(OFF),NOTEST.  The TRAP(ON,NOSPIE) is supposed to
cause LE to issue an ESTAE instead of an ESPIE.


You might be asking, why I'm doing this.  The answer is that eventually, I
want to be able to run the C/C++ programs that are setup in the SUB_DP
environment under an SRB.  This is documented in Language Environment
Vendor Interfaces (SA22-7568).  This will allow me to offload C/C++ code to
a zIIP engine.

Let me know if more details are needed.

Please contact me off list if you have information that can only be shared
in private.

Thanks,
Sam

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


z/TPF question

2013-08-09 Thread Sam Siegel
Hi - Does anyone know if zIIP engines can be used with z/TPF?

Thanks,
Sam

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Any clues on fwrite_unlocked()

2013-07-29 Thread Sam Siegel
On Mon, Jul 29, 2013 at 7:49 AM, Charles Mills charl...@mcn.org wrote:

 Anyone using fwrite_unlocked() successfully? Per TFM I have

 #define _XOPEN_SOURCE_EXTENDED 1


I think the following define is required prior to including stdio.h

#define _OPEN_SYS_UNLOCKED_EXT 1

Sam



 ahead of any #includes (including stdio.h, of course).

 Still, I am getting

 CCN5274 (S) The name lookup for fwrite_unlocked did not find a
 declaration.

 Anyone have any clues?

 Thanks,
 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


Re: Any clues on fwrite_unlocked()

2013-07-29 Thread Sam Siegel
On Mon, Jul 29, 2013 at 8:19 AM, Charles Mills charl...@mcn.org wrote:

 Sorry, yes, that is what I meant. Cut-and-pasted the wrong line from the
 source file. Correct paste follows:

 #define _OPEN_SYS_UNLOCKED_EXT 1


very odd ... I looked in sys1.cee.sceeh.h(stdio) and found
_OPEN_SYS_UNLOCKED_EXT.  It seems to be controlling the visibilty of
fwrite_unlocked.  However, fwrite_unlocked is wrapped in a macro called
__new410A that I'm not familiar with.  Not sure what impact that has.


 Charles

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Sam Siegel
 Sent: Monday, July 29, 2013 11:08 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: Any clues on fwrite_unlocked()

 On Mon, Jul 29, 2013 at 7:49 AM, Charles Mills charl...@mcn.org wrote:

  Anyone using fwrite_unlocked() successfully? Per TFM I have
 
  #define _XOPEN_SOURCE_EXTENDED 1
 

 I think the following define is required prior to including stdio.h

 #define _OPEN_SYS_UNLOCKED_EXT 1

 Sam


 
  ahead of any #includes (including stdio.h, of course).
 
  Still, I am getting
 
  CCN5274 (S) The name lookup for fwrite_unlocked did not find a
  declaration.

 --
 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: Writing binary VB files in C

2013-07-27 Thread Sam Siegel
On Sat, Jul 27, 2013 at 4:52 AM, Charles Mills charl...@mcn.org wrote:

 Am I correct in my reading of the C manuals? (I find the information
 somewhat scattered and oddly organized.)

 If I want to write a typical old-fashioned z/OS dataset in format VB and
 that contains binary fields in a field-oriented record layout, then (1) my
 only choice is to use fwrite() (or one of its variants) and (2) I would
 declare the struct and construct the record *without* the llbb control word
 and specify the length of the record (without the llbb) only in the
 fwrite()?


you are correct.  The fopen needs to specific wb, type=record or
 wb,type=record,recfm=* or some other variant with the lrecl and blksize
specified if you want to control the dcb attributes from within your
program.  The important part is the wb and type=record.

Then the fwrite needs to specify the size to 1 and the count to the lenth
of the record not including the RDW length.

for example fwrite( structure, 1, recordLentth, outFile);
//where recordLength = amount of data to write.

If recordLength  lrecl of file, record is truncated.

See chapter 3 in the C/C++ Run-Time Library Reference SA22-7821 for details
about fwrite
Also see chapter 10 in the C/C++ Programming Guide SC09-4765 for details on
OS I/O operations.

If there is no requirement to reposition the file using fseek, etc.,
include the noseek parameter in the call to fopen.





 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


Re: REXX and CEEPIPI questions.

2013-07-10 Thread Sam Siegel
On Wed, Jul 10, 2013 at 6:30 AM, John McKown
john.archie.mck...@gmail.comwrote:

 I am trying to look at how to use the PCRE from Ze'ev Atlas in a REXX
 program in a REXXish way. PCRE is written in C and is basically
 implemented as a bunch of subroutines. Being in C means this requires LE. I
 could just write my code to be LE compliant and then invoke it from REXX
 via a LINKPGM, or similar, method. I could pass the results back by having
 my routine use IRXEXCOM to create specific REXX variables which could then
 be used in the rest of the script. Yes, there are better ways, but I'm just
 thinking out loud right now.

 I was also looking at using CEEPIPI somehow to establish an LE environment
 which would last across calls to my PCRE functions. I have been reading the
 books. But I can't find the answer to my first question. Which is: If I
 call an HLASM routine which: (1) is not LE compliant; (2)  uses CEEPIPI
 function init_sub to set up LE environment for calling subroutines; (3)
 returns to REXX. Will the LE environment stay around? If it does, could it
 cause problems with REXX or even TSO itself? Could it cause problems if the
 user were to invoke an LE enabled main routine (written in C, COBOL, ...)
 via a TSO CALL or ADDRESS LINK type invocation? If the user does invoke an
 LE program, will that affect the CEEPIPI set up environment (as in
 terminate it)? Instead of init_sub, should I use init_sub_dp? It seems
 to have some advantages, but is more restrictive. Mainly it seems to be a
 way to avoid the possible problems of leaving an LE environment active.


CEEPIPI init sub creates an LE environment and returns a token to the same.
 The token is passed to the ceepipi call sub function along with other
parms.  The LE environment represented by the token is usable on that tcb
until destroyed by using ceepipi term function.

init sub dp allows you to create multiple LE independent environments under
the same tcb.  verify your need before using this.

best performance in calling the subroutine is to use is to use call sub
addr.  This called the subroutine by address instead of name.  if you are
going rexx-pipi-subroutine in high volume, call sub addr is worthwhile.

If you are going rexx-pipi-subroutine just once or twice then call sub is
fine.

init sub dp has other characteristics that are useful in a multi-tcb
environment.





 Also, I am not totally sold on having an LE environment hang around. I do
 know that it saves on start up and shut down time. But I don't know if it
 is worth the effort because I don't really have a handle on how many PCRE
 invocations are going to be done in a single execution of a REXX program.

 --
 This is a test of the Emergency Broadcast System. If this had been an
 actual emergency, do you really think we'd stick around to tell you?

 Maranatha! 
 John McKown

 --
 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: REXX and CEEPIPI questions.

2013-07-10 Thread Sam Siegel
On Wed, Jul 10, 2013 at 8:32 AM, Farley, Peter x23353 
peter.far...@broadridge.com wrote:

 Sam, what do you mean by call sub addr vs call sub from the Rexx point
 of view?  AFAIK there is no capability in z/OS Rexx to call a subroutine by
 address.


I'm clearly showing off my deep and extensive REXX knowledge. ;-)


 John, I strongly suspect that the efficiency of a CEEPIPI setup will more
 than pay you back for the complexity of the setup for all but a very few
 calls to the PCRE subroutines, i.e. in all but the very simplest of use
 cases.

 I would set up the CEEPIPI environment and store the returned token in a
 suitably obscure named Rexx variable (like ___C_E_E_P_I_P_I___) and
 retrieve that variable on each call to the PCRE functions.  Use the token
 value if it is there and set up CEEPIPI if it is not yet there.

 Or you could require a Rexx variable to be passed as the first argument to
 all functions in which you store the CEEPIPI token value, putting the
 burden on the programmer to keep it intact and pass you the right value
 every time.

 Peter

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Sam Siegel
 Sent: Wednesday, July 10, 2013 10:00 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: REXX and CEEPIPI questions.

 On Wed, Jul 10, 2013 at 6:30 AM, John McKown
 john.archie.mck...@gmail.comwrote:

  I am trying to look at how to use the PCRE from Ze'ev Atlas in a REXX
  program in a REXXish way. PCRE is written in C and is basically
  implemented as a bunch of subroutines. Being in C means this requires
 LE. I
  could just write my code to be LE compliant and then invoke it from REXX
  via a LINKPGM, or similar, method. I could pass the results back by
 having
  my routine use IRXEXCOM to create specific REXX variables which could
 then
  be used in the rest of the script. Yes, there are better ways, but I'm
 just
  thinking out loud right now.
 
  I was also looking at using CEEPIPI somehow to establish an LE
 environment
  which would last across calls to my PCRE functions. I have been reading
 the
  books. But I can't find the answer to my first question. Which is: If I
  call an HLASM routine which: (1) is not LE compliant; (2)  uses CEEPIPI
  function init_sub to set up LE environment for calling subroutines; (3)
  returns to REXX. Will the LE environment stay around? If it does, could
 it
  cause problems with REXX or even TSO itself? Could it cause problems if
 the
  user were to invoke an LE enabled main routine (written in C, COBOL, ...)
  via a TSO CALL or ADDRESS LINK type invocation? If the user does invoke
 an
  LE program, will that affect the CEEPIPI set up environment (as in
  terminate it)? Instead of init_sub, should I use init_sub_dp? It
 seems
  to have some advantages, but is more restrictive. Mainly it seems to be a
  way to avoid the possible problems of leaving an LE environment active.

 CEEPIPI init sub creates an LE environment and returns a token to the same.
  The token is passed to the ceepipi call sub function along with other
 parms.  The LE environment represented by the token is usable on that tcb
 until destroyed by using ceepipi term function.

 init sub dp allows you to create multiple LE independent environments under
 the same tcb.  verify your need before using this.

 best performance in calling the subroutine is to use is to use call sub
 addr.  This called the subroutine by address instead of name.  if you are
 going rexx-pipi-subroutine in high volume, call sub addr is worthwhile.

 If you are going rexx-pipi-subroutine just once or twice then call sub is
 fine.

 init sub dp has other characteristics that are useful in a multi-tcb
 environment.

  Also, I am not totally sold on having an LE environment hang around. I
 do
  know that it saves on start up and shut down time. But I don't know if it
  is worth the effort because I don't really have a handle on how many PCRE
  invocations are going to be done in a single execution of a REXX program.
 
 --

 This message and any attachments are intended only for the use of the
 addressee and may contain information that is privileged and confidential.
 If the reader of the message is not the intended recipient or an authorized
 representative of the intended recipient, you are hereby notified that any
 dissemination of this communication is strictly prohibited. If you have
 received this communication in error, please notify us immediately by
 e-mail and delete the message and any attachments from your system.

 --
 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: Advice about extending the PCREGREP

2013-07-09 Thread Sam Siegel
#include stdio.h
#include stdlib.h
#include stddef.h
#include string.h
int main( int argc, char **argv )
{
  printf ( %s\n, argv[1] );
  return 0;
}

//SAMPLEJ  JOB MUP,'JOB: SAMPLE',
// CLASS=A,
// MSGCLASS=X,
// NOTIFY=SYSUID
//*
//*
//JS010EXEC PGM=SAMPLE,PARM='/A.B.C'
//STEPLIB  DD DSN=MUP.LOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//*
//JS020EXEC PGM=SAMPLE,PARM='/DD:DD1'
//STEPLIB  DD DSN=MUP.LOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//*
//JS030EXEC PGM=SAMPLE,PARM='/A.B.C(X)'
//STEPLIB  DD DSN=MUP.LOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//*
//JS040EXEC PGM=SAMPLE,PARM='/DD:DD2(X)'
//STEPLIB  DD DSN=MUP.LOAD,DISP=SHR
//SYSPRINT DD SYSOUT=A
//

Output from above
A.B.C

DD:DD1

A.B.C(X)

DD:DD2(X)



On Tue, Jul 9, 2013 at 8:27 PM, Ze'ev Atlas zatl...@yahoo.com wrote:

 Based on responses that I've got from previous two discussions, I've
 decided to extend the existing PCREGREP [which is decidely written in C]
 and teach it to deal with PDS and PDSE libraries.  I need any bit of advice
 because I am not too proficient in C.

 What I intend to do is recognize that the file name is of the format
 SOME.FILE.NAME(PATTERN) and designate that file as a PDS (this version of
 the pcregrep utility would live only in the z/OS port. so I am not
 concerned about other platforms having that as a valid file name.  BTW,
 pattern wildcard in that context is *, ?, whatever is accepted by fnmatch
 and valid member name letters only, not a regular expression.)

 Any other file name would be considered  a flat file of sort.

 I already know (conceptually) how to travel on a directory and get member
 names one after the other, and I know (conceptually) how to match the
 member names to the pattern and ignore aliases (or not.)

 If I get a file name something like MLQ.LLQ(*) in the PARM= field, I
 should not have any issue processing that.

 I asked, but I am asking again, with regard to the fact that we are
 talking about C, how would I pass quoted file names (i.e. with HLQ) in the
 PARM= field of the JCL and how would C be able to decipher that.

 If the pds name is provided as a DDNAME it would be like this this
 dd:ddname.

 ZA

 --
 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: Announcing PCRE 8.33 for native z/OS

2013-07-05 Thread Sam Siegel
On Fri, Jul 5, 2013 at 7:27 PM, John Gilmore jwgli...@gmail.com wrote:

 'grammer' is, I think, best viewed as a nonce word.  David Crayford
 knows very well that the canonical spelling is 'grammar'.


Man have you no sense of humor at all. ??


 John Gilmore, Ashland, MA 01721 - USA

 --
 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: Question on how to debug S0C7 (data exception) abend

2013-07-03 Thread Sam Siegel
On Wed, Jul 3, 2013 at 4:10 AM, Mowry, Norma E CIV DISA ESB (US) 
norma.e.mowry@mail.mil wrote:

 We have a production job that is abending with S0C7 reason 0007.  I
 set a slip to capture a dump but I can't seem to find the input record that
 is causing the S0C7 in this dump.  I also have a CEEDUMP but that's not
 real helpful in diagnosing the issue.  I looked a setting a slip with a
 trace but don't think that will do any good to get to the problem record.


This sounds like an application issue, not a systems issue.

If IPCS is available to the applications staff, put a //SYSMDUMP in the job.
If IPCS is not available, use //SYSUDUMP.
IF ABENDAID is available, it should do an excellent job of pinpointing the
point of failure as well as  showing records associated with open files.
If ABENDAID is available and not providing enough information add
//ABNLDUMP DD DUMMY and //SYSUDUMP to get both abend aid and sysudump
information.

It will be useful to the application staff to have the following:
Compile listing with object code listed
Assembler listing
Binder maps if code is statically linked.

Is the I/O occurring in the program that gets the 0c7?  Or is the I/O in a
separate program that puts the record into working storage and the working
storage gets passed around.

If Modify location where I/O is done and create additional working storage
 The working storage shoudl be 8 bytes longer then the largest record.
 Initialize the first 8 bytes to a unique value: X'BEEFCAFEDEADBEEF'.
 After each I/O, copy the record to the new buffer + 8.  Once abend occurs,
search for unique identifier.

Good luck


 Norma Mowry

 --
 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


Language environment question

2013-06-29 Thread Sam Siegel
Hello - my process creates several TCBs.  Each TCB establishes its own LE
enclave using CEEPIPI.  As part of the LE runtime options used in testing,
RPTSTG(ON) is used. As each task ends, the storage report is printed.

The storage report title for each task is Options Report for Enclave
CEEPIPI 06/29/13 9:18:44 AM  Only the time stamp differs.  I would like to
set the name differently for each task.

The LE Vendor interfaces manual (SA22-7568) describe an interface to
customize the program name listed in the report header.  The interface is
called CEEBSENM — Set the Enclave Name and is described in chapter 4.

The usage notes indicate that this interface can only be called during the
enclave create event.

It is not clear (to me anyways):
1) when the enclave create event occurs;
2) how the enclave create event can be intercepted to invoke the CEEBSENM
interface.

Chapter 16 discusses various events that can occur.  To handle these
events, you must implement an event handler (CEEV003 for c/c++).  This
seems complex and unneeded to just set the report name.

I'm sure I've missed something in the doc or I'm just looking in the wrong
manual.

Any pointer on how to use CEEBSENM would be appreciated.

Sam

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Language environment question

2013-06-29 Thread Sam Siegel
On Sat, Jun 29, 2013 at 11:33 AM, Steve Comstock
st...@trainersfriend.comwrote:

 On 6/29/2013 12:27 PM, Sam Siegel wrote:

 Hello - my process creates several TCBs.  Each TCB establishes its own LE
 enclave using CEEPIPI.  As part of the LE runtime options used in testing,
 RPTSTG(ON) is used. As each task ends, the storage report is printed.

 The storage report title for each task is Options Report for Enclave
 CEEPIPI 06/29/13 9:18:44 AM  Only the time stamp differs.  I would like
 to
 set the name differently for each task.

 The LE Vendor interfaces manual (SA22-7568) describe an interface to
 customize the program name listed in the report header.  The interface
 is
 called CEEBSENM — Set the Enclave Name and is described in chapter 4.

 The usage notes indicate that this interface can only be called during the
 enclave create event.

 It is not clear (to me anyways):
 1) when the enclave create event occurs;
 2) how the enclave create event can be intercepted to invoke the CEEBSENM
 interface.

 Chapter 16 discusses various events that can occur.  To handle these
 events, you must implement an event handler (CEEV003 for c/c++).  This
 seems complex and unneeded to just set the report name.

 I'm sure I've missed something in the doc or I'm just looking in the wrong
 manual.

 Any pointer on how to use CEEBSENM would be appreciated.

 Sam


 Check out CEE3RPH; this sets the header of a storage report.
 Not quite clear where to invoke this in your case, but I'm
 sure you can figure that out.


Steve - Thanks.  CEE3RPH added a line to the storage report with my text
string.

Options Report for Enclave CEEPIPI 06/29/13 10:10:12 AM
PARRC

Slightly different than what I was trying to do, but meets the requirement
100% and was very easy to implement.
Thanks,
Sam


 Using LE Services in z/OS - 3 days

   http://www.trainersfriend.com/**Language_Environment_courses/**
 m512descr.htmhttp://www.trainersfriend.com/Language_Environment_courses/m512descr.htm



 --

 Kind regards,

 -Steve Comstock
 The Trainer's Friend, Inc.

 303-355-2752
 http://www.trainersfriend.com

 * To get a good Return on your Investment, first make an investment!
   + Training your people is an excellent investment

 * Try our tool for calculating your Return On Investment
 for training dollars at
   
 http://www.trainersfriend.com/**ROI/roi.htmlhttp://www.trainersfriend.com/ROI/roi.html

 --**--**--
 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: Assember

2013-06-24 Thread Sam Siegel
On Mon, Jun 24, 2013 at 8:23 AM, Ron Thomas ron5...@gmail.com wrote:

 Hello.

 can some one pls let me know what this assembler code does?

 TMI2REC+ISTAT-IREC,SDLET


Ron the code does the following

ISTAT-IREC the offset of ISTAT from IREC.
That offset is added to the address of I2REC.  This a location in memory.
Look at the object code in the listing to get the Base and Displacement
associated with I2REC+ISTAT-IREC
You will also be able to find the bit settings associated with SDLET by
looking at the object code in the listings.

The TM test the Location in memory with the value defined by SDLET

There should be a branch or jump instruction following the TM to take the
apporpriate code path depending on how the condition code is set.

Sam


 how the above code work?

 Thanks
 Ron

 --
 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: To recompile or not recompile, that's the question

2013-06-06 Thread Sam Siegel
On Thu, Jun 6, 2013 at 7:10 AM, John Gilmore jwgli...@gmail.com wrote:

 My own experience with the Enterprise PL/I Compiler and the relevant
 libraries is that Shmuel's second sort of problem, viz.,

 2. Code compiled with new compiler doesn't run correctly with old
 libraries.

 is still a significant one in a slightly different form: the
 incompatibilities are now among different versions of the LE
 libraries.

 There are easy workarounds available to the experienced, but they
 provide neither aid nor comfort to the inexperienced.


Please provide the easy workarounds so that we can all use them.



 John Gilmore, Ashland, MA 01721 - USA

 --
 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: To recompile or not recompile, that's the question

2013-05-31 Thread Sam Siegel
On Fri, May 31, 2013 at 3:34 PM, Skip Robinson jo.skip.robin...@sce.comwrote:

 I've never been in a shop where programs were (re)compiled into
 production. Once a program is compiled and tested, it's copied into
 production.

 Whatever risk might be incurred by moving a program into a down-level
 environment, the risk of recompiling is surely greater. Now if there's a
 problem, it's a nightmare to sort out change in environment from change in
 compiled module, which could be caused by any number of manual slip-ups.
 LE is very good at downward compatibility. I'll trust that over procedural
 vagaries any day.


Agreed ...
Recompiling into production would require a complete regression test to
ensure that the code still works as it did in the testing and certification
environments.   This will be an impossible task to accomplish as by
definition the code is in production and the required tests cannot be run
without impacting production balances, values, etc.

There are also compliance and regulatory issues which require extensive
documentation to show what is running in production is what was tested.


.

 .
 .
 JO.Skip Robinson
 Southern California Edison Company
 Electric Dragon Team Paddler
 SHARE MVS Program Co-Manager
 626-302-7535 Office
 323-715-0595 Mobile
 jo.skip.robin...@sce.com



 From:   Lizette Koehler stars...@mindspring.com
 To: IBM-MAIN@LISTSERV.UA.EDU,
 Date:   05/31/2013 02:40 PM
 Subject:Re: To recompile or not recompile, that's the question
 Sent by:IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU



 Changeman does compiles during Testing and Acceptance.  Once the package
 is
 released to production, it typically will do copies.  It does not usually
 do
 ReCompiles to move to a production environment.

 Lizette


 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
 Behalf Of Shmuel Metz (Seymour J.)
 Sent: Friday, May 31, 2013 12:40 PM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: To recompile or not recompile, that's the question

 In
 CAMP5vN8r92rb3ar6OR7Zw--7=rgqbvrbosue76iqc6e+yrq...@mail.gmail.com,
 on 05/31/2013
at 04:11 PM, Jan Vanbrabant vanbrabant...@gmail.com said:

 The customer is considering now to use Serena s ChangeMan/ZMF to manage
 the application sources and load modules.  That  tool does not really
 support re-compile.

 Ouch!

 Please, your thoughts!

 Not being able to recompile is a ticking time bomb.


 --
 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: Packed decimal and sign nibble

2013-04-24 Thread Sam Siegel
On Wed, Apr 24, 2013 at 7:43 AM, Phil Smith p...@voltage.com wrote:

 Suppose you have values that you're converting between character and
 packed decimal, in both directions at various times. You're a middleman, so
 you don't know what the application is going to be using the values for.

 For a non-negative value, packed decimal could be either positive or
 unsigned.

 What do folks usually do? Is it normal for code to actually care? That is,
 if we say Heck with it, we can't tell, so we'll just mark it positive, is
 that likely to cause problems? Or is use of unsigned rare enough that this
 is essentially a non-issue? (Hint: I'd like that last to be the case!)
 Obviously a sign= value could be passed around with the value, but that
 kind of metadata isn't in the stream now, so I'd rather not add it.

 Any and all ideas gratefully accepted...


It depends on how the packed data is used.  If comparisons are always done
using mathematical operators, then the sign bits will give results as
expected.

There are some places were the fields might not be checked for sign bits.
1) Sort control cards : SORT FIELDS=(1,5,A),FORMAT=BI
2) Assembler code that uses CLC to compare two packed fields
3) COBOL code that compares group level items with just 1 packed field
subordinate.
3.1)  05 WS-PACKED-1
3.2)  10 WS-PACKED-1-1 pic S9(3) comp-3 value +1.
3.1)  05 WS-PACKED-2
3.2)  10 WS-PACKED-2-1 pic 9(3) comp-3 value 1.
3.3)  If ws-packed-1 = ws-packed-2
3.3.1) Above will generate a CLC compare.
4) concatenated packed fields that are never used for math
4.1)  01 WS-BANK-KEY.
4.2)  05 WS-BRANCH  pic s9(5) comp-3.
4.3)  05 ws-account  pic s9(11) comp-3.
4.4) compares done as in 3.3 above.

I've seen this used extensively where I currently work.  They been on this
road for 30 years.  In Assembler it was easy to manage.  Recently converted
to COBOL and this makes for writing odd code.

Original design was done to save the expense of CP vs. CLC.  Now it is just
painful.


Sam


...phsiii



 --
 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: Packed decimal and sign nibble

2013-04-24 Thread Sam Siegel
On Wed, Apr 24, 2013 at 8:11 AM, Elardus Engelbrecht 
elardus.engelbre...@sita.co.za wrote:

 Sam Siegel wrote:

 4) concatenated packed fields that are never used for math
 4.1)  01 WS-BANK-KEY.
 4.2)  05 WS-BRANCH  pic s9(5) comp-3.
 4.3)  05 ws-account  pic s9(11) comp-3.
 4.4) compares done as in 3.3 above.

 CLC from left to right? So 12345 wil compare with 12345678901 with result
 CC = 0 ?


Comparison is always done on group levels which are the same length.

As mentioned, it is painful code.



 Just curious if you don't mind ;-)

 Groete / Greetings
 Elardus Engelbrecht

 --
 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: C question

2013-04-22 Thread Sam Siegel
Be sure to set the input string name in the parmlist to NULL on the second
through last invocation of strtok;  be sure your delimiters make sense for
the invocation.  You can change delimiters, if needed, on each invocation.


On Mon, Apr 22, 2013 at 3:21 PM, Scott Ford scott_j_f...@yahoo.com wrote:

 All:

 I need some C help ..

 I am reading a file and need to Tokenize the file so i can examine the :

 Parm = Value ..

 I have tried strtok and works to a certain degree my problem comes when
 I tried to strcmp the value to chaeck validity ...

 Can some give this old man some pointers


 Regards,

 Scott J Ford
 Software Engineer
 http://www.identityforge.com/

 --
 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: Sequence Numbrs (was 32760? (was: PARMDD?))

2013-04-07 Thread Sam Siegel
On Sun, Apr 7, 2013 at 4:16 PM, Steve Thompson sthomp...@us.ibm.com wrote:

 From:   Paul Gilmartin paulgboul...@aim.com
 Date:   04/07/2013 06:15 PM



 On Sun, 7 Apr 2013 18:08:54 -0400, Steve Thompson wrote:
 
 As a result this wonderful language, Java, has no sequence numbers, can
 be
 wider than your wide LCD panels. Now you need to make a change to
 something because of a bug report. How do you note the fix? And how do
 you
 send it? So far as I have seen, you pretty much re-release the whole
 product.
 
 http://pubs.opengroup.org/onlinepubs/9699919799/utilities/patch.html

 snip

 I read this rapidly. I'm trying to understand certain headaches we have
 with certain products where it seems that you have to do a re-install to
 put on fixes [and I do not necessarily mean here at IBM].

 I did notice that the Patch document refers specifically to a POSIX
 environment and C protocols as one would (at least me) expect to find in
 a *nix world.


Patch is the unix version of SUPERC that shows the delta between source
files.

diff3 allows a 3 way merge between the original source and 2 different
updates to the original source.  see: http://en.wikipedia.org/wiki/Diff3

I believe the point is that source maintenance can be done without the line
numbers.






 Regards,
 Steve Thompson

 Opinions expressed by this poster do not necessarily reflect those of
 poster's employer.

 --
 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: Sequence Numbrs (was 32760? (was: PARMDD?))

2013-04-07 Thread Sam Siegel
On Sun, Apr 7, 2013 at 5:19 PM, Paul Gilmartin paulgboul...@aim.com wrote:

 On Sun, 7 Apr 2013 16:57:23 -0700, Sam Siegel wrote:

 On Sun, Apr 7, 2013 at 4:16 PM, Steve Thompson wrote:
  
 
 http://pubs.opengroup.org/onlinepubs/9699919799/utilities/patch.html
 
  snip
 
  I read this rapidly. I'm trying to understand certain headaches we
 have
  with certain products where it seems that you have to do a re-install to
  put on fixes [and I do not necessarily mean here at IBM].
 
  I did notice that the Patch document refers specifically to a POSIX
  environment and C protocols as one would (at least me) expect to find
 in
  a *nix world.
 
 The POSIX environment has been available on MVS since 5.2.2  It's a
 couple levels down from that in the link: diff -u isn't available and
 you must rely on diff -c.  Similary effective; the patches are slightly
 more verbose.

 The C involvement is that with correct options, patch will update
 a C source file by inserting #ifdef (conditional compilation)
 instructions.  IEBUPDTE provides no corresponding facility to generate
 AIF, AGO, and ANOP instructions for HLASM.

 A delightful feature is that patch detects previously applied
 patches and prompts you for whether you want to ignore them
 or undo them.  Most formats of diff output are revertible
 patches.

 Patch is the unix version of SUPERC that shows the delta between source
 files.
 
 Slight correction.  The UNIX version of SUPERC is diff.  (I suspect
 they use similar algorithms.)  patch is the UNIX version of IEBUPDTE.


Thanks for correcting that error.  Fingers failed to connect with brain.



 diff3 allows a 3 way merge between the original source and 2 different
 updates to the original source.  see: http://en.wikipedia.org/wiki/Diff3
 
 I believe the point is that source maintenance can be done without the
 line
 numbers.
 
 Yup.

 -- 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: Lost datagrams on z/OS 1.12?

2013-03-19 Thread Sam Siegel
On Tue, Mar 19, 2013 at 12:16 PM, Charles Mills charl...@mcn.org wrote:

 I've got a problem that is defying my ability to find it. I have a product
 that uses sendto() to send UDP messages (datagrams). At one and perhaps two
 z/OS 1.12 customers I have seen a problem in which what appear to be
 perfectly good sendto()'s send a datagram that never arrives at its
 destination. (Of course, the lack of error feedback is a known
 characteristic of UDP.)


UDP does not guarantee delivery of packets or the order in which packets
are received.  It is up to the application to manage those issues.


 Version x.1 of my product does not exhibit this behavior. Version x.2 does.
 There is relatively little difference between how the two issue sendto(). I
 have never seen the problem on my development machine, including under z/OS
 1.12.

 It is definitely not a firewall or other external issue because Version x.1
 works fine. You bring it down and bring Version x.2 up with the same
 parameters and it works for a little while and then 100% of the messages
 start disappearing. You bring it down and bring x.1 back up and all is
 well.
 Similar TCP/IP code does not seem to have the same problem.

 Yes, obviously it could be your basic program bug and I am of course
 working
 the heck out of that angle. I'm not asking this list to debug code it has
 not seen. The code is way too complex to post here meaningfully.

 But does this problem ring a bell with anyone? I am not the most skilled in
 the world at searching for APARs. Does anyone else want to spend 5 minutes
 and see if you can find anything?

 Thanks much,
 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


Re: Load To Global with PC_cp (OT)

2013-02-19 Thread Sam Siegel
On Tue, Feb 19, 2013 at 10:44 AM, Mark Hammond markhamm...@ateras.comwrote:

 In the creation model, chickens (or at least the chicken kind) were
 directly created by God.   Then they had eggs.


Please do not take offence   I'm not point fingers at religion, but merely
remembering the genius of Dr. Seuss.

JOKE  But were they green eggs?  And did they come with ham? /JOKE


 Mark Hammond

 -Original Message-
 From: Gerhard Postpischil [mailto:gerh...@valley.net]
 Sent: Tuesday, February 19, 2013 10:16 AM
 To: IBM-MAIN@LISTSERV.UA.EDU
 Subject: Re: Load To Global with PC_cp (OT)

 On 2/19/2013 7:54 AM, Peter Relson wrote:
  Since the chicken and egg situation was (correctly) mentioned,

 A chicken and egg situation exists only for people who don't understand
 evolution (a bird not quite a chicken laid a mutated egg that grew into a
 chicken). I'm amazed that more than 150 years after Darwin and Wallace
 people still get it wrong g

 Gerhard Postpischil
 Bradford, Vermont

 --
 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: mainframe selling points

2013-02-04 Thread Sam Siegel
On Mon, Feb 4, 2013 at 1:00 PM, John McKown john.archie.mck...@gmail.comwrote:

 The C run-time library, IIRC. So it only works for things which are
 written in C and use the C run-time (as opposed to written in C and
 using some other method), or for things not using the C run-time, but
 which look at the tag information themselves and do any conversion
 necessary (likely via iconv or equivalent).


For the most part, C runtime library functions can be called from any HLL
that generate an IBM standard parmlist.

It might not be convient to do in COBOL, etc. because there is no
appropriate header files.  However, you can manually build the parmlist.





 On Mon, Feb 4, 2013 at 2:44 PM, Paul Gilmartin paulgboul...@aim.com
 wrote:
  On Mon, 4 Feb 2013 09:33:17 -0500, Shmuel Metz (Seymour J.)  wrote:
 
  on 02/02/2013 at 08:56 PM, Paul Gilmartin paulgboul...@aim.com said:
 
 How much of that does autoconversion fail to do?
 
 That would depend on the program. Also, does Perl do autoconversion of
 the source code?
 
  I believe that autoconversion is done at something like the
  access method layer.
 
  -- gil
 
  --
  For IBM-MAIN subscribe / signoff / archive access instructions,
  send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



 --
 Maranatha! 
 John McKown

 --
 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: My Last Days as a Sysprog

2013-02-04 Thread Sam Siegel
On Mon, Feb 4, 2013 at 4:14 PM, John Gilmore jwgli...@gmail.com wrote:

 Working habits and methods vary widely.  Results are crucial, the path
 taken to reach them is not.


Many would say the means are as important as the ends.




 Haruspicina is messy; but If, improbably, an augur got good results by
 framing a cloud bank with his lituus, I would applaud.

 John Gilmore, Ashland, MA 01721 - USA

 --
 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


  1   2   >