JCL - EXEC Beyanı
Her JCL birçok iş adımından yapılabilir. Her iş adımı bir programı doğrudan yürütebilir veya bir prosedürü çağırabilir ve bu da bir veya daha fazla programı (iş adımları) yürütür. İş adımı programı / prosedür bilgilerini içeren ifade,EXEC statement.
EXEC bildiriminin amacı, iş adımında yürütülen program / prosedür için gerekli bilgileri sağlamaktır. Bu ifadede kodlanan parametreler, yürütme sırasında programa veri iletebilir, JOB ifadesinin belirli parametrelerini geçersiz kılabilir ve EXEC ifadesi bir programı doğrudan yürütmek yerine bir prosedürü çağırırsa prosedüre parametreleri iletebilir.
Sözdizimi
JCL EXEC ifadesinin temel sözdizimi aşağıdadır:
//Step-name EXEC Positional-param, Keyword-param
Açıklama
Yukarıdaki EXEC deyimi sözdiziminde kullanılan terimlerin açıklamasını görelim.
ADIM-ADI
Bu, JCL içindeki iş adımını tanımlar. Alfasayısal karakterlerle 1 ila 8 uzunlukta olabilir.
EXEC
Bu, onu bir EXEC ifadesi olarak tanımlayan anahtar kelimedir.
POZİSYONEL PARAM
Bunlar, iki tipte olabilen konumsal parametrelerdir:
Konumsal Parametre | Açıklama |
---|---|
PGM | Bu, iş adımında yürütülecek program adını ifade eder. |
PROC | Bu, iş adımında yürütülecek prosedür adını ifade eder. Bunu ayrı bir bölümde tartışacağız. |
ANAHTAR KELİME PARAM
Aşağıda, EXEC ifadesi için çeşitli anahtar sözcük parametreleri verilmiştir. Gereksinimlere göre bir veya daha fazla parametre kullanabilirsiniz ve bunlar virgülle ayrılır:
Anahtar Kelime Parametresi | Açıklama |
---|---|
PARM | İş adımında yürütülen programa parametreleştirilmiş veri sağlamak için kullanılır. Bu, programa bağlı bir alandır ve özel karakterlere sahip olması durumunda PARM değerinin tırnak içine alınması gerekmesi dışında kesin kuralları yoktur. Örneğin aşağıda verilen "CUST1000" değeri, programa alfanümerik bir değer olarak aktarılır. Program COBOL'deyse, JCL'de PARM parametresinden geçen değer programın BAĞLANTI BÖLÜMÜ'nde alınır. |
ADDRSPC | Bu, iş adımının yürütme için sanal veya gerçek depolama gerektirip gerektirmediğini belirtmek için kullanılır. Sanal depolama sayfalanabilirken gerçek depolama, yürütme için ana belleğe yerleştirilmez ve yerleştirilir. Daha hızlı yürütme gerektiren iş adımları gerçek depoya yerleştirilebilir. Sözdizimi aşağıdadır: ADDRSPC=VIRT | REAL Bir ADDRSPC kodlanmadığında, VIRT varsayılan olandır. |
ACCT | Bu, iş adımının hesaplama bilgilerini belirtir. Sözdizimi aşağıdadır: ACCT=(userid) Bu, konumsal parametreye benzer accounting informationJOB bildiriminde. Hem JOB hem de EXEC deyiminde kodlanmışsa, JOB deyimindeki hesaplama bilgileri, ACCT parametresinin kodlanmadığı tüm iş adımları için geçerlidir. Bir EXEC deyimindeki ACCT parametresi, yalnızca o iş adımı için JOB deyiminde mevcut olanı geçersiz kılar. |
EXEC ve JOB İfadesinin Ortak Anahtar Kelime Parametreleri
Anahtar Kelime Parametresi | Açıklama |
---|---|
ADDRSPC | JOB ifadesinde kodlanan ADDRSPC, herhangi bir iş adımının EXEC ifadesinde kodlanan ADDRSPC'yi geçersiz kılar. |
TIME | TIME, bir EXEC deyiminde kodlandıysa, yalnızca o iş adımı için geçerlidir. Hem JOB hem de EXEC deyiminde belirtilirse, her ikisi de geçerli olur ve bunlardan herhangi biri nedeniyle zaman aşımı hatasına neden olabilir. TIME parametresinin hem JOB hem de EXEC deyiminde birlikte kullanılması önerilmez. |
REGION | REGION bir EXEC deyiminde kodlanmışsa, o zaman yalnızca o iş adımı için geçerlidir. JOB ifadesinde kodlanan REGION, herhangi bir iş adımının EXEC ifadesinde kodlanan REGION değerini geçersiz kılar. |
COND | Önceki adımın dönüş koduna göre iş adımının yürütülmesini kontrol etmek için kullanılır. Bir iş adımının EXEC deyiminde bir COND parametresi kodlandıysa, JOB ifadesinin COND parametresi (varsa) yok sayılır. Bir COND parametresi kullanılarak gerçekleştirilebilecek çeşitli testler, koşullu İşleme bölümünde açıklanmaktadır. |
Misal
Aşağıda, JOB ve EXEC ifadeleri ile birlikte JCL komut dosyasının basit bir örneği verilmiştir:
//TTYYSAMP JOB 'TUTO',CLASS=6,MSGCLASS=X,REGION=8K,
// NOTIFY=&SYSUID
//*
//STEP010 EXEC PGM=MYCOBOL,PARAM=CUST1000,
// ACCT=(XXXX),REGION=8K,ADDRSPC=REAL,TIME=1440