Fehler bei Variantenerstelleung mit ABAP-Report

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Fehler bei Variantenerstelleung mit ABAP-Report

Beitrag von paolo1992 (ForumUser / 6 / 0 / 0 ) »
Hallo liebes Forum,

ich hoffe ihr könnt mir helfen.

Aus einem ABAP-Report erstelle ich eine Variante, die auch angelegt wird, jedoch ohne "Inhalt" (die Werte/Selektionsbedingungen der Variante).

Die Variante ist nur für den Backgroundjob gedacht.
lt_var_content befülle ich mit Werten, welche über den Fuba "COMPLEX_SELECTIONS_DIALOG" eingegeben worden sind.
Diese werden in einem range gespeichert und dann in einem loop verarbeitet, um lt_var_content zu füllen.

Siehe Quellcode

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.

Schau ich mir danach über System -> Dienste -> Reporting die Variante an, existiert zwar diese, jedoch ohne Inhalt von lt_var_content.
Hat jemand vielleicht eine Idee?

Viele Dank und Grüße,
paolo

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Fehler bei Variantenerstelleung mit ABAP-Report

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Und warum erstellst Du die Variante so kompliziert im Report? Warum nutzt Du nicht SAP Standard?

Ist das erstellen der Variante wirklich so noetig?

Wenn ich mir Dein Posting mit den Selectionstexten so ansehe, hab ich einen 'schrecklichen' Verdacht.

Re: Fehler bei Variantenerstelleung mit ABAP-Report

Beitrag von paolo1992 (ForumUser / 6 / 0 / 0 ) »
Hallo,

ich möchte die Variante benutzen, um Werte einem Report mitzugeben, der im Hintergrund regelmäßig ausgeführt wird.
Dieser Report soll sowohl im "Vordergrundmodus" und im Hintergrund laufen.
Wenn der Report im Hintergrund bzw. als Job eingeplant wird, sollen Emailadressen angegeben werden können, an die der Report das Ergebnis schickt.
Im "Vordergrundmodus" wird das Ergebnis in einem ALV präsentiert, weshalb man die Emailfunktion nicht benötigt, deshalb gibt es auch keine Möglichkeit die Email in einem parameter mitzugeben.

Meine Idee war im Programm eine Variante erstellen zu lassen (mit den Emailadressen) und dan den Job (auch im Prorgamm zu erstellen).

Was denkt Ihr? Kann man das nicht so machen?
Iddeen warum die Variante nicht richtig gepseichert wird?

VG

Re: Fehler bei Variantenerstelleung mit ABAP-Report

Beitrag von a-dead-trousers (Top Expert / 4458 / 227 / 1198 ) »
Ich glaub du solltest es anstatt mit 'P' (Parameter) mal mit 'S' (Selectoption) versuchen.
Außerdem ist der Variablenname R_EMAILS_VAR zu lange. Alle Felder in der Schnittstelle eines Reports dürfen nicht länger als 8 Zeichen sein.

Verbesserungsvorschlag:
Falls du das noch nicht gemacht hast, leg in dem Report der im Hintergrund ausgeführt werden soll, eine SELECT-OPTION an, welche die EMAIL-Adressen aufnimmt (z.B: SO_EMAIL). Diese blendest du mit NO-DISPLAY aus, sodass die Benutzer die den Report aufrufen diese nicht sehen.

Bei deinem Report zu Variantenerstellung machst du dann die Befüllung so:

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.
Damit sollte es klappen.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

5
Antw.
2916
Views
ABAP Report
von swonny » 05.12.2007 09:03 • Verfasst in ABAP® für Anfänger
7
Antw.
4584
Views
ABAP Report
von Fritz » 26.02.2014 19:17 • Verfasst in ABAP® für Anfänger
1
Antw.
3311
Views
SAP ABAP Trial Version _ Fehler bei Logon
von Gonel56 » 31.08.2011 00:23 • Verfasst in ABAP® für Anfänger
3
Antw.
2779
Views
ABAP-Coding CO-Report
von sap-junior » 24.09.2015 10:01 • Verfasst in ABAP® Core
1
Antw.
3144
Views
Fehler beim Anlegen eines WEB Dynpros für ABAP
von poldi » 21.01.2008 14:18 • Verfasst in Web Application Server

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Intervall mit Beziehungswissen füllen
vor einer Woche von wolli 1 / 2101
Speichern Popup in MM42 verhindern
June 2025 von Noodl 1 / 50853
Meine Inbox
May 2025 von Rabea1103 1 / 66371