SAP Prosessi arvosta ja prosessi apupyynnöstä
⚡ Älykäs yhteenveto
Prosessi arvopyynnöstä ja prosessi avunpyynnöstä ovat F4:n ja F1:n taustalla olevat näyttötapahtumat SAP ABAP. Tällä sivulla selitetään molemmat tapahtumat, niitä laukaisevat FIELD-lausekkeet ja funktiomoduulit, jotka näyttävät dokumentaatiota tai mahdollisia merkintöjä.

Mitä ovat POH ja POV?
Ensinnäkin, jos et tiedä mitään Screen Flow -logiikasta ja sen käytöstä SAPsuosittelemme tutustumaan opetusohjelmaamme aiheesta Dialogiohjelma.
POH ja POV ovat kaksi näyttötapahtumaa, jotka vastaavat käyttäjän avunpyyntöön. POH reagoi F1-näppäimeen ja selittää kentän merkityksen, kun taas POV reagoi F4-näppäimeen ja listaa kentän hyväksymät arvot. Molemmat on määritelty näytön työnkulkulogiikassa PBO:n ja PAI:n vieressä.
| Kriteeri | POH (Avunpyyntöprosessi) | POV (arvopyynnön käsittely) |
|---|---|---|
| Käynnistää | F1-näppäin | F4-näppäin tai Mahdolliset merkinnät -painike |
| Tarkoitus | Selittää kentän merkityksen | Tarjoaa kentän hyväksymät arvot |
| Oletuslähde | ABAP-sanakirjan tietoelementtien dokumentaatio | Kiinteät arvot, tarkista taulukko tai hae apua |
| Tiedonsiirto | Ei mitään, kenttä näytetään vain | Valittu arvo kirjoitetaan takaisin näyttökenttään |
| Tyypillinen funktiomoduuli | HELP_OBJECT_SHOW_FOR_FIELD | F4IF_INT_TABLE_VALUE_REQUEST |
Tarkastellaan nyt POH:ta ja POV:ta yksityiskohtaisesti
Apupyyntöprosessi (POH): F1 Help
- Aina kun F1-näppäintä painetaan, määritetyn dataelementin POH-tapahtuma suoritetaan.
- Jos PROCESS ON HELP-REQUEST -tapahtumaa ei ole näytön prosessilogiikassa, kentän dokumentaatio ABAP-sanakirjassa otetaan pohjaksi ja näytetään. Vaikka se ei poistuisi, ohjeita ei näytetä.
- Jotta voit näyttää kenttäohjedokumentaation, sinun on koodattava seuraava näytönkulkulogiikka POH-tapahtumassa:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- Jos kentälle on näyttökohtainen tietoelementtidokumentaatio , voit näyttää sen määrittämällä sen numeron .
- Numero voi olla literaali tai muuttuja. Muuttuja on ilmoitettava ja täytettävä vastaavassa ABAP-ohjelmassa.
- Huomaa, että FIELD-käsky ei siirrä näyttökentän sisältöä ABAP-ohjelmaan PROCESS ON HELP-REQUEST -tapahtumassa. Se näyttää vain ohjedokumentaation. Se siitä.
Moduuli on määritelty ABAP-ohjelmassa kuten normaali PAI-moduuli. Moduulin prosessointilogiikan on varmistettava, että kyseiselle kentälle näytetään riittävä ohje. Ylimääräisen tekstikenttiä sisältävän näytön kutsumisen sijaan kannattaa käyttää jotakin seuraavista funktiomoduuleista sopivan kentän näyttämiseen: SAPkäsikirjoitusdokumentti
HELP_OBJECT_SHOW_FOR_FIELD
- Tämä toimintomoduuli näyttää tietoelementtien dokumentaation minkä tahansa rakenteen tai tietokantataulukon komponenteille ABAP-sanakirjasta.
- Välität komponentin ja rakenteen tai taulukon nimen tuontiparametreille FIELD ja TABLE.
HELP_OBJECT_SHOW
- Käytä tätä toimintomoduulia näyttääksesi minkä tahansa SAPkäsikirjoitusdokumentti.
- Sinun on välitettävä asiakirjaluokka (esimerkiksi TX yleisteksteille, DE tietoelementtidokumentaatiolle) ja asiakirjan nimi tuontiparametreille DOKCLASS ja DOKNAME.
- Teknisistä syistä sinun on myös välitettävä tyhjä sisäinen taulukko, jonka rivityyppi on T.LINE funktiomoduulin tables-parametriin.
F1 selittää kentän. Seuraava tapahtuma listaa, mitä siihen voidaan syöttää.
Process on Value (POV): F4
- Kun käyttäjä valitsee toiminnon Mahdolliset merkinnät (F4), järjestelmä näyttää kentän mahdolliset syöttöarvot (arvot, tarkistustaulukko, hakukoodi), mikäli kehittäjä on tallentanut ne.
- Tapahtuma PROCESS ON VALUE-REQUEST käsitellään aina, jos käyttäjä on kutsunut "Mahdolliset merkinnät".
- Määrittääksesi mahdolliset arvot kenttään näytöllä, sinun on määritettävä seuraavat tiedot näytön kulkulogiikan POV-tapahtumassa:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- Mahdollisille arvoille, yllä määritellyn moduulin sisällä, tulee käyttää yleistä funktiomoduulia HELP_VALUES_GET_WITH_TABLE saadaksesi mahdolliset arvot ABAP-sanakirjasta.
On joitain muita toimintoja, joita voidaan käyttää myös syöttöapua varten:
F4IF_FIELD_VALUE_REQUEST
- Kutsuu dynaamisesti ABAP-sanakirjan syöttöapua.
- Voit välittää ABAP-sanakirjan rakenteen tai tietokantataulukon komponenttien nimet funktiomoduulille tuontiparametreissa TABNAME ja FIELDNAME.
- Toimintomoduuli käynnistää ABAP-sanakirja syöttöohje tälle komponentille. Kaikki asiaankuuluvat näytön kentät luetaan.
- Jos määrität tuontiparametrit DYNPPROG, DYNPNR ja DYNPROFIELD, käyttäjän valinta palautetaan vastaavaan näytön kenttään.
- Jos määrität taulukkoparametrin RETURN_TAB, valinta palautetaan sen sijaan taulukkoon.
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
- Tämä toimintomoduuli näyttää arvoluettelon, jonka loit sovelluksessa ABAP ohjelma.
- Arvoluettelo välitetään funktiomoduulille taulukkoparametrina VALUE_TAB.
- Jos määrität tuontiparametrit DYNPPROG, DYNPNR ja DYNPROFIELD, käyttäjän valinta palautetaan vastaavaan näytön kenttään.
- Jos määrität taulukkoparametrin RETURN_TAB, valinta palautetaan sen sijaan taulukkoon.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'CONNID' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD = 'CONNECTION' VALUE_ORG = 'S' TABLES VALUE_TAB = VALUES_TAB.
Siinä kaikki POH:lle ja POV:lle. Jätä kommenttisi, jos sinulla on epäilyksiä.
F4-ohjeen rakentaminen sisäisestä taulukosta
Ohjelman sisällä luodaan arvolista, jota ei ole ABAP-sanakirjassa, ja se välitetään F4IF_INT_TABLE_VALUE_REQUEST-lausekkeelle. Alla olevat vaiheet luovat toimivan F4-ohjeen näyttökentälle.
- Ilmoita arvotaulukko: Luo sisäinen taulukko, jonka ensimmäisessä sarakkeessa on näytölle kirjoitettava arvo. Täytä se PBO-moduulissa tai itse arvopyyntömoduulissa.
- Rekisteröi kenttä työnkulkulogiikkaan: Lisää näyttöön PROCESS ON VALUE-REQUEST ja yhdistä kenttä FIELD … MODULE … -kenttään, jotta moduuli käynnistyy, kun F4-näppäintä painetaan.
- Kutsu funktiomoduulia: Välitä RETFIELD-muuttujalle sarakkeen nimi, DYNPROFIELD-muuttujalle näyttökentän nimi ja VALUE_ORG = 'S', koska lista välitetään strukturoituna taulukkona.
- Palauta arvo: DYNPPROG ja DYNPNR tunnistavat ohjelman ja näytön, joten valittu rivi kirjoitetaan suoraan näyttökenttään ilman lisäkoodia.
- Testaa se: Aktivoi näyttö, paina F4-näppäintä kentän kohdalla ja tarkista, että luettelo tulee näkyviin ja että valinta ulottuu kenttään.
* 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.
💡 Vinkki: Lue toisen näyttökentän arvo funktiomoduulilla DYNP_VALUES_READ ennen listan täyttämistä. Näin muodostetaan riippuvainen F4-apu, kuten jo syötettyjen lentoyhtiöiden yhteydet.
