May
28
2015

Eklerin Kopyalanması (Attachment)

Aşağıda yer alanı scripti kullanarak satınalma siparişlerinin, satış siparişlerinin, kalemlerin v.b. üzerinde yer alan ekleri başka bir sipariş veya kalemin üzerine kopyalayabilirsiniz.

Not:Aşağıdaki örnek satış siparişleri için yapılmıştır. l_category_id ve l_pk1_value gibi alanlar değiştirilerek kalemler ve satınalma siparişleri içinde kullanılabilir.

 

 
DECLARE
   l_rowid                  ROWID;
   l_attached_document_id   NUMBER;
   l_document_id            NUMBER;
   l_media_id               NUMBER;
   l_category_id            NUMBER                                 := 1000503;
                                                          -- OE_ORDER_HEADERS
   l_pk1_value              fnd_attached_documents.pk1_value%TYPE
                                                                 := '3517131';
   l_description            fnd_documents_tl.description%TYPE       := NULL;
   l_filename               fnd_documents_tl.file_name%TYPE
                             := 'RM010-FONKSIYONEL ANALIZ-YPYM Talepler.docx';
   l_seq_num                NUMBER;
   l_blob_data              BLOB;
   l_blob                   BLOB;
   l_bfile                  BFILE;
   l_byte                   NUMBER;
BEGIN
   fnd_global.apps_initialize (0, 21623, 660);
 
   SELECT fnd_documents_s.NEXTVAL
     INTO l_document_id
     FROM DUAL;
 
   SELECT fnd_attached_documents_s.NEXTVAL
     INTO l_attached_document_id
     FROM DUAL;
 
   SELECT NVL (MAX (seq_num), 0) + 10
     INTO l_seq_num
     FROM fnd_attached_documents
    WHERE pk1_value = l_pk1_value AND entity_name = 'OE_ORDER_HEADERS';
 
   fnd_documents_pkg.insert_row
             (x_rowid                  => l_rowid,
              x_document_id            => l_document_id,
              x_creation_date          => SYSDATE,
              x_created_by             => 0    -- fnd_profile.value('USER_ID')
                                           ,
              x_last_update_date       => SYSDATE,
              x_last_updated_by        => 0    -- fnd_profile.value('USER_ID')
                                           ,
              x_last_update_login      => 21478918
                                              -- fnd_profile.value('LOGIN_ID')
                                                  ,
              x_datatype_id            => 6                            -- FILE
                                           ,
              x_category_id            => l_category_id,
              x_security_type          => 4,
              x_publish_flag           => 'Y',
              x_usage_type             => 'O',
              x_language               => 'TR',
              x_description            => l_description,
              x_file_name              => l_filename,
              x_media_id               => l_media_id
             );
   COMMIT;
 
   INSERT INTO fnd_lobs
               (file_id, file_name,
                file_content_type, upload_date, expiration_date,
                program_name, program_tag, file_data, LANGUAGE,
                oracle_charset, file_format
               )
        VALUES (l_media_id, 'RM010-FONKSIYONEL ANALIZ-YPYM Talepler.docx',
                'application/octet-stream', SYSDATE, NULL,
                'FNDATTCH', NULL, EMPTY_BLOB (),                --l_blob_data,
                                                'TR',
                'WE8ISO8859P9', 'IGNORE'
               )
     RETURNING file_data
          INTO l_blob;
 
-- DBMS_LOB.createtemporary (l_blob, TRUE);
-- l_bfile := BFILENAME ('TEMP_DIR', 'RM010-FONKSIYONEL ANALIZ-YPYM Talepler.docx');
-- l_byte := DBMS_LOB.getlength (l_bfile);
-- DBMS_OUTPUT.put_line ('size is ' || l_byte);
-- DBMS_LOB.fileopen (l_bfile);
-- DBMS_LOB.loadfromfile (l_blob, l_bfile, l_byte);
-- DBMS_LOB.fileclose (l_bfile);
-- DBMS_OUTPUT.put_line ('document id is ' || l_document_id);
   fnd_documents_pkg.insert_tl_row
                        (x_document_id            => l_document_id,
                         x_creation_date          => SYSDATE,
                         x_created_by             => fnd_profile.VALUE
                                                                    ('USER_ID'),
                         x_last_update_date       => SYSDATE,
                         x_last_updated_by        => fnd_profile.VALUE
                                                                    ('USER_ID'),
                         x_last_update_login      => fnd_profile.VALUE
                                                                   ('LOGIN_ID'),
                         x_language               => 'TR',
                         x_description            => l_description,
                         x_file_name              => l_filename,
                         x_media_id               => l_media_id
                        );
   COMMIT;
   fnd_attached_documents_pkg.insert_row
                        (x_rowid                         => l_rowid,
                         x_attached_document_id          => l_attached_document_id,
                         x_document_id                   => l_document_id,
                         x_creation_date                 => SYSDATE,
                         x_created_by                    => fnd_profile.VALUE
                                                                    ('USER_ID'),
                         x_last_update_date              => SYSDATE,
                         x_last_updated_by               => fnd_profile.VALUE
                                                                    ('USER_ID'),
                         x_last_update_login             => fnd_profile.VALUE
                                                                   ('LOGIN_ID'),
                         x_seq_num                       => l_seq_num,
                         x_entity_name                   => 'OE_ORDER_HEADERS',
                         x_column1                       => NULL,
                         x_pk1_value                     => '3517133',
                         x_pk2_value                     => NULL,
                         x_pk3_value                     => NULL,
                         x_pk4_value                     => NULL,
                         x_pk5_value                     => NULL,
                         x_automatically_added_flag      => 'N',
                         x_datatype_id                   => 6,
                         x_category_id                   => l_category_id,
                         x_security_type                 => 4,
                         x_publish_flag                  => 'Y',
                         x_language                      => 'US',
                         x_description                   => l_description,
                         x_file_name                     => l_filename,
                         x_media_id                      => l_media_id
                        );
   COMMIT;
   DBMS_OUTPUT.put_line ('MEDIA ID CREATED IS ' || l_media_id);
END;

Mert Ağbaba

1986 İstanbul doğumlu. Okan Üniversitesi Endüstri Mühendisliği
(%50 Burslu) bölümünde lisans eğitimini tamamladı. Blog yöneticisi
ve aynı zamanda yazardır. Sırasıyla Tetaş Group, Innova Bilişim
Çözümleri ve Renault MAİS A.Ş.(Devam) de Oracle EBS Fonksiyonel
Danışman olarak profesyonel kariyerine devam etmektedir.
Mail: mrtgbb@gmail.com
Mert Ağbaba


Yorum yapın

*