home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-04 | 35.4 KB | 1,697 lines |
- /*
- * $Header: order.inp,v 3001400.1 90/02/27 16:01:37 rcs Exp $ order.inp Copyr (c) 1989 Oracle
- */
- /* Copyright (c) 1988 by the Oracle Corporation */
-
-
- SQL*FORMS_VERSION = 03.00.13.00.00
-
- DEFINE FORM
-
- NAME = order
- TITLE = Order Entry
- DEFAULT_MENU_APPLICATION = default
- ROOT_MENU =
- GROUP_NAME =
- MOUSE_NAVIGATION_LIMIT =
- VALIDATION_UNIT =
-
- DEFINE PROCEDURE
-
- NAME = check_total
- DEFINITION = <<<
- procedure check_total is
- begin
- if (nvl(:orders.total,0) >= 7500)
- then display_field('orders.total','menu-item-selected');
- else display_field('orders.total','normal');
- end if;
- end;
- >>>
-
- ENDDEFINE PROCEDURE
-
- DEFINE PROCEDURE
-
- NAME = checkdate
- DEFINITION = <<<
- procedure checkdate is
- begin
- if (:orders.shipdate is not null) and
- (:orders.orderdate is not null)
- then
- if
- to_date(Get_Char_Field('shipdate'),'DD-MON-YY')
- <
- to_date(Get_Char_Field('orderdate'),'DD-MON-YY')
- then
- message('WARNING : Shipdate is before order date');
- end if;
- end if;
- end;
- >>>
-
- ENDDEFINE PROCEDURE
-
- DEFINE PROCEDURE
-
- NAME = clear_details
- DEFINITION = <<<
- procedure clear_details is
- temp_total number:=null;
- begin
- if (:system.record_status != 'NEW') then
- go_block('items');
- clear_block;
- select sum(itemtot) into temp_total from item
- where ordid = :orders.ordid;
- if (temp_total != :orders.total)
- then :orders.total:=temp_total;
- end if;
- go_block('orders');
- end if;
- exception
- when others then null;
- end;
- >>>
-
- ENDDEFINE PROCEDURE
-
- DEFINE PROCEDURE
-
- NAME = item_total
- DEFINITION = <<<
- procedure item_total is
- oldtotal number;
- begin
- oldtotal:=nvl(:items.itemtot,0);
- if (:system.record_status != 'QUERY') then
- :items.itemtot := :items.qty * :items.actualprice;
- if (:orders.total is null) then
- :orders.total:=:items.itemtot;
- else
- :orders.total:=:orders.total-oldtotal+nvl(:items.itemtot,0);
- end if;
- end if;
- check_total;
- end;
- >>>
-
- ENDDEFINE PROCEDURE
-
- DEFINE PROCEDURE
-
- NAME = query_details
- DEFINITION = <<<
- procedure query_details is
- vcount number;
- begin
- if (:orders.custid is not null) then
- select count(*) into vcount from item
- where ordid = :orders.ordid;
- if (vcount > 0) then
- go_block('items');
- execute_query(all_records);
- go_block('orders');
- end if;
- end if;
- end;
- >>>
-
- ENDDEFINE PROCEDURE
-
- DEFINE TRIGGER
-
- NAME = key-clrfrm
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_form(no_validate);
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-commit
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- commit;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-cquery
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- count_query;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-down
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- down;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-edit
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- edit_field;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-exit
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- exit_form;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-help
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- help;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-listval
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- list_values;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-menu
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION = Break
- TEXT = <<<
- break;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-nxtblk
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- next_block;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-nxtfld
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- next_field;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-others
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- null;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-print
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- print;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-prvblk
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- previous_block;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-prvfld
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- previous_field;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = Key-startup
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- show_page(1);
- show_page(2);
- show_page(3);
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-up
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- up;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE BLOCK
-
- NAME = orders
- DESCRIPTION = orders
- TABLE = ord
- UNIQUE_KEY = OFF
- UPDATE_KEY = OFF
- IN_MENU = ON
- ROWS_DISPLAYED = 1
- ROWS_BUFFERED = 1
- BASE_LINE = 1
- LINES_PER_ROW = 0
- ARRAY_SIZE = 0
- COLUMN_SECURITY = OFF
- ORDERING = <<<
- where custid != -1
- order by ordid
- >>>
-
- DEFINE TRIGGER
-
- NAME = POST-QUERY
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- check_total;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-clrblk
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- clear_block;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-clrrec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-crerec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- create_record;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-delrec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- declare
- vcount number;
- begin
- select count(*) into vcount from item
- Where ordid = :orders.ordid;
- if (vcount = 0) then
- clear_details;
- delete_record;
- query_details;
- else
- message('You cannot delete master record when matching details exist');
- raise form_trigger_failure;
- end if;
- end;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-down
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- down;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-entqry
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- enter_query;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-exeqry
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- execute_query;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-nxtrec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- next_record;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-nxtset
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- next_set;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-prvrec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- previous_record;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-scrdown
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- scroll_down;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-scrup
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- scroll_up;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-up
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- clear_details;
- up;
- query_details;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE FIELD
-
- NAME = OrDID
- DATATYPE = NUMBER
- LENGTH = 4
- DISPLAY_LENGTH = 4
- QUERY_LENGTH = 6
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = ON
- DISPLAYED = ON
- PAGE = 1
- LINE = 1
- COLUMN = 13
- HELP = Enter the number of this order.
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT = :sequence.ordid.nextval
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = OFF
- UPDATE = OFF
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = ORDERDATE
- DATATYPE = DATE
- LENGTH = 9
- DISPLAY_LENGTH = 9
- QUERY_LENGTH = 9
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 1
- LINE = 1
- COLUMN = 60
- HELP = Enter the date the order was placed.
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK = mm/dd/yy
- OUTPUT_MASK = mm/dd/yy
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT = $$date$$
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = ON
- UPDATE = ON
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- DEFINE TRIGGER
-
- NAME = on-validate-field
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- checkdate;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-prvfld
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- next_block;
- last_record;
- previous_field;
- >>>
-
- ENDDEFINE TRIGGER
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = COMMPLAN
- DATATYPE = CHAR
- LENGTH = 1
- DISPLAY_LENGTH = 1
- QUERY_LENGTH = 1
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 1
- LINE = 2
- COLUMN = 13
- HELP = Enter the type of commission plan. (A, B or C)
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT = A
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = ON
- UPDATE = ON
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = ON
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = SHIPDATE
- DATATYPE = DATE
- LENGTH = 9
- DISPLAY_LENGTH = 9
- QUERY_LENGTH = 9
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 1
- LINE = 2
- COLUMN = 60
- HELP = Enter the date the order was shipped.
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK = mm/dd/yy
- OUTPUT_MASK = mm/dd/yy
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = ON
- UPDATE = ON
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- DEFINE TRIGGER
-
- NAME = on-validate-field
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- checkdate;
- >>>
-
- ENDDEFINE TRIGGER
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = CUSTID
- DATATYPE = NUMBER
- LENGTH = 6
- DISPLAY_LENGTH = 6
- QUERY_LENGTH = 8
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = ON
- DISPLAYED = ON
- PAGE = 1
- LINE = 4
- COLUMN = 16
- HELP = Enter customer code. Press [List] for values or [Help] to enter a new customer.
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT = <<<
- select name,custid
- into :orders.custname, :orders.custid
- from customer
- order by name
- >>>
- LOV_TITLE = Customers
- LOV_X = 15
- LOV_Y = 5
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = ON
- UPDATE = ON
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = ON
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- DEFINE TRIGGER
-
- NAME = POST-CHANGE
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- begin
- if (:orders.custid != -1) then
- select name into :orders.custname from customer
- where :orders.custid = custid;
- end if;
- exception
- when no_data_found then
- message
- ('Not a valid id. Press List for values or Help to add a customer');
- raise form_trigger_failure;
- when too_many_rows then
- message('Error in data. Too many rows found.');
- when others then null;
- end;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-help
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- :global.custid := :orders.custid;
- set_field('orders.custid',required,attr_off);
- set_field('orders.custid',echo,attr_off);
- :orders.custid:= -1;
- :system.message_level := 5;
- post;
- call('customer',no_hide,do_replace);
- :system.message_level := 0;
- :orders.custid:= :global.custid;
- if (:orders.custid = -1) then
- :orders.custid := null;
- end if;
- set_field('orders.custid',required,attr_on);
- set_field('orders.custid',echo,attr_on);
- if (:orders.custid is not null) then
- select name into :orders.custname from customer
- where custid = :orders.custid;
- end if;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-nxtfld
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- next_block;
- if (form_success) then
- go_record(1);
- go_field('items.itemid');
- end if;
- >>>
-
- ENDDEFINE TRIGGER
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = custname
- DATATYPE = CHAR
- LENGTH = 50
- DISPLAY_LENGTH = 24
- QUERY_LENGTH = 50
- BASE_TABLE = OFF
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 1
- LINE = 4
- COLUMN = 45
- HELP =
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = OFF
- UPDATE = OFF
- UPDATE_NULL = OFF
- QUERY = OFF
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = total
- DATATYPE = NUMBER
- LENGTH = 10
- DISPLAY_LENGTH = 10
- QUERY_LENGTH = 10
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 3
- LINE = 1
- COLUMN = 67
- HELP = Enter value for : TOTAL
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK = $99999.99
- OUTPUT_MASK = $99999.99
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = OFF
- UPDATE = OFF
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- ENDDEFINE FIELD
-
- ENDDEFINE BLOCK
-
- DEFINE BLOCK
-
- NAME = items
- DESCRIPTION = items
- TABLE = item
- UNIQUE_KEY = OFF
- UPDATE_KEY = OFF
- IN_MENU = ON
- ROWS_DISPLAYED = 5
- ROWS_BUFFERED = 5
- BASE_LINE = 4
- LINES_PER_ROW = 1
- ARRAY_SIZE = 0
- COLUMN_SECURITY = OFF
- ORDERING = <<<
- order by itemid
- >>>
-
- DEFINE TRIGGER
-
- NAME = key-clrblk
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- null;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-clrfrm
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- null;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-clrrec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- if (:system.record_status = 'INSERT') then
- if (:items.itemtot is not null) then
- :orders.total:= :orders.total - :items.itemtot;
- check_total;
- end if;
- end if;
- clear_record;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-cquery
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- null;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-crerec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- create_record;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-delrec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- if (:items.itemtot is not null) then
- :orders.total := :orders.total - :items.itemtot;
- check_total;
- end if;
- delete_record;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-duprec
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- duplicate_record;
- if (:items.itemtot is not NULL) then
- :orders.total := :orders.total + :items.itemtot;
- check_total;
- end if;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-entqry
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- null;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-exeqry
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- null;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE FIELD
-
- NAME = ORDID
- DATATYPE = NUMBER
- LENGTH = 6
- DISPLAY_LENGTH = 1
- QUERY_LENGTH = 6
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = ON
- DISPLAYED = OFF
- PAGE = 2
- LINE = 1
- COLUMN = 2
- HELP = Enter value for : ORDID
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM = orders.OrDID
- ECHO = OFF
- INPUT = OFF
- UPDATE = OFF
- UPDATE_NULL = OFF
- QUERY = OFF
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = ABOVE
- PROMPT_REPEAT = OFF
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = ITEMID
- DATATYPE = NUMBER
- LENGTH = 6
- DISPLAY_LENGTH = 3
- QUERY_LENGTH = 6
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = ON
- DISPLAYED = ON
- PAGE = 2
- LINE = 1
- COLUMN = 3
- HELP = Enter the line item number.
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = ON
- UPDATE = OFF
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = ABOVE
- PROMPT_REPEAT = OFF
-
- DEFINE TRIGGER
-
- NAME = key-nxtfld
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- next_field;
- if (:items.prodid is null) then
- list_values;
- end if;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-prvfld
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- if (:system.cursor_record != '1') then
- previous_record;
- end if;
- previous_field;
- >>>
-
- ENDDEFINE TRIGGER
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = PRODID
- DATATYPE = NUMBER
- LENGTH = 8
- DISPLAY_LENGTH = 8
- QUERY_LENGTH = 8
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 2
- LINE = 1
- COLUMN = 8
- HELP = Enter the product identification number.
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT = <<<
- select prodid,descrip into :items.prodid,:items.description
- from product
- order by prodid
- >>>
- LOV_TITLE = Available Products
- LOV_X = 17
- LOV_Y = 9
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = ON
- UPDATE = ON
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = ABOVE
- PROMPT_REPEAT = OFF
-
- DEFINE TRIGGER
-
- NAME = POST-CHANGE
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- select descrip, stdprice
- into :items.description, :items.standardprice
- from product, price
- where product.prodid = :items.prodid
- and price.prodid = :items.prodid
- and startdate = (select max(startdate)
- from price
- where price.prodid = :items.prodid);
- exception
- when no_data_found then
- message('No such product. Press [LIST] for valid product ids.');
- raise form_trigger_failure;
- when too_many_rows then
- message('Error in data. Too many rows found.');
- >>>
-
- ENDDEFINE TRIGGER
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = description
- DATATYPE = CHAR
- LENGTH = 25
- DISPLAY_LENGTH = 25
- QUERY_LENGTH = 25
- BASE_TABLE = OFF
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 2
- LINE = 1
- COLUMN = 18
- HELP =
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = OFF
- UPDATE = OFF
- UPDATE_NULL = OFF
- QUERY = OFF
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = ACTUALPRICE
- DATATYPE = NUMBER
- LENGTH = 7
- DISPLAY_LENGTH = 7
- QUERY_LENGTH = 9
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 2
- LINE = 1
- COLUMN = 45
- HELP = Enter the price of the product.
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK = $99.99
- OUTPUT_MASK = $99.99
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = ON
- UPDATE = ON
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = ABOVE
- PROMPT_REPEAT = OFF
-
- DEFINE TRIGGER
-
- NAME = on-validate-field
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- item_total;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-prvfld
- TRIGGER_TYPE = V3
- SHOW_KEY = ON
- DESCRIPTION =
- TEXT = <<<
- previous_field;
- if (:items.prodid is null) then
- list_values;
- end if;
- >>>
-
- ENDDEFINE TRIGGER
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = standardprice
- DATATYPE = NUMBER
- LENGTH = 7
- DISPLAY_LENGTH = 7
- QUERY_LENGTH = 9
- BASE_TABLE = OFF
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 2
- LINE = 1
- COLUMN = 53
- HELP =
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK = $99.99
- OUTPUT_MASK = $99.99
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = OFF
- UPDATE = OFF
- UPDATE_NULL = OFF
- QUERY = OFF
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = BESIDE
- PROMPT_REPEAT = OFF
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = QTY
- DATATYPE = NUMBER
- LENGTH = 10
- DISPLAY_LENGTH = 3
- QUERY_LENGTH = 10
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 2
- LINE = 1
- COLUMN = 64
- HELP = Enter the quantity desired.
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK =
- OUTPUT_MASK =
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = ON
- UPDATE = ON
- UPDATE_NULL = OFF
- QUERY = ON
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = ABOVE
- PROMPT_REPEAT = OFF
-
- DEFINE TRIGGER
-
- NAME = on-validate-field
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- item_total;
- >>>
-
- ENDDEFINE TRIGGER
-
- DEFINE TRIGGER
-
- NAME = key-nxtfld
- TRIGGER_TYPE = V3
- SHOW_KEY = OFF
- DESCRIPTION =
- TEXT = <<<
- if ((:system.last_record = 'FALSE') or
- (:system.record_status = 'INSERT'))then
- next_record;
- else
- previous_block;
- end if;
- >>>
-
- ENDDEFINE TRIGGER
-
- ENDDEFINE FIELD
-
- DEFINE FIELD
-
- NAME = ITEMTOT
- DATATYPE = NUMBER
- LENGTH = 10
- DISPLAY_LENGTH = 10
- QUERY_LENGTH = 10
- BASE_TABLE = ON
- PRIMARY_KEY = OFF
- MANDATORY = OFF
- DISPLAYED = ON
- PAGE = 2
- LINE = 1
- COLUMN = 69
- HELP = Enter value for : ITEMTOT
- LOW_VALUE =
- HIGH_VALUE =
- LOV_TEXT =
- LOV_TITLE =
- LOV_X = 0
- LOV_Y = 0
- INPUT_MASK = $99999.99
- OUTPUT_MASK = $99999.99
- EDIT_X = 0
- EDIT_Y = 0
- EDIT_TOP_TITLE =
- EDIT_BOTTOM_TITLE =
- EDIT_WORD_WRAP = OFF
- DEFAULT =
- ENFORCE_KEY_FROM =
- ECHO = ON
- INPUT = OFF
- UPDATE = OFF
- UPDATE_NULL = OFF
- QUERY = OFF
- FIXED_LENGTH = OFF
- AUTOSKIP = OFF
- AUTOHELP = OFF
- UPPERCASE = OFF
- PROMPT =
- PROMPT_POSITION = ABOVE
- PROMPT_REPEAT = OFF
-
- ENDDEFINE FIELD
-
- ENDDEFINE BLOCK
-
-
- DEFINE SCREEN
-
- DEFINE PAGE
-
- PAGE = 1
- POPUP = ON
- BORDER = ON
- HORIZONTAL_SCROLL_BAR = OFF
- VERTICAL_SCROLL_BAR = OFF
- DISSOLVE = OFF
- TITLE = SUMMIT SPORTING GOODS
- PAGE_XS = 80
- PAGE_YS = 12
- PAGE_PX0 = 1
- PAGE_PY0 = 1
- PAGE_PXS = 72
- PAGE_PYS = 9
- PAGE_SX0 = 5
- PAGE_SY0 = 3
- MODE = TEXT
- BOILER = <<<
- Order No. Ordered
- Comm Plan Shipped
- >>>
- LINE = 4
- BOILER = <<<
- Customer Id Customer Name
- >>>
- LINE = 8
- BOILER = <<<
- TOTAL
- >>>
-
- ENDDEFINE PAGE
-
- DEFINE PAGE
-
- PAGE = 2
- POPUP = ON
- BORDER = OFF
- HORIZONTAL_SCROLL_BAR = OFF
- VERTICAL_SCROLL_BAR = OFF
- DISSOLVE = OFF
- TITLE =
- PAGE_XS = 80
- PAGE_YS = 12
- PAGE_PX0 = 1
- PAGE_PY0 = 1
- PAGE_PXS = 80
- PAGE_PYS = 9
- PAGE_SX0 = 1
- PAGE_SY0 = 12
- MODE = TEXT
- BOILER = <<<
- Ordered Items
- >>>
- LINE = 3
- BOILER = <<<
- No. Code Description Price Std Price Qty Item Total
- >>>
- MODE = BOX
- LINE = 2
- BOILER = <<<
- <------------------------------------------------------------------------------>
- >>>
- LINE = 9
- BOILER = <<<
- <------------------------------------------------------------------------------>
- >>>
-
- ENDDEFINE PAGE
-
- DEFINE PAGE
-
- PAGE = 3
- POPUP = ON
- BORDER = OFF
- HORIZONTAL_SCROLL_BAR = OFF
- VERTICAL_SCROLL_BAR = OFF
- DISSOLVE = OFF
- TITLE =
- PAGE_XS = 80
- PAGE_YS = 4
- PAGE_PX0 = 1
- PAGE_PY0 = 1
- PAGE_PXS = 78
- PAGE_PYS = 1
- PAGE_SX0 = 3
- PAGE_SY0 = 21
- MODE = TEXT
- BOILER = <<<
- Total
- >>>
-
- ENDDEFINE PAGE
-
- ENDDEFINE SCREEN
-
- ENDDEFINE FORM
-