1 PACKAGE okc_code_hook AUTHID CURRENT_USER AS
2 /* $Header: OKCCCHKS.pls 120.12 2011/08/08 10:03:56 vechittu noship $ */
3
4 /* PROCEDURE
5 GET_MULTIVAL_UDV_FOR_XPRT This routine is used to get the multiple values for variables in expert.
6
7 INPUT PARAMETERS
8
9 p_doc_type Document Type of Contract(eg: PO_STANDARD)
10 p_doc_id Document_id of contract.
11
12
13 RETURN VALUE
14 x_return_status OUT NOCOPY VARCHAR2,
15 x_msg_count OUT NOCOPY NUMBER,
16 x_msg_data OUT NOCOPY VARCHAR2,
17 x_udf_var_tbl_value table which return variable-code and variable value of every variable. If multi values are to be returned for
18
19 */
20 PROCEDURE GET_MULTIVAL_UDV_FOR_XPRT
21 ( p_api_version IN NUMBER,
22 p_init_msg_list IN VARCHAR2,
23 p_doc_type IN VARCHAR2,
24 p_doc_id IN NUMBER,
25 p_udf_var_code IN VARCHAR2,
26 x_return_status OUT NOCOPY VARCHAR2,
27 x_msg_count OUT NOCOPY NUMBER,
28 x_msg_data OUT NOCOPY VARCHAR2,
29 x_cust_udf_var_mul_val_tbl OUT NOCOPY OKC_XPRT_XRULE_VALUES_PVT.udf_var_value_tbl_type,
30 x_hook_used OUT NOCOPY NUMBER
31 );
32
33
34 /* PROCEDURE
35 GET_XPRT_CLAUSE_ORDER This routine is used to get the column on which the clauses have to be ordered after the Contract Expert is run
36
37 INPUT PARAMETERS
38
39 None
40
41
42 RETURN VALUE
43 x_return_status OUT NOCOPY VARCHAR2,
44 x_msg_count OUT NOCOPY NUMBER,
45 x_msg_data OUT NOCOPY VARCHAR2,
46 x_order_by_column Column on which the clauses have to be ordered
47
48
49 */
50 PROCEDURE GET_XPRT_CLAUSE_ORDER
51 ( x_return_status IN OUT NOCOPY VARCHAR2,
52 x_msg_count OUT NOCOPY NUMBER,
53 x_msg_data OUT NOCOPY VARCHAR2,
54 x_order_by_column OUT NOCOPY VARCHAR2,
55 x_hook_used OUT NOCOPY NUMBER
56 );
57
58
59 /* FUNCTION
60 IS_NOT_PROVISIONAL_SECTION This routine is used to find out if a section is a provisional section or not
61 If it returns true, then it is not a provisional section.
62 Or else, it is a provisional section
63 INPUT PARAMETERS
64
65 None
66
67
68 RETURN VALUE
69 p_section_heading IN VARCHAR2, Section that has to be checked if it is a provisional section or not
70 */
71
72
73 FUNCTION IS_NOT_PROVISIONAL_SECTION
74 ( p_section_heading IN VARCHAR2
75 ) RETURN VARCHAR2;
76
77 /* FUNCTION
78 IS_NEW_KFF_ITEM_SEG_ENABLED This routine is used to decide on whether the new Item KFF segment setup should be considered during Contract Expert rule execution.
79 INPUT PARAMETERS
80 None
81
82 RETURN VALUE
83 BOOLEAN : TRUE if the new item seg setup is enabled, FALSE otherwise
84 */
85
86
87 FUNCTION IS_NEW_KFF_ITEM_SEG_ENABLED
88 RETURN BOOLEAN;
89
90
91 /*
92 * Enable this procedure when you are using Mandatory and RWA columns on Rule Outcomes
93 * and you want these flags to be synced with the document.
94 *
95 * Added by serukull
96 *
97 */
98
99 PROCEDURE sync_rwa_with_document
100 (p_api_version IN NUMBER,
101 p_init_msg_list IN VARCHAR2,
102 p_doc_type IN VARCHAR2,
103 p_doc_id IN NUMBER,
104 p_article_id_tbl IN okc_terms_multirec_grp.article_id_tbl_type,
105 x_return_status IN OUT NOCOPY VARCHAR2,
106 x_msg_count OUT NOCOPY NUMBER,
107 x_msg_data OUT NOCOPY VARCHAR2
108 );
109
110
111 type l_qa_errors_table is table of OKC_QA_ERRORS_T%ROWTYPE INDEX BY BINARY_INTEGER;
112
113
114 /*
115 * Enable this procedure if custom QA checks has to be added for the Contract Expert Rules Activation
116 * Parameters : INPUT : p_rule_id - Rule corresponding to which the QA check will be run
117 * p_sequence_id - for future use. No significant need of using this parameter as of now
118 * OUTPUT: x_hook_used - 0 - not used
119 * 1 - used
120 * x_qa_errors_tbl - This table should be populated with the QA check message details.
121 * More than one QA check can be written in this package and in this case, one row has to be entered in this table for each QA check message.
122 */
123
124
125 PROCEDURE rules_qa_check
126 (
127 p_rule_id IN NUMBER,
128 p_sequence_id IN NUMBER,
129 x_hook_used OUT NOCOPY NUMBER,
130 x_qa_errors_tbl OUT NOCOPY l_qa_errors_table,
131 x_return_status OUT NOCOPY VARCHAR2,
132 x_msg_count OUT NOCOPY NUMBER,
133 x_msg_data OUT NOCOPY VARCHAR2
134 );
135
136 TYPE cont_art_sort IS RECORD (
137 id OKC_K_ARTICLES_B.id%type,
138 scn_id OKC_K_ARTICLES_B.scn_id%type
139 );
140
141 TYPE cont_art_sort_tbl IS TABLE OF cont_art_sort;
142
143 PROCEDURE sort_clauses(
144 p_doc_type IN VARCHAR2,
145 p_doc_id IN NUMBER,
146 x_return_status OUT NOCOPY VARCHAR2,
147 x_msg_count OUT NOCOPY NUMBER,
148 x_msg_data OUT NOCOPY VARCHAR2,
149 x_cont_art_tbl OUT NOCOPY cont_art_sort_tbl
150 );
151
152
153 END okc_code_hook;
154