DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSA_IMPLEMENTATION

Source


1 PACKAGE BODY PSA_IMPLEMENTATION AS
2 /* $Header: PSAMFIMB.pls 120.5 2006/09/13 13:11:04 agovil ship $ */
3 
4    --===========================FND_LOG.START=====================================
5    g_state_level NUMBER	:=	FND_LOG.LEVEL_STATEMENT;
6    g_proc_level  NUMBER	:=	FND_LOG.LEVEL_PROCEDURE;
7    g_event_level NUMBER	:=	FND_LOG.LEVEL_EVENT;
8    g_excep_level NUMBER	:=	FND_LOG.LEVEL_EXCEPTION;
9    g_error_level NUMBER	:=	FND_LOG.LEVEL_ERROR;
10    g_unexp_level NUMBER	:=	FND_LOG.LEVEL_UNEXPECTED;
11    g_path        VARCHAR2(50)  := 'PSA.PLSQL.PSAMFIMB.PSA_IMPLEMENTATION.';
12    --===========================FND_LOG.END=======================================
13  --
14   FUNCTION get 	(p_org_id       IN  INTEGER,
15                  p_psa_feature  IN  VARCHAR2,
16                  p_enabled_flag OUT NOCOPY VARCHAR2)
17   RETURN boolean IS
18   BEGIN
19    if g_org_id is null then
20      g_org_id :=  p_org_id;
21     elsif g_org_id <> p_org_id then
22      g_org_id := p_org_id;
23      g_mfar_enabled := NULL;
24    end if;
25 
26 --        p_enabled_flag := 'N';
27         --
28      if g_mfar_enabled is null THEN
29         SELECT status
30         INTO p_enabled_flag
31         FROM psa_implementation_all
32         WHERE org_id    = p_org_id
33         AND psa_feature = p_psa_feature;
34         g_mfar_enabled :=  p_enabled_flag;
35         --
36     else
37       p_enabled_flag := g_mfar_enabled;
38    end if;
39 
40   return TRUE;
41    --
42   EXCEPTION WHEN no_data_found THEN
43         g_mfar_enabled := 'N';
44         RETURN(FALSE);
45    END;
46    --
47    PROCEDURE enable_mfar(p_org_id       IN  INTEGER,
48                          p_psa_feature  IN  VARCHAR2)
49    IS
50    l_enabled_flag varchar2(1);
51    BEGIN
52         SELECT status
53         INTO l_enabled_flag
54         FROM psa_implementation_all
55         WHERE org_id = p_org_id
56         AND psa_feature = p_psa_feature;
57         --
58         IF l_enabled_flag = 'Y' THEN
59             NULL;
60         ELSIF l_enabled_flag = 'N' THEN
61             UPDATE psa_implementation_all
62             SET status      = 'Y'
63             WHERE org_id    = p_org_id
64             AND psa_feature = p_psa_feature;
65         END IF;
66         --
67         EXCEPTION WHEN no_data_found THEN
68             INSERT INTO psa_implementation_all(psa_feature
69                                               ,status
70                                               ,org_id)
71             VALUES (p_psa_feature
72                    ,'Y'
73                    ,p_org_id);
74     END;
75     --
76     PROCEDURE disable_mfar(p_org_id       IN  INTEGER,
77                            p_psa_feature  IN  VARCHAR2)
78     IS
79     l_enabled_flag varchar2(1);
80     -- ========================= FND LOG ===========================
81     l_full_path VARCHAR2(100) := g_path || 'disable_mfar';
82     -- ========================= FND LOG ===========================
83     BEGIN
84         SELECT status
85         INTO l_enabled_flag
86         FROM psa_implementation_all
87         WHERE org_id    = p_org_id
88         AND psa_feature = p_psa_feature;
89         --
90         IF l_enabled_flag = 'N' THEN
91             NULL;
92         ELSIF l_enabled_flag = 'Y' THEN
93             UPDATE psa_implementation_all
94             SET status      = 'N'
95             WHERE org_id    = p_org_id
96             AND psa_feature = p_psa_feature;
97         END IF;
98      --
99      EXCEPTION
100      WHEN no_data_found THEN
101             INSERT INTO psa_implementation_all(psa_feature
102                                               ,status
103                                               ,org_id)
104             VALUES (p_psa_feature
105                    ,'N'
106                    ,p_org_id);
107      WHEN others THEN
108           FND_MESSAGE.SET_NAME ('AR', 'GENERIC_MESSAGE');
109           FND_MESSAGE.SET_TOKEN('GENERIC_TEXT', 'Error Package - psa_implementation'||sqlerrm);
110           -- ========================= FND LOG ===========================
111           psa_utils.debug_other_msg(g_unexp_level,l_full_path,FALSE);
112           -- ========================= FND LOG ===========================
113           APP_EXCEPTION.RAISE_EXCEPTION;
114      END;
115      --
116      END PSA_IMPLEMENTATION;