SAP Proces op waarde & proces op hulpverzoek
⚡ Slimme samenvatting
Process On Value-Request en Process On Help-Request zijn de schermgebeurtenissen achter F4 en F1. SAP ABAP. Deze pagina legt zowel gebeurtenissen uit, de FIELD-instructies die ze activeren, als de functiemodules die documentatie of mogelijke invoerwaarden weergeven.
Wat zijn POH en POV?
Om te beginnen, als je niets weet over Screen Flow-logica en het gebruik ervan in SAPWe raden je aan onze handleiding te bekijken over Dialoogprogramma.
POH en POV zijn de twee schermgebeurtenissen die een hulpvraag van de gebruiker beantwoorden. POH reageert op de F1-toets en legt uit wat een veld betekent, terwijl POV reageert op de F4-toets en de waarden weergeeft die het veld accepteert. Beide zijn gedeclareerd in de stroomlogica van het scherm, naast PBO en PAI.
| criteria | POH (Process On Help-Request) | POV (Proces op waardeverzoek) |
|---|---|---|
| Veroorzaakt door | De F1-toets | De F4-toets, of de knop 'Mogelijke invoer'. |
| Doel | Legt de betekenis van het veld uit | Geeft de waarden weer die het veld accepteert. |
| Standaardbron | Documentatie van gegevenselementen in het ABAP-woordenboek | Vaste waarden, controletabel of zoekhulp |
| Gegevenstransport | Nee, het veld wordt alleen weergegeven. | De geselecteerde waarde wordt teruggeschreven naar het schermveld. |
| Typische functiemodule | HELP_OBJECT_SHOW_FOR_FIELD | F4IF_INT_TABLE_VALUE_REQUEST |
Laten we nu POH en POV in detail bekijken
Proces bij hulpverzoek (POH): F1 Help
- Wanneer F1 wordt ingedrukt, wordt de POH-gebeurtenis voor het betreffende gegevenselement uitgevoerd.
- Als de gebeurtenis PROCESS ON HELP-REQUEST niet bestaat in de proceslogica van een scherm, wordt de documentatie van het veld in het ABAP-woordenboek als basis gebruikt en weergegeven. Zelfs als die documentatie niet bestaat, wordt er geen helpinformatie weergegeven.
- Om de helpdocumentatie voor velden weer te geven, moet u de volgende schermstroomlogica in de POH-gebeurtenis coderen:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- Als er schermspecifieke gegevenselementdocumentatie voor het veld bestaat , kunt u deze weergeven door het nummer ervan op te geven .
- Het nummer kan een letterlijke of een variabele zijn. De variabele moet worden gedeclareerd en ingevuld in het bijbehorende ABAP-programma.
- Let op: de FIELD-instructie draagt de inhoud van het schermveld niet over aan het ABAP-programma in het PROCESS ON HELP-REQUEST-evenement. Het toont alleen helpdocumentatie. Dat is het.
De module De module wordt in het ABAP-programma gedefinieerd als een normale PAI-module. De verwerkingslogica van de module moet ervoor zorgen dat er voldoende helpinformatie wordt weergegeven voor het betreffende veld. In plaats van een extra scherm met tekstvelden op te roepen, kunt u een van de volgende functiemodules gebruiken om een geschikte help weer te geven. SAPscriptdocument
HELP_OBJECT_SHOW_FOR_FIELD
- Deze functiemodule geeft de data-elementdocumentatie weer voor componenten van elke structuur of databasetabel uit het ABAP-woordenboek.
- U geeft de naam van het onderdeel en de structuur of tabel door aan de importparameters FIELD en TABLE.
HELP_OBJECT_SHOW
- Gebruik deze functiemodule om eventuele gegevens weer te geven SAPscriptdocument.
- U moet de documentklasse (bijvoorbeeld TX voor algemene teksten, DE voor data-elementdocumentatie) en de naam van het document doorgeven aan de importparameters DOKCLASS en DOKNAME.
- Om technische redenen moet u ook een lege interne tabel met regeltype T doorgeven.LINE naar de tabelparameter van de functiemodule.
F1 legt het deelnemersveld uit. Bij het volgende onderdeel wordt vermeld wat er in dat veld mag worden ingeschreven.
Proces op waarde (POV): F4
- Wanneer de gebruiker de functie Mogelijke invoer (F4) kiest, toont het systeem de mogelijke invoerwaarden voor een veld (waarden, controletabel, matchcode), op voorwaarde dat deze door de ontwikkelaar zijn opgeslagen.
- De gebeurtenis PROCESS ON VALUE-REQUEST wordt altijd verwerkt als de gebruiker “Mogelijke invoer” heeft aangeroepen.
- Om mogelijke waarden voor een veld op het scherm te definiëren, moet u het volgende definiëren in de POV-gebeurtenis van de schermstroomlogica:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- Voor Mogelijke waarden, binnen de hierboven gedefinieerde module, moet u de algemene functiemodule gebruiken HELP_VALUES_GET_WITH_TABLE om mogelijke waarden uit het ABAP-woordenboek te halen.
Er zijn nog enkele andere functies die ook kunnen worden gebruikt voor invoerhulp:
F4IF_FIELD_VALUE_REQUEST
- Roept dynamisch de invoerhulp van het ABAP-woordenboek op.
- In de importparameters TABNAME en FIELDNAME kunt u de componentnamen van een structuur- of databasetabel van het ABAP-woordenboek doorgeven aan het functieblok.
- De functiemodule start de ABAP-woordenboek invoerhulp voor dit onderdeel. Alle relevante schermvelden worden gelezen.
- Als u de importparameters DYNPPROG, DYNPNR en DYNPROFIELD opgeeft, wordt de selectie van de gebruiker teruggestuurd naar het overeenkomstige veld op het scherm.
- Als u de tabelparameter RETURN_TAB opgeeft, wordt de selectie in plaats daarvan teruggestuurd naar de tabel.
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
- Deze functiemodule geeft een invoerlijst weer die u in een ABAP-programma.
- De waardenlijst wordt als tabelparameter VALUE_TAB aan het functieblok doorgegeven.
- Als u de importparameters DYNPPROG, DYNPNR en DYNPROFIELD opgeeft, wordt de selectie van de gebruiker teruggestuurd naar het overeenkomstige veld op het scherm.
- Als u de tabelparameter RETURN_TAB opgeeft, wordt de selectie in plaats daarvan teruggestuurd naar de tabel.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'CONNID' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD = 'CONNECTION' VALUE_ORG = 'S' TABLES VALUE_TAB = VALUES_TAB.
Dat is alles voor POH en POV. Laat uw opmerkingen achter in geval van twijfel.
Hoe bouw je een F4-helpfunctie vanuit een interne tabel?
Een waardelijst die niet in het ABAP-woordenboek voorkomt, wordt binnen het programma samengesteld en doorgegeven aan F4IF_INT_TABLE_VALUE_REQUEST. De onderstaande stappen genereren een werkende F4-help voor een schermveld.
- Declareer de waardetabel: Maak een interne tabel waarvan de eerste kolom de waarde bevat die naar het scherm wordt teruggestuurd. Vul deze tabel in een PBO-module of in de module voor het opvragen van de waarde zelf.
- Registreer het veld in de stroomlogica: Voeg PROCESS ON VALUE-REQUEST toe aan het scherm en verbind het veld met FIELD … MODULE … zodat de module wordt uitgevoerd wanneer op F4 wordt gedrukt.
- Roep de functiemodule aan: Geef RETFIELD door met de kolomnaam, DYNPROFIELD met de schermveldnaam en VALUE_ORG = 'S' omdat de lijst als een gestructureerde tabel wordt doorgegeven.
- Retourneer de waarde: DYNPPROG en DYNPNR identificeren het programma en het scherm, waardoor de geselecteerde regel direct in het schermveld wordt geschreven zonder verdere code.
- Test het: Activeer het scherm, druk op F4 in het veld en controleer of de lijst verschijnt en of de selectie het veld bereikt.
* 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.
💡Tip: Lees de waarde van een ander schermveld met de functiemodule DYNP_VALUES_READ voordat de lijst wordt gevuld. Zo wordt een afhankelijke F4-help, zoals verbindingen voor de reeds ingevoerde luchtvaartmaatschappij, opgebouwd.

