SAP Προγραμματισμός Αναφοράς ABAP

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

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

  • 📊 Βασικός Σκοπός: Ένα πρόγραμμα αναφορών διαβάζει δεδομένα από διάφορους πίνακες, τα επεξεργάζεται και τα παρουσιάζει ως λίστα που μπορεί να μορφοποιηθεί, να ληφθεί ή να αποσταλεί ταχυδρομικώς.
  • 🧾 Τύπος προγράμματος: Κάθε αναφορά είναι ένα εκτελέσιμο πρόγραμμα τύπου 1, συνδεδεμένο με μια περιοχή εφαρμογής και καθοδηγούμενο εξ ολοκλήρου από συμβάντα.
  • 🏁 Προσθήκες κεφαλίδας: ΔΕΝ ΥΠΑΡΧΕΙ ΤΥΠΟΠΟΙΗΜΕΝΗ ΕΠΙΣΤΟΛΗ ΣΕΛΙΔΑΣ, LINE-ΜΕΓΕΘΟΣ, LINEΟι τιμές -COUNT και MESSAGE-ID ανήκουν στην πρώτη πρόταση REPORT.
  • Οθόνη επιλογής: Η συνάρτηση PARAMETERS δέχεται μία μόνο τιμή και η συνάρτηση SELECT-OPTIONS δέχεται ένα εύρος ή ένα σύνολο τιμών.
  • Ακολουθία συμβάντων: Οι λειτουργίες ΦΟΡΤΩΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ, ΑΡΧΙΚΟΠΟΙΗΣΗ, ΣΤΗΝ ΟΘΟΝΗ ΕΠΙΛΟΓΗΣ, ΕΝΑΡΞΗ ΕΠΙΛΟΓΗΣ και ΤΕΛΟΣ ΕΠΙΛΟΓΗΣ εκτελούνται με σταθερή σειρά.
  • 🖱️ Διαδραστικές λίστες: Η εντολή HIDE αποθηκεύει τις τιμές πεδίων της επιλεγμένης γραμμής και η εντολή HOTSPOT μετατρέπει ένα πεδίο λίστας σε στοιχείο με δυνατότητα κλικ για τη δευτερεύουσα λίστα.
  • 🗄️ Λογικές Βάσεις Δεδομένων: Δημιουργημένα στο SE36, αντικαθιστούν τις εντολές SELECT με ένα συμβάν GET και προσθέτουν κεντρικούς ελέγχους εξουσιοδότησης.

SAP Προγραμματισμός Αναφοράς ABAP

Τι είναι ο Προγραμματισμός Αναφορών 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
Τυπική χρήση Εμφάνιση και λήψη μεγάλων όγκων δεδομένων Δημιουργία και τροποποίηση επιχειρηματικών δεδομένων

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

Οθόνη επιλογής

Η «οθόνη επιλογής» είναι η οθόνη όπου καθορίζουμε τις τιμές εισόδου για τις οποίες θα πρέπει να εκτελεστεί το πρόγραμμα.

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

  1. Παράμετροι
  2. Επιλέξτε-Επιλογές

Σύνταξη

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 εντολή που τοποθετεί τα δεδομένα στην περιοχή εργασίας .

Πλεονεκτήματα μιας λογικής βάσης δεδομένων έναντι των κανονικών ερωτημάτων επιλογής.

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

Σημείωση: Λόγω της πολυπλοκότητας, οι λογικές βάσεις δεδομένων δεν χρησιμοποιούνται στις περισσότερες περιπτώσεις

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

Η συνάρτηση PARAMETERS δημιουργεί ένα πεδίο εισαγωγής που περιέχει μία μόνο τιμή. Η συνάρτηση SELECT-OPTIONS δημιουργεί έναν εσωτερικό πίνακα με τα πεδία SIGN, OPTION, LOW και HIGH, ώστε να δέχεται εύρη, εξαιρέσεις και πολλαπλές επιλογές.

AT LINEΗ εντολή -SELECTION αντιδρά σε ένα διπλό κλικ ή στο πλήκτρο F2 και η εντολή AT USER-COMMAND αντιδρά σε έναν κωδικό συνάρτησης από το μενού. Και οι δύο δημιουργούν τη δευτερεύουσα λίστα από τις τιμές που αποθηκεύονται από την εντολή HIDE.

Το μενού λίστας προσφέρει τις επιλογές Λίστα, Αποθήκευση και Τοπικό Αρχείο για μια κλασική αναφορά. Ένα πρόγραμμα μπορεί επίσης να καλέσει τη λειτουργική μονάδα GUI_DOWNLOAD και μια λίστα ALV εξάγει σε ένα υπολογιστικό φύλλο χωρίς επιπλέον κωδικοποίηση.

Ναι. Οι βοηθοί τεχνητής νοημοσύνης στα εργαλεία ανάπτυξης ABAP δημιουργούν την κεφαλίδα REPORT, τις SELECT-OPTIONS και τα μπλοκ συμβάντων από μια απλή περιγραφή της απαιτούμενης λίστας. Το δημιουργημένο SELECT χρειάζεται ακόμη έλεγχο απόδοσης.

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

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