1 PACKAGE OKL_EXECUTE_FORMULA_PUB AUTHID CURRENT_USER AS
2 /* $Header: OKLPFMLS.pls 120.4 2008/02/29 10:53:31 asawanka ship $ */
3 /*#
4 * Execute Formula API validates and executes the formula using the parameters
5 * and returns the value.
6 * @rep:scope public
7 * @rep:product OKL
8 * @rep:displayname Execute Formula API
9 * @rep:category BUSINESS_ENTITY OKL_EXECUTE_FORMULA
10 * @rep:lifecycle active
11 * @rep:compatibility S
12 */
13
14
15 ---------------------------------------------------------------------------
16 -- GLOBAL VARIABLES
17 ---------------------------------------------------------------------------
18 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXPECTED_ERROR';
19 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'OKL_SQLERRM';
20 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'OKL_SQLCODE';
21
22 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
23 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OKL_EXECUTE_FORMULA_PUB';
24 -- Type Declarations
25
26 SUBTYPE operand_val_tbl_type IS okl_execute_formula_pvt.operand_val_tbl_type;
27 SUBTYPE ctxt_val_tbl_type IS okl_execute_formula_pvt.ctxt_val_tbl_type;
28 SUBTYPE ctxt_parameter_tbl_type IS okl_formulaevaluate_pub.ctxparameter_tbl;
29
30
31
32 G_ADDITIONAL_PARAMETERS ctxt_val_tbl_type;
33 G_ADDITIONAL_PARAMETERS_NULL ctxt_val_tbl_type;
34
35
36 /*#
37 * Execute formula for a lease contract.
38 * @param P_API_VERSION api version
39 * @param P_INIT_MSG_LIST initialize message stack
40 * @param X_RETURN_STATUS return status from the api
41 * @param X_MSG_COUNT Message count if error messages are encountered
42 * @param X_MSG_DATA Message date error message
43 * @param P_FORMULA_NAME Name of the formula to be executed
44 * @param P_CONTRACT_ID Contract identifier
45 * @param P_LINE_ID Contract line identifier
46 * @param P_ADDITIONAL_PARAMETERS Additional parameters required to
47 * execute the formula
48 * @param X_VALUE VALUE RETURNED BY THE FORMULA
49 * @rep:displayname EXECUTE FORMULA
50 * @rep:scope public
51 * @rep:lifecycle active
52 * @rep:category BUSINESS_ENTITY OKL_CONTRACT_LIFECYCLE
53 */
54 PROCEDURE execute(p_api_version IN NUMBER
55 ,p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE
56 ,x_return_status OUT NOCOPY VARCHAR2
57 ,x_msg_count OUT NOCOPY NUMBER
58 ,x_msg_data OUT NOCOPY VARCHAR2
59 ,p_formula_name IN okl_formulae_v.name%TYPE
60 ,p_contract_id IN okl_k_headers_v.id%TYPE
61 ,p_line_id IN okl_k_lines_v.id%TYPE DEFAULT NULL
62 ,p_additional_parameters IN ctxt_val_tbl_type DEFAULT g_additional_parameters_null
63 ,x_value OUT NOCOPY NUMBER
64 );
65
66 /*#
67 * Execute formula for a Lease contract.
68 * @param p_api_version API Version
69 * @param p_init_msg_list Initialize the Message Stack
70 * @param x_return_status Return Status from the API
71 * @param x_msg_count Message Count if Error messages are encountered.
72 * @param x_msg_data Message Date Error Message
73 * @param p_formula_name Name of the formula to be executed
74 * @param p_contract_id Contract Identifier
75 * @param p_line_id Contract Line Identifier
76 * @param p_additional_parameters Any additional parameters required
77 * to execute the formula
78 * @param x_operand_val_tbl Value of operands returned by the formula
79 * @param x_value Value returned by the formula
80 * @rep:displayname Execute Formula
81 * @rep:scope public
82 * @rep:lifecycle active
83 * @rep:category BUSINESS_ENTITY OKL_CONTRACT_LIFECYCLE
84 */
85 PROCEDURE execute(p_api_version IN NUMBER
86 ,p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE
87 ,x_return_status OUT NOCOPY VARCHAR2
88 ,x_msg_count OUT NOCOPY NUMBER
89 ,x_msg_data OUT NOCOPY VARCHAR2
90 ,p_formula_name IN okl_formulae_v.name%TYPE
91 ,p_contract_id IN okl_k_headers_v.id%TYPE
92 ,p_line_id IN okl_k_lines_v.id%TYPE DEFAULT NULL
93 ,p_additional_parameters IN ctxt_val_tbl_type DEFAULT g_additional_parameters_null
94 ,x_operand_val_tbl OUT NOCOPY operand_val_tbl_type
95 ,x_value OUT NOCOPY NUMBER
96 );
97
98
99 END OKL_EXECUTE_FORMULA_PUB;