Code: Alles auswählen.
MANDT MANDT CLNT 3 Mandant
SPARTE SPARTE CHAR 2 Sparte
TARIFTYP TARIFTYP CHAR 10 Tariftyp
BUKRS BUKRS CHAR 4 Buchungskreis
DATUM_AB DATE CHAR 8 Datum im CHAR-Format
.INCLUDE z_include STRU 0 Eigener Include
HTEXT1 Z_HTML_TEXT CHAR 120 HTML-Text
HLINK1 Z_LINK CHAR 120 Link
DATEINAME1 Z_DATN CHAR 30 Dateiname
PFAD1 Z_FILE CHAR 128 File
HTEXT2 ´ Z_HTML_TEXT CHAR 120 HTML-Text
HLINK2 Z_LINK CHAR 120 Link
DATEINAME2 Z_DATN CHAR 30 Dateiname
PFAD2 Z_FILE CHAR 128 File
Code: Alles auswählen.
DATA: v_dname TYPE string,
v_file TYPE string.
CONSTANTS: co_dname TYPE string VALUE 'DATEINAME',
co_pfad TYPE string VALUE 'PFAD'.
FIELD-SYMBOLS: <binary_data> TYPE solix,
<fs_dname> TYPE any,
<fs_file> TYPE any.
DO 10 TIMES.
v_countnr = sy-index.
CONCATENATE co_dname v_countnr INTO v_dname.
CONCATENATE co_pfad v_countnr INTO v_file.
CONDENSE v_dname NO-GAPS.
CONDENSE v_file NO-GAPS.
ASSIGN COMPONENT v_dname OF STRUCTURE wa_pr_tt_html TO <fs_dname>.
ASSIGN COMPONENT v_pfad OF STRUCTURE wa_pr_tt_html TO <fs_file>.
IF sy-subrc EQ 0 AND <fs_dname> <> ' ' AND <fs_file> <> ' '.
SELECT *
FROM z_tabelle
INTO TABLE ta_pr_tt_html
WHERE tariftyp EQ p_ttyp
AND sparte EQ p_sparte
AND bukrs EQ p_bukrs
AND datum_ab EQ p_date
AND <fs_dname> EQ p_dname
AND <fs_file> EQ v_pfad.
ENDIF.
ENDDO.
Geht schon aber nur mit einem dynamischen WHERE:Kenny hat geschrieben:Kann mir vielleicht einer helfen? Oder geht das, was ich vorhabe überhaupt nicht?
Code: Alles auswählen.
* dynamische WHERE-Bedingung aufbauen:
DATA ls_where TYPE string.
ls_where = 'tariftyp EQ p_ttyp AND sparte EQ p_sparte AND bukrs EQ p_bukrs AND datum_ab EQ p_date AND'.
CONCATENATE ls_where v_dname 'EQ p_dname AND' v_pfad 'EQ p_pfad' INTO ls_where SEPARATED BY space.
* Daten lesen
SELECT *
FROM z_tabelle
INTO TABLE ta_pr_tt_html
WHERE (ls_where).