Ausgabe für letztes erstelltes Objekt durch Zähler

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

Getting started ... Alles für einen gelungenen Start.
26 Beiträge • Seite 1 von 2 (current) Nächste
26 Beiträge Seite 1 von 2 (current) Nächste

Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
Hallo Freunde,

habe einen COde entwickelt, bei dem man aus einer BW-Objekttabelle gewisse existierende Objekte auslesen kann. Dies erfolgt anhand deren Namenskonventionen. Ein einfaches Beispiel für solch ein Objekt wäre ein DSO OBjekt mit NAmen D1COSl01.
D steht für das Objekt (DSO)
1 Steht für den zugehörigen Layer (! = Extraktionslayer)
CO steht für das MOdul
SL für die Modulgruppe
01 ist letztendlich der Zähler für solch ein bestimmtes OBjekt.
ICh habe nun in Select Options dafür gesorgt, dass man eben die Verfügbaren LAyer, Module Modulgruppen auswählen kann und die existierenden Objekte angezeigt werden.
Im nächsten Schritt, bei dem ich gerade Hänge will ich mir nur das Objekt mit dem höchsten Zähler ausgeben also das zuletzt erstellte Objekt. Das wäre schon mal die erste Hürde.
Im zweiten Schritt soll mein Programm automatisch das nächstmögliche OBjekt vorschlagen, also falls das Objekt D1COSL03 bestehen würde, sollte es D1COSL04 vorschlagen.

Hier mein isheriger COde komme gerade leider nicht weiter, und hoffe dass mit jeman helfen kann

Code: Alles auswählen.

PARAMETERS: layer(30)  AS LISTBOX VISIBLE LENGTH 30, "OBLIGATORY,
            modul(30)  AS LISTBOX VISIBLE LENGTH 30, "OBLIGATORY,
            gruppe(30) AS LISTBOX VISIBLE LENGTH 30.

AT SELECTION-SCREEN OUTPUT.

  param = 'layer'.
  value-key = 'L01'.
  value-text = 'Layer 1 Extraktion'.
  APPEND value TO values.
  value-key = 'L02'.
  value-text = 'Layer 3 Harmonisierung'.
  APPEND value TO values.
  value-key = 'L03'.
  value-text = 'Layer 5 Datamart'.
  APPEND value TO values.
  value-key = 'L04'.
  value-text = 'Layer 7 Präsentation'.
  APPEND value TO values.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = param
      values = values.

  Refresh values.


  param = 'modul'.
  value-key = 'M01'.
  value-text = 'Modul CO'.
  APPEND value TO values.
  value-key = 'M02'.
  value-text = 'Modul CP'.
  APPEND value TO values.
  value-key = 'M03'.
  value-text = 'Modul CS'.
  APPEND value TO values.
  value-key = 'M04'.
  value-text = 'Modul DP'.
  APPEND value TO values.
  value-key = 'M05'.
  value-text = 'Modul FI'.
  APPEND value TO values.
  value-key = 'M06'.
  value-text = 'Modul HR'.
  APPEND value TO values.
  value-key = 'M07'.
  value-text = 'Modul LE'.
  APPEND value TO values.
  value-key = 'M07'.
  value-text = 'Modul MD'.
  APPEND value TO values.
  value-key = 'M08'.
  value-text = 'Modul MM'.
  APPEND value TO values.
  value-key = 'M09'.
  value-text = 'Modul PM'.
  APPEND value TO values.
  value-key = 'M10'.
  value-text = 'Modul PP'.
  APPEND value TO values.
  value-key = 'M11'.
  value-text = 'Modul PS'.
  APPEND value TO values.
  value-key = 'M12'.
  value-text = 'Modul QM'.
  APPEND value TO values.
  value-key = 'M13'.
  value-text = 'Modul SD'.
  APPEND value TO values.
  value-key = 'M14'.
  value-text = 'Modul SN'.
  APPEND value TO values.
  value-key = 'M15'.
  value-text = 'Modul TD'.
  APPEND value TO values.


  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = param
      values = values.

  Refresh values.

  param = 'gruppe'.
  value-key = 'G01'.
  value-text = 'Gruppe SL'.
  APPEND value TO values.
  value-key = 'G02'.
  value-text = 'Gruppe BI'.
  APPEND value TO values.
  value-key = 'G03'.
  value-text = 'Gruppe SH'.
  APPEND value TO values.
  value-key = 'G04'.
  value-text = 'Gruppe PU'.
  APPEND value TO values.
  value-key = 'G05'.
  value-text = 'Gruppe IM'.
  APPEND value TO values.
  value-key = 'G06'.
  value-text = 'Gruppe GL'.
  APPEND value TO values.
  value-key = 'G07'.
  value-text = 'Gruppe AP'.
  APPEND value TO values.
  value-key = 'G08'.
  value-text = 'Gruppe AR'.
  APPEND value TO values.
  value-key = 'G09'.
  value-text = 'Gruppe OM'.
  APPEND value TO values.
  value-key = 'G09'.
  value-text = 'Gruppe PC'.
  APPEND value TO values.
  value-key = 'G10'.
  value-text = 'Gruppe 0G'.
  APPEND value TO values.
  value-key = 'G11'.
  value-text = 'Gruppe PA'.
  APPEND value TO values.
  value-key = 'G12'.
  value-text = 'Gruppe PT'.
  APPEND value TO values.
  value-key = 'G13'.
  value-text = 'Gruppe PY'.
  APPEND value TO values.
  value-key = 'G14'.
  value-text = 'Gruppe TA'.
  APPEND value TO values.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = param
      values = values.

