SAP Proces dotyczący wartości i procesu na prośbę o pomoc

⚡ Inteligentne podsumowanie

Proces w żądaniu wartości i Proces w żądaniu pomocy to zdarzenia ekranowe za F4 i F1 w SAP ABAP. Ta strona wyjaśnia oba zdarzenia, instrukcje FIELD, które je wyzwalają, oraz moduły funkcji wyświetlające dokumentację lub możliwe wpisy.

  • Cel POH: PROCESS ON HELP-REQUEST reaguje na F1 i wyświetla dokumentację pola zapisaną w słowniku ABAP.
  • 🔎 Cel POV: PROCESS ON VALUE-REQUEST reaguje na klawisz F4 i wyświetla możliwe wpisy zdefiniowane przez wartości, tabelę kontrolną lub pomoc wyszukiwania.
  • 🧾 Zasada awaryjna: Jeśli brakuje zdarzenia POH, system powraca do dokumentacji elementów danych i nie wyświetla niczego, nawet jeśli jej brakuje.
  • ???? Limit transportu: Polecenie FIELD w POH nie przenosi pola ekranu do programu, ponieważ wyświetla jedynie pomoc.
  • 📚 Moduły pomocy: HELP_OBJECT_SHOW_FOR_FIELD wyświetla dokumentację elementu danych, a HELP_OBJECT_SHOW wyświetla dowolną SAPdokument skryptowy.
  • 📋 Moduły wartości: F4IF_FIELD_VALUE_REQUEST uruchamia pomoc dotyczącą wprowadzania danych do słownika, a F4IF_INT_TABLE_VALUE_REQUEST wyświetla listę utworzoną wewnątrz programu.
  • ↩️ Ścieżka powrotna: Funkcje DYNPPROG, DYNPNR i DYNPROFIELD zwracają wybraną wartość do pola ekranu, natomiast RETURN_TAB zwraca ją do tabeli.

SAP Proces wartości i proces prośby o pomoc

Czym są POH i POV?

Po pierwsze, jeśli nie wiesz nic o logice Screen Flow i jej zastosowaniach w SAP, zalecamy zapoznanie się z naszym poradnikiem Program Dialogowy.

POH i POV to dwa zdarzenia ekranowe, które odpowiadają na prośbę o pomoc od użytkownika. POH reaguje na klawisz F1 i wyjaśnia znaczenie pola, natomiast POV reaguje na klawisz F4 i wyświetla listę wartości akceptowanych przez pole. Oba są deklarowane w logice przepływu ekranu, obok PBO i PAI.

kryteria POH (Proces na żądanie pomocy) POV (Proces na żądanie wartości)
Wyzwalane przez Klawisz F1 Klawisz F4 lub przycisk Możliwe wpisy
Cel Wyjaśnia znaczenie pola Oferuje wartości akceptowane przez pole
Domyślne źródło Dokumentacja elementów danych w słowniku ABAP Stałe wartości, sprawdź tabelę lub wyszukaj pomoc
Transport danych Brak, pole jest tylko wyświetlane Wybrana wartość jest zapisywana z powrotem w polu ekranowym
Typowy moduł funkcyjny HELP_OBJECT_SHOW_FOR_FIELD F4IF_INT_TABLE_VALUE_REQUEST

Przyjrzyjmy się teraz szczegółowo POH i POV

Przetwarzanie prośby o pomoc (POH): Pomoc F1

  • Za każdym razem, gdy naciśnięty zostanie klawisz F1, wykonywane jest zdarzenie POH dla określonego elementu danych.
  • Jeśli zdarzenie PROCESS ON HELP-REQUEST nie istnieje w logice procesu danego ekranu, dokumentacja pola w słowniku ABAP jest brana za podstawę i wyświetlana. Nawet jeśli to nie nastąpi, pomoc nie zostanie wyświetlona.
  • Aby wyświetlić dokumentację pomocy terenowej, należy zakodować następującą logikę przepływu ekranu w zdarzeniu POH:
