SAP Process On Value & Process On Help-Request
⚡ Έξυπνη Σύνοψη
Τα Process On Value-Request και Process On Help-Request είναι τα συμβάντα οθόνης πίσω από τα F4 και F1 στο SAP ABAP. Αυτή η σελίδα εξηγεί τόσο τα συμβάντα, τις εντολές FIELD που τα ενεργοποιούν όσο και τις λειτουργικές μονάδες που εμφανίζουν τεκμηρίωση ή πιθανές καταχωρήσεις.

Τι είναι η οπτική γωνία (POH) και η οπτική γωνία (POV);
Καταρχάς, για να ξεκινήσουμε, αν δεν γνωρίζετε τίποτα για τη λογική Screen Flow και τις χρήσεις της στο SAP, σας συνιστούμε να δείτε το σεμινάριό μας στο Πρόγραμμα διαλόγου.
Τα POH και POV είναι τα δύο συμβάντα οθόνης που απαντούν σε ένα αίτημα βοήθειας από τον χρήστη. Το POH αντιδρά στο πλήκτρο F1 και εξηγεί τι σημαίνει ένα πεδίο, ενώ το POV αντιδρά στο πλήκτρο F4 και παραθέτει τις τιμές που δέχεται το πεδίο. Και τα δύο δηλώνονται στη λογική ροής της οθόνης, δίπλα στα PBO και PAI.
| Κριτήρια | POH (Διαδικασία κατόπιν αιτήματος βοήθειας) | POV (Διαδικασία κατόπιν αιτήματος αξίας) |
|---|---|---|
| Ενεργοποιείται από | Το πλήκτρο F1 | Το πλήκτρο F4 ή το κουμπί Πιθανές καταχωρήσεις |
| Σκοπός | Εξηγεί την έννοια του πεδίου | Προσφέρει τις τιμές που δέχεται το πεδίο |
| Προεπιλεγμένη πηγή | Τεκμηρίωση στοιχείων δεδομένων στο λεξικό ABAP | Σταθερές τιμές, έλεγχος πίνακα ή βοήθεια αναζήτησης |
| Μεταφορά δεδομένων | Κανένα, το πεδίο εμφανίζεται μόνο | Η επιλεγμένη τιμή εγγράφεται ξανά στο πεδίο της οθόνης |
| Τυπική λειτουργική ενότητα | HELP_OBJECT_SHOW_FOR_FIELD | F4IF_INT_TABLE_VALUE_REQUEST |
Τώρα, ας εξετάσουμε λεπτομερώς το POH και το POV
Διαδικασία αιτήματος βοήθειας (POH): F1 Help
- Κάθε φορά που πατιέται το F1, εκτελείται το συμβάν POH για το καθορισμένο στοιχείο δεδομένων.
- Εάν το συμβάν PROCESS ON HELP-REQUEST δεν υπάρχει στη λογική διεργασίας μιας οθόνης, η τεκμηρίωση του πεδίου στο λεξικό ABAP λαμβάνεται ως βάση και εμφανίζεται. Ακόμα και αν αυτό δεν τερματιστεί, δεν εμφανίζεται καμία βοήθεια.
- Για να εμφανίσετε την τεκμηρίωση βοήθειας πεδίου, πρέπει να κωδικοποιήσετε την ακόλουθη λογική ροής οθόνης στο συμβάν POH:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- Εάν υπάρχει τεκμηρίωση στοιχείων δεδομένων για συγκεκριμένη οθόνη για το πεδίο , μπορείτε να το εμφανίσετε προσδιορίζοντας τον αριθμό του .
- Ο αριθμός μπορεί να είναι κυριολεκτική ή μεταβλητή. Η μεταβλητή πρέπει να δηλωθεί και να συμπληρωθεί στο αντίστοιχο πρόγραμμα ABAP.
- Σημείωση, η πρόταση FIELD δεν μεταφέρει τα περιεχόμενα του πεδίου οθόνης στο πρόγραμμα ABAP στην εκδήλωση PROCESS ON HELP-REQUEST. Εμφανίζει απλώς τεκμηρίωση βοήθειας. Αυτό είναι.
Η ενότητα ορίζεται στο πρόγραμμα ABAP όπως μια κανονική ενότητα PAI. Η λογική επεξεργασίας της ενότητας πρέπει να διασφαλίζει ότι εμφανίζεται επαρκής βοήθεια για το εν λόγω πεδίο. Αντί να καλείτε μια επιπλέον οθόνη με πεδία κειμένου, θα πρέπει να χρησιμοποιήσετε μία από τις ακόλουθες ενότητες λειτουργίας για να εμφανίσετε μια κατάλληλη SAPέγγραφο σεναρίου
HELP_OBJECT_SHOW_FOR_FIELD
- Αυτή η λειτουργική μονάδα εμφανίζει την τεκμηρίωση στοιχείων δεδομένων για στοιχεία οποιασδήποτε δομής ή πίνακα βάσης δεδομένων από το Λεξικό ABAP.
- Μεταβιβάζετε το όνομα του στοιχείου και της δομής ή του πίνακα στις παραμέτρους εισαγωγής FIELD και TABLE.
HELP_OBJECT_SHOW
- Χρησιμοποιήστε αυτήν τη λειτουργική μονάδα για να εμφανίσετε οποιαδήποτε SAPέγγραφο σεναρίου.
- Πρέπει να μεταβιβάσετε την κλάση εγγράφου (για παράδειγμα, TX για γενικά κείμενα, DE για τεκμηρίωση στοιχείων δεδομένων) και το όνομα του εγγράφου στις παραμέτρους εισαγωγής DOKCLASS και DOKNAME.
- Για τεχνικούς λόγους, πρέπει επίσης να περάσετε έναν κενό εσωτερικό πίνακα με τον τύπο γραμμής T.LINE στην παράμετρο tables της λειτουργικής μονάδας.
Το F1 εξηγεί το πεδίο. Το επόμενο συμβάν παραθέτει τι μπορεί να εισαχθεί σε αυτό.
Process on Value (POV): F4
- Όταν ο χρήστης επιλέξει τη συνάρτηση Πιθανές καταχωρήσεις (F4), το σύστημα εμφανίζει τις πιθανές τιμές εισαγωγής για ένα πεδίο (τιμές, πίνακας ελέγχου, κωδικός αντιστοίχισης), με την προϋπόθεση ότι έχουν αποθηκευτεί από τον προγραμματιστή.
- Το συμβάν PROCESS ON VALUE-REQUEST υποβάλλεται σε επεξεργασία πάντα εάν ο χρήστης έχει καλέσει "Πιθανές καταχωρίσεις".
- Για να ορίσετε Πιθανές τιμές για ένα πεδίο στην οθόνη, πρέπει να ορίσετε τα ακόλουθα στο συμβάν POV της λογικής ροής οθόνης:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- Για τις Πιθανές τιμές, εντός της ενότητας που ορίζεται παραπάνω, θα πρέπει να χρησιμοποιήσετε τη λειτουργική μονάδα γενικής λειτουργίας HELP_VALUES_GET_WITH_TABLE για να λάβετε πιθανές τιμές από το λεξικό ABAP.
Υπάρχουν κάποιες άλλες λειτουργίες που μπορούν επίσης να χρησιμοποιηθούν για βοήθεια εισαγωγής:
F4IF_FIELD_VALUE_REQUEST
- Καλεί δυναμικά τη βοήθεια εισόδου του Λεξικού ABAP.
- Μπορείτε να μεταβιβάσετε τα ονόματα στοιχείων ενός πίνακα δομής ή βάσης δεδομένων του Λεξικού ABAP στη λειτουργική μονάδα στις παραμέτρους εισαγωγής TABNAME και FIELDNAME.
- Η λειτουργική μονάδα ξεκινά το Λεξικό ABAP βοήθεια εισαγωγής για αυτό το στοιχείο. Διαβάζονται όλα τα σχετικά πεδία οθόνης.
- Εάν καθορίσετε τις παραμέτρους εισαγωγής DYNPPROG, DYNPNR και DYNPROFIELD, η επιλογή του χρήστη επιστρέφεται στο αντίστοιχο πεδίο στην οθόνη.
- Εάν καθορίσετε την παράμετρο πίνακα RETURN_TAB, η επιλογή επιστρέφεται στον πίνακα.
MODULE VALUE_CARRIER INPUT. CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' EXPORTING TABNAME = 'DEMOF4HELP' FIELDNAME = 'CARRIER1' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD= 'CARRIER'. ENDMODULE.
F4IF_INT_TABLE_VALUE_REQUEST
- Αυτή η λειτουργική μονάδα εμφανίζει μια λίστα τιμών που δημιουργήσατε σε ένα Πρόγραμμα ABAP.
- Η λίστα τιμών μεταβιβάζεται στη λειτουργική μονάδα ως παράμετρος πίνακα VALUE_TAB.
- Εάν καθορίσετε τις παραμέτρους εισαγωγής DYNPPROG, DYNPNR και DYNPROFIELD, η επιλογή του χρήστη επιστρέφεται στο αντίστοιχο πεδίο στην οθόνη.
- Εάν καθορίσετε την παράμετρο πίνακα RETURN_TAB, η επιλογή επιστρέφεται στον πίνακα.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'CONNID' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD = 'CONNECTION' VALUE_ORG = 'S' TABLES VALUE_TAB = VALUES_TAB.
Αυτό είναι όλο για POH και POV. Αφήστε τα σχόλιά σας σε περίπτωση αμφιβολίας.
Πώς να δημιουργήσετε μια βοήθεια F4 από έναν εσωτερικό πίνακα
Μια λίστα τιμών που δεν υπάρχει στο λεξικό ABAP δημιουργείται μέσα στο πρόγραμμα και παραδίδεται στο F4IF_INT_TABLE_VALUE_REQUEST. Τα παρακάτω βήματα παράγουν μια λειτουργική βοήθεια F4 για ένα πεδίο οθόνης.
- Δηλώστε τον πίνακα τιμών: Δημιουργήστε έναν εσωτερικό πίνακα του οποίου η πρώτη στήλη περιέχει την τιμή που γράφεται πίσω στην οθόνη. Συμπληρώστε τον σε μια ενότητα PBO ή στην ίδια την ενότητα αιτήματος τιμής.
- Καταχωρίστε το πεδίο στη λογική ροής: Προσθέστε την εντολή PROCESS ON VALUE-REQUEST στην οθόνη και συνδέστε το πεδίο με το FIELD … MODULE … έτσι ώστε η ενότητα να εκτελείται όταν πατηθεί το F4.
- Καλέστε τη λειτουργική ενότητα: Μεταβιβάστε το RETFIELD με το όνομα της στήλης, το DYNPROFIELD με το όνομα του πεδίου οθόνης και το VALUE_ORG = 'S' επειδή η λίστα μεταβιβάζεται ως δομημένος πίνακας.
- Επιστρέψτε την τιμή: Τα DYNPPROG και DYNPNR προσδιορίζουν το πρόγραμμα και την οθόνη, επομένως η επιλεγμένη γραμμή γράφεται απευθείας στο πεδίο της οθόνης χωρίς περαιτέρω κώδικα.
- Δοκιμασε το: Ενεργοποιήστε την οθόνη, πατήστε F4 στο πεδίο και ελέγξτε ότι εμφανίζεται η λίστα και ότι η επιλογή φτάνει στο πεδίο.
* Flow logic of the screen PROCESS ON VALUE-REQUEST. FIELD spfli-connid MODULE f4_connid. * Module in the ABAP program MODULE f4_connid INPUT. DATA: lt_values TYPE STANDARD TABLE OF spfli. SELECT * FROM spfli INTO TABLE lt_values WHERE carrid = spfli-carrid. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'CONNID' dynpprog = sy-repid dynpnr = sy-dynnr dynprofield = 'SPFLI-CONNID' value_org = 'S' TABLES value_tab = lt_values. ENDMODULE.
💡 Συμβουλές: Διαβάστε την τιμή ενός άλλου πεδίου οθόνης με τη λειτουργική μονάδα DYNP_VALUES_READ πριν συμπληρώσετε τη λίστα. Έτσι δημιουργείται μια εξαρτώμενη βοήθεια F4, όπως οι συνδέσεις για την αεροπορική εταιρεία που έχει ήδη καταχωρηθεί.
