Hex Long Floating Point REXX

2013-05-19 Thread Uwe Oswald
Hi @ll,



has someone ever tried to extract fields SMF30DDS and SMF30DDR (long floating 
point hex) or any field in REXX? There are a couple of F2something routines 
out there but it seems that none of them produce the right value. Has somebody 
a REXX example for me? Anything would be very appreciated since it might bring 
me further.



Thx in advance.



Cheers



Uwe

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


Re: Hex Long Floating Point REXX

2013-05-19 Thread Robert AH Prins

On 2013-05-19 09:40, Uwe Oswald wrote:

Hi @ll,

has someone ever tried to extract fields SMF30DDS and SMF30DDR (long floating
point hex) or any field in REXX? There are a couple of F2something routines
out there but it seems that none of them produce the right value. Has
somebody a REXX example for me? Anything would be very appreciated since it
might bring me further.


This code coming from Michel Castelein  Jim Connelly might be of some use


/* REXX - convert float to dec + dec to float routines*/
ispclear
do until opt = 0 | opt = ''
  say 'Select option'
  say
  say ' 0: exit'
  say ' 1: Castelein, float(hex) to dec'
  say ' 2: Connelly,  dec (char) to float(hex) to dec'

  pull opt
  opt = left(opt, 1)

  select
when opt = 1 then call castelein
when opt = 2 then call connelly
otherwise
  end
end
exit 0

/* This REXX exec computes a S/370 floating-point's value ...
   e.g. X'C128' represents -2.5
  (Michel Castelein, 5 November 1997)*/
castelein:

say 'Enter the S/370 floating-point (4, 8, or 16 bytes):'
numeric digits 34
pull float

float = X2C(float)   /* convert float to a hexadecimal string*/
float_size = LENGTH(float)   /* size in Bytes*/

Byte_0 = SUBSTR(float, 1, 1)
select
  when BITAND(Byte_0, '80'x) == '00'x then sign = '+'
  when BITAND(Byte_0, '80'x) == '80'x then sign = '-'
end

exponent = C2D(BITAND(Byte_0, '7F'x)) - 64
fraction = 0
power= -1

do i = 2 to float_size
   if i = 9 then iterate   /* skip bits 64-71*/
   Next_Byte   = C2D(SUBSTR(float, i, 1))
   left_Digit  = Next_Byte % 16
   fraction= fraction + left_Digit * 16**power
   right_Digit = Next_Byte // 16
   power   = power - 1
   fraction= fraction + right_Digit * 16**power
   power   = power - 1
end
interpret 'value =' sign ( fraction * 16 ** exponent )
say The floating-point's value is value
say
say 'Press Enter to continue'
pull
return
/*
TEST_WORK.FS=1.0E+01;
TEST_WORK.FL=1.000E+01;
TEST_WORK.FE=1.E+01;
'41A0'B
'41A0'B
'41A03300'B
TEST_WORK.FS=3.16227E+00;
 3.1622772216796875
TEST_WORK.FL=3.162277660168379E+00;
 3.162277660168379300742458326567430049181
TEST_WORK.FE=3.16227766016837933199889354443270E+00;
 3.162277660168379331998893544432716995013
'413298B0'B
'413298B075B4B6A5'B
'413298B075B4B6A533240945790619B3'B
*/

/* REXX -+
 *   |
 * Converts a number to internal float format.   |
 * Displays the result   |
 * Then converts the result back out to decimal. |
 *   |
 * Written by Jim Connelley  |
 *   |
 * Tracing thru this code is a good way to get   |
 * familiar with IBM system 390 internal |
 * floating point format.|
 *   |
 *---+
 */
connelly:
Numeric Digits 100 /* handle BIG numbers */
/*
Parse Upper Arg input_val .
*/

say 'Enter S/390 floating point value'
pull input_val .

Say Input Value:   input_val
If datatype(input_val) /= NUM Then Do
  Say invalid value
  return
  End
If input_val = 0 Then Do  /* special case zero */
  Say Resulting Value:   
  Say Floating value converted back: 0
  return
  End
input_val = Format(input_val)

/*---+
 * Handle leading minus sign |
 *---+
 */
If left(input_val,1) = - Then Do
  Sign = 80x
  input_val = Substr(input_val,2)   /* remove sign */
  End
