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.

  • 🔄 Temel Amaç: BDC, veri kümelerini bir işlemin ekranlarına otomatik olarak aktarır ve her ekranı ve iş doğrulamasını bir kullanıcının yapacağı gibi çalıştırır.
  • 🧾 Toplu Giriş Oturumu: Bir oturum, işlem çağrılarını giriş verileriyle birlikte gruplandırır ve yürütülene kadar veritabanında saklanır.
  • İki Yöntem: Klasik toplu giriş, BDC_OPEN_GROUP, BDC_INSERT ve BDC_CLOSE_GROUP fonksiyonlarını kullanırken, çağrı işlemi yöntemi CALL TRANSACTION USING fonksiyonunu kullanır.
  • 🇧🇷 Yöntem Seçimi: Klasik toplu giriş, bir günlük kaydıyla senkronize iken, çağrı işlemi daha hızlı, asenkron ve tek bir işlemi ele alır.
  • 🗂️ BDCDATA Yapısı: PROGRAM, DYNPRO, DYNBEGIN, FNAM ve FVAL alanları, her adım için ekranı, alanı ve değeri tanımlar.
  • ⏺️ Ses kayıt cihazı: Toplu giriş kaydedici, manuel bir işlemi yakalar ve daha sonra SM35'te çalıştırılacak bir oturum veya hazır bir BDC programı oluşturur.

SAP ABAP BDC Toplu Veri İletişimi

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.

  1. Klasik Toplu Giriş yöntemi.
  2. Ç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

  1. Ön planda
  2. Arka planda
  3. İş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

Çağrı İşlem Yöntemi

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

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

  1. 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.
  2. Oluşturmak SAP Dışa aktarma programlarında kullanılacak veri yapıları.
  3. Verileri sıralı bir dosyaya aktarın. Karakter formatının önceden tanımlanmış olması gerektiğini unutmayın. SAP toplu giriş programları.
  4. 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.
  5. Verileri işleyin ve dosyaya ekleyin SAP sistem.
  6. İş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.
  7. 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

  1. Toplu giriş verilerini işlemek için işlemleri analiz edin.
  2. Kullanılacak toplu giriş yöntemine karar verin.
  3. Sıralı bir dosyadan veri okuma
  4. Veri dönüştürme veya hata kontrolü gerçekleştirin.
  5. Verilerin toplu giriş yapısında saklanması,BDCDATA.
  6. 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

  1. BDC_OPEN_GROUP işlev modülünü kullanarak toplu giriş oturumu oturumunu açın.
  2. Oturumdaki her işlem için:
  3. BDCDATA'yı işlemde işlenen tüm ekranlar ve alanlar için değerlerle doldurun.
  4. İşlemi BDC_INSERT ile oturuma aktarın.
  5. 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ş Kaydedici

  • 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.

SSS

BDC_OKCODE, kullanıcının bir düğme veya tuşla tetikleyeceği işlev kodunu taşır; örneğin, Enter için /00 veya Kaydet için =SAVE. Bu kod, alanlar doldurulduktan sonra ekranın hangi işlemi gerçekleştireceğini belirtir.

SM35, toplu giriş izleme modülüdür. Klasik toplu giriş ile oluşturulan oturumları listeler, bunları ön planda veya arka planda çalıştırır ve başarısız işlemlerin analiz edilip yeniden işlenebilmesi için işlem günlüğünü gösterir.

BDC, bir işlemin ekran doğrulamalarını yeniden kullandığı için BAPI'nin bulunmadığı yerlerde hala kullanılmaktadır. LSMW, BDC'yi, kayıtları ve BAPI'leri tek bir geçiş aracında bir araya getirir ve BAPI İstikrarlı bir API mevcut olduğunda tercih edilir.

Evet. ABAP geliştirme araçlarındaki yapay zeka asistanları, bir kayıt veya ekran listesi alarak BDCDATA doldurma işlemini, CALL TRANSACTION bloğunu ve mesaj işlemeyi taslak haline getirir. Geliştirici kaynak dosyayı eşleştirir ve yüklemeyi test eder.

Yapay zeka araçları, yüklemeden önce eski dosyayı profillendirir, eksik zorunlu alanları ve biçim uyuşmazlıklarını işaretler ve sonrasında toplu giriş günlüğünü özetleyerek hatalı kayıtların daha hızlı düzeltilmesini ve yeniden işlenmesini sağlar.

Bu yazıyı şu şekilde özetleyin: