//DEFTRADE JOB //* //* 5655-F31 (C) Copyright IBM Corp. 2001 //* All Rights Reserved. //* U.S. Government users - RESTRICTED RIGHTS - Use, Duplication, or //* Disclosure restricted by GSA-ADP schedule contract with IBM Corp. //* Status = H28W401 //* This program may be used, executed, copied, modified and distributed //* without royalty for the purpose of developing, using, marketing, //* or distributing. //* //* GET RID OF TRADE TABLES, DATABASES, SPACES AND STORGROUPS //* //DROPTAB EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM() RUN PROGRAM(DSNTIAD) PLAN() - LIB('') //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSIN DD * Drop Database TRADEDB; commit; /* //* //* DELETE THEN DEFINE THE LINEAR DATASETS. //* //DEFVSAM EXEC PGM=IDCAMS,COND=(8,LT) //* //SYSPRINT DD SYSOUT=* //* //SYSIN DD * DELETE .TRADEDB.ACCTBSPC.I0001.A001 DELETE .TRADEDB.ACCOUNDX.I0001.A001 DELETE .TRADEDB.HOLDBSPC.I0001.A001 DELETE .TRADEDB.HOLDINDX.I0001.A001 DELETE .TRADEDB.PROFBSPC.I0001.A001 DELETE .TRADEDB.PROFINDX.I0001.A001 DELETE .TRADEDB.QUOTBSPC.I0001.A001 DELETE .TRADEDB.QUOTENDX.I0001.A001 DELETE .TRADEDB.REGBSPC.I0001.A001 DELETE .TRADEDB.REGISNDX.I0001.A001 DELETE .TRADEDB.KEYSSPC.I0001.A001 DELETE .TRADEDB.KEYSNDXB.I0001.A001 SET MAXCC = 0 DEFINE CLUSTER- (NAME(.TRADEDB.ACCTBSPC.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.ACCTBSPC.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.ACCOUNDX.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.ACCOUNDX.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.HOLDBSPC.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.HOLDBSPC.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.HOLDINDX.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.HOLDINDX.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.PROFBSPC.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.PROFBSPC.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.PROFINDX.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.PROFINDX.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.QUOTBSPC.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.QUOTBSPC.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.QUOTENDX.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.QUOTENDX.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.REGBSPC.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.REGBSPC.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.REGISNDX.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.REGISNDX.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.KEYSSPC.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.KEYSSPC.I0001.A001)) DEFINE CLUSTER- (NAME(.TRADEDB.KEYSNDXB.I0001.A001) - LINEAR - REUSE - VOLUMES() - RECORDS(4000 2500) - SHAREOPTIONS(3 3) ) - DATA - (NAME(.TRADEDB.KEYSNDXB.I0001.A001)) /* //* //* CREATE TRADE TABLES, DATABASES, SPACES AND STORGROUPS //* //* //DEFTAB EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(8,LT) //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM() RUN PROGRAM(DSNTIAD) PLAN() - LIB('') //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSIN DD * create database TRADEDB BUFFERPOOL BP0; CREATE TABLESPACE QuotBSpc IN TRADEDB BUFFERPOOL BP0 LOCKSIZE ROW SEGSIZE 32 USING VCAT PCTFREE 15 ; CREATE TABLESPACE AcctBSpc IN TRADEDB BUFFERPOOL BP0 LOCKSIZE ROW SEGSIZE 32 USING VCAT PCTFREE 15 ; CREATE TABLESPACE HoldBSpc IN TRADEDB BUFFERPOOL BP0 LOCKSIZE ROW SEGSIZE 32 USING VCAT PCTFREE 15 ; CREATE TABLESPACE ProfBSpc IN TRADEDB BUFFERPOOL BP0 LOCKSIZE ROW SEGSIZE 32 USING VCAT PCTFREE 15 ; CREATE TABLESPACE RegBSpc IN TRADEDB BUFFERPOOL BP0 LOCKSIZE ROW SEGSIZE 32 USING VCAT PCTFREE 15 ; CREATE TABLESPACE KeysSpc IN TRADEDB BUFFERPOOL BP0 LOCKSIZE ROW SEGSIZE 32 USING VCAT PCTFREE 15 ; CREATE TABLE .TradeQuoteBean ( symbol VARCHAR(251) NOT NULL, details VARCHAR(251), price FLOAT, PRIMARY KEY (symbol)) in TRADEDB.QuotBSpc; commit ; CREATE Unique INDEX .QuoteNDXnTbl on .TradeQuoteBean ( symbol ASC) Using VCAT ; commit ; CREATE TABLE .TradeAccountBean ( userid VARCHAR(251) NOT NULL, balance FLOAT, transactions INTEGER, PRIMARY KEY (userid)) in TRADEDB.AcctBSpc; commit ; CREATE Unique INDEX .AccouNDXeanTbl on .TradeAccountBean ( userid ASC) Using VCAT ; commit ; CREATE TABLE .TradeHoldingBean ( userid VARCHAR(128) NOT NULL, symbol VARCHAR(251), price FLOAT, quantity FLOAT, indx INTEGER NOT NULL, PRIMARY KEY (userid,indx)) in TRADEDB.HoldBSpc; commit ; CREATE Unique INDEX .HoldiNDXeanTbl on .TradeHoldingBean ( userid ASC, indx ASC) Using VCAT ; commit ; CREATE TABLE .TradeProfileBean ( userid VARCHAR(251) NOT NULL, fullname VARCHAR(251), address VARCHAR(251), email VARCHAR(251), creditcard VARCHAR(251), PRIMARY KEY (userid)) in TRADEDB.ProfBSpc; commit ; CREATE Unique INDEX .ProfiNDXeanTbl on .TradeProfileBean ( userid ASC) Using VCAT ; commit ; CREATE TABLE .TradeRegistryBean ( userid VARCHAR(251) NOT NULL, password VARCHAR(251), status INTEGER, PRIMARY KEY (userid)) in TRADEDB.RegBSpc; commit ; CREATE Unique INDEX .RegisNDXBeanTbl on .TradeRegistryBean ( userid ASC) Using VCAT ; commit ; CREATE TABLE .KeysEntityBean (name VARCHAR(251) NOT NULL, value INTEGER, PRIMARY KEY (name)) in TRADEDB.KeysSpc; commit ; CREATE Unique INDEX .KeysNDXBeanTbl on .KeysEntityBean ( name ASC) Using VCAT ; commit ; insert into .KeysEntityBean( name, value) VALUES ('holdingKey', 0); GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE .TradeQuoteBean TO PUBLIC AT ALL LOCATIONS; commit ; GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE .TradeAccountBean TO PUBLIC AT ALL LOCATIONS; commit ; GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE .TradeHoldingBean TO PUBLIC AT ALL LOCATIONS; commit ; GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE .TradeProfileBean TO PUBLIC AT ALL LOCATIONS; commit ; GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE .TradeRegistryBean TO PUBLIC AT ALL LOCATIONS; commit ; GRANT DELETE, INSERT, SELECT, UPDATE ON TABLE .KeysEntityBean TO PUBLIC AT ALL LOCATIONS; commit ; /* //*