SAP ABAP BDC: Toplu Veri İletişimi Nedir?
⚡ Akıllı Özet
SAP ABAP BDC (Toplu Veri İletişimi), standart işlemleri otomatik olarak çalıştırarak eski verileri R/3'e aktarır. Bu sayfada toplu giriş oturumları, klasik ve çağrı işlem yöntemleri, BDCDATA yapısı, BDC_OPEN_GROUP iş akışı ve toplu giriş kaydedici açıklanmaktadır.

Toplu girişe giriş
Toplu giriş genellikle verileri R/3 olmayan sistemlerden R/3 sistemlerine aktarmak veya R/3 sistemleri arasında veri aktarmak için kullanılır.
İşlemlere ait ekranlara veri setlerinin otomatik olarak aktarılmasını ve dolayısıyla bir SAP sistem. Toplu giriş, toplu giriş oturumu tarafından kontrol edilir.
Toplu giriş oturumu
Bir dizi işlem çağrısını giriş verileri ve kullanıcı eylemleriyle birlikte gruplandırır. Toplu giriş oturumu, ekranların bir kısmının veya tamamının oturum tarafından işlendiği toplu girişte bir diyalog işlemini yürütmek için kullanılabilir. Toplu giriş oturumları veritabanında veritabanı tabloları olarak saklanır ve işlemlere erişilirken bir program içinde dahili tablolar olarak kullanılabilir.
Dikkat edilmesi gereken noktalar
- BDI normal şekilde çalışarak çalışır SAP işlemleri tıpkı bir kullanıcının yapacağı gibi gerçekleştirir ancak işlemi otomatik olarak yürütür.Tüm ekran doğrulamaları ve iş mantığı doğrulamaları Toplu Veri Girişi kullanılırken yapılacaktır.
- Büyük miktarda veri girmek için uygundur.
- Manuel etkileşim gerekmez
Toplu Giriş Yöntemleri
SAP eski verileri R/3 Sistemine aktarmak için iki temel yöntem sağlar.
- Klasik Toplu Giriş yöntemi.
- Çağrı İşlem Yöntemi.
Klasik Toplu Giriş yöntemi
Bu yöntemde bir ABAP/4 programı harici verileri bilgisayara okur. SAP Toplu giriş oturumunda sistem ve depolar.
Oturumu oluşturduktan sonra, oturumu yürütmek için oturumu çalıştırabilirsiniz. SAP içindeki işlem.
Bu yöntem BDC_ OPEN, BDC_INSERT ve BDC_CLOSE işlev modüllerini kullanır
Toplu Giriş Oturumu 3 şekilde işlenebilir
- Ön planda
- Arka planda
- İşleme sırasında hata göstergesiyle
Veri aktarımını test etmek istiyorsanız toplu giriş oturumlarını ön planda veya hata ekranını kullanarak işlemelisiniz.
Veri aktarımını gerçekleştirmek veya performansını test etmek istiyorsanız oturumları arka planda işlemelisiniz.
Klasik Toplu Giriş yöntemiyle ilgili dikkat edilmesi gereken noktalar
- Syncsaatli işlem
- Birden fazla işlem için veri aktarın.
- Synchronous veritabanı güncellemesi.
- Her oturum için bir toplu giriş işlem günlüğü oluşturulur.
- Oturum paralel olarak oluşturulamaz.
Çağrı İşlem Yöntemi.
Bu yöntemde ABAP/4 programı bir çağrıyı çalıştırmak için CALL TRANSACTION USING deyimini kullanır. SAP işlem.
Toplu giriş işleminin tamamı programda çevrimiçi olarak gerçekleşir
Dikkat Edilmesi Gereken Noktalar:
- Verilerin daha hızlı işlenmesi
- Asenkron işleme
- Tek bir işlem için veri aktarın.
- Toplu girdi işleme günlüğü oluşturulmaz.
Klasik Toplu Giriş vs. Çağrı İşlemi
İki yöntem de aynı işlemi gerçekleştirir ancak hız, kayıt tutma ve hata işleme açısından farklılık gösterir. Aşağıdaki tablo, hangisinin ne zaman doğru seçim olduğunu göstermektedir.
| Kriterler | Klasik Toplu Giriş | Çağrı İşlemi |
|---|---|---|
| Teknik | BDC_OPEN_GROUP, BDC_INSERT, BDC_CLOSE_GROUP | İŞLEMİ KULLANARAK ÇAĞRI YAPIN |
| İşlemde | Synchronous, daha sonra SM35'ten çalıştırıldı | Program çevrimiçi olarak çalışır. |
| işlemler | Tek oturumda birçok işlem | Çağrı başına tek bir işlem |
| Giriş | Her oturum için otomatik olarak bir işlem günlüğü oluşturulur. | Kayıt tutulmuyor, program mesajları topluyor. |
| hız | Daha yavaş, ancak sağlam ve yeniden başlatılabilir. | Daha hızlı |
| İçin en iyisi | Denetlenebilir olması gereken büyük, tek seferlik eski veri yüklemeleri | Tek bir belgenin etkileşimli veya yüksek hızlı aktarımı |
Yöntemler karşılaştırıldıktan sonra, bir projenin izlediği genel prosedür sonraki bölümde açıklanmaktadır.
Toplu Giriş Prosedürleri
Kuruluşunuz için Toplu Giriş geliştirmek için genellikle aşağıdaki adım sırasını gözlemleyeceksiniz
- Eski verilerin analizi. Aktarılacak verilerin nasıl haritalandırılacağını belirleyin. SAP Yapı. Ayrıca gerekli veri türü veya veri uzunluğu dönüşümlerini de not edin.
- Oluşturmak SAP Dışa aktarma programlarında kullanılacak veri yapıları.
- Verileri sıralı bir dosyaya aktarın. Karakter formatının önceden tanımlanmış olması gerektiğini unutmayın. SAP toplu giriş programları.
- Eğer SAP Verilen BDC programları kullanılmadığında, kendi toplu giriş programınızı kodlayın. Duruma göre uygun bir toplu giriş yöntemi seçin.
- Verileri işleyin ve dosyaya ekleyin SAP sistem.
- İşlem günlüğünü analiz edin. Uygun bir logun oluşturulmadığı CALL TRANSACTION yöntemi için programınızın topladığı mesajları kullanın.
- Proses analizi sonuçlarından hatalı verileri düzeltin ve yeniden işleyin.
BDC programının yazılması
BDC programınızı yazmak için aşağıdaki süreci izleyebilirsiniz
- Toplu giriş verilerini işlemek için işlemleri analiz edin.
- Kullanılacak toplu giriş yöntemine karar verin.
- Sıralı bir dosyadan veri okuma
- Veri dönüştürme veya hata kontrolü gerçekleştirin.
- Verilerin toplu giriş yapısında saklanması,BDCDATA.
- Klasik toplu giriş için bir toplu giriş oturumu oluşturun veya verileri doğrudan CALL TRANSACTION USING deyimiyle işleyin.
Toplu Giriş Veri Yapısı
Toplu giriş veri yapısının beyanı
DATA : BEGIN OF < bdc table> OCCURS <occurs parameters>. INCLUDE STRUCTURE BDCDATA. DATA:END OF <bdc table>.
| Alan adı | Menşei | uzunluk | Açıklama |
|---|---|---|---|
| PROGRAMI | TANK | 8 | Modül havuzu |
| dinpro | NUMC | 4 | Dynpro numarası |
| DİNBE BAŞLIYORUZ | TANK | 1 | Bir dynpro'yu başlatma |
| FNAM | TANK | 35 | Alan adı |
| FVAL | TANK | 80 | Alan değeri |
Belirli bir ekran için veriler içindeki alanların sırasının hiçbir önemi yoktur
Nota Puan
- BDC verilerini doldururken kullanıcı ayarlarını dikkate aldığınızdan emin olun. Bu, özellikle sayı içeren alanları (miktar, tutar gibi) doldururken önemlidir. Hangi alanın kullanılacağına kullanıcı ayarı karar verir.ping Sayılar için karakter. Örnek: Elli bin sayısı, kullanıcı ayarına bağlı olarak 50,000.00 veya 50.000,00 şeklinde yazılabilir.
- Tutar ve miktar alanları için FVAL alanını, sola hizalı olacak şekilde yoğunlaştırın.
- BDC aracılığıyla doldurduğunuz tüm alanların, BDC Veri tablosunu doldururken karakter türü alanları olarak değerlendirilmesi gerektiğini unutmayın.
- Bazı ekranlarda, BDC'yi kullanarak bir tablo kontrolünde değerleri doldurduğunuzda, ekranın varsayılan boyutunda kaç sayıda satırın bulunduğunu ve o kadar satır için kod bulunduğunu not etmeniz gerekir. Daha fazla satır doldurmanız gerekiyorsa, tablo kontrolünü manuel olarak doldurduğunuzda yaptığınız gibi "Sayfa aşağı" işlevini kodlamanız gerekir.
- Yukarıdaki senaryoda görünecek satır sayısı, kullanıcının kullandığı ekran boyutuna göre farklılık gösterecektir. Bu nedenle, her zaman standart ekran boyutunu kodlayın ve kullanıcının ekran boyutunu ne olarak korursa korusun, BDC'nizin her zaman standart ekran boyutunda çalışmasını sağlayın.
Toplu Giriş Oturumu Oluşturma
- BDC_OPEN_GROUP işlev modülünü kullanarak toplu giriş oturumu oturumunu açın.
- Oturumdaki her işlem için:
- BDCDATA'yı işlemde işlenen tüm ekranlar ve alanlar için değerlerle doldurun.
- İşlemi BDC_INSERT ile oturuma aktarın.
- Toplu giriş oturumunu BDC_CLOSE_GROUP ile kapatın
Örnek: Çağrı İşlemi Kullanan BDC
Aşağıdaki program, çağrı işlemi yöntemini baştan sona göstermektedir. Bir işlemin iki ekranı için BDCDATA tablosunu oluşturur ve hataların raporlanabilmesi için hata tablosuyla birlikte N modunda (görüntüleme yok) çalıştırır.
REPORT z_bdc_call_transaction. DATA: lt_bdcdata TYPE STANDARD TABLE OF bdcdata, ls_bdcdata TYPE bdcdata, lt_messages TYPE STANDARD TABLE OF bdcmsgcoll. * Helper that appends one BDCDATA line FORM bdc_field USING p_fnam p_fval. CLEAR ls_bdcdata. ls_bdcdata-fnam = p_fnam. ls_bdcdata-fval = p_fval. APPEND ls_bdcdata TO lt_bdcdata. ENDFORM. * Screen 1: start the dynpro, then fill the fields CLEAR ls_bdcdata. ls_bdcdata-program = 'SAPMV45A'. ls_bdcdata-dynpro = '0101'. ls_bdcdata-dynbegin = 'X'. APPEND ls_bdcdata TO lt_bdcdata. PERFORM bdc_field USING 'VBAK-AUART' 'OR'. PERFORM bdc_field USING 'BDC_OKCODE' '/00'. * Run the transaction: mode N = no display, update S = synchronous CALL TRANSACTION 'VA01' USING lt_bdcdata MODE 'N' UPDATE 'S' MESSAGES INTO lt_messages. IF sy-subrc <> 0. * Read lt_messages to report the errors that occurred ENDIF.
💡 İpucu: MODE parametresi ekranı kontrol eder: A tüm ekranları gösterir, E yalnızca bir hata oluştuğunda durur ve N sessizce çalışır. Test sırasında E'yi, üretim yükü için ise N'yi kullanın.
Toplu Giriş Kaydedici
Toplu giriş kaydedici (Sistem > Hizmetler > Toplu giriş > Kaydedici), manuel olarak girilen işlemleri kaydeder ve daha sonra SM35 kullanılarak yürütülebilecek bir toplu giriş oturumu oluşturur.
- Toplu giriş başlangıç ekranından Kayıt düğmesini seçerek toplu giriş kaydediciyi başlatın.
- Kayıt adı, kullanıcı tanımlı bir addır ve kayıttan oluşturulabilecek toplu giriş oturumu adıyla eşleşebilir.
- Bir girin SAP işlemi gerçekleştirin ve işlemi göndermeye başlayın.
- Bir gönderi yayınlamayı tamamladıktan sonra SAP işlemi gerçekleştirdiğinizde, kaydı sonlandırmak için İşlem Al ve Kaydet'i veya Sonraki İşlem'i seçip başka bir işlem yayınlayabilirsiniz.
- Kaydı kaydettikten sonra, kayıttan toplu giriş oturumu oluşturabilir ve/veya kayıttan toplu giriş programı oluşturabilirsiniz.
- Oluşturduğunuz toplu giriş oturumu artık diğer toplu giriş oturumları gibi analiz edilebilir.
- Toplu giriş kaydedicinin işlevi tarafından oluşturulan program, veri arayüzü programcısı için güçlü bir araçtır. Daha sonra müşteri gereksinimlerine göre değiştirilebilecek sağlam bir temel sağlar.
⚠️Uyarı: Kayıt, ekran dizisini tam olarak gerçekleştiği gibi yakalar; bu nedenle, tamamlanmama açılır penceresi gibi yalnızca belirli veriler için görünen bir ekran kaydedilmez. Oluşturulan programı her zaman her isteğe bağlı ekranı tetikleyen verilerle test edin.



