Anzahl Felder einer Struktur ermitteln

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

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

Anzahl Felder einer Struktur ermitteln

Beitrag von Barney (Specialist / 104 / 20 / 9 ) »
Hallo,

ich möchte folgendes realisieren.

Ich habe eine komplexe selbstprogrammierte Lösung geerbt. Wenn ich ganz ehrlich bin, gehört das Teil massiv überarbeitet, aber dazu fehlt die Zeit. Also muss ich erstmal mit dem leben, was ich vorfinde.

Nun gibt es eine Struktur mit sieben Feldern, die alle entweder 1 oder 0 sein können. Ich ermittle nun mit folgenden Coding auf Basis der dadurch entstehenden Binärzahl eine entsprechende Dezimalzahl, damit ich in einem Feld weiß, wie die Struktur gefüllt ist.

Code: Alles auswählen.

TYPES: BEGIN OF t_pruef,
         feld1  TYPE irgendwas,
         feld2  TYPE irgendwas,
         feld3  TYPE irgendwas,
         feld4 TYPE irgendwas,
         feld5  TYPE irgendwas,
         feld6  TYPE irgendwas,
         feld7  TYPE irgendwas,
       END OF t_pruef.


DATA wa_erg TYPE t_pruef.

wa_erg = '0101000'.

DATA   lf_counter        TYPE i VALUE '1'. 
DATA   lf_potenz         TYPE i.
DATA   lf_ergebnis       TYPE i.
DATA   lf_rest           TYPE i.

FIELD-SYMBOLS: <test>  TYPE t_pruef,
               <field> TYPE any.

ASSIGN wa_erg TO <test>.
*--------------------------------------------------------------------*
* Codieren
*--------------------------------------------------------------------*
DO 7 TIMES.

  ASSIGN COMPONENT lf_counter OF STRUCTURE <test> TO <field>.

  lf_ergebnis = lf_ergebnis + (  <field> * ( 2 ** lf_potenz ) ).

  ADD 1 TO lf_potenz.
  ADD 1 TO lf_counter.

ENDDO.
Nun die entscheidene Frage: jetzt habe ich die 7 hart in der Schleife codiert. Wie bekomme ich das ganze etwas dynamischer hin, wenn morgen ein achtes Feld hinzukommen sollte?

Ich steh da ein wenig auf dem Schlauch... :(

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


Re: Anzahl Felder einer Struktur ermitteln

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

mit folgendem Coding ist es egal wieviele Felder die Struktur erst einmal hat - wenn der Schleifenindex (Sy-index) grösser als die Anzahl Felder dann geht der Assign auf die Bretter und in der Schleife erfolgt dann der Ausstieg wenn sy-subrc <> 0

do.
assign component sy-index of structure t_pruef to <fs_any>.
if sy-subrc <> 0.
exit.
endif.
---> hier alles was du dann machen willst
if <fs_any> is assigned.

endif.

enddo.

Gruss

Folgende Benutzer bedankten sich beim Autor jensschladitz für den Beitrag:
Barney

thanks Jens

Re: Anzahl Felder einer Struktur ermitteln

Beitrag von MrBojangles (Specialist / 367 / 3 / 30 ) »
Hallo,
lass doch einfach den Zusatz 7 Times weg und frag nach dem ASSIGN den SY-SUBRC ab. Wenn die Felder "aus" sind, gibt's nen RC <> 0, dann mit EXIT raus. Kleiner Tipp noch dazu. Statt eines eigenen Zählers kannst Du auch die System-Variable SY-INDEX verwenden, die wird autom. bei jedem Schleifendurchlauf um 1 inkrementiert.

EDIT: (wieder mal) zu spät

Folgende Benutzer bedankten sich beim Autor MrBojangles für den Beitrag:
Barney

Weiterhin viel Freude mit SAP...
Cheers
MrB.

Re: Anzahl Felder einer Struktur ermitteln

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
MrBojangles hat geschrieben:Hallo,
lass doch einfach den Zusatz 7 Times weg und frag nach dem ASSIGN den SY-SUBRC ab. Wenn die Felder "aus" sind, gibt's nen RC <> 0, dann mit EXIT raus. Kleiner Tipp noch dazu. Statt eines eigenen Zählers kannst Du auch die System-Variable SY-INDEX verwenden, die wird autom. bei jedem Schleifendurchlauf um 1 inkrementiert.

EDIT: (wieder mal) zu spät

... wer zu spät kommt den bestraft das Leben (M.Gorbatschow) 8) 8) 8)

nichts für ungut :D
thanks Jens

Re: Anzahl Felder einer Struktur ermitteln

Beitrag von Barney (Specialist / 104 / 20 / 9 ) »
MrBojangles hat geschrieben:Hallo,

EDIT: (wieder mal) zu spät
Trotzdem gibt es ein "DANKE"... ;-)

Das war genau das, was ich gesucht hatte...

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3856
Views
FI-TV: Reisekosten - Anzahl der Abzüge ermitteln ?
von Matthias_L. » 07.12.2006 12:58 • Verfasst in Financials
1
Antw.
560
Views
8
Antw.
8272
Views
generische Objektdienste (BOR) - Ermitteln Anzahl Anlagen
von Kaiwalker » 25.02.2008 09:15 • Verfasst in ABAP Objects®
2
Antw.
28619
Views
Anzahl der im String enthaltener Zeichen ermitteln
von wexpress » 13.01.2005 15:50 • Verfasst in ABAP® Core
2
Antw.
4415
Views
Anzahl DB-Elemente in Funktionsbaustein Ermitteln(gelöst)
von beterman » 15.11.2011 19:07 • 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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 14 Stunden von Bright4.5 1 / 275
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1915
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8517