*---------------------------------------------------------------------*
* Z _ B J H _ A T _ S U C H H I L F E *
* *
* Autor: Bernd Haase (BJH Software) *
*---------------------------------------------------------------------*
* Suchhilfe für Felder, welche keine expliziete Suchhilfe über Struk- *
* tur und Datenelement haben. Beispiel ist die Statusverwaltung in *
* der Dokumentenverwaltung in Abhängigkeit der Dokumentenart. *
* Programm führt keinerlei Aktionen aus !!! *
*---------------------------------------------------------------------*
* FB 'HELP_VALUES_GET_WITH_TABLE' *
*---------------------------------------------------------------------*
* 02.06.2004 BHaa: Programm erstellt *
*---------------------------------------------------------------------*
REPORT z_bjh_at_suchhilfe .
TABLES:
draw, "Dokumentinformationssatz (nur Referenzierung)
tdws, "Dokumentstatus
tdwst. "Text für Dokumentstatus
*---------------------------------------------------------------------*
* *
* A u s w a h l b i l d s c h i r m *
* *
*---------------------------------------------------------------------*
SELECTION-SCREEN: BEGIN OF BLOCK a1 WITH FRAME TITLE text-901.
PARAMETERS:
* Dokumentenart
pm_dokar LIKE draw-dokar,
* Status eines Dokuments (sprachabhängig)
pm_stabk LIKE tdwst-stabk.
SELECTION-SCREEN: END OF BLOCK a1.
***********************************************************************
* S U C H H I L F E *
* *
* für das Feld Status (sprachenunabhängig in der Dokumentenverwaltung)*
***********************************************************************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pm_stabk.
DATA:
* Felder der Anzeige im Pop-Up
BEGIN OF felder OCCURS 10.
INCLUDE STRUCTURE help_value.
DATA:
END OF felder.
DATA:
* Werte für die Suchhilfe
BEGIN OF werte OCCURS 10,
text(100),
END OF werte.
DATA:
getroffene_auswahl LIKE tdwst-stabk,
wa_dokar LIKE tdws-dokar.
* Übergabetabellen für Funktionsbaustein initialisieren
CLEAR: felder, werte.
REFRESH: felder, werte.
* Felder besetzen
* nennen der Tabelle, von woher die Werte kommen sollen
MOVE 'TDWST' TO felder-tabname.
* Feld, welches zur Selektion dient (Teil des Pop-Ups)
MOVE 'STABK' TO felder-fieldname.
MOVE 'X' TO felder-selectflag.
APPEND felder.
* Weiteres Feld (Bezeichnung) für das Pop-Up, nur Anzeige (gleiche
* Tabelle)
MOVE 'DOSTX' TO felder-fieldname.
MOVE ' ' TO felder-selectflag.
APPEND felder.
* Werte ermitteln
* Suchhilfetabelle auffüllen
SELECT * FROM tdwst
WHERE cvlang = sy-langu.
* Zusatz: wenn die Dokumentenart in der Auswahl bereits mit einem Wert
* hinterlegt ist, diesem für den qualifizierten Suchalgorithmus
* mitbenutzen und die Werteauswahl eingrenzen
IF pm_dokar <> ' '.
* A c h t u n g: um pm_dokar nutzen zu können, vorher einmal den
* Auswahlbildschirm mit Return bestätigt haben !
SELECT SINGLE dokar FROM tdws INTO wa_dokar
WHERE dokar = pm_dokar
AND dokst = tdwst-dokst.
IF sy-subrc <> 0.
CONTINUE.
ENDIF.
ENDIF.
MOVE tdwst-stabk TO werte-text.
APPEND werte.
MOVE tdwst-dostx TO werte-text.
APPEND werte.
ENDSELECT.
* Pop-Up aufrufen
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
display = ' '
fieldname = 'STABK'
tabname = 'TDWST'
IMPORTING
select_value = getroffene_auswahl
TABLES
fields = felder
valuetab = werte
EXCEPTIONS
OTHERS = 4.
* gültige Auswahl. Wert des Pop-Up übernehmen.
IF sy-subrc = 0.
MOVE getroffene_auswahl TO pm_stabk.
ENDIF.
***** Ende *****
* Copyright BJH Software, Datei überarbeitet am: 23.7.2005