by Abdul3057 » Mon Sep 14, 2015 4:06 pm
DATA: I_TEXPR TYPE RSDS_TEXPR.
* Typen für freie Selektionen.........................................*
DATA: TRANGE TYPE RSDS_TRANGE,
TRANGE_LINE LIKE LINE OF TRANGE,
TRANGE_FRANGE_T_LINE LIKE LINE OF TRANGE_LINE-FRANGE_T,
TRANGE_FRANGE_T_SELOPT_T_LINE LIKE LINE OF TRANGE_FRANGE_T_LINE-SELOPT_T,
TEXPR TYPE RSDS_TEXPR.
FORM FILL_FREE_SELECTIONS.
RANGES: G_TNAME FOR RSDSTABS-PRIM_TAB,
G_VALUES FOR RSDSSELOPT-LOW.
CLEAR: TRANGE, I_TEXPR.
REFRESH: TRANGE, I_TEXPR.
*-- Freie Abgrenzung (Erfassungsdatum)..................................*
IF NOT S_CPUDT IS INITIAL.
LOOP AT S_CPUDT.
CLEAR: TRANGE_LINE, TRANGE_FRANGE_T_LINE, TRANGE_FRANGE_T_SELOPT_T_LINE.
TRANGE_LINE-TABLENAME = 'COVP'.
TRANGE_FRANGE_T_LINE-FIELDNAME = 'CPUDT'.
TRANGE_FRANGE_T_SELOPT_T_LINE-SIGN = S_CPUDT-SIGN.
TRANGE_FRANGE_T_SELOPT_T_LINE-OPTION = S_CPUDT-OPTION.
TRANGE_FRANGE_T_SELOPT_T_LINE-LOW = S_CPUDT-LOW.
TRANGE_FRANGE_T_SELOPT_T_LINE-HIGH = S_CPUDT-HIGH.
APPEND TRANGE_FRANGE_T_SELOPT_T_LINE TO TRANGE_FRANGE_T_LINE-SELOPT_T.
APPEND TRANGE_FRANGE_T_LINE TO TRANGE_LINE-FRANGE_T.
APPEND TRANGE_LINE TO TRANGE.
ENDLOOP.
ENDIF.
*-- Freie Abgrenzung (Belegnummer)......................................*
IF NOT S_BELNR IS INITIAL.
LOOP AT S_BELNR.
CLEAR: TRANGE_LINE, TRANGE_FRANGE_T_LINE, TRANGE_FRANGE_T_SELOPT_T_LINE.
TRANGE_LINE-TABLENAME = 'COVP'.
TRANGE_FRANGE_T_LINE-FIELDNAME = 'BELNR'.
TRANGE_FRANGE_T_SELOPT_T_LINE-SIGN = S_BELNR-SIGN.
TRANGE_FRANGE_T_SELOPT_T_LINE-OPTION = S_BELNR-OPTION.
TRANGE_FRANGE_T_SELOPT_T_LINE-LOW = S_BELNR-LOW.
TRANGE_FRANGE_T_SELOPT_T_LINE-HIGH = S_BELNR-HIGH.
APPEND TRANGE_FRANGE_T_SELOPT_T_LINE TO TRANGE_FRANGE_T_LINE-SELOPT_T.
APPEND TRANGE_FRANGE_T_LINE TO TRANGE_LINE-FRANGE_T.
APPEND TRANGE_LINE TO TRANGE.
ENDLOOP.
ENDIF.
Und so weiter....
* Freie Abgrenzungen: Konvertierung Format RSDS_TRANGE ==> RSDS_TEXPR....*
CALL FUNCTION 'FREE_SELECTIONS_RANGE_2_EX'
EXPORTING
FIELD_RANGES = TRANGE
IMPORTING
EXPRESSIONS = I_TEXPR.
* Export Tabellen (damit Femdprogramm weiss, welche freien Abgrenzungen gewählt wurden)
EXPORT I_TEXPR TO MEMORY ID 'ZTEXPR'.
EXPORT TRANGE TO MEMORY ID 'ZTRANGE'.
und diese im SUBMIT-Programm lesen und wieder in die Options stellen...