ALV Ausgabe Zeilen Problem

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

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

ALV Ausgabe Zeilen Problem

Beitrag von erzoo24 (ForumUser / 49 / 28 / 0 ) »
EInen guten Morgen wünsch ich liebe Abap Gemeinde,

ich habe eine ALV Anzeige erstellt mit den Spalten Patientennummer, Vname, Nname, Geburtsdatum und Geschlecht
zu dem hab ich eine zusammengesetzte variable lv_ausgabe die ich der (ALV) lt_outtab durch Append übergebe. Das Problem ist, dass lv_ausgabe in der Zweiten Zeile ausgegeben wird und nicht in der ersten zeile neben Geschlecht

Code: Alles auswählen.

*zwischen struktur
  DATA: BEGIN OF ls_outtab,
          patnr TYPE patnr,
          vname TYPE vname_pat,
          nname TYPE nname_pat,
          gschl TYPE gschl,
          gbdat TYPE ri_gbdat,
          
        END OF ls_outtab,
        lt_outtab LIKE TABLE OF ls_outtab.

DATA: gr_table TYPE REF TO cl_salv_table.

....

APPEND lv_ausgabe TO lt_outtab.
ich bin dankbar für jeden hilfreichen Rat.
_________________________________________________________________________________
Gruß Özgür

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


Re: ALV Ausgabe Zeilen Problem

Beitrag von Niels (ForumUser / 77 / 18 / 9 ) »
Guten Morgen,

mit Append hängst du eine Zeile an die lt_outtab dran.

du könntest z.B. mit

Code: Alles auswählen.

LOOP AT lt_outtab ASSINING <fs_outtab>.
<fs_outtab>-FIELDNAME = lv_ausgabe.
ENDLOOP.
die Zeilen füllen wenn du mehrere Zeilen füllen möchtest.

Folgende Benutzer bedankten sich beim Autor Niels für den Beitrag:
erzoo24


Re: ALV Ausgabe Zeilen Problem

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hallo Özgür,

verstehe ich das richtig: du hast eine "fertige" Tabelle mit Daten und möchtest da ein weiteres Feld hinzufügen (lv_ausgabe NEBEN Geschlecht) ?
Das kannst du nicht mit einem APPEND schaffen, denn wie Niels schon schrieb, mit APPEND hängst du eine neue Zeile an deine Tabelle dran.
Wenn du tatsächlich ein weiteres Feld in der Zeile (NEBEN Geschlecht) aufnehmen möchtest musst du deine Struktur ls_outtab erweitern um dieses Feld / diese Felder und dann den Inhalt aus lv_ausgabe dort einfügen.

Für den Fall das du eine eigene Zeile für lv_ausgabe einfügen möchtest, die die erste Zeile darstellen soll, dann musst du ein INSERT blabla INTO tabelle INDEX 1 verwenden.

Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
erzoo24

Gruß,
der Matze

Re: ALV Ausgabe Zeilen Problem

Beitrag von erzoo24 (ForumUser / 49 / 28 / 0 ) »
Es hat zwar alles geklappt doch es ist ein anderes Problem aufgetretten...

bei der Mehrfachselektion der Patnnr taucht bei dem erweitertem "lv_ausgabe" feld nur der letzte ausgewählte Eintrag der Mehrfachselektion auf ....er soll aber für alle eine Text-Zusammensetzung machen...
_________________________________________________________________________________
Gruß Özgür

Re: ALV Ausgabe Zeilen Problem

Beitrag von Niels (ForumUser / 77 / 18 / 9 ) »
erzoo24 hat geschrieben:bei der Mehrfachselektion der Patnnr taucht bei dem erweitertem "lv_ausgabe" feld nur der letzte ausgewählte Eintrag der Mehrfachselektion auf
Wie setzt du denn lv_ausgabe zusammen?

Folgende Benutzer bedankten sich beim Autor Niels für den Beitrag:
erzoo24


Re: ALV Ausgabe Zeilen Problem

Beitrag von erzoo24 (ForumUser / 49 / 28 / 0 ) »
Niels hat geschrieben: Wie setzt du denn lv_ausgabe zusammen?
also in meinem Programm gehts darum anhand einer stil auswahl, zeichen auszugeben z.b habe ich 5 Radio Buttons der 1. ist die ausgabe von anrede , vname, nname
der 2. anrede, nname, vname, geschlecht
usw....

diese werden bei mir durch concatenate ausgeführt also ..

Code: Alles auswählen.

LOOP AT s_patnr INTO ls_patnr.

 IF     s1 EQ 'X'.
      CONCATENATE lv_anr lv_vname lv_nname INTO lv_ausgabe SEPARATED BY space.
    ELSEIF s2 EQ 'X'.
      CONCATENATE lv_anr ` ` lv_nname `, ` lv_vname INTO lv_ausgabe.
    ELSEIF s3 EQ 'X'.
      CONCATENATE lv_nname `, ` lv_vname `, ` INTO lv_ausgabe. 

endloop.

  LOOP AT lt_outtab ASSIGNING <ls_outtab>.
    <ls_outtab>-fieldname = lv_ausgabe.
  ENDLOOP.

_________________________________________________________________________________
Gruß Özgür

Re: ALV Ausgabe Zeilen Problem

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi,

du darfst keine 2 Loops haben. mit deinem ersten loop überschreibst du x-mal lv_ausgabe und es bleibt nur das letzte darin enthalten.
Du musst die CONCATENATE-Befehle in den anderen LOOP miteinbauen. Und zwar erst lv-ausgabe erstellen und dann in das feld übertragen. oder kürzer: deine concatenate-befehle alle direkt in das Feld übertragen.

