General Tables
            ==================
These tables apply to multiple modules.

------------------------------------------------------------------------
stxparmh - Parameter Heading Reference Table

    language char(3),
        This column identifies the language being used.  (Join column)

    module char(8),
        This is the module name for which this entry applies.  (Join
        column)

    heading char(76)
        This is the heading that will appear at the top of the entry
        screen to describe the module.

-----------------------------------------------------------------------
stxparmd - Parameter Detail Table

    language char(3),
        This column identifies the language being used.  (Join column)

    module char(8),
        This is the module name for which this entry applies.  (Join
        column)

    user_id char(8),
        User id.  This will be used in future releases to designate
        behaviours unique to a user (or group of users).

    access_key char(30),
        This column is used to store the access key for this parameter.
        Initially this column will contain the existing column names
        of the current control tables.

    line_no integer,
        This column is used to sequence the parameters on the
        entry screen.

    userdef char(1),
        This column is used to indicate that the parameter was
        defined by an end user.  If this column
        contains anything, then it will not be deleted by an
        install, and it will be used in preference to the standard
        definition if one exists with the same access_key.  It works
        the same way userdef in the error files works.

    sbd_flag char(1),
        This column indicates that this row is a system based
        parameter definition which cannot be modified by a user.

    parm_desc char(30),
        This column is the description of the parameter.

    is_rule char(1),
        This column indicates whether the parameter is a validation
        rule or just a value.  This column is currently always set to
        'N'.  It is intended for use in conjunction with future
        features.
        Y - Indicates that this parameter row is a set of rules that
            can be used for validation (or other purposes.)
        N - Indicates that this parameter is just a value.  (The
            parm_value is validated with the rules during maintenance.)

    is_fatal char(1),
        This column indicates whether the parm_value entered can or
        cannot be accepted.  Initially, this will always be set to 'Y'.
        Y - Indicates that the parm_value entered must meet the criteria
            set up by the rules.  The user cannot leave the field
            until a valid entry is made.
        N - Indicates only a warning is given and the parm_value can be
            accepted as entered.

    help_num smallint,
        This column contains the help number used to access help when
        setting up this parameter.

  Validation rule:
    val_table char(30),
        This column contains the table name used to validate the
        parm_value.  It can contain more than one table name, delimited
        with commas.  It is passed to the validation function via
        put_vararg.

    val_column char(60),
        This column contains the column name (or names) used to
        validate the parm_value.  It is passed to the validation
        function via put_vararg.

    val_filter char(60),
        This column contains the selection filter for validating the
        parm_value.  A '?' anywhere in this column indicates that the
        entered parm_value is substituted.  It is passed to the
        validation function via put_vararg.

    val_join char(60),
        This column contains the join criteria for validating
        parm_value.  This column would be required if there were more
        than one table name listed in the val_table column.  It is
        passed to the validation function via put_vararg.

    val_switchbox char(8),
        This column contains the name of the switchbox item that does
        the validation.  If this column is null, the entered value for
        parm_value is not validated.  The other validation columns are
        passed (via put_vararg) to the switchbox item before it is
        called.  The function represented by this column is responsible
        for interpreting the rule.  It returns (via put_vararg) whether
        it was successful, and the value from the column specified by
        val_description.

    val_description char(18),
        This column contains the name of the column in the validation
        table that contains the description of the value in parm_value.
        It is passed to the functions represented by both the
        val_switchbox and zoom_switchbox items.

  Zoom rule:
    zoom_filter char(60),
        This column contains additional filter criteria for a zoom.
        There will usually be no value in this column.  It is passed
        to the function represented by the zoom switchbox item via
        put_vararg.  (It is also passed for auto_zoom.)  This filter
        is a "hard" filter to be maintained by the zoom for the
        duration of the call.

    zoom_switchbox char(8),
        This column contains the name of the switchbox item that does
        the zoom (and auto_zoom) on the validation table.  If this
        column is null, no zoom is done.  Val_table, val_column,
        zoom_filter and val_description are passed (via put_vararg).

    parm_value char(32)
        This column holds the actual parameter value.  This is what
        this whole thing is about.
