Quantcast
Channel: Teradata Forums - Database
Viewing all articles
Browse latest Browse all 14773

EXIT HANDLER NOT WORKING - forum topic by Arvind.Rathi

$
0
0

    REPLACE  PROCEDURE Sysdba.PDBA_PROD_SpaceMover
       (
         IN  InTargetDB    VARCHAR(30)
       , IN  InSpace       BIGINT
       , OUT OutMessage    VARCHAR(1000)
       )
       BEGIN
    
         DECLARE vTargetDB      VARCHAR(30);
         DECLARE vTempDB        VARCHAR(30);
         DECLARE vUserName      VARCHAR(30);
         DECLARE vClientId      VARCHAR(30);  
         DECLARE vDate          DATE;
         DECLARE vTime          TIME(0);
         DECLARE vSession       INTEGER;
         DECLARE vSpace         BIGINT;
         DECLARE vBaseSpace     BIGINT;
         DECLARE vStatementNo   BYTEINT;
         DECLARE vStatement     VARCHAR(500);
         DECLARE vTempDBChk SMALLINT;
         DECLARE vTargetDBChk SMALLINT;
      
         --*****************************************
         --* Error handling
         --*****************************************
      
         DECLARE EXIT HANDLER FOR SQLEXCEPTION
         BEGIN
      
           DECLARE vSQLError   INTEGER;
           DECLARE vSQLState   INTEGER;
        DECLARE vErrorMsg   VARCHAR(1000);
        
           --* Save the error codes
      
           SET vSQLError = SQLCODE;
           SET vSQLState = SQLSTATE;
      
           --* Write the audit log
           
                    INSERT INTO Dxwi_System.PROD_SpaceMover_Log
         VALUES ( :vDate, :vTime, :vClientId, :vUserName, :vSession
                , :InTargetDB, :vSpace, :vStatementNo, :vStatement, :vSQLError, :vSQLState);
                                             
           --* Output the error message
      
        SELECT ErrorText  
        FROM DBC.ErrorMsgs  T1,
        Dxwi_System.PROD_SpaceMover_Log T2
           WHERE T1.ERRORCODE = T2.SQLCODE
           AND T2.SessionID = SESSION
           AND ERRORCODE <> 0 --Errorcode would be 0 for successful transactions, hence ignoring such values to get the error message
           GROUP BY 1
           INTO vErrorMsg;
        
           SET OutMessage = 'Failure!! , SQLCODE = ' || vSQLError || ' Error Message = ' || vErrorMsg;
         END;      
         
         --*****************************************
         --* Main processing
         --*****************************************
      
         --* Get the information from the user session
            SELECT CURRENT_DATE, CURRENT_TIME, USER, SESSION
            INTO vDate, vTime, vUserName, vSession;
      
         --* Get the ClinetId from the current user session
    
           SELECT TPXId
           FROM
        (SELECT
         SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)) AS One
        ,  SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) AS Two
        , SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))) AS Three
        , SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))) AS Four\
        
        
        , SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))))) AS Five
        , CASE
            WHEN SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) LIKE '%GCDCOM4%' THEN SUBSTR ( (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))),1,POSITION ('' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))))
             ELSE SUBSTR ( (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))))))),1,POSITION ('' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) ))))))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )), (POSITION( '' IN (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))+1) , CHAR (TRIM(SUBSTR ( (TRIM (SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))), (POSITION( '' IN (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource)))))+1) , CHAR (TRIM(SUBSTR(  LogonSource,(POSITION('' IN LogonSource)+1), CHAR(LogonSource))))) )))))))))))))
          END AS TPXId
        FROM DBC.SessionInfo
        WHERE SessionNo = SESSION
        )T INTO vClientId;
        
       
          --* Set the procedure variables
         SET vTargetDB  = UPPER(TRIM(InTargetDB));
         SET vTempDB    = 'DDBA' || '_' || TRIM(vSession) || '_' || SUBSTR('support_reserve',6,3) || '_' || SUBSTR(vTargetDB,6,3); --DDBA% will identify all the databases that are created on the fly
         SET vBaseSpace = 1000000000;
         SET vSpace     = InSpace * vBaseSpace;
      
        --*Check if Target DB Exists
    
         SELECT COUNT(1) FROM DBC.Databases WHERE Databasename  = ''||vTargetDB||'' INTO vTargetDBChk;
         
       --**************************************************************************
         --* Check for Target Databases existence
         IF vTargetDBChk = 0 THEN
        BEGIN
     CALL DBC.SYSEXECSQL ('Select *;');  -- Dummy statement to set sql state to non zero value
        SET OutMessage = 'Invalid Selection!! , TARGET = ' || InTargetDB || 'does not exist!!';
        END;  
         END IF;
    
         --*transferring the space
    
        IF  vTargetDBChk <> 0  THEN
         
          BEGIN
          
          SELECT COUNT(1) FROM DBC.Databases WHERE Databasename = TRIM(vTempDB) INTO vTempDBChk ;
          
          IF vTempDBChk <> 0 THEN
          SET vStatementNo = 0;
         SET vStatement = 'DROP DATABASE '|| vTempDB ||';';
         CALL DBC.SYSEXECSQL (:vStatement);
         END IF;   
         
         --* Create the TEMP database from vSourceDB
         SET vStatementNo = 1;
         SET vStatement = 'CREATE DATABASE '|| vTempDB || ' FROM SUPPORT_RESERVE' || ' AS PERM = ' || TRIM(vSpace) ||';';
         CALL DBC.SYSEXECSQL (:vStatement);
    
           
         --* Move the TEMP database to the vTargetDB
      
         SET vStatementNo  = 2;
         SET vStatement = 'GIVE '|| vTempDB || ' TO ' || vTargetDB || ';';
         CALL DBC.SYSEXECSQL (:vStatement);
         --INSERT INTO Dxwi_System.TDBA_Dev_SpaceMover_Log
         --VALUES ( :vDate, :vTime, :vClientId, :vUserName, :vSession, :InSourceDB
         --       , :InTargetDB, :vSpace, :vStatementNo, :vStatement, 0, 0 );
                                                
         --* Drop the TEMP database to make vTargetDB larger
      
         SET vStatementNo = 3;
         SET vStatement = 'DROP DATABASE ' || vTempDB || ';';
         CALL DBC.SYSEXECSQL (:vStatement);
       
         --* Logs the Success to the log table
         INSERT INTO Dxwi_System.PROD_SpaceMover_Log
         VALUES ( :vDate, :vTime, :vClientId, :vUserName, :vSession
                , :InTargetDB, :vSpace, :vStatementNo, NULL, 0, 0 ); -- not capturing vStatement on Success to avoid un-necessary space usage
                                             
         --* Output the success message
      
         SET OutMessage = 'Success!! ' || ' TARGET = ' || InTargetDB || ', SPACE = ' || TRIM(InSpace) || 'GB';
        
        END;
        
        END IF;
      
       END;
 
 
Can you please help. THe exit handler is not working

Forums: 

Viewing all articles
Browse latest Browse all 14773

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>