DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_CLIENT_EXTN_PTE

Source


1 package body PA_CLIENT_EXTN_PTE as
2  -- $Header: PAXPTEEB.pls 120.1 2005/08/11 10:44:20 eyefimov noship $
3 
4  -- Added a parameter to Check_Time_Exp_Proj_User to handle admin entry
5  -- in Web Expenses
6 
7   PROCEDURE Check_Time_Exp_Proj_User( X_person_id   IN NUMBER DEFAULT NULL,
8                                       X_fnd_user_id IN NUMBER DEFAULT NULL,
9                                       X_approved    IN OUT NOCOPY VARCHAR2,
10         	                          X_msg_text    OUT NOCOPY VARCHAR2 )
11 
12   IS
13 
14      l_user_id NUMBER;
15 
16   BEGIN
17 
18 -- If user has passed fnd_user_id then use that id else get
19 -- user_id from fnd_global
20 
21    l_user_id := nvl(x_fnd_user_id, fnd_global.user_id) ;
22 
23 -- If the Profile is not set, we use NVL to set X_approved to 'N'
24 
25 -- Commenting the call to Value_specific API. Instead using standard
26 -- FND_PROFILE.Value API
27 
28   X_approved := NVL(FND_PROFILE.VALUE_SPECIFIC
29                               (NAME              => 'PA_TIME_EXP_PROJ_USER',
30                                USER_ID           => l_user_id,
31                                RESPONSIBILITY_ID => null,
32                                APPLICATION_ID    => null ),'N');
33 
34 
35 
36 -- X_approved := NVL(FND_PROFILE.VALUE
37 --                            (NAME  => 'PA_TIME_EXP_PROJ_USER'),'N');
38 --
39 -- This Procedure can be customized to provide any additional validation that
40 -- might be required for a user .
41 -- The default for this procedure will not make any changes over what is set
42 -- in the profile option
43 
44   END  Check_Time_Exp_Proj_User;
45 
46   PROCEDURE Get_Exp_AutoApproval (X_source          IN VARCHAR2,
47                                   X_exp_class_code  IN VARCHAR2 DEFAULT NULL,
48                                   X_txn_id          IN NUMBER DEFAULT NULL,
49 				                  X_exp_ending_date IN DATE DEFAULT NULL,
50                                   X_person_id       IN NUMBER DEFAULT NULL,
51                                   P_Timecard_Table  IN Pa_Otc_Api.Timecard_Table DEFAULT PAGTCX.dummy,
52                                   P_Module          IN VARCHAR2 DEFAULT NULL,
53                                   X_approved        IN OUT NOCOPY VARCHAR2)
54   IS
55 
56 	REQUIRED_FIELDS_NULL exception;
57 
58   BEGIN
59 
60 --      X_source must be passed. If X_source is null then we raise an exception.
61 
62 	IF (X_source IS NULL) THEN
63 		RAISE REQUIRED_FIELDS_NULL;
64 	END IF;
65 	IF (X_source = 'PA' and X_exp_class_code IS NULL) THEN
66 		RAISE REQUIRED_FIELDS_NULL;
67 	END IF;
68 
69 --      X_exp_class_code must be passed if X_source is 'PA'.
70 
71 	IF (X_source = 'AP') OR (X_source = 'SELF_SERVICE') THEN
72 
73 		X_approved := FND_PROFILE.VALUE_SPECIFIC
74                               (NAME              => 'PA_PTE_AUTOAPPROVE_ER',
75                                USER_ID           => null,
76                                RESPONSIBILITY_ID => null,
77                                APPLICATION_ID    => 275 );
78 
79         --  This procedure can be customized to provide any needed additional
80         --  validations that might be required.  The default for this procedure
81 	--  will not make any changes from what is set in the profile option.
82 
83         ELSE
84 		IF (X_exp_class_code = 'OE') THEN
85 			X_approved := FND_PROFILE.VALUE_SPECIFIC
86                               (NAME              => 'PA_PTE_AUTOAPPROVE_ER',
87                                USER_ID           => null,
88                                RESPONSIBILITY_ID => null,
89                                APPLICATION_ID    => 275 );
90 
91 		ELSE
92  --
93  --     Modified to pass responsibility and user_id for this procedure
94  --     User can setup the autoapproval on responsibility level
95  --     Shree 09/17/99
96  --
97 			X_approved := FND_PROFILE.VALUE_SPECIFIC
98                               (NAME              => 'PA_PTE_AUTOAPPROVE_TS',
99                                USER_ID           => FND_GLOBAL.USER_ID,
100                                RESPONSIBILITY_ID => FND_GLOBAL.RESP_ID,
101                                APPLICATION_ID    => FND_GLOBAL.RESP_APPL_ID);
102 
103 		END IF;
104 	END IF;
105 
106 --      If X_approved is null(happens if the profile is not set), then
107 --      X_approved is set to 'N'
108 
109 	IF (X_approved IS NULL) THEN
110 		X_approved := 'N';
111 	END IF;
112 
113   EXCEPTION
114 	WHEN REQUIRED_FIELDS_NULL THEN
115 		X_approved := 'REQUIRED_FIELDS_NULL';
116 	WHEN OTHERS THEN
117 		RAISE;
118 
119   END Get_Exp_AutoApproval;
120 
121 end PA_CLIENT_EXTN_PTE ;