Spalten einer int. Tabelle auf Einträge überprüfen Thema ist als GELÖST markiert

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

Spalten einer int. Tabelle auf Einträge überprüfen

Beitrag von Wolke (ForumUser / 3 / 1 / 0 ) »
Hallo zusammen,

da ich noch nicht so lange mit SAP arbeite oder mit ABAP programmiert habe, stehe ich vor folgendem Problem:

aus einer internen Tabelle soll ich nur die Spalten ausgeben, die mind. einen Eintrag enthalten. Falls kein Eintrag vorhanden ist, soll die Spalte nicht ausgegeben werden.
Mein Plan war es, über die Spalte zu loopen und mithilfe eines Zählers die Einträge pro Spalte zu zählen.
Wahrscheinlich müsste ich auch mit Feldsymbolen arbeiten, doch bis jetzt verstehe ich das alles noch nicht so ganz und hoffe, dass ihr mir weiterhelfen könnt :-)

LG Wolke

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


Re: Spalten einer int. Tabelle auf Einträge überprüfen

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Guten Morgen,

ich weiß gerade nicht genau, was du mit "Spalte ausgeben" bzw "Spalte nicht ausgeben" meinst, aber deiner Fragestellung nach zu Urteilen wäre es ca sowas, was du brauchst:

Code: Alles auswählen.

LOOP AT itab INTO wa.
    DO n TIMES.
         ASSIGN COMPONENT sy-index OF STRUCTURE wa TO <fs>.
         IF <fs> IS INITIAL.
              "DO ANYTHING
         ENDIF.
    ENDDO.
ENDLOOP.
n ist dabei die Anzahl deiner Spalten

EDIT: Ist natürlich Perfomancetechnisch nicht zwingend das beste sowas zu machen:P

Re: Spalten einer int. Tabelle auf Einträge überprüfen

Beitrag von a-dead-trousers (Top Expert / 4486 / 231 / 1205 ) »
Ich vermute mal, dass es darum geht, dass bei einer tabellarischen Ausgabe nur die Spalten ausgegeben werden sollen, die in irgendeiner Zeile min. einen Wert haben.

Das Coding von Pyro ist dahingehend schon mal brauchbar und muss nur noch ein wenig adaptiert werden:

Code: Alles auswählen.

data: lt_index type INT4_TABLE.
field-symbols: <la_line> type any.
LOOP AT itab ASSIGNINg <la_line>.
    DO.
         ASSIGN COMPONENT sy-index OF STRUCTURE <la_line> TO <fs>.
         IF sy-subrc NE 0.
           exit. "Abbruchbedingung (Ende der Struktur erreicht)
         ELSEIF <fs> IS NOT INITIAL.     
           append sy-index to lt_index. "Die befüllten Spaltenindizes merken
         ENDIF.
    ENDDO.
ENDLOOP.
SORT lt_index.
delete adjacent duplicates from lt_index. "Verdichten
LOOP AT itab ASSIGNINg <la_line>.
    DO.
         ASSIGN COMPONENT sy-index OF STRUCTURE <la_line> TO <fs>.  
         IF sy-subrc NE 0.
           exit. "Abbruchbedingung (Ende der Struktur erreicht)
         ELSE.
           READ TABLE lt_index TRANSPORTING no fields binary search 
             with key table_line = sy-index. "Soll die Spalte ausgegeben werden?
           IF sy-subrc EQ 0.
* Spalte ausgeben
           ENDIF.
         ENDIF.
    ENDDO.
ENDLOOP.
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

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor 4 Tagen von codemaster1 2 / 24331
Stücklisten
vor einer Woche von Selma.schwarz 1 / 25293
Belege
vor einer Woche von Selma.schwarz 1 / 24875

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.

Vergleichbare Themen

doppelte Einträge löschen Distinct über mehrere Spalten
von tmxx » 03.03.2008 13:53
Einträge zählen interne Tabelle
von L0w-RiDer » 08.11.2018 18:58
Prüfung vorhandener Einträge in Tabelle
von Stahle71 » 11.05.2016 10:00
Einträge aus DB-Tabelle paketweise selektieren
von euro2008 » 28.08.2008 17:00
Einträge einer Tabelle zählen ...
von anonymizer2002 » 14.09.2007 14:31

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor 4 Tagen von codemaster1 2 / 24331
Stücklisten
vor einer Woche von Selma.schwarz 1 / 25293
Belege
vor einer Woche von Selma.schwarz 1 / 24875

Unbeantwortete Forenbeiträge

Stücklisten
vor einer Woche von Selma.schwarz 1 / 25293
Belege
vor einer Woche von Selma.schwarz 1 / 24875