× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Yes. They are called "constraints". For common CL command outfiles it's as simple as ADDPFCST. For SQL you look at the constraint clause on CREATE TABLE.
Run SQL Scripts allow you to build your own templates. Here is one template I have
-- category: My really cool examples
-- description: A pretty Create or Replace Table
CREATE OR REPLACE TABLE MyBigTableName for system name BigTable
(
column1 INTEGER NOT NULL, -- Desc column 1
column2 VARCHAR(100) ALLOCATE(20) -- Desc column 2
);


-- Here's another sample. This table was a lookup table. For example, what's the last journal sequence number we looked at?
-- As a war on 5250 tools the "short names" are obscured.
set current schema = 'GDIHQ';
CREATE OR REPLACE TABLE Lookup_table for system name T00000001
(
Lookup_item for column C000000001 VARCHAR(100) ALLOCATE(20)
not null constraint Lookup_table_primary_key PRIMARY KEY, -- Item to lookup
Lookup_value_character for column C000000002 VARCHAR(100) ALLOCATE(10) with default null, -- Value of item (if character)
Lookup_value_integer for column C000000003 bigint with default null, -- Value of item (if integer)
Lookup_value_decimal for column C000000004 decimal (25, 5) with default null, -- Value of item (if decimal)
Lookup_value_timestamp for column C000000005 timestamp with default null, -- Value of item (if timestamp)
CONSTRAINT Lookup_table_has_a_value CHECK ( -- One, and only one, of the lookup result columns will have a value.
(Lookup_value_character is not null and lookup_value_integer is null and Lookup_value_decimal is null and Lookup_value_timestamp is null) or
(Lookup_value_character is null and lookup_value_integer is not null and lookup_value_decimal is null and Lookup_value_timestamp is null) or
(Lookup_value_character is null and lookup_value_integer is null and lookup_value_decimal is not null and Lookup_value_timestamp is null) or
(Lookup_value_character is null and lookup_value_integer is null and lookup_value_decimal is null and Lookup_value_timestamp is not null))
)
RCDFMT T00000001R
;
insert into lookup_table (lookup_item, lookup_value_integer) values('JOURNAL_SEQUENCE_NUMBER', 1);
insert into lookup_table (lookup_item, lookup_value_timestamp) values('USER_CHANGE_TIMESTAMP', CURRENT TIMESTAMP - 1000 years);
select * from lookup_table;

Being the <expletive deleted> I am I obfuscated the column names and stuff to discourage the use of 5250 functions to get file information.

Rob Berendt

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.