DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_TRANSACTION_SOURCES_PKG

Source


1 PACKAGE BODY PA_TRANSACTION_SOURCES_PKG AS
2 /* $Header: PAXTIXSB.pls 120.2 2005/08/03 13:58:37 aaggarwa noship $ */
3 
4 --  =====================================================================
5 --  This procedure performs a referential integrity check for
6 
7   PROCEDURE check_references(  X_trx_source  IN      VARCHAR2
8                              , status        IN OUT NOCOPY  NUMBER
9                              , outcome	     IN OUT NOCOPY  VARCHAR2 ) IS
10 	dummy	NUMBER;
11 
12   BEGIN
13     outcome := NULL;         -- initialize
14     status  := 0;
15 
16     SELECT  count(1)
17       INTO  dummy
18       FROM  dual
19      WHERE EXISTS
20             ( SELECT  1
21                 FROM  pa_transaction_xface_control txc
22                WHERE  txc.transaction_source = X_trx_source )
23         OR EXISTS
24             ( SELECT  1
25                 FROM  pa_expenditure_items_all ei
26                WHERE  ei.transaction_source = X_trx_source );
27 
28     IF ( dummy = 1 ) THEN
29       outcome := 'PA_TR_TRX_SRC_IN_USE';
30       status  := 1;
31     END IF;
32 
33   EXCEPTION
34     WHEN  OTHERS THEN
35       status := SQLCODE;
36 
37   END check_references;
38 
39 
40 --  =====================================================================
41 --  This procedure checks if the
42 --  exists, and if so, returns an error message.
43 
44   PROCEDURE check_unique(  X_trx_source       IN      VARCHAR2
45 			 , X_user_trx_source  IN      VARCHAR2
46 			 , X_rowid            IN      VARCHAR2
47                          , status             IN OUT NOCOPY  NUMBER
48 			 , outcome            IN OUT NOCOPY  VARCHAR2 ) IS
49     dummy   	NUMBER;
50 
51   BEGIN
52     outcome := NULL;
53     status  := 0;
54 
55     SELECT 1
56       INTO dummy
57       FROM dual
58      WHERE NOT EXISTS
59             ( SELECT 1
60                 FROM pa_transaction_sources
61                WHERE ( transaction_source = nvl(X_trx_source, -99)
62                        OR user_transaction_source = X_user_trx_source)
63                  AND  (   ( X_rowid IS NULL )
64                        OR ( rowid <> X_rowid ) ) );
65 
66   EXCEPTION
67     WHEN  NO_DATA_FOUND  THEN
68       status  := 1;
69       outcome := 'PA_SU_NAME_ALREADY_EXISTS';
70     WHEN  OTHERS  THEN
71       status  := SQLCODE;
72 
73   END check_unique;
74 
75 END PA_TRANSACTION_SOURCES_PKG;