<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.webhuis.nl:443/index.php?action=history&amp;feed=atom&amp;title=Data_dictionary</id>
	<title>Data dictionary - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.webhuis.nl:443/index.php?action=history&amp;feed=atom&amp;title=Data_dictionary"/>
	<link rel="alternate" type="text/html" href="https://wiki.webhuis.nl:443/index.php?title=Data_dictionary&amp;action=history"/>
	<updated>2026-09-11T04:19:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.webhuis.nl:443/index.php?title=Data_dictionary&amp;diff=4768&amp;oldid=prev</id>
		<title>Martin: Created page with &quot;&lt;span id=&quot;data-dictionary&quot;&gt;&lt;/span&gt; = Data Dictionary =  &#039;&#039;&#039;Project:&#039;&#039;&#039; pgcobol — Prime Numbers Application&lt;br /&gt; &#039;&#039;&#039;Version:&#039;&#039;&#039; 1.0 (reverse-engineered)&lt;br /&gt; &#039;&#039;&#039;Date:&#039;&#039;&#039; 2026-03-17   -----  &lt;span id=&quot;conventions&quot;&gt;&lt;/span&gt; == 1. Conventions ==  {| ! Column ! Meaning |- | Name | COBOL data-name as written in source |- | Level | 01 / 03 / 05 / 07 hierarchy level |- | Picture | COBOL PICTURE clause |- | Usage | DISPLAY (default) / COMP-3 / COMP-5 |- | Source | Copybook or...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.webhuis.nl:443/index.php?title=Data_dictionary&amp;diff=4768&amp;oldid=prev"/>
		<updated>2026-03-25T16:46:04Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;span id=&amp;quot;data-dictionary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; = Data Dictionary =  &amp;#039;&amp;#039;&amp;#039;Project:&amp;#039;&amp;#039;&amp;#039; pgcobol — Prime Numbers Application&amp;lt;br /&amp;gt; &amp;#039;&amp;#039;&amp;#039;Version:&amp;#039;&amp;#039;&amp;#039; 1.0 (reverse-engineered)&amp;lt;br /&amp;gt; &amp;#039;&amp;#039;&amp;#039;Date:&amp;#039;&amp;#039;&amp;#039; 2026-03-17   -----  &amp;lt;span id=&amp;quot;conventions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; == 1. Conventions ==  {| ! Column ! Meaning |- | Name | COBOL data-name as written in source |- | Level | 01 / 03 / 05 / 07 hierarchy level |- | Picture | COBOL PICTURE clause |- | Usage | DISPLAY (default) / COMP-3 / COMP-5 |- | Source | Copybook or...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;span id=&amp;quot;data-dictionary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= Data Dictionary =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Project:&amp;#039;&amp;#039;&amp;#039; pgcobol — Prime Numbers Application&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Version:&amp;#039;&amp;#039;&amp;#039; 1.0 (reverse-engineered)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Date:&amp;#039;&amp;#039;&amp;#039; 2026-03-17&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;conventions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 1. Conventions ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Column&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Name&lt;br /&gt;