PROCESS ON HELP-REQUEST
FIELD <f> [MODULE <mod>] WITH <num>
  • Jeśli dla tego pola istnieje dokumentacja elementów danych specyficzna dla ekranu , możesz go wyświetlić, podając jego numer .
  • Numer może być literałem lub zmienną. Zmienną należy zadeklarować i wypełnić w odpowiednim programie ABAP.
  • Należy zauważyć, że instrukcja FIELD nie przenosi zawartości pola ekranowego do programu ABAP w zdarzeniu PROCESS ON HELP-REQUEST. Pokazuje tylko dokumentację pomocy. Otóż ​​to.

Moduł jest zdefiniowany w programie ABAP jak normalny moduł PAI. Logika przetwarzania modułu musi zapewniać wyświetlanie odpowiedniej pomocy dla danego pola. Zamiast wywoływać dodatkowy ekran z polami tekstowymi, należy użyć jednego z poniższych modułów funkcyjnych, aby wyświetlić odpowiednią pomoc. SAPdokument skryptowy

HELP_OBJECT_SHOW_FOR_FIELD

  • Ten moduł funkcyjny wyświetla dokumentację elementów danych dla komponentów dowolnej struktury lub tabeli bazy danych ze Słownika ABAP.
  • Do parametrów importu FIELD i TABLE przekazujesz nazwę komponentu i struktury lub tabeli.

HELP_OBJECT_SHOW

  • Użyj tego modułu funkcyjnego, aby wyświetlić dowolne SAPdokument skryptowy.
  • Należy przekazać klasę dokumentu (np. TX dla tekstów ogólnych, DE dla dokumentacji elementów danych) i nazwę dokumentu do parametrów importu DOKCLASS i DOKNAME.
  • Ze względów technicznych należy również przekazać pustą tabelę wewnętrzną z typem linii TLINE do parametru tables modułu funkcyjnego.

F1 wyjaśnia pole. Następne zdarzenie wyświetla listę tego, co można w nim wpisać.

Proces na wartości (POV): F4

  • Po wybraniu przez użytkownika funkcji Możliwe wpisy (F4) system wyświetla możliwe wartości wejściowe dla pola (wartości, tabela kontrolna, kod dopasowania), o ile zostały zapisane przez programistę.
  • Zdarzenie PROCES NA ŻĄDANIE WARTOŚCI jest zawsze przetwarzane, jeśli użytkownik wywołał „Możliwe wpisy”.
  • Aby zdefiniować Możliwe wartości dla pola na ekranie, należy zdefiniować następujące elementy w zdarzeniu POV logiki przepływu ekranu:
PROCESS ON VALUE-REQUEST

FIELD field name MODULE module name
  • Dla opcji Możliwe wartości w ramach modułu zdefiniowanego powyżej należy skorzystać z modułu funkcji ogólnych HELP_VALUES_GET_WITH_TABLE aby uzyskać możliwe wartości ze słownika ABAP.

Istnieje kilka innych funkcji, które można również wykorzystać jako pomoc przy wprowadzaniu danych:

F4IF_FIELD_VALUE_REQUEST

  • Dynamicznie wywołuje pomoc dotyczącą wprowadzania danych słownika ABAP.
  • Nazwy komponentów struktury lub tabeli bazy danych Słownika ABAP można przekazać do modułu funkcyjnego w parametrach importu TABNAME i FIELDNAME.
  • Moduł funkcyjny uruchamia Słownik ABAP pomoc wejściowa dla tego komponentu. Odczytywane są wszystkie odpowiednie pola ekranowe.
  • Jeśli określisz parametry importu DYNPPROG, DYNPNR i DYNPROFIELD, wybór użytkownika zostanie zwrócony do odpowiedniego pola na ekranie.
  • Jeśli określisz parametr tabeli RETURN_TAB, wybór zostanie zamiast tego zwrócony do tabeli.
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

  • Ten moduł funkcyjny wyświetla listę wartości utworzoną w pliku programu ABAP.
  • Lista wartości przekazywana jest do modułu funkcyjnego jako parametr tabeli VALUE_TAB.
  • Jeśli określisz parametry importu DYNPPROG, DYNPNR i DYNPROFIELD, wybór użytkownika zostanie zwrócony do odpowiedniego pola na ekranie.
  • Jeśli określisz parametr tabeli RETURN_TAB, wybór zostanie zamiast tego zwrócony do tabeli.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING

RETFIELD         =  'CONNID'
DYNPPROG         =  PROGNAME
DYNPNR           =  DYNNUM
DYNPROFIELD      =  'CONNECTION'
VALUE_ORG        = 'S'
TABLES
VALUE_TAB        = VALUES_TAB.

To wszystko, jeśli chodzi o POH i POV. W razie wątpliwości zostaw swoje uwagi.

Jak zbudować pomoc F4 z tabeli wewnętrznej

Lista wartości, która nie istnieje w słowniku ABAP, jest tworzona w programie i przekazywana do F4IF_INT_TABLE_VALUE_REQUEST. Poniższe kroki generują działającą pomoc F4 dla pola ekranowego.

  1. Deklaracja tabeli wartości: Zbuduj tabelę wewnętrzną, której pierwsza kolumna zawiera wartość zapisywaną na ekranie. Wypełnij ją w module PBO lub w samym module żądania wartości.
  2. Zarejestruj pole w logice przepływu: Dodaj PROCESS ON VALUE-REQUEST do ekranu i połącz pole z FIELD … MODULE …, aby moduł uruchamiał się po naciśnięciu klawisza F4.
  3. Wywołanie modułu funkcji: Przekaż RETFIELD z nazwą kolumny, DYNPROFIELD z nazwą pola ekranu i VALUE_ORG = 'S', ponieważ lista jest przekazywana jako tabela strukturalna.
  4. Zwróć wartość: Polecenia DYNPPROG i DYNPNR identyfikują program i ekran, dzięki czemu wybrany wiersz jest zapisywany bezpośrednio w polu ekranu bez konieczności wprowadzania dalszego kodu.
  5. Sprawdź to: Aktywuj ekran, naciśnij klawisz F4 na polu i sprawdź, czy lista się wyświetli i czy zaznaczenie dotrze do pola.
* 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.

💡 Wskazówka: Przed wypełnieniem listy należy odczytać wartość innego pola ekranu za pomocą modułu funkcyjnego DYNP_VALUES_READ. W ten sposób budowana jest zależna pomoc F4, np. połączenia dla linii lotniczych już wprowadzonych.

FAQ

Żadne z nich. Klawisze F1 i F4 przerywają wyświetlanie ekranu i uruchamiają własne zdarzenie, a następnie wracają do tego samego ekranu. Standardowe przetwarzanie PAI rozpoczyna się dopiero po uruchomieniu przez użytkownika normalnego kodu funkcji.

Pomoc wyszukiwania dołączona do elementu danych lub tabeli check generuje już listę F4. Kodowanie POV jest potrzebne tylko wtedy, gdy wartości są obliczane w czasie wykonywania lub zależą od innego pola ekranu.

Przekaż DYNPROFIELD wraz z nazwą kolumny i użyj GET CURSOR LINE aby znaleźć wiersz. Moduł funkcji zapisuje następnie wartość w odpowiednim wierszu kontrolki w kolejnym PBO.

Tak. Asystenci AI w narzędziach programistycznych ABAP piszą logikę przepływu POV, instrukcję SELECT wypełniającą tabelę wartości oraz wywołanie F4IF_INT_TABLE_VALUE_REQUEST z poprawnymi parametrami RETFIELD i DYNPROFIELD.

Nie. F1 nadal odczytuje dokumentację zapisaną w słowniku ABAP. Asystenci AI, tacy jak SAP Joule odpowiada na pytania prostym językiem, wyświetlając je tuż przy ekranie, co uzupełnia dokumentację terenową, zamiast ją zastępować.

Podsumuj ten post następująco: