Submit mit Variante ohne Selektionsbild

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Submit mit Variante ohne Selektionsbild

Beitrag von LostDarkness (ForumUser / 87 / 15 / 6 ) »
Guten Tag liebe ABAP-Menschen,

ich hänge nun schon seit einiger Zeit an einem Problem.
Ich rufe ein Programm über ein SUBMIT auf und gebe eine Variante mit.

Ich möchte eigentlich in Folge des Programmaufrufs die Daten aus dem daraus resultierenden ALV auf dem Applikationsserver speichern und später
dann per Script auf ein Netzlaufwerk verschieben.

Mein Problem liegt aktuell dabei, dass meine Zieldatei am Ende nur die Werte wegspeichert, welche auf dem Selektionsbild sind, quasi also die Daten welche ich in meiner
Variante definiert habe. Gibt es eine Möglichkeit das Selektionsbild zu überspringen, sodass ich direkt in der ALV-Ausgabe meiner Selektion lande?

SUBMIT (reportname)
USING SELECTION-SET 'VARIANTE'
EXPORTING LIST TO MEMORY AND RETURN.

Falls mehr Coding relevant sein sollte kopiere ich gerne noch mehr hier hinein, aber alles andere scheint funktional, einziges Problem ist für mich nur das Selektionsbild.
Mit dem NO-DISPLAY-Parameter wird es leider auch nur "nicht eingeblendet", aber ich erhalte trotzdem die Daten von dort.

Würde mich sehr über etwas Hilfe freuen,

Vielen Dank
Mit freundlichen Grüßen
Gerrit
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

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


Re: Submit mit Variante ohne Selektionsbild

Beitrag von black_adept (Top Expert / 4092 / 127 / 940 ) »
Moin Gerrit,

der interessante Teil des Codings wäre der Teil, wo du die Daten wegspeicherst ( weil die Daten eines Selscreens und einer ALV-Ausgabe sind doch derart unterschiedlich, dass ich davon ausgehe, dass du selber die falschen Daten wegschreibst ).
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Submit mit Variante ohne Selektionsbild

Beitrag von LostDarkness (ForumUser / 87 / 15 / 6 ) »
Ich habe an sich schon drei Programme welche voll funktional sind, die genau das selbe tun, allerdings werden die Reports welche in denen verwendet werden Transaktionsabhängig mit anderen Abläufen aufgerufen...
Aber hier mal mein Coding nach der DATA-Sektion:

Code: Alles auswählen.

 reportname = 'ZMM_GIB_MM_WM_BEST'.
  lv_file = |/usr/sap/{ sy-sysid(1) }10/trans/BIDATA/ZLO8N_Daten_neu.csv|.

  SUBMIT (reportname)
        USING SELECTION-SET 'DOWNLOAD'
        EXPORTING LIST TO MEMORY AND RETURN.

  CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
      listobject = itab_list
    EXCEPTIONS
      not_found  = 4
      OTHERS     = 8.

  CALL FUNCTION 'LIST_TO_ASCI'
    EXPORTING
      list_index         = -1
    TABLES
      listasci           = vlist
      listobject         = itab_list
    EXCEPTIONS
      empty_list         = 1
      list_index_invalid = 2
      OTHERS             = 3.

  LOOP AT vlist INTO lwa_csv .
    CASE sy-tabix.
      WHEN 1 OR 3.
      WHEN OTHERS.
        TRANSLATE lwa_csv USING ';,'.
        TRANSLATE lwa_csv USING '|;'.
        CONCATENATE lv_string lwa_csv gc_crlf INTO lv_string .
    ENDCASE.
  ENDLOOP.

  lv_string = lv_header && lv_string.

  TRY.
      cl_bcs_convert=>string_to_solix(
        EXPORTING
          iv_string   = lv_string
          iv_codepage = ''
          iv_add_bom  = 'X'
        IMPORTING
          et_solix  = lit_binary_content
          ev_size   = lv_size ).
    CATCH cx_bcs.
      MESSAGE e445(so).
  ENDTRY.


  OPEN DATASET lv_file FOR OUTPUT IN BINARY MODE MESSAGE l_msg.
  IF sy-subrc <> 0.
    MESSAGE l_msg TYPE 'E'.
  ENDIF.
  LOOP AT lit_binary_content INTO lwa_binary_content.
    TRANSFER lwa_binary_content-line TO lv_file.
  ENDLOOP.

  CLOSE DATASET lv_file.
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: Submit mit Variante ohne Selektionsbild

