The following lines contain the word 'select', 'insert', 'update' or 'delete':
| ic_item_mst_insert and Create_Lot if they occur |
+==========================================================================+
*/
PROCEDURE Create_Item
( p_api_version IN NUMBER
, p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
, p_commit IN VARCHAR2 := FND_API.G_FALSE
, p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
, p_item_rec IN GMIGAPI.item_rec_typ
, x_ic_item_mst_row OUT NOCOPY ic_item_mst%ROWTYPE
, x_ic_item_cpg_row OUT NOCOPY ic_item_cpg%ROWTYPE
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
)
IS
l_api_name VARCHAR2(30) := 'G_Create_Item';
/* If no errors were found then proceed with the database inserts */
IF GMIVDBL.ic_item_mst_insert(x_ic_item_mst_row, x_ic_item_mst_row)
THEN
-- TKW 9/11/2003 B2378017
-- Moved call to gmi_item_categories from ic_item_mst_insert to here.
-- It is now called with new signature.
GMIVDBL.gmi_item_categories(p_item_rec, x_ic_item_mst_row);
IF GMIVDBL.ic_item_cpg_insert(x_ic_item_cpg_row, x_ic_item_cpg_row)
THEN
NULL;
/* still set up the row(s) ready for insertion into the database. */
l_lot_rec.lot_no := GMIGUTL.IC$DEFAULT_LOT;
ELSE /* Bug 2513463 - Handle possbile errors with ic_item_insert */
x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
/* If no errors were found then proceed with the database inserts */
IF GMIVDBL.ic_lots_mst_insert(x_ic_lots_mst_row, x_ic_lots_mst_row)
THEN
-- Jatinder - B3158806 - Removed SY$CPG_INSTALL check
x_ic_lots_cpg_row.lot_id := x_ic_lots_mst_row.lot_id;
IF GMIVDBL.ic_lots_cpg_insert(x_ic_lots_cpg_row, x_ic_lots_cpg_row)
THEN
NULL;
/* If no errors were found then proceed with the database insert */
/* Bug 1741321 */
/* Set token for uom type to be displayed in the success message */
IF GMIVDBL.ic_item_cnv_insert(x_ic_item_cnv_row, x_ic_item_cnv_row)
THEN
FND_MESSAGE.SET_NAME('GMI','IC_API_ILC_CREATED');
| summary is updated correctly for status |
| immediate. |
| 01/Nov/2001 Ajay Kumar Bug 1834743 - For manual document ordering, |
| insert the journal number which is passed |
| from the flat file. |
| |
| 14-Mar-2002 Ajay Kumar BUG#1834743 - Added code to validate the |
| journal number entered, when manual document |
| ordering is done. |
| 07/24/02 Jalaj Srivastava Bug 2483656 |
| Modified inventory_posting to let users create |
| journals through APIs. |
| Backed out fix for bug 2033879 as the correct |
| place for the fix would be GMIVTXN package
| 'coz the call to APIs from the form does not |
| go through this procedure.
| 10-Mar-04 Jalaj Srivastava Bug 3282770 |
| Move allocations while doing |
| a move immediate if all the criterion are satisfied. |
+==========================================================================+
*/
PROCEDURE Inventory_Posting
( p_api_version IN NUMBER
, p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
, p_commit IN VARCHAR2 := FND_API.G_FALSE
, p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
, p_qty_rec IN GMIGAPI.qty_rec_typ
, p_ic_item_mst_row IN ic_item_mst%ROWTYPE
, p_ic_item_cpg_row IN ic_item_cpg%ROWTYPE
, p_ic_lots_mst_row IN ic_lots_mst%ROWTYPE
, p_ic_lots_cpg_row IN ic_lots_cpg%ROWTYPE
, x_ic_jrnl_mst_row OUT NOCOPY ic_jrnl_mst%ROWTYPE
, x_ic_adjs_jnl_row1 OUT NOCOPY ic_adjs_jnl%ROWTYPE
, x_ic_adjs_jnl_row2 OUT NOCOPY ic_adjs_jnl%ROWTYPE
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, x_msg_data OUT NOCOPY VARCHAR2
)
IS
l_ic_lots_mst_row ic_lots_mst%ROWTYPE;
SELECT assignment_type
FROM sy_docs_seq
WHERE orgn_code = p_qty_rec.orgn_code
AND doc_type = 'JRNL';
SELECT count(*)
FROM ic_jrnl_mst
WHERE journal_no = l_qty_rec.journal_no
AND orgn_code = l_qty_rec.orgn_code;
SELECT count(1)
FROM ic_jrnl_mst j, ic_adjs_jnl a
where j.journal_no = l_qty_rec.journal_no
AND j.orgn_code = l_qty_rec.orgn_code
AND j.delete_mark = 0
AND j.posted_ind = 0
AND a.orgn_code = j.orgn_code
AND a.journal_id = j.journal_id
AND a.trans_type = x_ic_adjs_jnl_row1.trans_type;
SELECT nvl(max(doc_line),0) + 1
FROM ic_adjs_jnl
WHERE orgn_code = x_ic_adjs_jnl_row1.orgn_code AND
journal_id = x_ic_adjs_jnl_row1.journal_id;
IF GMIVDBL.ic_jrnl_mst_insert(x_ic_jrnl_mst_row, x_ic_jrnl_mst_row) THEN
x_return_status := FND_API.G_RET_STS_SUCCESS;
IF GMIVDBL.ic_adjs_jnl_insert(x_ic_adjs_jnl_row1,x_ic_adjs_jnl_row1) THEN
x_return_status := FND_API.G_RET_STS_SUCCESS;
IF GMIVDBL.ic_adjs_jnl_insert(x_ic_adjs_jnl_row2, x_ic_adjs_jnl_row2) THEN
x_return_status := FND_API.G_RET_STS_SUCCESS;
GMIALLOC.UPDATE_PENDING_ALLOCATIONS
( p_api_version => 1.0
,p_init_msg_list => fnd_api.g_false
,p_commit => fnd_api.g_false
,p_validation_level => fnd_api.g_valid_level_full
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
,pdoc_id => l_tran_rec.doc_id
,pto_whse_code => x_ic_adjs_jnl_row2.whse_code
,pto_location => nvl(x_ic_adjs_jnl_row2.location,fnd_profile.value('IC$DEFAULT_LOCT'))
);
ELSE --GMIVDBL.ic_adjs_jnl_insert(x_ic_adjs_jnl_row2, x_ic_adjs_jnl_row2)
x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
END IF; --GMIVDBL.ic_adjs_jnl_insert(x_ic_adjs_jnl_row2, x_ic_adjs_jnl_row2)
ELSE --GMIVDBL.ic_adjs_jnl_insert(x_ic_adjs_jnl_row1,x_ic_adjs_jnl_row1)
x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
END IF; --GMIVDBL.ic_adjs_jnl_insert(x_ic_adjs_jnl_row1,x_ic_adjs_jnl_row1)
ELSE --GMIVDBL.ic_jrnl_mst_insert(x_ic_jrnl_mst_row, x_ic_jrnl_mst_row)
x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;