Define() establishes specific data definitions. This involves defining columns/fields and creating the tables/files with optional indexes.
Below is the code for Define():
//
// Define()
//
// Create the tables
//
function Defines($ses) {
print("\t<h4>DEFINE</h4>\n");
if (!$ses->beginTransaction())
Handle_Error($ses, "beginTransaction()");
Create_CustomerMaster_Table($ses);
Create_CustomerOrders_Table($ses);
Create_OrderItems_Table($ses);
Create_ItemMaster_Table($ses);
if (!$ses->commit())
Handle_Error($ses, "commit");
}
//
// Create_CustomerMaster_Table()
//
// Create the table CustomerMaster
//
//
// Create_CustomerMaster_Table()
//
// Create the table CustomerMaster
//
function Create_CustomerMaster_Table ($ses) {
print("\t\ttable CustomerMaster<br>\n");
$qry = $ses->exec(
"CREATE TABLE custmast (
cm_custnumb CHAR(4),
cm_custzipc CHAR(9),
cm_custstat CHAR(2),
cm_custrtng CHAR(1),
cm_custname VARCHAR(47),
cm_custaddr VARCHAR(47),
cm_custcity VARCHAR(47))");
if (!$qry)
Handle_Error($ses, "exec(CREATE TABLE)");
$qry = $ses->exec(
"CREATE UNIQUE INDEX cm_custnumb_idx ON custmast (cm_custnumb)");
if (!$qry)
Handle_Error($ses, "exec(CREATE INDEX)");
}
//
// Create_CustomerOrders_Table()
//
// Create the table CustomerOrders
//
function Create_CustomerOrders_Table ($ses) {
print("\t\ttable CustomerOrders<br>\n");
$qry = $ses->exec(
"CREATE TABLE custordr (
co_ordrdate DATE,
co_promdate DATE,
co_ordrnumb CHAR(6),
co_custnumb CHAR(4))");
if (!$qry)
Handle_Error($ses, "exec(CREATE TABLE)");
$qry = $ses->exec(
"CREATE UNIQUE INDEX co_ordrnumb_idx ON custordr (co_ordrnumb)");
if (!$qry)
Handle_Error($ses, "exec(CREATE INDEX)");
$qry = $ses->exec(
"CREATE INDEX co_custnumb_idx ON custordr (co_custnumb)");
if (!$qry)
Handle_Error($ses, "exec(CREATE INDEX)");
}
//
// Create_OrderItems_Table()
//
// Create the table OrderItems
//
function Create_OrderItems_Table ($ses) {
print("\t\ttable OrderItems<br>\n");
$qry = $ses->exec(
"CREATE TABLE ordritem (
oi_sequnumb SMALLINT,
oi_quantity SMALLINT,
oi_ordrnumb CHAR(6),
oi_itemnumb CHAR(5))");
if (!$qry)
Handle_Error($ses, "exec(CREATE TABLE)");
$qry = $ses->exec(
"CREATE UNIQUE INDEX oi_ordrnumb_idx ON ordritem (oi_ordrnumb, oi_sequnumb)");
if (!$qry)
Handle_Error($ses, "exec(CREATE INDEX)");
$qry = $ses->exec(
"CREATE INDEX oi_itemnumb_idx ON ordritem (oi_itemnumb)");
if (!$qry)
Handle_Error($ses, "exec(CREATE INDEX)");
}
//
// Create_ItemMaster_Table()
//
// Create the table ItemMaster
//
function Create_ItemMaster_Table ($ses) {
print("\t\ttable ItemMaster<br>\n");
$qry = $ses->exec(
"CREATE TABLE itemmast (
im_itemwght INTEGER,
im_itempric MONEY,
im_itemnumb CHAR(5),
im_itemdesc VARCHAR(47))");
if (!$qry)
Handle_Error($ses, "exec(CREATE TABLE)");
$qry = $ses->exec(
"CREATE UNIQUE INDEX im_itemnumb_idx ON itemmast (im_itemnumb)");
if (!$qry)
Handle_Error($ses, "exec(CREATE INDEX)");
}