9: p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null)
10: RETURN BOOLEAN;
11:
12: PROCEDURE do_unit_adjustment(p_api_version IN NUMBER,
13: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
14: p_commit IN VARCHAR2 := FND_API.G_FALSE,
15: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
16: p_calling_fn IN VARCHAR2,
17: x_return_status OUT NOCOPY VARCHAR2,
10: RETURN BOOLEAN;
11:
12: PROCEDURE do_unit_adjustment(p_api_version IN NUMBER,
13: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
14: p_commit IN VARCHAR2 := FND_API.G_FALSE,
15: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
16: p_calling_fn IN VARCHAR2,
17: x_return_status OUT NOCOPY VARCHAR2,
18: x_msg_count OUT NOCOPY NUMBER,
11:
12: PROCEDURE do_unit_adjustment(p_api_version IN NUMBER,
13: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
14: p_commit IN VARCHAR2 := FND_API.G_FALSE,
15: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
16: p_calling_fn IN VARCHAR2,
17: x_return_status OUT NOCOPY VARCHAR2,
18: x_msg_count OUT NOCOPY NUMBER,
19: x_msg_data OUT NOCOPY VARCHAR2,
47: if (not g_log_level_rec.initialized) then
48: if (NOT fa_util_pub.get_log_level_rec (
49: x_log_level_rec => g_log_level_rec
50: )) then
51: raise FND_API.G_EXC_ERROR;
52: end if;
53: end if;
54:
55:
52: end if;
53: end if;
54:
55:
56: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
57: l_api_name, G_PKG_NAME) then
58: RAISE FND_API.G_EXC_ERROR;
59: END IF;
60:
54:
55:
56: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
57: l_api_name, G_PKG_NAME) then
58: RAISE FND_API.G_EXC_ERROR;
59: END IF;
60:
61: if (p_init_msg_list = FND_API.G_TRUE) then
62: fa_srvr_msg.Init_Server_Message;
57: l_api_name, G_PKG_NAME) then
58: RAISE FND_API.G_EXC_ERROR;
59: END IF;
60:
61: if (p_init_msg_list = FND_API.G_TRUE) then
62: fa_srvr_msg.Init_Server_Message;
63: fa_debug_pkg.Initialize;
64: end if;
65:
69: name => 'FA_SHARED_ITEM_NULL',
70: token1 => 'ITEM',
71: value1 => 'Asset Id'
72: ,p_log_level_rec => g_log_level_rec);
73: raise FND_API.G_EXC_ERROR;
74: end if;
75:
76: -- Bug 5475276 Get the book_type_code if it is not supplied.
77: if (px_asset_hdr_rec.book_type_code is null) then
84: fa_srvr_msg.add_message
85: (calling_fn => 'FA_UNIT_ADJ_PUB.do_unit_adjustment',
86: name => 'FA_EXP_GET_ASSET_INFO'
87: ,p_log_level_rec => g_log_level_rec);
88: raise FND_API.G_EXC_ERROR;
89: end if;
90: end if;
91:
92: -- call the cache for the primary transaction book
91:
92: -- call the cache for the primary transaction book
93: if NOT fa_cache_pkg.fazcbc(X_book => px_asset_hdr_rec.book_type_code,
94: p_log_level_rec => g_log_level_rec) then
95: RAISE FND_API.G_EXC_ERROR;
96: end if;
97:
98: -- validate book if corporate, validate asset
99:
102: p_book_type_code => px_asset_hdr_rec.book_type_code,
103: p_asset_id => px_asset_hdr_rec.asset_id,
104: p_calling_fn => 'FA_UNIT_ADJ_PUB.valid_input',
105: p_log_level_rec => g_log_level_rec) then
106: raise FND_API.G_EXC_ERROR;
107: end if;
108:
109: px_trans_rec.transaction_type_code := 'UNIT ADJUSTMENT';
110: IF NOT FA_TRX_APPROVAL_PKG.faxcat(
113: X_trx_type =>'TRANSFER',
114: X_trx_date =>px_trans_rec.transaction_date_entered,
115: X_init_message_flag=> 'NO',
116: p_log_level_rec => g_log_level_rec) then
117: raise FND_API.G_EXC_ERROR;
118: end if;
119:
120: if not fa_asset_val_pvt.validate_period_of_addition
121: (px_asset_hdr_rec.asset_id,
122: px_asset_hdr_rec.book_type_code,
123: 'ABSOLUTE',
124: l_period_addition,
125: p_log_level_rec => g_log_level_rec) then
126: RAISE FND_API.G_EXC_ERROR;
127: end if;
128: px_asset_hdr_rec.period_of_addition := l_period_addition;
129:
130:
131: -- validate input
132: if not valid_input(px_trans_rec,
133: px_asset_hdr_rec,
134: p_log_level_rec => g_log_level_rec) then
135: raise FND_API.G_EXC_ERROR;
136: end if;
137:
138:
139: -- BUG# 3325400
148: px_asset_hdr_rec => px_asset_hdr_rec,
149: px_asset_cat_rec_new => l_asset_cat_rec,
150: px_asset_dist_tbl => px_asset_dist_tbl,
151: p_log_level_rec => g_log_level_rec) then
152: raise FND_API.G_EXC_ERROR;
153: end if;
154:
155: /*
156: * Code hook for IAC
160: p_trans_rec => px_trans_rec,
161: p_asset_hdr_rec => px_asset_hdr_rec,
162: p_asset_cat_rec => l_asset_cat_rec,
163: p_calling_function => 'FA_UNIT_ADJ_PUB.DO_UNIT_ADJUSTMENT') then
164: raise FND_API.G_EXC_ERROR;
165: end if;
166: end if; -- (FA_IGI_EXT_PKG.IAC_Enabled)
167:
168: if cse_fa_integration_grp.is_oat_enabled then
169: if not cse_fa_integration_grp.unit_adjustment(
170: p_trans_rec => px_trans_rec,
171: p_asset_hdr_rec => px_asset_hdr_rec,
172: p_asset_dist_tbl => px_asset_dist_tbl) then
173: raise FND_API.G_EXC_ERROR;
174: end if;
175: end if;
176:
177:
174: end if;
175: end if;
176:
177:
178: if (p_commit = FND_API.G_TRUE) then
179: COMMIT WORK;
180: end if;
181:
182: FND_MSG_PUB.Count_And_Get(
184: p_data => x_msg_data
185: );
186:
187: -- Return the status.
188: x_return_status := FND_API.G_RET_STS_SUCCESS;
189:
190:
191: EXCEPTION
192: WHEN FND_API.G_EXC_ERROR THEN
188: x_return_status := FND_API.G_RET_STS_SUCCESS;
189:
190:
191: EXCEPTION
192: WHEN FND_API.G_EXC_ERROR THEN
193: FA_SRVR_MSG.Add_Message(
194: calling_fn => 'FA_UNIT_ADJ_PUB.do_unit_adjustment',
195: p_log_level_rec => g_log_level_rec);
196:
198: p_count => x_msg_count,
199: p_data => x_msg_data
200: );
201: ROLLBACK TO unit_adj_pub;
202: x_return_status := FND_API.G_RET_STS_ERROR;
203:
204: WHEN OTHERS THEN
205: FA_SRVR_MSG.Add_Sql_Error(
206: calling_fn => 'FA_UNIT_ADJ_PUB.do_unit_adjustment'
210: p_count => x_msg_count,
211: p_data => x_msg_data
212: );
213: ROLLBACK TO unit_adj_pub;
214: x_return_status := FND_API.G_RET_STS_ERROR;
215:
216: END;
217:
218: FUNCTION valid_input(px_trans_rec IN OUT NOCOPY fa_api_types.trans_rec_type,