.nf
 
 .nf

    ========== licence begin  GPL
    Copyright (c) 2000-2005 SAP AG

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    ========== licence end
.fo

 
.fo
*****************************************************
Copyright (c) 2000-2005 SAP AG
SAP Database Technology
 
Release :      Date : 2003-02-14
*****************************************************
modname : GGG04
changed : 2003-02-14
module  : GG_kernel_constants_and_types_1
 
Author  :
created : 2003-02-14
*****************************************************
 
Purpose : GG kernel constants and types with main area AK/KB
 
Define  :
 
.CM *-END-* define --------------------------------------
 
Use     :
 
.CM *-END-* use -----------------------------------------
 
Synonym :
 
.CM *-END-* synonym -------------------------------------
 
Specification:
 
.CM *-END-* specification -------------------------------
 
Description:
 
.CM *-END-* description ---------------------------------
 
Structure:
 
.CM *-END-* structure -----------------------------------
 
**********************************************************
 
.CM -lll-
Code    :
 
 
CONST
      MAX_CATCH_LEVEL_GG04      =    16;
      SITE_MXGG04               =     2;
      RESCNT_MXGG04             =     4;
&     ifdef BIT64
      ONE_8BYTE_CNT_GG04        =     1;               (* PTS 1103743 JA 1999-08-25 *)
&     else
      ONE_8BYTE_CNT_GG04        =     1.0;             (* PTS 1103743 JA 1999-08-25 *)
&     endif
      NUMBER_MXGG04             = (csp_fixed + 1) DIV 2 + 2;
      MB_PART1_LOCKHEAD_MXGG04  =     4;
      LOCK_MXGG04               =    16;
      MAX_USER_TASKS_GG04       = MAX_INT2_SP00;
      MAX_TRANS_GG04            = MAX_INT2_SP00;
      MAX_STRATEGY_KEYS_GG04    =    20;
      MAX_SHOW_COLUMNS_GG04     =    80; (* PTS 1111217 E.Z. *)
      MAX_SERVER_MDESC_GG04     = MAX_INT2_SP00;
      MAX_SERVER_TASKS_GG04     = MAX_INT2_SP00;
      MAX_JOINS_GG04            =   256;
      USERID_MXGG04             =     4;
      (**)
      cgg04_languages           =     4;
      cgg04_monday              =     1;
      cgg04_sunday              =     7;
      (* constants for demands on result count *)
      cgg04_one_record_at_most_internal=  0;  (* only one result allowed; SELECT INTO*)
      cgg04_one_record_at_most_oracle  = -3;  (* result set allowed; SELECT INTO *)
      cgg04_subquery_one_record        = -2;  (* subquery with one result *)
      cgg04_no_rowno_predicate         = -1;  (* no ROWNO predicate is given *)
      cgg04_at_least_one_record        =  1;  (* one record needed EXISTS predicate *)
      cgg04_valid_rowno_pos            =  5;  (* valid position in data part for ROWNO integer *)
      (**)
      (***** in part2.buf[ 5 ] together with m_insert_select *****)
      cgg04_ins_sel_nokey         = '\01';
      cgg04_ignore_dupl           = '\02';
      cgg04_reject_dupl           = '\03';
      cgg04_update_dupl           = '\04';
      (**)
      cgg04_param_in_between_expr = '\03';
      cgg04_param_in_in_expr      = '\04';
      cgg04_value_to_be_truncated = '\05';
      (**)
      cgg04_del_trigger_link      = '\00\01';
      cgg04_ins_trigger_link      = '\00\03';
      cgg04_upd_trigger_link      = '\00\05';
      (**)
      cgg04_dummy_site            = '\FF\FE';
      cgg04_nil_site              = '\FF\FF';
      (**)
      cgg04_truechar              = '\01';
      cgg04_falsechar             = '\00';
      (**)
      cgg04_zero_exponent         = '\80';
      (**)
      (***** constants used together with g02_codetables ******)
      cgg04_to_ebcdic             =     1; (* ascii_to_ebcdic *)
      cgg04_to_ascii              =     2; (* ebcdic_to_ascii *)
      cgg04_up_ebcdic             =     3; (* small_ebcdic_to_capital_ebcdic*)
      cgg04_up_ascii              =     4; (* small_ascii_to_capital_ascii  *)
      cgg04_to_up_ebcdic          =     5; (* small_ascii_to_capital_ebcdic *)
      cgg04_to_up_ascii           =     6; (* small_ebcdic_to_capital_ascii *)
      cgg04_low_ebcdic            =     7; (* capital_ebcdic_to_small_ebcdic*)
      cgg04_low_ascii             =     8; (* capital_ascii_to_small_ascii  *)
      (**)
      TriggerKeyLen_cgg04       =    14;
      (**)
      cgg04_union_select          =   100;
      cgg04_union_append          =    10;
      (**)
      cgg04_union_byte            =     1;
      cgg04_except_byte           =     2;
      cgg04_intersect_byte        =     3;
      cgg04_cdistinct_bytes       =     4;
      (**)
      cgg04_is_false              =     0;
      cgg04_is_true               =     1;
      cgg04_is_undef              =     2;
      cgg04_is_not_false          =     3;
      cgg04_is_not_true           =     4;
      cgg04_is_not_undef          =     5;
      (**)
      cgg04_timeout_interval      =    30;
      cgg04_lc_timeout_interval   =     5; (* PTS 1110289 *)
      cgg04_str_col_entry_size    =     8;
      cgg04_return_stack_entries  =    13;
      cgg04_msgtext_len           =   160; (* Length of column MSGTEXT *)
      cgg04_max_cmd_timeout       = 32400; (* seconds = 9 h   *)
      cgg04_mapset_entries        =   256;
      (**)
      cgg04_oradate_len_to_char   =    14;
      cgg04_oradate_max_to_char   =   100;
      (**)
      cgg04_first_and_only_of_all =     0; (* 1. + only data-packet             *)
      cgg04_first_and_only_of_this =   -3; (* 1. + only data-packet of this msg *)
      cgg04_first_of_all           =   -2; (* 1.        data-packet             *)
      cgg04_last_of_all            =   -1; (* last data-packet                  *)
      cgg04_last_of_this           =    1; (* last data-packet of this message  *)
      (*                                      >1 any other data-packet          *)
 
