1 package FND_LOG_REPOSITORY as
2 /* $Header: AFUTLGRS.pls 120.3 2006/09/18 14:21:03 pferguso ship $ */
3
4 /* Converted date from string for Metrics
5 */
6 G_METRIC_DATE DATE;
7
8
9 /*
10 ** Determines whether logging is enabled or disabled for this module
11 ** and level.
12 */
13 function CHECK_ACCESS_INTERNAL(MODULE_IN IN VARCHAR2,
14 LEVEL_IN IN NUMBER) return BOOLEAN;
15
16 /*
17 ** Writes the message to the log file for the spec'd level and module
18 ** without checking if logging is enabled at this level. This
19 ** routine is only to be called from the AOL implementations of
20 ** the AFLOG interface, in languages like JAVA or C.
21 ** If the SESSION_ID and/or USER_ID is not passed, it defaults to the
22 ** value that was passed upon INIT.
23 */
24 PROCEDURE STRING_UNCHECKED_INTERNAL(LOG_LEVEL IN NUMBER,
25 MODULE IN VARCHAR2,
26 MESSAGE_TEXT IN VARCHAR2,
27 SESSION_ID IN NUMBER DEFAULT NULL,
28 USER_ID IN NUMBER DEFAULT NULL,
29 CALL_STACK IN VARCHAR2 DEFAULT NULL,
30 ERR_STACK IN VARCHAR2 DEFAULT NULL);
31
32 /*
33 ** Gathers context information within the same session, then
34 ** calls the private, autonmous procedure METRIC_INTERNAL,
35 ** passing context information to be logged in AFLOG tables
36 **
37 ** A wrapper API that calls Metric_Internal using the
38 ** context values from internal cache of the context values.
39 ** This routine is only to be called from the AOL implementations of
40 ** the AFLOG interface, in languages like JAVA or C.
41 ** If the SESSION_ID is not passed, it defaults to the value that
42 ** was passed upon INIT.
43 */
44 PROCEDURE METRIC_INTERNAL_WITH_CONTEXT(MODULE IN VARCHAR2,
45 METRIC_CODE IN VARCHAR2,
46 METRIC_VALUE_STRING IN VARCHAR2 DEFAULT NULL,
47 METRIC_VALUE_NUMBER IN NUMBER DEFAULT NULL,
48 METRIC_VALUE_DATE IN DATE DEFAULT NULL,
49 SESSION_ID IN NUMBER DEFAULT NULL,
50 NODE IN VARCHAR2 DEFAULT NULL,
51 NODE_IP_ADDRESS IN VARCHAR2 DEFAULT NULL,
52 PROCESS_ID IN VARCHAR2 DEFAULT NULL,
53 JVM_ID IN VARCHAR2 DEFAULT NULL,
54 THREAD_ID IN VARCHAR2 DEFAULT NULL,
55 AUDSID IN NUMBER DEFAULT NULL,
56 DB_INSTANCE IN NUMBER DEFAULT NULL);
57
58 /*
59 ** FND_LOG_REPOSITORY.METRICS_EVENT_INT_WITH_CONTEXT
60 ** Description:
61 ** A wrapper API that calls Metrics_Event_Internal using the
62 ** context values from internal cache of the context values.
63 ** This routine is only to be called from the AOL implementations of
64 ** the AFLOG interface, in languages like JAVA or C.
65 **
66 ** Arguments:
67 ** CONTEXT_ID - Context id to post metrics for
68 ** Pass NULL to use the current context
69 */
70 PROCEDURE METRICS_EVENT_INT_WITH_CONTEXT(CONTEXT_ID IN NUMBER DEFAULT NULL);
71
72 /*
73 ** Gathers context information within the same session, then
74 ** calls the private, autonmous procedure STRING_UNCHECKED_INTERNAL2,
75 ** passing context information to be logged in AFLOG tables
76 **
77 ** A wrapper API that calls String_Unchecked_Internal2 using the
78 ** context values from internal cache of the context values.
79 ** This routine is only to be called from the AOL implementations of
80 ** the AFLOG interface, in languages like JAVA or C.
81 ** If the SESSION_ID and/or USER_ID is not passed, it defaults to the
82 ** value that was passed upon INIT.
83 **
84 ** Note: Call FUNCTION STR_UNCHKED_INT_WITH_CONTEXT(..) instead
85 */
86 PROCEDURE STR_UNCHKED_INT_WITH_CONTEXT(LOG_LEVEL IN NUMBER,
87 MODULE IN VARCHAR2,
88 MESSAGE_TEXT IN VARCHAR2,
89 ENCODED IN VARCHAR2 DEFAULT 'N',
90 SESSION_ID IN NUMBER DEFAULT NULL,
91 USER_ID IN NUMBER DEFAULT NULL,
92 NODE IN VARCHAR2 DEFAULT NULL,
93 NODE_IP_ADDRESS IN VARCHAR2 DEFAULT NULL,
94 PROCESS_ID IN VARCHAR2 DEFAULT NULL,
95 JVM_ID IN VARCHAR2 DEFAULT NULL,
96 THREAD_ID IN VARCHAR2 DEFAULT NULL,
97 AUDSID IN NUMBER DEFAULT NULL,
98 DB_INSTANCE IN NUMBER DEFAULT NULL,
99 CALL_STACK IN VARCHAR2 DEFAULT NULL,
100 ERR_STACK IN VARCHAR2 DEFAULT NULL);
101
102 /*
103 ** Same as STR_UNCHKED_INT_WITH_CONTEXT, but also returns LOG_SEQUENCE
104 */
105 FUNCTION STR_UNCHKED_INT_WITH_CONTEXT(LOG_LEVEL IN NUMBER,
106 MODULE IN VARCHAR2,
107 MESSAGE_TEXT IN VARCHAR2,
108 ENCODED IN VARCHAR2 DEFAULT 'N',
109 SESSION_ID IN NUMBER DEFAULT NULL,
110 USER_ID IN NUMBER DEFAULT NULL,
111 NODE IN VARCHAR2 DEFAULT NULL,
112 NODE_IP_ADDRESS IN VARCHAR2 DEFAULT NULL,
113 PROCESS_ID IN VARCHAR2 DEFAULT NULL,
114 JVM_ID IN VARCHAR2 DEFAULT NULL,
115 THREAD_ID IN VARCHAR2 DEFAULT NULL,
116 AUDSID IN NUMBER DEFAULT NULL,
117 DB_INSTANCE IN NUMBER DEFAULT NULL,
118 CALL_STACK IN VARCHAR2 DEFAULT NULL,
119 ERR_STACK IN VARCHAR2 DEFAULT NULL) RETURN NUMBER;
120
121 /*
122 ** For Internal AOL/J Use Only.
123 */
124 PROCEDURE INSERT_BLOB(P_LOG_SEQUENCE IN NUMBER, PCHARSET IN VARCHAR2,
125 PMIMETYPE IN VARCHAR2, PENCODING IN VARCHAR2, PLANG IN VARCHAR2,
126 PFILE_EXTN IN VARCHAR2, PDESC IN VARCHAR2);
127
128 /*
129 ** For Internal AOL/J Use Only.
130 ** Get the BLOB (for Attachments) corresponding to the P_LOG_SEQUENCE
131 */
132 PROCEDURE GET_BLOB_INTERNAL(P_LOG_SEQUENCE IN NUMBER,
133 LOG_BLOB OUT NOCOPY BLOB,
134 P_CHARSET IN VARCHAR2 DEFAULT 'ascii',
135 P_MIMETYPE IN VARCHAR2 DEFAULT 'text/html',
136 P_ENCODING IN VARCHAR2 DEFAULT NULL,
137 P_LANG IN VARCHAR2 DEFAULT NULL,
138 P_FILE_EXTN IN VARCHAR2 DEFAULT 'txt',
139 P_DESC IN VARCHAR2 DEFAULT NULL);
140
141 /*
142 ** FND_LOG_REPOSITORY.INIT_TRANS_INT_WITH_CONTEXT
143 ** Description:
144 ** A wrapper API that calls Init_Transaction_Internal using the
145 ** context values from internal cache of the context values.
146 ** This routine is only to be called from the AOL implementations of
147 ** the AFLOG interface, in languages like JAVA or C.
148 ** If the SESSION_ID and/or USER_ID is not passed, it defaults to the
149 ** value that was passed upon INIT.
150 **
151 ** Initializes a log transaction. A log transaction
152 ** corresponds to an instance or invocation of a single
153 ** component. (e.g. A concurrent request, service process,
154 ** open form, ICX function)
155 **
156 ** This routine should be called only after
157 ** FND_GLOBAL.INITIALIZE, since some of the context information
158 ** is retrieved from FND_GLOBAL.
159 **
160 ** Arguments:
161 ** CONC_REQUEST_ID - Concurrent request id
162 ** FORM_ID - Form id
163 ** FORM_APPLICATION_ID - Form application id
164 ** CONCURRENT_PROCESS_ID - Service process id
165 ** CONCURRENT_QUEUE_ID - Service queue id
166 ** QUEUE_APPLICATION_ID - Service queue application id
167 **
168 ** Use only the arguments that apply to the caller.
169 ** Any argument that does not apply should be passed as NULL
170 ** i.e. when calling from a form, pass in FORM_ID and FORM_APPLICATION_ID
171 ** and leave all other parameters NULL.
172 **
173 ** Returns:
174 ** ID of the log transaction context
175 **
176 */
177 FUNCTION INIT_TRANS_INT_WITH_CONTEXT (CONC_REQUEST_ID IN NUMBER DEFAULT NULL,
178 FORM_ID IN NUMBER DEFAULT NULL,
179 FORM_APPLICATION_ID IN NUMBER DEFAULT NULL,
180 CONCURRENT_PROCESS_ID IN NUMBER DEFAULT NULL,
181 CONCURRENT_QUEUE_ID IN NUMBER DEFAULT NULL,
182 QUEUE_APPLICATION_ID IN NUMBER DEFAULT NULL,
183 SESSION_ID IN NUMBER DEFAULT NULL,
184 USER_ID IN NUMBER DEFAULT NULL,
185 RESP_APPL_ID IN NUMBER DEFAULT NULL,
186 RESPONSIBILITY_ID IN NUMBER DEFAULT NULL,
187 SECURITY_GROUP_ID IN NUMBER DEFAULT NULL)
188 return NUMBER;
189
190
191 /*
192 ** Internal- This routine initializes the logging system from the
193 ** profiles. AOL will normally call this routine to initialize the
194 ** system so the API consumer should not need to call it.
195 ** The SESSION_ID is a unique identifier (like the ICX_SESSION id)
196 ** The USER_ID is the name of the apps user.
197 */
198 PROCEDURE INIT(SESSION_ID IN NUMBER default NULL,
199 USER_ID IN NUMBER default NULL);
200
201
202 /*
203 ** Convert the string into date format, store in global variable
204 */
205 PROCEDURE METRIC_STRING_TO_DATE(DATE_VC IN VARCHAR2 DEFAULT NULL);
206
207 /**
208 * Private procedure called from AppsLog.java for Bulk logging messages
209 */
210 PROCEDURE GET_BULK_CONTEXT_PVT(
211 LOG_SEQUENCE_OUT OUT NOCOPY NUMBER,
212 TIMESTAMP_OUT OUT NOCOPY DATE,
213 DBSESSIONID_OUT OUT NOCOPY NUMBER,
214 DBINSTANCE_OUT OUT NOCOPY NUMBER,
215 TXN_ID_OUT OUT NOCOPY NUMBER
216 );
217
218 /**
219 * Private function called from AppsLog.java for Bulk logging messages
220 */
221 FUNCTION BULK_INSERT_PVT(MODULE_IN IN FND_TABLE_OF_VARCHAR2_255,
222 LOG_LEVEL_IN IN FND_TABLE_OF_NUMBER,
223 MESSAGE_TEXT_IN IN FND_TABLE_OF_VARCHAR2_4000,
224 SESSION_ID_IN IN FND_TABLE_OF_NUMBER,
225 USER_ID_IN IN FND_TABLE_OF_NUMBER,
226 TIMESTAMP_IN IN FND_TABLE_OF_DATE,
227 LOG_SEQUENCE_IN IN FND_TABLE_OF_NUMBER,
228 ENCODED_IN IN FND_TABLE_OF_VARCHAR2_1,
229 NODE_IN IN varchar2,
230 NODE_IP_ADDRESS_IN IN varchar2,
231 PROCESS_ID_IN IN varchar2,
232 JVM_ID_IN IN varchar2,
233 THREAD_ID_IN IN FND_TABLE_OF_VARCHAR2_120,
234 AUDSID_IN IN FND_TABLE_OF_NUMBER,
235 DB_INSTANCE_IN IN FND_TABLE_OF_NUMBER,
236 TRANSACTION_CONTEXT_ID_IN IN FND_TABLE_OF_NUMBER,
237 SIZE_IN IN NUMBER) RETURN NUMBER;
238
239 /**
240 * Procedure to enable PL/SQL Buffered Logging (for Batch Mode).
241 * Caller is responsible for calling RESET_BUFFERED_MODE
242 * Internally buffers messages in PL/SQL Collection for Bulk-Inserting.
243 */
244 PROCEDURE SET_BUFFERED_MODE;
245
246 /**
247 * Flushes any buffered messages, and switches back to the
248 * default synchronous (non-buffered) logging.
249 */
250 PROCEDURE RESET_BUFFERED_MODE;
251
252 /**
253 * Internal Only.
254 *
255 * API for setting a child context (for proxy alerting) for the given
256 * concurrent request ID.
257 *
258 * This API will first initialize the proxy context (i.e. the current
259 * transaction context) if not already initialized. It will then
260 * initialize the child transaction context for the given concurrent
261 * request ID if it has not been initialized already.
262 */
263 PROCEDURE SET_CHILD_CONTEXT_FOR_CONC_REQ (
264 p_request_id IN NUMBER );
265
266 /**
267 * Internal Only.
268 *
269 * This API clears the G_CHILD_TRANSACTION_CONTEXT_ID variable
270 * along with any other globals associated with the child
271 * context for proxy alerting.
272 */
273 PROCEDURE CLEAR_CHILD_CONTEXT;
274
275
276 end FND_LOG_REPOSITORY;