Else Do
  Sign = 00x
  End

/*---+
 * Separate input into integer and fraction  |
 *---+
 */
Parse Var input_val input_integer . input_fract

/*---+
 * If no fraction given, then default to zero|
 *---+
 */
If input_fract =  Then input_fract = 0
input_fract = .input_fract

/*---+
 * Convert integer portion directly  |
 *---+
 */
float_value = D2x(input_integer)
If float_value = 0 Then float_value = 

/*---+
 * If there is no integer portion, then we can normalize |
 * just the fraction portion of the input value. |
 *---+
 */
exponent = Length(float_value)
If exponent = 0 Then Do Forever
  

Re: Hex Long Floating Point REXX

2013-05-19 Thread Lizette Koehler
You may wish to check out this url.  It is an article from IBM Systems News
on handling SMF with REXX.  It may have some pointers 

http://www.ibmsystemsmag.com/mainframe/tipstechniques/applicationdevelopment
/rexx_smf_part2/?page=2


Lizette


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Uwe Oswald
Sent: Sunday, May 19, 2013 2:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Hex Long Floating Point  REXX

Hi @ll,



has someone ever tried to extract fields SMF30DDS and SMF30DDR (long
floating point hex) or any field in REXX? There are a couple of
F2something routines out there but it seems that none of them produce the
right value. Has somebody a REXX example for me? Anything would be very
appreciated since it might bring me further.



Thx in advance.



Cheers



Uwe

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


Re: Renaming an LPAR dynamically

2013-05-19 Thread Skip Robinson
As I mentioned a follow-on post, I eventually PORed to get the new IODF 
active with no change other than LPAR name. It's not clear from Carlos's 
post that the all the other original LPAR attributes and connections would 
remain intact after first becoming '*'. If not, POR (in my particular 
case) was less painful than having to redefine everything else from 
scratch. 

.
.
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:   carlos roberto visconde cvisco...@ig.com.br
To: IBM-MAIN@LISTSERV.UA.EDU, 
Date:   05/18/2013 02:36 PM
Subject:Re: Renaming an LPAR dynamically
Sent by:IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU



Yes, you have first rename the LPAR to '*', in IODF (IOCDS)
Activate the IODF

Deactivate the partition,  uncheck to CRYPTO PROCESSORs of that partition,
Activate the partition.
(puting CHPIDS OFF)
Deactivate the LPAR
then active new IODF with new Name
Chek the CRYPTO PROCESSORs, activate the partiiton



2013/5/10 Skip Robinson jo.skip.robin...@sce.com

 I've poked around and not found a concise explanation. We have an LPAR
 whose name needs to change. Everything else in the IODF is fine, just a
 name problem. Current hardware and software.
 I changed the name in HCD. When I tried to ACTIVATE the new IODF, it
 choked on the name mismatch. I gather that I can first rename to '*', 
then
 rename for real in two successive IODFs. If I do that, do I preserve all
 original chpid and device connections? I don't want to start over from
 scratch when only the name is wrong.




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


Re: Rather interesting article on hacking the mainframe using ftp

2013-05-19 Thread Kirk Wolf
I guess you could call it hacking.   Or just using a wide-open system :-)

The user would need:

- network access to the FTP and listen port
   - firewalls could prevent
   - the TCP stack could limit (TERMINAL, SERVAUTH, etc)

- access to FTP and ability to upload an executable file
   - an FTP exit could be used to prevent either

- permission to submit a job
   SAF and/or a FTP exit could limit this

- job would need permission to listen on a port

- user could be prevented from running a shell
  default program in OMVS segment


Kirk Wolf
Dovetailed Technologies
http://dovetail.com


On Sat, May 18, 2013 at 3:17 PM, John McKown
john.archie.mck...@gmail.comwrote:


 http://mainframed767.tumblr.com/post/50574743147/big-iron-back-door-maintp-part-two

 basically the person must be able to ftp into a UNIX subdirectory and
 to submit a job. They upload a program called netcat into a data set
 starting with their RACF id. They then submit a job which copies the
 data set into the /tmp subdirectory with a random name, chmod the
 name to be executable, then executes does starts the netcat in the
 background (asynchronous to the batch job) and piping to/from the
 z/OS UNIX shell. The hacker simply connects to the port that netcat
 is listening on, and presto, they have a shell on their desktop.



 --
 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: Hex Long Floating Point REXX

