PGM /*---------------------------------------------------------*/ /* QDCXLATE による EBCDIC/ASCII 変換 */ /*---------------------------------------------------------*/ DCL VAR(&OUTBUF) TYPE(*CHAR) LEN(5000) DCL VAR(&BLANKS) TYPE(*CHAR) LEN(5000) DCL VAR(&BUFLEN) TYPE(*CHAR) LEN(3) /* 5 桁 PACK */ DCL VAR(&MAXOTL) TYPE(*CHAR) LEN(3) + VALUE(X'05000F') /* 5 桁 PACK */ DCL VAR(&OUTLEN) TYPE(*CHAR) LEN(3) + VALUE(X'00000F') /* 5 桁 PACK */ DCL VAR(&RCVDTA) TYPE(*CHAR) LEN(5000) DCL VAR(&SNDDTA) TYPE(*CHAR) LEN(5000) /************/ EBCDIC: /* ASCII -> EBCDIC への変換 */ /************/ CHGVAR VAR(&OUTBUF) VALUE(&BLANKS) CALL PGM(QDCXLATE) PARM(&BUFLEN &RCVDTA 'QEBCDIC + ' 'QSYS ' &OUTBUF &MAXOTL &OUTLEN + '*JPN' 'Y' '*AE ') MONMSG MSGID(CPF2600) EXEC(GOTO CMDLBL(ENDCNV)) /************/ ASCII: /* EBCDIC -> ASCII への変換 */ /************/ CALL PGM(QDCXLATE) PARM(&BUFLEN &SNDDTA 'QASCII + ' 'QSYS ' &OUTBUF &MAXOTL &OUTLEN + '*JPN ' 'N' '*EA ') CHGVAR VAR(&OUTBUF) VALUE(&OUTBUF *TCAT &NULL)