Hi,
As D1, D2, D3 and D4 are non-key fields they are overwritten so you are recieving B.
If you want the output as A then make even D1, D2, D3 and D4 as keyfields so that during first load it fills your Kf and D1 and D2 D3 with values and during second load as you are nopt filling D1,D2 and D3 the values will be filled with blank and finally it fills you keyfield, D1(blank), D2(blank), D3(Blank) and D4(with value).
Hope this helps.
Srikanth.