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 ;