------------------------------------------------------------------------
stxprogr - Program Security Table

    module char(8)            # module id (gl, ap, ar, oe, ic, etc)
    progname char(8)          # program name without the .4ge (p_invce)
    description char(30)      # short program description
    use_trx smallint          # open database using transactions (T/F)
    userdef char(1)

    stxprogr is no longer being used to control transactions, but it is
    a table that is used by the security module.  For this reason, you
    still need to keep stxprogr.unl updated.  It should contain one
    entry for your module and then an entry for each program in your
    module.  The following is an example of the stxprogr.unl file that
    would be used by a security module dbmerge program:

security||Security Module|||
security|i_funcs|Function Information|||
security|i_grpid|Group Information|||
security|i_progs|Module & Program Info|||
security|i_usrid|User Information|||

Notice the top row.  This is a Module Entry.  Leave program name null
and put what module it is in place of a description.  This is what
Security uses for module name.  You must have a Module Entry in your
unload file.

 
   note:  if the program running can't find itself in stxprogr, then if
    it's name starts with 'p_' then it assumes a posting routine
    and defaults to database transactions, otherwise the default
    is no database transactions.  This table is also used to
    define the existence of a certain module.  If the control
    table for the module is listed in this table (ex: strcntrc for
    a/r), then that module is installed on the machine.

 index1: module, prog_name
----------------------------------------------------------------------
stxactgd - Account Groups Detail Table

    grp_key char(6),
        account group code

    line_no smallint,
        detail line number

    acct_no integer,
        chart of account number

    department char(3)
        department code
-----------------------------------------------------------------------
stxactgr - Accounts Group Header

    grp_key char(6),
        account group key

    grp_desc char(30) 
        account group description
-----------------------------------------------------------------------
stxaddld- The User-Defined Field Detail Table

    filename char(18),
        name of file

    record_key char(20),
        record key

    line_no smallint,
        line number for entry

    data char(30)
        data for entry
----------------------------------------------------------------------
stxaddlr - The User-Defined Reference Table

    filename char(18),
        name of file

    line_no smallint,
        line number for entry

    field_label char(20)
        label given to defined field
----------------------------------------------------------------------
stxchrtd - The Chart of Accounts History and Balance Table

    acct_no integer,
        not null, chart of account number

    department char(3),
        not null, department code

    period_month char(2),
        not null, accounting period

    period_year char(4),
        not null, accounting year

    activity decimal(12),
        activity amount for a given period

    balance decimal(12),
        YTD balance amount
        will be postive if the balance represents a credit
        balance and the account is increased with a credit;
        will be positive if the balance represents a debit
        balance and the account is increased with a debit.
        you need to determine if the account is increased
        with a credit or debit & display accordingly.
         
    this_month decimal(12),
        current period amount

    budget decimal(12)
        user defined budget amount for the account-dept-period
 
The only purpose of this column is that it allows us to identify amounts
posted to a period after that period is closed.  p_genled posts to
this_month.  Begin a new period, adds this_month to activity.  I was
wondering why we don't post directly into the activity column since
activity reflects only activity for the current period.  The answer is
that when we are in a subsequent month and post to an earlier period:
it goes to this_month and therefore we can identify this has occurred.
The balance for the account is always correct.  If you post to an
earlier year for a revenue or expense account,the p_genled automatically
zeroes out an expense or revenue type of account and puts the balancing
posting to Retained earnings in the current year.


QUESTION
when are rows initially entered into this table: under sample, I have
set gl setup to complete, I have entered some transactions, & I
have posted the general journal.  At this point there is only 1 document
in this table for 3100 (retained earnings).The activity is null &
balance is 0 and this_month is null.  It is for period 12 1990 which is
my current period.


ANSWER
During setup:when you enter budgets for accounts, after setting setup to
complete, I think rows must be created for those accounts in the
stxchrtd table.

Posting general ledger activity to the chart of accounts
(Post G/L Activity to Ledger) creates rows
for each account that shows some activity.

QUESTION
some rows in this table have a negative "this_month" & "balance"
field.  does this represent a credit if the account is normally
increased with a debit & vice versa (a debit if the account is normally
increased with a credit)

1 row for each account/department combination for each period:
- where the user has created a budgeted amount
  (under Update Ledger Balances you can set up budgets for past & future
  periods for a particular account/dept).  When this is done, a row is
  created in the stxchrtd table.
