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.
Dein Append ist an der falschen Stelle:barbara hat geschrieben:Hello,
Kann mir bitte jemand sagen, wo ich das loop richtig setzen kann, damit mehrere Sozialversicherungsnummern ausgegeben werden können?
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.