2013-05-19 Thread Paul Gilmartin
On Sun, 19 May 2013 13:24:49 +, Robert AH Prins wrote:

On 2013-05-19 09:40, Uwe Oswald wrote:
 Hi @ll,

 has someone ever tried to extract fields SMF30DDS and SMF30DDR (long floating
 point hex) or any field in REXX? There are a couple of F2something routines
 out there but it seems that none of them produce the right value. Has
 somebody a REXX example for me? Anything would be very appreciated since it
 might bring me further.

This code coming from Michel Castelein  Jim Connelly might be of some use

...
Eek!  Clearly the author's brain was rotted by excessive exposure to
Assembler programming.  Why not simply:

/* This REXX exec computes a S/370 floating-point's value ...
e.g. X'C128' represents -2.5
*/
castelein:
parse arg Float
numeric digits ( length( Float ) % 0.4 )  /* 1 / log( 256 ) */

parse var Float Hexponent 2 Mantissa

sign = 1 - c2d( Hexponent ) % 128 * 2
Hexponent = c2d( bitand( Hexponent, '7F'x ) ) - 64
Hexponent = Hexponent - 2 * length( Mantissa )

Dec = sign * 16 ** Hexponent * c2d( Mantissa )
say c2x( Float ) Dec
return( Dec )


The problem of decimal to HFP is a nightmare, relatively.  I'd be
tempted to use iteration to find a root of the HFP to decimal function.

-- gil

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


Re: Rather interesting article on hacking the mainframe using ftp

2013-05-19 Thread Walt Farrell
On Sat, 18 May 2013 15:17:22 -0500, John McKown john.archie.mck...@gmail.com 
wrote:

http://mainframed767.tumblr.com/post/50574743147/big-iron-back-door-maintp-part-two

basically the person must be able to ftp into a UNIX subdirectory and
to submit a job. They upload a program called netcat into a data set
starting with their RACF id. They then submit a job which copies the
data set into the /tmp subdirectory with a random name, chmod the
name to be executable, then executes does starts the netcat in the
background (asynchronous to the batch job) and piping to/from the
z/OS UNIX shell. The hacker simply connects to the port that netcat
is listening on, and presto, they have a shell on their desktop.

True, but they anything they can do using that shell they could have done 
directly within the batch job that they submitted. If the administrators did 
not want them running batch jobs, they could have prevented that quite easily.

-- 
Walt

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


Re: Hex Long Floating Point REXX

2013-05-19 Thread John Gilmore
There is plenty of C and PL/I support available for BFP.  Having a
brain rotted by excessive exposure to assembly language, I would thus
use the conversion machine instructions THDER, THDR, TBDER, and TBDR
to move back and forth between HFP and BFP.

As yet there are no conversion instructions for HFP==DFP or even
BFP==DFP; but they are, I suspect, in the womb of time, perhaps
indeed nearly at term.

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


Re: Rather interesting article on hacking the mainframe using ftp

2013-05-19 Thread Bill Godfrey
In the Python script that a link in that site points to, I see that one line, 
525, is over 202000 bytes long, assigning a string literal about that long to a 
variable. I couldn't help but reflect that some text editors and viewers would 
have trouble with that line. Python does allow string literals to be split and 
continued on separate lines.

Bill

On Sat, 18 May 2013 15:17:22 -0500, John McKown wrote:

http://mainframed767.tumblr.com/post/50574743147/big-iron-back-door-maintp-part-two

basically the person must be able to ftp into a UNIX subdirectory and
to submit a job. They upload a program called netcat into a data set
starting with their RACF id. They then submit a job which copies the
data set into the /tmp subdirectory with a random name, chmod the
name to be executable, then executes does starts the netcat in the
background (asynchronous to the batch job) and piping to/from the
z/OS UNIX shell. The hacker simply connects to the port that netcat
is listening on, and presto, they have a shell on their desktop.



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


New APP from DTS Software

2013-05-19 Thread Lizette Koehler
This is not an ADVERT.

