Quellcode Prozedur r_ti_aggrjourn01

Das DB-Objekt selbst

create procedure "demoadm".r_ti_aggrjourn01(
  psiWasTun SMALLINT DEFAULT NULL, -- LetDefault 0
  psiDebugFlag SMALLINT DEFAULT 0,
  pcDebugFile  CHAR(40) DEFAULT NULL
) RETURNING INTEGER ;
  DEFINE riAnz INTEGER;
  DEFINE iDBSqlError, iDBIsamError INTEGER;
  DEFINE cDBErrMsg CHAR(72);
  IF psiDebugFlag > 0 THEN
    IF pcDebugFile = '' OR pcDebugFile IS NULL THEN
      LET pcDebugFile = '/var/tmp/r_ti_aggrjourn01.trc';
    END IF
    IF MOD(psiDebugFlag,2) = 1 THEN
      SET DEBUG FILE TO pcDebugFile WITH APPEND ;
    ELSE SET DEBUG FILE TO pcDebugFile ;
    END IF
    TRACE ON;
  END IF
  IF psiWasTun IS NULL THEN LET psiWasTun = 0 ; END IF
  -- CALL "informix".n_v_error( 'r_ti_aggrjourn01: Versinr erforderlich!' );
  lock table demo01:"demoadm".journal in share mode;
  set pdqpriority 20;
  insert into t_psk ( kto, gkto, jahr, periode, soll, haben, anzbu )
    select bu_kto, bu_gkto, 1900 + TRUNC(bu_journr/10000000) jahr,
        bu_periode, sum(bu_bruttobetr), 0, count(*)
        -- bu_nettobetrag bu_umstbetrag
      from demo01:"demoadm".journal
      where bu_soha <> 104 -- Soll aus Sicht Kto
      group by 1, 2, 3, 4 ;
  LET riAnz = DBINFO('sqlca.sqlerrd2');
  insert into t_haben ( kto, gkto, jahr, periode, haben, anzbu )
    select bu_kto, bu_gkto, 1900 + TRUNC(bu_journr/10000000) jahr,
        bu_periode, sum(bu_bruttobetr), count(*)
      from demo01:"demoadm".journal
      where bu_soha = 104 -- Haben aus Sicht Kto
      group by 1, 2, 3, 4 ;
  LET riAnz = riAnz + DBINFO('sqlca.sqlerrd2');
  set pdqpriority 0;
  RETURN riAnz ;
end procedure

Abhängige Objekte, Rechte

grant  execute on "demoadm".r_ti_aggrjourn01 to "dbadmin" as "demoadm";
grant  execute on "demoadm".r_ti_aggrjourn01 to "dvabt" as "demoadm";
grant  execute on "demoadm".r_ti_aggrjourn01 to "public" as "demoadm";

HTML-Autor: Rohloff, Datenbank: demodb, Datenstand: 31.05.00 17:07