DBA Data[Home] [Help]

PACKAGE BODY: APPS.PNP_OTH_PROD

Source


1 PACKAGE BODY PNP_OTH_PROD AS
2   -- $Header: PNOTPRDB.pls 115.2 2002/04/22 18:44:56 pkm ship    $
3 
4 FUNCTION delete_project (p_project_id IN NUMBER)
5 -------------------------------------------------------------------------------
6 -- FUNCTION
7 --    delete_project
8 --
9 -- PURPOSE
10 --    Function to check project id is being used in Property Manager.
11 --
12 -- DESCRIPTION
13 --    This function checks to see whether passed project id exists in
14 --    PN_PAYMENT_TERMS table or not. If exists then it returns FALSE
15 --    else it returns TRUE.
16 --    This function will be used in Projects Purge program to see if
17 --    a project id is used in Property Manager before purging projects.
18 --    As per their design if a project is being used it should not be purged.
19 --
20 -- ARGUMENTS
21 --    IN  : p_project_id
22 --    OUT : None
23 --
24 -- RETURNS
25 --    Boolean (TRUE/FALSE)
26 --
27 -- SCOPE - PUBLIC
28 --
29 -- HISTORY
30 --
31 --    22-APR-2002   Mrinal Misra   o Created.
32 --
33 --------------------------------------------------------------------------------
34 RETURN BOOLEAN IS
35 
36    l_flag           VARCHAR2(1);
37    l_project_name   pa_projects_expend_v.project_name%TYPE;
38 
39    CURSOR get_proj_name(p_project_id IN NUMBER) IS
40       SELECT project_name
41       FROM   pa_projects_all_basic_v
42       WHERE  project_id = p_project_id;
43 
44 BEGIN
45 
46    OPEN  get_proj_name(p_project_id);
47    FETCH get_proj_name INTO l_project_name;
48    CLOSE get_proj_name;
49 
50    l_flag := 'N';
51 
52    SELECT 'Y'
53    INTO   l_flag
54    FROM   DUAL
55    WHERE EXISTS(SELECT NULL
56                 FROM   PN_PAYMENT_TERMS_ALL
57                 WHERE  (project_id IS NOT NULL AND -- For Payables.
58                         project_id = p_project_id)
59                 OR     (project_attribute3 IS NOT NULL AND -- For Receivables.
60                         project_attribute3 = l_project_name));
61 
62    IF l_flag = 'Y' THEN
63       RETURN FALSE;
64    ELSE
65       RETURN TRUE;
66    END IF;
67 
68    EXCEPTION
69       WHEN NO_DATA_FOUND THEN
70          RETURN TRUE;
71 
72 END delete_project;
73 
74 END PNP_OTH_PROD;