- the begin a new period program updates "activity" & "this_month"
  columns in existing rows & adds a new row for the new period for
  every account/department combination.


Programs accessing/updating this table:

p_genled
if period being posted to is "00"
 then amount of posting is added to existing value in "activity" column
else if
 posting to some other period (not 00)
 then amount of posting is added to existing value in "this_month"
 column
the balance is recalculated

p_newpr1.4gs    begin a new period
 - modifies columns & adds/deletes rows
 - "this_month" column is added to "activity" column
   "this_month" is zeroed out
-----------------------------------------------------------------------
stxchrtr- Chart of Accounts Reference Table

    acct_no integer,
         not null, account number

    acct_type char(15),
         account type: ASSET, LIABILITY, CAPITAL, INCOME, COST OF GOODS,
                       EXPENSE

    acct_desc char(30),
         account description

    acct_cat char(1),
         account category:    A = asset account
                              B = liability account
                              C = capital account
                              D = income account
                              E = cost of goods account
                              F = expense account

    processing_seq char(1),
         processing sequence: 1 = current assets
                              2 = fixed asset
                              3 = current liability
                              4 = long term liability
                              5 = capital
                              6 = income
                              7 = cost of goods
                              8 = expense

    incr_with_crdt char(1),
         increase with a credit? [Y/N]

    subtotal_group char(30)
         subtotal group heading

    manual_journal char(1)
         account to be used when entering manual joural entries? [Y/N]
----------------------------------------------------------------------
stxckrgd - Check Register Detail Table

    orig_journal char(2),not null
         Original Journal

    doc_no integer, not null
         Document Number

    acct_no integer,
         General Ledger Account Number

    department char(3),
         General Ledger Department Number

    inv_chk_no char(10),
         Check Number

    amount decimal(12),
         Check Amount

    debit_credit char(1),
         Debit or Credit Amount

    reconciled char(1),
         Has this check been reconciled?

    chk_voided char(1)
         Has this check been voided?
-----------------------------------------------------------------------
stxckrgr - Check Register Reference Table

    acct_no integer,
        General Ledger Account Number

    department char(3)
        General Ledger Department Code
-----------------------------------------------------------------------
stxcntrc - General Company Control Table

    co_name char(30),
         company name

    addr1 char(30),
         address #1

    addr2 char(30),
         address #2

    city char(20),
         city

    state char(2),
         state

    zip char(10),
         zip

    county char(30),
         county

    country char(30),
         country

    curr_asset integer,
         first current asset account

    d_curr_asset char(15),
         description "Current Assets"

    fixed_asset integer,
         first fixed asset account

    d_fixed_asset char(15),
         description "FIXED ASSETS"

    curr_liab integer,
         first current liability account

    d_curr_liab char(15),
         description "CURRENT LIABILITIES"

    long_term_liab integer,
         first long term liability account

    d_lng_trm_liab char(15),
         description "LONG TERM LIABILITIES"

    capital integer,
         first capital account

    d_capital char(15),
         description "CAPITAL"

    income integer,
         first income account

    d_income char(15),
         description "INCOME"

    cost_goods integer,
         first cost of goods account

    d_cost_goods char(15),
         description "COST OF GOODS"

    expense integer,
         first expense account

    d_expense char(15),
         description "EXPENSES"

    mtax char(1),
         Use Multilevel Taxes?

    use_mtax_grps char(1),
         Use Multilevel Tax Groups ?

    html_serialno char(12),
         HTML Serial No

    advance_serialno char(12),
         ADVANCE Serial No

    server_timeout char(8),
         Server Time Out

    server_url char(60),
         Server URL

    trn_auth_api char(60),
         Trans. Authorize

    trn_sts_req_api char(60),
         Trans. Status Request

    trn_chg_req_api char(60),
         Trans. Change Request

    batch_upd_api char(60),
         Batch Upload

    batch_sts_req_api char(60),
         Batch Status Request

    batch_chg_req_api char(60),
         Batch Change Request

    ccard_on char(1),
         Is SkipJack Credit card on?

