home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a524 / 33.ddi / demo / order.inp < prev    next >
Encoding:
Text File  |  1991-03-04  |  35.4 KB  |  1,697 lines

  1. /*
  2.  * $Header: order.inp,v 3001400.1 90/02/27 16:01:37 rcs Exp $ order.inp Copyr (c) 1989 Oracle
  3.  */
  4. /* Copyright (c) 1988 by the Oracle Corporation */
  5.  
  6.  
  7. SQL*FORMS_VERSION = 03.00.13.00.00
  8.  
  9. DEFINE FORM
  10.  
  11.    NAME = order
  12.    TITLE = Order Entry
  13.    DEFAULT_MENU_APPLICATION = default
  14.    ROOT_MENU = 
  15.    GROUP_NAME = 
  16.    MOUSE_NAVIGATION_LIMIT = 
  17.    VALIDATION_UNIT = 
  18.  
  19.    DEFINE PROCEDURE
  20.  
  21.       NAME = check_total
  22.       DEFINITION = <<<
  23.       procedure check_total is
  24.       begin
  25.         if (nvl(:orders.total,0) >= 7500)
  26.           then display_field('orders.total','menu-item-selected');
  27.           else display_field('orders.total','normal');
  28.         end if;
  29.       end;
  30.       >>>
  31.  
  32.    ENDDEFINE PROCEDURE
  33.  
  34.    DEFINE PROCEDURE
  35.  
  36.       NAME = checkdate
  37.       DEFINITION = <<<
  38.       procedure checkdate is
  39.       begin
  40.         if (:orders.shipdate is not null) and
  41.            (:orders.orderdate is not null)
  42.           then
  43.             if
  44.                to_date(Get_Char_Field('shipdate'),'DD-MON-YY')
  45.                   <
  46.                to_date(Get_Char_Field('orderdate'),'DD-MON-YY')
  47.               then
  48.                 message('WARNING : Shipdate is before order date');
  49.             end if;
  50.         end if;
  51.       end;
  52.       >>>
  53.  
  54.    ENDDEFINE PROCEDURE
  55.  
  56.    DEFINE PROCEDURE
  57.  
  58.       NAME = clear_details
  59.       DEFINITION = <<<
  60.       procedure clear_details is
  61.         temp_total number:=null;
  62.       begin
  63.         if (:system.record_status != 'NEW') then
  64.           go_block('items');
  65.           clear_block;
  66.           select sum(itemtot) into temp_total from item
  67.             where ordid = :orders.ordid;
  68.           if (temp_total != :orders.total)
  69.             then :orders.total:=temp_total;
  70.           end if;
  71.           go_block('orders');
  72.         end if;
  73.       exception
  74.         when others then null;
  75.       end;
  76.       >>>
  77.  
  78.    ENDDEFINE PROCEDURE
  79.  
  80.    DEFINE PROCEDURE
  81.  
  82.       NAME = item_total
  83.       DEFINITION = <<<
  84.       procedure item_total is
  85.         oldtotal number;
  86.       begin
  87.         oldtotal:=nvl(:items.itemtot,0);
  88.         if (:system.record_status != 'QUERY') then
  89.           :items.itemtot := :items.qty * :items.actualprice;
  90.           if (:orders.total is null) then
  91.             :orders.total:=:items.itemtot;
  92.           else
  93.             :orders.total:=:orders.total-oldtotal+nvl(:items.itemtot,0);
  94.           end if;
  95.         end if;
  96.         check_total;
  97.       end;
  98.       >>>
  99.  
  100.    ENDDEFINE PROCEDURE
  101.  
  102.    DEFINE PROCEDURE
  103.  
  104.       NAME = query_details
  105.       DEFINITION = <<<
  106.       procedure query_details is
  107.         vcount number;
  108.       begin
  109.         if (:orders.custid is not null) then
  110.           select count(*) into vcount from item
  111.           where ordid = :orders.ordid;
  112.           if (vcount > 0) then
  113.             go_block('items');
  114.             execute_query(all_records);
  115.             go_block('orders');
  116.           end if;
  117.         end if;
  118.       end;
  119.       >>>
  120.  
  121.    ENDDEFINE PROCEDURE
  122.  
  123.    DEFINE TRIGGER
  124.  
  125.       NAME = key-clrfrm
  126.       TRIGGER_TYPE = V3
  127.       SHOW_KEY = ON
  128.       DESCRIPTION = 
  129.       TEXT = <<<
  130.       clear_form(no_validate);
  131.       >>>
  132.  
  133.    ENDDEFINE TRIGGER
  134.  
  135.    DEFINE TRIGGER
  136.  
  137.       NAME = key-commit
  138.       TRIGGER_TYPE = V3
  139.       SHOW_KEY = ON
  140.       DESCRIPTION = 
  141.       TEXT = <<<
  142.       commit;
  143.       >>>
  144.  
  145.    ENDDEFINE TRIGGER
  146.  
  147.    DEFINE TRIGGER
  148.  
  149.       NAME = key-cquery
  150.       TRIGGER_TYPE = V3
  151.       SHOW_KEY = ON
  152.       DESCRIPTION = 
  153.       TEXT = <<<
  154.       count_query;
  155.       >>>
  156.  
  157.    ENDDEFINE TRIGGER
  158.  
  159.    DEFINE TRIGGER
  160.  
  161.       NAME = key-down
  162.       TRIGGER_TYPE = V3
  163.       SHOW_KEY = ON
  164.       DESCRIPTION = 
  165.       TEXT = <<<
  166.       down;
  167.       >>>
  168.  
  169.    ENDDEFINE TRIGGER
  170.  
  171.    DEFINE TRIGGER
  172.  
  173.       NAME = key-edit
  174.       TRIGGER_TYPE = V3
  175.       SHOW_KEY = ON
  176.       DESCRIPTION = 
  177.       TEXT = <<<
  178.       edit_field;
  179.       >>>
  180.  
  181.    ENDDEFINE TRIGGER
  182.  
  183.    DEFINE TRIGGER
  184.  
  185.       NAME = key-exit
  186.       TRIGGER_TYPE = V3
  187.       SHOW_KEY = ON
  188.       DESCRIPTION = 
  189.       TEXT = <<<
  190.       exit_form;
  191.       >>>
  192.  
  193.    ENDDEFINE TRIGGER
  194.  
  195.    DEFINE TRIGGER
  196.  
  197.       NAME = key-help
  198.       TRIGGER_TYPE = V3
  199.       SHOW_KEY = ON
  200.       DESCRIPTION = 
  201.       TEXT = <<<
  202.       help;
  203.       >>>
  204.  
  205.    ENDDEFINE TRIGGER
  206.  
  207.    DEFINE TRIGGER
  208.  
  209.       NAME = key-listval
  210.       TRIGGER_TYPE = V3
  211.       SHOW_KEY = ON
  212.       DESCRIPTION = 
  213.       TEXT = <<<
  214.       list_values;
  215.       >>>
  216.  
  217.    ENDDEFINE TRIGGER
  218.  
  219.    DEFINE TRIGGER
  220.  
  221.       NAME = key-menu
  222.       TRIGGER_TYPE = V3
  223.       SHOW_KEY = ON
  224.       DESCRIPTION = Break
  225.       TEXT = <<<
  226.       break;
  227.       >>>
  228.  
  229.    ENDDEFINE TRIGGER
  230.  
  231.    DEFINE TRIGGER
  232.  
  233.       NAME = key-nxtblk
  234.       TRIGGER_TYPE = V3
  235.       SHOW_KEY = ON
  236.       DESCRIPTION = 
  237.       TEXT = <<<
  238.       next_block;
  239.       >>>
  240.  
  241.    ENDDEFINE TRIGGER
  242.  
  243.    DEFINE TRIGGER
  244.  
  245.       NAME = key-nxtfld
  246.       TRIGGER_TYPE = V3
  247.       SHOW_KEY = ON
  248.       DESCRIPTION = 
  249.       TEXT = <<<
  250.       next_field;
  251.       >>>
  252.  
  253.    ENDDEFINE TRIGGER
  254.  
  255.    DEFINE TRIGGER
  256.  
  257.       NAME = key-others
  258.       TRIGGER_TYPE = V3
  259.       SHOW_KEY = OFF
  260.       DESCRIPTION = 
  261.       TEXT = <<<
  262.       null;
  263.       >>>
  264.  
  265.    ENDDEFINE TRIGGER
  266.  
  267.    DEFINE TRIGGER
  268.  
  269.       NAME = key-print
  270.       TRIGGER_TYPE = V3
  271.       SHOW_KEY = ON
  272.       DESCRIPTION = 
  273.       TEXT = <<<
  274.       print;
  275.       >>>
  276.  
  277.    ENDDEFINE TRIGGER
  278.  
  279.    DEFINE TRIGGER
  280.  
  281.       NAME = key-prvblk
  282.       TRIGGER_TYPE = V3
  283.       SHOW_KEY = ON
  284.       DESCRIPTION = 
  285.       TEXT = <<<
  286.       previous_block;
  287.       >>>
  288.  
  289.    ENDDEFINE TRIGGER
  290.  
  291.    DEFINE TRIGGER
  292.  
  293.       NAME = key-prvfld
  294.       TRIGGER_TYPE = V3
  295.       SHOW_KEY = ON
  296.       DESCRIPTION = 
  297.       TEXT = <<<
  298.       previous_field;
  299.       >>>
  300.  
  301.    ENDDEFINE TRIGGER
  302.  
  303.    DEFINE TRIGGER
  304.  
  305.       NAME = Key-startup
  306.       TRIGGER_TYPE = V3
  307.       SHOW_KEY = OFF
  308.       DESCRIPTION = 
  309.       TEXT = <<<
  310.       show_page(1);
  311.       show_page(2);
  312.       show_page(3);
  313.       >>>
  314.  
  315.    ENDDEFINE TRIGGER
  316.  
  317.    DEFINE TRIGGER
  318.  
  319.       NAME = key-up
  320.       TRIGGER_TYPE = V3
  321.       SHOW_KEY = ON
  322.       DESCRIPTION = 
  323.       TEXT = <<<
  324.       up;
  325.       >>>
  326.  
  327.    ENDDEFINE TRIGGER
  328.  
  329.    DEFINE BLOCK
  330.  
  331.       NAME = orders
  332.       DESCRIPTION = orders
  333.       TABLE = ord
  334.       UNIQUE_KEY = OFF
  335.       UPDATE_KEY = OFF
  336.       IN_MENU = ON
  337.       ROWS_DISPLAYED = 1
  338.       ROWS_BUFFERED = 1
  339.       BASE_LINE = 1
  340.       LINES_PER_ROW = 0
  341.       ARRAY_SIZE = 0
  342.       COLUMN_SECURITY = OFF
  343.       ORDERING = <<<
  344.       where custid != -1
  345.       order by ordid
  346.       >>>
  347.  
  348.       DEFINE TRIGGER
  349.  
  350.          NAME = POST-QUERY
  351.          TRIGGER_TYPE = V3
  352.          SHOW_KEY = OFF
  353.          DESCRIPTION = 
  354.          TEXT = <<<
  355.          check_total;
  356.          >>>
  357.  
  358.       ENDDEFINE TRIGGER
  359.  
  360.       DEFINE TRIGGER
  361.  
  362.          NAME = key-clrblk
  363.          TRIGGER_TYPE = V3
  364.          SHOW_KEY = ON
  365.          DESCRIPTION = 
  366.          TEXT = <<<
  367.          clear_details;
  368.          clear_block;
  369.          >>>
  370.  
  371.       ENDDEFINE TRIGGER
  372.  
  373.       DEFINE TRIGGER
  374.  
  375.          NAME = key-clrrec
  376.          TRIGGER_TYPE = V3
  377.          SHOW_KEY = ON
  378.          DESCRIPTION = 
  379.          TEXT = <<<
  380.          clear_details;
  381.          query_details;
  382.          >>>
  383.  
  384.       ENDDEFINE TRIGGER
  385.  
  386.       DEFINE TRIGGER
  387.  
  388.          NAME = key-crerec
  389.          TRIGGER_TYPE = V3
  390.          SHOW_KEY = ON
  391.          DESCRIPTION = 
  392.          TEXT = <<<
  393.          clear_details;
  394.          create_record;
  395.          >>>
  396.  
  397.       ENDDEFINE TRIGGER
  398.  
  399.       DEFINE TRIGGER
  400.  
  401.          NAME = key-delrec
  402.          TRIGGER_TYPE = V3
  403.          SHOW_KEY = ON
  404.          DESCRIPTION = 
  405.          TEXT = <<<
  406.          declare
  407.            vcount number;
  408.          begin
  409.          select count(*) into vcount from item
  410.          Where ordid = :orders.ordid;
  411.          if (vcount = 0) then
  412.            clear_details;
  413.            delete_record;
  414.            query_details;
  415.          else
  416.            message('You cannot delete master record when matching details exist');
  417.            raise form_trigger_failure;
  418.          end if;
  419.          end;
  420.          >>>
  421.  
  422.       ENDDEFINE TRIGGER
  423.  
  424.       DEFINE TRIGGER
  425.  
  426.          NAME = key-down
  427.          TRIGGER_TYPE = V3
  428.          SHOW_KEY = ON
  429.          DESCRIPTION = 
  430.          TEXT = <<<
  431.          clear_details;
  432.          down;
  433.          query_details;
  434.          >>>
  435.  
  436.       ENDDEFINE TRIGGER
  437.  
  438.       DEFINE TRIGGER
  439.  
  440.          NAME = key-entqry
  441.          TRIGGER_TYPE = V3
  442.          SHOW_KEY = ON
  443.          DESCRIPTION = 
  444.          TEXT = <<<
  445.          clear_details;
  446.          enter_query;
  447.          query_details;
  448.          >>>
  449.  
  450.       ENDDEFINE TRIGGER
  451.  
  452.       DEFINE TRIGGER
  453.  
  454.          NAME = key-exeqry
  455.          TRIGGER_TYPE = V3
  456.          SHOW_KEY = ON
  457.          DESCRIPTION = 
  458.          TEXT = <<<
  459.          clear_details;
  460.          execute_query;
  461.          query_details;
  462.          >>>
  463.  
  464.       ENDDEFINE TRIGGER
  465.  
  466.       DEFINE TRIGGER
  467.  
  468.          NAME = key-nxtrec
  469.          TRIGGER_TYPE = V3
  470.          SHOW_KEY = ON
  471.          DESCRIPTION = 
  472.          TEXT = <<<
  473.          clear_details;
  474.          next_record;
  475.          query_details;
  476.          >>>
  477.  
  478.       ENDDEFINE TRIGGER
  479.  
  480.       DEFINE TRIGGER
  481.  
  482.          NAME = key-nxtset
  483.          TRIGGER_TYPE = V3
  484.          SHOW_KEY = ON
  485.          DESCRIPTION = 
  486.          TEXT = <<<
  487.          clear_details;
  488.          next_set;
  489.          query_details;
  490.          >>>
  491.  
  492.       ENDDEFINE TRIGGER
  493.  
  494.       DEFINE TRIGGER
  495.  
  496.          NAME = key-prvrec
  497.          TRIGGER_TYPE = V3
  498.          SHOW_KEY = ON
  499.          DESCRIPTION = 
  500.          TEXT = <<<
  501.          clear_details;
  502.          previous_record;
  503.          query_details;
  504.          >>>
  505.  
  506.       ENDDEFINE TRIGGER
  507.  
  508.       DEFINE TRIGGER
  509.  
  510.          NAME = key-scrdown
  511.          TRIGGER_TYPE = V3
  512.          SHOW_KEY = ON
  513.          DESCRIPTION = 
  514.          TEXT = <<<
  515.          clear_details;
  516.          scroll_down;
  517.          query_details;
  518.          >>>
  519.  
  520.       ENDDEFINE TRIGGER
  521.  
  522.       DEFINE TRIGGER
  523.  
  524.          NAME = key-scrup
  525.          TRIGGER_TYPE = V3
  526.          SHOW_KEY = ON
  527.          DESCRIPTION = 
  528.          TEXT = <<<
  529.          clear_details;
  530.          scroll_up;
  531.          query_details;
  532.          >>>
  533.  
  534.       ENDDEFINE TRIGGER
  535.  
  536.       DEFINE TRIGGER
  537.  
  538.          NAME = key-up
  539.          TRIGGER_TYPE = V3
  540.          SHOW_KEY = ON
  541.          DESCRIPTION = 
  542.          TEXT = <<<
  543.          clear_details;
  544.          up;
  545.          query_details;
  546.          >>>
  547.  
  548.       ENDDEFINE TRIGGER
  549.  
  550.       DEFINE FIELD
  551.  
  552.          NAME = OrDID
  553.          DATATYPE = NUMBER
  554.          LENGTH = 4
  555.          DISPLAY_LENGTH = 4
  556.          QUERY_LENGTH = 6
  557.          BASE_TABLE = ON
  558.          PRIMARY_KEY = OFF
  559.          MANDATORY = ON
  560.          DISPLAYED = ON
  561.          PAGE = 1
  562.          LINE = 1
  563.          COLUMN = 13
  564.          HELP = Enter the number of this order.
  565.          LOW_VALUE = 
  566.          HIGH_VALUE = 
  567.          LOV_TEXT = 
  568.          LOV_TITLE = 
  569.          LOV_X = 0
  570.          LOV_Y = 0
  571.          INPUT_MASK = 
  572.          OUTPUT_MASK = 
  573.          EDIT_X = 0
  574.          EDIT_Y = 0
  575.          EDIT_TOP_TITLE = 
  576.          EDIT_BOTTOM_TITLE = 
  577.          EDIT_WORD_WRAP = OFF
  578.          DEFAULT = :sequence.ordid.nextval
  579.          ENFORCE_KEY_FROM = 
  580.          ECHO = ON
  581.          INPUT = OFF
  582.          UPDATE = OFF
  583.          UPDATE_NULL = OFF
  584.          QUERY = ON
  585.          FIXED_LENGTH = OFF
  586.          AUTOSKIP = OFF
  587.          AUTOHELP = OFF
  588.          UPPERCASE = OFF
  589.          PROMPT = 
  590.          PROMPT_POSITION = BESIDE
  591.          PROMPT_REPEAT = OFF
  592.  
  593.       ENDDEFINE FIELD
  594.  
  595.       DEFINE FIELD
  596.  
  597.          NAME = ORDERDATE
  598.          DATATYPE = DATE
  599.          LENGTH = 9
  600.          DISPLAY_LENGTH = 9
  601.          QUERY_LENGTH = 9
  602.          BASE_TABLE = ON
  603.          PRIMARY_KEY = OFF
  604.          MANDATORY = OFF
  605.          DISPLAYED = ON
  606.          PAGE = 1
  607.          LINE = 1
  608.          COLUMN = 60
  609.          HELP = Enter the date the order was placed.
  610.          LOW_VALUE = 
  611.          HIGH_VALUE = 
  612.          LOV_TEXT = 
  613.          LOV_TITLE = 
  614.          LOV_X = 0
  615.          LOV_Y = 0
  616.          INPUT_MASK = mm/dd/yy
  617.          OUTPUT_MASK = mm/dd/yy
  618.          EDIT_X = 0
  619.          EDIT_Y = 0
  620.          EDIT_TOP_TITLE = 
  621.          EDIT_BOTTOM_TITLE = 
  622.          EDIT_WORD_WRAP = OFF
  623.          DEFAULT = $$date$$
  624.          ENFORCE_KEY_FROM = 
  625.          ECHO = ON
  626.          INPUT = ON
  627.          UPDATE = ON
  628.          UPDATE_NULL = OFF
  629.          QUERY = ON
  630.          FIXED_LENGTH = OFF
  631.          AUTOSKIP = OFF
  632.          AUTOHELP = OFF
  633.          UPPERCASE = OFF
  634.          PROMPT = 
  635.          PROMPT_POSITION = BESIDE
  636.          PROMPT_REPEAT = OFF
  637.  
  638.          DEFINE TRIGGER
  639.  
  640.             NAME = on-validate-field
  641.             TRIGGER_TYPE = V3
  642.             SHOW_KEY = OFF
  643.             DESCRIPTION = 
  644.             TEXT = <<<
  645.             checkdate;
  646.             >>>
  647.  
  648.          ENDDEFINE TRIGGER
  649.  
  650.          DEFINE TRIGGER
  651.  
  652.             NAME = key-prvfld
  653.             TRIGGER_TYPE = V3
  654.             SHOW_KEY = OFF
  655.             DESCRIPTION = 
  656.             TEXT = <<<
  657.             next_block;
  658.             last_record;
  659.             previous_field;
  660.             >>>
  661.  
  662.          ENDDEFINE TRIGGER
  663.  
  664.       ENDDEFINE FIELD
  665.  
  666.       DEFINE FIELD
  667.  
  668.          NAME = COMMPLAN
  669.          DATATYPE = CHAR
  670.          LENGTH = 1
  671.          DISPLAY_LENGTH = 1
  672.          QUERY_LENGTH = 1
  673.          BASE_TABLE = ON
  674.          PRIMARY_KEY = OFF
  675.          MANDATORY = OFF
  676.          DISPLAYED = ON
  677.          PAGE = 1
  678.          LINE = 2
  679.          COLUMN = 13
  680.          HELP = Enter the type of commission plan.  (A, B or C)
  681.          LOW_VALUE = 
  682.          HIGH_VALUE = 
  683.          LOV_TEXT = 
  684.          LOV_TITLE = 
  685.          LOV_X = 0
  686.          LOV_Y = 0
  687.          INPUT_MASK = 
  688.          OUTPUT_MASK = 
  689.          EDIT_X = 0
  690.          EDIT_Y = 0
  691.          EDIT_TOP_TITLE = 
  692.          EDIT_BOTTOM_TITLE = 
  693.          EDIT_WORD_WRAP = OFF
  694.          DEFAULT = A
  695.          ENFORCE_KEY_FROM = 
  696.          ECHO = ON
  697.          INPUT = ON
  698.          UPDATE = ON
  699.          UPDATE_NULL = OFF
  700.          QUERY = ON
  701.          FIXED_LENGTH = OFF
  702.          AUTOSKIP = OFF
  703.          AUTOHELP = ON
  704.          UPPERCASE = OFF
  705.          PROMPT = 
  706.          PROMPT_POSITION = BESIDE
  707.          PROMPT_REPEAT = OFF
  708.  
  709.       ENDDEFINE FIELD
  710.  
  711.       DEFINE FIELD
  712.  
  713.          NAME = SHIPDATE
  714.          DATATYPE = DATE
  715.          LENGTH = 9
  716.          DISPLAY_LENGTH = 9
  717.          QUERY_LENGTH = 9
  718.          BASE_TABLE = ON
  719.          PRIMARY_KEY = OFF
  720.          MANDATORY = OFF
  721.          DISPLAYED = ON
  722.          PAGE = 1
  723.          LINE = 2
  724.          COLUMN = 60
  725.          HELP = Enter the date the order was shipped.
  726.          LOW_VALUE = 
  727.          HIGH_VALUE = 
  728.          LOV_TEXT = 
  729.          LOV_TITLE = 
  730.          LOV_X = 0
  731.          LOV_Y = 0
  732.          INPUT_MASK = mm/dd/yy
  733.          OUTPUT_MASK = mm/dd/yy
  734.          EDIT_X = 0
  735.          EDIT_Y = 0
  736.          EDIT_TOP_TITLE = 
  737.          EDIT_BOTTOM_TITLE = 
  738.          EDIT_WORD_WRAP = OFF
  739.          DEFAULT = 
  740.          ENFORCE_KEY_FROM = 
  741.          ECHO = ON
  742.          INPUT = ON
  743.          UPDATE = ON
  744.          UPDATE_NULL = OFF
  745.          QUERY = ON
  746.          FIXED_LENGTH = OFF
  747.          AUTOSKIP = OFF
  748.          AUTOHELP = OFF
  749.          UPPERCASE = OFF
  750.          PROMPT = 
  751.          PROMPT_POSITION = BESIDE
  752.          PROMPT_REPEAT = OFF
  753.  
  754.          DEFINE TRIGGER
  755.  
  756.             NAME = on-validate-field
  757.             TRIGGER_TYPE = V3
  758.             SHOW_KEY = OFF
  759.             DESCRIPTION = 
  760.             TEXT = <<<
  761.             checkdate;
  762.             >>>
  763.  
  764.          ENDDEFINE TRIGGER
  765.  
  766.       ENDDEFINE FIELD
  767.  
  768.       DEFINE FIELD
  769.  
  770.          NAME = CUSTID
  771.          DATATYPE = NUMBER
  772.          LENGTH = 6
  773.          DISPLAY_LENGTH = 6
  774.          QUERY_LENGTH = 8
  775.          BASE_TABLE = ON
  776.          PRIMARY_KEY = OFF
  777.          MANDATORY = ON
  778.          DISPLAYED = ON
  779.          PAGE = 1
  780.          LINE = 4
  781.          COLUMN = 16
  782.          HELP = Enter customer code.  Press [List] for values or [Help] to enter a new customer.
  783.          LOW_VALUE = 
  784.          HIGH_VALUE = 
  785.          LOV_TEXT = <<<
  786.          select name,custid
  787.          into :orders.custname, :orders.custid
  788.          from customer
  789.          order by name
  790.          >>>
  791.          LOV_TITLE = Customers
  792.          LOV_X = 15
  793.          LOV_Y = 5
  794.          INPUT_MASK = 
  795.          OUTPUT_MASK = 
  796.          EDIT_X = 0
  797.          EDIT_Y = 0
  798.          EDIT_TOP_TITLE = 
  799.          EDIT_BOTTOM_TITLE = 
  800.          EDIT_WORD_WRAP = OFF
  801.          DEFAULT = 
  802.          ENFORCE_KEY_FROM = 
  803.          ECHO = ON
  804.          INPUT = ON
  805.          UPDATE = ON
  806.          UPDATE_NULL = OFF
  807.          QUERY = ON
  808.          FIXED_LENGTH = OFF
  809.          AUTOSKIP = OFF
  810.          AUTOHELP = ON
  811.          UPPERCASE = OFF
  812.          PROMPT = 
  813.          PROMPT_POSITION = BESIDE
  814.          PROMPT_REPEAT = OFF
  815.  
  816.          DEFINE TRIGGER
  817.  
  818.             NAME = POST-CHANGE
  819.             TRIGGER_TYPE = V3
  820.             SHOW_KEY = OFF
  821.             DESCRIPTION = 
  822.             TEXT = <<<
  823.             begin
  824.             if (:orders.custid != -1) then
  825.               select name into :orders.custname from customer
  826.                 where :orders.custid = custid;
  827.             end if;
  828.             exception
  829.               when no_data_found then
  830.                 message
  831.             ('Not a valid id. Press List for values or Help to add a customer');
  832.                 raise form_trigger_failure;
  833.               when too_many_rows then
  834.                message('Error in data.  Too many rows found.');
  835.               when others then null;
  836.             end;
  837.             >>>
  838.  
  839.          ENDDEFINE TRIGGER
  840.  
  841.          DEFINE TRIGGER
  842.  
  843.             NAME = key-help
  844.             TRIGGER_TYPE = V3
  845.             SHOW_KEY = ON
  846.             DESCRIPTION = 
  847.             TEXT = <<<
  848.             :global.custid := :orders.custid;
  849.             set_field('orders.custid',required,attr_off);
  850.             set_field('orders.custid',echo,attr_off);
  851.             :orders.custid:= -1;
  852.             :system.message_level := 5;
  853.             post;
  854.             call('customer',no_hide,do_replace);
  855.             :system.message_level := 0;
  856.             :orders.custid:= :global.custid;
  857.             if (:orders.custid = -1) then
  858.               :orders.custid := null;
  859.             end if;
  860.             set_field('orders.custid',required,attr_on);
  861.             set_field('orders.custid',echo,attr_on);
  862.             if (:orders.custid is not null) then
  863.               select name into :orders.custname from customer
  864.                 where custid = :orders.custid;
  865.             end if;
  866.             >>>
  867.  
  868.          ENDDEFINE TRIGGER
  869.  
  870.          DEFINE TRIGGER
  871.  
  872.             NAME = key-nxtfld
  873.             TRIGGER_TYPE = V3
  874.             SHOW_KEY = ON
  875.             DESCRIPTION = 
  876.             TEXT = <<<
  877.             next_block;
  878.             if (form_success) then
  879.               go_record(1);
  880.               go_field('items.itemid');
  881.             end if;
  882.             >>>
  883.  
  884.          ENDDEFINE TRIGGER
  885.  
  886.       ENDDEFINE FIELD
  887.  
  888.       DEFINE FIELD
  889.  
  890.          NAME = custname
  891.          DATATYPE = CHAR
  892.          LENGTH = 50
  893.          DISPLAY_LENGTH = 24
  894.          QUERY_LENGTH = 50
  895.          BASE_TABLE = OFF
  896.          PRIMARY_KEY = OFF
  897.          MANDATORY = OFF
  898.          DISPLAYED = ON
  899.          PAGE = 1
  900.          LINE = 4
  901.          COLUMN = 45
  902.          HELP = 
  903.          LOW_VALUE = 
  904.          HIGH_VALUE = 
  905.          LOV_TEXT = 
  906.          LOV_TITLE = 
  907.          LOV_X = 0
  908.          LOV_Y = 0
  909.          INPUT_MASK = 
  910.          OUTPUT_MASK = 
  911.          EDIT_X = 0
  912.          EDIT_Y = 0
  913.          EDIT_TOP_TITLE = 
  914.          EDIT_BOTTOM_TITLE = 
  915.          EDIT_WORD_WRAP = OFF
  916.          DEFAULT = 
  917.          ENFORCE_KEY_FROM = 
  918.          ECHO = ON
  919.          INPUT = OFF
  920.          UPDATE = OFF
  921.          UPDATE_NULL = OFF
  922.          QUERY = OFF
  923.          FIXED_LENGTH = OFF
  924.          AUTOSKIP = OFF
  925.          AUTOHELP = OFF
  926.          UPPERCASE = OFF
  927.          PROMPT = 
  928.          PROMPT_POSITION = BESIDE
  929.          PROMPT_REPEAT = OFF
  930.  
  931.       ENDDEFINE FIELD
  932.  
  933.       DEFINE FIELD
  934.  
  935.          NAME = total
  936.          DATATYPE = NUMBER
  937.          LENGTH = 10
  938.          DISPLAY_LENGTH = 10
  939.          QUERY_LENGTH = 10
  940.          BASE_TABLE = ON
  941.          PRIMARY_KEY = OFF
  942.          MANDATORY = OFF
  943.          DISPLAYED = ON
  944.          PAGE = 3
  945.          LINE = 1
  946.          COLUMN = 67
  947.          HELP = Enter value for : TOTAL
  948.          LOW_VALUE = 
  949.          HIGH_VALUE = 
  950.          LOV_TEXT = 
  951.          LOV_TITLE = 
  952.          LOV_X = 0
  953.          LOV_Y = 0
  954.          INPUT_MASK = $99999.99
  955.          OUTPUT_MASK = $99999.99
  956.          EDIT_X = 0
  957.          EDIT_Y = 0
  958.          EDIT_TOP_TITLE = 
  959.          EDIT_BOTTOM_TITLE = 
  960.          EDIT_WORD_WRAP = OFF
  961.          DEFAULT = 
  962.          ENFORCE_KEY_FROM = 
  963.          ECHO = ON
  964.          INPUT = OFF
  965.          UPDATE = OFF
  966.          UPDATE_NULL = OFF
  967.          QUERY = ON
  968.          FIXED_LENGTH = OFF
  969.          AUTOSKIP = OFF
  970.          AUTOHELP = OFF
  971.          UPPERCASE = OFF
  972.          PROMPT = 
  973.          PROMPT_POSITION = BESIDE
  974.          PROMPT_REPEAT = OFF
  975.  
  976.       ENDDEFINE FIELD
  977.  
  978.    ENDDEFINE BLOCK
  979.  
  980.    DEFINE BLOCK
  981.  
  982.       NAME = items
  983.       DESCRIPTION = items
  984.       TABLE = item
  985.       UNIQUE_KEY = OFF
  986.       UPDATE_KEY = OFF
  987.       IN_MENU = ON
  988.       ROWS_DISPLAYED = 5
  989.       ROWS_BUFFERED = 5
  990.       BASE_LINE = 4
  991.       LINES_PER_ROW = 1
  992.       ARRAY_SIZE = 0
  993.       COLUMN_SECURITY = OFF
  994.       ORDERING = <<<
  995.       order by itemid
  996.       >>>
  997.  
  998.       DEFINE TRIGGER
  999.  
  1000.          NAME = key-clrblk
  1001.          TRIGGER_TYPE = V3
  1002.          SHOW_KEY = OFF
  1003.          DESCRIPTION = 
  1004.          TEXT = <<<
  1005.          null;
  1006.          >>>
  1007.  
  1008.       ENDDEFINE TRIGGER
  1009.  
  1010.       DEFINE TRIGGER
  1011.  
  1012.          NAME = key-clrfrm
  1013.          TRIGGER_TYPE = V3
  1014.          SHOW_KEY = OFF
  1015.          DESCRIPTION = 
  1016.          TEXT = <<<
  1017.          null;
  1018.          >>>
  1019.  
  1020.       ENDDEFINE TRIGGER
  1021.  
  1022.       DEFINE TRIGGER
  1023.  
  1024.          NAME = key-clrrec
  1025.          TRIGGER_TYPE = V3
  1026.          SHOW_KEY = ON
  1027.          DESCRIPTION = 
  1028.          TEXT = <<<
  1029.          if (:system.record_status = 'INSERT') then
  1030.            if (:items.itemtot is not null) then
  1031.               :orders.total:= :orders.total - :items.itemtot;
  1032.               check_total;
  1033.            end if;
  1034.          end if;
  1035.          clear_record;
  1036.          >>>
  1037.  
  1038.       ENDDEFINE TRIGGER
  1039.  
  1040.       DEFINE TRIGGER
  1041.  
  1042.          NAME = key-cquery
  1043.          TRIGGER_TYPE = V3
  1044.          SHOW_KEY = ON
  1045.          DESCRIPTION = 
  1046.          TEXT = <<<
  1047.          null;
  1048.          >>>
  1049.  
  1050.       ENDDEFINE TRIGGER
  1051.  
  1052.       DEFINE TRIGGER
  1053.  
  1054.          NAME = key-crerec
  1055.          TRIGGER_TYPE = V3
  1056.          SHOW_KEY = ON
  1057.          DESCRIPTION = 
  1058.          TEXT = <<<
  1059.          create_record;
  1060.          >>>
  1061.  
  1062.       ENDDEFINE TRIGGER
  1063.  
  1064.       DEFINE TRIGGER
  1065.  
  1066.          NAME = key-delrec
  1067.          TRIGGER_TYPE = V3
  1068.          SHOW_KEY = ON
  1069.          DESCRIPTION = 
  1070.          TEXT = <<<
  1071.          if (:items.itemtot is not null) then
  1072.            :orders.total := :orders.total - :items.itemtot;
  1073.            check_total;
  1074.          end if;
  1075.          delete_record;
  1076.          >>>
  1077.  
  1078.       ENDDEFINE TRIGGER
  1079.  
  1080.       DEFINE TRIGGER
  1081.  
  1082.          NAME = key-duprec
  1083.          TRIGGER_TYPE = V3
  1084.          SHOW_KEY = ON
  1085.          DESCRIPTION = 
  1086.          TEXT = <<<
  1087.          duplicate_record;
  1088.          if (:items.itemtot is not NULL) then
  1089.            :orders.total := :orders.total + :items.itemtot;
  1090.            check_total;
  1091.          end if;
  1092.          >>>
  1093.  
  1094.       ENDDEFINE TRIGGER
  1095.  
  1096.       DEFINE TRIGGER
  1097.  
  1098.          NAME = key-entqry
  1099.          TRIGGER_TYPE = V3
  1100.          SHOW_KEY = OFF
  1101.          DESCRIPTION = 
  1102.          TEXT = <<<
  1103.          null;
  1104.          >>>
  1105.  
  1106.       ENDDEFINE TRIGGER
  1107.  
  1108.       DEFINE TRIGGER
  1109.  
  1110.          NAME = key-exeqry
  1111.          TRIGGER_TYPE = V3
  1112.          SHOW_KEY = OFF
  1113.          DESCRIPTION = 
  1114.          TEXT = <<<
  1115.          null;
  1116.          >>>
  1117.  
  1118.       ENDDEFINE TRIGGER
  1119.  
  1120.       DEFINE FIELD
  1121.  
  1122.          NAME = ORDID
  1123.          DATATYPE = NUMBER
  1124.          LENGTH = 6
  1125.          DISPLAY_LENGTH = 1
  1126.          QUERY_LENGTH = 6
  1127.          BASE_TABLE = ON
  1128.          PRIMARY_KEY = OFF
  1129.          MANDATORY = ON
  1130.          DISPLAYED = OFF
  1131.          PAGE = 2
  1132.          LINE = 1
  1133.          COLUMN = 2
  1134.          HELP = Enter value for : ORDID
  1135.          LOW_VALUE = 
  1136.          HIGH_VALUE = 
  1137.          LOV_TEXT = 
  1138.          LOV_TITLE = 
  1139.          LOV_X = 0
  1140.          LOV_Y = 0
  1141.          INPUT_MASK = 
  1142.          OUTPUT_MASK = 
  1143.          EDIT_X = 0
  1144.          EDIT_Y = 0
  1145.          EDIT_TOP_TITLE = 
  1146.          EDIT_BOTTOM_TITLE = 
  1147.          EDIT_WORD_WRAP = OFF
  1148.          DEFAULT = 
  1149.          ENFORCE_KEY_FROM = orders.OrDID
  1150.          ECHO = OFF
  1151.          INPUT = OFF
  1152.          UPDATE = OFF
  1153.          UPDATE_NULL = OFF
  1154.          QUERY = OFF
  1155.          FIXED_LENGTH = OFF
  1156.          AUTOSKIP = OFF
  1157.          AUTOHELP = OFF
  1158.          UPPERCASE = OFF
  1159.          PROMPT = 
  1160.          PROMPT_POSITION = ABOVE
  1161.          PROMPT_REPEAT = OFF
  1162.  
  1163.       ENDDEFINE FIELD
  1164.  
  1165.       DEFINE FIELD
  1166.  
  1167.          NAME = ITEMID
  1168.          DATATYPE = NUMBER
  1169.          LENGTH = 6
  1170.          DISPLAY_LENGTH = 3
  1171.          QUERY_LENGTH = 6
  1172.          BASE_TABLE = ON
  1173.          PRIMARY_KEY = OFF
  1174.          MANDATORY = ON
  1175.          DISPLAYED = ON
  1176.          PAGE = 2
  1177.          LINE = 1
  1178.          COLUMN = 3
  1179.          HELP = Enter the line item number.
  1180.          LOW_VALUE = 
  1181.          HIGH_VALUE = 
  1182.          LOV_TEXT = 
  1183.          LOV_TITLE = 
  1184.          LOV_X = 0
  1185.          LOV_Y = 0
  1186.          INPUT_MASK = 
  1187.          OUTPUT_MASK = 
  1188.          EDIT_X = 0
  1189.          EDIT_Y = 0
  1190.          EDIT_TOP_TITLE = 
  1191.          EDIT_BOTTOM_TITLE = 
  1192.          EDIT_WORD_WRAP = OFF
  1193.          DEFAULT = 
  1194.          ENFORCE_KEY_FROM = 
  1195.          ECHO = ON
  1196.          INPUT = ON
  1197.          UPDATE = OFF
  1198.          UPDATE_NULL = OFF
  1199.          QUERY = ON
  1200.          FIXED_LENGTH = OFF
  1201.          AUTOSKIP = OFF
  1202.          AUTOHELP = OFF
  1203.          UPPERCASE = OFF
  1204.          PROMPT = 
  1205.          PROMPT_POSITION = ABOVE
  1206.          PROMPT_REPEAT = OFF
  1207.  
  1208.          DEFINE TRIGGER
  1209.  
  1210.             NAME = key-nxtfld
  1211.             TRIGGER_TYPE = V3
  1212.             SHOW_KEY = ON
  1213.             DESCRIPTION = 
  1214.             TEXT = <<<
  1215.             next_field;
  1216.             if (:items.prodid is null) then
  1217.               list_values;
  1218.             end if;
  1219.             >>>
  1220.  
  1221.          ENDDEFINE TRIGGER
  1222.  
  1223.          DEFINE TRIGGER
  1224.  
  1225.             NAME = key-prvfld
  1226.             TRIGGER_TYPE = V3
  1227.             SHOW_KEY = ON
  1228.             DESCRIPTION = 
  1229.             TEXT = <<<
  1230.             if (:system.cursor_record != '1') then
  1231.               previous_record;
  1232.             end if;
  1233.             previous_field;
  1234.             >>>
  1235.  
  1236.          ENDDEFINE TRIGGER
  1237.  
  1238.       ENDDEFINE FIELD
  1239.  
  1240.       DEFINE FIELD
  1241.  
  1242.          NAME = PRODID
  1243.          DATATYPE = NUMBER
  1244.          LENGTH = 8
  1245.          DISPLAY_LENGTH = 8
  1246.          QUERY_LENGTH = 8
  1247.          BASE_TABLE = ON
  1248.          PRIMARY_KEY = OFF
  1249.          MANDATORY = OFF
  1250.          DISPLAYED = ON
  1251.          PAGE = 2
  1252.          LINE = 1
  1253.          COLUMN = 8
  1254.          HELP = Enter the product identification number.
  1255.          LOW_VALUE = 
  1256.          HIGH_VALUE = 
  1257.          LOV_TEXT = <<<
  1258.          select prodid,descrip into :items.prodid,:items.description
  1259.          from product
  1260.          order by prodid
  1261.          >>>
  1262.          LOV_TITLE = Available Products
  1263.          LOV_X = 17
  1264.          LOV_Y = 9
  1265.          INPUT_MASK = 
  1266.          OUTPUT_MASK = 
  1267.          EDIT_X = 0
  1268.          EDIT_Y = 0
  1269.          EDIT_TOP_TITLE = 
  1270.          EDIT_BOTTOM_TITLE = 
  1271.          EDIT_WORD_WRAP = OFF
  1272.          DEFAULT = 
  1273.          ENFORCE_KEY_FROM = 
  1274.          ECHO = ON
  1275.          INPUT = ON
  1276.          UPDATE = ON
  1277.          UPDATE_NULL = OFF
  1278.          QUERY = ON
  1279.          FIXED_LENGTH = OFF
  1280.          AUTOSKIP = OFF
  1281.          AUTOHELP = OFF
  1282.          UPPERCASE = OFF
  1283.          PROMPT = 
  1284.          PROMPT_POSITION = ABOVE
  1285.          PROMPT_REPEAT = OFF
  1286.  
  1287.          DEFINE TRIGGER
  1288.  
  1289.             NAME = POST-CHANGE
  1290.             TRIGGER_TYPE = V3
  1291.             SHOW_KEY = OFF
  1292.             DESCRIPTION = 
  1293.             TEXT = <<<
  1294.             select descrip, stdprice
  1295.             into :items.description, :items.standardprice
  1296.             from product, price
  1297.             where product.prodid = :items.prodid
  1298.             and price.prodid = :items.prodid
  1299.             and startdate = (select max(startdate)
  1300.                              from price
  1301.                              where price.prodid = :items.prodid);
  1302.             exception
  1303.               when no_data_found then
  1304.                 message('No such product. Press [LIST] for valid product ids.');
  1305.                 raise form_trigger_failure;
  1306.               when too_many_rows then
  1307.                 message('Error in data.  Too many rows found.');
  1308.             >>>
  1309.  
  1310.          ENDDEFINE TRIGGER
  1311.  
  1312.       ENDDEFINE FIELD
  1313.  
  1314.       DEFINE FIELD
  1315.  
  1316.          NAME = description
  1317.          DATATYPE = CHAR
  1318.          LENGTH = 25
  1319.          DISPLAY_LENGTH = 25
  1320.          QUERY_LENGTH = 25
  1321.          BASE_TABLE = OFF
  1322.          PRIMARY_KEY = OFF
  1323.          MANDATORY = OFF
  1324.          DISPLAYED = ON
  1325.          PAGE = 2
  1326.          LINE = 1
  1327.          COLUMN = 18
  1328.          HELP = 
  1329.          LOW_VALUE = 
  1330.          HIGH_VALUE = 
  1331.          LOV_TEXT = 
  1332.          LOV_TITLE = 
  1333.          LOV_X = 0
  1334.          LOV_Y = 0
  1335.          INPUT_MASK = 
  1336.          OUTPUT_MASK = 
  1337.          EDIT_X = 0
  1338.          EDIT_Y = 0
  1339.          EDIT_TOP_TITLE = 
  1340.          EDIT_BOTTOM_TITLE = 
  1341.          EDIT_WORD_WRAP = OFF
  1342.          DEFAULT = 
  1343.          ENFORCE_KEY_FROM = 
  1344.          ECHO = ON
  1345.          INPUT = OFF
  1346.          UPDATE = OFF
  1347.          UPDATE_NULL = OFF
  1348.          QUERY = OFF
  1349.          FIXED_LENGTH = OFF
  1350.          AUTOSKIP = OFF
  1351.          AUTOHELP = OFF
  1352.          UPPERCASE = OFF
  1353.          PROMPT = 
  1354.          PROMPT_POSITION = BESIDE
  1355.          PROMPT_REPEAT = OFF
  1356.  
  1357.       ENDDEFINE FIELD
  1358.  
  1359.       DEFINE FIELD
  1360.  
  1361.          NAME = ACTUALPRICE
  1362.          DATATYPE = NUMBER
  1363.          LENGTH = 7
  1364.          DISPLAY_LENGTH = 7
  1365.          QUERY_LENGTH = 9
  1366.          BASE_TABLE = ON
  1367.          PRIMARY_KEY = OFF
  1368.          MANDATORY = OFF
  1369.          DISPLAYED = ON
  1370.          PAGE = 2
  1371.          LINE = 1
  1372.          COLUMN = 45
  1373.          HELP = Enter the price of the product.
  1374.          LOW_VALUE = 
  1375.          HIGH_VALUE = 
  1376.          LOV_TEXT = 
  1377.          LOV_TITLE = 
  1378.          LOV_X = 0
  1379.          LOV_Y = 0
  1380.          INPUT_MASK = $99.99
  1381.          OUTPUT_MASK = $99.99
  1382.          EDIT_X = 0
  1383.          EDIT_Y = 0
  1384.          EDIT_TOP_TITLE = 
  1385.          EDIT_BOTTOM_TITLE = 
  1386.          EDIT_WORD_WRAP = OFF
  1387.          DEFAULT = 
  1388.          ENFORCE_KEY_FROM = 
  1389.          ECHO = ON
  1390.          INPUT = ON
  1391.          UPDATE = ON
  1392.          UPDATE_NULL = OFF
  1393.          QUERY = ON
  1394.          FIXED_LENGTH = OFF
  1395.          AUTOSKIP = OFF
  1396.          AUTOHELP = OFF
  1397.          UPPERCASE = OFF
  1398.          PROMPT = 
  1399.          PROMPT_POSITION = ABOVE
  1400.          PROMPT_REPEAT = OFF
  1401.  
  1402.          DEFINE TRIGGER
  1403.  
  1404.             NAME = on-validate-field
  1405.             TRIGGER_TYPE = V3
  1406.             SHOW_KEY = OFF
  1407.             DESCRIPTION = 
  1408.             TEXT = <<<
  1409.             item_total;
  1410.             >>>
  1411.  
  1412.          ENDDEFINE TRIGGER
  1413.  
  1414.          DEFINE TRIGGER
  1415.  
  1416.             NAME = key-prvfld
  1417.             TRIGGER_TYPE = V3
  1418.             SHOW_KEY = ON
  1419.             DESCRIPTION = 
  1420.             TEXT = <<<
  1421.             previous_field;
  1422.             if (:items.prodid is null) then
  1423.               list_values;
  1424.             end if;
  1425.             >>>
  1426.  
  1427.          ENDDEFINE TRIGGER
  1428.  
  1429.       ENDDEFINE FIELD
  1430.  
  1431.       DEFINE FIELD
  1432.  
  1433.          NAME = standardprice
  1434.          DATATYPE = NUMBER
  1435.          LENGTH = 7
  1436.          DISPLAY_LENGTH = 7
  1437.          QUERY_LENGTH = 9
  1438.          BASE_TABLE = OFF
  1439.          PRIMARY_KEY = OFF
  1440.          MANDATORY = OFF
  1441.          DISPLAYED = ON
  1442.          PAGE = 2
  1443.          LINE = 1
  1444.          COLUMN = 53
  1445.          HELP = 
  1446.          LOW_VALUE = 
  1447.          HIGH_VALUE = 
  1448.          LOV_TEXT = 
  1449.          LOV_TITLE = 
  1450.          LOV_X = 0
  1451.          LOV_Y = 0
  1452.          INPUT_MASK = $99.99
  1453.          OUTPUT_MASK = $99.99
  1454.          EDIT_X = 0
  1455.          EDIT_Y = 0
  1456.          EDIT_TOP_TITLE = 
  1457.          EDIT_BOTTOM_TITLE = 
  1458.          EDIT_WORD_WRAP = OFF
  1459.          DEFAULT = 
  1460.          ENFORCE_KEY_FROM = 
  1461.          ECHO = ON
  1462.          INPUT = OFF
  1463.          UPDATE = OFF
  1464.          UPDATE_NULL = OFF
  1465.          QUERY = OFF
  1466.          FIXED_LENGTH = OFF
  1467.          AUTOSKIP = OFF
  1468.          AUTOHELP = OFF
  1469.          UPPERCASE = OFF
  1470.          PROMPT = 
  1471.          PROMPT_POSITION = BESIDE
  1472.          PROMPT_REPEAT = OFF
  1473.  
  1474.       ENDDEFINE FIELD
  1475.  
  1476.       DEFINE FIELD
  1477.  
  1478.          NAME = QTY
  1479.          DATATYPE = NUMBER
  1480.          LENGTH = 10
  1481.          DISPLAY_LENGTH = 3
  1482.          QUERY_LENGTH = 10
  1483.          BASE_TABLE = ON
  1484.          PRIMARY_KEY = OFF
  1485.          MANDATORY = OFF
  1486.          DISPLAYED = ON
  1487.          PAGE = 2
  1488.          LINE = 1
  1489.          COLUMN = 64
  1490.          HELP = Enter the quantity desired.
  1491.          LOW_VALUE = 
  1492.          HIGH_VALUE = 
  1493.          LOV_TEXT = 
  1494.          LOV_TITLE = 
  1495.          LOV_X = 0
  1496.          LOV_Y = 0
  1497.          INPUT_MASK = 
  1498.          OUTPUT_MASK = 
  1499.          EDIT_X = 0
  1500.          EDIT_Y = 0
  1501.          EDIT_TOP_TITLE = 
  1502.          EDIT_BOTTOM_TITLE = 
  1503.          EDIT_WORD_WRAP = OFF
  1504.          DEFAULT = 
  1505.          ENFORCE_KEY_FROM = 
  1506.          ECHO = ON
  1507.          INPUT = ON
  1508.          UPDATE = ON
  1509.          UPDATE_NULL = OFF
  1510.          QUERY = ON
  1511.          FIXED_LENGTH = OFF
  1512.          AUTOSKIP = OFF
  1513.          AUTOHELP = OFF
  1514.          UPPERCASE = OFF
  1515.          PROMPT = 
  1516.          PROMPT_POSITION = ABOVE
  1517.          PROMPT_REPEAT = OFF
  1518.  
  1519.          DEFINE TRIGGER
  1520.  
  1521.             NAME = on-validate-field
  1522.             TRIGGER_TYPE = V3
  1523.             SHOW_KEY = OFF
  1524.             DESCRIPTION = 
  1525.             TEXT = <<<
  1526.             item_total;
  1527.             >>>
  1528.  
  1529.          ENDDEFINE TRIGGER
  1530.  
  1531.          DEFINE TRIGGER
  1532.  
  1533.             NAME = key-nxtfld
  1534.             TRIGGER_TYPE = V3
  1535.             SHOW_KEY = OFF
  1536.             DESCRIPTION = 
  1537.             TEXT = <<<
  1538.             if ((:system.last_record = 'FALSE') or
  1539.                 (:system.record_status = 'INSERT'))then
  1540.               next_record;
  1541.             else
  1542.               previous_block;
  1543.             end if;
  1544.             >>>
  1545.  
  1546.          ENDDEFINE TRIGGER
  1547.  
  1548.       ENDDEFINE FIELD
  1549.  
  1550.       DEFINE FIELD
  1551.  
  1552.          NAME = ITEMTOT
  1553.          DATATYPE = NUMBER
  1554.          LENGTH = 10
  1555.          DISPLAY_LENGTH = 10
  1556.          QUERY_LENGTH = 10
  1557.          BASE_TABLE = ON
  1558.          PRIMARY_KEY = OFF
  1559.          MANDATORY = OFF
  1560.          DISPLAYED = ON
  1561.          PAGE = 2
  1562.          LINE = 1
  1563.          COLUMN = 69
  1564.          HELP = Enter value for : ITEMTOT
  1565.          LOW_VALUE = 
  1566.          HIGH_VALUE = 
  1567.          LOV_TEXT = 
  1568.          LOV_TITLE = 
  1569.          LOV_X = 0
  1570.          LOV_Y = 0
  1571.          INPUT_MASK = $99999.99
  1572.          OUTPUT_MASK = $99999.99
  1573.          EDIT_X = 0
  1574.          EDIT_Y = 0
  1575.          EDIT_TOP_TITLE = 
  1576.          EDIT_BOTTOM_TITLE = 
  1577.          EDIT_WORD_WRAP = OFF
  1578.          DEFAULT = 
  1579.          ENFORCE_KEY_FROM = 
  1580.          ECHO = ON
  1581.          INPUT = OFF
  1582.          UPDATE = OFF
  1583.          UPDATE_NULL = OFF
  1584.          QUERY = OFF
  1585.          FIXED_LENGTH = OFF
  1586.          AUTOSKIP = OFF
  1587.          AUTOHELP = OFF
  1588.          UPPERCASE = OFF
  1589.          PROMPT = 
  1590.          PROMPT_POSITION = ABOVE
  1591.          PROMPT_REPEAT = OFF
  1592.  
  1593.       ENDDEFINE FIELD
  1594.  
  1595.    ENDDEFINE BLOCK
  1596.  
  1597.  
  1598.    DEFINE SCREEN
  1599.  
  1600.       DEFINE PAGE
  1601.  
  1602.          PAGE = 1
  1603.          POPUP = ON
  1604.          BORDER = ON
  1605.          HORIZONTAL_SCROLL_BAR = OFF
  1606.          VERTICAL_SCROLL_BAR = OFF
  1607.          DISSOLVE = OFF
  1608.          TITLE = SUMMIT SPORTING GOODS
  1609.          PAGE_XS = 80
  1610.          PAGE_YS = 12
  1611.          PAGE_PX0 = 1
  1612.          PAGE_PY0 = 1
  1613.          PAGE_PXS = 72
  1614.          PAGE_PYS = 9
  1615.          PAGE_SX0 = 5
  1616.          PAGE_SY0 = 3
  1617.          MODE = TEXT
  1618.          BOILER = <<<
  1619.            Order No.                                        Ordered
  1620.            Comm Plan                                        Shipped
  1621.          >>>
  1622.          LINE = 4
  1623.          BOILER = <<<
  1624.            Customer Id                Customer Name
  1625.          >>>
  1626.          LINE = 8
  1627.          BOILER = <<<
  1628.                                                     TOTAL
  1629.          >>>
  1630.  
  1631.       ENDDEFINE PAGE
  1632.  
  1633.       DEFINE PAGE
  1634.  
  1635.          PAGE = 2
  1636.          POPUP = ON
  1637.          BORDER = OFF
  1638.          HORIZONTAL_SCROLL_BAR = OFF
  1639.          VERTICAL_SCROLL_BAR = OFF
  1640.          DISSOLVE = OFF
  1641.          TITLE = 
  1642.          PAGE_XS = 80
  1643.          PAGE_YS = 12
  1644.          PAGE_PX0 = 1
  1645.          PAGE_PY0 = 1
  1646.          PAGE_PXS = 80
  1647.          PAGE_PYS = 9
  1648.          PAGE_SX0 = 1
  1649.          PAGE_SY0 = 12
  1650.          MODE = TEXT
  1651.          BOILER = <<<
  1652.                                          Ordered Items
  1653.          >>>
  1654.          LINE = 3
  1655.          BOILER = <<<
  1656.            No.  Code      Description                Price   Std Price  Qty  Item Total
  1657.          >>>
  1658.          MODE = BOX
  1659.          LINE = 2
  1660.          BOILER = <<<
  1661.          <------------------------------------------------------------------------------>
  1662.          >>>
  1663.          LINE = 9
  1664.          BOILER = <<<
  1665.          <------------------------------------------------------------------------------>
  1666.          >>>
  1667.  
  1668.       ENDDEFINE PAGE
  1669.  
  1670.       DEFINE PAGE
  1671.  
  1672.          PAGE = 3
  1673.          POPUP = ON
  1674.          BORDER = OFF
  1675.          HORIZONTAL_SCROLL_BAR = OFF
  1676.          VERTICAL_SCROLL_BAR = OFF
  1677.          DISSOLVE = OFF
  1678.          TITLE = 
  1679.          PAGE_XS = 80
  1680.          PAGE_YS = 4
  1681.          PAGE_PX0 = 1
  1682.          PAGE_PY0 = 1
  1683.          PAGE_PXS = 78
  1684.          PAGE_PYS = 1
  1685.          PAGE_SX0 = 3
  1686.          PAGE_SY0 = 21
  1687.          MODE = TEXT
  1688.          BOILER = <<<
  1689.                                                                     Total
  1690.          >>>
  1691.  
  1692.       ENDDEFINE PAGE
  1693.  
  1694.    ENDDEFINE SCREEN
  1695.  
  1696. ENDDEFINE FORM
  1697.