DECLARE L_TRANS_REC FA_API_TYPES.TRANS_REC_TYPE; L_ASSET_HDR_REC FA_API_TYPES.ASSET_HDR_REC_TYPE; L_ASSET_FIN_REC_ADJ FA_API_TYPES.ASSET_FIN_REC_TYPE; --這邊查看可以調整那些欄位 L_ASSET_FIN_REC_NEW FA_API_TYPES.ASSET_FIN_REC_TYPE; L_ASSET_FIN_MRC_TBL_NEW FA_API_TYPES.ASSET_FIN_TBL_TYPE; L_INV_TRANS_REC FA_API_TYPES.INV_TRANS_REC_TYPE; L_INV_TBL FA_API_TYPES.INV_TBL_TYPE; L_INV_RATE_TBL FA_API_TYPES.INV_RATE_TBL_TYPE; L_ASSET_DEPRN_REC_ADJ FA_API_TYPES.ASSET_DEPRN_REC_TYPE; --這邊查看可以調整那些欄位 L_ASSET_DEPRN_REC_NEW FA_API_TYPES.ASSET_DEPRN_REC_TYPE; L_ASSET_DEPRN_MRC_TBL_NEW FA_API_TYPES.ASSET_DEPRN_TBL_TYPE; L_INV_REC FA_API_TYPES.INV_REC_TYPE; L_GROUP_RECLASS_OPTIONS_REC FA_API_TYPES.GROUP_RECLASS_OPTIONS_REC_TYPE; L_RETURN_STATUS VARCHAR2(1); L_MESG_COUNT NUMBER := 0; L_MESG_LEN NUMBER; L_MESG VARCHAR2(4000); P_ASSET_ID NUMBER; BEGIN FND_PROFILE.PUT('PRINT_DEBUG', 'Y'); DBMS_OUTPUT.ENABLE(1000000); FA_SRVR_MSG.INIT_SERVER_MESSAGE; FA_DEBUG_PKG.INITIALIZE; SELECT ASSET_ID INTO P_ASSET_ID FROM FA_ADDITIONS WHERE 1=1 AND ASSET_NUMBER = 'TEST0912-2'; --asset header info L_ASSET_HDR_REC.ASSET_ID := P_ASSET_ID; --Asset Id from fa_additions L_ASSET_HDR_REC.BOOK_TYPE_CODE := 'TJ资产帐'; --帳本 TW资产帐、TJ资产帐 --L_ASSET_FIN_REC_ADJ.DATE_PLACED_IN_SERVICE := I.DATE_PLACED_SERVICE; L_ASSET_FIN_REC_ADJ.LIFE_IN_MONTHS := 11; --SELECT * FROM FA_METHODS WHERE METHOD_CODE = 'STL' L_ASSET_FIN_REC_ADJ.DEPRN_METHOD_CODE := 'STL'; --不知道為什麼,但必要存在 FA_ADJUSTMENT_PUB.DO_ADJUSTMENT(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 => L_RETURN_STATUS, X_MSG_COUNT => L_MESG_COUNT, X_MSG_DATA => L_MESG, P_CALLING_FN => 'ADJ_TEST_SCRIPT', PX_TRANS_REC => L_TRANS_REC, PX_ASSET_HDR_REC => L_ASSET_HDR_REC, P_ASSET_FIN_REC_ADJ => L_ASSET_FIN_REC_ADJ, X_ASSET_FIN_REC_NEW => L_ASSET_FIN_REC_NEW, X_ASSET_FIN_MRC_TBL_NEW => L_ASSET_FIN_MRC_TBL_NEW, PX_INV_TRANS_REC => L_INV_TRANS_REC, PX_INV_TBL => L_INV_TBL, --PX_INV_RATE_TBL => L_INV_RATE_TBL, P_ASSET_DEPRN_REC_ADJ => L_ASSET_DEPRN_REC_ADJ, X_ASSET_DEPRN_REC_NEW => L_ASSET_DEPRN_REC_NEW, X_ASSET_DEPRN_MRC_TBL_NEW => L_ASSET_DEPRN_MRC_TBL_NEW, P_GROUP_RECLASS_OPTIONS_REC => L_GROUP_RECLASS_OPTIONS_REC); DBMS_OUTPUT.PUT_LINE(SQLERRM || 'STATUS :' || L_RETURN_STATUS); IF (L_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS) THEN FA_DEBUG_PKG.DUMP_DEBUG_MESSAGES(MAX_MESGS => 0); L_MESG_COUNT := FND_MSG_PUB.COUNT_MSG; IF L_MESG_COUNT > 0 THEN L_MESG := SUBSTR(FND_MSG_PUB.GET(FND_MSG_PUB.G_FIRST, FND_API.G_FALSE), 1, 512); DBMS_OUTPUT.PUT_LINE(SUBSTR(L_MESG, 1, 255)); 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, 512); DBMS_OUTPUT.PUT_LINE(SUBSTR(L_MESG, 1, 255)); END LOOP; FND_MSG_PUB.DELETE_MSG(); END IF; ELSE DBMS_OUTPUT.PUT_LINE('SUCCESS'); COMMIT; DBMS_OUTPUT.PUT_LINE('THID' || TO_CHAR(L_TRANS_REC.TRANSACTION_HEADER_ID)); END IF; END;
2023-10-05
[Oracle]How to adjust Asset
--參考資料 https://doyensys.com/blogs/api-for-fixed-asset-adjustments/
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言