SAP ABAP Table Control με παραδείγματα

Anonim

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

  • Μετακινηθείτε στον πίνακα κάθετα και οριζόντια
  • Επαναπροσδιορίστε το πλάτος μιας στήλης
  • Μετακινηθείτε σε ένα πεδίο (όταν το περιεχόμενο του πεδίου είναι μεγαλύτερο από το πεδίο)
  • Επιλέξτε γραμμές ή στήλες πίνακα
  • Αναδιάταξη της ακολουθίας στηλών
  • Αποθηκεύστε τις τρέχουσες ρυθμίσεις οθόνης για μελλοντική χρήση

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

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

Ένα χαρακτηριστικό των βρόχων βημάτων είναι ότι οι σειρές τραπεζιού τους μπορούν να εκτείνονται σε περισσότερες από μία γραμμές στην οθόνη. Από την άλλη πλευρά, μια σειρά ελέγχου πίνακα πρέπει να περιέχεται σε μία μόνο γραμμή (αν και είναι δυνατή η κύλιση).
Σε γενικές γραμμές, πολλές από τις λειτουργίες που παρέχονται από τον πίνακα ελέγχου χειρίζονται τοπικά από το SAPgui frontend του συστήματός σας, οπότε δεν χρειάζεται να τα προγραμματίσετε μόνοι σας. Η μόνη αξιοσημείωτη εξαίρεση σε αυτό είναι η κάθετη κύλιση .
Παράδειγμα (Συναλλαγή TZ60)


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

ΕΛΕΓΧΟΙ  ΠΙΝΑΚΑΣ ΤΥΠΟΥ ΜΕ ΧΡΗΣΗ ΟΘΟΝΗΣ 

όπου είναι το όνομα του πίνακα ελέγχου σε μια οθόνη στο πρόγραμμα ABAP. Το στοιχείο ελέγχου επιτρέπει στο πρόγραμμα ABAP να διαβάσει τα χαρακτηριστικά του πίνακα ελέγχου και να επηρεάσει το στοιχείο ελέγχου. Εδώ, είναι ο αριθμός οθόνης όπου φορτώνονται οι αρχικές τιμές του πίνακα.
Η θέση του δρομέα για ένα στοιχείο ελέγχου πίνακα μπορεί να οριστεί με τους ακόλουθους τρόπους:
Στο PBO μπορείτε να ρυθμίσετε τον κέρσορα σε ένα συγκεκριμένο πεδίο μιας συγκεκριμένης σειράς ελέγχου πίνακα.

ΡΥΘΜΙΣΗ ΠΕΔΙΟΥ ΚΡΟΥΣΟΡΡΑ  LINE 
 [OFFSET ]

Χρησιμοποιώντας την προαιρετική προσθήκη OFFSET, μπορείτε να εισαγάγετε την μετατόπιση του δρομέα στο πεδίο όπως περιγράφεται στην ενότητα Ρύθμιση της θέσης του δρομέα.
Στο PAI μπορείτε να διαβάσετε την τρέχουσα θέση του δρομέα.

ΛΗΨΗ ΠΕΔΙΟΥ ΚΡΟΥΣΟΡΟΥ  LINE 

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

ΛΗΨΗ ΓΡΑΜΜΗΣ ΚΡΥΣΟΡ 
.

για να προσδιορίσετε τη σειρά του πίνακα ελέγχου. Το SY-SUBRC σας επιτρέπει να ελέγξετε εάν ο δρομέας είναι τοποθετημένος σε μια σειρά ελέγχου πίνακα.
Για να λάβετε την αντίστοιχη γραμμή του εσωτερικού πίνακα:

Λάβετε τη γραμμή CURSOR 
.ind = 
 -top_line + 
 - 1.Διαβάστε τον πίνακα  index ind.

Η μεταβλητή συστήματος stepl - περιέχει τον τρέχοντα δείκτη γραμμής πίνακα σε έναν βρόχο… endloop. Loopc - περιέχει τον αριθμό των γραμμών που είναι ορατές στον πίνακα
Για να δημιουργήσετε ένα στοιχείο ελέγχου πίνακα
1.
Προσθέστε ένα στοιχείο ελέγχου πίνακα στην οθόνη σας 2. Δώστε ένα όνομα στον πίνακα ελέγχου. Στο πρόγραμμα ABAP δηλώστε μια δομή με τον ίδιο (CONTROLS type TABLEVIEW USING SCREEN )
3. Για να δημιουργήσετε πεδία μεταβείτε στη λειτουργία πεδίων Dict./Program.

  • Εισαγάγετε το όνομα της δομής του οποίου τα πεδία θέλετε. (Εάν θέλετε να το επιλέξετε από το λεξικό του προγράμματος, κάντε κλικ στο σχετικό κουμπί).
  • Στη λίστα πεδίων επιλέξτε τα πεδία που θέλετε και επιλέξτε εντάξει.
  • Κάντε κλικ στην περιοχή ελέγχου του πίνακα

Εάν θέλετε μια στήλη επιλογής, επιλέξτε το κατάλληλο πλαίσιο ελέγχου στα χαρακτηριστικά και δώστε του ένα όνομα. Δημιουργήστε το πεδίο στο πρόγραμμα ABAP.
Στο PBO θα πρέπει να έχετε τη δήλωση

ΒΟΗΘΕΙΑ στο  ΧΡΗΣΗ ΕΛΕΓΧΟΥ .ΤΕΛΟΣ.

Στο PAI θα πρέπει να έχετε.

ΒΡΟΧΟΣ στο .ΤΕΛΟΣ.

Μέσα στους βρόχους πραγματοποιείται μεταφορά δεδομένων μεταξύ της οθόνης και του εσωτερικού πίνακα. Όταν συμπληρώνετε τον εσωτερικό πίνακα, χρησιμοποιήστε DESCRIBE TABLE LINES -lines, για να αποθηκεύσετε τον συνολικό αριθμό γραμμών στο στοιχείο ελέγχου. Η δήλωση FIELD μπορεί να χρησιμοποιηθεί για τον έλεγχο πότε συμβαίνει η μεταφορά δεδομένων
Για να αλλάξετε τα χαρακτηριστικά των μεμονωμένων κελιών αλλάξτε προσωρινά τον πίνακα ΟΘΟΝΗΣ στο PBO. Μπορείτε να αλλάξετε τα χαρακτηριστικά της δομής που δημιουργήθηκε από τη δήλωση CONTROLS

 -fixed_cols κ.λπ. είναι τα χαρακτηριστικά του στοιχείου ελέγχου -cols-index κλπ είναι τα χαρακτηριστικά των στηλών. -cols-screen-invisible κ.λπ. είναι τα χαρακτηριστικά οθόνης κάθε στήλης.