9
2014
Interface Aracılığı İle Duran Varlık Defterine Varlık Eklemek İçin Yapılması Gereken İşlemler
Bu makale de fa_mass_additions üzerinden varlık aktarımı yapmak için yapılması gereken işlemleri paylaşacağım.
fa_mass_additions tablosuna aşağıdaki script ile insertleme işlemi yapılmalıdır . ancak R11 kullanıcılarının karşılaşabilecekleri bir durum var;
script te insert içerisinde kullanılması gereken life_in_months ve deprn_method_code alanları fa_mass_additions tablosunda olmayabilir. Bu durumda 364917.1 numaralı metalink notuna bakılmalıdır.
Bu notta yüklenmek üzere bir patch bulunmaktadır. Bu patch ile gariplik giderilecektir. R12 için herhangi bir problem yoktur.
script dbms_output enable modda çalıştırılmalıdır. adından oluşan çıktılar kontrol edilebilir problemli kayıtları interface eklemeyecek şekilde bir kurgu yapılmıştır, burdan hareketle hataları giderilip yeniden aktarım yapılabilir.
asset_iface_template (.xls formatında varlık aktarım şablonu)
Yukarıdaki şablon dikkate alınarak “xxftks_varlik_aktarimi_finteks_t” bir custom tablo oluşturulur ve excel o tabloya aktarıldıktan sonra aşağıdaki script ile kayıtlar fa_mass_additions tablosuna getirilir.
Bu aşamadan sonra duran varlıklar sorumluluğundan -> Toplu Eklemeler Alt Menüsünden –> Toplu Eklemeleri Muhasebeleştirme Ekranı açılır. 2 adet parametrenin olduğu 2 farklı eşzamanlının çalışacağı bir ekrandır. Parametreler zorunludur. Üstteki parametre ye tıkladığında fa_mass_additions tablounda statüsü POST olan duran varlık defterleri listelenecektir. Alttaki parametre ise üstteki seçildiğinde otomatik olarak seçilir.Parametre seçiminden sonra talepler başlatılır . Taleplerden birisi varlıkları aktarır diğeri ise aktarımın raporunu gösteren taleptir. Aktarımlar başarı ile tamamlandığında fa_mass_additions tablosundaki statü alanı POSTED haline gelir.Kayıtlarıdan birisi hatada kaldığından kendisinden önce başarı ile aktarılan kayıtları commitler ve raporda aktarım sonucu oluşan yeni asset numaralarını gösterir, aynı zamanda hatada alınan kayıtları hatasıda görüntülenebilir.
DECLARE
l_user_id NUMBER := 3536;
l_asset_key_ccid NUMBER := 1; — ‘GENEL.GENEL’;
l_location_id NUMBER;
l_expense_code_combination_id NUMBER;
l_asset_category_id NUMBER;
l_life_in_months NUMBER;
l_asset_type VARCHAR2 (240) := ‘CAPITALIZED’;
l_create_batch_id NUMBER := 88888;
l_book_type_code VARCHAR2 (240) := ‘FINTEKS’;
l_mass_addition_id NUMBER;
BEGIN
FOR rec IN (SELECT ROWID row_id, a.*
FROM xxftks_varlik_aktarimi_finteks_t a
WHERE 1 = 1 AND a.aktarim_flag IS NULL)
LOOP
BEGIN
SELECT category_id
INTO l_asset_category_id
FROM fa_categories_b
WHERE 1 = 1
AND segment1 || ‘.’ || segment2 || ‘.’ || segment3 =
rec.kategori1 || ‘.’ || rec.kategori2 || ‘.’
|| rec.faaliyet;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line
( rec.faaliyet
|| ‘.’
|| rec.kategori1
|| ‘.’
|| rec.kategori2
|| ‘ kategori birleşimi fa_categories_b bulunamadı !’
);
GOTO loop_sonu;
END;
BEGIN
SELECT code_combination_id
INTO l_expense_code_combination_id
FROM gl_code_combinations_kfv a
WHERE 1 = 1 AND a.concatenated_segments = rec.gider_hesabi;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
SELECT fnd_flex_ext.get_ccid (‘SQLGL’,
‘GL#’,
50328,
TO_CHAR (SYSDATE, ‘DD-MM-YYYY’),
rec.gider_hesabi
)
INTO l_expense_code_combination_id
FROM DUAL;
IF l_expense_code_combination_id = 0
THEN
DBMS_OUTPUT.put_line
( rec.gider_hesabi
|| ‘ gider hesabı gl_code_combinations_kfv viewin de bulunamadı !’
);
GOTO loop_sonu;
END IF;
END;
BEGIN
SELECT location_id
INTO l_location_id
FROM fa_locations
WHERE 1 = 1
AND end_date_active IS NULL
AND NVL (enabled_flag, ‘N’) = ‘Y’
AND segment1 || ‘.’ || segment2 =
rec.lokasyon_segment1 || ‘.’ || rec.lokasyon_segment2;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line
( rec.lokasyon_segment1
|| ‘.’
|| rec.lokasyon_segment2
|| ‘ lokasyon birleşimi fa_locations tablosunda bulunamadı !’
);
GOTO loop_sonu;
END;
BEGIN
SELECT life_in_months
INTO l_life_in_months
FROM fa_methods
WHERE 1 = 1 AND method_code = rec.yontem;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line
( rec.yontem
|| ‘ yonteme iliskin fa_methods tablosundan life_in_months bilgisi alinamadi !’
);
GOTO loop_sonu;
END;
SELECT fa_mass_additions_s.NEXTVAL
INTO l_mass_addition_id
FROM DUAL;
INSERT INTO fa_mass_additions
(mass_addition_id, tag_number,
description, asset_category_id, serial_number,
book_type_code, date_placed_in_service, fixed_assets_cost,
— payables_units,
fixed_assets_units,
— payables_code_combination_id,
expense_code_combination_id,
location_id, create_batch_date, create_batch_id,
last_update_date, last_updated_by, depreciate_flag,
asset_key_ccid, asset_type, created_by, creation_date,
last_update_login, deprn_method_code, life_in_months,
— accounting_date,
po_vendor_id, invoice_id, owned_leased, new_used,
posting_status, queue_name, post_batch_id,
feeder_system_name, deprn_reserve,
attribute5
)
VALUES (fa_mass_additions_s.NEXTVAL, NULL, –> tag_number
SUBSTR (rec.aciklama, 1, 80),
–> description
l_asset_category_id,
–> asset_category_id DEMIRBASLAR.DIGER
NULL, –> serial_number
l_book_type_code, –> book_type_code,
rec.aktife_giris_tarihi,
–> date_placed_in_service aktife girme tarihi
rec.maliyet,
–> fixed_assets_cost
rec.birim, –> fixed_assets_units
l_expense_code_combination_id,
l_location_id, –> location_id ISTANBUL.MERKEZ
SYSDATE, — create_batch_date
l_create_batch_id, — create_batch_id
SYSDATE, — last_update_date
l_user_id, — last_updated_by
‘YES’, — depreciate_flag,
l_asset_key_ccid,
–> asset_key_ccid varlık anahtarı 23000.GENEL
l_asset_type, –> ASSET_TYPE
l_user_id, –> created_by
SYSDATE,
0, rec.yontem, –> deprn_method_code
l_life_in_months, –> life_in_months
— SYSDATE, –> accounting_date
rec.vendor_id, –> PO_VENDOR_ID
rec.invoice_id, –> invoice_id
‘OWNED’,
–> iyelik OWNED_LEASED
‘NEW’,
–> satınalınan NEW_USED
‘POST’, –> POSTING_STATUS
‘POST’, –> QUEUE_NAME
NULL, –> POST_BATCH_ID
‘MANUEL’, NVL (rec.birikmis_amortisman, 0),
‘FINTEKS_AKTARIM_05122014’
);
UPDATE xxftks_varlik_aktarimi_finteks_t a
SET a.aktarim_flag = ‘Y’
WHERE 1 = 1 AND ROWID = rec.row_id;
DBMS_OUTPUT.put_line (‘OK.’);
<<loop_sonu>>
NULL;
END LOOP;
COMMIT;
END;
Mustafa Korkmaz
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Latest posts by Mustafa Korkmaz (see all)
- Log4j CVE-2021-45046 Zafiyeti - 16 Aralık 2021
- Materialized View Verisi Purge ya da Delete (atomic_refresh) - 12 Kasım 2021
- HTML Görüntüsü için Unicode Dönüşümü - 27 Temmuz 2020