Code: Alles auswählen.
SELECT-OPTIONS s_matnr FOR TYPE matnr.
Code: Alles auswählen.
DATA useless_matnr TYPE matnr.
SELECT-OPTIONS s_matnr FOR usless_matnr.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
DeathAndPain
Code: Alles auswählen.
SELECT-OPTIONS: so_kun FOR ('KNA1-KUNNR').
START-OF-SELECTION.
SELECT *
FROM kna1
INTO TABLE @DATA(lt_debitoren)
WHERE kunnr IN @so_kun.
Folgende Benutzer bedankten sich beim Autor Lukas Sanders für den Beitrag (Insgesamt 5):
DeathAndPain • whaslbeck • ewx • fr-g • Icke0801
Code: Alles auswählen.
REPORT ZTEST5.
DATA TPERNR TYPE STANDARD TABLE OF PERSNO.
SELECT-OPTIONS PERNR FOR (SPACE) MATCHCODE OBJECT PREM.
SELECT PERNR INTO TABLE TPERNR FROM PA0001
WHERE PERNR IN PERNR.
Code: Alles auswählen.
REPORT.
TABLES: kna1.
DATA: lv_kunnr TYPE fieldname VALUE 'KNA1-KUNNR'.
SELECT-OPTIONS: s_kunnr1 FOR kna1-kunnr,
s_kunnr2 FOR ('KNA1-KUNNR'),
s_kunnr3 FOR (lv_kunnr).
Code: Alles auswählen.
REPORT.
DATA: gv_dyn_sel TYPE fieldname.
SELECTION-SCREEN BEGIN OF SCREEN 100.
SELECT-OPTIONS: s_dyn FOR (gv_dyn_sel) .
SELECTION-SCREEN END OF SCREEN 100.
END-OF-SELECTION.
gv_dyn_sel = 'LFA1-LIFNR'.
CALL SELECTION-SCREEN 100 STARTING AT 40 10.
gv_dyn_sel = 'MARA-MATNR'.
CALL SELECTION-SCREEN 100 STARTING AT 40 10.
Das ist zwar richtig, aber in vielen Fällen brauche ich gar keinen Dictionarybezug und gebe den Text bei den Selektionstexten händisch ein. Da ist natürlich auch die Frage, mit welchen Sprachen die Firma arbeitet. Bei meiner Firma gibt es z.B. nur deutsch und englisch als akzeptierte Kommunikationssprachen. Diese beiden sind dann also händisch zu pflegen, und dann ist das gut. Dafür entfallen die dämlichen Dummyvariablen im Code.black_adept hat geschrieben: ↑01.12.2020 14:57Das Problem dabei ist aber die Funktionalität der automatischen Übersetzung bei Dictionarybezug bzw. die Bezeichnung der Select Option auf dem Selektionsbildschirm.
Mit den Screen Events geht es:black_adept hat geschrieben: ↑01.12.2020 15:02Und der wohl offensichtlichste Anwendungsfall geht leider auch nicht, da das Selektionsbild quasi beim 1. Aufruf für den Programmablauf fest eingestellt wird.
Code: Alles auswählen.
*&--- Selektionsbild
PARAMETERS: pa_fnm TYPE fieldname.
SELECT-OPTIONS: so_dyn FOR (gv_field).
*&--- Screen-Events Selektionsbild
AT SELECTION-SCREEN OUTPUT.
LOOP AT screen.
CHECK screen-name CP '*SO_DYN*'.
IF pa_fnm IS NOT INITIAL.
screen-invisible = 0.
screen-input = 1.
gv_field = 'KNA1-' && pa_fnm.
ELSE.
screen-invisible = 1.
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
*&--- Verarbeitung
START-OF-SELECTION.
gv_where_clause = |{ pa_fnm } IN @SO_DYN|.
SELECT *
FROM kna1
INTO TABLE @gt_debitoren
WHERE (gv_where_clause).
" ...
Das halte ich für ein Gerücht, dass das nötig ist. Wenn ichadt hat geschrieben:Apropos Anbindung einer Suchhilfe:
Dafür ist die Variante mit TABLES als Bezugstyp am besten geeignet.
Code: Alles auswählen.
DATA DUMMY_KUNNR TYPE KNA1-KUNNR.
SELECT-OPTIONS s_kunnr FOR dummy_kunnr.
Meine Aussage wieder mal klassich aus dem Kontext gerissen:DeathAndPain hat geschrieben: ↑02.12.2020 19:19Das halte ich für ein Gerücht, dass das nötig ist. Wenn ichadt hat geschrieben:Apropos Anbindung einer Suchhilfe:
Dafür ist die Variante mit TABLES als Bezugstyp am besten geeignet.
schreibe, dann zieht er sich - ganz ohne TABLES - die Werthilfeanbindung aus der Definition der KNA1, weil DUMMY_KUNNR darüber definiert ist.Code: Alles auswählen.
DATA DUMMY_KUNNR TYPE KNA1-KUNNR. SELECT-OPTIONS s_kunnr FOR dummy_kunnr.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
ewx • DeathAndPain
EDIT:a-dead-trousers hat geschrieben: ↑03.12.2020 10:18... zur Definition eines Selektionsbildschirms (und auch nur dafür) ...