Code: Alles auswählen.
REPORT zkrgtest01.
TABLES: zzt_pkt_versns, zzt_pkt_versmons, zzt_pkt_versbg,
zzt_pkt_verszt.
TYPES:
BEGIN OF t_data,
sozver LIKE zzt_pkt_versns-sozver,
pernr LIKE zzt_pkt_versns-pernr,
gender LIKE zzt_pkt_versns-gender,
gebdat LIKE zzt_pkt_versns-gebdat,
name LIKE zzt_pkt_versns-name,
dkz LIKE zzt_pkt_versns-dkz,
zali LIKE zzt_pkt_versns-zali,
dcode LIKE zzt_pkt_versns-dcode,
eidat LIKE zzt_pkt_versns-eidat,
begprag LIKE zzt_pkt_versns-begprag,
ensig LIKE zzt_pkt_versns-ensig,
endda LIKE zzt_pkt_versns-endda,
adresse LIKE zzt_pkt_versns-adresse,
current_status LIKE zzt_pkt_versns-current_status,
name_gross LIKE zzt_pkt_versns-name_gross,
waers LIKE zzt_pkt_versmons-waers,
estdt LIKE zzt_pkt_versmons-estdt,
degnr LIKE zzt_pkt_versmons-degnr,
tbz LIKE zzt_pkt_versmons-tbz,
dverh LIKE zzt_pkt_versmons-dverh,
bcode LIKE zzt_pkt_versmons-bcode,
pbmg0 LIKE zzt_pkt_versmons-pbmg0,
pbmg1 LIKE zzt_pkt_versmons-pbmg1,
pbmg2 LIKE zzt_pkt_versmons-pbmg2,
pbmg3 LIKE zzt_pkt_versmons-pbmg3,
pbmg4 LIKE zzt_pkt_versmons-pbmg4,
pbmg5 LIKE zzt_pkt_versmons-pbmg5,
zula1 LIKE zzt_pkt_versmons-zula1,
zula2 LIKE zzt_pkt_versmons-zula2,
pbmgng LIKE zzt_pkt_versmons-pbmgng,
epteb LIKE zzt_pkt_versmons-epteb,
pproz LIKE zzt_pkt_versmons-pproz,
ppron LIKE zzt_pkt_versmons-ppron,
pbetr LIKE zzt_pkt_versmons-pbetr,
text1 LIKE zzt_pkt_versmons-text1,
text2 LIKE zzt_pkt_versmons-text2,
dtgeb LIKE zzt_pkt_versbg-dtgeb,
stfld LIKE zzt_pkt_versbg-stfld,
mdste LIKE zzt_pkt_versbg-mdste,
quelle LIKE zzt_pkt_versbg-quelle,
ktokz LIKE zzt_pkt_versbg-ktokz,
lfdnr LIKE zzt_pkt_versbg-lfdnr,
bgrdl LIKE zzt_pkt_versbg-bgrdl,
sdzal LIKE zzt_pkt_versbg-sdzal,
tegtg LIKE zzt_pkt_versbg-tegtg,
warbz LIKE zzt_pkt_versbg-warbz,
quali LIKE zzt_pkt_verszt-quali,
END OF t_data.
DATA:
wa_data TYPE t_data,
it_data TYPE TABLE OF t_data.
SELECT-OPTIONS: s_sozver FOR zzt_pkt_versns-sozver OBLIGATORY.
START-OF-SELECTION.
SELECT * FROM zzt_pkt_versns INTO CORRESPONDING FIELDS OF TABLE it_data
WHERE sozver IN s_sozver.
SELECT * FROM zzt_pkt_versmons INTO CORRESPONDING FIELDS OF TABLE
it_data
WHERE sozver IN s_sozver.
SELECT * FROM zzt_pkt_versbg INTO CORRESPONDING FIELDS OF TABLE it_data
WHERE sozver IN s_sozver.
SELECT * FROM zzt_pkt_verszt INTO CORRESPONDING FIELDS OF TABLE it_data
WHERE sozver IN s_sozver.
END-OF-SELECTION.
LOOP AT it_data INTO wa_data.
* PERFORM .
WRITE:/1 wa_data-sozver,
20 ';',
23 wa_data-pernr,
35 ';',
36 wa_data-gender,
47 ';',
52 wa_data-gebdat,
60 ';',
67 wa_data-name,
75 ';',
77 wa_data-dkz,
98 ';',
99 wa_data-zali,
110 ';',
111 wa_data-dcode,
116 ';',
117 wa_data-eidat,
124 ';',
125 wa_data-begprag,
130 ';',
132 wa_data-ensig,
135 ';',
137 wa_data-endda,
142 ';',
144 wa_data-adresse,
155 ';',
157 wa_data-current_status,
160 ';',
162 wa_data-name_gross,
170 ';',
172 wa_data-waers,
176 ';',
178 wa_data-estdt,
185 ';',
187 wa_data-degnr,
195 ';',
197 wa_data-tbz,
205 ';',
207 wa_data-dverh,
215 ';',
217 wa_data-bcode,
225 ';',
227 wa_data-pbmg0,
235 ';',
237 wa_data-pbmg1,
245 ';',
247 wa_data-pbmg2,
255 ';',
257 wa_data-pbmg3,
265 ';',
267 wa_data-pbmg4,
275 ';',
277 wa_data-pbmg5,
285 ';',
287 wa_data-zula1,
295 ';',
297 wa_data-zula2,
305 ';',
307 wa_data-pbmgng,
315 ';',
317 wa_data-epteb,
325 ';',
327 wa_data-pproz,
335 ';',
337 wa_data-ppron,
345 ';',
347 wa_data-pbetr,
355 ';',
357 wa_data-text1,
365 ';',
367 wa_data-text2,
375 ';',
377 wa_data-dtgeb,
385 ';',
387 wa_data-stfld,
395 ';',
397 wa_data-mdste,
405 ';',
407 wa_data-quelle,
415 ';',
417 wa_data-ktokz,
425 ';',
427 wa_data-lfdnr,
435 ';',
437 wa_data-bgrdl,
445 ';',
447 wa_data-sdzal,
455 ';',
457 wa_data-tegtg,
465 ';',
467 wa_data-warbz,
475 ';',
477 wa_data-quali.
ENDLOOP.
sind böseAndreas G hat geschrieben:SELECT - ENDSELECT Schleifen
Pauschale Aussagen sind fast immer falsch.ralf.wenzel hat geschrieben:sind böseAndreas G hat geschrieben:SELECT - ENDSELECT Schleifen
Das stimmt!Frank Dittrich hat geschrieben:Pauschale Aussagen sind fast immer falsch.ralf.wenzel hat geschrieben:sind böseAndreas G hat geschrieben:SELECT - ENDSELECT Schleifen
Code: Alles auswählen.
REPORT zkrgtest01 LINE-SIZE 500.
TABLES: zzt_pkt_versns, zzt_pkt_versmons, zzt_pkt_versbg,
zzt_pkt_verszt.
TYPES:
BEGIN OF t_data,
sozver LIKE zzt_pkt_versns-sozver,
pernr LIKE zzt_pkt_versns-pernr,
gender LIKE zzt_pkt_versns-gender,
gebdat LIKE zzt_pkt_versns-gebdat,
name LIKE zzt_pkt_versns-name,
dkz LIKE zzt_pkt_versns-dkz,
zali LIKE zzt_pkt_versns-zali,
dcode LIKE zzt_pkt_versns-dcode,
eidat LIKE zzt_pkt_versns-eidat,
begprag LIKE zzt_pkt_versns-begprag,
ensig LIKE zzt_pkt_versns-ensig,
endda LIKE zzt_pkt_versns-endda,
adresse LIKE zzt_pkt_versns-adresse,
current_status LIKE zzt_pkt_versns-current_status,
name_gross LIKE zzt_pkt_versns-name_gross,
waers LIKE zzt_pkt_versmons-waers,
estdt LIKE zzt_pkt_versmons-estdt,
degnr LIKE zzt_pkt_versmons-degnr,
tbz LIKE zzt_pkt_versmons-tbz,
dverh LIKE zzt_pkt_versmons-dverh,
bcode LIKE zzt_pkt_versmons-bcode,
pbmg0 LIKE zzt_pkt_versmons-pbmg0,
pbmg1 LIKE zzt_pkt_versmons-pbmg1,
pbmg2 LIKE zzt_pkt_versmons-pbmg2,
pbmg3 LIKE zzt_pkt_versmons-pbmg3,
pbmg4 LIKE zzt_pkt_versmons-pbmg4,
pbmg5 LIKE zzt_pkt_versmons-pbmg5,
zula1 LIKE zzt_pkt_versmons-zula1,
zula2 LIKE zzt_pkt_versmons-zula2,
pbmgng LIKE zzt_pkt_versmons-pbmgng,
epteb LIKE zzt_pkt_versmons-epteb,
pproz LIKE zzt_pkt_versmons-pproz,
ppron LIKE zzt_pkt_versmons-ppron,
pbetr LIKE zzt_pkt_versmons-pbetr,
text1 LIKE zzt_pkt_versmons-text1,
text2 LIKE zzt_pkt_versmons-text2,
dtgeb LIKE zzt_pkt_versbg-dtgeb,
stfld LIKE zzt_pkt_versbg-stfld,
mdste LIKE zzt_pkt_versbg-mdste,
quelle LIKE zzt_pkt_versbg-quelle,
ktokz LIKE zzt_pkt_versbg-ktokz,
lfdnr LIKE zzt_pkt_versbg-lfdnr,
bgrdl LIKE zzt_pkt_versbg-bgrdl,
sdzal LIKE zzt_pkt_versbg-sdzal,
tegtg LIKE zzt_pkt_versbg-tegtg,
warbz LIKE zzt_pkt_versbg-warbz,
quali LIKE zzt_pkt_verszt-quali,
END OF t_data.
DATA:
wa_data TYPE t_data,
it_data TYPE TABLE OF t_data,
wa_data1 TYPE zzt_pkt_versns,
it_data1 TYPE TABLE OF t_data,
wa_data2 TYPE zzt_pkt_versmons,
it_data2 TYPE TABLE OF t_data,
wa_data3 TYPE zzt_pkt_versbg,
it_data3 TYPE TABLE OF t_data,
wa_data4 TYPE zzt_pkt_verszt,
it_data4 TYPE TABLE OF t_data.
SELECT-OPTIONS: s_sozver FOR zzt_pkt_versns-sozver OBLIGATORY.
START-OF-SELECTION.
SELECT * FROM zzt_pkt_versns INTO wa_data1
FOR ALL ENTRIES IN it_data1
WHERE sozver IN s_sozver AND
pernr = it_data1-pernr AND
gender = it_data1-gender AND
gebdat = it_data1-gebdat AND
name = it_data1-name AND
dkz = it_data1-dkz AND
zali = it_data1-zali AND
dcode = it_data1-dcode AND
eidat = it_data1-eidat AND
begprag = it_data1-begprag AND
ensig = it_data1-ensig AND
endda = it_data1-endda AND
adresse = it_data1-adresse AND
current_status = it_data1-current_status AND
name_gross = it_data1-name_gross.
ENDSELECT.
SELECT * FROM zzt_pkt_versmons INTO wa_data2
FOR ALL ENTRIES IN it_data2
WHERE sozver IN s_sozver AND
waers = it_data2-waers AND
estdt = it_data2-estdt AND
degnr = it_data2-degnr AND
tbz = it_data2-tbz AND
dverh = it_data2-dverh AND
bcode = it_data2-bcode AND
pbmg0 = it_data2-pbmg0 AND
pbmg1 = it_data2-pbmg1 AND
pbmg2 = it_data2-pbmg2 AND
pbmg3 = it_data2-pbmg3 AND
pbmg4 = it_data2-pbmg4 AND
pbmg5 = it_data2-pbmg5 AND
zula1 = it_data2-zula1 AND
zula2 = it_data2-zula2 AND
pbmgng = it_data2-pbmgng AND
epteb = it_data2-epteb AND
pproz = it_data2-pproz AND
ppron = it_data2-ppron AND
pbetr = it_data2-pbetr AND
text1 = it_data2-text1 AND
text2 = it_data2-text2.
ENDSELECT.
SELECT * FROM zzt_pkt_versbg INTO wa_data3
FOR ALL ENTRIES IN it_data3
WHERE sozver IN s_sozver AND
dtgeb = it_data3-dtgeb AND
stfld = it_data3-stfld AND
mdste = it_data3-mdste AND
quelle = it_data3-quelle AND
ktokz = it_data3-ktokz AND
lfdnr = it_data3-lfdnr AND
bgrdl = it_data3-bgrdl AND
sdzal = it_data3-sdzal AND
tegtg = it_data3-tegtg AND
warbz = it_data3-warbz.
ENDSELECT.
SELECT * FROM zzt_pkt_verszt INTO wa_data4
FOR ALL ENTRIES IN it_data4
WHERE sozver IN s_sozver AND
quali = it_data4-quali.
ENDSELECT.
END-OF-SELECTION.
LOOP AT it_data INTO wa_data.
WRITE:/1 wa_data-sozver,
11 ';',
13 wa_data-pernr,
22 ';',
24 wa_data-gender,
26 ';',
28 wa_data-gebdat,
37 ';',
39 wa_data-name,
90 ';',
92 wa_data-dkz,
102 ';',
104 wa_data-zali,
115 ';',
117 wa_data-dcode,
138';',
140 wa_data-eidat,
149 ';',
151 wa_data-begprag,
160 ';',
162 wa_data-ensig,
168 ';',
170 wa_data-endda,
179 ';',
181 wa_data-adresse,
282 ';',
284 wa_data-current_status,
295 ';',
297 wa_data-name_gross,
348 ';',
350 wa_data-waers,
356 ';',
358 wa_data-estdt,
367 ';',
369 wa_data-degnr,
380 ';',
382 wa_data-tbz,
393 ';',
395 wa_data-dverh,
401 ';',
403 wa_data-bcode,
434 ';',
436 wa_data-pbmg0,
452 ';',
454 wa_data-pbmg1,
245 ';',
247 wa_data-pbmg2,
255 ';',
257 wa_data-pbmg3,
265 ';',
267 wa_data-pbmg4,
275 ';',
277 wa_data-pbmg5,
285 ';',
287 wa_data-zula1,
295 ';',
297 wa_data-zula2,
305 ';',
307 wa_data-pbmgng,
315 ';',
317 wa_data-epteb,
325 ';',
327 wa_data-pproz,
335 ';',
337 wa_data-ppron,
345 ';',
347 wa_data-pbetr,
355 ';',
357 wa_data-text1,
365 ';',
367 wa_data-text2,
375 ';',
377 wa_data-dtgeb,
385 ';',
387 wa_data-stfld,
395 ';',
397 wa_data-mdste,
405 ';',
407 wa_data-quelle,
415 ';',
417 wa_data-ktokz,
425 ';',
427 wa_data-lfdnr,
435 ';',
437 wa_data-bgrdl,
445 ';',
447 wa_data-sdzal,
455 ';',
457 wa_data-tegtg,
465 ';',
467 wa_data-warbz,
475 ';',
477 wa_data-quali.
ENDLOOP.
Code: Alles auswählen.
SELECT * FROM zzt_pkt_versns
INTO wa_data1
FOR ALL ENTRIES IN it_data1
WHERE sozver IN s_sozver AND
pernr = it_data1-pernr AND
gender = it_data1-gender AND
gebdat = it_data1-gebdat AND
name = it_data1-name AND
dkz = it_data1-dkz AND
zali = it_data1-zali AND
dcode = it_data1-dcode AND
eidat = it_data1-eidat AND
begprag = it_data1-begprag AND
ensig = it_data1-ensig AND
endda = it_data1-endda AND
adresse = it_data1-adresse AND
current_status = it_data1-current_status AND
name_gross = it_data1-name_gross.
ENDSELECT.
Code: Alles auswählen.
SELECT * FROM zzt_pkt_versns
INTO wa_data1
WHERE sozver IN s_sozver
ENDSELECT.
Code: Alles auswählen.
SELECT * FROM zzt_pkt_versns
INTO TABLE it_data1
WHERE sozver IN s_sozver.
Code: Alles auswählen.
SELECT * FROM zzt_pkt_versmons
INTO CORRESPONDING FIELDS OF TABLE it_data2
FOR ALL ENTRIES IN it_data1
WHERE sozver EQ it_data1-sozver.
Code: Alles auswählen.
LOOP AT it_data1 INTO wa_data1.
* Daten aus wa_data1 übernehmen
MOVE-CORRESPONDING wa_data1 to wa_data.
* Die Daten aus it_data2 dazu lesen
READ TABLE it_data2 INTO wa_data2 WITH key sozver EQ wa_data1-sozver.
* Daten übernehmen, wenn welche gelesen wurden
IF sy-subrc EQ 0.
MOVE-CORRESPONDING wa_data2 to wa_data.
ENDIF.
* das ganze noch für it_data3 und it_data4 anlog zu it_data2
* Die Daten in die Ausgabetabelle übernehmen
APPEND wa_data to it_data.
ENDLOOP.