-----------------------------------------------------------------------
stxcompr - Company and Database Definition Table
    comp_id char(8),
         company code

    db_name char(14),
         database name

    logfile char(150),
         logfile path

    line_no smallint,
         line number

    consolidate smallint
-----------------------------------------------------------------------
stxcurrr -    Multicurrency Reference Table

    currency_code char(3),
        currency code used to refer to this currency

    description char(30),
        description of this currency

    curr_ex_rate decimal(16),
        current exchange rate

    per_ex_rate decimal(16),
        period exchange rate

    ex_diff_acct_no integer
        account number used for exchange differences

   The reason to add this table to basefiles and not the multicurrency
   module is that the ar, ar, and eventually gl, oe, po have to
   compile without the multicurrency module installed.  These modules
   must include screens and code to handle the multicurrency feature
   even though multicurrency is not installed.  The plan is to use
   table_exist("stmcntrc")  to see if multicurrency is installed and
   based on this call the appropriate routines.  To make a long
   story short, rather than hard code the references to the currency
   table we would like to add the currency table to basefiles.

   example of what I mean by hard coding:

   define
        curr_ex_rate decimal(20)

  
It would be much more maintainable to use:

   define
        curr_ex_rate like stxcurr.currr_ex_rate

   this is the reason for adding this table to basefiles instead of
   to the multicurrency module.
-----------------------------------------------------------------------
stxerord - Error Text Detail Table

    language char(3),              #language
    userdef char(1),
    err_module char(8)             # module origin
    err_program char(8)            # program origin
    err_number smallint            # error number
    a_b char(1)                    # type of error text:
                                   [a]-cause of error
                                   [b]-solutions
    line_no smallint               # line number (for sorting purposes)
    err_text char(60)              # text
-----------------------------------------------------------------------
stxerorh - Error Text Header Table
    language char(3),
    userdef char(1),
    err_module char(8)             # module origin
    err_program char(8)            # program origin
    err_number smallint            # error number
    err_line char(40)              # error description
-----------------------------------------------------------------------
stxfiltr - Selection Criteria Filter Table

It is used for scheduling reports which you have to code by hand. There
is an example of how to do this in one of the Tech Ref's. 
 
    unique_id char(15)             # unique id assigned to record
    seq_no smallint                # sequence number
    sel_filter char(200)           # filtered data
-----------------------------------------------------------------------
stxfiler - is used in the function fg_file() in standard.4gs. It allows
you to run an os command and takes the output from the command and loads
it into this table.  It then fetches the data one line at a time from
the table.

    uniq_num  integer              # unique number  
    line_no   serial, not null     # line number
    line_text char(248)            # line text

------------------------------------------------------------------------
stxhelpd - Help Text Table

    language char(3),                #language
    userdef char(1),
    hlp_module char(18),             # module origin
    hlp_program char(18),            # program origin
    hlp_number smallint,             # help number
                                     [1]-header [2]-detail
                                     [3]-user defined
    line_no smallint,                # line number
    hlp_text char(60)                # text
-----------------------------------------------------------------------
stxinfor - Generic Information Table

This table is used to store generic codes & descriptions
 
    src_type char(1),                # information type used to date:
                                     [S]- general journal source
                                     [D]- department
                                     [W]- warehouse(no longer used)
                                     [P]- product class
                                     [L]- sales personnel
                                     [T]- sales tax
                                     [C]- commission
                                     [R]- debit/credit reason
                                     [I]- discount
                                     [B]- buyer
                                     [M]- method of payment
                                     [A]- cash asset account
    src_key char(6),                 # information key
    src_desc char(30),               # information description
    src_num_desc decimal(12),        # additional numeric description
    src_char_desc char(6),           # additional character description
    src_acct_no integer,             # additional account description
    src_email char(50),              # email account
    src_phone char(20),              # telephone number
    src_cell char(20),               # cell phone number
    src_fax char(20)                 # FAX number
   index1: src_type, src_key (unique)
