That's right! When there are matching keys, an observation is read from both datasets, with the second one overwriting the first one. But you won't see any of that happening in the output from the data step above, since the matching cases (one debit and one credit, with the same amount) are rejected by the condition not (c and d).