Code: Alles auswählen.
DATA: ls_range_emails LIKE LINE OF r_emails_var,
ls_var_content TYPE rsparams,
lt_var_content TYPE TABLE OF rsparams,
ls_var_text TYPE varit,
lt_var_text TYPE TABLE OF varit.
ls_var_content-selname = 'R_EMAILS_VAR'.
ls_var_content-kind = 'P'.
LOOP AT r_emails_var INTO ls_range_emails .
ls_var_content-sign = ls_range_emails-sign.
ls_var_content-option = ls_range_emails-option.
ls_var_content-low = ls_range_emails-low.
ls_var_content-high = ls_range_emails-high.
APPEND ls_var_content TO lt_var_content.
ENDLOOP.
CLEAR: ls_var_content,
ls_range_emails.
DATA: lv_variant_name TYPE RALDB_VARI,
ls_varid TYPE varid.
lv_variant_name = GV_VARIANT_NAME.
ls_varid-MANDT = sy-mandt.
ls_varid-REPORT = sy-repid.
ls_varid-VARIANT = lv_variant_name.
ls_varid-ENAME = sy-uname.
ls_varid-aedat = sy-datum.
ls_varid-aetime = sy-uzeit.
ls_varid-ENVIRONMNT = 'A'.
ls_var_text-MANDT = sy-mandt.
ls_var_text-LANGU = sy-langu.
ls_var_text-REPORT = sy-repid.
ls_var_text-VARIANT = lv_variant_name.
ls_var_text-VTEXT = 'Variant generated through report.'.
APPEND ls_var_text TO lt_var_text.
CALL FUNCTION 'RS_CREATE_VARIANT'
EXPORTING
curr_report = sy-repid
curr_variant = lv_variant_name
vari_desc = ls_varid
TABLES
vari_contents = lt_var_content
vari_text = lt_var_text
* VSCREENS =
* EXCEPTIONS
* ILLEGAL_REPORT_OR_VARIANT = 1
* ILLEGAL_VARIANTNAME = 2
* NOT_AUTHORIZED = 3
* NOT_EXECUTED = 4
* REPORT_NOT_EXISTENT = 5
* REPORT_NOT_SUPPLIED = 6
* VARIANT_EXISTS = 7
* VARIANT_LOCKED = 8
* OTHERS = 9
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
Code: Alles auswählen.
ls_var_content-selname = 'SO_EMAIL'.
ls_var_content-kind = 'S'. "<-- Hier ist glaub ich dein Hauptfehler
LOOP AT r_emails_var INTO ls_range_emails .
ls_var_content-sign = ls_range_emails-sign.
ls_var_content-option = ls_range_emails-option.
ls_var_content-low = ls_range_emails-low.
ls_var_content-high = ls_range_emails-high.
APPEND ls_var_content TO lt_var_content.
ENDLOOP.