我想知道的這兩行代碼之間的區別: -有什麼區別? STEP1.SYSIN DD * //STEP1.SYSIN和STEP1.SYSIN DD&SYSUID..COBOL(CBL0001),DISP = SHR?
//STEP1.SYSIN DD *
和
//STEP1.SYSIN and STEP1.SYSIN DD &SYSUID..COBOL(CBL0001),DISP=SHR
,如果有任何差異。
我想知道的這兩行代碼之間的區別: -有什麼區別? STEP1.SYSIN DD * //STEP1.SYSIN和STEP1.SYSIN DD&SYSUID..COBOL(CBL0001),DISP = SHR?
//STEP1.SYSIN DD *
和
//STEP1.SYSIN and STEP1.SYSIN DD &SYSUID..COBOL(CBL0001),DISP=SHR
,如果有任何差異。
//STEP1.SYSIN DD *
將傳遞線路中的數據之後的語句作爲插播廣告的數據記錄到SYSIN DD例如
//SYSIN DD *
fred
bert
harry
將導致三線時SYSIN打開和讀取輸入讀取。
//STEP1.SYSIN DD DSN=&SYSUID..COBOL(CBL0001),DISP=SHR
將分配PDS/PDSE成員的數據集user.COBOL(其中用戶將是誰提交作業的用戶的用戶ID(即& SYSUID。解析爲提交者的用戶ID))的CBL0001到DD名稱SYSIN。
//STEP1.SYSIN
13759兩者,是說來覆蓋或添加SYSIN DD語句的程序步驟名稱STEP1(該過程本身會在前面的JCL被定義)。
區別在於SYSIN讀取的數據會有所不同(即來自不同的來源,它可能是相同的基礎數據),第一個是JCL語句後面的數據,第二個是數據保存在成員CBL001(兩者都可能是一個COBOL程序)。
隨着插播數據,如果/*是編碼數據將結束或如果DD語句是編碼或者如果沒有別的如下(如上所示)例如
//STEP1.SYSIN DD *
fred
bert
harry
/*
...... more JCL here
或
//STEP1.SYSIN DD *
fred
bert
harry
//STEP1.OTHER DD .........
代替* DATA可以例如使用(相同的結果如上述即三行)
//STEP1.SYSIN DD DATA
fred
bert
harry
/*
在兩種情況下*或DATA可以指定使用DLM例如定界符
//STEP1.SYSIN DD *,DLM="%%"
fred
bert
//harry
%%
(在這種情況下,第三行會//哈利)
非常接近,但//STEP1.SYSIN DD&SYSUID..COBOL(CBL0001),DISP = SHR未分配文件。處置是SHR,意思是它試圖指定要使用的文件,並且該程序不需要獨佔使用該文件。其他那個很好的答案。 – SaggingRufus
@SaggingRufus你正在談論分配空間,還有一個更多。將DATASET和DDNAME關聯到DATASET隨後可以從程序中打開的階段的整個過程通常稱爲ALLOCATION。例如 - 使用ALLOCATE命令或EDIT的ALLOCATE子命令(子命令的功能和語法與ALLOCATE命令相同)來動態分配要執行的程序所需的...數據集。 - https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ikjc500/dup0009.htm – MikeT
也許一個更不可取/明確定義的分配是_Allocation是過程系統爲您的工作分配或分配I/O資源。 I/O資源是** ddname-數據集組合**,以及任何關聯的卷和設備。[分配概述](https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0 /com.ibm.zos.v2r1.ieaa800/allocov.htm) – MikeT
請放兩行代碼在你的問題用一個代碼塊,這樣它會更容易被發現的任何差異。 – Bawpotter