SAP Προγραμματισμός Αναφοράς ABAP
⚡ Έξυπνη Σύνοψη
Ο προγραμματισμός αναφορών ABAP δημιουργεί εκτελέσιμα προγράμματα που επιλέγουν, επεξεργάζονται και εμφανίζουν μεγάλους όγκους αναφορών. SAP δεδομένα. Αυτή η σελίδα εξηγεί τις προσθήκες κεφαλίδας αναφοράς, την οθόνη επιλογής, την ακολουθία συμβάντων, τις εντολές μορφοποίησης, τις διαδραστικές λίστες και τις λογικές βάσεις δεδομένων.

Τι είναι ο Προγραμματισμός Αναφορών ABAP;
SAP-Το ABAP υποστηρίζει δύο τύπους προγραμμάτων – Προγράμματα αναφορών και Προγράμματα διαλόγου. Τα προγράμματα αναφορών χρησιμοποιούνται όταν χρειάζεται να εμφανιστούν μεγάλες ποσότητες δεδομένων.
Σκοπός/Χρήση Προγραμμάτων Αναφοράς
- Χρησιμοποιούνται όταν πρέπει να επιλεγούν και να υποστούν επεξεργασία δεδομένα από έναν αριθμό πινάκων πριν από την παρουσίασή τους.
- Χρησιμοποιείται όταν οι αναφορές απαιτούν ειδική μορφή
- Χρησιμοποιείται όταν πρέπει να γίνει λήψη της αναφοράς από SAP σε ένα φύλλο Excel που θα διανεμηθεί.
- Χρησιμοποιείται όταν η αναφορά πρέπει να σταλεί ταχυδρομικά σε ένα συγκεκριμένο άτομο.
Σημαντικά σημεία που πρέπει να σημειωθούν σχετικά με το πρόγραμμα αναφοράς
- Τα προγράμματα αναφοράς είναι πάντα εκτελέσιμα προγράμματα. Ο τύπος προγράμματος είναι πάντα 1.
- Κάθε πρόγραμμα Αναφοράς αντιστοιχεί σε έναν συγκεκριμένο Τύπο Εφαρμογής, π.χ. είτε με Πωλήσεις & Διανομή, FI – CO κ.λπ. Μπορεί επίσης να είναι Cross Application, δηλαδή τύπος «*».
- Ο προγραμματισμός αναφορών είναι ένας προγραμματισμός που βασίζεται σε συμβάντα.
- Η πρώτη γραμμή ενός προγράμματος αναφοράς είναι πάντα Αναφορά .
- Για να αποκρύψετε την επικεφαλίδα της λίστας ή το όνομα του προγράμματος η προσθήκη Χωρίς τυπική επικεφαλίδα σελίδας χρησιμοποιείται.
- Το μέγεθος γραμμής για μια συγκεκριμένη αναφορά μπορεί να οριστεί χρησιμοποιώντας την προσθήκη μέγεθος γραμμής .
- Ο αριθμός γραμμών για μια συγκεκριμένη σελίδα μπορεί να οριστεί χρησιμοποιώντας την προσθήκη αριθμός γραμμών n(n1). N είναι ο αριθμός των γραμμών για τη σελίδα και N1 είναι ο αριθμός των γραμμών που έχουν δεσμευτεί για το υποσέλιδο της σελίδας.
- Για να εμφανίσουμε οποιαδήποτε πληροφορία ή μήνυμα σφάλματος προσθέτουμε μια κλάση μηνυμάτων στο πρόγραμμα χρησιμοποιώντας την προσθήκη: Αναγνωριστικό μηνύματος . Οι κατηγορίες μηνυμάτων διατηρούνται στο SE91.
Επομένως, ένα ιδανικό πρόγραμμα αναφοράς θα πρέπει να ξεκινά με:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Πρόγραμμα Αναφοράς vs Πρόγραμμα Διαλόγου
Και οι δύο τύποι προγραμμάτων εκτελούνται στο ίδιο σύστημα, ωστόσο επιλύουν αντίθετα προβλήματα. Μια αναφορά διαβάζει και εμφανίζει δεδομένα, ενώ ένα πρόγραμμα διαλόγου επιτρέπει στον χρήστη να τα διατηρεί μέσω οθονών.
| Κριτήρια | Πρόγραμμα Αναφορών | Πρόγραμμα διαλόγου |
|---|---|---|
| Τύπος προγράμματος | Τύπος 1, εκτελέσιμο | Τύπος M, σύνολο μονάδων |
| Ξεκίνησε από | Όνομα προγράμματος ή κωδικός συναλλαγής | Μόνο ένας κωδικός συναλλαγής |
| Ο έλεγχος της ροής | Γεγονότα όπως ΑΡΧΙΚΟΠΟΙΗΣΗ και ΕΝΑΡΞΗ ΕΠΙΛΟΓΗΣ | Λογική ροής οθόνης με μονάδες PBO και PAI |
| Εισαγωγή χρήστη | Μια οθόνη επιλογής που δημιουργήθηκε | Οθόνες σχεδιασμένες στην οθόνη Painter |
| Τυπική χρήση | Εμφάνιση και λήψη μεγάλων όγκων δεδομένων | Δημιουργία και τροποποίηση επιχειρηματικών δεδομένων |
Η οθόνη επιλογής είναι το σημείο όπου μια αναφορά συλλέγει τα δεδομένα εισόδου της, επομένως περιγράφεται στη συνέχεια.
Οθόνη επιλογής
Η «οθόνη επιλογής» είναι η οθόνη όπου καθορίζουμε τις τιμές εισόδου για τις οποίες θα πρέπει να εκτελεστεί το πρόγραμμα.
Η οθόνη επιλογής δημιουργείται συνήθως από το
- Παράμετροι
- Επιλέξτε-Επιλογές
Σύνταξη
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
Παράμετροι
Οι παράμετροι βοηθούν κάποιον να κάνει δυναμική επιλογή. Μπορούν να φιλοξενήσουν μόνο μία τιμή για έναν κύκλο εκτέλεσης του προγράμματος.
Σύνταξη
Καθορισμός παραμέτρων ως τύπου δεδομένων
Parameters p_id(30) type c.
Καθορισμός παραμέτρων όπως ένα πεδίο πίνακα.
Parameter p_id like <table name>-<field name>.
Οι παράμετροι μπορεί να είναι πλαίσια ελέγχου καθώς και ραδιοκουμπιά.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
Οι παράμετροι μπορούν να είναι πλαίσιο λίστας.
Parameter p_id like <table name>-<field name> as listbox
Επιλέξτε
Η επιλογή Επιλογή χρησιμοποιείται για την εισαγωγή μιας περιοχής τιμών ή ενός συνόλου τιμών σε ένα πρόγραμμα
Σύνταξη
select-options s_vbeln for vbak-vbeln.
Το στιγμιότυπο οθόνης δείχνει τα πεδία εισαγωγής χαμηλού και υψηλού επιπέδου που δημιουργεί μια επιλογή, μαζί με το κουμπί πολλαπλής επιλογής.
Μπορείτε επίσης να ορίσετε μια επιλογή επιλογής όπως μια μεταβλητή
select-options s_vbeln for vbak-vbeln no intervals no-extension
Μόλις συλλεχθούν τα δεδομένα εισόδου, το πρόγραμμα αντιδρά σε μια καθορισμένη ακολουθία συμβάντων.
Γεγονότα σε ένα πρόγραμμα αναφοράς ABAP
Τα προγράμματα αναφοράς ABAP είναι προγράμματα που βασίζονται σε εκδηλώσεις. Τα διάφορα συμβάντα σε ένα πρόγραμμα αναφοράς είναι:
Φορτίο του προγράμματος
- Ενεργοποιεί το συσχετισμένο συμβάν σε μια εσωτερική περίοδο λειτουργίας μετά τη φόρτωση ενός προγράμματος τύπου 1, M, F ή S.
- Επίσης, εκτελεί το σχετικό μπλοκ επεξεργασίας μία και μία μόνο φορά για κάθε πρόγραμμα και εσωτερική περίοδο λειτουργίας.
- Το μπλοκ επεξεργασίας LOAD-OF-PROGRAM έχει περίπου την ίδια λειτουργία για ένα Πρόγραμμα ABAP τύπου 1, M, F ή S ως κατασκευαστής έχει για κλάσεις σε αντικείμενα ABAP
Αρχικοποίηση.
- Αυτό το συμβάν εκτελείται πριν εμφανιστεί η οθόνη επιλογής.
- Αρχικοποίηση όλων των τιμών.
- Μπορείτε να αντιστοιχίσετε διαφορετικές τιμές εκτός από τις προεπιλεγμένες τιμές στην οθόνη επιλογής.
- Μπορείτε να γεμίσετε την οθόνη επιλογής σας με ορισμένες τιμές κατά το χρόνο εκτέλεσης.
Στην Επιλογή-Οθόνη.
- Το συμβάν υποβάλλεται σε επεξεργασία όταν έχει γίνει επεξεργασία της οθόνης επιλογής (στο τέλος του PAI ).
- Η επικύρωση και οι έλεγχοι των εισαγόμενων τιμών γίνονται εδώ
Έναρξη Επιλογής.
- Εδώ το πρόγραμμα ξεκινά να επιλέγει τιμές από πίνακες.
Τέλος επιλογής.
- Αφού επιλεγούν όλα τα δεδομένα, αυτό το συμβάν εγγράφει τα δεδομένα στην οθόνη.
Διαδραστικές εκδηλώσεις
- Χρησιμοποιείται για διαδραστική αναφορά. Χρησιμοποιείται για τη δημιουργία μιας λεπτομερούς λίστας από μια βασική λίστα.
💡 Συμβουλές: Οι δηλώσεις που γράφονται χωρίς λέξη-κλειδί συμβάντος ανήκουν στην ΕΝΑΡΞΗ-ΕΠΙΛΟΓΗΣ από προεπιλογή, γι' αυτό και μια αναφορά εξακολουθεί να εκτελείται όταν λείπει το συμβάν.
Παράδειγμα: Ένα απλό πρόγραμμα αναφοράς ABAP
Το παρακάτω πρόγραμμα ενώνει τις προσθέσεις, την οθόνη επιλογής και τα συμβάντα σε μία αναφορά εργασίας. Διαβάζει κεφαλίδες παραγγελιών πώλησης από το VBAK για τους αριθμούς που έχουν εισαχθεί στην οθόνη επιλογής και τους γράφει ως λίστα.
REPORT z_sales_order_list NO STANDARD PAGE HEADING LINE-SIZE 80 LINE-COUNT 65(3) MESSAGE-ID zsd. TABLES: vbak. DATA: lt_vbak TYPE STANDARD TABLE OF vbak, ls_vbak TYPE vbak. * Selection screen SELECT-OPTIONS: s_vbeln FOR vbak-vbeln. PARAMETERS: p_erdat LIKE vbak-erdat. INITIALIZATION. p_erdat = sy-datum. AT SELECTION-SCREEN. IF p_erdat > sy-datum. MESSAGE e001(zsd). " Date must not lie in the future ENDIF. START-OF-SELECTION. SELECT * FROM vbak INTO TABLE lt_vbak WHERE vbeln IN s_vbeln AND erdat LE p_erdat. END-OF-SELECTION. LOOP AT lt_vbak INTO ls_vbak. WRITE: / ls_vbak-vbeln, ls_vbak-erdat, ls_vbak-netwr. HIDE ls_vbak-vbeln. ENDLOOP.
Αξίζει να σημειωθούν τρεις λεπτομέρειες. Η ΑΡΧΙΚΟΠΟΙΗΣΗ συμπληρώνει την παράμετρο ημερομηνίας πριν εμφανιστεί η οθόνη επιλογής. Η AT SELECTION-SCREEN επικυρώνει την καταχώρηση και εμφανίζει ένα μήνυμα από την κλάση ZSD. Η HIDE αποθηκεύει τον αριθμό σειράς κάθε γραπτής γραμμής, επομένως με διπλό κλικ μπορεί να δημιουργηθεί μια δευτερεύουσα λίστα από αυτήν, η οποία αποτελεί το θέμα της επόμενης ενότητας.
Μορφοποίηση της αναφοράς
Το ABAP επιτρέπει στις αναφορές να μορφοποιούνται όπως θέλει ο χρήστης. Για παράδειγμα, οι "Εναλλακτικές γραμμές" πρέπει να εμφανίζονται με διαφορετικά χρώματα και η γραμμή "Σύνολο" πρέπει να εμφανίζεται με κίτρινο χρώμα.
Σύνταξη
Format Color n Format Color n Intensified On
n μπορεί να αντιστοιχεί σε διάφορους αριθμούς
Λάβετε υπόψη ότι υπάρχουν και άλλες προσθήκες μαζί με τη μορφή
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Προγραμματισμός διαδραστικών αναφορών
- Χρησιμοποιώντας τον Διαδραστικό Προγραμματισμό, οι χρήστες μπορούν να ελέγχουν ενεργά την ανάκτηση και την εμφάνιση δεδομένων.
- Χρησιμοποιείται για τη δημιουργία μιας λεπτομερούς λίστας από μια πολύ βασική λίστα
- Τα λεπτομερή δεδομένα είναι γραμμένα σε δευτερεύουσα λίστα.
- Η δευτερεύουσα λίστα μπορεί είτε να επικαλύψει πλήρως την πρώτη οθόνη είτε να την εμφανίσει σε νέα οθόνη
- Οι δευτερεύουσες λίστες μπορεί να είναι αλληλεπιδραστικές.
- Η πρώτη λίστα μπορεί επίσης να καλέσει μια συναλλαγή.
- Υπάρχουν διάφορα συμβάντα που σχετίζονται με τον διαδραστικό προγραμματισμό.
Ορισμένες εντολές που χρησιμοποιούνται για διαδραστικό προγραμματισμό
Hotspot
Εάν κάποιος σύρει το ποντίκι πάνω από τα δεδομένα που εμφανίζονται στην αναφορά, ο κέρσορας αλλάζει σε ένα χέρι με τεντωμένο δείκτη. Ένα hotspot μπορεί να επιτευχθεί χρησιμοποιώντας τη δήλωση FORMAT.
Syntax: Format Hotspot On (Off).
Κρύβω
Αυτή η εντολή σάς βοηθά να αποθηκεύσετε τα ονόματα των πεδίων με βάση τα οποία θα γίνει περαιτέρω επεξεργασία για να λάβετε μια λεπτομερή λίστα. Γράφεται αμέσως μετά την πρόταση WRITE για ένα πεδίο. Όταν επιλέγεται μια σειρά, οι τιμές συμπληρώνονται αυτόματα στις μεταβλητές για περαιτέρω χρήση.
Syntax: Hide <field-name>.
Οι αναφορές που διαβάζουν πολλούς πίνακες μπορούν να αντικαταστήσουν τις εντολές SELECT με μια λογική βάση δεδομένων, όπως περιγράφεται παρακάτω.
Λογικές βάσεις δεδομένων
- Αντί να χρησιμοποιείτε ερωτήματα "Επιλογή", μπορείτε να χρησιμοποιήσετε λογική βάση δεδομένων για να ανακτήσετε δεδομένα για ένα πρόγραμμα.
- Οι λογικές βάσεις δεδομένων δημιουργούνται με συναλλαγή SE36
- Το όνομα μιας λογικής βάσης δεδομένων μπορεί να έχει μήκος έως και 20 χαρακτήρες. Μπορεί να ξεκινά με ένα πρόθεμα χώρου ονομάτων.
- Τα δεδομένα επιλέγονται από άλλο πρόγραμμα και μπορεί κανείς να έχει πρόσβαση στα δεδομένα χρησιμοποιώντας το GET εντολή που τοποθετεί τα δεδομένα στην περιοχή εργασίας .
Πλεονεκτήματα μιας λογικής βάσης δεδομένων έναντι των κανονικών ερωτημάτων επιλογής.
- Προσφέρει συνθήκες ελέγχου για να δείτε εάν η εισαγωγή είναι σωστή, πλήρης και εύλογη
- Περιέχει κεντρικούς ελέγχους εξουσιοδότησης για πρόσβαση στη βάση δεδομένων
- Βελτιώσεις όπως η βελτίωση της απόδοσης εφαρμόζονται αμέσως σε όλες τις αναφορές που χρησιμοποιούν λογική βάση δεδομένων.
Σημείωση: Λόγω της πολυπλοκότητας, οι λογικές βάσεις δεδομένων δεν χρησιμοποιούνται στις περισσότερες περιπτώσεις
