User:PoC

From Try-AS/400
Revision as of 23:45, 10 May 2026 by PoC (talk | contribs) (Message handling table: More info)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

I am the principal maintainer of this Wiki.

Missing

This is a list of things I search for:


Before you configure your Apple Macintosh to connect over AppleTalk, you need to install the following PTFs on the AS/400:

  • MF06411
  • MF06412
  • SF14158
  • SF14614
  • MF06396
  • MF06332

These PTFs will not be shipped in a cumulative package, and we advise that you check for any later PTFS that were released after publication of this book.

Cited from Chapter 8 of Using Apple Macintosh with the AS/400, GG24-4071-00, March 1994.


Unofficial Benchmarks

For getting a rough idea about CPU speed, I have a physical table about German ZIP codes, including long distance telephone prefixes, filled with nearly 20,000 records in six fields, summing up to 2.25 MiB of data. From the original source in the internet, there were a lot of duplicate records. Birgitta Hauser came up with a quick and dirty idea how to eliminate these dupes.[1]

Since the SQL proved to be running really slow, I came up to use it as a benchmark. Of course, it's not 100  fair, because of different OS releases and accompanying improvements in SQL handling. But it gives a rough idea.

The SQL was run from a source PF member as standard batch job (default parameters) on idling machines (no additional work).

Machine Proc. Feat. OS Runtime (ca.) Comments
9401-150 2270 V4R5 About 118 hrs.  
9406-S20 2161 V4R4 About 13.5 hrs.  
9406-800 7408 V5R2 About 2 hrs.
8203-E4A 5587 V7R2 1-2 Minutes LPAR with two CPU cores assigned.

Used files

  • DDS for the database as follows:
A                                      UNIQUE
A          R PLZTBL
A            ORT           32A
A            LAND          17A
A            VORWAHL        6A         ALWNULL
A            PLZ            5A
A            ID             5S 0
A            ZUSATZ        30A         ALWNULL
A          K ID
  • SQL for RUNSQLSTM as follows:
DELETE FROM PLZPF A
 WHERE A.ID = (
  SELECT MAX(ID) FROM PLZPF
   GROUP BY ORT, LAND, VORWAHL, PLZ, ZUSATZ
   HAVING COUNT(*) > 1 AND MAX(ID) = A.ID)
  • Submit Command for RUNSQLSTM as follows:
SBMJOB JOB(DLTPLZDUPS) CMD(RUNSQLSTM SRCFILE(PLZ/SOURCES) SRCMBR(DLTDUPS) COMMIT(*NONE) NAMING(*SQL) DFTRDBCOL(PLZ))

I can provide a save file of the whole library on request.

The switchback to the traditional CQE SQL Engine involves creating a copy of QSYS/QAQQINI, updating this copy through SQL, SQE_NATIVE_ACCESS.

Weblinks

Message handling table

This is related to the QMHSNDPM API.

When trying out these things, it's important to have some calls to sleep() in the application, so the 5250 display logic does not merge away the brief write request.

Type Destination Result
Interactive Batch
*DIAG *PGMBDY,
Call Stack Counter 0
Message is put into the job log Message is put into the spool file, sev 40
*INFO
*STATUS No result
*COMP Message is put into the job log Message is put into the spool file, sev 40
*ESCAPE Program error message (CEE9901) is shown in the message line[2], message text is only put into the job log Message text is put into the spool file log, followed by program error message (CEE9901)
*DIAG *PGMBDY,
Call Stack Counter 1
Message is put into the job log, and shown in the message line Message is put into the spool file, sev 40
*INFO
*STATUS No result
*COMP Message is put into the job log Message is put into the spool file, sev 40
*ESCAPE Message is shown in the Message Line, and put into the job log, followed by program error message with the CPF number being used in the QMHSNDPM-call Message is put into the spool file, sev 40, followed by CPC2402: Job ended. Cancel message received at command processor.
*DIAG *EXT Message is put into the job log Message is put into the spool file, sev 40
*INFO Message is shown in a separate screen, like RPG's DSPLY, and put into the job log
*STATUS Message is shown in the Message Line No result
*COMP No result Message is put into the spool file, sev 40
*ESCAPE No result

Batch results were checked with sbmjob cmd(call pgm(myqmhsndpm)) job(myqmhsndpm) log(4 0 *seclvl) logclpgm(*yes) , to force a job log in any case.

Footnotes

  1. She admitted, it might be a bit slow.
  2. In fact, the CPF number being used in the QMHSNDPM-call is shown, CEE9901 appears in the second level text.