Sorry no machine, but here is a quick overview of what I have
experienced over the years.
If you are familiar with modules in RPG it will help understand 2E. The
areas I see new people have the most problems with is parameters and
changing functions and not realizing the impact.
Parameters because they do not realize that the name being passed in
is not necessarily going to be the same name inside the function. Also
the scope of the parameters, I recommend staying away from the WRK
context. And they can be input, output or both. Along with restricted,
position, mapped, and probably others I forget.
Functions because some of the functions are not compliable themselves,
they get copied into other functions when they get generated. So they
will change a function to make it do what they need it to do without
considering where else it is used. The other functions that use that
function work fine until you need to make a change to them and they you
run into programs because something was changed at some other time.
Think of /copy in RPG.
For the function type of RTVOBJ, works different based on how the
parameters for the keys are setup, if all restricted it is a chain, if
not all the keys are one is set to position the it is a SETLL and READE
(if one is restricted). And to this day (started in 88) still forget to
put a move *all in the RTVOBJ to return the values of fields out of the
RTVOBJ. I prefer a move *ALL (with *Blanks) in the record not found user
exit also.
You cannot change the source with SEU, when you regenerate a function
it deletes the source and starts with an empty source member, you either
need to use a user source function or the command YSCNRPLSRC and put it
in the function.
What most people do not realize is that there is a Y1 and a Y2
product. Y1 is commands that could be used without Y2 and was developed
and sold to provide revenue while they designed Y2. And a lot of the Y1
tools are used with Y2, such as compiler overrides you can put in the
source. Because of this you cannot just move the compiles from the
normal job queue to any job queue on the system (it needs the Routing
entries for Y2).
Arrays are hard for some also, but if you think of them as multiple
occurrence data structures with keys it might help to understand them.
They are like files in memory.
Get used to the user exits by zooming in so you can see where they are
in the logic cycle. And the CALC user exit does get called more than it
looks like it does, it gets called before and after the screen.
I have not used with some of the newer modules like the web part.
You are not going to like its names or the way it generates source, but
you get used to it.
On 12/18/2010 9:26 AM, Richard Reeve wrote:
Does anyone have a box with Synon installed or know of someone that might
be willing to let me access it to practice/come up to speed with Synon? I am
starting a job on 12/27 and have looked at the tutorial but would really like to
work with it a bit prior to starting this job.
Thanks for any advice that you might have. Happy Holidays to all.
Warmest Regards,
Richard Reeve
As an Amazon Associate we earn from qualifying purchases.