-----------------------------------------------------------------------
stxperdr - Accounting Periods Reference Table

    period char(2)                   # period (00 - 99)
    period_year char(4)              # period year (0000 - 9999)
    start_date date                  # start date of period
    end_date date                    # end date of period
    balanced char(1)                 # is period under G/L control?
     - this is a system-maintained field (always)
     - during setup all rows have the balanced field set to "N".
       When setup is set to complete, the balance column in the row
       corresponding to the current period is set to "Y".
       As future periods become the current period,the balanced field in
       is set to Y. Once this field is set to "Y", it is never reset to
       "N".
      


   notes: The 00 period is the period where income statement type
     accounts post their offsetting amounts into retained earnings.
     1 to 99 accounting periods per year are supported
     dates well past the year 2000 are supported

menu options that access this table:

Update G/L Defaults
Print G/L Defaults
Begin a New Period
-----------------------------------------------------------------------
stxpermd - Program Permission Detail Table

     user_id char(8),   # User ID
     progname char(8),  # Program name
     module char(8),    # Module
     permission char(1) # Permission
-----------------------------------------------------------------------
stxpermr - Permission Reference Table

     user_id char(8),         # User Id
     lname char(20),          # User Last Name
     fname char(20),          # User First Name
     minitial char(1),        # User Middle Initial
     company char(30),        # Company
     dept char(15),           # Department
     responsibility char(30), # Responsibility
     phone char(15),          # Telephone
     pattern char(8)          # Pattern

create unique index i1xpermr on stxpermr (user_id);
-----------------------------------------------------------------------
stxtranr - Master Transaction Identification Table
    orig_journal char(2) # What journal did this trx. come from ?
    doc_no integer       # document number (unique identifier)
    post_no integer      # posting sequence number (on post rpts)
    post_date date       # (system) date of posting
    doc_date date        # document date (entered)
    ref_code char(20)    # customer/vendor/(journal code for G/L)
    doc_desc char(30)    # verbal document description
   
user_id  char(8)     # User ID

create unique index i1xtranr on stxtranr (orig_journal,doc_no);
create index i2xtranr on stxtranr (ref_code);
-----------------------------------------------------------------------
stxuniqc - Temporary Document Id Table

    uniq serial # temporary doc id for joins between
                header and detail screens in
                data-entry tables
-----------------------------------------------------------------------
stxacknd - Programmer Acknowledgements Table

    ack_module char(8),    # Acknowledgement Module
    ack_program char(8),   # Acknowledgement Program
    line_no smallint,      # Line Number
    ack_text char(60)      # Acknowledgement Text
-----------------------------------------------------------------------
stxcrtpr - Multicurrency Rate Type Reference

rate_type            char(6)
    rate type  "DAILY" or "STAND"

rate_desc            char(30)
    rate description

rate_frequency       char(1)
    rate frequency

-----------------------------------------------------------------------
stxdcrtr - Multicurrency Daily Currency Exchange Rate

    from_currency_code char(3)
        from currency code
 
    to_currency_code char(3)
        to currency code

    rate_type char(6)
        rate type "DAILY"

    currency_date date        
        date of currency rate

    rate decimal(16)
        currency rate              

