SAP ABAP BDC: Τι είναι η επικοινωνία δεδομένων παρτίδας;

⚡ Έξυπνη Σύνοψη

SAP Το ABAP BDC (Batch Data Communication - Επικοινωνία Δεδομένων Μαζικής Συναλλαγής) μεταφέρει δεδομένα παλαιού τύπου σε R/3, οδηγώντας αυτόματα τυπικές συναλλαγές. Αυτή η σελίδα εξηγεί τις συνεδρίες μαζικής εισαγωγής, τις κλασικές μεθόδους και τις μεθόδους συναλλαγών κλήσεων, τη δομή BDCDATA, τη ροή εργασίας BDC_OPEN_GROUP και τον καταγραφέα μαζικής εισαγωγής.

  • 🔄 Βασικός Σκοπός: Το BDC τροφοδοτεί αυτόματα σύνολα δεδομένων στις οθόνες μιας συναλλαγής, εκτελώντας κάθε οθόνη και επικύρωση επιχείρησης όπως θα έκανε ένας χρήστης.
  • 🧾 Συνεδρία μαζικής εισαγωγής: Μια συνεδρία ομαδοποιεί τις κλήσεις συναλλαγών με τα δεδομένα εισόδου τους και αποθηκεύεται στη βάση δεδομένων μέχρι να εκτελεστεί.
  • Δύο μέθοδοι: Η κλασική μαζική είσοδος χρησιμοποιεί BDC_OPEN_GROUP, BDC_INSERT και BDC_CLOSE_GROUP, ενώ η μέθοδος συναλλαγής κλήσης χρησιμοποιεί CALL TRANSACTION USING.
  • Επιλογή μεθόδου: Η κλασική μαζική είσοδος είναι σύγχρονη με ένα αρχείο καταγραφής και η συναλλαγή κλήσης είναι ταχύτερη, ασύγχρονη και χειρίζεται μία μόνο συναλλαγή.
  • 🗂️ Δομή BDCDATA: Τα πεδία PROGRAM, DYNPRO, DYNBEGIN, FNAM και FVAL περιγράφουν την οθόνη, το πεδίο και την τιμή για κάθε βήμα.
  • ⏺️ Μηχάνημα εγγραφής: Ο καταγραφέας μαζικής εισόδου καταγράφει μια χειροκίνητη συναλλαγή και δημιουργεί μια συνεδρία ή ένα έτοιμο πρόγραμμα BDC που εκτελείται αργότερα στο SM35.

SAP Επικοινωνία δεδομένων παρτίδας ABAP BDC

Εισαγωγή στην εισαγωγή παρτίδας

Η μαζική είσοδος χρησιμοποιείται συνήθως για τη μεταφορά δεδομένων από συστήματα μη R/3 σε συστήματα R/3 ή για τη μεταφορά δεδομένων μεταξύ συστημάτων R/3.

Είναι μια τεχνική μεταφοράς δεδομένων που σας επιτρέπει να μεταφέρετε σύνολα δεδομένων αυτόματα σε οθόνες που ανήκουν σε συναλλαγές, και συνεπώς σε SAP σύστημα. Η εισαγωγή παρτίδας ελέγχεται από μια περίοδο λειτουργίας μαζικής εισαγωγής.

Συνεδρία εισαγωγής παρτίδας

Ομαδοποιεί μια σειρά από κλήσεις συναλλαγών μαζί με δεδομένα εισόδου και ενέργειες χρήστη. Μια συνεδρία ομαδικής εισαγωγής μπορεί να χρησιμοποιηθεί για την εκτέλεση μιας συναλλαγής διαλόγου στη μαζική εισαγωγή, όπου ορισμένες ή όλες οι οθόνες υποβάλλονται σε επεξεργασία από τη συνεδρία. Οι συνεδρίες ομαδικής εισαγωγής αποθηκεύονται στη βάση δεδομένων ως πίνακες βάσης δεδομένων και μπορούν να χρησιμοποιηθούν σε ένα πρόγραμμα ως εσωτερικοί πίνακες κατά την πρόσβαση σε συναλλαγές.

Σημεία που πρέπει να σημειώσετε

  • Το BDI λειτουργεί κανονικά SAP συναλλαγές ακριβώς όπως θα έκανε ένας χρήστης, αλλά εκτελεί τη συναλλαγή αυτόματα.Όλες οι επικυρώσεις οθόνης και η επικύρωση επιχειρηματικής λογικής θα πραγματοποιηθούν κατά τη χρήση της εισαγωγής δεδομένων παρτίδας.
  • Είναι κατάλληλο για την εισαγωγή μεγάλου όγκου δεδομένων.
  • Δεν απαιτείται χειροκίνητη αλληλεπίδραση

Μέθοδοι εισαγωγής παρτίδας

SAP παρέχει δύο βασικές μεθόδους για τη μεταφορά δεδομένων παλαιού τύπου στο σύστημα R/3.

  1. Κλασική μέθοδος εισαγωγής παρτίδων.
  2. Μέθοδος συναλλαγής κλήσης.

Κλασική μέθοδος εισαγωγής παρτίδων

Σε αυτή τη μέθοδο ένα πρόγραμμα ABAP/4 διαβάζει τα εξωτερικά δεδομένα στο SAP Σύστημα και αποθηκεύεται σε μια συνεδρία ομαδικής εισαγωγής.

Μετά τη δημιουργία της συνεδρίας, μπορείτε να εκτελέσετε τη συνεδρία για να την εκτελέσετε SAP συναλλαγή σε αυτό.

Αυτή η μέθοδος χρησιμοποιεί τις λειτουργικές μονάδες BDC_ OPEN, BDC_INSERT και BDC_CLOSE

Η συνεδρία εισαγωγής παρτίδας μπορεί να διεκπεραιωθεί με 3 τρόπους

  1. Σε πρώτο πλάνο
  2. Στο παρασκήνιο
  3. Κατά την επεξεργασία, με εμφάνιση σφαλμάτων

Θα πρέπει να επεξεργάζεστε συνεδρίες εισαγωγής δέσμης στο προσκήνιο ή χρησιμοποιώντας την οθόνη σφαλμάτων εάν θέλετε να δοκιμάσετε τη μεταφορά δεδομένων.

Εάν θέλετε να εκτελέσετε τη μεταφορά δεδομένων ή να δοκιμάσετε την απόδοσή της, θα πρέπει να επεξεργαστείτε τις περιόδους σύνδεσης στο παρασκήνιο.

Σημεία που πρέπει να σημειωθούν σχετικά με τη μέθοδο κλασικής παρτίδας εισαγωγής

  • Syncχρόνιος επεξεργασία
  • Μεταφορά δεδομένων για πολλαπλές συναλλαγές.
  • SyncΧρονική ενημέρωση βάσης δεδομένων.
  • Ένα αρχείο καταγραφής διαδικασίας εισαγωγής παρτίδας δημιουργείται για κάθε περίοδο λειτουργίας.
  • Η συνεδρία δεν μπορεί να δημιουργηθεί παράλληλα.

Μέθοδος συναλλαγής κλήσης.

Σε αυτή τη μέθοδο ABAPΤο πρόγραμμα /4 χρησιμοποιεί την εντολή CALL TRANSACTION USING για να εκτελέσει ένα SAP συναλλαγή.

Ολόκληρη η διαδικασία εισαγωγής παρτίδας πραγματοποιείται ηλεκτρονικά στο πρόγραμμα

Μέθοδος συναλλαγής κλήσης

Σημεία προς σημείωση:

  • Ταχύτερη επεξεργασία δεδομένων
  • Ασύγχρονη επεξεργασία
  • Μεταφορά δεδομένων για μία μόνο συναλλαγή.
  • Δεν δημιουργείται αρχείο καταγραφής επεξεργασίας εισόδων παρτίδας.

Κλασική Εισαγωγή Μαζικής Συναλλαγής έναντι Συναλλαγής Κλήσεων

Οι δύο μέθοδοι φτάνουν στην ίδια συναλλαγή, αλλά διαφέρουν ως προς την ταχύτητα, την καταγραφή και τον χειρισμό σφαλμάτων. Ο παρακάτω πίνακας δείχνει πότε η καθεμία είναι η σωστή επιλογή.

Κριτήρια Κλασική μαζική εισαγωγή Συναλλαγή κλήσης
Τεχνική BDC_OPEN_GROUP, BDC_INSERT, BDC_CLOSE_GROUP ΣΥΝΑΛΛΑΓΗ ΚΛΗΣΗΣ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ
Επεξεργασία Syncχρόνια, τρέχει αργότερα από το SM35 Εκτελείται online, εντός του προγράμματος
Συναλλαγές Πολλές συναλλαγές σε μία συνεδρία Μία μόνο συναλλαγή ανά κλήση
Ιστορικό Δημιουργείται αυτόματα ένα αρχείο καταγραφής διεργασιών ανά συνεδρία Δεν υπάρχει αρχείο καταγραφής, το πρόγραμμα συλλέγει τα μηνύματα
Ταχύτητα Πιο αργό, αλλά ισχυρό και με δυνατότητα επανεκκίνησης Ταχύτερη
καλυτερα for Μεγάλα, εφάπαξ παλαιού τύπου φορτία που πρέπει να είναι ελέγξιμα Διαδραστικές ή υψηλής ταχύτητας μεταφορές ενός εγγράφου

