Solved

S/36 Migration to AS/400

Posted on 2010-08-25
7
857 Views
Last Modified: 2013-12-06
All I am currently in the process of migrating to from a virtual S36
machine to a S36 Environment.  I have found that the software appears
to be using external Assembler subroutines or I assume that is what it
is doing.  The OPT Code is EXIT and when I did the RSTS36LIBM it
created a QS36SBR source file.  Most of the members have a type DFU36
but some have ASM36.  If I view the source file it look all garbled
up.

Does anyone know how to create the subroutine object from this source
or can point me in the direction I need to go?

Thanks,
0
Comment
Question by:DCS12
7 Comments
 
LVL 34

Accepted Solution

by:
Gary Patterson earned 300 total points
ID: 33526382
The RPG II EXIT opcode is used to execute an external subroutine.  

The QS36SBR file is created to hold compiled external subroutine members, and is not converted to anything usable in the AS/400 S/36 environment.  It is not source code.  It is object code - that's why it looks garbled.

Are you using the Migration Assistant?  The Migration Assistant will move these compiled assembler routines, but these are not supported in the S/36 Environment of OS/400.  It will also produce reports that will help you identify unsupported items like this that need to be dealt with prior to conversion.

http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/c4141520.pdf

How many different subroutines are called, and what are they?

Anyway, bottom line is these subroutines will need to be rewritten in order to convert from the SSP environment to OS/400 S/36 Environment.

- Gary Patterson
0
 

Author Comment

by:DCS12
ID: 33530517
So then there should be a source for these objects and if I can find the source then I could just copy it into the program as an internal subroutine.  Correct?
0
 
LVL 34

Expert Comment

by:Gary Patterson
ID: 33533099
No.  

First of all, there is no guarantee that you have source code - it may be part of a package, for example, that only shipped compiled subroutines.  

If you just follow the Migration Assistant and related documentation, it explains all of this, and the reports it generates will document all of your migration problems like this one.  It will also help you identify any other numerous troublesome migration items that you may encounter.

Depending on your environment, SSP to OS/400 S/36 Environment migration is not trivial: it is not as simple as just saving it on SSP and restoring it in the S/36 environment.  Please take an hour or two and give the Migration Assistant book I sent you a link to a good read before you do anything else.

If there is source for these objects, it is written in S/36 assembler,  which does you no good in the S/36 Environment under OS/400 (i5/OS, iOS,  whatever), since you can't

System 36 compiled objects (like these external subroutines) are not executable under OS/400.  This means that you need to recompile your programs.  The AS/400 S/36 environment includes an RPG II compiler that will compule most S/36 RPG code that runs under SSP.  It also includes an OCL interpreter, and a few other tools that enable you to make use of S/36 objects and source code.  

Unfortunately, there is no corresponding compiler (at least not any that I know of) for S/36 Assembler.  These routines you need to rewrite in some language that you can compile on an AS/400.

S/36 Compatible RPG Guide: http://publib.boulder.ibm.com/iseries/v5r1/ic2924/books/c0918180.pdf
System/36 Environment Programming: http://publib.boulder.ibm.com/infocenter/iseries/v5r3/topic/books/sc414730.pdf

- Gary Patterson
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 5

Assisted Solution

by:stevebowdoin
stevebowdoin earned 100 total points
ID: 33533256
Gary is 100% correct.  That assembler has got to go.

The only thing the source will be good for is to help you figure out what it is doing.   Then you can replace that code with a supported language.

What are the names of the routines?  Who knows it might be something we have heard of.  They may have been supplied by IBM.

Steve
0
 
LVL 34

Expert Comment

by:Gary Patterson
ID: 33533493
Steve brings up a good point:

The IBM-supplied routines are numeric (SUBRnn), and are supported internally by the S/36 Environment RPG compiler, so they need no conversion.  These probably aren't what is giving you trouble, though.

IBM used to publish a guide that assisted in S/36 Assembler conversion: GC21-8160.  I  can't find it online, but you may be able to obtain a copy from IBM or somewhere.

- Gary
0
 
LVL 27

Assisted Solution

by:tliotta
tliotta earned 100 total points
ID: 33538352
AFAIK, the SUBRxx subroutines can be implemented as normal i5/OS *PGM objects. The primary requirements are (a) getting the parameter interface correct, and then (b) getting the functioning correct. Many things that were difficult to do on a S/36 may be trivial on a reasonably current AS/400.

At least some commercial assembler SUBRxx subroutines were never brought over to OS/400 simply because they could be replaced by trivial programs by almost any average developer.

Tom
0
 

Author Closing Comment

by:DCS12
ID: 33559442
Thanks for the help and clarification.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Today sees the launch of a new case study, focusing on BYOD technologies we have been working with for some time now.  But with the advent of 802.11ac wireless technologies and the story behind our landmark developments, we would like to share this …
Sometimes a user will call me frantically, explaining that something has gone wrong and they have tried everything (read - they have messed it up more and now need someone to clean up) and it still does no good, can I help them?!  Usually the standa…
This Micro Tutorial will show you how to maximize your wireless card to its maximum capability. This will be demonstrated using Intel(R) Centrino(R) Wireless-N 2230 wireless card on Windows 8 operating system.
Viewers will learn how to connect to a wireless network using the network security key. They will also learn how to access the IP address and DNS server for connections that must be done manually. After setting up a router, find the network security…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now