TYPE
 
      tgg04_FuncParamInfo = RECORD
            fpi_nil_ptr : tsp00_ObjAddr;
            fpi_sel_ptr : tgg00_SelectParamPtr;
      END;
 
 
      tgg04_DbFuncInfo = RECORD
            dbf_codeid              : tgg00_Surrogate;
            dbf_acv_addr            : tsp00_Addr;
            dbf_site                : tgg00_ServerdbNo;
            dbf_new_code            : boolean;
            dbf_com_params          : tsp_dcom_co_create_instance_parms;
            dbf_dispid              : tsp00_Int4;
            dbf_created             : boolean;
      END;
 
      tgg04_FsUseMode = (
            fs_read,
            fs_write,
            fs_readwrite);
      (* *)
 
      tgg04_StringFileDescr = RECORD (*40*)
            str_treeid : tgg00_FileId;
            use_mode   : tgg04_FsUseMode;
            codespec   : tsp00_CodeType;
            dhomesite  : tgg00_ServerdbNo;
      END;
 
      tgg04_Distinct = (
            no_distinct,
            full_distinct,
            distinct_without_warning_byte);
      (* *)
      tgg04_CacheType = (
            cachCatalog_egg04,
            cachConv_egg04,
            cachData_egg04,
            cachServerMbody_egg04,
            cachServerMdesc_egg04,
            cachFbm_egg04,
            cachProcCode_egg04,
            cachProcData_egg04,
            cachTemp_egg04,
            cachUsm_egg04,
            cachSequence_egg04);
      (* *)
 
      tgg04_ServerdbIdent = RECORD
            svServerdb_gg04   : tsp00_DbName;
            svServernode_gg04 : tsp00_NodeId;
      END;
 
 
      tgg04_ControlUser = RECORD
            gg04cu_password : tsp00_CryptPw;
            gg04cu_user     : tsp00_KnlIdentifier
      END;
 
 
      tgg04_OneShortDay = RECORD
            daynumber : tsp00_Int4;
            dayname   : tsp00_C3;
            filler    : boolean;
      END;
 
 
      tgg04_OneLanguageShortDaynames = RECORD
            language : tsp00_C3;
            filler   : boolean;
            days     : ARRAY [cgg04_monday..cgg04_sunday]
                  OF tgg04_OneShortDay;
      END;
 
      tgg04_ShortDaynames = ARRAY [1..cgg04_languages]
            OF tgg04_OneLanguageShortDaynames;
 
      tgg04_CodeTables = RECORD
            tables      : ARRAY [1..MAX_CODE_TABLES_GG00 ] OF tsp00_Ctable;
      END;
 
 
      tgg04_CodeGlobals = RECORD
            ctype        : tsp00_CodeType;
            char_default : tsp00_CodeType;
            date_time    : tgg00_DateTimeFormat;
            kernel_swap  : tsp00_SwapKind
      END;
 
 
      tgg04_TabIdGlobals = RECORD
            sys1_cat        : tgg00_FileId;
            sys2_cat        : tgg00_FileId;
            (* PTS 1104393 E.Z. *)
            sys_diag_parse  : tgg00_FileId;
            obj_hash        : tgg00_FileId;
            sys_cmd_analyze : tgg00_FileId;
            sys_data_analyze: tgg00_FileId
      END;
 
 
      tgg04_Err = RECORD
            CASE integer OF
                1 :
                    (errt        : tsp00_C256);
                2 :
                    (errtableid  : tgg00_Surrogate;
                    errstack     : tgg00_StackEntry;
                    errtablesite : tgg00_ServerdbNo;
                    errstacktype : tgg00_Tfn;
                    errrest1     : boolean;
                    errrest2     : tsp00_C20);
                END;
            (*ENDCASE*) 
            (**)
 
.CM *-END-* code ----------------------------------------
.SP 2 
***********************************************************
.PA 