| COBOL data-name as written in source&lt;br /&gt;
|-&lt;br /&gt;
| Level&lt;br /&gt;
| 01 / 03 / 05 / 07 hierarchy level&lt;br /&gt;
|-&lt;br /&gt;
| Picture&lt;br /&gt;
| COBOL PICTURE clause&lt;br /&gt;
|-&lt;br /&gt;
| Usage&lt;br /&gt;
| DISPLAY (default) / COMP-3 / COMP-5&lt;br /&gt;
|-&lt;br /&gt;
| Source&lt;br /&gt;
| Copybook or program where defined&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| Semantic meaning and valid values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Condition-names (88-level) are listed under the field they qualify.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;copybook-primes-session.cpy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 2. Copybook: primes-session.cpy ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Control block for the session (main → business-logic) tier.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-session&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Root of session control block; passed as linkage to primesgen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;methods&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| X(32)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Operation verb set by primesmain before calling primesgen&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;report-primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “report” — run the report path&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;generate-primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “generate” — run the sieve path&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;start-primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “start” — (reserved, not used in current flow)&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;stop-primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “stop” — (reserved, not used in current flow)&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;invalid-method&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “bad” — sentinel for bad dispatch&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;session-result&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(2)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Result code written back by primesgen; initial value ZERO&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;session-method-ok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 0 — operation succeeded&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;session-method-nok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 1 — operation failed&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;session-method-eof&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 9 — cursor exhausted (end of data)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;copybook-primes-dal.cpy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 3. Copybook: primes-dal.cpy ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Control block for the DAL (business-logic → data-access) tier.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-dal&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Root of DAL control block; passed as linkage to primes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dal-methods&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| X(32)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Operation verb set by caller&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;next-prime&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “next-prime” — fetch next row from cursor&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;next-divider&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “next-divider” — select divider by ident&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;write-prime&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “write” — insert prime into table&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;db-cursor&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “cursor” — start transaction and open cursor&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;db-connect&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “connect” — connect to PostgreSQL&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;db-disconnect&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “disconnect” — disconnect from PostgreSQL&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;invalid-method&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “bad” — sentinel for bad dispatch&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-data&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| One-row data payload&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-sequence&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Sequence / ident of the current prime row&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;prime-number&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Value of the current prime&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dal-result&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(2)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Result code written back by primes; initial value ZERO&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;dal-method-ok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 0 — operation succeeded&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;dal-method-nok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 1 — operation failed&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;dal-method-eof&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 99 — cursor exhausted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;copybook-primes-ui.cpy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 4. Copybook: primes-ui.cpy ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Control block for the UI tier; included by all four programs.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Root of UI control block; passed as linkage to primesui&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ui-methods&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| X(32)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Operation verb set by caller&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;write-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “write” — add one prime row to print buffer&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;message-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “log-message” — display console message&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;start-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “start” — open print file&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;stop-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “stop” — flush and close print file&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;process-message&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Structured console log record&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;program-name&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| X(20)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Name of the calling program (for log messages)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;program-line&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Group: paragraph name + message text&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;program-paragraph&amp;lt;/code&amp;gt;&lt;br /&gt;
| 07&lt;br /&gt;
| X(20)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Name of the calling paragraph&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;program-message&amp;lt;/code&amp;gt;&lt;br /&gt;
| 07&lt;br /&gt;
| X(92)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Human-readable status or error message&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;u-primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| One prime row for the print writer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;u-sequence&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Prime sequence number (ident) to print&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;u-number&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Prime value to print&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ui-method-result&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(2)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Result code from primesui; initial value ZERO&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;ui-method-ok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 0 — operation succeeded&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;ui-method-nok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 1 — operation failed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;copybook-primes-table.cpy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 5. Copybook: primes-table.cpy ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SQL host variable — character (DISPLAY) format.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-table&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Host variable group for SQL bind/into&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ident&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| S9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Row identity (sequence number), signed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;prime&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| S9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Prime value, signed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;copybook-primes_table.cpy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 6. Copybook: primes_table.cpy ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SQL host variable — packed-decimal (COMP-3) format. Alternate version of primes-table.cpy.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name&lt;br /&gt;
! Level&lt;br /&gt;
! Picture&lt;br /&gt;
! Usage&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes_table&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Host variable group for SQL bind/into&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ident&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| S9(9)&lt;br /&gt;
| COMP-3&lt;br /&gt;
| Row identity, packed decimal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;prime&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| S9(9)&lt;br /&gt;
| COMP-3&lt;br /&gt;
| Prime value, packed decimal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;copybook-sqlca.cpy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 7. Copybook: SQLCA.cpy ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GixSQL SQL Communications Area — standard across all embedded-SQL programs.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLCA&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| SQL communications area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLCAID&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| X(8)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| SQLCA identifier string&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLCABC&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| S9(9)&lt;br /&gt;
| COMP-5&lt;br /&gt;
| Byte length of SQLCA&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLCODE&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| S9(9)&lt;br /&gt;
| COMP-5&lt;br /&gt;
| SQL return code: 0 = success, negative = error, +100 = not found&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLERRM&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Error message group&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLERRML&amp;lt;/code&amp;gt;&lt;br /&gt;
| 49&lt;br /&gt;
| S9(4)&lt;br /&gt;
| COMP-5&lt;br /&gt;
| Length of error message text&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLERRMC&amp;lt;/code&amp;gt;&lt;br /&gt;
| 49&lt;br /&gt;
| X(70)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Error message text&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLERRP&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| X(8)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Error program (not used)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLERRD&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| S9(9) OCCURS 6&lt;br /&gt;
| COMP-5&lt;br /&gt;
| Diagnostic codes; SQLERRD(3) = rows processed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLWARN&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Warning flags group (not used)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLWARN0&amp;lt;/code&amp;gt;–&amp;lt;code&amp;gt;SQLWARN7&amp;lt;/code&amp;gt;&lt;br /&gt;
| 10&lt;br /&gt;
| X(1)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Individual warning flags&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLSTATE&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| X(5)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| ANSI SQL state code&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;program-primesmain-working-storage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 8. Program: primesmain — Working Storage ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;16%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;16%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;16%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;16%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;16%&amp;quot;| Source&lt;br /&gt;
!width=&amp;quot;16%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;filler&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(32) VALUE “Start WS primesmain”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| primesmain.cbl&lt;br /&gt;
| Debug marker to locate WS in memory dump&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;commandline-args&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(32)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| primesmain.cbl&lt;br /&gt;
| Command-line argument accepted from OS&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;execute-generate&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| primesmain.cbl&lt;br /&gt;
| VALUE “generate”&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;execute-report&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| primesmain.cbl&lt;br /&gt;
| VALUE “report”&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-session&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| (group)&lt;br /&gt;
| —&lt;br /&gt;
| COPY&lt;br /&gt;
| See §2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| (group)&lt;br /&gt;
| —&lt;br /&gt;
| COPY&lt;br /&gt;
| See §4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;program-primesgen-working-storage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 9. Program: primesgen — Working Storage ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;filler&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(32) VALUE “Start WS primesgen”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Debug WS marker&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;file-buffer&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(132)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| FD record area for fprinter (declared but file not opened in primesgen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;printer&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Print control group (unused in primesgen; print handled by primesui)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;print-buffer&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| X(132)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Line buffer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;line-number&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 99 VALUE 99&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Current line counter&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;page-number&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(4) VALUE ZERO&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Current page counter&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;test-quot&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Quotient from DIVIDE in sieve loop&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Local sieve control group (mirrors primes-dal structure)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gen-methods&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| X(32)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Method verb for internal DAL calls&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;query-process&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “query”&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;start-process&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “start”&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;next-divider&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “get”&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;write-prime&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “put”&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;stop-process&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE “stop”&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-result&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(2) VALUE ZERO&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Result of sieve DAL call&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;init-primes-ok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 1&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;first-divider-ok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 2&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;next-divider-ok&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;test-number&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Current candidate being tested for primality&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;test-number-sqr&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)V9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Square root of test-number (decimal)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;test-divider&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Current trial divisor fetched from DB&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;test-rest&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)V9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Remainder from DIVIDE&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;old-test-number&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Previous test-number (diagnostic / unused)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;old-ident&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| ident of the last divider fetched; incremented before next fetch&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;new-ident&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| old-ident + 1; used as key in SELECT to get next divider&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| (group)&lt;br /&gt;
| —&lt;br /&gt;
| COPY — see §4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-dal&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| (group)&lt;br /&gt;
| —&lt;br /&gt;
| COPY — see §3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Linkage section:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name&lt;br /&gt;
! Source&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-session&amp;lt;/code&amp;gt;&lt;br /&gt;
| COPY primes-session&lt;br /&gt;
| Passed in by primesmain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;program-primes-dal-working-storage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 10. Program: primes (DAL) — Working Storage ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;filler&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(32) VALUE “Start WS primes”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Debug WS marker&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DATASRC&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(64) VALUE “pgsql://localhost:5432/primes&amp;amp;amp;default_schema=primes”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| GixSQL connection string&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DBUSR&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(64) VALUE “primes_user”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Database user name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DBPWD&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(64) VALUE “pr1mes_user”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Database password (plain-text)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CUR-STEP&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(16)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Diagnostic: current SQL step (“CONNECT” / “DISCONNECT”)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-row&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| FETCH target for cursor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;r-ident&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)&lt;br /&gt;
| COMP-3&lt;br /&gt;
| Fetched ident value&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;r-prime&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(9)&lt;br /&gt;
| COMP-3&lt;br /&gt;
| Fetched prime value&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;prime-count&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| (Unused in current flow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;prime_seq&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| (Unused in current flow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;divider&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| 9(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| (Unused in current flow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Local copy of sieve control (mirrors primes-dal; used for internal paragraphs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SQLCA&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| COPY SQLCA — see §7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-table&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| EXEC SQL INCLUDE primes-table — see §5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| COPY primes-ui — see §4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Linkage section:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name&lt;br /&gt;
! Source&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-dal&amp;lt;/code&amp;gt;&lt;br /&gt;
| COPY primes-dal&lt;br /&gt;
| Passed in by primesgen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;program-primesui-working-storage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 11. Program: primesui — Working Storage ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Name&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Level&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Picture&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Usage&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;filler&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(32) VALUE “start ws primesui”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Debug WS marker&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-table&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| 6-column print accumulator (OCCURS 6)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-cel&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| OCCURS 6 INDEXED primes-idx&lt;br /&gt;
| —&lt;br /&gt;
| One cell per prime entry on a print line&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;t-ident&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| Z(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Sequence number, zero-suppressed&lt;br /&gt;
|-&lt;br /&gt;
| filler&lt;br /&gt;
| 05&lt;br /&gt;
| X(2)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Column separator spaces&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;t-prime&amp;lt;/code&amp;gt;&lt;br /&gt;
| 05&lt;br /&gt;
| Z(9)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Prime value, zero-suppressed&lt;br /&gt;
|-&lt;br /&gt;
| filler&lt;br /&gt;
| 05&lt;br /&gt;
| X(2)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Column separator spaces&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;table-header&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Heading row (OCCURS 6) — “Sequence Prime” × 6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;printer&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Print control group&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;print-buffer&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| X(132)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Current line being built&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-prt-status&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| X(2)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| File-status code for fprinter&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;page-number&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(4) VALUE 1&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Current page number&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;print-new-page&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9 VALUE 1&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Flag: 1 = new page needed&lt;br /&gt;
|-&lt;br /&gt;
| — &amp;lt;code&amp;gt;new-page&amp;lt;/code&amp;gt;&lt;br /&gt;
| 88&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| VALUE 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-heading&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| X(118) VALUE “primes overview”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Page heading text&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-footing&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| Page footing group&lt;br /&gt;
|-&lt;br /&gt;
| filler&lt;br /&gt;
| 03&lt;br /&gt;
| X(118) VALUE SPACE&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Left padding&lt;br /&gt;
|-&lt;br /&gt;
| filler&lt;br /&gt;
| 03&lt;br /&gt;
| X(6) VALUE “page:”&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Label&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;f-page-number&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| Z(3)9 VALUE 1&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| Formatted page number&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-line&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| (Declared but not used in current flow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-total&amp;lt;/code&amp;gt;&lt;br /&gt;
| 01&lt;br /&gt;
| —&lt;br /&gt;
| —&lt;br /&gt;
| (Declared but not used in current flow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-count&amp;lt;/code&amp;gt;&lt;br /&gt;
| 03&lt;br /&gt;
| 9(8)&lt;br /&gt;
| DISPLAY&lt;br /&gt;
| (Declared but not used in current flow)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Linkage section:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Name&lt;br /&gt;
! Source&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes-ui&amp;lt;/code&amp;gt;&lt;br /&gt;
| COPY primes-ui&lt;br /&gt;
| Passed in by all callers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;database-objects&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 12. Database Objects ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Object&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Type&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Schema&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Owner&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Definition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| Schema&lt;br /&gt;
| —&lt;br /&gt;
| primes_user&lt;br /&gt;
| Container schema&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;asc_ident&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sequence&lt;br /&gt;
| primes&lt;br /&gt;
| primes_user&lt;br /&gt;
| INTEGER, START 1, INCREMENT 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primes&amp;lt;/code&amp;gt;&lt;br /&gt;
| Table&lt;br /&gt;
| primes&lt;br /&gt;
| primes_user&lt;br /&gt;
| See below&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;primescursor&amp;lt;/code&amp;gt;&lt;br /&gt;
| Cursor&lt;br /&gt;
| runtime&lt;br /&gt;
| —&lt;br /&gt;
| DECLARE … CURSOR FOR SELECT * FROM primes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;table-primes.primes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Table: primes.primes ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Column&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Type&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Nullable&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Default&lt;br /&gt;
!width=&amp;quot;20%&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ident&amp;lt;/code&amp;gt;&lt;br /&gt;
| INTEGER&lt;br /&gt;
| YES&lt;br /&gt;
| nextval(‘primes.asc_ident’)&lt;br /&gt;
| Auto-assigned insertion sequence&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;prime&amp;lt;/code&amp;gt;&lt;br /&gt;
| INTEGER&lt;br /&gt;
| YES&lt;br /&gt;
| —&lt;br /&gt;
| Prime number value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
Terug naar: [[Primes_programs_specifications]] | [[Cobol and PostgreSQL]]&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
</feed>