Cisco Cisco Workload Automation 6.3 User Guide

Page of 78
77
Cisco Systems, Inc.
www.cisco.com
B
Appendix B—sabdg_global Package
The sabdg_global package contained in this appendix is used when you need to install the Oracle Applications Bridge 
using a custom APPS user as described in 
CREATE OR REPLACE PACKAGE BODY sabdg_global AS
PROCEDURE decrypt(pc_err_code OUT VARCHAR2,
                  pn_job_trx_id IN NUMBER,
                  pc_input IN VARCHAR2,
                  pc_output OUT VARCHAR2,
                  pc_debug IN VARCHAR2 DEFAULT NULL) IS
BEGIN                                                                                               
    DECLARE           
      vc_err_code         VARCHAR2(100);
      vc_dbg_err_code     VARCHAR2(100);
      vc_debug             VARCHAR2(100) := substr(pc_debug,1,32);
      vc_module            VARCHAR2(100) := 'GLOBAL.DECRYPT';
      vc_message        VARCHAR2(100);
        vh_input              VARCHAR2(2048) := pc_input;
        vc_input              VARCHAR2(2048) ;
        vt_job_trx_id            NUMBER := pn_job_trx_id;
        vc_decrypt               VARCHAR2(2048);
        vc_key                VARCHAR2(56);
                                                                            
    BEGIN             
    BEGIN
      SELECT to_char(creation_date,'YYYYHH24MMMIDDSSMM')
      INTO vc_key
      FROM TIDAL.sabdg_jobs
      WHERE job_trx_id = vt_job_trx_id;
    EXCEPTION
      WHEN NO_DATA_FOUND THEN
        vc_err_code := 'BDG-10092 '||'Job does not exists';
        IF vc_debug IS NOT NULL THEN  
         vc_message := vc_err_code;
          END IF;     
    END;
    IF vc_err_code IS NULL THEN
        vc_input :=   UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW(vh_input));
        dbms_obfuscation_toolkit.DESDecrypt(input_string => vc_input,key_string => 
vc_key,decrypted_string => vc_decrypt);        
        pc_output := ltrim(rtrim(vc_decrypt));
       pc_err_code := vc_err_code;
      ELSE
        pc_output := NULL;
        pc_err_code := vc_err_code;
      END IF;