9:
10: procedure DELETE (
11: p_business_object IN VARCHAR2,
12: p_appl_short_name IN VARCHAR2,
13: p_primary_key IN VARCHAR2 := FND_API.G_MISS_CHAR,
14: p_return_status OUT NOCOPY VARCHAR2,
15: p_delete_cascade IN VARCHAR2 := 'Y'
16: ) is
17: cursor l_get_appl_id_csr (short_name_param varchar2) is
31: l_return_status VARCHAR2(1);
32: l_string_pos number;
33: l_table_index number;
34: l_dum NUMBER;
35: l_object_pk varchar2(30) := FND_API.G_MISS_CHAR;
36: l_flow_pk_tbl AK_FLOW_PUB.Flow_PK_Tbl_Type;
37: l_region_pk_tbl AK_REGION_PUB.Region_PK_Tbl_Type;
38: l_custom_pk_tbl AK_CUSTOM_PUB.Custom_PK_Tbl_Type;
39: l_object_pk_tbl AK_OBJECT_PUB.Object_PK_Tbl_Type;
53:
54: --
55: -- Get Primary key for the object
56: --
57: if (p_primary_key is not null and p_primary_key <> FND_API.G_MISS_CHAR) then
58: l_object_pk := p_primary_key;
59: else
60: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
61: FND_MESSAGE.SET_NAME('AK','AK_PRIMARY_KEY_INVALID');
80: FND_MESSAGE.SET_TOKEN('APPL_SHORT_NAME', l_appl_short_name);
81: FND_MSG_PUB.Add;
82: end if;
83: close l_get_appl_id_csr;
84: raise FND_API.G_EXC_ERROR;
85: end if;
86: close l_get_appl_id_csr;
87:
88: -- set Loading mode
150: G_PREPARE_REGION := true;
151: end if;
152:
153: AK_REGION_GRP.DELETE_REGION (
154: -- p_validation_level => FND_API.G_VALID_LEVEL_NONE,
155: p_api_version_number => 1.0,
156: p_init_msg_tbl => TRUE,
157: p_msg_count => l_msg_count,
158: p_msg_data => l_msg_data,
180: if FND_MSG_PUB.Count_Msg > 0 then
181: FND_MSG_PUB.Reset;
182: --dbms_output.put_line('Messages: ');
183: for i in 1 .. FND_MSG_PUB.Count_Msg loop
184: l_buffer_tbl(i + l_index) := FND_MSG_PUB.GET(p_encoded=>FND_API.G_FALSE);
185: end loop;
186: FND_MSG_PUB.Initialize;
187: end if;
188:
194: l_index := l_index + 1;
195: l_buffer_tbl(l_index) := to_char(sysdate, 'DY MON DD YYYY HH24:MI:SS');
196: l_index := l_index + 1;
197: l_buffer_tbl(l_index) := 'Finished processing application: '||l_appl_short_name;
198: if (p_primary_key is not null and p_primary_key <> FND_API.G_MISS_CHAR) then
199: l_index := l_index + 1;
200: l_buffer_tbl(l_index) := 'Primary key: '||p_primary_key;
201: end if;
202: l_index := l_index + 1;
212: p_buffer_tbl => l_buffer_tbl,
213: p_write_mode => AK_ON_OBJECTS_PUB.G_APPEND
214: );
215:
216: --if (l_return_status = FND_API.G_RET_STS_SUCCESS) then
217: -- dbms_output.put_line('Log file has been printed out to screen');
218: --else
219: -- dbms_output.put_line('Failed to write log file to Global PL/SQL table');
220: --end if;
219: -- dbms_output.put_line('Failed to write log file to Global PL/SQL table');
220: --end if;
221:
222: EXCEPTION
223: WHEN FND_API.G_EXC_ERROR THEN
224: p_return_status := FND_API.G_RET_STS_ERROR;
225: WHEN NO_DATA_FOUND THEN
226: p_return_status := FND_API.G_RET_STS_ERROR;
227: WHEN OTHERS THEN
220: --end if;
221:
222: EXCEPTION
223: WHEN FND_API.G_EXC_ERROR THEN
224: p_return_status := FND_API.G_RET_STS_ERROR;
225: WHEN NO_DATA_FOUND THEN
226: p_return_status := FND_API.G_RET_STS_ERROR;
227: WHEN OTHERS THEN
228: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
222: EXCEPTION
223: WHEN FND_API.G_EXC_ERROR THEN
224: p_return_status := FND_API.G_RET_STS_ERROR;
225: WHEN NO_DATA_FOUND THEN
226: p_return_status := FND_API.G_RET_STS_ERROR;
227: WHEN OTHERS THEN
228: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
229: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name,
230: SUBSTR (SQLERRM, 1, 240) );
224: p_return_status := FND_API.G_RET_STS_ERROR;
225: WHEN NO_DATA_FOUND THEN
226: p_return_status := FND_API.G_RET_STS_ERROR;
227: WHEN OTHERS THEN
228: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
229: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name,
230: SUBSTR (SQLERRM, 1, 240) );
231:
232: end DELETE;