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 • Vorherige Seite 2 von 2 (current)
26 Beiträge Vorherige Seite 2 von 2 (current)

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

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
das verstehe ich nicht ganz, hättest du ein Beispiel?

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


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

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
also hier mein vollständiger Code, fehlt mir da noch eine passenden ausgabe, steh gereade auf dem schlauch...

Code: Alles auswählen.

TYPE-POOLS: vrm.

TYPES:
       BEGIN OF ty_rsdodso,
         odsobject TYPE rsdodso-odsobject,
         objvers TYPE rsdodso-objvers,
         txtlg TYPE rsdodsot-txtlg,
       END OF ty_rsdodso,

       BEGIN OF ty_rsdodsot,
         txtlg TYPE rsdodsot-txtlg,
       END OF ty_rsdodsot.

DATA:
          l_s_rsdodso TYPE ty_rsdodso,
          l_t_rsdodso TYPE STANDARD TABLE OF ty_rsdodso,

          l_s_rsdodsot TYPE ty_rsdodsot,
          l_t_rsdodsot TYPE STANDARD TABLE OF ty_rsdodsot,

          param TYPE vrm_id,
          values TYPE vrm_values,
          value LIKE LINE OF values,

          odsobject TYPE rsdodso-odsobject.
    
FIELD-SYMBOLS:
          <rsdodso_fields> TYPE ty_rsdodso,
          <rsdodsot_fields> TYPE ty_rsdodsot,
          <fs_structure> TYPE ty_rsdodso.

SELECT-OPTIONS: so_odsob FOR <rsdodso_fields>-odsobject.

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.

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.

  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.
    READ TABLE l_t_rsdodso ASSIGNING <fs_structure> 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 JHM (Top Expert / 1204 / 1 / 199 ) »
patlau hat geschrieben:Habe es nun genauso gemacht, allerdings werden mir weiterhin alle Objekte angezeigt???
Dann pass die Ausgabe auf deine Wünsche/Anforderungen an!

Das Sortieren sollte erst nach der LöschOrigie erfolgen, nicht das du dir den MaxSatz noch löschst!

Die Ausgabe ist dann auch abhängig vom SelScreen:

Code: Alles auswählen.

  LOOP AT l_t_rsdodso ASSIGNING <rsdodso_fields>.
    WRITE:/ <rsdodso_fields>-odsobject,
    <rsdodso_fields>-txtlg,
    <rsdodso_fields>-objvers.

*   Wenn der User nur den größten Eintrag haben will, Ausgabe nach dem erste beenden:
    IF zahler = 'X' and sy-tabix = 1.
      EXIT. 
    ENDIF.
  ENDLOOP.
Ein wenig Glaskugeln:
Wieso sortierst du nur nach einem Teilstring:
SORT l_t_rsdodso BY odsobject+6(2) DESCENDING.

Willst du je: level/modul/gruppe den größten Satz ausgeben?
Gruß Hendrik

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

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
wooow vielen Dank es funktioniert :)
Was macht denn dieses sy-tabix =1?

Nein aber ich will ja leiglich nach den letzten beiden Stellen also dem Zähler sortieren, wenn ich das weglassen würde, würde er dann genauso sorteiren ?

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

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Sy-tabix = 1 ist ein Systemparameter und gibt den Anzahl des aktuellen Schleifendurchlaufs an. ;)

Und wenn du das weglässt, sortiert er dir die Tabelle nach dem Namen Zeichen für Zeichen. Damit dürftest du zum gleichen / effektiveren Ziel kommen, denn so bekommst du das absolut höchste Objekt.

schön das du nun einen schritt weiter bist.

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

Gruß,
der Matze

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

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
ich will ja nicht nerven, nun gibt es nur noch einen Schritt den ich zum "Ziel" bracueh, und zwar soll mein Programm nun noch das nächst höhere Objekt (nach Zählern, also wenn 03 existiert soll 04 vorgeschlagen werden) vorshlagen...habe nur leider noch keine Vorstellung wie das gehen soll ...

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

Beitrag von JHM (Top Expert / 1204 / 1 / 199 ) »
patlau hat geschrieben:Was macht denn dieses sy-tabix =1?
Was sagt den die F1-Hilfe dazu ;-) (Nicht falsch verstehen, aber ohne F1-Hilfe wirst du nie ABAP lernen. Wenn die F1-Hilfe bei euch nicht geht/instaliert ist, nerv die SAP-Basis, dass das ans laufen kommt).
SY => Systemstrucktur die du eigentlich schon kennen solltest, das Feld TABIX wird in LOOP-Schleifen auf den aktuellen Schleifendurchlauf gesetzt. Ist also ein Schleifenzähler (gibt auch nach sy-index, der wird aber für DO-Schleifen verwendet).
patlau hat geschrieben:Nein aber ich will ja leiglich nach den letzten beiden Stellen also dem Zähler sortieren, wenn ich das weglassen würde, würde er dann genauso sorteiren ?
technich gesehen ja (Buchstaben werden nach Alphabet sortiert, eigentlich genauso wie in Excel)


Weitere Anmerkung: In deinem Programm stecken noch ein paar Fehler/Ungereimtheiten:
- Das füllen der Listboxen sollte nicht zu AT SELECTION-SCREEN OUTPUT sonden zu INITIALITION erfolgen.
Ändere deinen DB-Zugriff:
- Nur das lesen was der User über den SelScreen eingrenzt (nicht alles lesen und dann löschen), dazu gab es gestern schon erste Ansätze
- Der gestrige Join war sehr viel besser (leider mit kleinem Fehler in der Join-Bedingung) als der heutige "sinnfrei" DB-Zugriff mittels LOOP (zum. einer der beiden Zugriffe auf die Tabelle RSDODSOT kann wegfallen)

Solange diese Fehler bestehen bist du noch weit weg vom Ziel ;-)
Gruß Hendrik

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

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
okay, danke für die Hinweise,

habe die Füllung der Listboxen unter Initialization aufgeführt
habe einen der beiden zugriffe auf rsdodsot entfernt, weiss leider nicht wo der Fehler bei der gestrigen join-verknüpfung lag..
aber das wichtigste, wie kann ich dafür sorgen dass nicht alles eingelsen wird und dann weider gelöscht sondern gezielt reingelesen wird?

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

Beitrag von patlau (Specialist / 126 / 11 / 0 ) »
Und zu meinem anderen Problem, will ich im Prinzip wie bei zaehler das letzt erstellte Objekt ausgeben nur noch eines dazuzählen. Geht das dann über eine Summe der letzten beiden Stellen weiss auch nicht wie mir da die F1 Hilfe helfen soll....Bitte um Vorschlag

Grüße Patryk

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

Beitrag von JHM (Top Expert / 1204 / 1 / 199 ) »
patlau hat geschrieben:habe einen der beiden zugriffe auf rsdodsot entfernt, weiss leider nicht wo der Fehler bei der gestrigen join-verknüpfung lag.

Code: Alles auswählen.

* gestern:
 SELECT rsdodso~odsobject
         rsdodsot~txtlg
         rsdodso~objvers
      INTO TABLE gt_rsdodso
      FROM rsdodso
      INNER JOIN rsdodsot
        ON rsdodsot~odsobject = rsdodso~odsobject
      WHERE rsdodso~objvers = 'A'
        AND rsdodso~odsobject IN so_odsob.

* Sprache mit in den Join aufgenommen (hier als LEFT JOIN, falls kein text in Anmeldesprache gepflegt ist, wird der Satz trotzdem ausgeben
 SELECT rsdodso~odsobject
         rsdodsot~txtlg
         rsdodso~objvers
      INTO TABLE gt_rsdodso
      FROM rsdodso
      LEFT JOIN rsdodsot
        ON rsdodsot~odsobject = rsdodso~odsobject
       AND rsdodsot~langu     = sy-langu
      WHERE rsdodso~objvers = 'A'
        AND rsdodso~odsobject IN so_odsob.
Du must beim joinen immer darauf achten alle Schlüsselfelder mit in die Bedingung aufzunehmen. Wenn zu einem ODSOBJECT der Text in mehr als einer Sprache gepflegt ist, werden beim InnerJoin beide Texte ausgeben (also doppelt).
aber das wichtigste, wie kann ich dafür sorgen dass nicht alles eingelsen wird und dann weider gelöscht sondern gezielt reingelesen wird?
Wenn du über die SelOpt einsteigst, dann funktioniert der Select ja vernünftig (es wird nur das gelesen, was in die SelOpt eingegeben wurde). Wenn der Einstieg jetzt über die Listboxen erfolgt, dann sollte das Programm den Eintrag in die SelOpt machen, damit dann nur genau das gelesen wird, was der User auch haben will. Gestern gab es einen Vorschlag dies mit CONCATENATE zu lösen, hier mal ein Beispiel dazu:

Code: Alles auswählen.

FORM create_selopt.

* Listboxen in eine SelOpt überführen, damit zu lesende Daten eingegrenzt werden!
  CLEAR so_odsob.

  CASE layer.
    WHEN 'L01'.
      so_odsob-low = 'D1' .
    WHEN 'L02'.
      so_odsob-low = 'D3'.
    WHEN 'L03'.
      so_odsob-low = 'D5'.
    WHEN 'L04'.
      so_odsob-low = 'D7'.
  ENDCASE.

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

  CASE gruppe.
    WHEN 'G01'.
      so_odsob-low+4(2) = 'SL'.
    WHEN 'G02'.
      so_odsob-low+4(2) = 'BI'.
    WHEN 'G03'.
      so_odsob-low+4(2) = 'SH'.
    WHEN 'G04'.
      so_odsob-low+4(2) = 'PU'.
    WHEN 'G05'.
      so_odsob-low+4(2) = 'IM'.
    WHEN 'G06'.
      so_odsob-low+4(2) = 'GL'.
    WHEN 'G07'.
      so_odsob-low+4(2) = 'AP'.
    WHEN 'G08'.
      so_odsob-low+4(2) = 'AR'.
    WHEN 'G09'.
      so_odsob-low+4(2) = 'OM'.
    WHEN 'G10'.
      so_odsob-low+4(2) = 'PC'.
    WHEN 'G11'.
      so_odsob-low+4(2) = '0G'.
    WHEN 'G12'.
      so_odsob-low+4(2) = 'PA'.
    WHEN 'G13'.
      so_odsob-low+4(2) = 'PT'.
    WHEN 'G14'.
      so_odsob-low+4(2) = 'PY'.
    WHEN 'G15'.
      so_odsob-low+4(2) = 'TA'.
  ENDCASE.

* SelOpt füllen
  IF so_odsob-low IS NOT INITIAL.
    so_odsob-sign   = 'I'.
    so_odsob-option = 'CP'.
    CONCATENATE so_odsob-low '*' INTO so_odsob-low.
    APPEND so_odsob.
  ENDIF.
Diese FORM muss vor dem Select aufgerufen werden.
Gruß Hendrik

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

Beitrag von JHM (Top Expert / 1204 / 1 / 199 ) »
patlau hat geschrieben:Und zu meinem anderen Problem, will ich im Prinzip wie bei zaehler das letzt erstellte Objekt ausgeben nur noch eines dazuzählen. Geht das dann über eine Summe der letzten beiden Stellen weiss auch nicht wie mir da die F1 Hilfe helfen soll....Bitte um Vorschlag
man kann dafür die impizierte Typumwandlung benutzen ;-) Einfach gesagt: Man kann in ABAP auch mit CHAR-Feldern rechnen, wenn Sie nur Zahlen beinhalten. ABAP kümmert sich dann um die Typumwandlung. (Man sollte sich aber sicher sein, dass da wirklich nur Zahlen drin sind).

Hier die kleine Magie:

Code: Alles auswählen.

LOOP AT l_t_rsdodso ASSIGNING <rsdodso_fields>.
    WRITE:/ <rsdodso_fields>-odsobject,
    <rsdodso_fields>-txtlg,
    <rsdodso_fields>-objvers.

*   Wenn der User nur den größten Eintrag haben will, Ausgabe nach dem erste beenden:
    IF zahler = 'X' and sy-tabix = 1.
      IF neu = 'X'.  "Der User will die nächste Objektnummer haben
       <rsdodso_fields>-odsobject+7(2) = <rsdodso_fields>-odsobject+7(2) + 1.
       WRITE: / 'neue Objektnummer lautet:', <rsdodso_fields>-odsobject.
      ENDIF.
      EXIT. 
    ENDIF.
  ENDLOOP.

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
patlau

Gruß Hendrik

Vergleichbare Themen

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

Ü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

Arbeitszeiten zum Arbeitsplatz
vor einer Stunde von wolli 2 / 2017
Feldwerte vergleichen
vor einer Stunde von a-dead-trousers 6 / 1474

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

Arbeitszeiten zum Arbeitsplatz
vor einer Stunde von wolli 2 / 2017
Feldwerte vergleichen
vor einer Stunde von a-dead-trousers 6 / 1474

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor einer Woche von Manfred K. 1 / 1863
Export von Spools in XLSX
vor einer Woche von abapamateur 1 / 3533
Feldberechnung ME32K
vor 3 Wochen von ZF_SAPler 1 / 3803