我有一个生成随机密码的程序。这些引脚在 Java 中生成,然后通过NATURAL程序存储在大型机中。从那里,它们最终由批处理 JCL 作业进行物理打印,该作业调用MVS SCRIPT来打印表单,上面有 pin 码。
我之前遇到过一些特殊字符的问题,例如: |{}![]^~<>;
由于某种原因无法正确打印。0OQ1l
由于 OCR 的原因,我也删除了。
最近,我注意到另一个字符无法正确打印的错误,.
但该.
字符仅在它是PIN 码的第一个字符时才会失败。
因此,由于我遇到了这个问题,我想我会看看是否可以找到其他可能会干扰我的程序操作的特殊jcl、Natural或MVS 脚本字符,以便我现在可以测试它们,希望以后不会遇到这个问题或必须回退到仅使用 OCR 的 AlphaNumeric 字符。
编辑
- Java - Web 应用程序在 Solaris 服务器上的 Tomcat 6.x 下运行。
- Natural - 使用webmethods Broker 生成的类 (POJO)
调用 Natural 程序。
- 我的理解是它使用RPC进行实际通信。
- 该程序验证一些数据并将 Pin 与 GUID 组合存储在 ADABAS 中的记录上。
- 有一个批处理作业运行以打印表单。批处理作业是用 JCL 编写的。
- 我从批处理作业的维护者那里得到的理解,表单的东西是描述表单本身以及它们如何打印的实际语言是一种过时/不受支持的语言,称为MVS SCRIPT。
- 脚本的底部部分如下所示:
//**********************************************************************
//* PRINT SORTED FORMS TO #### USING MVS SCRIPT
//**********************************************************************
PRINTALL EXEC PGM=DSMSPEXEC,PARM='LIST'
//* less 'interesting' lines omitted
SYSPRINT DD SYSOUT=*
PRINT1 DD SYSOUT=A, OUTPUT=*.C####,
RECFM=VBM,LRECL=####,BLKSIZE=####
//* less 'interesting' lines omitted
//SYSIN DD *
AUTH /* redacted */
SCRIPT FROM(MYFORMS) (MESSAGE(ID TRACE) CONT -
FILE(PRINT1) PROFILE(redacted) -
NOSEGLIB DEVICE(PG4A) CHARS(X0A055BC))
.C#### 是一个实际数字,是一个指向所选打印机的变量。
注意:我是一名 Web 程序员,我不会说大型机、JCL、MVS 等。