Με τη σύγκριση των μεθόδων, η επόμενη ενότητα καθορίζει τη συνολική διαδικασία που ακολουθεί ένα έργο.

Διαδικασίες εισαγωγής παρτίδας

Διαδικασίες εισαγωγής παρτίδας

Συνήθως θα τηρείτε την ακόλουθη σειρά βημάτων για να αναπτύξετε την εισαγωγή παρτίδας για τον οργανισμό σας

  1. Ανάλυση των δεδομένων παλαιού τύπου. Προσδιορίστε τον τρόπο με τον οποίο τα δεδομένα που θα μεταφερθούν θα αντιστοιχιστούν στο SAP Δομή. Λάβετε επίσης υπόψη τις απαραίτητες μετατροπές τύπου ή μήκους δεδομένων.
  2. Δημιουργία SAP δομές δεδομένων για χρήση σε προγράμματα εξαγωγής.
  3. Εξάγετε τα δεδομένα σε ένα διαδοχικό αρχείο. Σημειώστε ότι η μορφή χαρακτήρων απαιτείται από προκαθορισμένη SAP προγράμματα μαζικής εισαγωγής.
  4. Εάν η SAP Τα παρεχόμενα προγράμματα BDC δεν χρησιμοποιούνται, κωδικοποιήστε το δικό σας πρόγραμμα εισαγωγής παρτίδας. Επιλέξτε μια κατάλληλη μέθοδο εισαγωγής παρτίδας ανάλογα με την κατάσταση.
  5. Επεξεργαστείτε τα δεδομένα και προσθέστε τα στο SAP σύστημα.
  6. Αναλύστε το αρχείο καταγραφής διαδικασίας. Για τη μέθοδο CALL TRANSACTION, όπου δεν δημιουργείται κατάλληλο αρχείο καταγραφής, χρησιμοποιήστε τα μηνύματα που συλλέγονται από το πρόγραμμά σας.
  7. Από τα αποτελέσματα της ανάλυσης της διαδικασίας, διορθώστε και επανεπεξεργαστείτε τα λανθασμένα δεδομένα.

Συγγραφή προγράμματος BDC

Μπορείτε να ακολουθήσετε την ακόλουθη διαδικασία για να γράψετε το πρόγραμμα BDC

  1. Αναλύστε τις συναλλαγές για την επεξεργασία δεδομένων εισόδου παρτίδας.
  2. Αποφασίστε τη μέθοδο εισαγωγής παρτίδας που θα χρησιμοποιήσετε.
  3. Ανάγνωση δεδομένων από διαδοχικό αρχείο
  4. Εκτελέστε μετατροπή δεδομένων ή έλεγχο σφαλμάτων.
  5. Αποθήκευση των δεδομένων στη δομή εισαγωγής παρτίδας, BDCDATA.
  6. Δημιουργήστε μια συνεδρία εισαγωγής δέσμης για κλασική ομαδική εισαγωγή ή επεξεργαστείτε τα δεδομένα απευθείας με τη δήλωση CALL TRANSACTION USING.

Δομή δεδομένων εισαγωγής παρτίδας

Δήλωση δομής δεδομένων εισαγωγής παρτίδας

DATA : BEGIN OF < bdc table>

OCCURS <occurs parameters>.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF <bdc table>.
Ονομα πεδίου Χαρακτηριστικά Μήκος Περιγραφή
ΠΡΟΓΡΑΜΜΑ ΑΠΑΝΘΡΑΚΩΝΩ 8 Μονάδα πισίνας
DYNPRO NUMC 4 Αριθμός Dynpro
DYNBEGIN ΑΠΑΝΘΡΑΚΩΝΩ 1 Έναρξη ενός dynpro
FNAM ΑΠΑΝΘΡΑΚΩΝΩ 35 Ονομα πεδίου
ΦΒΑΛ ΑΠΑΝΘΡΑΚΩΝΩ 80 Τιμή πεδίου

Η σειρά των πεδίων μέσα στα δεδομένα για μια συγκεκριμένη οθόνη δεν έχει καμία σημασία

