Code: Alles auswählen.
LOOP AT lt_prfab_ccar ASSIGNING FIELD-SYMBOL(<ls_prfab_ccar>).
mt_prfab_ccar = VALUE #( BASE mt_prfab_ccar
( fgstnr = <ls_prfab_ccar>-fgstnr
status = <ls_prfab_ccar>-status
manu_aqui_costs = <ls_prfab_ccar>-manu_aqui_costs
sign = COND #( WHEN <ls_prfab_ccar>-manu_aqui_costs < 0 THEN '-' ELSE '+' )
company_nr = <ls_prfab_ccar>-company_nr
acc_principle = <ls_prfab_ccar>-acc_principle ) ).
ENDLOOP.
Code: Alles auswählen.
LOOP AT lt_prfab_ccar ASSIGNING FIELD-SYMBOL(<ls_prfab_ccar>).
mt_prfab_ccar = VALUE #( BASE mt_prfab_ccar
( CORRESPONDING <ls_prfab_ccar> )
sign = COND #( WHEN <ls_prfab_ccar>-manu_aqui_costs < 0 THEN '-' ELSE '+' ) ).
ENDLOOP.
Code: Alles auswählen.
mt_prfab_ccar = VALUE #( FOR <zeile> IN lt_prfab_ccar
( fgstnr = <zeile>-fgstnr
status = <zeile>-status
manu_aqui_costs = <zeile>-manu_aqui_costs
sign = COND #( WHEN <zeile>-manu_aqui_costs < 0 THEN '-' ELSE '+' )
company_nr = <zeile>-company_nr
acc_principle = <zeile>-acc_principle ) ).
Das ist doch die Deklaration. Macht man ja in Java auch so (ähnlich).ralf.wenzel hat geschrieben: ↑23.01.2022 19:26dass <zeile> die Nummer der Zeile ist? Das ist doch nirgends deklariert.
Code: Alles auswählen.
for(int i=1;;i++) {
}
Code: Alles auswählen.
for (Iterator<String> it = ts.iterator(); it.hasNext();) {
}
Ähm.ralf.wenzel hat geschrieben: ↑23.01.2022 19:26Ich hab FOR nie wirklich verstanden -- woraus schließt der Compiler, dass <zeile> die Nummer der Zeile ist? Das ist doch nirgends deklariert.
Ohne es gerade ausprobieren zu können: Im Zweifel kann man das noch kompakter und verständlicher bauen mit CORRESPONDING und EXCEPT....
Und wenn ich das mit einer WHERE-Bedingung verknüpfen will? Also ein LOOP AT ... ASSIGNING ... WHERE... als FOR-Konstrukt aufrufen will?a-dead-trousers hat geschrieben: ↑23.01.2022 22:35<zeile> ist nicht die NUMMER der Zeile, sondern der Zeileninhalt bzw. der Zeiger darauf.
Zum besseren Verständnis kann man die die ganze Anweisung auch einfach verkehrt rum lesen:
LOOP AT lt_prfab_ccar ASSIGNING FIELD-SYMBOL(<zeile>).