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ä.

  • POH-tarkoitus: PROCESS ON HELP-REQUEST reagoi F1-komentoon ja näyttää ABAP-sanakirjaan tallennetun kenttädokumentaation.
  • 🔎 Näkökulman tarkoitus: PROCESS ON VALUE-REQUEST reagoi F4-näppäimeen ja näyttää arvojen, tarkistustaulukon tai hakuohjeen määrittelemät mahdolliset merkinnät.
  • 🧾 Varajärjestelmä: Kun POH-tapahtuma puuttuu, järjestelmä palaa tietoelementin dokumentaatioon eikä näytä mitään, jos sekään puuttuu.
  • 🚫 Kuljetusraja: POH:n FIELD-lauseke ei siirrä näyttökenttää ohjelmaan, koska se näyttää vain ohjeita.
  • 📚 Ohjemoduulit: HELP_OBJECT_SHOW_FOR_FIELD näyttää dataelementtien dokumentaation ja HELP_OBJECT_SHOW näyttää kaikki SAPkäsikirjoitusdokumentti.
  • 📋 Arvomoduulit: F4IF_FIELD_VALUE_REQUEST käynnistää sanakirjan syöttöavun ja F4IF_INT_TABLE_VALUE_REQUEST näyttää ohjelman sisällä luodun luettelon.
  • ↩️ Paluureitti: DYNPPROG, DYNPNR ja DYNPROFIELD palauttavat valitun arvon näyttökenttään, kun taas RETURN_TAB palauttaa sen taulukkoon.

SAP Prosessi arvon perusteella ja prosessi avunpyynnöstä

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.

  1. 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.
  2. 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.
  3. 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.
  4. Palauta arvo: DYNPPROG ja DYNPNR tunnistavat ohjelman ja näytön, joten valittu rivi kirjoitetaan suoraan näyttökenttään ilman lisäkoodia.
  5. 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.

UKK

Kumpikaan. F1 ja F4 keskeyttävät näytön ja suorittavat oman tapahtumansa, minkä jälkeen ne palaavat samalle näytölle. Normaali PAI-käsittely alkaa vasta, kun käyttäjä laukaisee normaalin funktiokoodin.

Tietoelementtiin tai tarkistustaulukkoon liitetty hakuapu tuottaa jo F4-listan. POV-koodausta tarvitaan vain silloin, kun arvot lasketaan suorituksen aikana tai ne riippuvat näytön toisesta kentästä.

Anna DYNPROFIELD-funktiolle sarakkeen nimi ja käytä GET CURSOR -funktiota. LINE löytääksesi rivin. Funktiomoduuli kirjoittaa sitten arvon seuraavan PBO:n ohjausobjektin oikealle riville.

Kyllä. ABAP-kehitystyökalujen tekoälyavustajat kirjoittavat POV-työnkulkulogiikan, arvotaulukon täyttävän SELECT-käskyn ja F4IF_INT_TABLE_VALUE_REQUEST-kutsun oikeilla RETFIELD- ja DYNPROFIELD-parametreilla.

Ei. F1 lukee edelleen ABAP-sanakirjaan tallennettua dokumentaatiota. Tekoälyavustajat, kuten SAP Joule vastaa kysymyksiin selkokielellä näytön vieressä, mikä täydentää kenttädokumentaatiota sen sijaan, että se korvaisi sen.

Tiivistä tämä viesti seuraavasti: