聲明符號值:早期文件從遠程服務器位置大型機牽強。然後 這些文件內容被獲取並保存在大型機中的一個順序文件中。但有時候,某些文件名包含空格。由於此作業在獲取 內容時失敗。傳遞使用DFSORT到文件
現在要解決這個問題,我們從獲取服務器的所有文件,並分離良好的文件 和壞的文件。現在我們只抓取好的文件內容。
問題:當重命名文件,我們添加前綴Process_和大館(從沒控制M牽強),以文件名。 但是早些時候它是通過unix代碼在jcl中完成的,如下所示。
僞代碼: 打印 「重命名」 $ 1 「」 「Process_」 %% DAT 「_」 $ 1
我們正在從一個軟件控制-M取大館。
JCL代碼:
//JOBNAME JOB (DEE),'Job Desc',CLASS=P,MSGCLASS=J,
// MSGLEVEL=(1,1),COND=(0,NE)
//* %%SET %%DAT = %%$ODATE
//STEP01 EXEC PROC1
PROC1代碼:
//STEP02 EXEC PGM=SORT
//SORTIN DD DSN=DS.FILE1,
// DISP=SHR
//SORTOUT DD DSN=DS.FILE2,
// UNIT=SYSSF,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),
// SPACE=(27920,(29,6),RLSE),
// DISP=(NEW,CATLG,DELETE)
//SYSIN DD DSN=DS.PARM(PARM03),DISP=SHR
PARM03包含: 在這裏,我創建的UNIX代碼重命名文件:
SORT FIELDS=COPY
OUTFIL BUILD=(1:C'print "get " r_fi',18:SEQNUM, -
3,ZD,22:C'" //DD:upload"',/,1:C'print "rename " r_fi', -
21:SEQNUM,3,ZD,24:C' ', -
25:C' " " "Process_" %%DAT "_" r_fi',53:SEQNUM,3,ZD,80:X)
/*
Unix的代碼,我正在動態創建: 這裏取決於文件數p_fi01,生成p_fi02,p_fi03 .....。 我將unix代碼保存在數據集中,並將其作爲instream傳遞以運行。
的問題是,它是不是能得到DAT變量的值。 有什麼辦法,我可以從JCL通過d的值proc和與
「Process_」使用排序在PROC卡添加它。
示例數據: 文件File1.csv內容是獲取並更名爲Process_20140101_File1.csv
我可以看到JCL嗎? – SaggingRufus
@BillWoodger我很高興看到另一個COBOL程序員在這裏XD – SaggingRufus
@BillWoodger:我在這裏使用了DFSORT。我也提供了一些示例數據。 – deepaklearner