SAP Έλεγχος πίνακα ABAP με παραδείγματα
⚡ Έξυπνη Σύνοψη
SAP Το ABAP Table Control εμφανίζει έναν εσωτερικό πίνακα ως κυλιόμενο πλέγμα σε μια οθόνη ενσωματωμένη στην Οθόνη PainterΑυτή η σελίδα εξηγεί τα χαρακτηριστικά του, τη δήλωση CONTROLS, τον χειρισμό του δρομέα, τους βρόχους PBO και PAI και τα χαρακτηριστικά της στήλης.

Τι είναι ένα στοιχείο ελέγχου πίνακα στο SAP ABAP;
Τα στοιχεία ελέγχου πίνακα και οι βρόχοι βημάτων είναι αντικείμενα για εμφάνιση πίνακα οθόνης που προσθέτετε σε μια οθόνη στην οθόνη Painter.
Από προγραμματιστική άποψη, τα στοιχεία ελέγχου πίνακα και οι βρόχοι βημάτων είναι σχεδόν ακριβώς τα ίδια. Τα στοιχεία ελέγχου πίνακα είναι απλώς βελτιωμένοι βρόχοι βημάτων που εμφανίζουν δεδομένα με την εμφάνιση και την αίσθηση που σχετίζονται με πίνακες σε εφαρμογές επιτραπέζιου υπολογιστή.
Χαρακτηριστικά του πίνακα ελέγχου ABAP
Με τα στοιχεία ελέγχου πίνακα, ο χρήστης μπορεί:
- Κάντε κύλιση στον πίνακα κάθετα και οριζόντια
- Αλλάξτε το μέγεθος του πλάτους μιας στήλης
- Κύλιση μέσα σε ένα πεδίο (όταν τα περιεχόμενα του πεδίου είναι ευρύτερα από το πεδίο)
- Επιλέξτε γραμμές ή στήλες πίνακα
- Ξαναδιάταξη της ακολουθίας στηλών
- Αποθηκεύστε τις τρέχουσες ρυθμίσεις οθόνης για μελλοντική χρήση
Τα χειριστήρια πινάκων προσφέρουν επίσης ειδικές δυνατότητες μορφοποίησης (μερικές αυτόματες, κάποιες προαιρετικές) που κάνουν τους πίνακες πιο εύκολο να προβληθούν και να χρησιμοποιηθούν. Ο έλεγχος πίνακα παρέχει -
- αυτόματη αλλαγή μεγέθους πίνακα (κάθετη και οριζόντια) όταν ο χρήστης αλλάζει το μέγεθος του παραθύρου
- διαχωριστικές γραμμές μεταξύ σειρών και μεταξύ στηλών (κάθετες και οριζόντιες)
- πεδία κεφαλίδας στήλης για όλες τις στήλες
Σε γενικές γραμμές, πολλές από τις δυνατότητες που παρέχονται από τον πίνακα ελέγχου χειρίζονται τοπικά από το σύστημά σας SAPgui frontend, οπότε δεν χρειάζεται να τα προγραμματίσετε μόνοι σας. Η μόνη αξιοσημείωτη εξαίρεση σε αυτό είναι η κατακόρυφη κύλιση.
Παράδειγμα (Συναλλαγή TZ60)
Η παραπάνω συναλλαγή TZ60 δείχνει το τελικό αποτέλεσμα: ένα πλέγμα με κεφαλίδες στηλών, διαχωριστικές γραμμές και μια στήλη επιλογής. Οι διαφορές από τον παλαιότερο βρόχο βημάτων συνοψίζονται στη συνέχεια.
Έλεγχος τραπεζιού έναντι βηματικού βρόχου
Ένα χαρακτηριστικό των βρόχων βημάτων είναι ότι οι γραμμές του πίνακα μπορούν να εκτείνονται σε περισσότερες από μία γραμμές στην οθόνη. Από την άλλη πλευρά, μια γραμμή ενός στοιχείου ελέγχου πίνακα πρέπει πάντα να περιέχεται σε μία μόνο γραμμή (αν και η κύλιση είναι δυνατή). Ο παρακάτω πίνακας συγκρίνει τα δύο στοιχεία της οθόνης.
| Κριτήρια | Έλεγχος πίνακα | Βρόχος βημάτων |
|---|---|---|
| Διάταξη σειρών | Μία σειρά είναι πάντα μία γραμμή οθόνης | Μία σειρά μπορεί να εκτείνεται σε πολλές γραμμές οθόνης |
| Χειρισμός στηλών | Οι στήλες μπορούν να αλλάξουν μέγεθος, να αναδιαταχθούν και να κρυφτούν από τον χρήστη | Διορθώθηκε η διάταξη στηλών που ορίστηκε στην οθόνη |
| κύλιση | Οριζόντια κύλιση από το frontend, κατακόρυφη κύλιση προγραμματισμένη σε PAI | Προγραμματισμένο εξ ολοκλήρου στον κώδικα ABAP |
| Δήλωση | ΣΤΟΙΧΕΙΑ ΕΛΕΓΧΟΥ … ΠΛΗΚΤΡΟΛΟΓΗΣΤΕ TABLEVIEW ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΗΝ ΟΘΟΝΗ | Δεν υπάρχει δομή ελέγχου στο πρόγραμμα |
| Ρυθμίσεις οθόνης | Ο χρήστης μπορεί να αποθηκεύσει μια προσωπική διάταξη | Δεν υπάρχουν διαθέσιμα στοιχεία |
Επειδή ο έλεγχος πίνακα είναι το σύγχρονο στοιχείο, το υπόλοιπο αυτής της σελίδας το προγραμματίζει.
Πώς να δημιουργήσετε και να προγραμματίσετε ένα στοιχείο ελέγχου πίνακα
Ένα στοιχείο ελέγχου πίνακα χρειάζεται ένα στοιχείο οθόνης, μια δομή ελέγχου στο πρόγραμμα και έναν βρόχο τόσο στο PBO όσο και στο PAI. Οι παρακάτω υποενότητες ακολουθούν αυτή τη σειρά.
Δήλωση ελέγχου
Για να χειριστείτε στοιχεία ελέγχου πίνακα σε προγράμματα ABAP, πρέπει να δηλώσετε ένα στοιχείο ελέγχου στο τμήμα δήλωσης του προγράμματος για κάθε στοιχείο ελέγχου πίνακα χρησιμοποιώντας την ακόλουθη πρόταση:
CONTROLS <ctrl> TYPE TABLEVIEW USING SCREEN <scr>
που είναι το όνομα του πίνακα ελέγχου σε μια οθόνη του προγράμματος ABAP. Το στοιχείο ελέγχου επιτρέπει στο πρόγραμμα ABAP να διαβάζει τα χαρακτηριστικά του πίνακα ελέγχου και να επηρεάζει το στοιχείο ελέγχου .Εδώ, είναι ο αριθμός οθόνης όπου φορτώνονται οι αρχικές τιμές του πίνακα.
Ρύθμιση και ανάγνωση της θέσης του κέρσορα
Η θέση του δρομέα για ένα στοιχείο ελέγχου πίνακα μπορεί να οριστεί με τους εξής τρόπους:
Στο PBO μπορείτε να ρυθμίσετε τον κέρσορα σε ένα συγκεκριμένο πεδίο μιας συγκεκριμένης γραμμής ενός στοιχείου ελέγχου πίνακα.
SET CURSOR FIELD <f> LINE <lin> [OFFSET <off>]
Χρησιμοποιώντας την προαιρετική προσθήκη OFFSET, μπορείτε να εισαγάγετε τη μετατόπιση του δρομέα στο πεδίο όπως περιγράφεται στην ενότητα Ρύθμιση της θέσης του δρομέα.
Στο PAI μπορείτε να διαβάσετε την τρέχουσα θέση του δρομέα.
GET CURSOR FIELD <f> LINE <lin> ...
Εκτός από τις πληροφορίες που δίνονται στο πεδίο Εύρεση της θέσης του δρομέα περιέχει πληροφορίες σχετικά με τη γραμμή του στοιχείου ελέγχου πίνακα που βρίσκεται αυτήν τη στιγμή ο δρομέας. Μπορείτε επίσης να χρησιμοποιήσετε
GET CURSOR LINE <lin>.
για να προσδιορίσετε τη γραμμή του στοιχείου ελέγχου πίνακα. Το SY-SUBRC σάς επιτρέπει να ελέγξετε εάν ο δρομέας βρίσκεται σε μια γραμμή ενός στοιχείου ελέγχου πίνακα.
Ανάγνωση της αντίστοιχης εσωτερικής γραμμής του πίνακα
Για τη λήψη της αντίστοιχης γραμμής του εσωτερικό τραπέζι:
GET CURSOR line <lin>. ind = <table_control>-top_line + <lin> - 1. Read table <itab> index ind.
Η μεταβλητή συστήματος stepl – περιέχει τον τρέχοντα δείκτη γραμμής πίνακα σε έναν βρόχο … endloop. Loopc – περιέχει τον αριθμό των γραμμών που είναι ορατές στον πίνακα
Δημιουργία του ελέγχου στην οθόνη Painter
Για να δημιουργήσετε ένα στοιχείο ελέγχου πίνακα
- Προσθέστε ένα στοιχείο ελέγχου πίνακα στην οθόνη σας
- Δώστε ένα όνομα στο στοιχείο ελέγχου του πίνακα. Στο πρόγραμμα ABAP, δηλώστε μια δομή με το ίδιο (CONTROLS πληκτρολογήστε TABLEVIEW ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΗΝ ΟΘΟΝΗ )
- Για να δημιουργήσετε πεδία, μεταβείτε στη συνάρτηση Πεδία Dict./Program.
- Εισαγάγετε το όνομα της δομής της οποίας τα πεδία θέλετε. (Αν θέλετε να το διαλέξετε από το λεξικό του προγράμματός σας κάντε κλικ στο σχετικό κουμπί).
- Στη λίστα πεδίων επιλέξτε τα πεδία που θέλετε και επιλέξτε OK.
- Κάντε κλικ στην περιοχή ελέγχου πίνακα
Εάν θέλετε μια στήλη επιλογής, επιλέξτε το κατάλληλο πλαίσιο ελέγχου στα χαρακτηριστικά και δώστε της ένα όνομα. Δημιουργήστε το πεδίο στο Πρόγραμμα ABAP.
Κωδικοποίηση των βρόχων PBO και PAI
Στο PBO θα πρέπει να έχετε τη δήλωση
LOOP at <itab> USING CONTROL <cntrl_name>. ENDLOOP.
Στο PAI θα έπρεπε να έχετε.
LOOP at <itab>. ENDLOOP.
Μέσα στους βρόχους γίνεται η μεταφορά δεδομένων μεταξύ της οθόνης και του εσωτερικού πίνακα. Όταν συμπληρώνετε τον εσωτερικό πίνακα, χρησιμοποιήστε την εντολή DESCRIBE TABLE. LINEμικρό -γραμμές, για να αποθηκεύσετε τον συνολικό αριθμό γραμμών στο στοιχείο ελέγχου. Η πρόταση FIELD μπορεί να χρησιμοποιηθεί για να ελέγξετε πότε πραγματοποιείται η μεταφορά δεδομένων
⚠️ Προειδοποίηση: Ο βρόχος PBO πρέπει να ονομάσει το στοιχείο ελέγχου με USING CONTROL. Χωρίς αυτό, το στοιχείο ελέγχου δεν γνωρίζει πόσες γραμμές υπάρχουν και η κάθετη κύλιση σταματά να λειτουργεί.
Αλλαγή χαρακτηριστικών στήλης κατά τον χρόνο εκτέλεσης
Για να αλλάξετε τα χαρακτηριστικά μεμονωμένων κελιών, αλλάξτε προσωρινά τον πίνακα SCREEN στο PBO. Μπορείτε να αλλάξετε τα χαρακτηριστικά της δομής που δημιουργήθηκε από την πρόταση CONTROLS
<cntrl>-fixed_cols etc are the attributes of the control <cntrl>-cols-index etc are the attributes of the columns. <cntrl>-cols-screen-invisible etc are the screen attributes of each column.
💡 Συμβουλές: Επανάληψη βρόχου -στήλες στο PBO για την απόκρυψη ή την προστασία μιας στήλης για έναν δεδομένο ρόλο χρήστη, αντί να δημιουργηθεί μια δεύτερη οθόνη.

