70: END IF;
71: --
72:
73: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
74: FND_MSG_PUB.initialize ;
75: END IF;
76: --
77: p_row_locked := FND_API.G_TRUE;
78: p_return_status := FND_API.G_RET_STS_SUCCESS ;
87: FETCH C INTO Recinfo;
88: IF (C%NOTFOUND) then
89: CLOSE C;
90: FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
91: FND_MSG_PUB.Add;
92: RAISE FND_API.G_EXC_ERROR ;
93: END IF;
94: CLOSE C;
95:
100: IF FND_API.To_Boolean ( p_commit ) THEN
101: COMMIT WORK;
102: END iF;
103: --
104: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
105: p_data => p_msg_data );
106: --
107: EXCEPTION
108: --
110: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
111: ROLLBACK TO Lock_Row_Pvt ;
112: p_row_locked := FND_API.G_FALSE;
113: p_return_status := FND_API.G_RET_STS_ERROR;
114: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
115: p_data => p_msg_data );
116:
117:
118: WHEN FND_API.G_EXC_ERROR THEN
119: --
120: ROLLBACK TO Lock_Row_Pvt ;
121: p_return_status := FND_API.G_RET_STS_ERROR;
122:
123: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
124: p_data => p_msg_data );
125: --
126: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
127: --
126: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
127: --
128: ROLLBACK TO Lock_Row_Pvt ;
129: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
130: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
131: p_data => p_msg_data );
132: --
133: WHEN OTHERS THEN
134: --
134: --
135: ROLLBACK TO Lock_Row_Pvt ;
136: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
137: --
138: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
139: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
140: l_api_name);
141: END if;
142: --
135: ROLLBACK TO Lock_Row_Pvt ;
136: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
137: --
138: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
139: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
140: l_api_name);
141: END if;
142: --
143: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
139: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
140: l_api_name);
141: END if;
142: --
143: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
144: p_data => p_msg_data );
145: --
146: END Lock_Row;
147: /* ----------------------------------------------------------------------- */