我有一个生成随机PIN码的程序。这些引脚用Java生成,然后通过 NATURAL 程序存储在主机中。从那里开始,它们最终由批量JCL作业进行物理打印,该作业调用 MVS SCRIPT 来打印表单,并在其上显示引脚代码。
我之前遇到过一些特殊字符的问题,例如:|{}![]^~<>;
由于某种原因导致打印不正确。我也因OCR原因删除了0OQ1l
。
最近,我注意到另一个无法正确打印的字符.
,但.
字符仅在时出现错误PIN码的第一个字符。
因为我遇到了这个问题,我想我会看到我是否能找到其他特殊的jcl,自然或 MVS脚本字符干扰我的程序操作,以便我现在可以测试它们,希望以后不会遇到这个问题或者必须回退到只使用OCR的AlphaNumeric字符。
修改
//**********************************************************************
//* 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 ####是一个实际数字,是一个指向所选打印机的变量。
注意:我是网络程序员,我不会说大型机,JCL,MVS等。
答案 0 :(得分:5)
我认为你会发现程序(pgm =)是DSMSPEXC而不是DSMSPEXEC。
我猜(可能是错的)我们谈论的是 Script / DCF (后来成为其他平台上的IBM Bookmaster / Bookmanager)。
脚本/ DCF基本上是基于GML的语言。来自GML的是SGML派生的( HTML 和 XML 是 SGML 语言的突出示例)。
在脚本:中启动标记,。结束标记。还有一些有宏的宏。在第1栏
.* ".*" in column 1 starts a line comment
.* .fo off is Format off (like <pre> in html)
.fo off
.* Starting an ordered list
:ol.
:li.Item in orded list
:eol.
即
Script HTML
: < - Starts tag
. > - end of tag Script/DCF is generally pretty tolerant of .
& & - Starts a variable
大多数特殊字符都有变量(&amp; gml。= :)。
担心的字符是
: - always
& - always
. - in column one or after a :.
如果没有翻译错误,其他字符应该没问题。字符集X0A055BC(Mainframe SONORAN SANS SERIF ??)可能没有所有特殊字符。
脚本/ DCF标签有手册。
答案 1 :(得分:0)
您的数据不会以任何方式影响JCL。
我不了解ADABAS或NATURAL。如果你在这里问http://www.ibmmainframeforum.com/viewforum.php?f=25,特别是那个部分,尽可能详细,有一个非常专业的人,RDZbrog,他可能会为你回答这个问题。
对于SCRIPT / VS本身,正如Bruce Martin指出的那样,可能存在一些问题。使用.xx和:xx不会与普通文本发生冲突。但是你没有正常的文字。使用&amp;,表示SCRIPT变量,它更有可能在任何位置出现问题。
我会通过以下方式触发一些测试数据:第一个位置的PIN在“fo”和“ol”之前都是可用的标点符号,并且与您的PIN中“嵌入”的序列相同。还包括一个双&amp;和三重&amp;。
您的查询应在您的规范中解决。它不是,但我相信你会在得到解决方案时更新所有文档。