If you want "Zoned Decimal" output, with an "overpunched" right-most digit for the field which contains F-and-digit or C/D-and-digit, this can also be done with FINDREP, which can also "close up" the intervening byte created by the "separate sign" of the HEX.
You'll need to HEX the different "areas" containing packed data, the number of "areas" depending on how "contiguous" the groups of packed fields are.
FINDREP=(INOUT=(C'0C',X'0C',C’1C’,X’1C’,C’2C’,X’2C’...)
This will replace the two characters with one byte, reducing the length of the record. You'd need to use this on each "area", using STARTPOS and ENDPOS, in reverse order (last area first, first area last).
The FINDREP values can be "generated" (saves typos). The new "areas" after the HEX can be calculated by multiplying the length HEX'd by two.
A problem you may face is if you have COMP-3 PIC 9(6). This would be converted to a PIC 9(7). If that is no good for you, as you need PIC 9(6), you'd have to include code to get rid of the leading digit (which would always be zero). FINDREP for C'0',C'' with a STARTPOS of the leading byte and DO=1 would get those, but you'd have to work out which need changing, a manual task.
If you have Cobol record-layouts for both files it may be more simple to write a Cobol program, with a MOVE for each non-group item (you'd have to code for identifying which to use in any REDEFINES in the record-layouts).
The MOVEs (I guess there would be a "few" of them) could be generated with an editor macro, or DFSORT.