User:PoC: Difference between revisions
+ Weblinks |
→Message handling table: More info |
||
| (11 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
I am the principal maintainer of this Wiki. | I am the principal maintainer of this Wiki. | ||
== Missing == | |||
This is a list of things I search for: | |||
* COBOL LPPs for V3R2 in ENU (2924) | |||
* Secondary Language Media German (2929) for V4R5 | |||
* The LPP for the IBM Gopher server and 5250 based client (https://es.wikipedia.org/wiki/Gopher) | |||
* The LPPs for DAL (https://en.wikipedia.org/wiki/Data_Access_Language) | |||
* The (non-cumulative) PTFs for OS/400 V2R3, bringing AppleTalk support to OS/400: | |||
<blockquote> | |||
---- | |||
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. | |||
----</blockquote> | |||
== Unofficial Benchmarks == | == Unofficial Benchmarks == | ||
| Line 68: | Line 91: | ||
The switchback to the traditional CQE SQL Engine involves creating a copy of ''QSYS/QAQQINI'', updating this copy through SQL, SQE_NATIVE_ACCESS. | The switchback to the traditional CQE SQL Engine involves creating a copy of ''QSYS/QAQQINI'', updating this copy through SQL, SQE_NATIVE_ACCESS. | ||
=== Weblinks === | |||
* [https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzajq/createqaqqini.htm Creating a QAQQINI File] | * [https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzajq/createqaqqini.htm Creating a QAQQINI File] | ||
* [https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzajq/specifyqaqqini.htm Change Query Attributes for using the desired QAQQINI file] | * [https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzajq/specifyqaqqini.htm Change Query Attributes for using the desired QAQQINI file] | ||
* [https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzajq/rzajqqaqqiniformat.htm QAQQINI File Format] | * [https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzajq/rzajqqaqqiniformat.htm QAQQINI File Format] | ||
== Message handling table == | |||
This is related to the [https://www.ibm.com/docs/en/i/7.4.0?topic=ssw_ibm_i_74/apis/QMHSNDPM.html QMHSNDPM] API. | |||
When trying out these things, it's important to have some calls to <code>sleep()</code> in the application, so the 5250 display logic does not merge away the brief write request. | |||
{|class="wikitable" | |||
!valign="top" rowspan="2"|Type | |||
!valign="top" rowspan="2"|Destination | |||
!colspan="2"|Result | |||
|- | |||
!Interactive | |||
!Batch | |||
|- | |||
|valign="top"|'''<tt>*DIAG</tt>''' | |||
|valign="top" rowspan="5"|'''<tt>*PGMBDY</tt>''',<br>Call Stack Counter '''0''' | |||
|valign="top" rowspan="2"|Message is put into the job log | |||
|valign="top" rowspan="2"|Message is put into the spool file, sev 40 | |||
|- | |||
|valign="top"|'''<tt>*INFO</tt>''' | |||
|- | |||
|valign="top"|'''<tt>*STATUS</tt>''' | |||
|colspan="2"|No result | |||
|- | |||
|valign="top"|'''<tt>*COMP</tt>''' | |||
|Message is put into the job log | |||
|Message is put into the spool file, sev 40 | |||
|- | |||
|valign="top"|'''<tt>*ESCAPE</tt>''' | |||
|''Program error'' message (CEE9901) is shown in the message line<ref>In fact, the CPF number being used in the ''QMHSNDPM''-call is shown, CEE9901 appears in the second level text.</ref>, message text is only put into the job log | |||
|Message text is put into the spool file log, followed by ''program error'' message (CEE9901) | |||
|- | |||
|valign="top"|'''<tt>*DIAG</tt>''' | |||
|valign="top" rowspan="5"|'''<tt>*PGMBDY</tt>''',<br>Call Stack Counter '''1''' | |||
|valign="top" rowspan="2"|Message is put into the job log, and shown in the message line | |||
|valign="top" rowspan="2"|Message is put into the spool file, sev 40 | |||
|- | |||
|valign="top"|'''<tt>*INFO</tt>''' | |||
|- | |||
|valign="top"|'''<tt>*STATUS</tt>''' | |||
|colspan="2"|No result | |||
|- | |||
|valign="top"|'''<tt>*COMP</tt>''' | |||
|Message is put into the job log | |||
|Message is put into the spool file, sev 40 | |||
|- | |||
|valign="top"|'''<tt>*ESCAPE</tt>''' | |||
|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.'' | |||
|- | |||
|valign="top"|'''<tt>*DIAG</tt>''' | |||
|valign="top" rowspan="5"|'''<tt>*EXT</tt>''' | |||
|Message is put into the job log | |||
|valign="top" rowspan="2"|Message is put into the spool file, sev 40 | |||
|- | |||
|valign="top"|'''<tt>*INFO</tt>''' | |||
|Message is shown in a separate screen, like RPG's <code>DSPLY</code>, and put into the job log | |||
|- | |||
|valign="top"|'''<tt>*STATUS</tt>''' | |||
|Message is shown in the Message Line | |||
|No result | |||
|- | |||
|valign="top"|'''<tt>*COMP</tt>''' | |||
|No result | |||
|Message is put into the spool file, sev 40 | |||
|- | |||
|valign="top"|'''<tt>*ESCAPE</tt>''' | |||
|colspan="2"|No result | |||
|} | |||
Batch results were checked with <code>sbmjob cmd(call pgm(myqmhsndpm)) job(myqmhsndpm) log(4 0 *seclvl) logclpgm(*yes) | |||
</code>, to force a job log in any case. | |||
== Footnotes == | == Footnotes == | ||
<references /> | <references /> | ||
Latest revision as of 23:45, 10 May 2026
I am the principal maintainer of this Wiki.
Missing
This is a list of things I search for:
- COBOL LPPs for V3R2 in ENU (2924)
- Secondary Language Media German (2929) for V4R5
- The LPP for the IBM Gopher server and 5250 based client (https://es.wikipedia.org/wiki/Gopher)
- The LPPs for DAL (https://en.wikipedia.org/wiki/Data_Access_Language)
- The (non-cumulative) PTFs for OS/400 V2R3, bringing AppleTalk support to OS/400:
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
- Creating a QAQQINI File
- Change Query Attributes for using the desired QAQQINI file
- QAQQINI File Format
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.