Tem
1
2015

2.Teslim Alma İşleminin İşleminin Yapılması İçin Kullanılan Örnek Script

Teslimalma işlemleri yapılırken ;

1 ) rcv_headers_interface tablosuna kayıt atılır.

2) rcv_transactions_interface tablosuna kayıt atılır.

Ancak Transaction type olarak RECEIVE işlemi manuel olarak ekrandan yapılırsa DELIVER işleminin kod tarafında yapılması için yapılan transaction_id bulunup rcv_transactions_interface deki parent_transaction_id ile eşleştirilir.

Alanları bir tabletype oluşturup atıldıktan sonra insertleme işlemi yapılması yeterlidir.

 
 
rcv_trans (i).transaction_type          := 'DELIVER';
rcv_trans (i).processing_status_code    := 'PENDING';
rcv_trans (i).processing_mode_code      := 'IMMEDIATE';
rcv_trans (i).transaction_status_code   := 'PENDING';
rcv_trans (i).subinventory              := p_subinventory;
rcv_trans (i).locator_id                := p_locator_id;
rcv_trans (i).parent_transaction_id := rec.transaction_id; --eşleştirilecek transaction_id
rcv_trans (i).destination_type_code        := 'INVENTORY';
rcv_trans (i).destination_context          := 'INVENTORY';
--rcv_trans (i).auto_transact_code           := 'DELIVER';
rcv_trans (i).receipt_source_code          := 'INVENTORY';
rcv_trans (i).source_document_code         := 'PO';
rcv_trans (i).interface_source_code        := 'RCV';
 
SELECT shipment_header_id,
shipment_line_id
INTO rcv_trans (i).shipment_header_id,
rcv_trans (i).shipment_line_id
FROM rcv_transactions
WHERE transaction_id = rec.transaction_id;
 
SELECT po_distribution_id
INTO rcv_trans (i).po_distribution_id
FROM po_distributions_all
WHERE line_location_id = rec.po_line_location_id;
--*******************************************************--
rcv_trans (i).last_update_date             := SYSDATE;
rcv_trans (i).last_updated_by              := fnd_global.user_id;
rcv_trans (i).creation_date                := SYSDATE;
rcv_trans (i).created_by                   := fnd_global.user_id;
rcv_trans (i).last_update_login            := fnd_global.login_id;
rcv_trans (i).transaction_date             :=TRUNC (:teslim_alma_tarihi);
rcv_trans (i).quantity                     := rec.received_qty;
rcv_trans (i).validation_flag              := 'Y';
rcv_trans (i).inspection_status_code   := 'NOT INSPECTED';
rcv_trans (i).routing_step_id              := 1;
rcv_trans (i).routing_header_id       := 3;
rcv_trans (i).to_organization_id           := p_organization_id;
rcv_trans (i).interface_source_line_id     := rec.line_id;
rcv_trans (i).use_mtl_lot                  := 1;
rcv_trans (i).use_mtl_serial               := 1;
rcv_trans (i).item_id                      :=rec.item_id;
rcv_trans (i).primary_quantity             := rec.received_qty;
rcv_trans (i).source_doc_quantity          := rec.received_qty;
rcv_trans (i).source_doc_unit_of_measure   := rec.unit_of_measure;
rcv_trans (i).primary_unit_of_measure      := rec.unit_of_measure;
INSERT INTO po.rcv_transactions_interface
VALUES rcv_trans (i);
 
COMMIT;

İşlemler bittikten sonra Teslimalma işlemcisi rcv_transactions_interface deki group id ye göre çalıştırılır ve depoya alım işlemi tamamlanacaktır.

 

 

 

 

 

Ozan Arıkan

1988 İstanbul doğumlu. İstanbul Üniversitesi Yönetim Bilişim
Sistemlerinden mezun oldu. 2012 yılından Beri Oracle e-Business
Suite Uygulama Geliştirme Fonksiyonel ve Teknik Danışman olarak
DbOptimize bünyesinde kariyerine devam etmektedir.
Mail: oznarkn@gmail.com
Ozan Arıkan


Yorum yapın

*