/*!******************************************************************************

  @file         hak262.h

  ------------------------------------------------------------------------------

  @author       ThomasA

  @brief        AK_Trigger

\if EMIT_LICENCE

    ========== licence begin  GPL
    Copyright (c) 1999-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

\endif

********************************************************************************/

#ifndef HAK262_H
#define HAK262_H


/*===========================================================================*
 *     RefType: Both                                                         *
 *===========================================================================*/

/*===========================================================================*
 *     MD5: '\x08\xfd\x1b\xb2\xa3\x24\xba\x7a\x53\x84\xb8\x25\x35\x35\x93\x2c'
 *===========================================================================*/


/*===========================================================================*
 *  INCLUDES                                                                 *
 *===========================================================================*/

#include "gsp00.h"
#include "vsp001.h"
#include "ggg00.h"
#include "vak001.h"


/*===========================================================================*
 *  FUNCTION PROTOTYPES                                                      *
 *===========================================================================*/

externPascal void a262add_trigger_info (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_dml_info          VAR_VALUE_REF  dmli,
    pasbool                              ignoreUserTrigger);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262CalcOutputLen (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_methodrecord      VAR_VALUE_REF  methodRec,
    tak_sysbufferaddress                 pParamTable,
    tak_colinteger        VAR_ARRAY_REF  constParams,
    tsp00_Int2            VAR_VALUE_REF  dataLength,
    tsp00_Int2            VAR_VALUE_REF  ioLength,
    tsp00_Int2            VAR_VALUE_REF  fraction);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262Call (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_sysbufferaddress                 p,
    tsp00_MoveObjPtr                     data_p);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262compile (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    integer                              tree_index);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262CreateDBProc (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    pasbool                              isSystemTrigger);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262DBFuncCreate (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    pasbool                              isPublic);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262Debug (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    pasbool                              debugListen);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262DebugSyntax (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_Int2            VAR_VALUE_REF  put_node);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262DeleteTriggerParsinfo (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_baserecord        VAR_VALUE_REF  BaseRec);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262DropInternalTriggers (
    tak_all_command_glob  VAR_VALUE_REF  acv);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal tak_sysbufferaddress a262EvalOutputLenProlog (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_Surrogate       VAR_ARRAY_REF  functionId);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262drop_tab_col_trigger (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_viewscan_par      VAR_VALUE_REF  viewscanpar,
    tgg00_StackEntry      VAR_VALUE_REF  new_stack);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262DynamicSQL (
    tak_acv_address                      acv_addr,
    tgg00_SelectFieldsParam  VAR_VALUE_REF  sel,
    tsp00_MoveObjPtr                     pStmt,
    integer                              stmtLength,
    tsp00_MoveObjPtr                     retcode_addr,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262DropParseIds (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_MessBlock       VAR_VALUE_REF  mblock);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262execute_trigger (
    tak_all_command_glob  VAR_VALUE_REF  acv);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262execute (
    tak_acv_address                      acv_addr,
    tgg00_SelectFieldsParam  VAR_VALUE_REF  sel,
    tsp00_MoveObjPtr                     retcode_addr,
    tgg00_StackList       VAR_ARRAY_REF  StackList,
    tsp00_Int4            VAR_VALUE_REF  qual_ptr,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262exist_trigger (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  trigger_name,
    tak_syspointerarr     VAR_VALUE_REF  trigger_ptr_arr,
    tgg00_Linkset         VAR_ARRAY_REF  trigger_kind);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262get_trigger_name (
    tak_triggerrecord     VAR_VALUE_REF  trigger_rec,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  trigger_name,
    tgg00_BasisError      VAR_VALUE_REF  b_err);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262GetDBProcDefinition (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_Surrogate       VAR_ARRAY_REF  DBProcId,
    tsp00_Int4            VAR_VALUE_REF  def_len,
    void                  *  buf,
    tsp00_Int4                           buf_size);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262GetObjectName (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tgg00_Surrogate       VAR_ARRAY_REF  methodId,
    integer                              procKind,
    integer                              linkage,
    tsp00_C8              VAR_ARRAY_REF  objKind,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  schema,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  objName,
    tsp00_KnlIdentifier   VAR_ARRAY_REF  triggerName);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262GetValDBProcDefinition (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_long_descriptor   VAR_VALUE_REF  long_desc,
    tgg00_LongQual        VAR_VALUE_REF  ret_long_qual);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262InternalFunction (
    tgg00_StackEntry      VAR_VALUE_REF  StackEntry,
    void                  *  Buf,
    integer                              BufSize,
    integer                              BufPos,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262LoadCode (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    const tgg00_Surrogate  VAR_ARRAY_REF  CodeId,
    const tsp00_C2        VAR_ARRAY_REF  Linkage,
    tak_sysbufferaddress  VAR_VALUE_REF  p);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262reset_statistics ();

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262ReturnCursor (
    tak_acv_address                      acv_addr,
    tsp00_MoveObjPtr                     param_addr,
    tsp00_Int4                           param_len,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262ReturnParam (
    tak_acv_address                      acv_addr,
    tsp00_DataType_Param                 paramDataType,
    const tsp00_MoveObjPtr                 param_addr,
    tsp00_Int4                           param_len,
    tgg00_BasisError      VAR_VALUE_REF  e);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262SetParameterProperties (
    tak_all_command_glob  VAR_VALUE_REF  acv,
    tak_sysbufferaddress                 pParamTable,
    integer                              paramNo,
    tsp00_DataType_Param                 paramDataType,
    integer                              dataLength,
    integer                              inOutLength,
    integer                              fraction);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal pasbool a262StatementBeginStackEntry (
    tak_acv_address                      acv_addr,
    tgg00_SelectFieldsParam  VAR_VALUE_REF  sel,
    integer                              stackIndex,
    integer               VAR_VALUE_REF  codePos,
    integer               VAR_VALUE_REF  codeLength);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262statistics (
    tsp00_8ByteCounter    VAR_VALUE_REF  external_trigger_cnt,
    tsp00_8ByteCounter    VAR_VALUE_REF  internal_trigger_cnt);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262stop (
    tak_acv_address                      acv_addr,
    tsp00_Int2                           rc,
    integer                              msgtext_len,
    tsp00_MoveObjPtr                     msgtext,
    pasbool                              isFunctionStopMsg,
    pasbool                              isUserDefined);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262copy_result_part (
    tak_acv_address                      acv_addr,
    const tsp1_part       VAR_VALUE_REF  part);

/* Don't edit this file by hand, it is generated by ptocProto.py */

externPascal void a262trigger_semantic (
    tak_all_command_glob  VAR_VALUE_REF  acv);

/* Don't edit this file by hand, it is generated by ptocProto.py */


#endif

