SAP Έλεγχος πίνακα ABAP με παραδείγματα
Τα στοιχεία ελέγχου πίνακα και οι βρόχοι βημάτων είναι αντικείμενα για εμφάνιση πίνακα οθόνης που προσθέτετε σε μια οθόνη στην οθόνη Painter.
Από προγραμματιστική άποψη, τα στοιχεία ελέγχου πίνακα και οι βρόχοι βημάτων είναι σχεδόν ακριβώς τα ίδια. Τα στοιχεία ελέγχου πίνακα είναι απλώς βελτιωμένοι βρόχοι βημάτων που εμφανίζουν δεδομένα με την εμφάνιση και την αίσθηση που σχετίζονται με πίνακες σε εφαρμογές επιτραπέζιου υπολογιστή.
Χαρακτηριστικά του πίνακα ελέγχου ABAP
Με τα στοιχεία ελέγχου πίνακα, ο χρήστης μπορεί:
- Κάντε κύλιση στον πίνακα κάθετα και οριζόντια
- Αλλάξτε το μέγεθος του πλάτους μιας στήλης
- Κύλιση μέσα σε ένα πεδίο (όταν τα περιεχόμενα του πεδίου είναι ευρύτερα από το πεδίο)
- Επιλέξτε γραμμές ή στήλες πίνακα
- Ξαναδιάταξη της ακολουθίας στηλών
- Αποθηκεύστε τις τρέχουσες ρυθμίσεις οθόνης για μελλοντική χρήση
Τα χειριστήρια πινάκων προσφέρουν επίσης ειδικές δυνατότητες μορφοποίησης (μερικές αυτόματες, κάποιες προαιρετικές) που κάνουν τους πίνακες πιο εύκολο να προβληθούν και να χρησιμοποιηθούν. Ο έλεγχος πίνακα παρέχει -
- αυτόματη αλλαγή μεγέθους πίνακα (κάθετη και οριζόντια) όταν ο χρήστης αλλάζει το μέγεθος του παραθύρου
- διαχωριστικές γραμμές μεταξύ σειρών και μεταξύ στηλών (κάθετες και οριζόντιες)
- πεδία κεφαλίδας στήλης για όλες τις στήλες
Ένα χαρακτηριστικό των βηματικών βρόχων είναι ότι οι σειρές του πίνακα τους μπορούν να εκτείνονται σε περισσότερες από μία γραμμές στην οθόνη. Μια σειρά ενός στοιχείου ελέγχου πίνακα, από την άλλη πλευρά, πρέπει πάντα να περιέχεται σε μία μόνο γραμμή (αν και η κύλιση είναι δυνατή).
Σε γενικές γραμμές, πολλές από τις δυνατότητες που παρέχονται από τον πίνακα ελέγχου χειρίζονται τοπικά από το σύστημά σας SAPgui frontend, οπότε δεν χρειάζεται να τα προγραμματίσετε μόνοι σας. Η μόνη αξιοσημείωτη εξαίρεση σε αυτό είναι η κατακόρυφη κύλιση.
Παράδειγμα (Συναλλαγή TZ60)
Σύνταξη
Για να χειριστείτε στοιχεία ελέγχου πίνακα σε προγράμματα 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 – περιέχει τον αριθμό των γραμμών που είναι ορατές στον πίνακα
Για να δημιουργήσετε ένα στοιχείο ελέγχου πίνακα
1.Προσθέστε ένα στοιχείο ελέγχου πίνακα στην οθόνη σας
2.Δώστε ένα όνομα στο στοιχείο ελέγχου πίνακα. Στο πρόγραμμα ABAP δηλώστε μια δομή με την ίδια ( CONTROLS τύπος ΠΡΟΒΟΛΗ ΠΙΝΑΚΑΣ ΜΕ ΧΡΗΣΗ ΟΘΟΝΗΣ )
3.Για να δημιουργήσετε πεδία, μεταβείτε στη συνάρτηση πεδίων Dict./Program.
- Εισαγάγετε το όνομα της δομής της οποίας τα πεδία θέλετε. (Αν θέλετε να το διαλέξετε από το λεξικό του προγράμματός σας κάντε κλικ στο σχετικό κουμπί).
- Στη λίστα πεδίων επιλέξτε τα πεδία που θέλετε και επιλέξτε OK.
- Κάντε κλικ στην περιοχή ελέγχου πίνακα
Εάν θέλετε μια στήλη επιλογής, επιλέξτε το κατάλληλο πλαίσιο ελέγχου στα χαρακτηριστικά και δώστε της ένα όνομα. Δημιουργήστε το πεδίο στο Πρόγραμμα ABAP.
Στο PBO θα πρέπει να έχετε τη δήλωση
LOOP at <itab> USING CONTROL <cntrl_name>. ENDLOOP.
Στο PAI θα έπρεπε να έχετε.
LOOP at <itab>. ENDLOOP.
Η μεταφορά δεδομένων μεταξύ της οθόνης και του εσωτερικού πίνακα γίνεται εντός των βρόχων. Όταν συμπληρώνετε τον εσωτερικό πίνακα, χρησιμοποιήστε DESCRIBE TABLE ΓΡΑΜΜΕΣ -γραμμές, για αποθήκευση του συνολικού αριθμού γραμμών στο στοιχείο ελέγχου. Η δήλωση FIELD μπορεί να χρησιμοποιηθεί για τον έλεγχο πότε γίνεται η μεταφορά δεδομένων
Για να αλλάξετε τα χαρακτηριστικά μεμονωμένων κελιών, αλλάξτε προσωρινά τον πίνακα 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.