10: G_REQUEST_ID NUMBER := FND_GLOBAL.Conc_Request_Id;
11:
12: PROCEDURE Get_Invoice_Lines(
13: p_api_version IN NUMBER,
14: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
15: p_commit IN VARCHAR2 := FND_API.G_FALSE,
16: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
17: x_return_status OUT VARCHAR2,
18: x_msg_count OUT NUMBER,
11:
12: PROCEDURE Get_Invoice_Lines(
13: p_api_version IN NUMBER,
14: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
15: p_commit IN VARCHAR2 := FND_API.G_FALSE,
16: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
17: x_return_status OUT VARCHAR2,
18: x_msg_count OUT NUMBER,
19: x_msg_data OUT VARCHAR2,
12: PROCEDURE Get_Invoice_Lines(
13: p_api_version IN NUMBER,
14: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
15: p_commit IN VARCHAR2 := FND_API.G_FALSE,
16: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
17: x_return_status OUT VARCHAR2,
18: x_msg_count OUT NUMBER,
19: x_msg_data OUT VARCHAR2,
20: p_invoice_id IN NUMBER,
59: -- Standard start of API savepoint
60: SAVEPOINT Get_Invoice_Lines_PVT;
61:
62: -- Standard call to check for call compatibility
63: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
64: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
65: END IF;
66:
67: -- Initialize message list if p_init_msg_list is set to TRUE
60: SAVEPOINT Get_Invoice_Lines_PVT;
61:
62: -- Standard call to check for call compatibility
63: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
64: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
65: END IF;
66:
67: -- Initialize message list if p_init_msg_list is set to TRUE
68: IF FND_API.To_Boolean(p_init_msg_list) THEN
64: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
65: END IF;
66:
67: -- Initialize message list if p_init_msg_list is set to TRUE
68: IF FND_API.To_Boolean(p_init_msg_list) THEN
69: FND_MSG_PUB.initialize;
70: END IF;
71:
72: -- Implementation of User Hooks
80: x_return_status => l_return_status,
81: x_msg_count => l_msg_count,
82: x_msg_data => l_msg_data,
83: p_invoice_id => l_invoice_id);
84: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
85: RAISE FND_API.G_EXC_ERROR;
86: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
87: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
88: END IF;
81: x_msg_count => l_msg_count,
82: x_msg_data => l_msg_data,
83: p_invoice_id => l_invoice_id);
84: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
85: RAISE FND_API.G_EXC_ERROR;
86: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
87: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
88: END IF;
89: END IF;
82: x_msg_data => l_msg_data,
83: p_invoice_id => l_invoice_id);
84: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
85: RAISE FND_API.G_EXC_ERROR;
86: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
87: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
88: END IF;
89: END IF;
90:
83: p_invoice_id => l_invoice_id);
84: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
85: RAISE FND_API.G_EXC_ERROR;
86: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
87: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
88: END IF;
89: END IF;
90:
91:
95: x_return_status => l_return_status,
96: x_msg_count => l_msg_count,
97: x_msg_data => l_msg_data,
98: p_invoice_id => l_invoice_id);
99: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
100: RAISE FND_API.G_EXC_ERROR;
101: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
102: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
103: END IF;
96: x_msg_count => l_msg_count,
97: x_msg_data => l_msg_data,
98: p_invoice_id => l_invoice_id);
99: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
100: RAISE FND_API.G_EXC_ERROR;
101: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
102: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
103: END IF;
104: END IF;
97: x_msg_data => l_msg_data,
98: p_invoice_id => l_invoice_id);
99: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
100: RAISE FND_API.G_EXC_ERROR;
101: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
102: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
103: END IF;
104: END IF;
105:
98: p_invoice_id => l_invoice_id);
99: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
100: RAISE FND_API.G_EXC_ERROR;
101: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
102: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
103: END IF;
104: END IF;
105:
106: -- Initialize API return status to success
103: END IF;
104: END IF;
105:
106: -- Initialize API return status to success
107: x_return_status := FND_API.G_RET_STS_SUCCESS;
108:
109: -- API body
110:
111: FOR inv_line_rec IN c_inv_line LOOP
137: x_return_status => l_return_status,
138: x_msg_count => l_msg_count,
139: x_msg_data => l_msg_data,
140: p_invoice_id => l_invoice_id);
141: if (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
142: RAISE FND_API.G_EXC_ERROR;
143: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
144: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
145: END IF;
138: x_msg_count => l_msg_count,
139: x_msg_data => l_msg_data,
140: p_invoice_id => l_invoice_id);
141: if (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
142: RAISE FND_API.G_EXC_ERROR;
143: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
144: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
145: END IF;
146:
139: x_msg_data => l_msg_data,
140: p_invoice_id => l_invoice_id);
141: if (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
142: RAISE FND_API.G_EXC_ERROR;
143: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
144: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
145: END IF;
146:
147: END IF;
140: p_invoice_id => l_invoice_id);
141: if (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
142: RAISE FND_API.G_EXC_ERROR;
143: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
144: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
145: END IF;
146:
147: END IF;
148:
152: x_return_status => l_return_status,
153: x_msg_count => l_msg_count,
154: x_msg_data => l_msg_data,
155: p_invoice_id => l_invoice_id);
156: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
157: RAISE FND_API.G_EXC_ERROR;
158: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
159: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
160: END IF;
153: x_msg_count => l_msg_count,
154: x_msg_data => l_msg_data,
155: p_invoice_id => l_invoice_id);
156: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
157: RAISE FND_API.G_EXC_ERROR;
158: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
159: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
160: END IF;
161: END IF;
154: x_msg_data => l_msg_data,
155: p_invoice_id => l_invoice_id);
156: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
157: RAISE FND_API.G_EXC_ERROR;
158: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
159: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
160: END IF;
161: END IF;
162:
155: p_invoice_id => l_invoice_id);
156: IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
157: RAISE FND_API.G_EXC_ERROR;
158: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
159: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
160: END IF;
161: END IF;
162:
163: -- Standard check of p_commit
160: END IF;
161: END IF;
162:
163: -- Standard check of p_commit
164: IF FND_API.To_Boolean(p_commit) THEN
165: COMMIT WORK;
166: END IF;
167: -- Standard call to get message count and if count is 1, get message info
168: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
166: END IF;
167: -- Standard call to get message count and if count is 1, get message info
168: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
169: p_data => x_msg_data,
170: p_encoded => FND_API.G_FALSE);
171: EXCEPTION
172: WHEN FND_API.G_EXC_ERROR THEN
173: ROLLBACK TO Get_Invoice_Lines_PVT;
174: x_return_status := FND_API.G_RET_STS_ERROR;
168: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
169: p_data => x_msg_data,
170: p_encoded => FND_API.G_FALSE);
171: EXCEPTION
172: WHEN FND_API.G_EXC_ERROR THEN
173: ROLLBACK TO Get_Invoice_Lines_PVT;
174: x_return_status := FND_API.G_RET_STS_ERROR;
175: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
176:
170: p_encoded => FND_API.G_FALSE);
171: EXCEPTION
172: WHEN FND_API.G_EXC_ERROR THEN
173: ROLLBACK TO Get_Invoice_Lines_PVT;
174: x_return_status := FND_API.G_RET_STS_ERROR;
175: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
176:
177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
178: ROLLBACK TO Get_Invoice_Lines_PVT;
173: ROLLBACK TO Get_Invoice_Lines_PVT;
174: x_return_status := FND_API.G_RET_STS_ERROR;
175: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
176:
177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
178: ROLLBACK TO Get_Invoice_Lines_PVT;
179: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
180: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
181:
175: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
176:
177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
178: ROLLBACK TO Get_Invoice_Lines_PVT;
179: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
180: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
181:
182: WHEN OTHERS THEN
183: ROLLBACK TO Get_Invoice_Lines_PVT;
180: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
181:
182: WHEN OTHERS THEN
183: ROLLBACK TO Get_Invoice_Lines_PVT;
184: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
185: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
186: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
187: END IF;
188: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);