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)
沒有留言:
張貼留言