Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

S36 Environment Files

529 views
Skip to first unread message

Chad White

unread,
Mar 23, 2010, 8:52:02 AM3/23/10
to
I am in the process of converting a someone running S36 software on a
AIX box using Unibol to an iSeries. The first phase they just want
everything moved over to iSeries and running exactly as it does on the
AIX. There are a lot of programs that create new temporary a file
(FILEA), read a fairly large file (2.5 million records) (FILEB) and
output most of those back to the temporary file. On the Unibol system
they did not have to specify the size of the file being created, but
on the iSeries in the OCL36 it does. At first I thought it wouldn't
matter the size to create it, but it seems that it does. I looked at
the job log after a program ran an it extend a file 32 times. I
changed the OCL to created the file the same size as the input file
and it seemed to dramatically increase the performance.

I really haven't done any 36 programming on an iSeries and was
wondering if anyone one could give me any information on how the files
are handled. Also does the S36 environment allow you to use data from
a library list or are you locked to data residing in just one library?

Thanks

ga

unread,
Mar 24, 2010, 7:33:30 AM3/24/10
to
I have worked with S/36E longer than I care to remember. The good
news is on AS/400 you can mix/match as/400 and S/36E stuff even with
files. Like instead of deleting/rebuilding files, you can do
CLRPFM's.

Not really sure what other questions you have but as far as files from
the library list, yes, that works in S/36E. You simply do a
// FILELIB LIBL-YES statement and it will find the file if it's in
your library list.
You can also do a // FILELIB NAME-LIBNAME
with an optional ",SESSION-YES or ,SESSION,NO I believe.
If you use the // FILELIB NAME-LIBNAME from that point on, it looks
for S/36E files in that library instead of the default library (i.e.
QS36F) The default S/36E library can be changed via CHGS36 command.

One gotcha is if you do a BLDINDEX (builds an alternate index (logical
file)) over a S/36 file, you have to build the index in the same file
the logical file is located I believe. For instance, if your default
files library is QS36F and you do a // FILELIB LIBL-YES and you have a
file, MYFILE, in MYS36F library, and you do a BLDINDEX over MYFILE, it
will die, unless you do a // FILELIB NAME-MYS36F. Just one thing I
can remember.

S/36 files are ALWAYS PROGRAMMATIALLY Defined in RPG II.

Get a copy of this manual - it will help you a lot (I consider it an
S/36E BIBLE):
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/books/sc414731.pdf

There are a lot of old S/36E manuals out there that can help you on
IBM's web-site I'm pretty sure in addition to this one. I think
there might be an SC41-4730 too.

If you have any other specific questions, feel free to post, I am here
regularly.
ga


The manual you really need to get i
Chad White <chadw...@gmail.com> wrote:

ga
nos...@nospam.fmctc.com

ga

unread,
Mar 24, 2010, 9:14:08 AM3/24/10
to
One more thing...

I also believe if you do CHGS36 you can also set it in there to look
for files in the library list...that's also in Change S/36 Environment
values, which is also where the DEFAULT files library is set.

However, the // FILELIB NAME-LIBNAME OVERRIDES that Default files
library value, while in force...

ga <noe...@spam.fmctc.com> wrote:

ga
nos...@nospam.fmctc.com

Chad White

unread,
Mar 25, 2010, 1:39:42 PM3/25/10
to
Have you had any experience with printing and embedding printer
control commands in the output. I have several programs that are
sending control commands to an HP8150 and also a Data Max thermal
print that is doing things like changing the pitch size, font and
sending half line feeds.

trans am kid

unread,
Mar 26, 2010, 3:15:46 PM3/26/10
to
It all depends on how your printers will be connected to the i.

For example, say that your printers are connected via io corp printer
boxes or their adaptio product, not only can you do quite a few things
related to controlling the printing but you can do "pass thru" of
control characters (of course if they have put out hex characters in
the print buffer those get will need to get converted).

Natively attached, running in an S/36 E, then maybe subr50 MIGHT be
some help. It has been 25 years since I played with subr50, as all my
printers run thru io corp print boxes as I print bar codes, graphs,
boxes, change fonts, etc. (and have for years and years).

chris

CRPence

unread,
Mar 26, 2010, 3:48:49 PM3/26/10
to
Chad White wrote:
> I am in the process of converting for someone running S36

> software on a AIX box using Unibol to an iSeries. The first phase
> they just want everything moved over to iSeries and running
> exactly as it does on the AIX. There are a lot of programs that
> create new a temporary file (FILEA), read a fairly large file

> (2.5 million records) (FILEB) and output most of those back to
> the temporary file. On the Unibol system they did not have to
> specify the size of the file being created, but on the iSeries in
> the OCL36 it does. At first I thought it wouldn't matter the size
> to create it, but it seems that it does. I looked at the job log
> after a program ran and it extend a file 32 times. I changed the
> OCL to create the file the same size as the input file and it

> seemed to dramatically increase the performance.

The extents are useless interruptions to copy\write activity,
involving message inquiry & reply. They are much like repeatedly
returning to an authority to ask permission to continue with the
next step of a process, rather than asking once at the beginning for
permission to complete every step of a process. As such, the size
is best specified on the file when it is created, to avoid such
extents; i.e. in the analogy, asking for the full capability in\from
the beginning.

I think an alternate\custom version of either // BLDFILE or $FILE
could effect a more reasonable default for the size, if the required
size is not each time calculated & provided as input to BLDFILE.

> I really haven't done any 36 programming on an iSeries and was
> wondering if anyone one could give me any information on how the
> files are handled.

Not sure how to respond; i.e. maybe some specific questions would
be easier to answer.?

> Also does the S36 environment allow you to use data from a
> library list or are you locked to data residing in just one
> library?

See FLIB LibNam,LIBL /* second parameter names the *LIBL as being
available */; IIRC both the CHGS36E has an equivalent parameter to
effect a S36EE default and the CHGS36 interactive interface to
view\change the same settings as those available on CHGS36E.

Regards, Chuck

0 new messages