2013-11-01 78 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」所有可用的標點符號,並與個人識別碼「嵌入」的那些序列相同。還包括雙重&和三重&。

您的查詢結果應該按照規範解決。這不是,但我相信你會在獲得解決方案時更新所有文檔。