I was on the DTS software website and saw they have an android app for their
pocket reference guide.  You do not need the DTS Software to get the Pocket
Guide


DTS Software's popular z/OS Pocket Reference Guide finally makes its way to
the app market. Useful information for mainframe programmers,
administrators, and others is now even more easily available. The free
Android application can be downloaded from the Google app store.

If interested, you should find it at this url

http://www.dtssoftware.com/download_pocket_reference_guide.htm




Lizette

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


Re: Rather interesting article on hacking the mainframe using ftp

2013-05-19 Thread Scott Ford
I agree you need a RACF ID and password an of course a list of permits. Which 
as was pointed that batch submission can be prevented by the permits no being 
there. Secondly, I find an article of this type irresponsible. 

Scott ford
www.identityforge.com
from my IPAD

'Infinite wisdom through infinite means'


On May 19, 2013, at 1:57 PM, Bill Godfrey yak36...@yahoo.com wrote:

 In the Python script that a link in that site points to, I see that one line, 
 525, is over 202000 bytes long, assigning a string literal about that long to 
 a variable. I couldn't help but reflect that some text editors and viewers 
 would have trouble with that line. Python does allow string literals to be 
 split and continued on separate lines.
 
 Bill
 
 On Sat, 18 May 2013 15:17:22 -0500, John McKown wrote:
 
 http://mainframed767.tumblr.com/post/50574743147/big-iron-back-door-maintp-part-two
 
 basically the person must be able to ftp into a UNIX subdirectory and
 to submit a job. They upload a program called netcat into a data set
 starting with their RACF id. They then submit a job which copies the
 data set into the /tmp subdirectory with a random name, chmod the
 name to be executable, then executes does starts the netcat in the
 background (asynchronous to the batch job) and piping to/from the
 z/OS UNIX shell. The hacker simply connects to the port that netcat
 is listening on, and presto, they have a shell on their desktop.
 
 --
 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: New APP from DTS Software

2013-05-19 Thread Hardee, Chuck
Yeah, but Google won't let me install it on my Kindle Fire which doesn't make 
me extremely pleased since my phone is a Blackberry, and not an android on, 
either!

Charles (Chuck) Hardee
Senior Systems Engineer
Database Administration
Information Technology Services
Thermo Fisher Scientific
300 Industry Drive
Pittsburgh, PA 15275
Direct: 724-517-2633
FAX: 412-490-9230
chuck.har...@thermofisher.com

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of AbsKerneels
Sent: Sunday, May 19, 2013 4:40 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: New APP from DTS Software

Hi,

Google even says... This app is compatible with your T-Mobile Samsung 
SGH-T999.

Note: Amazing what they know about us these days :

http://www.youtube.com/watch?v=0p_jeoOkhq0

Kerneels

On 5/19/2013 1:34 PM, Lizette Koehler wrote:
 This is not an ADVERT.

 I was on the DTS software website and saw they have an android app for their
 pocket reference guide.  You do not need the DTS Software to get the Pocket
 Guide


 DTS Software's popular z/OS Pocket Reference Guide finally makes its way to
 the app market. Useful information for mainframe programmers,
 administrators, and others is now even more easily available. The free
 Android application can be downloaded from the Google app store.

 If interested, you should find it at this url

 http://www.dtssoftware.com/download_pocket_reference_guide.htm




 Lizette

 --
 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: Renaming an LPAR dynamically

2013-05-19 Thread carlos roberto visconde
My sugestion was to you avoid POR, with that procedure only the LPAR you
had to put PCHID and Crypto processor offline and after online, woud be the
LPAR you had to rename.


