Dear All
Mhn bantuan menambahkan deklarasi pada DATA_TRIGGER agar TIME_SERIES_MASK dpt 
berstatus VALID, dgn script sbb:
A. TIME_SERIES_MASK script:
IS
-- PL/SQL Block
FUNCTION F_SUM
 (
                 lng_TIME_SERIES_PK_Basis                IN NUMBER,
                 lng_TIME_SERIES_PK                IN NUMBER,
                str_Action                  IN VARCHAR2,
                 lng_VALUE                              IN NUMBER,
                date_TIME                 IN DATE,
                lng_OPERATION_PK                 IN NUMBER
 ) RETURN  BOOLEAN
 IS
                  bool_MASK                              BOOLEAN := TRUE;
                 lng_VALUE_Old                       NUMBER;
                 lng_VALUE_New                     NUMBER;
                 lng_DATA_RESULT_PK                NUMBER;
                dbl_AVAILABLE_COUNT                NUMBER;
                date_TIME_FROM                    DATE;
                date_TIME_TO                          DATE;
 BEGIN
                DBMS_OUTPUT.PUT_LINE('IN SUMME');
                DBMS_OUTPUT.PUT_LINE(str_Action);
                IF str_Action='DELETE' or str_Action='INSERT' THEN
                                SELECT DATA_RESULT_PK, VALUE, TIME_FROM, TIME_TO
                                INTO                 lng_DATA_RESULT_PK, 
lng_VALUE_Old,                       date_TIME_FROM,date_TIME_TO
                                FROM                 DATA_RESULT
                                WHERE TIME_SERIES_PK = lng_TIME_SERIES_PK
                                AND                date_TIME >= TIME_FROM
                                AND                 date_TIME <TIME_TO;
                                IF NOT lng_DATA_RESULT_PK IS NULL THEN
                                                -- the Case: DATA_RESULT.VALUE 
IS NULL and str_Action is not possible, because
                                                -- there are no data, that can 
be deleted.
                                                IF lng_VALUE_Old IS NULL THEN
                                                                lng_VALUE_Old 
:= 0;
                                                END IF;
                                                IF str_Action = 'INSERT' THEN
                                                                lng_VALUE_New 
:= lng_VALUE_Old + lng_VALUE;
                                                ELSIF str_Action = 'DELETE' THEN
                                                                   
lng_VALUE_New := lng_VALUE_Old - lng_VALUE;
                                                                IF 
lng_VALUE_New = 0 Then
                                                                                
DATA_TRIGGER.lng_UpdateTS_NUMENTRIES := DATA_TRIGGER.lng_UpdateTS_NUMENTRIES + 
1;
                                                                                
DATA_TRIGGER.Table_UpdateTS(DATA_TRIGGER.lng_UpdateTS_NUMENTRIES).TIME_SERIES_PK:=lng_TIME_SERIES_PK_Basis;
                                                                                
DATA_TRIGGER.Table_UpdateTS(DATA_TRIGGER.lng_UpdateTS_NUMENTRIES).DATA_RESULT_PK:=
 lng_DATA_RESULT_PK;
                                                                                
DATA_TRIGGER.Table_UpdateTS(DATA_TRIGGER.lng_UpdateTS_NUMENTRIES).TIME_FROM:= 
date_TIME_FROM;
                                                                                
DATA_TRIGGER.Table_UpdateTS(DATA_TRIGGER.lng_UpdateTS_NUMENTRIES).TIME_TO:= 
date_TIME_TO;
                                                                                
DATA_TRIGGER.Table_UpdateTS(DATA_TRIGGER.lng_UpdateTS_NUMENTRIES).OPERATION_PK:=lng_OPERATION_PK;
                                                                END IF;
                                                END IF;
                                                  UPDATE DATA_RESULT
                                                SET VALUE = lng_VALUE_New
                                                WHERE DATA_RESULT_PK = 
lng_DATA_RESULT_PK;
                                                  DBMS_OUTPUT.PUT_LINE('NEUE 
SUMME: ' || lng_VALUE_New );
                                                bool_MASK := FALSE;
                                END IF;
                END IF;
                RETURN bool_MASK;
EXCEPTION
                WHEN NO_DATA_FOUND THEN
                                bool_MASK := TRUE;
                                RETURN bool_MASK;
END F_SUM;

B. DATA_TRIGGER script:
IS
 
 
                TYPE Type_TSInterval IS RECORD
                (
                                TIME_SERIES_PK_BASIC                NUMBER,
                                DATA_RESULT_PK                                 
NUMBER,
                                OPERATION_PK                                    
NUMBER,
                                TIME_FROM                                       
                   DATE,
                                TIME_TO                                         
                         DATE
                );
 
                TYPE Table_TSInterval IS TABLE of Type_TSInterval INDEX BY 
BINARY_INTEGER;
                TSInterval                                                  
Table_TSInterval;
                TSInterval_NUM                                        
BINARY_INTEGER := 0;
 
 
 
                TYPE Type_TSDerived IS RECORD
                (
                                TIME_SERIES_PK                 NUMBER,
                                TIME_SERIES_PK_BASIC                NUMBER,
                                OPERATION_PK                                    
NUMBER,
                                DATE_CHANGED_MIN                           DATE,
                                DATE_CHANGED_MAX                           DATE,
                                PRECALCULATE                                   
NUMBER,
                                DATE_CLASS_PK                                   
NUMBER,
                                DELTA                                           
                                           NUMBER,
                                CHANGED                                         
                                     NUMBER,
                                REFERENCE_DATE                                  
            DATE,
                                MAP_DELTA                                       
                     NUMBER,
                                MAP_TYPE                                        
                                      NUMBER,
                                REFERENCE_DELTA                            
NUMBER
                );
 
                TYPE Table_TSDerived IS TABLE of Type_TSDerived INDEX BY 
BINARY_INTEGER;
                TSDerived                                                       
          Table_TSDerived;
                TSDerived_NUM                                                   
   BINARY_INTEGER := 0;
 
 
 
                TYPE Type_TSBasic IS RECORD
                (
                                TIME_SERIES_PK                                  
NUMBER,
                                DERIVED_INSERTED                                
             BOOLEAN,
                                CHANGED                                         
                                                     BOOLEAN,
                                DATE_AVAILABLE_COUNT                    NUMBER,
                                DATE_AVAILABLE_FROM                       DATE,
                                DATE_AVAILABLE_TO                            
DATE,
                                DATA_POINT_DELETED                          
BOOLEAN
                );
 
                TYPE Table_TSBasic IS TABLE of Type_TSBasic INDEX BY 
BINARY_INTEGER;
                TSBasic                                                         
           Table_TSBasic;
                TSBasic_NUM                                                     
   BINARY_INTEGER := 0;
 
 
                TYPE Type_TSBasic_TSDerived IS RECORD
                (
                                TIME_SERIES_PK_BASIC                     NUMBER,
                                TIME_SERIES_PK_DERIVED                 NUMBER,
                                POSITION                                        
                                                                     NUMBER
                );
 
                TYPE Table_TSBasic_TSDerived IS TABLE of Type_TSBasic_TSDerived 
INDEX BY BINARY_INTEGER;
                TSBasic_TSDerived                                               
                    Table_TSBasic_TSDerived;
                TSBasic_TSDerived_NUM                                           
              BINARY_INTEGER := 0;
 
END DATA_TRIGGER;
Best regards
SYAM


      
____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  
http://tools.search.yahoo.com/newsearch/category.php?category=shopping

[Non-text portions of this message have been removed]

Kirim email ke