2013-11-01 80 views
3

我有一个程序可以生成随机引脚代码。这些引脚由Java生成,然后通过NATURAL程序存储在主机中。从那里,它们最终通过批量JCL作业进行物理打印,批量JCL作业调用MVS SCRIPT打印表单,其上带有PIN码。是否存在JCL/MVS Script变量中要避免的特殊字符列表

我遇到过一些特殊字符的问题,例如:|{}![]^~<>;由于某种原因无法正常打印。出于OCR原因,我也删除了0OQ1l

近日,来到了我的注意错误与其他字符不能正常打印,..字符只有当它是PIN码的第一字符失败。

所以,因为我碰到的这个问题,我想我会看看我是否能找到其他特殊自然MVS脚本字符可能与我的程序操作干扰,让我现在就可以测试他们,希望稍后不要再遇到此问题,或者必须回退到仅使用OCR处理的AlphaNumeric字符。

编辑

  • 的Java - Web应用程序运行在Solaris服务器上的Tomcat 6.x的。
  • Natural - 使用 Broker生成的类(POJO)调用Natural Program。
    • 我的理解是使用RPC进行实际的沟通。
    • 该程序验证一些数据,并将ADIDAS中的Pin与记录上的GUID结合使用。
  • 有一个批处理作业用于打印表单。批处理作业是用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等

+0

什么“MVS脚本”,通常打印在大型机上,你会使用复制程序(说ICEGENER)的数据集复制到打印机。 Natural Program是什么? Java程序在哪里运行?是否有ASCII到EBCIDIC的转换(可以解释| {}![] ^〜<>)的问题)。我会在打印之前检查大型机上的数据集。最后你可以写 –

回答

5

我想你会发现程序(PGM =)是DSMSPEXC而不是DSMSPEXEC。

我在猜测(可能是错误)我们正在谈论脚本/ DCF(后来成为其他平台上的IBM Bookmaster/Bookmanager)。

脚本/ DCF基本上是基于GML语言。从GML得到SGMLHTMLXMLSGML语言的突出示例)。

脚本开始标记,结束标签。也有宏的有一个。在大多数的特殊字符栏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 

有变量(& GML。= :)。


人物担心是

: - always 
& - always 
. - in column one or after a :. 

其它字符应行提供不存在翻译错误。字符集X0A055BC(主机SONORAN SANS SERIF ??)可能没有所有特殊字符。

有Script/DCF标签的手册。

+2

是的,这是['Script'](https://en.wikipedia.org/wiki/SCRIPT_(标记)) - 'DSM'是所有脚本程序的前缀。对于那些不知道的人来说,Script是一个文档标记和格式化系统,它与Unix'runoff'和'troff'工具具有相同的历史渊源。正如@BruceMartin所说,SGML的创建者从Script开始他们的工作并首先创建了IBM的内部“GML”。 –

0

您的数据不会以任何方式影响JCL。

我不知道ADABAS或NATURAL。如果你问这里,http://www.ibmmainframeforum.com/viewforum.php?f=25,特别是关于那个部分,尽可能详细地提供,有一个非常专业的人,RDZbrog,他可能会为你回答这个问题。

对于SCRIPT/VS本身,布鲁斯·马丁指出,可能会有一些问题。使用.xx和:xx不会与普通文本发生冲突。但是你没有正常的文字。使用指示SCRIPT变量的&,它更有可能在有问题的位置出现。

我会开除通过一些测试数据:个人识别码与一个位置是前面的“FO”和“OL”所有可用的标点符号,并与个人识别码“嵌入”的那些序列相同。还包括双重&和三重&。

您的查询结果应该按照规范解决。这不是,但我相信你会在获得解决方案时更新所有文档。