Installing AS/400 QDLS applications (Windows edition)
These instructions work on a whitebox running Windows 98 SE with 160MB of RAM, a 333MHz Celeron, and a 32GB IDEDOM. This is probably comfortable as a local development environment for most people. If other Windows versions are tested and working I will make note of it. Otherwise, assume only 9x is supported.
ADTS (VARPG+CODE/400)
Please note that these instructions work to install ADTS, but the applications currently crash for me. I am still in the process of troubleshooting this issue to see if it is on my end, just be aware you may have the same problems.
ADTS (Application Developer Toolset) is distributed for OS/2 and Windows as part of the typical OS/400 V4R4 demopkg install. Other releases probably also have it, I'm not sure. ADTS in V4R4 comprises VARPG (VisualAge RPG, for writing Windows and OS/2 applications that interface with OS/400) and CODE/400 (a multi-format editor suite with syntax checking for DDS, RPGLE, etc). Pretty useful, since SEU can be a bit of a pain.
ADTS is located on the IFS in the /QDLS
directory by default, but simply pulling the necessary directories down and installing will not work. The application expects to be installed either over SMB (via OS/400 NetServer) or from a specific workstation CD. In my experience NetServer (and the 100MB TCP/IP experience in general) is unreliable, so I wouldn't recommend trying from the IFS share. It is also possible to burn a CD containing these directories and mount it at I:
if your target machine has a CD reader.
You will need the following directories:
- QADTSWIN
- QCODEWIN
- QVRPGWIN
The other versions are for OS/2, I have not tried installing those yet. I found that FTPing each directory one at a time was the easiest way to get everything without issues. Put them either in a shared folder on a Windows 10/11 host or a Samba share on a *nix machine. If you go the Samba route, I made the following temporary changes to my server config to support the Win9x client:
[global] ... # allow execution of binaries from smb shares acl allow execute always = True client lanman auth = yes lanman auth = yes client ntlmv2 auth = no ntlm auth = yes client min protocol = LANMAN1 server min protocol = LANMAN1 client ipc min protocol = LANMAN1 [qdls] path = /data/smb/qdls public = no writable = no browsable = yes read only = yes guest ok = no force user = hush create mask = 0755 directory mask = 0755
Update as needed to match your environment, restart Samba, then mount the share on I:
on the Windows host. If you can see everything, run I:\QADTSWIN\Setup.exe
. This will install both the ADTS supporting bits as well as VARPG and CODE/400, then reboot your machine. Once you log back in you will be able to launch ADTS applications.
Connecting to your AS/400
While this installation works, it will unfortunately not allow us to run STRCODE
on the AS/400 automatically due to a missing file, W32CPIC.DLL
. This file is not present in installation media for either ADTS or CA/400, and I have been unable to locate it elsewhere. We can still connect to the AS/400 and work with our code without bringing it to our PC, though. Be aware that if you are running a firewall between your AS/400 and PC you will need to allow an exception for tcp/4200
on the PC. I am not sure if more is required but this is the port for the “CODE Daemon” which receives communication from the AS/400.
First, go to Start → Programs → VisualAge… → Define TCPIP Server List
and define your AS/400 host. Next, you'll need to configure the login from the Define Server Logon
utility in the same folder. This is enough to ensure a connection. Finally, starting TCPIP Communication Server
on the PC will open it to communication from the AS/400.
On the AS/400 side, you will need to run STRCODE
to initiate a session. The SERVER
value must match the one you configured on the PC or it will show up under a different name in CODE. You can F4 prompt here, or use this format:
STRCODE SERVER(AVEL) RMTLOCNAME(10.5.5.5) CMNTYPE(*TCPIP)
SERVER
is the name of the AS/400 system, RMTLOCNAME
is your workstation IP.
If you use the same workstation regularly and it has a static IP, you can change the default parameters for the command and just run STRCODE
:
CHGCMDDFT CMD(STRCODE) NEWDFT('SERVER(AVEL) RMTLOCNAME(''10.5.5.5'') CMNTYPE(*TCPIP)')
The following CL code from MIDRANGE-L will purportedly update these values depending on the system you have logged in from (if you are using the same PC for a 5250 session), but I have not tried it. YMMV.
PGM DCL VAR(&BIN4) TYPE(*CHAR) LEN(4) DCL VAR(&RCV) TYPE(*CHAR) LEN(893) DCL VAR(&RCVLEN) TYPE(*CHAR) LEN(4) DCL VAR(&RCVLEND) TYPE(*DEC) LEN(9) DCL VAR(&ERR) TYPE(*CHAR) LEN(100) DCL VAR(&DEC8) TYPE(*DEC) LEN(8 0) DCL VAR(&DEVD) TYPE(*CHAR) LEN(10) DCL VAR(&FRMDEV) TYPE(*CHAR) LEN(8) VALUE('DEVD0600') DCL VAR(&IP) TYPE(*CHAR) LEN(15) DCL VAR(&PASTHR) TYPE(*CHAR) LEN(1) CHGVAR VAR(&RCVLEND) VALUE(893) CHGVAR VAR(%BIN(&RCVLEN)) VALUE(&RCVLEND) RTVJOBA JOB(&DEVD) CHGVAR VAR(%BINARY(&BIN4)) VALUE(&DEC8) CALL PGM(QDCRDEVD) PARM(&RCV &RCVLEN &FRMDEV + &DEVD &ERR) CHGVAR VAR(&PASTHR) VALUE(%SST(&RCV 831 1)) CHGVAR VAR(&IP) VALUE(%SST(&RCV 878 15)) STRCODE SERVER(HMTEST) RMTLOCNAME(&IP) CMNTYPE(*TCPIP) ENDPGM
Client Access/400 Express
Client Access/400 is a suite of Windows applications that help with managing AS/400s. Sometimes it is easier to log in through CA/400 and make a change than it is to dig through menus or documentation to find what you need.
CA/400 is located on your V4R4 system's IFS under /QDLS/QCA400
. The directory can be copied to a Windows machine and installed as normal, but I have not been able to get it installed under Windows 10- the installer freezes on “copying files”.