Σημειώνει τη σημείωση

  • Κατά τη συμπλήρωση των δεδομένων BDC, βεβαιωθείτε ότι λαμβάνετε υπόψη τις ρυθμίσεις χρήστη. Αυτό ισχύει ιδιαίτερα για τη συμπλήρωση πεδίων που περιλαμβάνουν αριθμούς (όπως ποσότητα, ποσό). Η ρύθμιση χρήστη είναι αυτή που καθορίζει ποια είναι η ομάδα.ping χαρακτήρας για αριθμούς Π.χ.: Ένας αριθμός πενήντα χιλιάδες μπορεί να γραφτεί ως 50,000.00 ή 50.000,00 ανάλογα με τη ρύθμιση του χρήστη.
  • Συμπυκνώστε το πεδίο FVAL για τα πεδία ποσότητας και ποσότητας, ώστε να παραμείνουν ευθυγραμμισμένα.
  • Σημειώστε ότι όλα τα πεδία που συμπληρώνετε μέσω του BDC θα πρέπει να αντιμετωπίζονται ως πεδία τύπου χαρακτήρων κατά τη συμπλήρωση του πίνακα δεδομένων BDC.
  • Σε ορισμένες οθόνες, όταν συμπληρώνετε τιμές σε ένα στοιχείο ελέγχου πίνακα χρησιμοποιώντας το BDC, πρέπει να σημειώσετε πόσες σειρές υπάρχουν σε ένα προεπιλεγμένο μέγεθος της οθόνης και κωδικό για τόσες σειρές. Εάν πρέπει να συμπληρώσετε περισσότερες σειρές, τότε θα πρέπει να κωδικοποιήσετε τη λειτουργία "Σελίδα προς τα κάτω", όπως θα κάνατε όταν συμπληρώνετε χειροκίνητα το στοιχείο ελέγχου πίνακα.
  • Ο αριθμός των γραμμών που θα εμφανίζονταν στο παραπάνω σενάριο θα διαφέρει ανάλογα με το μέγεθος οθόνης που χρησιμοποιεί ο χρήστης. Επομένως, κωδικοποιήστε πάντα για το τυπικό μέγεθος οθόνης και κάντε το BDC σας να λειτουργεί πάντα σε τυπικό μέγεθος οθόνης, ανεξάρτητα από το μέγεθος της οθόνης που διατηρεί ο χρήστης.

Δημιουργία συνεδρίας εισαγωγής παρτίδας

  1. Ανοίξτε την περίοδο λειτουργίας μαζικής εισαγωγής χρησιμοποιώντας τη λειτουργική μονάδα BDC_OPEN_GROUP.
  2. Για κάθε συναλλαγή στη συνεδρία:
  3. Συμπληρώστε το BDCDATA με τιμές για όλες τις οθόνες και τα πεδία που υποβάλλονται σε επεξεργασία στη συναλλαγή.
  4. Μεταφέρετε τη συναλλαγή στη συνεδρία με το BDC_INSERT.
  5. Κλείστε την περίοδο λειτουργίας μαζικής εισαγωγής με το BDC_CLOSE_GROUP

Παράδειγμα: BDC χρησιμοποιώντας Συναλλαγή Κλήσης

Το παρακάτω πρόγραμμα δείχνει τη μέθοδο συναλλαγής κλήσης από άκρο σε άκρο. Δημιουργεί τον πίνακα BDCDATA για δύο οθόνες μιας συναλλαγής και τον εκτελεί σε λειτουργία N (χωρίς εμφάνιση) με έναν πίνακα σφαλμάτων, ώστε να μπορούν να αναφέρονται οι αποτυχίες.

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.

💡 Συμβουλές: Η παράμετρος MODE ελέγχει την εμφάνιση: Η παράμετρος A εμφανίζει όλες τις οθόνες, η παράμετρος E σταματά μόνο σε περίπτωση σφάλματος και η παράμετρος N εκτελείται αθόρυβα. Χρησιμοποιήστε την παράμετρο E κατά τη διάρκεια των δοκιμών και την παράμετρο N για το φορτίο παραγωγής.

Συσκευή εγγραφής εισόδου παρτίδας

Η συσκευή εγγραφής μαζικής εισαγωγής (Σύστημα > Υπηρεσίες > Εισαγωγή παρτίδας > Εγγραφή) καταγράφει τις συναλλαγές που εισάγονται χειροκίνητα και δημιουργεί μια περίοδο λειτουργίας μαζικής εισαγωγής που μπορεί να εκτελεστεί αργότερα χρησιμοποιώντας το SM35.

