Easy script:
CASE WHEN GLTran.CrAmt <> '0' THEN (GLTran.CrAmt *-1)
WHEN GLTran.DrAmt <> '0' THEN (GLTran.DrAmt)
ELSE '0' END AS [Natural Amt DR(CR)]
More detailed based on Marc D's reply:
A. = Account table
G. = GLTran table
CASE WHEN A.AcctType in ('1A','4E') and G.DrAmt > '0' then (G.DrAmt)
WHEN A.AcctType in ('1A','4E') and G.DrAmt < '0' then (G.DrAmt)
WHEN A.AcctType in ('2L','3I') and G.DrAmt > '0' then (G.DrAmt)
WHEN A.AcctType in ('2L','3I') and G.DrAmt < '0' then (G.DrAmt)
WHEN A.AcctType in ('1A','4E') and G.CrAmt > '0' then (G.CrAmt * -1)
WHEN A.AcctType in ('1A','4E') and G.CrAmt < '0' then (G.CrAmt * -1)
WHEN A.AcctType in ('2L','3I') and G.CrAmt > '0' then (G.CrAmt * -1)
WHEN A.AcctType in ('2L','3I') and G.CrAmt < '0' then (G.CrAmt * -1)
ELSE '0' END AS [Natural Amount DR(CR)],