START-OF-SELECTION.


  PERFORM infos.
  if layer = 'L01'.
    DELETE l_t_rsdodso WHERE odsobject(2) <> 'D1' .
      ELSEIF layer = 'L02'.
    DELETE l_t_rsdodso WHERE odsobject(2) <> 'D3'.
  ELSEIF layer = 'L03'.
    DELETE l_t_rsdodso WHERE odsobject(2) <> 'D5'.
  ELSEIF layer = 'L04'.
    DELETE l_t_rsdodso WHERE odsobject(2) <> 'D7'.
  Endif.
  
   if modul = 'M01'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'CO'.
ELSEIF modul = 'M02'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'CP'.
ELSEIF modul = 'M03'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'CS'.
ELSEIF modul = 'M04'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'DP'.
ELSEIF modul = 'M05'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'FI'.
ELSEIF modul = 'M06'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'HR'.
ELSEIF modul = 'M07'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'LE'.
ELSEIF modul = 'M08'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'MD'.
ELSEIF modul = 'M09'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'MM'.
ELSEIF modul = 'M10'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'PM'.
ELSEIF modul = 'M11'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'PP'.
ELSEIF modul = 'M12'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'PS'.
ELSEIF modul = 'M13'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'QM'.
ELSEIF modul = 'M14'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'SD'.
ELSEIF modul = 'M15'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'SN'.
ELSEIF modul = 'M16'.
    Delete l_t_rsdodso Where odsobject+2(2) <> 'TD'.
  ENDIF.
  
  if gruppe = 'G01'.
     Delete l_t_rsdodso WHERE odsobject+4(2) <> 'SL'.
ELSEIF gruppe = 'G02'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'BI'.
ELSEIF gruppe = 'G03'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'SH'.
ELSEIF gruppe = 'G04'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PU'.
ELSEIF gruppe = 'G05'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'IM'.
ELSEIF gruppe = 'G06'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'GL'.
ELSEIF gruppe = 'G07'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'AP'.
ELSEIF gruppe = 'G08'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'AR'.
ELSEIF gruppe = 'G09'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'OM'.
ELSEIF gruppe = 'G10'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PC'.
ELSEIF gruppe = 'G11'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> '0G'.
ELSEIF gruppe = 'G12'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PA'.
ELSEIF gruppe = 'G13'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PT'.
ELSEIF gruppe = 'G14'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PY'.
ELSEIF gruppe = 'G15'.
  DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'TA'.
ENDIF.
  PERFORM ausgabe.
  

*&---------------------------------------------------------------------*
*&      Form  infos
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM infos.

  SELECT rsdodso~odsobject txtlg rsdodso~objvers
     INTO  CORRESPONDING FIELDS OF TABLE l_t_rsdodso
      FROM rsdodso INNER JOIN rsdodsot ON rsdodsot~odsobject = rsdodso~odsobject
    WHERE rsdodso~objvers = 'A' AND rsdodso~odsobject in so_odsob .
ENDFORM.                    "infos

*&---------------------------------------------------------------------*
*&      Form  ausgabe
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM ausgabe.
DELETE l_t_rsdodso WHERE odsobject(1) = '0'.
  LOOP AT l_t_rsdodso ASSIGNING <rsdodso_fields>.
*  WHERE odsobject(1) EQ '1'  .
        WRITE:/ <rsdodso_fields>-odsobject,
            <rsdodso_fields>-txtlg,
            <rsdodso_fields>-objvers.
  ENDLOOP.
ENDFORM.                    "ausgabe

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


Re: Ausgabe für letztes erstelltes Objekt durch Zähler

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

für die erste Hürde: Tabelle sortieren lassen und dann je nach sortierreihenfolge den ersten oder letzten datensatz lesen. schon hast du das Objekt mit dem höchsten Zähler.

zur zweiten Hürde. Existiert denn das nächst höhere Objekt? Ansonsten brauchst du doch nur mit einem Offset ( die Sache mit +1(1) ;) ) dir die letzten beiden Stellen ausgeben lassen und in einem weiteren Schritt das um eins hochzählen. :)

Hoffe die Denkanstöße helfen dir weiter.
Gruß,
der Matze

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
Danke schonmal für die Antwort!

Wie sortiere ich denn eine Tabelle, geht das über sort l_t_rsdodso (meine interne Tabelle) ?
Und wie lese ich dann den Datensatz?

Zur 2ten Hürde, das nächst höhere Objekt existiert nicht, dieses Programm soll einem Entwickler dienen der ein neues Objekt anlegen will und vorher überprüfen welche es bereits gibt, bzw. wie er sein nächstes nennen soll..
Ausgeben kann ich dies dann genauso wie die bisherigen auch also so wie LAyer, Modul, Gruppe?

Grüße

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
Habe mir die Sortierung so gedacht (wollte die Ausgabe des höcht existierenden Objektes als Checkbox anbieten)

Code: Alles auswählen.

PARAMETERS : layer TYPE char30  AS LISTBOX VISIBLE LENGTH 30 USER-COMMAND dummy ,
             modul TYPE char30  AS LISTBOX VISIBLE LENGTH 30 MODIF ID ID1 USER-COMMAND dummy,
             gruppe(30)  AS LISTBOX VISIBLE LENGTH 30 MODIF ID ID2,
             zaehler as checkbox.  
jetzt möchte ich die Tabelle sortieren, und alle ausser dem höchsten rauslöschen... weiss nicht wie ich dies angebe.

Code: Alles auswählen.

if zaehler = 'X'.
  SORT l_t_rsdodso BY odsobject+6(2) ASCENDING.
DELETE l_t_rsdodso WHERE odsobject+6(2) <> max??? .
  ENDIF.

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Wie wäre es stattdessen mit einer ABSTEIGENDEN Sortierung?

Code: Alles auswählen.

SORT l_t_rsdodso BY odsobject+6(2) DESCENDING.
DELETE TABLE l_t_rsdodso FROM 2. "Entweder alles ab index 2 löschen ...
".. oder ...
READ TABLE l_t_rsdodso ASSIGNING ... INDEX 1. "... den Index 1 auslesen.
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

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
Hmmm funktioniert bei mir beides nicht bei der DELETE Version kommt als Fehler dass rsdodso nicht mit 1 kompatibel ist und bei der READ Variante gibt er mir trotzdem alle Objekte aus..

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Warum fuellst Du erst eine interne Tabelle mit hunderte, tausend oder zig tausende???? Eintraege, wenn Du nur einen Datensatz brauchst???

Wenn Du trotzdem eine interne Tabelle benutzen und fuellen willst, warum willst Du aber am Ende alle Saetze ausser einem Satz loeschen?

Einfach nur den hoechsten Satz in eine Struktur lesen (sort descending, lese index 1) und die Tabelle dann einfach lassen oder wenn zu gross (siehe ersten Einwand) ansonsten einfach Tabelle komplett loeschen.
Der gewuenschte Satz ist ja in der Struktur.

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
Alle ausser einem Satz zu löschen ist nur eine Option, manchmal möchte ich mehrere bis alle Objekte anzeigen...
Warum funktioniert der löschvorgang denn nun nicht ?

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
patlau hat geschrieben:Habe mir die Sortierung so gedacht (wollte die Ausgabe des höcht existierenden Objektes als Checkbox anbieten)

jetzt möchte ich die Tabelle sortieren, und alle ausser dem höchsten rauslöschen... weiss nicht wie ich dies angebe.
Die Option muss ich wohl ueberlesen haben.


Ich empfehle Dir dringstens, ab und zu mal die <F1> Hilfe im ABAP Editior, insbesondere fuer ABAP-Befehle, anzuwenden.

Ich klinke mich aus,.... wird wohl eine längere Geschichte hier werden.


Re: Ausgabe für letztes erstelltes Objekt durch Zähler

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

um mal zurück zum Thema zu kommen:
ich würde dir auch das absteigende Sortieren empfehlen. Und wenn du dann die Sortierte Tabelle hast, funktioniert der READ TABLE Befehl mit INDEX 1 normalerweise schon. Vielleicht solltest du (mal wieder) einen aussagekräftigen Auszug deines Quelltextes zu deiner Sortieren samt READ Befehl. :)
Gruß,
der Matze

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
okay mach ich
Hier die Select-Parameter

Code: Alles auswählen.

PARAMETERS : layer TYPE char30  AS LISTBOX VISIBLE LENGTH 30 USER-COMMAND dummy  ,
             modul TYPE char30  AS LISTBOX VISIBLE LENGTH 30 MODIF ID ID1 USER-COMMAND dummy  ,
             gruppe(30)  AS LISTBOX VISIBLE LENGTH 30 MODIF ID ID2,
             zaehler as checkbox.

Code: Alles auswählen.

  LOOP AT SCREEN.
    IF screen-group1 EQ 'ID1'.
      IF NOT layer IS INITIAL.
        screen-input  = 1.
      ELSE.
        screen-input  = 0.
      ENDIF.
      MODIFY SCREEN.
    ENDIF.
    IF screen-group1 EQ 'ID2'.
      IF NOT layer IS INITIAL AND
   NOT modul IS INITIAL.
        screen-input  = 1.
      ELSE.
        screen-input  = 0.
      ENDIF.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

START-OF-SELECTION.

  PERFORM infos.

  if zaehler = 'X'.
SORT l_t_rsdodso BY odsobject+6(2) DESCENDING.
DELETE  l_t_rsdodso INDEX 1 .
  ENDIF.

  CASE layer.
    WHEN 'L01'.
      DELETE l_t_rsdodso WHERE odsobject(2) <> 'D1' .
    WHEN 'L02'.
      DELETE l_t_rsdodso WHERE odsobject(2) <> 'D3'.
    WHEN 'L03'.
      DELETE l_t_rsdodso WHERE odsobject(2) <> 'D5' .
    WHEN 'L04'.
      DELETE l_t_rsdodso WHERE odsobject(2) <> 'D7' .
  ENDCASE.

  CASE modul.
    WHEN 'M01' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'CO'.
    WHEN 'M02' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'CP'.
    WHEN 'M03' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'CS'.
    WHEN 'M04' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'DP'.
    WHEN 'M05' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'FI'.
    WHEN 'M06' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'HR'.
    WHEN 'M07' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'LE'.
    WHEN 'M08' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'MD'.
    WHEN 'M09' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'MM'.
    WHEN 'M10' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'PM'.
    WHEN 'M11' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'PP'.
    WHEN 'M12' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'PS'.
    WHEN 'M13' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'QM'.
    WHEN 'M14' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'SD'.
    WHEN 'M15' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'SN'.
    WHEN 'M16' .
      DELETE l_t_rsdodso Where odsobject+2(2) <> 'TD'.
  ENDCASE.

  CASE gruppe .
    WHEN 'G01'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'SL'.
    WHEN 'G02'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'BI'.
    WHEN 'G03'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'SH'.
    WHEN 'G04'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PU'.
    WHEN 'G05'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'IM'.
    WHEN 'G06'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'GL'.
    WHEN 'G07'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'AP'.
    WHEN 'G08'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'AR'.
    WHEN 'G09'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'OM'.
    WHEN 'G10'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PC'.
    WHEN 'G11'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> '0M'.
    WHEN 'G12'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PA'.
    WHEN 'G13'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PT'.
    WHEN 'G14'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'PY'.
    WHEN 'G15'.
      DELETE l_t_rsdodso WHERE odsobject+4(2) <> 'TA'.
  ENDCASE.

  PERFORM ausgabe.

*&---------------------------------------------------------------------*
*&      Form  infos
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM infos.


  SELECT odsobject  objvers FROM rsdodso
    INTO CORRESPONDING FIELDS OF TABLE l_t_rsdodso
    WHERE odsobject in so_odsob and objvers = 'A'.




  SELECT txtlg FROM rsdodsot
  INTO CORRESPONDING FIELDS OF TABLE l_t_rsdodsot.



  LOOP AT l_t_rsdodso ASSIGNING <rsdodso_fields>.
    SELECT SINGLE txtlg FROM rsdodsot
      INTO <rsdodso_fields>-txtlg
      WHERE odsobject = <rsdodso_fields>-odsobject.
  ENDLOOP.
ENDFORM.                    "infos
"infos
*&---------------------------------------------------------------------*
*&      Form  ausgabe
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM ausgabe.
  DELETE l_t_rsdodso WHERE odsobject(1) = '0'.
  LOOP AT l_t_rsdodso ASSIGNING <rsdodso_fields>
   .
    WRITE:/ <rsdodso_fields>-odsobject,
    <rsdodso_fields>-txtlg,
    <rsdodso_fields>-objvers.
  ENDLOOP.
ENDFORM.                    "ausgabe

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
was machst du denn hier?!?!?

Code: Alles auswählen.

SORT l_t_rsdodso BY odsobject+6(2) DESCENDING.
DELETE  l_t_rsdodso INDEX 1 .
Du sortierst deine Tabelle absteigend und löscht anschließend den ersten (und somit höchsten) Eintrag?!

Code: Alles auswählen.

FIELD-SYMBOLS <fs_structure> TYPE any.

SORT l_t_rsdodso BY odsobject+6(2) DESCENDING.
READ TABLE l_t_rsdodso ASSIGNING <fs_structure> INDEX 1.
Warum hast du es nicht so gemacht? (wie vorgeschlagen wurde) dann hast du im Field-Symbol genau den Datensatz drin, den du suchst, den höchsten. Und mit dem kannst du dann weiterarbeiten.
Gruß,
der Matze

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
Habe es nun genauso gemacht, allerdings werden mir weiterhin alle Objekte angezeigt???

Re: Ausgabe für letztes erstelltes Objekt durch Zähler

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Du bist mal wieder recht kryptisch. Wir können alle nur das sehen was du hier veröffentlichst. Alles was nur du weißt, musst du uns schon so mitteilen das wir verstehen was du willst.

Z.B. frage ich mich gerade, warum du alles löschen willst, wenn es doch, so wie du auch geschrieben hast, nur eine der möglichen Optionen ist?
Dann gib halt nur den Datensatz aus der im FS steht. oder bastel dir (in Voraussicht auf das Anzeigen mehrerer Ergebnisse) eine ergebnistabelle vom selben typ und lass die ausgeben. Dann steht da entweder nur 1 oder eben mehrere Datensätze drin.
Gruß,
der Matze

Vergleichbare Themen

3
Antw.
2016
Views
Group by Zähler
von gs3rr4 » 16.07.2015 10:42 • Verfasst in ABAP® für Anfänger
56
Antw.
8618
Views
Problem bei Zähler
von patlau » 06.06.2013 11:13 • Verfasst in ABAP® für Anfänger
5
Antw.
5273
Views
Wareneingang buchen in letztes Jahr?
von zeico » 07.01.2009 13:43 • Verfasst in Material Management & Produktionsplanung
1
Antw.
996
Views
Letztes DataPackage erreicht? Es eilt !
von Kerstin » 11.05.2007 11:58 • Verfasst in ABAP® Core
4
Antw.
2379
Views
BW: letztes DataPackage erreicht? Eilt !
von Kerstin » 11.05.2007 12:02 • Verfasst in Sonstige Module

Ü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

Regex in where
vor 16 Stunden von tar 8 / 364
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 284
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 527

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

Regex in where
vor 16 Stunden von tar 8 / 364
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1636
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 284
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 527

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 221
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3403
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9953