1 PACKAGE BODY PSB_HR_EXTRACT_PROCESS AS
2 /* $Header: PSBWHRXB.pls 115.6 2003/07/18 13:23:54 vbellur ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PSB_HR_EXTRACT_PROCESS';
5 g_dbug VARCHAR2(2000);
6
7 TYPE TokNameArray IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER;
8
9 -- TokValArray contains values for all tokens
10
11 TYPE TokValArray IS TABLE OF VARCHAR2(1000) INDEX BY BINARY_INTEGER;
12 -- Number of Message Tokens
13
14 no_msg_tokens NUMBER := 0;
15
16 -- Message Token Name
17
18 msg_tok_names TokNameArray;
19
20 -- Message Token Value
21
22 msg_tok_val TokValArray;
23
24 PROCEDURE message_token
25 ( tokname IN VARCHAR2,
26 tokval IN VARCHAR2
27 );
28
29 PROCEDURE add_message
30 (appname IN VARCHAR2,
31 msgname IN VARCHAR2);
32
33 /* ----------------------------------------------------------------------- */
34
35 -- Get Debug Information
36
37 -- This Module is used to retrieve Debug Information for this routine. It
38 -- prints Debug Information when run as a Batch Process from SQL*Plus. For
39 -- the Debug Information to be printed on the Screen, the SQL*Plus parameter
40 -- 'Serveroutput' should be set to 'ON'
41
42 FUNCTION get_debug RETURN VARCHAR2 AS
43
44 BEGIN
45
46 return(g_dbug);
47
48 END get_debug;
49
50 /* ----------------------------------------------------------------------- */
51 -- Add Token and Value to the Message Token array
52
53 PROCEDURE message_token(tokname IN VARCHAR2,
54 tokval IN VARCHAR2) AS
55
56 BEGIN
57
58 if no_msg_tokens is null then
59 no_msg_tokens := 1;
60 else
61 no_msg_tokens := no_msg_tokens + 1;
62 end if;
63
64 msg_tok_names(no_msg_tokens) := tokname;
65 msg_tok_val(no_msg_tokens) := tokval;
66
67 END message_token;
68
69 /* ----------------------------------------------------------------------- */
70
71 -- Define a Message Token with a Value and set the Message Name
72
73 -- Calls FND_MESSAGE server package to set the Message Stack. This message is
74 -- retrieved by the calling program.
75
76 PROCEDURE add_message(appname IN VARCHAR2,
77 msgname IN VARCHAR2) AS
78
79 i BINARY_INTEGER;
80
81 BEGIN
82
83 if ((appname is not null) and
84 (msgname is not null)) then
85
86 FND_MESSAGE.SET_NAME(appname, msgname);
87
88 if no_msg_tokens is not null then
89
90 for i in 1..no_msg_tokens loop
91 FND_MESSAGE.SET_TOKEN(msg_tok_names(i), msg_tok_val(i));
92 end loop;
93
94 end if;
95
96 FND_MSG_PUB.Add;
97
98 end if;
99
100 -- Clear Message Token stack
101
102 no_msg_tokens := 0;
103
104 END add_message;
105
106 END PSB_HR_EXTRACT_PROCESS;