SMS trace is the only non pay for product I know

Otherwise I only know about SMSDEBUG, which is not really a decompiler - but 
rather an enhanced trace for SMS code.

Lizette


> -----Original Message-----
> From: IBM Mainframe Discussion List <[email protected]> On Behalf Of
> Mark Zelden
> Sent: Thursday, May 02, 2019 1:18 PM
> To: [email protected]
> Subject: SMS ACS Routine Decompiler
> 
> Has anyone on this list ever heard of or seen a decompiler for ACS object
> code?  If so I'm hoping there is a newer / better version of it than what
> someone used in 2016.
> 
> Background:   I needed to make a STORCLAS SMS change on a very small seldom
> touched LPAR
> for my client.  When I changed the code I found there were a ton of errors
> trying to compile the code.  The ISPF stats said 2016 but the last object
> change was in 2014.
> When I looked at the code closer, I could tell it was created by some
> decompiler.  All the filter lists were named FLT1, FLT2, FLT3, etc. and each
> filter INCLUDE list item was on a separate
> line.   All the logic code was nested IF/THEN/ELSE when I know the original
> was better
> structured with "SELECT WHEN".   I assume the ACS source PDS must have been
> migrated
> and expired because it hadn't been touched in so long and someone got a hold
> of this decompiler to try and recreate the ACS routines.  I was never
> informed and whomever did this is long gone and swept it under the rug and
> didn't tell anyone.
> 
> I've spent the entire week fixing the routines based on what I know of the
> system, looking at existing data set allocations, JES2 allocation logs etc.
> and now have a good working set of DATACLAS, STORCLAS, MGMTCLAS and STORGRP
> routines, but as I wrote above, I'm curious if there is a better / newer
> version of whatever was used and I'm just curious in general because I have
> checked the CBT,  done some asking around and even was put in contact with
> someone from a well known software company (not IBM) that has many SMS tools
> and they never heard of an ACS decompiler.
> 
> Just as an example, the DATACLAS routine looks like it was an original SMS
> sample and I even recognized part of it in a manual and in
> SYS1.SAMPLIB(DFPSSDCR).  All the SELECT WHEN code to assign the DATACLAS
> based on LLQ was just a mess of nested IF/THEN/ELSE statements:
> 
> ==============================
> IF (&LLQ = &FLT5) THEN DO
>  SET &DATACLAS  = 'LOADLIB'
>  EXIT
> END
> ELSE IF (&LLQ = &FLT6) THEN DO
>  SET &DATACLAS  = 'SRCFLIBP'
>  EXIT
> END
> ELSE IF (&LLQ = COB*) THEN DO
>  SET &DATACLAS  = 'SRCFLIBS'
>  EXIT
> END
> ELSE IF (&LLQ = CLIST*) THEN DO
>  SET &DATACLAS  = 'SRCVLIB'
>  EXIT
> END
> ELSE IF (&LLQ = &FLT7) THEN DO
>  SET &DATACLAS  = 'LISTING'
>  EXIT
> END
> ELSE IF (&LLQ = &FLT8) THEN DO
>  SET &DATACLAS  = 'DATAF'
>  EXIT
> END
> ELSE IF (&LLQ = 'VDATA') THEN DO
>  SET &DATACLAS  = 'DATAV'
>  EXIT
> END
> ELSE DO
>  SET &DATACLAS  = ''
>  EXIT
> END
> ==============================
> 
> 
> FYI, here is a summary of the problems I found I put in a $$README member in
> the ACS library:
> 
> There were many problems with the decompiled code.  Literals
> weren't quoted, all the FILTLISTs were numbered FLT1, FLT2, FLT3,..
> but the logic code had them as FLT11, FLT22, FLT33 and then some
> were out of order and called FLT45, FLT56 etc.  Some FILTLISTs that
> were INCLUDE were set to EXCLUDE instead.  FILTLISTs with a single
> value were removed and had the value used directly in the logic
> code (but not quoted of course).  Comparison checks for null values
> were wrong.  All the original "SELECT WHEN" code was changed to
> nested IF/THEN/ELSE statements and sometimes it wasn't done
> correctly.  Not to mention how much more confusing all the
> IF/THEN/ELSE logic is, however, I didn't attempt to change any of
> it back to "SELECT WHEN".
> 
> 
> Regards,
> 
> Mark
> --
> Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS ITIL v3
> Foundation Certified mailto:[email protected] Mark's MVS Utilities:
> http://www.mzelden.com/mvsutil.html
> Systems Programming expert at http://search390.techtarget.com/ateExperts/
> 
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to
> [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to