1 PACKAGE AP_WEB_UTILITIES_PKG AS
2 /* $Header: apwxutls.pls 120.13.12000000.2 2007/05/15 14:03:54 rveliche ship $ */
3
4 -- rlangi - used for converting OIE specific messages to OME messages
5 C_WebApplicationVersion CONSTANT VARCHAR2(1) := 'W';
6 C_MobileApplicationVersion CONSTANT VARCHAR2(1) := 'M';
7 C_PAMessageCategory CONSTANT VARCHAR2(15) := 'PA'; -- Project/Task errors
8 C_PATCMessageCategory CONSTANT VARCHAR2(15) := 'PATC'; -- PATC errors
9 C_GMSMessageCategory CONSTANT VARCHAR2(15) := 'GMS'; -- GMS errors
10 C_TaxMessageCategory CONSTANT VARCHAR2(15) := 'TAX'; -- Tax errors
11 C_ItemizationMessageCategory CONSTANT VARCHAR2(15) := 'ITEMIZATION'; -- Itemization errors
12 C_DFFMessageCategory CONSTANT VARCHAR2(15) := 'DFF'; -- Flexfield errors
13 C_AcctgMessageCategory CONSTANT VARCHAR2(15) := 'ACCTG'; -- Line accounting errors
14 C_OtherMessageCategory CONSTANT VARCHAR2(15) := 'OTHER'; -- All other errors OME will display same OIE error
15
16 C_ErrorMessageType CONSTANT VARCHAR2(10) := 'ERROR';
17 C_WarningMessageType CONSTANT VARCHAR2(10) := 'WARNING';
18 C_ProjectNumber_VRPrompt CONSTANT NUMBER := 34;
19 C_TaskNumber_VRPrompt CONSTANT NUMBER := 35;
20
21 -- chiho:1203036:
22 C_MSG_FIELD_LEN CONSTANT NUMBER := 2000;
23 C_MSG_TEXT_LEN CONSTANT NUMBER := 2000;
24
25 MSG_FIELD_TYPE VARCHAR2(2000);
26 MSG_TEXT_TYPE VARCHAR2(2000);
27
28
29 C_IMG_DIR CONSTANT VARCHAR2(10) := '/OA_MEDIA/';
30
31 TYPE MiniString_Array IS TABLE OF VARCHAR2(25)
32 INDEX BY BINARY_INTEGER;
33 TYPE MedString_Array IS TABLE OF VARCHAR2(80)
34 INDEX BY BINARY_INTEGER;
35 TYPE BigString_Array IS TABLE OF VARCHAR2(240)
36 INDEX BY BINARY_INTEGER;
37 TYPE LongString_Array IS TABLE OF VARCHAR2(1000)
38 INDEX BY BINARY_INTEGER;
39 TYPE Number_Array IS TABLE OF NUMBER
40 INDEX BY BINARY_INTEGER;
41 TYPE Boolean_Array IS TABLE OF BOOLEAN
42 INDEX BY BINARY_INTEGER;
43
44 TYPE MessageRec IS RECORD (
45 receipt_num INTEGER,
46 message_type VARCHAR2(10), -- ERROR/WARNING
47 message_text long := '',
48 field_id1 integer,
49 field_id2 integer,
50 field_id3 integer,
51 field_id4 integer,
52 field_id5 integer );
53
54 TYPE MessageArray IS TABLE OF MessageRec
55 INDEX BY BINARY_INTEGER;
56
57 TYPE expErrors IS RECORD (
58 text LONG,
59 type VARCHAR2(25), -- Constant: error, warning
60 field VARCHAR2(35) := '',
61 ind BINARY_INTEGER := 0);
62
63 TYPE expError IS TABLE OF expErrors
64 INDEX BY BINARY_INTEGER;
65
66 TYPE prompts_table IS table of varchar2(80)
67 index by binary_integer;
68
69
70 FUNCTION GetIsMobileApp RETURN NUMBER;
71 FUNCTION IsMobileApp RETURN BOOLEAN;
72
73 -- rlangi: Diagnostic Logging
74 PROCEDURE LogException(p_pkgname IN VARCHAR2,
75 p_message IN VARCHAR2);
76
77 PROCEDURE LogEvent(p_pkgname IN VARCHAR2,
78 p_message IN VARCHAR2);
79
80 PROCEDURE LogProcedure(p_pkgname IN VARCHAR2,
81 p_message IN VARCHAR2);
82
83 PROCEDURE LogStatement(p_pkgname IN VARCHAR2,
84 p_message IN VARCHAR2);
85
86 PROCEDURE AddExpError(p_errors IN OUT NOCOPY expError,
87 p_text IN VARCHAR2,
88 p_type IN VARCHAR2,
89 p_field IN VARCHAR2 DEFAULT NULL,
90 p_index IN BINARY_INTEGER DEFAULT 0,
91 p_MessageCategory IN VARCHAR2 DEFAULT C_OtherMessageCategory,
92 p_IsMobileApp IN BOOLEAN DEFAULT false);
93
94 PROCEDURE AddExpErrorNotEncoded(p_errors IN OUT NOCOPY expError,
95 p_text IN VARCHAR2,
96 p_type IN VARCHAR2,
97 p_field IN VARCHAR2 DEFAULT NULL,
98 p_index IN BINARY_INTEGER DEFAULT 0,
99 p_MessageCategory IN VARCHAR2 DEFAULT C_OtherMessageCategory);
100
101 -- chiho:1203036:expand the fields length:
102 TYPE RECEIPT_ERROR_REC IS RECORD
103 (
104 error_text MSG_TEXT_TYPE%TYPE := '',
105 error_fields MSG_FIELD_TYPE%TYPE := '',
106 warning_text MSG_TEXT_TYPE%TYPE := '',
107 warning_fields MSG_FIELD_TYPE%TYPE := ''
108 );
109
110 TYPE RECEIPT_ERROR_STACK IS TABLE OF RECEIPT_ERROR_REC
111 INDEX BY BINARY_INTEGER;
112
113
114 PROCEDURE DisplayException (P_ErrorText Long);
115
116 PROCEDURE GetEmployeeInfo(p_employee_name IN OUT NOCOPY VARCHAR2,
117 p_employee_num IN OUT NOCOPY VARCHAR2,
118 p_cost_center IN OUT NOCOPY VARCHAR2,
119 p_employee_id IN NUMBER);
120
121
122 PROCEDURE MakeArray;
123 PROCEDURE MoneyFormat;
124 PROCEDURE MoneyFormat2;
125 PROCEDURE SetReceiptWarningErrorMessage;
126
127
128
129 PROCEDURE JustifFlagElement;
130 PROCEDURE RetrieveJustifFlag;
131 PROCEDURE RetrieveJustifFlagIndex;
132 PROCEDURE CurrencyInfo;
133 PROCEDURE RetrieveCurrencyIndex;
134 PROCEDURE PopulateCurrencyArray;
135 FUNCTION NDaysInCalendar(p_cal_end_date IN DATE,
136 p_start_dow IN NUMBER) RETURN NUMBER;
137 PROCEDURE GoBack;
138 PROCEDURE CancelExpenseReport;
139 PROCEDURE ExitExpenseReport;
140 PROCEDURE GetUserAgent(p_user_agent IN OUT NOCOPY VARCHAR2);
141 PROCEDURE DisplayHelp(v_defHlp IN VARCHAR2);
142 PROCEDURE OverrideRequired(p_apprReqCC IN varchar2,
143 p_overrideReq IN varchar2);
144
145 PROCEDURE PrepArg(p_arg in out nocopy long);
146 PROCEDURE DownloadHTML(P_FileName IN VARCHAR2);
147
148 FUNCTION ContainsErrorOrWarning(
149 P_MessageArray IN receipt_error_stack)
150 RETURN BOOLEAN;
151
152 FUNCTION ContainsError(
153 P_MessageArray IN receipt_error_stack)
154 RETURN BOOLEAN;
155
156 FUNCTION ContainsWarning(
157 P_MessageArray IN receipt_error_stack)
158 RETURN BOOLEAN;
159
160 FUNCTION ReceiptContainsError(
161 P_MessageArray IN receipt_error_stack,
162 P_ReceiptNumber IN INTEGER)
163 RETURN BOOLEAN;
164
165 FUNCTION ReceiptContainsWarning(
166 P_MessageArray IN receipt_error_stack,
167 P_ReceiptNumber IN INTEGER)
168 RETURN BOOLEAN;
169
170 FUNCTION NumOfReceiptWithError(
171 P_MessageArray IN receipt_error_stack)
172 RETURN NUMBER;
173
174 FUNCTION NumOfReceiptWithWarning(
175 P_MessageArray IN receipt_error_stack)
176 RETURN NUMBER;
177
178 FUNCTION NumOfValidReceipt(
179 P_MessageArray IN receipt_error_stack)
180 RETURN NUMBER;
181
182 PROCEDURE AddMessage(
183 P_MessageArray IN OUT NOCOPY receipt_error_stack,
184 P_ReceiptNum IN INTEGER,
185 P_MessageType IN VARCHAR2,
186 P_MessageText IN VARCHAR2,
187 P_Field1 IN VARCHAR2 DEFAULT NULL,
188 P_Field2 IN VARCHAR2 DEFAULT NULL,
189 P_Field3 IN VARCHAR2 DEFAULT NULL,
190 P_Field4 IN VARCHAR2 DEFAULT NULL,
191 P_Field5 IN VARCHAR2 DEFAULT NULL);
192
193 PROCEDURE MergeErrorStacks(p_ReceiptNum IN INTEGER,
194 P_Src1ReceiptStack IN
195 receipt_error_stack,
196 P_Src2ReceiptStack IN
197 receipt_error_stack,
198 P_TargetReceiptStack IN OUT
199 receipt_error_stack);
200
201 PROCEDURE MergeErrors(P_ExpErrors IN expError,
202 P_TargetReceiptStack IN OUT NOCOPY receipt_error_stack);
203
204 PROCEDURE MergeExpErrors(P_Src1 IN OUT NOCOPY expError,
205 P_Src2 IN expError);
206
207 PROCEDURE PrintMessages(P_SrcReceiptStack IN
208 receipt_error_stack);
209
210 PROCEDURE InitMessages(P_NumOfReceipts IN INTEGER,
211 P_SrcReceiptStack OUT
212 receipt_error_stack);
213
214 FUNCTION FieldContainsError(
215 P_MessageArray IN receipt_error_stack,
216 P_ReceiptNumber IN INTEGER,
217 P_FieldNumber IN VARCHAR2)
218 RETURN BOOLEAN;
219
220 PROCEDURE ClearMessages(
221 P_TargetReceiptStack OUT NOCOPY receipt_error_stack);
222
223 PROCEDURE CopyMessages(
224 P_SrcReceiptStack IN receipt_error_stack,
225 P_TargetReceiptStack IN OUT NOCOPY receipt_error_stack);
226
227 PROCEDURE ArrayifyText(P_ErrorText IN LONG,
228 P_ErrorTextArray OUT NOCOPY LongString_Array);
229
230 PROCEDURE ArrayifyErrorText(P_ReceiptErrors IN receipt_error_stack,
231 P_ReceiptNum IN INTEGER,
232 P_ErrorTextArray OUT NOCOPY LongString_Array);
233
234 PROCEDURE ArrayifyWarningText(P_ReceiptErrors IN receipt_error_stack,
235 P_ReceiptNum IN INTEGER,
236 P_ErrorTextArray OUT NOCOPY LongString_Array);
237
238 PROCEDURE ArrayifyErrorFields(P_ReceiptErrors IN receipt_error_stack,
239 P_ReceiptNum IN INTEGER,
240 P_ErrorFieldArray OUT NOCOPY Number_Array);
241
242 PROCEDURE ArrayifyWarningFields(P_ReceiptErrors IN receipt_error_stack,
243 P_ReceiptNum IN INTEGER,
244 P_ErrorFieldArray OUT NOCOPY Number_Array);
245
246 PROCEDURE ConvertDate;
247
248 PROCEDURE DetermineConversion;
249
250
251 FUNCTION getEuroCode RETURN VARCHAR2;
252
253 /*------------------------------------------------------------+
254 Fix 1435885 : To prevent pcard packages from getting
255 Invalid. These functions are not used by SSE.
256 Functions include IsNum, DisplayHelp, GenericButton,
257 GenToolBarScript, GenToolBar, GenButton, StyleSheet
258 +-------------------------------------------------------------*/
259
260 PROCEDURE IsNum;
261
262 PROCEDURE DisplayHelp;
263
264 PROCEDURE GenToolbarScript;
265
266 PROCEDURE GenToolbar(p_title VARCHAR2,
267 p_print_frame VARCHAR2,
268 p_save_flag BOOLEAN,
269 p_save_disabled_flag BOOLEAN,
270 p_save_call VARCHAR2 DEFAULT NULL);
271
272 PROCEDURE GenButton(P_Button_Text varchar2,
273 P_OnMouseOverText varchar2,
274 P_HyperTextCall varchar2);
275
276 PROCEDURE StyleSheet;
277
278 FUNCTION RtrimMultiByteSpaces(p_input_string IN varchar2) RETURN VARCHAR2;
279
280 FUNCTION GetDistanceDisplayValue(p_value IN NUMBER,
281 p_format IN VARCHAR2) RETURN NUMBER;
282
283 FUNCTION VALUE_SPECIFIC(p_name IN VARCHAR2,
284 p_user_id IN NUMBER default null,
285 p_resp_id IN NUMBER default null,
286 p_apps_id IN NUMBER default null) RETURN VARCHAR2;
287
288 FUNCTION getMinipackVersion RETURN VARCHAR2;
289
290 /*
291 Written by:
292 Maulik Vadera
293 Purpose:
294 To get the override approver name, when profile option,
295 IE:Approver Required = "Yes with Default" and approver name is not provided
296 in the upload SpreadSheet data.
297 Fix for bug 3786831
298 Input:
299 p_EmpId: Employee Id of the employee
300 Output:
301 Override approver Id for that Employee Id
302 Override approver name for that Employee Id
303 Date:
304 21-Mar-2005
305 */
306
307 PROCEDURE GetOverrideApproverDetail(p_EmpId IN NUMBER,
308 p_appreq IN VARCHAR2,
309 p_ApproverId OUT NOCOPY HR_EMPLOYEES.employee_num%TYPE,
310 p_OverrideApproverName OUT NOCOPY HR_EMPLOYEES.full_name%TYPE);
311
312
313
314 PROCEDURE ExpenseSetOrgContext(p_report_header_id IN NUMBER);
315
316
317 /*=======================================================================
318 | PUBLIC FUNCITON: OrgSecurity
319 |
320 | DESCRIPTION: This function will return the security predicate
321 | for expense report templates and expense types table.
322 | It ensures that the seeded template and expense types
323 | with org_id = -99 are also picked up when querying
324 | the secured synonym
325 |
326 | PARAMETERS
327 | obj_schema IN VARCHAR2 Object Schema
328 | obj_name IN VARCHAR2 Object Name
329 |
330 | RETURNS
331 | Where clause to be appended to the object.
332 *=======================================================================*/
333 FUNCTION OrgSecurity ( obj_schema VARCHAR2,
337 p_invoice_id AP_INVOICES_ALL.invoice_id%TYPE
334 obj_name VARCHAR2) RETURN VARCHAR2;
335
336 PROCEDURE UpdateExpenseStatusCode(
338 );
339
340 /*--------------------------------------------------+
341 Fix for bug 5586280 Do not pad the cost center if it
342 contains any character or special character including
343 a period
344 +--------------------------------------------------*/
345
346 FUNCTION ContainsChars(p_element IN VARCHAR2) RETURN BOOLEAN;
347
348 END AP_WEB_UTILITIES_PKG;