DBA Data[Home] [Help]

PACKAGE: APPS.PA_UTILS4

Source


1 PACKAGE PA_UTILS4 AS
2 /* $Header: PAXGUT4S.pls 120.4 2006/01/23 14:35:48 vgade noship $*/
3 
4      -- Added these global variables for CWK changes.
5      G_INCURRED_BY_PERSON_ID   NUMBER := null ;
6      G_full_name VARCHAR2(240) := NULL ;
7      G_employee_number VARCHAR2(30):= NULL ;
8 
9 
10   /* The following global variables are declared for caching in MRC trigger PAMRCEIA.pls */
11      G_P_SOB         NUMBER := null;
12      G_P_org_id_new  Number := null;
13      G_P_org_id_old  Number := null;
14      G_R_SOB         NUMBER := null;
15      G_R_org_id_new  Number := null;
16      G_R_org_id_old  Number := null;
17      G_prvdr_sob     NUMBER := null;
18      G_prvdr_currency Varchar2(15) := null;
19      G_recvr_sob     NUMBER := null;
20      G_recvr_currency Varchar2(15) := null;
21 
22 
23      G_Tabreporting_set_of_books_id PA_PLSQL_DATATYPES.Idtabtyp;
24      G_Tabreporting_currency_code   PA_PLSQL_DATATYPES.char50TabTyp;
25      G_Tabprvdr_recvr_flag          PA_PLSQL_DATATYPES.char50TabTyp;
26 
27    /* End of MRC global variable declrations */
28 
29   /* The following global variables are declared for caching in MRC trigger PAMRCCDL.pls */
30      G_CDL_SOB         NUMBER := null;
31      G_CDL_org_id_new  Number := null;
32      G_CDL_org_id_old  Number := null;
33      G_CDL_currency Varchar2(15) := null;
34 
35 
36      G_Tabcdlreporting_set_of_books PA_PLSQL_DATATYPES.Idtabtyp;
37      G_Tabcdlreporting_currency_cod PA_PLSQL_DATATYPES.char50TabTyp;
38      G_Tabcdlenabled_flag           PA_PLSQL_DATATYPES.char50TabTyp;
39 
40    /* End of MRC global variable declrations */
41 
42 
43   /* Declare Global variables to store the profile values */
44     G_PRM_INSTALLED_FLAG   VARCHAR2(1) := null;
45     G_WORKTYPE_ENABLED     VARCHAR2(1) := null;
46     G_WORKTYPE_BILLABILITY VARCHAR2(1) := null;
47 
48   /* Declare Global plsql tabs and Recs to store the Ids */
49 
50      TYPE WorkAssignRec  IS RECORD (
51         Person_Id NUMBER,
52         project_id NUMBER,
53         task_id    NUMBER,
54         ei_date    NUMBER,
55         system_linkage VARCHAR2(100),
56         tp_amt_type_code VARCHAR2(100),
57         assignment_id NUMBER,
58         assignment_name VARCHAR2(100),
59         work_type_id NUMBER,
60 	work_type_name VARCHAR2(100),
61 	return_status VARCHAR2(100),
62 	error_message_code VARCHAR2(100) );
63 
64   TYPE WorkAssignRecTab IS TABLE OF WorkAssignRec
65         INDEX BY BINARY_INTEGER;
66 
67   TYPE WorkTypeIdRec  IS RECORD (
68         project_id NUMBER,
69         task_id    NUMBER,
70         assignment_id NUMBER,
71         work_type_id NUMBER
72         );
73 
74   TYPE WorkTypeRecIdTab IS TABLE OF WorkTypeIdRec
75         INDEX BY BINARY_INTEGER;
76 
77 
78   TYPE WorkTypeNameRec  IS RECORD (
79         work_type_id NUMBER,
80 	work_type_name  varchar2(100)
81         );
82 
83   TYPE WorkTypeNameRecTab  IS TABLE OF WorkTypeNameRec
84         INDEX BY BINARY_INTEGER;
85 
86   TYPE TpAmtTypeRec  IS RECORD (
87         work_type_id NUMBER,
88         tp_amt_type_code varchar2(100)
89         );
90 
91   TYPE TpAmtTypeRecTab IS TABLE OF TpAmtTypeRec
92         INDEX BY BINARY_INTEGER;
93 
94   TYPE AssignIdRec IS RECORD (
95         Person_Id NUMBER,
96         project_id NUMBER,
97         task_id    NUMBER,
98         ei_date    NUMBER,
99         assignment_id NUMBER
100         );
101 
102   TYPE AssignIdRecTab  IS TABLE OF AssignIdRec
103         INDEX BY BINARY_INTEGER;
104 
105   TYPE AssignNameRec IS RECORD (
106         assignment_name  varchar2(100)
107         );
108 
109   TYPE AssignNameRecTab  IS TABLE OF AssignNameRec
110         INDEX BY BINARY_INTEGER;
111 
112   G_WorkTypeRecIdTab   WorkTypeRecIdTab;
113   G_WorkTypeNameRecTab WorkTypeNameRecTab;
114   G_TpAmtTypeRecTab    TpAmtTypeRecTab;
115   G_AssignIdRecTab     AssignIdRecTab;
116   G_WorkAssignRecTab   WorkAssignRecTab;
117   G_AssignNameRecTab   AssignNameRecTab;
118 
119   PROCEDURE get_work_assignment(p_person_id             IN  NUMBER
120                              ,p_project_id              IN  NUMBER
121                              ,p_task_id                 IN  NUMBER
122                              ,p_ei_date                 IN  DATE
123                              ,p_system_linkage          IN  VARCHAR2
124                              ,x_tp_amt_type_code        OUT NOCOPY VARCHAR2
125                              ,x_assignment_id           OUT NOCOPY NUMBER
126                              ,x_assignment_name         IN OUT NOCOPY VARCHAR2
127                              ,x_work_type_id            OUT NOCOPY NUMBER
128                              ,x_work_type_name          IN VARCHAR2
129                              ,x_return_status           OUT NOCOPY VARCHAR2
130                              ,x_error_message_code      OUT NOCOPY VARCHAR2 );
131 
132   FUNCTION get_work_type_id ( p_project_id               IN  NUMBER
133                              ,p_task_id                 IN  NUMBER
134                              ,p_assignment_id           IN  NUMBER
135                            ) RETURN NUMBER;
136 
137   --PRAGMA RESTRICT_REFERENCES ( get_work_type_id, WNDS );
138 
139   FUNCTION get_work_type_name(p_work_type_id  IN NUMBER)
140          RETURN varchar2;
141 
142   --PRAGMA RESTRICT_REFERENCES ( get_work_type_name, WNDS );
143 
144   FUNCTION get_assignment_name(p_assignment_id  IN NUMBER)
145          RETURN varchar2;
146 
147   --PRAGMA RESTRICT_REFERENCES ( get_assignment_name, WNDS );
148 
149   FUNCTION get_assignment_id(p_person_id               IN  NUMBER
150                            ,p_project_id              IN  NUMBER
151                            ,p_task_id                 IN  NUMBER
152                            ,p_ei_date                 IN  DATE
153                          ) RETURN NUMBER;
154   -- commented out prgrama restrict as it voilates pragma references of get_person_details
155   --PRAGMA RESTRICT_REFERENCES ( get_assignment_id, WNDS );
156 
157   FUNCTION get_tp_amt_type_code(p_work_type_id  IN NUMBER)
158          RETURN varchar2;
159 
160   --PRAGMA RESTRICT_REFERENCES ( get_tp_amt_type_code, WNDS );
161 
162   /** This api derives the site level profile value of
163    *  Transaction Billablity derived from work type
164    **/
165   FUNCTION is_worktype_billable_enabled RETURN VARCHAR2;
166 
167   --PRAGMA RESTRICT_REFERENCES (is_worktype_billable_enabled, WNDS );
168 
169   /** This api derives the billability of the
170    *  transaction based on the work type and profile option
171    */
172   FUNCTION get_trxn_work_billabilty(p_work_type_id  IN  NUMBER
173                             ,p_tc_extn_bill_flag  IN  VARCHAR2  )
174       RETURN varchar2;
175 
176   --PRAGMA RESTRICT_REFERENCES (get_trxn_work_billabilty, WNDS );
177 
178    /** This api derives the site level profile value of
179     *  Transaction work type enabled
180     **/
181    FUNCTION is_exp_work_type_enabled RETURN VARCHAR2;
182 
183   --PRAGMA RESTRICT_REFERENCES (is_exp_work_type_enabled, WNDS );
184 
185 /* BUG # 3220230 Added the function to get the billability of reversals in OIT */
186  FUNCTION GetOrig_EiBillability_SST(orig_eid IN NUMBER,billable_flag IN VARCHAR2,trans_source IN VARCHAR2) RETURN VARCHAR2;
187 
188 /* Bug# 4057474 Added the function to get the bill_hold_flag of reversals in external transaction source like OTL*/
189  FUNCTION GetOrig_EiBill_hold(orig_eid IN NUMBER,bill_hold_flag IN VARCHAR2) RETURN VARCHAR2;
190 
191   PROCEDURE check_txn_exists (p_project_id   IN NUMBER,
192                               p_task_id      IN NUMBER DEFAULT NULL,
193                               x_status_code  OUT NOCOPY NUMBER,
194                               x_err_code     OUT NOCOPY VARCHAR2,
195                               x_err_stage    OUT NOCOPY VARCHAR2);
196 
197   G_PrevAsgPerId  NUMBER;
198   G_PrevAsgPrjId  NUMBER;
199   G_PrevAsgEIDate DATE;
200   G_PrevAsgAsgnId NUMBER;
201 
202   G_PrevWkPrjId   NUMBER;
203   G_PrevWkTskId   NUMBER;
204   G_PrevWkAsgnId  NUMBER;
205   G_PrevWkTypeId  NUMBER;
206 
207   /** This api checks if a bill rate schedule is used
208    *  in any organization assignment.
209    */
210   FUNCTION IsUsedInCosting(p_bill_rate_sch_id  IN  NUMBER )
211       RETURN BOOLEAN;
212 
213   /** This API validates the given IN param is Number or Not
214    *  If not Number return -9999
215    */
216 
217   FUNCTION getNumericString(p_reference1  IN varchar2) RETURN NUMBER;
218 
219  /** This API will return Implementaion OrgId and uses cacheing logic
220   */
221   FUNCTION get_org_id RETURN NUMBER;
222 
223  /** This API returns set_of_books_id from the implementations
224   **/
225   FUNCTION get_primary_sob RETURN NUMBER;
226 
227  /** This API returns the Implementation values **/
228   PROCEDURE get_imp_values(x_prim_sob  OUT NOCOPY Number
229 			  ,x_org_id    OUT NOCOPY NUmber
230 			  ,x_book_type_code OUT NOCOPY varchar2
231                           ,x_business_group OUT NOCOPY number
232                           );
233 
234   G_imp_sob_id  NUMBER;
235   G_imp_org_id  NUMBER;
236   G_imp_book_type_code VARCHAR2(100);
237   G_imp_bus_group NUMBER;
238 
239  /** This API returns the Business group Id for the given Organization Id **/
240   FUNCTION GetOrgBusinessGrpId(p_organization_id IN Number) RETURN NUMBER;
241 
242 /* This is an public API, which in turn calls a private function CheckCCTxnsExists
243  * This api will be called from project and task Form before deleting
244  * any of the task or project
245  */
246 PROCEDURE Check_CC_TxnExists(p_project_id       Number
247                             ,p_task_id          Number
248                             ,x_return_status OUT NOCOPY varchar2
249                             ,x_msg_data      OUT NOCOPY varchar2
250                             ,x_msg_count     OUT NOCOPY Number );
251 
252 
253 /* This is an public API, which in turn calls a private functions
254  * This api will be called from budgetary controls form to check any
255  * transactions exists for project or task. If so the budgetary control form
256  * will be modified to read only mode
257  */
258 PROCEDURE CheckToEnableBdgtCtrl(p_project_id       Number
259                                 ,p_task_id          Number
260 				,p_mode             Varchar2  Default 'BDGTCTRL'
261                                 ,x_return_status    OUT NOCOPY varchar2
262                                 ,x_error_msg_code   OUT NOCOPY varchar2
263                                 ,x_error_stage      OUT NOCOPY varchar2
264                                  );
265 
266 FUNCTION get_unit_of_measure ( p_expenditure_type IN VARCHAR2 ) Return VARCHAR2 ;
267 
268 FUNCTION get_unit_of_measure_m ( p_unit_of_measure IN VARCHAR2 DEFAULT NULL,
269                                  p_expenditure_type IN VARCHAR2 DEFAULT NULL ) Return VARCHAR2  ;
270 
271 
272 FUNCTION get_emp_name_number( p_incurred_by_person_id IN NUMBER,
273                               p_expenditure_ending_date IN DATE,
274                               p_mode IN VARCHAR2 )Return VARCHAR2;
275 
276 FUNCTION get_wip_resource_code(p_wip_resource_id IN NUMBER ) Return VARCHAR2;
277 
278 FUNCTION get_inventory_item(p_inventory_item_id  IN NUMBER) Return VARCHAR2;
279 
280 FUNCTION get_invoice_payment_num(p_transaction_source IN VARCHAR2,p_inv_payment_id  IN VARCHAR2) Return NUMBER;
281 
282 FUNCTION get_ledger_cash_basis_flag Return VARCHAR2;
283 
284 /*----------------------------------------------------------------------------*/
285 -- Start of Comments
286 -- API name                      : IsProjectsImplemented
287 -- Type                          : Public Function
288 -- Pre-reqs                      : None
289 -- Function                      : To check if Projects is implemented for a given OU
290 -- Return Value                  : VARCHAR2
291 -- Prameters
292 -- p_org_id               IN    NUMBER  REQUIRED
293 --  History
294 --  12-JUL-05   Vgade                    -Created
295 --
296 /*----------------------------------------------------------------------------*/
297 FUNCTION IsProjectsImplemented(p_org_id IN Number) RETURN VARCHAR2;
298 
299 END PA_UTILS4;