大型机数据集

Sai*_*sha 0 mainframe

我有一个顺序数据集,其中包含一些按列格式化的数据.假设下面是我的数据集的格式.

Emp_ID    Emp_name     Emp_addr
---------------------------------
Run Code Online (Sandbox Code Playgroud)

我想从数据集中删除列Emp_Name.我可以不编写COBOL程序吗?如果我们有任何命令要这样做,请告诉我.

谢谢和问候,Manasi Kulkarni.

Gil*_*anc 6

您可以使用SORT消除顺序文件中的字节.

我们假设以下格式:

Employee ID        Bytes 1 - 10
Employee Name      Bytes 11 - 40
Employee Address   Bytes 41 - 70    
Run Code Online (Sandbox Code Playgroud)

我们想要消除员工姓名.我们要复制前10个字节,跳过接下来的30个字节,然后复制最后30个字节.

输入顺序文件为70个字节,输出顺序文件为40个字节.

这是执行此任务的SORT JCL.您需要修改JCL以符合大型机商店的标准.

//EXAMP    JOB A400,PROGRAMMER
//COPY     EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTIN   DD DSN=SMF.DATA,DISP=SHR
//SORTOUT  DD DSN=SMF.COPY,DISP=(,KEEP),SPACE=(CYL,(2,5))
//            UNIT=SYSDA
//SYSIN    DD * 
 OPTION COPY
 OUTREC FIELDS=(1,10,41,30)
/*
//
Run Code Online (Sandbox Code Playgroud)

OUTREC语句表示从字节1开始复制10个字节,从字节41复制30个字节,总共40个字节.

这是IBM的DFSORT手册以获取更多信息.