1 PACKAGE BODY JL_CUSTOM_PUB AS
2 /* $Header: jlcustpb.pls 120.1 2010/08/06 10:20:15 gkumares noship $ */
3
4 -- Global Constant variable for holding Package Name
5
6 G_PKG_NAME CONSTANT VARCHAR2(20):= 'JL_CUSTOM_PUB';
7
8 -- Declare VARRAY
9
10 TYPE token_array is table of varchar2(25) index by binary_integer;
11 TYPE value_for_token is table of varchar2(25) index by binary_integer;
12
13 -- Function REPLACE_TOKEN for replacing tokens with actual value
14
15 FUNCTION REPLACE_TOKEN( msg IN VARCHAR2,
16 tokens IN token_array,
17 tokenValues IN value_for_token) RETURN VARCHAR2 IS
18
19 message VARCHAR2(1000);
20
21 BEGIN
22 message := msg;
23 FOR iNtex IN tokens.FIRST .. tokens.LAST LOOP
24 message := replace(message,tokens(iNtex),tokenValues(iNtex));
25 END LOOP;
26
27 RETURN message;
28
29 END REPLACE_TOKEN;
30
31
32 PROCEDURE GET_OUR_NUMBER ( P_API_VERSION IN NUMBER DEFAULT 1.0,
33 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
34 P_DOCUMENT_ID IN NUMBER,
35 X_OUR_NUMBER OUT NOCOPY VARCHAR2,
36 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
37 X_MSG_DATA OUT NOCOPY VARCHAR2) IS
38
39 l_api_name VARCHAR2(30) := 'GET_OUR_NUMBER';
40 l_api_version NUMBER := 1.0;
41 incompatible_apiversion EXCEPTION;
42 invalid_apiversion EXCEPTION;
43
44 tok_arr token_array;
45 val_for_token value_for_token;
46
47 BEGIN
48
49 X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
50
51 -- Standard call to check for call compatibility
52
53 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version, P_API_VERSION, l_api_name, G_PKG_NAME) THEN
54 tok_arr(1) := '&'||'CURR_VER_NUM';
55 tok_arr(2) := '&'||'API_NAME';
56 tok_arr(3) := '&'||'PKG_NAME';
57 tok_arr(4) := '&'||'CALLER_VER_NUM';
58 val_for_token(1) := l_api_version;
59 val_for_token(2) := l_api_name;
60 val_for_token(3) := G_PKG_NAME;
61 val_for_token(4) := P_API_VERSION;
62
63 IF TRUNC(l_api_version) > TRUNC(P_API_VERSION) THEN
64 RAISE incompatible_apiversion;
65 ELSE
66 RAISE invalid_apiversion;
67 END IF;
68 END IF;
69
70 X_OUR_NUMBER := null;
71
72 --
73 -- How to use this hook to define specific "our number" to "boleto"
74 --
75 -- Define own logic for generating the "OUR NUMBER" information
76 -- Return following values
77 --
78 -- X_OUR_NUMBER : Return the number to be used in the document (in case of Itau the maximum digits is 8)
79 -- X_RETURN_STATUS: Return the process status
80 -- X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS; -- when success
81 -- X_RETURN_STATUS := FND_API.G_RET_STS_ERROR; -- when there is some error
82 -- X_MSG_DATA : Return a message when there is an error.
83 --
84 --
85 -- Custom code starts here
86
87
88
89 -- Custom Code ends here
90
91
92 EXCEPTION
93
94 WHEN invalid_apiversion THEN
95 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
96 X_MSG_DATA := FND_MESSAGE.GET_STRING('FND','FND_AS_INVALID_VER_NUM',NULL);
97 X_MSG_DATA := REPLACE_TOKEN(X_MSG_DATA,tok_arr,val_for_token);
98
99 WHEN incompatible_apiversion THEN
100 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
101 X_MSG_DATA := FND_MESSAGE.GET_STRING('FND','FND_AS_INCOMPATIBLE_API_CALL',NULL);
102 X_MSG_DATA := REPLACE_TOKEN(X_MSG_DATA,tok_arr,val_for_token);
103
104 WHEN OTHERS THEN
105 X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
106 END GET_OUR_NUMBER;
107
108 END JL_CUSTOM_PUB;