If this is really how you define it in RPG:
D btime 4 0
Then this is incorrect in CL:
var(&tim) type(*dec) len(4,0)
One or the other is wrong. The two types are not the same — it’s zoned-decimal in RPG and packed-decimal in CL. The RPG is zoned-decimal because you did not specify a data type and it’s not a stand-alone field; it’s a data structure subfield.
Give it a data type of ‘P’ in RPG, or make it a stand-alone field, or change it to CHAR (4) in CL. If you change the RPG, change both places.