SAP ABAP BDC (Batch Data Communication) Tutorial
Introducere în introducerea în lot
Intrarea în lot este utilizată de obicei pentru a transfera date de la sisteme non-R/3 la sisteme R/3 sau pentru a transfera date între sistemele R/3.
Este o tehnică de transfer de date care vă permite să transferați automat seturi de date către ecrane aparținând tranzacțiilor și, astfel, către un SAP sistem. Intrarea în lot este controlată de o sesiune de introducere în lot.
Sesiune de introducere în lot
Grupează o serie de apeluri de tranzacție împreună cu datele de intrare și acțiunile utilizatorului. O sesiune de intrare în lot poate fi utilizată pentru a executa o tranzacție de dialog în introducerea în lot, în care unele sau toate ecranele sunt procesate de sesiune. Sesiunile de introducere în loturi sunt stocate în baza de date ca tabele de bază de date și pot fi utilizate în cadrul unui program ca tabele interne la accesarea tranzacțiilor.
Puncte de reținut
- BDI funcționează prin efectuarea normală SAP tranzacțiile la fel ca un utilizator, dar execută tranzacția automat.Toate validările de ecran și validarea logicii de afaceri se vor face în timp ce se utilizează Intrarea datelor în lot.
- Este potrivit pentru introducerea unor cantități mari de date.
- Nu este necesară nicio interacțiune manuală
Metode de introducere a loturilor
SAP oferă două metode de bază pentru transferul datelor moștenite în sistemul R/3.
- Metoda clasică de introducere în lot.
- Apelați metoda tranzacției.
Metoda clasică de introducere în lot
În această metodă, un program ABAP/4 citește datele externe către SAP Sistem și stochează într-o sesiune de introducere în lot.
După crearea sesiunii, puteți rula sesiunea pentru a executa SAP tranzacție în ea.
Această metodă folosește modulele funcționale BDC_OPEN, BDC_INSERT și BDC_CLOSE
Sesiunea de intrare în lot poate fi procesată în 3 moduri
- În prim-plan
- In fundal
- În timpul procesării, cu afișare a erorilor
Ar trebui să procesați sesiunile de introducere în lot în prim-plan sau folosind afișarea erorilor dacă doriți să testați transferul de date.
Dacă doriți să executați transferul de date sau să testați performanța acestuia, ar trebui să procesați sesiunile în fundal.
Puncte de remarcat despre metoda clasică de introducere în lot
- Syncprelucrare cinstită
- Transferați date pentru mai multe tranzacții.
- Syncactualizare a bazei de date.
- Pentru fiecare sesiune este generat un jurnal al procesului de introducere în lot.
- Sesiunea nu poate fi generată în paralel.
Apelați metoda tranzacției.
În această metodă ABAPProgramul /4 folosește instrucțiunea CALL TRANSACTION USING pentru a rula un SAP tranzacţie.
Întregul proces de introducere a loturilor are loc online în program
Puncte de reținut:
- Procesare mai rapidă a datelor
- Procesare asincronă
- Transferați date pentru o singură tranzacție.
- Nu este generat niciun jurnal de procesare a intrărilor în lot.
Proceduri de introducere a loturilor
În mod obișnuit, veți respecta următoarea secvență de pași pentru a dezvolta Intrarea în lot pentru organizația dvs
- Analiza datelor moștenite. Determinați modul în care datele care urmează să fie transferate vor fi mapate în SAP Structura. Luați în considerare, de asemenea, conversiile necesare tipului de date sau lungimii datelor.
- Genera SAP structuri de date pentru utilizare în programe de export.
- Exportați datele într-un fișier secvenţial. Rețineți că formatul de caractere este cerut de predefinit SAP programe de introducere în lot.
- În cazul în care SAP programele BDC furnizate nu sunt utilizate, codificați propriul program de introducere în lot. Alegeți o metodă adecvată de introducere a lotului în funcție de situație.
- Procesați datele și adăugați-le la SAP Sistem.
- Analizați jurnalul procesului. Pentru metoda CALL TRANSACTION, în care nu este creat un jurnal adecvat, utilizați mesajele colectate de programul dumneavoastră.
- Din rezultatele analizei procesului, corectați și reprocesați datele eronate.
Scrierea programului BDC
Puteți observa următorul proces pentru a vă scrie programul BDC
- Analizați tranzacția (tranzacțiile) pentru a procesa datele de intrare în lot.
- Decideți metoda de introducere a lotului de utilizat.
- Citiți date dintr-un fișier secvenţial
- Efectuați conversia datelor sau verificarea erorilor.
- Stocarea datelor în structura de intrare în lot, BDCDATA.
- Generați o sesiune de introducere în lot pentru introducerea în lot clasică sau procesați datele direct cu instrucțiunea CALL TRANSACTION USING.
Structura datelor de intrare în lot
Declarație privind structura datelor de intrare în lot
DATA : BEGIN OF < bdc table> OCCURS <occurs parameters>. INCLUDE STRUCTURE BDCDATA. DATA:END OF <bdc table>.
Numele domeniului | Tip | Lungime | Descriere |
---|---|---|---|
PROGRAMUL | REZERVOR | 8 | Pool de module |
DYNPRO | NUMC | 4 | Numărul Dynpro |
DYNBEGIN | REZERVOR | 1 | Pornirea unui dynpro |
FNAM | REZERVOR | 35 | Numele domeniului |
FVAL | REZERVOR | 80 | Valoarea câmpului |
Ordinea câmpurilor din datele pentru un anumit ecran nu are nicio semnificație
Puncte de remarcat
- În timp ce populați datele BDC, asigurați-vă că luați în considerare setările utilizatorului. Acest lucru este relevant în special pentru completarea câmpurilor care implică numere (cum ar fi cantitatea, cantitatea). Setarea utilizatorului este cea care decide care este caracterul de grupare pentru numere De exemplu: Un număr cincizeci de mii poate fi scris ca 50,000.00 sau 50.000,00 în funcție de setarea utilizatorului.
- Condensați câmpul FVAL pentru câmpurile de cantitate și cantitate, astfel încât acestea să fie aliniate la stânga.
- Rețineți că toate câmpurile pe care le completați prin BDC ar trebui tratate ca câmpuri de tip caracter în timp ce populați tabelul de date BDC.
- În unele ecrane, când populați valori într-un control de tabel folosind BDC, trebuie să observați câte rânduri sunt prezente pe o dimensiune implicită a ecranului și codificați pentru cât mai multe rânduri. Dacă trebuie să populați mai multe rânduri, atunci trebuie să codificați pentru funcționalitatea „În jos”, așa cum ați proceda atunci când completați manual controlul tabelului.
- Numărul de linii care ar apărea în scenariul de mai sus va diferi în funcție de dimensiunea ecranului pe care o folosește utilizatorul. Deci, codificați întotdeauna pentru dimensiunea ecranului standard și faceți ca BDC să funcționeze întotdeauna la dimensiunea ecranului standard, indiferent de dimensiunea ecranului pe care utilizatorul își păstrează.
Crearea sesiunii de introducere a lotului
- Deschideți sesiunea de sesiune de introducere în lot folosind modulul funcțional BDC_OPEN_GROUP.
- Pentru fiecare tranzacție din sesiune:
- Completați BDCDATA cu valori pentru toate ecranele și câmpurile procesate în tranzacție.
- Transferați tranzacția în sesiune cu BDC_INSERT.
- Închideți sesiunea de introducere în lot cu BDC_CLOSE_GROUP
Înregistrator de intrare în loturi
Înregistratorul de intrare în lot (Sistem > Servicii > Intrare în lot > Înregistrare) înregistrează tranzacțiile care sunt introduse manual și creează o sesiune de introducere a lotului care poate fi executată ulterior folosind SM35.
- Începeți înregistratorul de introducere a lotului selectând butonul Înregistrare din ecranul inițial de introducere a lotului.
- Numele înregistrării este un nume definit de utilizator și se poate potrivi cu numele sesiunii de introducere a lotului care poate fi creat din înregistrare.
- Introduceţi un SAP tranzacție și începe să postezi tranzacția.
- După ce ați finalizat postarea a SAP tranzacție fie alegeți Obține tranzacție și salvați pentru a încheia înregistrarea, fie Tranzacția următoare și publicați o altă tranzacție.
- Odată ce ați salvat înregistrarea, puteți crea o sesiune de introducere lot din înregistrare și/sau genera un program de introducere lot din înregistrare.
- Sesiunea de introducere în lot pe care ați creat-o poate fi acum analizată la fel ca orice altă sesiune de introducere în lot.
- Programul care este generat de funcția înregistratorului de intrare în loturi este un instrument puternic pentru programatorul de interfețe de date. Oferă o bază solidă care poate fi apoi modificată în funcție de cerințele clientului.