2013/5/19 Skip Robinson jo.skip.robin...@sce.com

 As I mentioned a follow-on post, I eventually PORed to get the new IODF
 active with no change other than LPAR name. It's not clear from Carlos's
 post that the all the other original LPAR attributes and connections would
 remain intact after first becoming '*'. If not, POR (in my particular
 case) was less painful than having to redefine everything else from
 scratch.

 .
 .
 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:   carlos roberto visconde cvisco...@ig.com.br
 To: IBM-MAIN@LISTSERV.UA.EDU,
 Date:   05/18/2013 02:36 PM
 Subject:Re: Renaming an LPAR dynamically
 Sent by:IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU



 Yes, you have first rename the LPAR to '*', in IODF (IOCDS)
 Activate the IODF

 Deactivate the partition,  uncheck to CRYPTO PROCESSORs of that partition,
 Activate the partition.
 (puting CHPIDS OFF)
 Deactivate the LPAR
 then active new IODF with new Name
 Chek the CRYPTO PROCESSORs, activate the partiiton



 2013/5/10 Skip Robinson jo.skip.robin...@sce.com

  I've poked around and not found a concise explanation. We have an LPAR
  whose name needs to change. Everything else in the IODF is fine, just a
  name problem. Current hardware and software.
  I changed the name in HCD. When I tried to ACTIVATE the new IODF, it
  choked on the name mismatch. I gather that I can first rename to '*',
 then
  rename for real in two successive IODFs. If I do that, do I preserve all
  original chpid and device connections? I don't want to start over from
  scratch when only the name is wrong.
 



 --
 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: JOB: z/OS Systems Programmer @ Univ. of FL

2013-05-19 Thread Timothy Sipples
Watch out for the speed traps in the area, e.g. Waldo and Lawtey, Florida.

One of the benefits is likely to be the ability to take courses at the
University at no charge. Bus rides are free on Gainesville's RTS with a
staff ID, which means you may be able to convert from a two car household
to a one car household (for example). There's affordable preschool (Baby
Gator). Staff can use all the UFL facilities (e.g. library, tennis courts,
etc.) generally free of charge. UFL pays for a certain number of children
of employees to attend free of charge.

Property taxes tend to be low in Florida, although that might mean a
challenge finding good schools. (I'm not sure about the area around UFL.)
Florida has a homestead exemption which is quite interesting and which
still offers some protection in bankruptcy (O.J. Simpson is familiar).
Florida was hit very hard in the mortgage/financial crisis and hasn't
really recovered, so some parts of the state offer very affordable real
estate. Employment at UFL is likely to be fairly stable, and working hours
are likely to be reasonable. As mentioned there's no state income tax, and
the sales tax rate in and around Gainesville is 6%. The local job market is
not terribly strong, so you'll probably want to be prepared to move again
if you leave UFL for other employment.

Gainesville has an airport (GNV) which American, Delta, United, and U.S.
Airways serve to/from their hub cities in the region. The city's elevation
is high by Florida standards (151 feet), and it's inland so not too badly
affected by hurricanes. Local flooding could still be a problem. Tornados
are possible, but that's true in much of the U.S. A weather radio and a
storm shelter are recommended. Ice storms sometimes occur in the winter,
and its gets hot and humid in the summer.

If you're looking for a position I'd seriously investigate that one. It
looks fairly compelling.


Timothy Sipples
GMU VCT Architect Executive (Based in Singapore)
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


Re: Predict WLC invoice amount ...

2013-05-19 Thread Timothy Sipples
Words have meaning. ...Which probably at least reduce the intensity...
almost never means *zero* worry. Why else would I have typed those words?

Let's try again. Enterprise License Agreements (ELAs) still require SCRT
collection and submission. I didn't claim otherwise. How much you worry
about those monthly reports -- the intensity of worry -- will depend in
large measure on your caps relative to your utilization.

I strongly disagree with the statement that Tails IBM wins, heads you
lose with ELAs. The ideal case is that you choose caps (a utilization
forecast) that are exactly as you experience. However, if you don't -- if
you're either too high or too low -- YOU STILL ENJOY ELA BENEFITS! You
haven't *maximized* those benefits, but you still come out way ahead unless
you've totally screwed up. It's a gamble, but the odds of winning that bet
are HEAVILY weighted in your favor.

Ask your IBM representative.


Timothy Sipples
GMU VCT Architect Executive (Based in Singapore)
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


Re: Rather interesting article on hacking the mainframe using ftp

2013-05-19 Thread Paul Gilmartin
On Sun, 19 May 2013 18:21:38 -0400, Scott Ford wrote:

I agree you need a RACF ID and password an of course a list of permits. Which 
as was pointed that batch submission can be prevented by the permits no being 
there. Secondly, I find an article of this type irresponsible. 
 
irresponsible because it contains misinformation or incomplete information,
or because it contains information you feel only you are entitled to know?

-- gil

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