Εκμάθηση υποοθονών ABAP: Καλέστε την υποοθόνη εισόδου SAP

Πριν διαβάσετε αυτό το σεμινάριο βεβαιωθείτε τι είναι ένα Πρόγραμμα διαλόγου…

ΚΛΗΣΗ ΥΠΟΟΘΟΝΗΣ

  • Μια υποοθόνη είναι μια ανεξάρτητη οθόνη που εμφανίζεται σε μια περιοχή μιας άλλης ("κύριας") οθόνης.
  • Οι δευτερεύουσες οθόνες σάς επιτρέπουν να ενσωματώνετε μια οθόνη σε μια άλλη κατά το χρόνο εκτέλεσης. Μπορείτε να συμπεριλάβετε πολλές υποοθόνες στην κύρια οθόνη.
  • Ο όρος υποοθόνη ισχύει τόσο για την οθόνη που ενσωματώνετε όσο και για την περιοχή στην κύρια οθόνη στην οποία την τοποθετείτε. Αυτό το σεμινάριο αφορά τις περιοχές υποοθόνης. Οι πραγματικές οθόνες που δημιουργούνται μέσω της συναλλαγής SE51, ονομάζονται οθόνες υποοθόνης εάν ορίζονται στα χαρακτηριστικά οθόνης.
  • Όταν χρησιμοποιείτε μια υποοθόνη, η λογική ροής της ενσωματωμένης οθόνης είναι επίσης ενσωματωμένη στη λογική ροής της κύριας οθόνης. Ως εκ τούτου, η χρήση υποοθονών σε οθόνες είναι σαν να χρησιμοποιείτε τα περιλαμβάνει σε Προγράμματα ABAP.

Για να χρησιμοποιήσετε μια υποοθόνη, πρέπει να ακολουθήσετε τρία απλά βήματα

  1. Καθορίστε τις περιοχές υποοθόνης σε μια οθόνη
  2. Ορίστε τις κατάλληλες οθόνες υποοθόνης
  3. Συμπεριλάβετε την οθόνη υποοθόνης στην περιοχή της υποοθόνης.

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

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

ΠΑΡΑΔΕΙΓΜΑ

Για παράδειγμα, εδώ έχουμε ορίσει δύο περιοχές υποοθόνης στην κύρια οθόνη και έχουμε συνδέσει δύο διαφορετικές υποοθόνες σε αντίστοιχες περιοχές. Κάθε φορά που καλείται η κύρια οθόνη, καλείται το PBO της κύριας οθόνης. Αλλά πριν από την εμφάνιση, καλούνται επίσης τα PBO κάθε οθόνης που συνδέονται με περιοχές υποοθόνης στην κύρια οθόνη.

Κλήση στην υποοθόνη SAP

Μπορείτε να συμπεριλάβετε μια οθόνη υποοθόνης χρησιμοποιώντας τη δήλωση CALL SUBSCREEN στη λογική ροής της κύριας οθόνης.

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

PROCESS BEFORE OUTPUT.

CALL SUBSCREEN <area> INCLUDING [<prog>] <dynp>.

Αυτή η δήλωση εκχωρεί στην οθόνη υποοθόνης αριθμό στην περιοχή υποοθόνης που ονομάζεται . Μπορείτε επίσης να καθορίσετε το πρόγραμμα στο οποίο ορίζεται η οθόνη υποοθόνης (προαιρετικό). Εάν δεν προσδιορίσετε ρητά το πρόγραμμα, το σύστημα αναζητά την οθόνη υποοθόνης στο ίδιο πρόγραμμα ABAP με το κύριο πρόγραμμα. Εάν δεν βρει την αντίστοιχη οθόνη υποοθόνης, παρουσιάζεται σφάλμα χρόνου εκτέλεσης. Στο ίδιο σημείο περιλαμβάνεται και η λογική ροής PBO της οθόνης υποοθόνης. Αυτό μπορεί να καλέσει μονάδες PBO του προγράμματος ABAP στο οποίο ορίζεται η οθόνη υποοθόνης. Στο τέλος της υποοθόνης PBO, τα καθολικά πεδία από το πρόγραμμα μεταβιβάζονται σε οποιαδήποτε πεδία οθόνης με το ίδιο όνομα στην οθόνη υποοθόνης. Η λογική ροής PBO της οθόνης υποοθόνης μπορεί να περιλαμβάνει περαιτέρω υποοθόνες.

Το όνομα της περιοχής της υποοθόνης πρέπει να εισαχθεί απευθείας χωρίς ανεστραμμένα κόμματα. Μπορείτε να καθορίσετε τα ονόματα και είτε ως κυριολεκτικά είτε ως μεταβλητές. Εάν χρησιμοποιείτε μεταβλητές, πρέπει να δηλώσετε και να συμπληρώσετε μεταβλητές με το ίδιο όνομα στο πρόγραμμα ABAP. Ο αριθμός οθόνης πρέπει να είναι 4 χαρακτήρες. Εάν δεν αντιστοιχίσετε μια οθόνη υποοθόνης σε μια περιοχή, αυτή παραμένει κενή.

Για να καλέσετε τη λογική ροής PAI της υποοθόνης, χρησιμοποιήστε την ακόλουθη δήλωση στη λογική ροής PAI της κύριας οθόνης:

PROCESS AFTER INPUT.

CALL SUBSCREEN <area>.

Αυτή η δήλωση περιλαμβάνει τη λογική ροής PAI της οθόνης υποοθόνης που περιλαμβάνεται στην περιοχή υποοθόνης στην εκδήλωση PBO. Αυτό μπορεί να καλέσει μονάδες PAI του προγράμματος ABAP στο οποίο ορίζεται η οθόνη υποοθόνης. Τα δεδομένα μεταφέρονται μεταξύ πεδίων με το ίδιο όνομα στην οθόνη υποοθόνης και στο πρόγραμμα ABAP είτε όταν ενεργοποιείται το συμβάν PAI είτε στις αντίστοιχες δηλώσεις FIELD στη λογική ροής PAI της οθόνης υποοθόνης.

Σημεία για να θυμάστε

  • Τα ονόματα των στοιχείων των υποοθονών σε μια οθόνη πρέπει να είναι μοναδικά
  • Δεν πρέπει να έχετε OK_CODE ή FCODE συνδεδεμένο με υπο-οθόνη. Το OK_CODE της ίδιας της κύριας οθόνης είναι OK_CODE της δευτερεύουσας οθόνης
  • Οι υποοθόνες δεν μπορούν να έχουν λειτουργικές μονάδες διαλόγου που να περιέχουν SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN ή LEAVE TO SCREEN. Αυτό θα προκαλέσει σφάλμα χρόνου εκτέλεσης.
  • Πρέπει να το καλέσετε στη λογική ροής (τόσο PBO όσο και PAI) της κύριας οθόνης.
  • Το CALL SUBSCREEN δεν επιτρέπεται στις δηλώσεις CHAIN..ENDCHAIN ​​και LOOP ENDLOOP
  • Δεν είναι δυνατή η ύπαρξη μονάδας AT EXIT-COMMAND
  • Τα πεδία που χρησιμοποιείτε είναι τα καθολικά πεδία. Πρέπει να δηλώνονται στο επάνω μέρος
  • Εάν χρησιμοποιείτε υποοθόνες από άλλη πρόγραμμα διαλόγου η μεταφορά δεδομένων δεν θα πραγματοποιηθεί αν δεν προσθέσετε συγκεκριμένο κωδικό.