Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Packages and exceptions-correct syntax

Packages and exceptions-correct syntax

From: Kevinsky <serverop_at_designworld.ca>
Date: 30 Sep 2004 11:35:57 -0700
Message-ID: <714e0354.0409301035.75142956@posting.google.com>


I have an oracle forms package spec listed below I want to declare exceptions that are global within the package and available to all the procedures within the package. Where can I put the code to handle the
exception so I dont have to repeat it within each procedure? PACKAGE PREPARE IS   PROCEDURE DATA(V_BLOCK VARCHAR2);
  PROCEDURE REPORT(V_BLOCK VARCHAR2); END; and
PACKAGE BODY PREPARE IS No_report EXCEPTION;--available globally

PROCEDURE REPORT(V_BLOCK VARCHAR2) IS
bk_id Block;

BEGIN  bk_id := Find_Block(V_BLOCK );
IF NOT ID_NULL( bk_id) THEN

   IF V_BLOCK = 'ADRS' THEN
      PREPARE_ADRS;
   ELSIF V_BLOCK = 'TEAM_MGMT' THEN
      PREPARE_TEAM_MGMT;
   ELSIF V_BLOCK = 'CASELOAD' THEN
      PREPARE_CASELOAD;
   ELSIF V_BLOCK = 'INACTIVE' THEN
      PREPARE_INACTIVE;
   ELSE
      raise no_report;
   END IF;
ELSE
      raise no_report;
END IF;
EXCEPTION
WHEN no_report THEN
--handle the error here

END;



PROCEDURE DATA(V_BLOCK VARCHAR2) IS
bk_id Block;

BEGIN  bk_id := Find_Block(V_BLOCK );
IF NOT ID_NULL( bk_id) THEN

   IF V_BLOCK = 'ADRS' THEN
      PREPARE_ADRS_DATA;
   ELSIF V_BLOCK = 'TEAM_MGMT' THEN
      PREPARE_TEAM_MGMT_DATA;
   ELSIF V_BLOCK = 'CASELOAD' THEN
      PREPARE_CASELOAD_DATA;
   ELSIF V_BLOCK = 'INACTIVE' THEN
      PREPARE_INACTIVE;
   ELSE
      raise no_report;
   END IF;
ELSE
      raise no_report;
END IF;
EXCEPTION
--I can repeat the no_report here but it there a better way?

END;--of DATA procedure
END;-- of package Received on Thu Sep 30 2004 - 13:35:57 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US