Συσκευή εγγραφής εισόδου παρτίδας

  • Ξεκινήστε τη συσκευή εγγραφής εισόδου παρτίδας επιλέγοντας το κουμπί Εγγραφή από την αρχική οθόνη εισαγωγής παρτίδας.
  • Το όνομα της εγγραφής είναι ένα όνομα που ορίζεται από το χρήστη και μπορεί να ταιριάζει με το όνομα της περιόδου σύνδεσης ομαδικής εισαγωγής που μπορεί να δημιουργηθεί από την εγγραφή.
  • Εισάγετε ένα SAP συναλλαγή και ξεκινήστε τη δημοσίευση της συναλλαγής.
  • Αφού ολοκληρώσετε την ανάρτηση α SAP συναλλαγή μπορείτε είτε να επιλέξετε Λήψη συναλλαγής και Αποθήκευση για να τερματίσετε την εγγραφή ή Επόμενη συναλλαγή και να δημοσιεύσετε μια άλλη συναλλαγή.
  • Αφού αποθηκεύσετε την εγγραφή, μπορείτε να δημιουργήσετε μια συνεδρία ομαδικής εισαγωγής από την εγγραφή ή/και να δημιουργήσετε ένα πρόγραμμα μαζικής εισαγωγής από την εγγραφή.
  • Η συνεδρία ομαδικής εισαγωγής που δημιουργήσατε μπορεί τώρα να αναλυθεί όπως κάθε άλλη συνεδρία ομαδικής εισαγωγής.
  • Το πρόγραμμα που δημιουργείται από τη λειτουργία του καταγραφέα εισόδου παρτίδας είναι ένα ισχυρό εργαλείο για τον προγραμματιστή διασύνδεσης δεδομένων. Παρέχει μια σταθερή βάση η οποία μπορεί στη συνέχεια να τροποποιηθεί σύμφωνα με τις απαιτήσεις του πελάτη.

⚠️ Προειδοποίηση: Μια εγγραφή καταγράφει την ακολουθία οθόνης ακριβώς όπως συνέβη, επομένως μια οθόνη που εμφανίζεται μόνο για συγκεκριμένα δεδομένα, όπως ένα αναδυόμενο παράθυρο μη ολοκλήρωσης, δεν καταγράφεται. Να δοκιμάζετε πάντα το πρόγραμμα που δημιουργείται με δεδομένα που ενεργοποιούν κάθε προαιρετική οθόνη.

Συχνές Ερωτήσεις

Το BDC_OKCODE φέρει τον κωδικό συνάρτησης που ένας χρήστης θα ενεργοποιούσε με ένα κουμπί ή ένα πλήκτρο, όπως /00 για Enter ή =SAVE για Αποθήκευση. Υποδεικνύει στην οθόνη ποια ενέργεια πρέπει να εκτελεστεί αφού συμπληρωθούν τα πεδία.

Το SM35 είναι η οθόνη μαζικής εισόδου. Παραθέτει τις συνεδρίες που δημιουργούνται από την κλασική μαζική είσοδο, τις εκτελεί σε πρώτο πλάνο ή στο παρασκήνιο και εμφανίζει το αρχείο καταγραφής διεργασιών, ώστε οι αποτυχημένες συναλλαγές να μπορούν να αναλυθούν και να υποστούν εκ νέου επεξεργασία.

Το BDC εξακολουθεί να χρησιμοποιείται όπου δεν υπάρχει BAPI, επειδή επαναχρησιμοποιεί τις επικυρώσεις οθόνης μιας συναλλαγής. Το LSMW ενσωματώνει το BDC, τις εγγραφές και τα BAPI σε ένα εργαλείο μετεγκατάστασης και ένα ΜΠΑΠΗ Προτιμάται όταν υπάρχει διαθέσιμο ένα σταθερό API.

Ναι. Οι βοηθοί τεχνητής νοημοσύνης στα εργαλεία ανάπτυξης ABAP λαμβάνουν μια εγγραφή ή μια λίστα οθονών και συντάσσουν τον πληθυσμό BDCDATA, το μπλοκ CALL TRANSACTION και τον χειρισμό μηνυμάτων. Ο προγραμματιστής αντιστοιχίζει το αρχείο προέλευσης και δοκιμάζει το φορτίο.

Τα εργαλεία τεχνητής νοημοσύνης δημιουργούν προφίλ στο παλαιό αρχείο, επισημαίνουν τυχόν υποχρεωτικά πεδία που λείπουν και τυχόν αναντιστοιχίες μορφοποίησης πριν από τη φόρτωση και συνοψίζουν το αρχείο καταγραφής μαζικής εισαγωγής στη συνέχεια, ώστε οι εσφαλμένες εγγραφές να μπορούν να διορθωθούν και να υποστούν εκ νέου επεξεργασία πιο γρήγορα.

Συνοψίστε αυτήν την ανάρτηση με: