loop richtig setzen

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

loop richtig setzen

Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Hello,
Kann mir bitte jemand sagen, wo ich das loop richtig setzen kann, damit mehrere Sozialversicherungsnummern ausgegeben werden können?
Danke!!

Code: Alles auswählen.

  SELECT * FROM zzt_pkt_versns
    WHERE sozver IN s_sozver
*Gecancelte Daten werden nicht ausgegeben
      AND lotim EQ '0'.

*   LOOP AT it_zzpkt_selektionsliste.
    CALL FUNCTION 'Z_PKT_LUECKEN_FINDEN'
      EXPORTING
        sozver          = zzt_pkt_versns-sozver
      IMPORTING
        anfangswerte    = it_zzpkt_selektionsliste-fehl_anfang
        luecken         = it_zzpkt_selektionsliste-datenluecke
        nullwerte       = it_zzpkt_selektionsliste-nullwerte
      TABLES
        luecken_tab     = i_luecken_tab
      EXCEPTIONS
        invalid_sozvers = 1
        no_data         = 2
        OTHERS          = 3.

    CASE  sy-subrc.

      WHEN  0.

        LOOP AT  i_luecken_tab.

          PERFORM ausgeben USING zzt_pkt_versns-sozver CHANGING it_zzpkt_selektionsliste-sozver.
          PERFORM ausgeben USING zzt_pkt_versns-pernr  CHANGING it_zzpkt_selektionsliste-pernr.

          CLEAR w_text80.
          CASE  i_luecken_tab-luecken_typ.

            WHEN 'A'.
              w_text80  =  'Fehl.Anf.-Werte:'.

            WHEN 'L'.
              w_text80  =  'Dat.Lücken:'.

            WHEN 'N'.
              w_text80  =  'Nullwerte:'.

          ENDCASE.

          WRITE  i_luecken_tab-begda  TO  w_text80+40.
          w_text80+59(1)  =  '-'.
          WRITE  i_luecken_tab-endda  TO  w_text80+60.
          w_text80+79(1)  =  ';'.
          CONDENSE  w_text80 NO-GAPS.

          CONCATENATE  it_zzpkt_selektionsliste-text
                       w_text80
          INTO         it_zzpkt_selektionsliste-text
          SEPARATED BY ' '.

        ENDLOOP.

      WHEN  1.
        MESSAGE x040.

      WHEN  2.
        it_zzpkt_selektionsliste-fehl_anfang  =  'X'.
        it_zzpkt_selektionsliste-datenluecke  =  'X'.
        it_zzpkt_selektionsliste-nullwerte    =  'X'.
        it_zzpkt_selektionsliste-text         =  'Keine Daten gefunden'.

      WHEN  OTHERS.
        MESSAGE x040.

    ENDCASE.

    APPEND it_zzpkt_selektionsliste.
*   ENDLOOP.

  ENDSELECT.

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


Re: loop richtig setzen

Beitrag von JHM (Top Expert / 1189 / 1 / 196 ) »
barbara hat geschrieben:Hello,
Kann mir bitte jemand sagen, wo ich das loop richtig setzen kann, damit mehrere Sozialversicherungsnummern ausgegeben werden können?
Dein Append ist an der falschen Stelle:
(ich habe da vieles rausgeschmissen, hoffe du kommst damit noch klar)

Code: Alles auswählen.

  
    CASE sy-subrc. "nach CALL FUNKTION 'Z_PKT_LUECKEN_FINDEN' 
      WHEN  0.

        LOOP AT  i_luecken_tab.

*        Du erzeugst für jeden Satz in i_luecken_tab einen Fehlersatz, 
*       diesen musst du in der Schleife übernehmen, zur Zeit übenimmst
*       du nur den letzten
        APPEND it_zzpkt_selektionsliste.

        ENDLOOP.

      WHEN  1.
        MESSAGE x040.

      WHEN  2.
        it_zzpkt_selektionsliste-fehl_anfang  =  'X'.
*     Hier sollte der erzeugte Satz ebenfalls übernommen werden
       APPEND it_zzpkt_selektionsliste.
    ENDCASE.

*** Hier ist der APPEND zuspät! s.o.
*    APPEND it_zzpkt_selektionsliste.
*   ENDLOOP.

  ENDSELECT.
Das ist ein Fehler, den man sehr gut im Debuger findet :)
Gruß Hendrik

Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Hello Hendrik,
Super, danke für deine Hilfe , werde das gleich ausprobieren!
liebe Grüsse,
Barbara

Beitrag von barbara (ForumUser / 50 / 0 / 0 ) »
Hallo Hendrik,

Danke für deine Hilfe!! :)
... aber wo kommt jetzt dann wirklich mein loop at it_zzpkt_selektionsliste. ... endloop. hin? ;)
Das muss ich doch auch einbauen, oder?
Weil sonst kann er ja über die einzelnen Einträge nicht loopen kann, oder?

Danke!!
liebe Grüsse

Seite 1 von 1

Vergleichbare Themen

5
Antw.
5067
Views
Sperren richtig setzen?
von MarkusW » 20.12.2007 12:11 • Verfasst in ABAP® für Anfänger
1
Antw.
567
Views
Beim Loop dynamisch den Spaltennamen setzen
von kaim77 » 13.09.2019 17:30 • Verfasst in ABAP® Core
6
Antw.
2256
Views
Internen Tabellennamen dynamisch im Loop setzen
von kaim77 » 31.10.2018 11:52 • Verfasst in ABAP® für Anfänger
1
Antw.
729
Views
4
Antw.
3461
Views
LOOP in einem LOOP
von Bjuti » 10.09.2013 15:18 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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.