Beitrag von ewx (Top Expert / 4849 / 312 / 642 ) »
LostDarkness hat geschrieben: Mein Problem liegt aktuell dabei, dass meine Zieldatei am Ende nur die Werte wegspeichert, welche auf dem Selektionsbild sind, quasi also die Daten welche ich in meiner
Variante definiert habe. Gibt es eine Möglichkeit das Selektionsbild zu überspringen, sodass ich direkt in der ALV-Ausgabe meiner Selektion lande?
Du definierst eine Selektionsvariante und wunderst dich, dass der Report das ausgibt, was du selektiert hast??

Re: Submit mit Variante ohne Selektionsbild

Beitrag von DeathAndPain (Top Expert / 1947 / 257 / 413 ) »
Dein Beispielcode enthält leider nicht das ALV, so dass man nicht sehen kann, was da denn dringewesen wäre. Aber Du scheinst das ja schon richtig zu berechnen. Das, was Du da berechnest, wandert auch in die Datei.

Re: Submit mit Variante ohne Selektionsbild

Beitrag von ewx (Top Expert / 4849 / 312 / 642 ) »
LostDarkness hat geschrieben: Ich möchte eigentlich in Folge des Programmaufrufs die Daten aus dem daraus resultierenden ALV auf dem Applikationsserver speichern und später
dann per Script auf ein Netzlaufwerk verschieben.
vielleicht sind diese beiden Artikel interessant für dich:
https://www.tricktresor.de/blog/exporti ... to-memory/
https://www.tricktresor.de/blog/exporti ... o-memory2/

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
LostDarkness


Re: Submit mit Variante ohne Selektionsbild

