Da verwendest du noch alte SQL-Syntax. Dies ist (fast) immer ein "inner join".
Du solltest das so umbauen:

Alt:
FROM "DATEI1" A
"DATEI2" B
"DATEI3" C
"DATEI4" D


Neu:
FROM "DATEI1" A
inner join "DATEI2" B on A.KDNR = B.KDNR
inner join "DATEI3" C on B.KDNR = C.KDNR
left join "DATEI4" D on B.KDNR = D.KDNR


Inner join = Die Beziehung muss Sätze haben
Left join = Die Beziehung kann Sätze haben

Aus der Where-Klausel lässt du das dann raus.
Allerdings kann die SUM(...) bei nicht vorhandenen Sätzen NULL ergeben.
Du benötigst dann im Programm einen NULL-Anzeiger.
Alternativ kannst du auch "coalesce(SUM(...), 0)" nehmen, wenn die Unterscheidung zwischen NULL, also nichts, oder 0 nicht relevant ist.