DBA Data[Home] [Help]

PACKAGE BODY: APPS.JL_CUSTOM_PUB

Source


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;