Beitrag von LostDarkness (ForumUser / 87 / 15 / 6 ) »
ewx hat geschrieben:
LostDarkness hat geschrieben: Mein Problem liegt aktuell dabei, dass meine Zieldatei am Ende nur die Werte wegspeichert, welche auf dem Selektionsbild sind, quasi also die Daten welche ich in meiner
Variante definiert habe. Gibt es eine Möglichkeit das Selektionsbild zu überspringen, sodass ich direkt in der ALV-Ausgabe meiner Selektion lande?
Du definierst eine Selektionsvariante und wunderst dich, dass der Report das ausgibt, was du selektiert hast??
Er gibt nicht das Ergebnis meiner Selektion aus, sondern meine Selektion, da liegt ja mein Problem :(

Anstatt ausführliche Tabellen mit Werten erhalte ich im Endeffekt meine Selektionsparameter.
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: Submit mit Variante ohne Selektionsbild

Beitrag von ewx (Top Expert / 4849 / 312 / 642 ) »
Da erscheint "GIB" im Programmnamen...
Wenn das Programm mit dem GIB-Programmiertemplate erstellt wurde, und wenn ich das richtig erinnere, dann gibt es einen Parameter, mit dem du das Ergebnis automatisch speichern kannst.
Dazu passt auch, dass du die Selektion zurück bekommst, weil das erste ALV im Programmiertemplate genau die Auflistung der Selektionsparameter erzeugt.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
LostDarkness


Re: Submit mit Variante ohne Selektionsbild

Beitrag von LostDarkness (ForumUser / 87 / 15 / 6 ) »
DeathAndPain hat geschrieben:Dein Beispielcode enthält leider nicht das ALV, so dass man nicht sehen kann, was da denn dringewesen wäre. Aber Du scheinst das ja schon richtig zu berechnen. Das, was Du da berechnest, wandert auch in die Datei.
Es landet leider nicht was ich berechne in der Datei, sondern einfach nur meine Selektionsparameter, aber danke für die Bestätigung soweit.

Hier für dich mal das komplette Coding, unschön, aber existent.

Code: Alles auswählen.

REPORT zmm_download_wm_best.

CONSTANTS:
  gc_crlf TYPE c VALUE cl_bcs_convert=>gc_crlf.

TYPES: BEGIN OF zmm_wm_best_data,
        werks TYPE werks,
        matnr TYPE matnr,
        text_lqua_matnr TYPE maktx,
        zdauer TYPE n2_dauer,
        zznotes TYPE zznotes,
        gesme TYPE lqua_gesme,
        meins TYPE meins,
        lgtyp TYPE lgtyp,
        lgort TYPE lgort,
        bdatu TYPE lqua_bdatu,
        bestq TYPE bestq,
        z_wert TYPE salk3,
        waers001 TYPE waers,
        verpr TYPE verpr,
        waers TYPE waers,
        z_ltzke TYPE mlgn_ltkze,
        z_ltzka TYPE mlgn_ltkza,
        z_lgbkz TYPE lvs_lgbkz,
        lety1 TYPE lvs_letyp1,
        lptyp TYPE lvs_lptyp,
        z_mtart TYPE mtart,
        z_prdha TYPE prodh_d,
        z_dispo TYPE dispo,
        z_dsnam TYPE dsnam,
        betyp TYPE lvs_betyp,
        benum TYPE lvs_benum,
        sobkz TYPE sobkz,
        sonum TYPE lvs_sonum,
        lgnum TYPE lgnum,
        lqnum TYPE lvs_lqnum,
        z_user TYPE ad_namtext,
        verme TYPE lqua_verme,
        meins001 TYPE meins,
        waers002 TYPE waers,
        waers003 TYPE waers,
        z_loevm TYPE j_txt04,
        z_tabg TYPE j_txt04,
        z_glft TYPE j_txt04,
        z_rueck TYPE j_txt04,
        z_truec TYPE j_txt04,
        z_frei TYPE j_txt04,
        z_tfre TYPE j_txt04,
        zampel TYPE ampel_i,
        z_plnbez TYPE matnr,
        z_matxt TYPE co_matxt,
        route TYPE route,
        gewei TYPE gewei,
        brgew TYPE brgew,
        ntgew TYPE ntgew,
        lhmg1 TYPE lvs_lhmng1,
        lhme1 TYPE lhmeh1,
        gsgew TYPE gsgew,
        zampel_gewicht TYPE ampel_i,
        z_dispo2 TYPE co_dispo,
        z_dsnam2 TYPE dsnam,
        stprs TYPE stprs,
        z_preis TYPE preis,
        vprsv TYPE vprsv,
        peinh TYPE peinh,
        zbsskz TYPE lvs_bsskz,
        z_usr TYPE lvs_bname,
        tbnum TYPE tbnum,
        z_bwart TYPE bwart,
        btanr TYPE lqua_btanr,
      END OF zmm_wm_best_data.

TYPES: tw_select_tab TYPE zmm_wm_best_data.

TYPES: BEGIN OF tw_grid_tab.
        INCLUDE TYPE tw_select_tab.

TYPES: icon01(30)    TYPE c,
       icon02(30)    TYPE c,
       icon03(30)    TYPE c,
       icon04(30)    TYPE c,
       icon05(30)    TYPE c,
       info(4)       TYPE c,
       colinfo       TYPE lvc_t_scol,
       style         TYPE lvc_t_styl,
       lights(1)     TYPE c,
       checkbox(1)   TYPE c,
       row_index     TYPE sytabix,
       updkz         TYPE char01,
       dnd_std       TYPE lvc_t_drdr,
       dnd_cust      TYPE /gib/tbox_dnd_behavior_field_t,
       edit_rowid    TYPE sytabix,
       edit_updkz(1) TYPE c.

TYPES: END OF tw_grid_tab.
TYPES: tt_grid_tab TYPE STANDARD TABLE OF tw_grid_tab.
DATA: lit_import TYPE tt_grid_tab.

DATA: reportname TYPE syrepid.

DATA: lit_csv TYPE truxs_t_text_data,
      lwa_csv LIKE LINE OF lit_csv.

DATA: lit_binary_content TYPE solix_tab,
      lwa_binary_content LIKE LINE OF lit_binary_content.

DATA: lv_size TYPE so_obj_len.

DATA ct_fieldcat TYPE slis_t_fieldcat_alv.
DATA lv_header TYPE string.

DATA: lv_string TYPE string.
DATA: lv_file(200) TYPE c.
DATA: l_msg TYPE string.

START-OF-SELECTION .

  DATA BEGIN OF itab_list OCCURS 0.
          INCLUDE STRUCTURE abaplist.
  DATA END OF itab_list.

  DATA: BEGIN OF vlist OCCURS 0,
  filler1(01) TYPE c,
  field1(18) TYPE c,
  filler(01) TYPE c,
  field2(04) TYPE c,
  filler3(01) TYPE c,
  field3(04) TYPE c,
  filler4(01) TYPE c,
  field4(03) TYPE c,
  filler5(01) TYPE c,
  field5(15) TYPE c,
  filler6(02) TYPE c,
  field6(30) TYPE c,
  filler7(43) TYPE c,
  field7(10) TYPE c,
  END OF vlist.

  reportname = 'ZMM_GIB_MM_WM_BEST'.
  lv_file = |/usr/sap/{ sy-sysid(1) }10/trans/BIDATA/ZLO8N_Daten_neu.csv|.

  SUBMIT (reportname)
        USING SELECTION-SET 'DOWNLOAD'
        EXPORTING LIST TO MEMORY AND RETURN.

  CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
      listobject = itab_list
    EXCEPTIONS
      not_found  = 4
      OTHERS     = 8.

  CALL FUNCTION 'LIST_TO_ASCI'
    EXPORTING
      list_index         = -1
    TABLES
      listasci           = vlist
      listobject         = itab_list
    EXCEPTIONS
      empty_list         = 1
      list_index_invalid = 2
      OTHERS             = 3.

  LOOP AT vlist INTO lwa_csv .
    CASE sy-tabix.
      WHEN 1 OR 3.
      WHEN OTHERS.
        TRANSLATE lwa_csv USING ';,'.
        TRANSLATE lwa_csv USING '|;'.
        CONCATENATE lv_string lwa_csv gc_crlf INTO lv_string .
    ENDCASE.
  ENDLOOP.

  lv_string = lv_header && lv_string.

  TRY.
      cl_bcs_convert=>string_to_solix(
        EXPORTING
          iv_string   = lv_string
          iv_codepage = ''
          iv_add_bom  = 'X'
        IMPORTING
          et_solix  = lit_binary_content
          ev_size   = lv_size ).
    CATCH cx_bcs.
      MESSAGE e445(so).
  ENDTRY.

  OPEN DATASET lv_file FOR OUTPUT IN BINARY MODE MESSAGE l_msg.
  IF sy-subrc <> 0.
    MESSAGE l_msg TYPE 'E'.
  ENDIF.
  LOOP AT lit_binary_content INTO lwa_binary_content.
    TRANSFER lwa_binary_content-line TO lv_file.
  ENDLOOP.

  CLOSE DATASET lv_file.
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: Submit mit Variante ohne Selektionsbild

Beitrag von LostDarkness (ForumUser / 87 / 15 / 6 ) »
ewx hat geschrieben:Da erscheint "GIB" im Programmnamen...
Wenn das Programm mit dem GIB-Programmiertemplate erstellt wurde, und wenn ich das richtig erinnere, dann gibt es einen Parameter, mit dem du das Ergebnis automatisch speichern kannst.
Dazu passt auch, dass du die Selektion zurück bekommst, weil das erste ALV im Programmiertemplate genau die Auflistung der Selektionsparameter erzeugt.
Ja, das ist ein GIB-Template, das dies Auswirkungen haben könnte habe ich gar nicht bedacht, danke für den Ansatz!
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: Submit mit Variante ohne Selektionsbild

Beitrag von black_adept (Top Expert / 4092 / 127 / 940 ) »
Moin Gerrit,
ewx hat schon das Wesentliche gepostet.
Für alle die die Links von Enno noch nicht gesehen haben: Der SAP-Report SALV_TEST_INTERCEPTOR_REPORT ist sehr! interessant. Und wer beim Debuggen auf

Code: Alles auswählen.

*>>>Mendocino Extraction
stößt ist auf dem richtigen Weg.

Aber noch als Ergänzung. Da die GIB-Programme ja selbst generiert sind hindert dich niemand daran vor der Ausgabe die Daten ins Memory zu exportieren ( oder sogar schon nach CsV umzuwandeln und das dann zu exportieren ) und im rufenden Programm die Daten an sich abzuholen statt der Liste um sie dann wieder zurück zu konvertieren.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
LostDarkness

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Submit mit Variante ohne Selektionsbild

Beitrag von LostDarkness (ForumUser / 87 / 15 / 6 ) »
black_adept hat geschrieben:Moin Gerrit,
ewx hat schon das Wesentliche gepostet.
Für alle die die Links von Enno noch nicht gesehen haben: Der SAP-Report SALV_TEST_INTERCEPTOR_REPORT ist sehr! interessant. Und wer beim Debuggen auf

Code: Alles auswählen.

*>>>Mendocino Extraction
stößt ist auf dem richtigen Weg.

Aber noch als Ergänzung. Da die GIB-Programme ja selbst generiert sind hindert dich niemand daran vor der Ausgabe die Daten ins Memory zu exportieren ( oder sogar schon nach CsV umzuwandeln und das dann zu exportieren ) und im rufenden Programm die Daten an sich abzuholen statt der Liste um sie dann wieder zurück zu konvertieren.

Es ist aber immer so die Sache in Programmen von anderen rumzubasteln, wenns nicht sein muss versuche ich das gerne zu vermeiden, wenn es nicht anders geht führt aber wohl kein Weg daran vorbei.

Vielen lieben Dank an alle, ihr habt mir sehr geholfen.
“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: Submit mit Variante ohne Selektionsbild

Beitrag von DeathAndPain (Top Expert / 1947 / 257 / 413 ) »
black_adept hat geschrieben:Für alle die die Links von Enno noch nicht gesehen haben: Der SAP-Report SALV_TEST_INTERCEPTOR_REPORT ist sehr! interessant.
Hab mal einen Blick drauf geworfen. Anscheinend ist der in der Lage, die ALV-Ausgabe anderer Reports in einem wählbaren Format (sogar Excel 2007) im Dateisystem des Servers abzulegen? Beeindruckend. Bislang dachte ich, mit diesem Dateiformat könne SAP nur umgehen, wenn man entweder per OLE das installierte MS Office des Clientrechners nutzt (was bei Hintergrundjobs und Java-GUIs nicht funktioniert) oder sich irgendwelche Fremdsoftware installiert (besonders über Nuggets, deren Nugget-Installer unterirdisch dokumentiert ist und nicht funktioniert).

Klingt reizvoll, aber meist brauche ich die Excel 2007-Datei nicht im Server-Dateisystem, sondern als Dateianhang für eine Email. Kriegt man das mit dieser Technik auch hin?

Re: Submit mit Variante ohne Selektionsbild

Beitrag von edwin (Specialist / 302 / 10 / 68 ) »
eine XLSX kann SAP auch Ohne Excel und OLE batch aus einer itab generieren

siehe hier : https://www.abapforum.com/forum/viewtop ... 910#p88910

Du bekommst die xlsx als XSTRING zurück

/Edwin

Folgende Benutzer bedankten sich beim Autor edwin für den Beitrag:
DeathAndPain


Re: Submit mit Variante ohne Selektionsbild

Beitrag von DeathAndPain (Top Expert / 1947 / 257 / 413 ) »
Danke, das schaue ich mir mal an.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1465
Views
Selektionsbild via Submit füllen
von siggi76 » 29.06.2012 12:10 • Verfasst in ABAP® Core
3
Antw.
3726
Views
Selektionsbild via Submit füllen
von siggi76 » 29.06.2012 12:10 • Verfasst in ABAP® Core
3
Antw.
2127
Views
SUBMIT AND RETURN Auswertung Selektionsbild
von almialmi » 02.06.2006 19:12 • Verfasst in ABAP® Core
5
Antw.
1113
Views
SUBMIT mit dynamischen Werten + fester Variante?
von LostDarkness » 03.09.2019 11:22 • Verfasst in ABAP® für Anfänger
2
Antw.
1958
Views
Selektionsbild
von KarstenS. » 30.11.2006 15:38 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 12 Minuten von ewx 17 / 10779
Dialog-Container mit Toolbar/Status
vor 23 Minuten von tar gelöst 26 / 3911
User Exit EXIT_RQCPRM10_001
vor 22 Stunden von a-dead-trousers 2 / 359
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1413

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.

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 12 Minuten von ewx 17 / 10779
Dialog-Container mit Toolbar/Status
vor 23 Minuten von tar gelöst 26 / 3911
User Exit EXIT_RQCPRM10_001
vor 22 Stunden von a-dead-trousers 2 / 359
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1413

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2941
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9534