create unique index i1xdcrtr on stxdcrtr (from_currency_code,
to_currency_code,rate_type,currency_date);
----------------------------------------------------------------------
stxhotkd - Hot Key Detail Table

    hot_key smallint,
        hot key unique number

    act_key char(15),
        action key

    hot_module char(8),
        module where hot key is active

    hot_program char(8),
        program where hot key is active

    hot_user char(10)
        user name

    hot_visable char(1)
        Show Button R=Right Frame N=Not Shown

    hot_bmp (char(1)
        Is there a bmp file ?

    hot_bmpname char(24)
        bmp file name


----------------------------------------------------------------------
stxkeysr - Hot Key Reference Table

    key_code smallint,
        unique code

    key_desc char(15)
        description (i.e. CTRL-A, F1 or TAB, etc)
----------------------------------------------------------------------
stxmssgr - Message Reference Table
 
    language char(3),
        language

    mssg_module char(8),
        message module

    mssg_program char(8),
        message program

    mssg_number smallint,
        message number

    message char(132)
        message text

create unique cluster index i1xmssgr on stxmssgr (language,mssg_module,
mssg_program,mssg_number);
-----------------------------------------------------------------------
stxmtaxd -  Multilevel Tax Detail Table
    doc_no integer,
        document number

    orig_journal char(2),
        original journal

    inv_doc_no integer,
       invoice document number

    post_no integer,
       posting number

    inv_no char(20),
       invoice number

    post_date date,
       posted date

    mtax_code char(6),
        multilevel tax code

    acct_no integer,
       
gl account number

    dept char(3),
        gl department code

    goods decimal(12),
        goods

    mtax_amt decimal(12),
        multilevel tax amount

    disc_amt decimal(12),
        multilevel tax discount amount

    debit_credit char(2)
        debit or credit

create index i1xmtaxd on stxmtaxd (orig_journal,doc_no);
create index i2xmtaxd on stxmtaxd (acct_no,mtax_code);
-----------------------------------------------------------------------
stxmtaxr - multilevel tax code reference
 
    mtax_code char(6) not null,
        multilevel tax code

    mtax_rate decimal(6),
        multilevel tax rate

    ar_acct_no integer,
        accounts receivable gl account number

    ar_disc_acct_no integer,
       
accounts receivable discount gl account number

    ap_acct_no integer,
        accounts payable gl account number

    ap_disc_acct_no integer,
        accounts payable discount gl account number

    mtax_desc char(20),
        multilevel tax code description

    mtax_country char(20),
        multilevel tax code country

    mtax_st_prvc char(2),
        multilevel tax code state or province

    department char(3),
        department

    include_tax char(1)
        include tax in asset/expense?
----------------------------------------------------------------------
stxmtxgd - multilevel group tax codes - detail

    mtaxg_code char(6),
        multilevel group tax code

    line_no smallint,
        line number for sorting

    mtax_code char(6),
        multilevel tax code

    cumulative char(1)
       
is tax cumulative?
----------------------------------------------------------------------
stxmtxgr - multilevel tax group code - header

    mtaxg_code char(6),
        multilevel group tax code

    mtaxg_desc char(20)
        multilevel group tax description
----------------------------------------------------------------------
stxmtxpr - multilevel tax period

    period char(2),
        mutilevel tax period

    period_year char(4),
        mutilevel tax period year

    start_date date,
        start date of period

    end_date date
       end date of period
----------------------------------------------------------------------
stxnoted -  Note Table  (Sticky-Note)

    filename char(18) not null,
        table that note is attached to

    record_key char(30),
        record that note is attached to  (ie,customer,vendor,etc)

    line_no smallint,
        line number for sorting

    data char(60)
        actual note

create index i1xnoted on stxnoted (filename,record_key);
----------------------------------------------------------------------
stxnvgtd - Navigation Event Detail Table

    act_key char(15),
        action code

    line_no smallint,
        line number

    nav_module char(8),
        module that navigation event is attached to

    nav_program char(8),
        program that navigation event is attached to

    nav_user char(10)
        user
       
----------------------------------------------------------------------
stxpcrtr - Period Multi-currency Exchange Rate

    from_currency_code char(3),
        from currency code

    to_currency_code char(3),
        to currency code

    rate_type char(6),
        rate type "STAND"

    period char(3),
        period this rate is effective

    period_year char(4),
        period year this rate is effective

    rate decimal(16)
        currency exchange rate

create unique index i1xpcrtr on stxpcrtr (from_currency_code,
to_currency_code,rate_type,period,period_year);
----------------------------------------------------------------------
stxtaxld - Multilevel Tax

    orig_journal char(2),
        original journal

    doc_no integer,
        document number

    inv_doc_no integer,
        invoice document number

    mtax_code char(6),
        multilevel tax code

    mtax_rate decimal(6),
        multilevel tax code

    acct_no integer,
       
gl account number

    dept char(3),
        gl department code

    goods decimal(12),
        goods

    mtax_amt decimal(12),
        multilevel tax amount

    debit_credit char(2),
        debit or credit

    frozen char(1)
        frozen

create index i1xtaxld on stxtaxld (orig_journal,doc_no,inv_doc_no);
-----------------------------------------------------------------------
stxtodod - To-Do Notes Detail Table

    todo_user char(10),          # User ID
   
line_no smallint,            # Line number for sorting
    todo_text char(60)           # To-Do note text
-----------------------------------------------------------------------
stxtxtdd - Default Notes Text Table

    txt_key char(30),            # Text Key
    line_no smallint,            # Line Number
    dflt_text char(74)           # Default Text
-----------------------------------------------------------------------
stxsecur - Security - User Detail Table

    user_id char(8),             # User Id
    lname char(20),              # Last Name
    fname char(20),              # First Name
    minitial char(1),            # Middle Initial
    company char(30),            # Company
    dept char(15),               # Department
    responsibility char(30),     # Responsibility
    phone char(15)               # Telephone

create unique index i1xsecur on stxsecur (user_id);
----------------------------------------------------------------------
stxsecud - Security - User Program Detail Table

    user_id char(8),             # User ID
    module char(8),              # Module
    progname char(8),            # Program Name
    funcname char(20),           # Function Name
    allow_flag char(1)           # Allow Flag

create index i1xsecud on stxsecud (user_id,module,progname,funcname);
-----------------------------------------------------------------------
stxgropr - Security - Group Reference Table

    group_id char(8),            # Group ID
    description char(30)         # Group Description

create unique index i1xgropr on stxgropr (group_id);
-----------------------------------------------------------------------
stxgropd - Security - Group Detail Table

    group_id char(8),            # Group ID
    user_id char(8)              # User ID

create index i1xgropd on stxgropd (group_id,user_id);
-----------------------------------------------------------------------
stxfuncr - Functions Reference Table

    module char(8),              # Module
    progname char(8),            # Program Name
    funcname char(20),           # Function Name
    description char(30),        # Description
    allow_flag char(1),          # Allow Flag
    userdef char(1)             

create index i1xfuncr on stxfuncr (module,progname,funcname);
-----------------------------------------------------------------------
stxbtchh            Batch Control Table

    batch_id serial not null    Batch ID
    batch_type char(2)          Batch Type
                                    AR = Receivable Document
                                    CR = AR Cash Receipt
                                    AP = Payables Document
                                    CD = Payable Cash Disbursement
                                    GJ = General Journal
                                    OE = Order Entries Invoice
                                    PR = Purchasing Receipt
                                    PU = Purchasing Invoice 
    batch_status char(3)        Batch Stages
                                    ACT = Active Batch
                                    APR = Approved
                                    CAN = Cancelled Batch
                                    PST = Posted Batch
    owner char(8)               Batch Owner
    created_by char(8)          Who Created Batch
    create_date date            Date Batch was Created
    create_time char(8)         Time Batch was Created
    approved_by char(8)         Who approved Batch
    approve_date date           Date Batch was Approved
    approve_time char(8)        Time Batch was Approved
    posted_by char(8)           Who posted the batch
    post_date date              Date the batch was posted
    post_time char(8)           Time the batch was posted
    post_seq integer            Posting sequence number
    total_trx integer           Total transactions posted
-----------------------------------------------------------------------
stxbtchs - Batch Table
    user_id char(8)             User Id
    batch_type char(2)          Batch Type
    batch_id integer            Batch ID
-----------------------------------------------------------------------
stxactnr - Hot Key Action Reference Table

    language      char(3)       Language  
    act_key       char(15)      Action Key
    description   char(30)      Description
    os_command    char(74)      Operating System Command
    press_enter   char(1)       Press Enter ?
    buttontext    char(32)      Button Text
-----------------------------------------------------------------------
stxcntrd - Additional Company Info Detail Table

    record_key    char(20)      Record Key
    data          char(30)      Data
-----------------------------------------------------------------------
stxlangr - Multi Language Reference Table

    language      char(3)          
    tr_tab_col    char(37)         
    tr_context    char(10)
    native        char(50)
    non_native    char(50)
-----------------------------------------------------------------------
stxlookd - Look Up Detail Table - Replenishment Only

    lookup_code   char(14)      Look up code
    colname       char(37)      Column name
-----------------------------------------------------------------------
stxlookr - Look up Reference Table - Replenishment Only

    lookup_code       char(14)  Look up code
    description       char(30)  Description
    select_statement  char(200  Select Statement
    hard_filter       char(200) Hard Filter
-----------------------------------------------------------------------
stxsviar - Ship Via Reference Table

    ship_via_cd       char(3),  Ship Via Code 
    ship_via_desc     char(15), Ship Via Description
-----------------------------------------------------------------------