DECLARE
L_TRANS_REC FA_API_TYPES.TRANS_REC_TYPE;
L_DIST_TRANS_REC FA_API_TYPES.TRANS_REC_TYPE;
L_ASSET_HDR_REC FA_API_TYPES.ASSET_HDR_REC_TYPE;
L_ASSET_DESC_REC FA_API_TYPES.ASSET_DESC_REC_TYPE;
L_ASSET_CAT_REC FA_API_TYPES.ASSET_CAT_REC_TYPE;
L_ASSET_TYPE_REC FA_API_TYPES.ASSET_TYPE_REC_TYPE;
L_ASSET_HIERARCHY_REC FA_API_TYPES.ASSET_HIERARCHY_REC_TYPE;
L_ASSET_FIN_REC FA_API_TYPES.ASSET_FIN_REC_TYPE;
L_ASSET_DEPRN_REC FA_API_TYPES.ASSET_DEPRN_REC_TYPE;
L_ASSET_DIST_REC FA_API_TYPES.ASSET_DIST_REC_TYPE;
L_ASSET_DIST_TBL FA_API_TYPES.ASSET_DIST_TBL_TYPE;
L_INV_TBL FA_API_TYPES.INV_TBL_TYPE;
L_INV_RATE_TBL FA_API_TYPES.INV_RATE_TBL_TYPE;
L_RETURN_STATUS VARCHAR2(1);
L_MESG_COUNT NUMBER;
L_MESG VARCHAR2(4000);
BEGIN
DBMS_OUTPUT.ENABLE(10000000);
FA_SRVR_MSG.INIT_SERVER_MESSAGE;
-- desc info
L_ASSET_DESC_REC.ASSET_NUMBER := 'TEST0911-1'; --如要自動編號將該行註解,自行定義與TAG_NUMBER填寫一樣
L_ASSET_DESC_REC.TAG_NUMBER := 'TEST0911-1'; --資產編號
L_ASSET_DESC_REC.SERIAL_NUMBER := NULL; --序號(沒有使用)
L_ASSET_DESC_REC.IN_USE_FLAG := 'YES'; --使用中
L_ASSET_DESC_REC.NEW_USED := 'NEW'; --購買
L_ASSET_DESC_REC.OWNED_LEASED := 'OWNED'; --所有權
L_ASSET_DESC_REC.CURRENT_UNITS := 1; --單位量
L_ASSET_DESC_REC.DESCRIPTION := 'Shareoracleapps Test Asset'; -- 摘要
L_ASSET_DESC_REC.ASSET_KEY_CCID := NULL; --資產索引(沒有使用)
-- Valid Value in FA_CATEGORIES
L_ASSET_CAT_REC.CATEGORY_ID := '5064'; --A:土地-A:土地-
--type info
L_ASSET_TYPE_REC.ASSET_TYPE := 'CAPITALIZED';--資本化
-- Asset Financial Information
L_ASSET_FIN_REC.SET_OF_BOOKS_ID := 1003;
L_ASSET_FIN_REC.DATE_PLACED_IN_SERVICE := TO_DATE('2023-01-01','YYYY-MM-DD'); --啟用日期
L_ASSET_FIN_REC.DEPRN_START_DATE := TO_DATE('2023-01-01','YYYY-MM-DD'); --攤派日期
L_ASSET_FIN_REC.DEPRN_METHOD_CODE := 'STL'; --折舊方式
L_ASSET_FIN_REC.LIFE_IN_MONTHS := 240; --折舊月數
L_ASSET_FIN_REC.ORIGINAL_COST := 50000; --原始成本
L_ASSET_FIN_REC.COST := 50000; --成本
L_ASSET_FIN_REC.PRORATE_CONVENTION_CODE := 'TW_THIS_M'; --攤派方式
L_ASSET_FIN_REC.SALVAGE_TYPE := 'AMT'; --殘值類型
L_ASSET_FIN_REC.SALVAGE_VALUE := 0; --殘值
L_ASSET_FIN_REC.PERCENT_SALVAGE_VALUE := NULL; --殘值百分比
L_ASSET_FIN_REC.DEPRECIATE_FLAG := 'YES'; --折舊
L_ASSET_FIN_REC.ORIG_DEPRN_START_DATE := NULL; --原始折舊開始日期(沒有使用)
-- deprn info
L_ASSET_DEPRN_REC.SET_OF_BOOKS_ID := 1003;
L_ASSET_DEPRN_REC.YTD_DEPRN := 20000; --年度累積折舊
L_ASSET_DEPRN_REC.DEPRN_RESERVE := 20000; --累積折舊
L_ASSET_DEPRN_REC.BONUS_YTD_DEPRN := 0; --年加速折舊
L_ASSET_DEPRN_REC.BONUS_DEPRN_RESERVE := 0; --總加速折舊
-- Valid value in FA_BOOK_CONTROLS
L_ASSET_HDR_REC.BOOK_TYPE_CODE := 'TW资产帐'; --帳本
-- distribution info
L_ASSET_DIST_REC.UNITS_ASSIGNED := 1; --單位量
-- Valid Record from GL Code cominations with record type = 'E' (Expense)
L_ASSET_DIST_REC.EXPENSE_CCID := 9241; --費用科目
-- Valid Value in FA Locations
L_ASSET_DIST_REC.LOCATION_CCID := 3005; --放置地點(F00000-行政管理部)
L_ASSET_DIST_REC.ASSIGNED_TO := NULL;
L_ASSET_DIST_REC.TRANSACTION_UNITS := L_ASSET_DIST_REC.UNITS_ASSIGNED;
L_ASSET_DIST_TBL(1) := L_ASSET_DIST_REC;
-- call the api
FA_ADDITION_PUB.DO_ADDITION(
-- std parameters
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,
P_CALLING_FN => NULL,
X_RETURN_STATUS => L_RETURN_STATUS,
X_MSG_COUNT => L_MESG_COUNT,
X_MSG_DATA => L_MESG,
-- api parameters
PX_TRANS_REC => L_TRANS_REC,
PX_DIST_TRANS_REC => L_DIST_TRANS_REC,
PX_ASSET_HDR_REC => L_ASSET_HDR_REC,
PX_ASSET_DESC_REC => L_ASSET_DESC_REC,
PX_ASSET_TYPE_REC => L_ASSET_TYPE_REC,
PX_ASSET_CAT_REC => L_ASSET_CAT_REC,
PX_ASSET_HIERARCHY_REC => L_ASSET_HIERARCHY_REC,
PX_ASSET_FIN_REC => L_ASSET_FIN_REC,
PX_ASSET_DEPRN_REC => L_ASSET_DEPRN_REC,
PX_ASSET_DIST_TBL => L_ASSET_DIST_TBL,
PX_INV_TBL => L_INV_TBL);
--dump messages
L_MESG_COUNT := FND_MSG_PUB.COUNT_MSG;
IF L_MESG_COUNT > 0 THEN
L_MESG := CHR(10) || SUBSTR(FND_MSG_PUB.GET(FND_MSG_PUB.G_FIRST, FND_API.G_FALSE), 1, 250);
DBMS_OUTPUT.PUT_LINE(L_MESG);
FOR I IN 1 .. (L_MESG_COUNT - 1) LOOP
L_MESG := SUBSTR(FND_MSG_PUB.GET(FND_MSG_PUB.G_NEXT, FND_API.G_FALSE), 1, 250);
DBMS_OUTPUT.PUT_LINE(L_MESG);
END LOOP;
FND_MSG_PUB.DELETE_MSG();
END IF;
IF (L_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS) THEN
DBMS_OUTPUT.PUT_LINE('FAILURE');
ELSE
DBMS_OUTPUT.PUT_LINE('SUCCESS');
DBMS_OUTPUT.PUT_LINE('ASSET_ID :' || TO_CHAR(L_ASSET_HDR_REC.ASSET_ID));
DBMS_OUTPUT.PUT_LINE('ASSET_NUMBER :' || L_ASSET_DESC_REC.ASSET_NUMBER);
END IF;
END;
/
2023-09-11
[Oracle]How to Add FA
參考資料http://www.shareoracleapps.com/2014/08/api-to-add-asset-to-fixed-assets-r12-fa-addition-pub-do-addition.html
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言