Frage nebenbei: Hast du grundlegend verstanden was du da tust in deinen Loops? Oder hast du nur die Lösungen übernommen?

Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
erzoo24

Gruß,
der Matze

Re: ALV Ausgabe Zeilen Problem

Beitrag von erzoo24 (ForumUser / 49 / 28 / 0 ) »
Thanatos82 hat geschrieben:Hi,

du darfst keine 2 Loops haben. mit deinem ersten loop überschreibst du x-mal lv_ausgabe und es bleibt nur das letzte darin enthalten.
Du musst die CONCATENATE-Befehle in den anderen LOOP miteinbauen. Und zwar erst lv-ausgabe erstellen und dann in das feld übertragen. oder kürzer: deine concatenate-befehle alle direkt in das Feld übertragen.

Frage nebenbei: Hast du grundlegend verstanden was du da tust in deinen Loops? Oder hast du nur die Lösungen übernommen?

ja das habe ich verstanden hab auch das Problem erkannt ...

Code: Alles auswählen.

LOOP AT lt_outtab ASSIGNING <ls_outtab>.

   " hier... nur wie formuliere ich das denn das er das für jeden Patienten macht 

    <ls_outtab>-fieldname = lv_ausgabe.
  ENDLOOP.
_________________________________________________________________________________
Gruß Özgür

Re: ALV Ausgabe Zeilen Problem

Beitrag von Niels (ForumUser / 77 / 18 / 9 ) »
Hi,

Code: Alles auswählen.

LOOP AT lt_outtab ASSIGNING <ls_outtab>.

   " hier... nur wie formuliere ich das denn das er das für jeden Patienten macht 
CONCATENATE <ls_outtab>-feld1 ' ' <ls_outtab>-feld2 ... INTO lv_ausgabe SEPERATED BY SPACE.

    <ls_outtab>-fieldname = lv_ausgabe.
  ENDLOOP.

Folgende Benutzer bedankten sich beim Autor Niels für den Beitrag:
erzoo24


Re: ALV Ausgabe Zeilen Problem

Beitrag von erzoo24 (ForumUser / 49 / 28 / 0 ) »
ICh danke euch sehr!!

habe den Rat befolgt nur eine loop zu benutzen und nach dem Beispiel von Niels hat sich der Code wie folgt geändert

Code: Alles auswählen.

  LOOP AT lt_outtab ASSIGNING <ls_outtab>.

    lv_alter = sy-datum+0(4) - <ls_outtab>-gbdat+0(4).

    IF <ls_outtab>-gschl EQ '1'.
      <ls_outtab>-gschl = 'M'.
    ELSEIF <ls_outtab>-gschl EQ '2'.
      <ls_outtab>-gschl = 'W'.
    ELSE.
      <ls_outtab>-gschl = 'A'.
    ENDIF.

    IF <ls_outtab>-gschl EQ 'M'.
      lv_anr = 'Herr'.
    ELSE.
      lv_anr = 'Frau'.
    ENDIF.

    IF     s1 EQ 'X'.
      CONCATENATE  lv_anr <ls_outtab>-vname <ls_outtab>-nname INTO lv_ausgabe SEPARATED BY space.
    ELSEIF s2 EQ 'X'.
      CONCATENATE  lv_anr <ls_outtab>-nname `, ` <ls_outtab>-vname INTO lv_ausgabe.
    ELSEIF s3 EQ 'X'.
      CONCATENATE <ls_outtab>-nname `, ` <ls_outtab>-vname `, ` INTO lv_ausgabe.

      IF <ls_outtab>-gschl EQ 'M'.
        CONCATENATE lv_ausgabe 'Männlich' INTO lv_ausgabe.
      ELSE.
        CONCATENATE lv_ausgabe 'Weiblich' INTO lv_ausgabe.
      ENDIF.

    ELSEIF s4 EQ 'X'.
      CONCATENATE <ls_outtab>-nname `, ` <ls_outtab>-vname ` ` `(` <ls_outtab>-gschl `, ` lv_alter `)` INTO lv_ausgabe.

    ELSEIF s5 EQ 'X'.
      CONCATENATE <ls_outtab>-vname `, ` <ls_outtab>-nname ` ` '(' <ls_outtab>-gschl `, ` lv_alter ')' INTO lv_ausgabe.

    ENDIF.


    <ls_outtab>-fieldname = lv_ausgabe.
  ENDLOOP.
die Ausgabe sieht jetzt nach meiner Vorstellung aus
_________________________________________________________________________________
Gruß Özgür

Seite 1 von 1

Vergleichbare Themen

9
Antw.
8189
Views
max Ausgabe an Zeilen ALV Grid
von c oco » 03.05.2012 16:47 • Verfasst in ABAP® für Anfänger
4
Antw.
3366
Views
Ausgabe Zeilen in SAP Langtexten als aktivierbaren Link
von SAP_ENTWICKLER » 29.12.2017 06:27 • Verfasst in ABAP® Core
10
Antw.
4460
Views
TableControl: einzelne Zeilen der Ausgabe löschen?
von ChrizB » 16.01.2006 08:28 • Verfasst in ABAP® für Anfänger
9
Antw.
3058
Views
Problem bei Sortierung von farbigen Zeilen in alv
von Legxis » 26.03.2018 11:42 • Verfasst in ABAP® für Anfänger
9
Antw.
7500
Views
Problem mit Zeilen einer internen Liste
von ostpower » 22.04.2010 16:49 • 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

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.