DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_PERCENT_COMPLETE_PKG

Source


1 PACKAGE  BODY  pa_percent_complete_pkg AS
2 /*$Header: PAXPRPCB.pls 120.2 2005/08/23 22:43:44 avaithia noship $*/
3 
4 
5 PROCEDURE Lock_Row
6             (
7 	x_rowid			IN 	  	VARCHAR2
8 	, x_project_id		IN 	  	NUMBER
9 	, x_task_id		IN		NUMBER
10 	, x_percent_complete	IN		NUMBER
11 	, x_as_of_date		IN		DATE
12 	, x_current_flag		IN		VARCHAR2
13 	, x_pm_product_code	IN		VARCHAR2
14 	, x_description		IN		VARCHAR2
15 	, x_last_update_date	IN		DATE
16 	, x_last_updated_by	IN		NUMBER
17 	, x_creation_date		IN		DATE
18 	, x_created_by		IN		NUMBER
19 	, x_last_update_login	IN		NUMBER
20 	) IS
21 
22 	CURSOR  l_percent_cmpl_csr
23 	IS
24 	SELECT	*
25 	FROM		pa_percent_completes
26 	WHERE		rowid = x_rowid
27 	FOR UPDATE	of  project_id NOWAIT;
28 
29 	Recinfo  l_percent_cmpl_csr%ROWTYPE;
30 
31 BEGIN
32 
33 	OPEN l_percent_cmpl_csr;
34 
35 	FETCH l_percent_cmpl_csr INTO Recinfo;
36 
37 	IF (l_percent_cmpl_csr%NOTFOUND) THEN
38 		CLOSE l_percent_cmpl_csr;
39 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
40 		APP_EXCEPTION.Raise_Exception;
41 	END IF;
42 
43 	IF (
44 
45 			(recinfo.task_id = x_task_id)
46 		AND	(recinfo.date_computed = x_as_of_date)
47 		AND	(   (recinfo.completed_percentage = x_percent_complete)
48 			   OR  (	 (recinfo.completed_percentage IS NULL)
49 				  AND (x_percent_complete IS NULL) ) )
50 
51 		AND	(   (RTRIM(recinfo.description) = RTRIM(x_description))
52 			   OR  (	 (recinfo.description IS NULL)
53 				  AND (x_description IS NULL) ) )
54 
55 		AND	(   (recinfo.project_id = x_project_id)
56 			   OR  (	 (recinfo.project_id IS NULL)
57 				  AND (x_project_id IS NULL) ) )
58 
59 		)  THEN
60 			CLOSE l_percent_cmpl_csr;
61 			RETURN;
62 	ELSE
63 			CLOSE l_percent_cmpl_csr;
64 			FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
65 			APP_EXCEPTION.Raise_Exception;
66 	END IF;
67 END Lock_Row;
68 -- =================================================
69 
70 PROCEDURE Insert_Row
71             (
72 	 x_project_id		IN 	  	NUMBER
73 	, x_task_id		IN		NUMBER
74 	, x_percent_complete	IN		NUMBER
75 	, x_as_of_date		IN		DATE
76 	, x_description		IN		VARCHAR2
77 	, x_last_update_date	IN		DATE
78 	, x_last_updated_by	IN		NUMBER
79 	, x_creation_date		IN		DATE
80 	, x_created_by		IN		NUMBER
81 	, x_last_update_login	IN		NUMBER
82 	, x_return_status		OUT		NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
83 	, x_msg_data		OUT		NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
84 	) IS
85 
86 	l_msg_count		NUMBER		:= 0;
87 
88 BEGIN
89 
90 PA_STATUS_PUB.Update_Progress
91 	( p_api_version_number  		=>	G_API_VERSION_NUMBER
92 	  , p_commit			=>	G_COMMIT
93 	  , p_msg_count			=>	l_msg_count
94 	  , p_msg_data			=>	x_msg_data
95 	  , p_init_msg_list		=>	G_INIT_MSG_LIST
96 	  , p_return_status			=>   	x_return_status
97 	  , p_project_id			=> 	x_project_id
98 	  , p_task_id			=> 	x_task_id
99 	  , p_as_of_date			=>  	x_as_of_date
100 	  , p_percent_complete		=>  	x_percent_complete
101 	  , p_description		=>	x_description
102 	  );
103 
104 END Insert_Row;
105 -- ==================================================
106 
107 PROCEDURE Delete_Row (x_rowid IN VARCHAR2)  IS
108 
109 BEGIN
110 
111 	DELETE FROM pa_percent_completes
112 	WHERE		rowid = x_rowid;
113 	IF (SQL%NOTFOUND)	THEN
114 		RAISE NO_DATA_FOUND;
115 	END IF;
116 
117 END Delete_Row;
118 -- ================================================
119 END pa_percent_complete_pkg ;