1 PACKAGE csi_t_txn_details_grp AS
2 /* $Header: csigttxs.pls 120.3 2005/09/27 23:12:06 sumathur noship $ */
3
4
5 /*
6 This function checks for the existence of a transaction details
7 record in the database . The key to identify the txn line record is
8 transaction_source_table, transaction_source_id.
9 Returns a 'Y' or 'N'
10 */
11
12 FUNCTION check_txn_details_exist(
13 p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec)
14 RETURN Boolean ;
15
16 /*
17 For a given transaction line record,this API gets all the transaction
18 line details and also the specified set of child records for each of
19 these line details. This API also returns , if specified, all the Extended Attributes
20 defined for the Item and Level and the CSI extended attribute values
21 if there is an instance referenced on the transaction line detail
22 */
23
24 PROCEDURE get_transaction_details(
25 p_api_version IN NUMBER,
26 p_commit IN VARCHAR2 := fnd_api.g_false,
27 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
28 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
29 p_txn_line_query_rec IN csi_t_datastructures_grp.txn_line_query_rec ,
30 p_txn_line_detail_query_rec IN csi_t_datastructures_grp.txn_line_detail_query_rec ,
31 x_txn_line_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl ,
32 p_get_parties_flag IN VARCHAR2 := fnd_api.g_false,
33 x_txn_party_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
34 p_get_pty_accts_flag IN VARCHAR2 := fnd_api.g_false,
35 x_txn_pty_acct_detail_tbl OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
36 p_get_ii_rltns_flag IN VARCHAR2 := fnd_api.g_false,
37 x_txn_ii_rltns_tbl OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
38 p_get_org_assgns_flag IN VARCHAR2 := fnd_api.g_false,
39 x_txn_org_assgn_tbl OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
40 p_get_ext_attrib_vals_flag IN VARCHAR2 := fnd_api.g_false,
41 x_txn_ext_attrib_vals_tbl OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
42 p_get_csi_attribs_flag IN VARCHAR2 := fnd_api.g_false,
43 x_csi_ext_attribs_tbl OUT NOCOPY csi_t_datastructures_grp.csi_ext_attribs_tbl,
44 p_get_csi_iea_values_flag IN VARCHAR2 := fnd_api.g_false,
45 x_csi_iea_values_tbl OUT NOCOPY csi_t_datastructures_grp.csi_ext_attrib_vals_tbl,
46 p_get_txn_systems_flag IN VARCHAR2 := fnd_api.g_false,
47 x_txn_systems_tbl OUT NOCOPY csi_t_datastructures_grp.txn_systems_tbl,
48 x_return_status OUT NOCOPY VARCHAR2,
49 x_msg_count OUT NOCOPY NUMBER ,
50 x_msg_data OUT NOCOPY VARCHAR2);
51
52 /*
53 This API creates new transaction line details, party and party account associations,
54 configuration details, org assignments and extended attributes for
55 a transaction line
56 */
57 PROCEDURE create_transaction_dtls(
58 p_api_version IN NUMBER,
59 p_commit IN VARCHAR2 := fnd_api.g_false,
60 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
61 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
62 px_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec ,
63 px_txn_line_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
64 px_txn_party_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl ,
65 px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
66 px_txn_ii_rltns_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
67 px_txn_org_assgn_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
68 px_txn_ext_attrib_vals_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
69 px_txn_systems_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_systems_tbl,
70 x_return_status OUT NOCOPY VARCHAR2,
71 x_msg_count OUT NOCOPY NUMBER,
72 x_msg_data OUT NOCOPY VARCHAR2);
73
74 /*
75 This API is used to update the transaction line details. If the update results in a cascading effect
76 to any/all of it's child entities then those records may/may not be deleted (depending on the value
77 for the preserve_detail_flag for them) but a new set of child records can also be passed to be created
78 and linked to the transaction line detail. This API allows creates only on the child entities for the Line
79 details whereas the Line details itself can only be an update
80 */
81 PROCEDURE update_txn_line_dtls
82 (
83 p_api_version IN NUMBER
84 ,p_commit IN VARCHAR2 := fnd_api.g_false
85 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
86 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
87 ,p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec
88 ,p_txn_line_detail_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl
89 ,px_txn_ii_rltns_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl
90 ,px_txn_party_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl
91 ,px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl
92 ,px_txn_org_assgn_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl
93 ,px_txn_ext_attrib_vals_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl
94 ,x_return_status OUT NOCOPY VARCHAR2
95 ,x_msg_count OUT NOCOPY NUMBER
96 ,x_msg_data OUT NOCOPY VARCHAR2
97 );
98
99 /*
100 This API deletes all the transaction details incl. all it's children for the
101 given transaction line id. If selective child records need to be deleted then the users should call
102 the individual delete API's provided
103 */
104 PROCEDURE delete_transaction_dtls
105 (
106 p_api_version IN NUMBER
107 ,p_commit IN VARCHAR2 := fnd_api.g_false
108 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
109 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
110 ,p_transaction_line_id IN NUMBER
111 ,p_api_caller_identity IN VARCHAR2 DEFAULT 'OTHER'
112 ,x_return_status OUT NOCOPY VARCHAR2
113 ,x_msg_count OUT NOCOPY NUMBER
114 ,x_msg_data OUT NOCOPY VARCHAR2
115 );
116
117 PROCEDURE copy_transaction_dtls(
118 p_api_version IN NUMBER,
119 p_commit IN VARCHAR2 := fnd_api.g_false,
120 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
121 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
122 p_src_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec,
123 px_new_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
124 p_copy_parties_flag IN varchar2 := fnd_api.g_true,
125 p_copy_pty_accts_flag IN varchar2 := fnd_api.g_true,
126 p_copy_ii_rltns_flag IN varchar2 := fnd_api.g_true,
127 p_copy_org_assgn_flag IN varchar2 := fnd_api.g_true,
128 p_copy_ext_attribs_flag IN varchar2 := fnd_api.g_true,
129 p_copy_txn_systems_flag IN varchar2 := fnd_api.g_true,
130 x_return_status OUT NOCOPY VARCHAR2,
131 x_msg_count OUT NOCOPY NUMBER,
132 x_msg_data OUT NOCOPY VARCHAR2);
133
134
135 /*
136 This API is used to Manage the transaction details. It accepts a create as well as a delete on the
137 transaction line details entity. This API inturn invokes existing Create, Update and Delete txn details
138 APIs and the underlying business logic does not change - so if the update results in a cascading effect
139 to any/all of it's child entities then those records may/may not be deleted (depending on the value
140 for the preserve_detail_flag for them) but a new set of child records can also be passed to be created/updated
141 transaction line detail.
142 Currently it's usage may be limited to Mass Update as the source but we can enhance it for others like Configurator
143 */
144
145 PROCEDURE update_transaction_dtls
146 (
147 p_api_version IN NUMBER
148 ,p_commit IN VARCHAR2 := fnd_api.g_false
149 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
150 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
151 ,p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec
152 ,px_txn_line_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl
153 ,px_txn_ii_rltns_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl
154 ,px_txn_party_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl
155 ,px_txn_pty_acct_detail_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl
156 ,px_txn_org_assgn_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl
157 ,px_txn_ext_attrib_vals_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl
158 ,x_return_status OUT NOCOPY VARCHAR2
159 ,x_msg_count OUT NOCOPY NUMBER
160 ,x_msg_data OUT NOCOPY VARCHAR2
161 );
162
163 PROCEDURE split_transaction_details(
164 p_api_version IN NUMBER,
165 p_commit IN VARCHAR2 := fnd_api.g_false,
166 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
167 p_validation_level IN NUMBER := fnd_api.g_valid_level_full,
168 p_src_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec,
169 px_split_txn_line_rec IN OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
170 px_line_dtl_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_tbl,
171 x_pty_dtl_tbl OUT NOCOPY csi_t_datastructures_grp.txn_party_detail_tbl,
172 x_pty_acct_tbl OUT NOCOPY csi_t_datastructures_grp.txn_pty_acct_detail_tbl,
173 x_org_assgn_tbl OUT NOCOPY csi_t_datastructures_grp.txn_org_assgn_tbl,
174 x_txn_ext_attrib_vals_tbl OUT NOCOPY csi_t_datastructures_grp.txn_ext_attrib_vals_tbl,
175 x_txn_systems_tbl OUT NOCOPY csi_t_datastructures_grp.txn_systems_tbl,
176 x_return_status OUT NOCOPY VARCHAR2,
177 x_msg_count OUT NOCOPY NUMBER,
178 x_msg_data OUT NOCOPY VARCHAR2);
179
180
181 END csi_t_txn_details_grp;