SORT و بازی با کاراکترها
در هنگام استفاده از برنامه ی SORT توسط JCL شما می توانید تغییرات دلخواهتان را در کاراکترها و فرمت رکوردهایتان اعمال کنید. در این مقاله با سه پارامتر پرکاربرد در این زمینه آشنا می شویم.
Justify (هم تراز کردن):
توسط این پارامتر شما می توانید رکوردهای Input را Justify کنید.
تصور کنید که رکوردهای Input شما به شکل زیر می باشد:
(TEHRAN/
KEMRAN/
ISFAHAN/
SHIRAZ)
و شما می خواهید که فایل Output شما با فرمت زیر نمایش داده شود:
<TEHRAN>
<KERMAN>
<ISFAHAN>
<SHIRAZ>
برای به دست آوردن این نتیجه control statement شما باید به این شکل نوشته شود:
توضیح دستور:
۱ : پوزیشن شروع فیلد است که نشان می دهد فیلد ما از چه پوزیشنی شروع می شود.
۲۰ : طول فیلد را مشخص می کند. در مثال بالا، فیلد ما از پوزیشن ۱ شروع شده و به طول ۲۰ کاراکتر ادامه دارد.
JFY : کلمه کلیدی است که برای Justify کردن رکوردهای Input استفاده می شود.
SHIFT=LEFT : نوع Justification را مشخص می کند که در اینجا رکوردها باید از سمت چپ چیده شوند. (SHIFT=RIGHT رکوردها را از سمت راست می چیند).
PREBLANK=C'()/’C : نشان دهنده ی این است که کاراکترهای ) ، ( و / باید با Blank (جای خالی) جایگزین شوند.
LEAD=C’<’C : کاراکترهایی که باید به ابتدای یک String اضافه شوند را مشخص می کند که در اینجا < تعیین شده است.
در مقابل LEAD، پارامتر TRAIL قرار دارد که کاراکترهایی که به انتهای String باید اضافه شوند را مشخص می کند که در این مثال > به عنوان آخرین کاراکتر قرار می گیرد.
شما می توانید با کلیک بر روی این لینک بانک JCL را مشاهده کنید.
Squeeze (فشرده کردن) :
از آپشن های دیگری که با آن می توان رکوردهای Input را کنترل کرد Squeeze می باشد. با استفاده از این دستور شما می توانید spaceهای ناخواسته در یک رکورد را حذف نمایید.
تصور کنید که فایل Input شما به شکل زیر می باشد:
A (TEHRAN/ A
B KERMAN/ B
C ISFAHAN/ C
D SHIRAZ) D
و شما می خواهید که در Output رکوردها با فرمت زیر نمایان شوند:
{A.TEHRAN.A}
{B.KERMAN.B}
{C.ISFAHAN.C}
{D.SHIRAZ.D}
جهت انجام این کار، کد شما باید به صورت زیر نوشته شود:
توضیح دستور:
SQZ : نشان دهنده ی عملیات Squeeze می باشد.
SHIFT=RIGHT : مشخص می کند که همه ی Space ها حذف خواهند شد و سایر کاراکترها از سمت راست چیده خواهند شد. در صورت وجود فضای باقی مانده در سمت چپ، این فضا با Blank پر می شود.
اگر برای این گزینه LEFT تعیین شود، بعد از حذف شدن Space ها، سایر کاراکترها از سمت چپ چیده می شوند.
MID=C’.’C : نشان دهنده ی این است که این برنامه می خواهد Space های حذف شده را با کاراکتر . جایگزین کند. پس هرکجا که space بوده، بعد از این دستور به . تبدیل می شود.
Overlay (همپوشانی کردن) :
این پارامتر زمانی استفاده می شود که می خواهید تنها یک یا تعداد کمی تغییر ایجاد کنید و سایر آیتم های داخل رکورد را بدون تغییر باقی بگذارید.
رکورد Input زیر را در نظر بگیرید:
<tehran>
<kerman>
<isfahan>
<shiraz>
اگر شما بخواهید در رکورد Output اسامی شهرها به حروف بزرگ تبدیل شود، می توانید از دستور زیر استفاده کنید:
در این دستور شما نیازی ندارید که کل رکورد را دوباره تعریف کنید. تنها تغییرات مد نظرتان را می نویسید.
۶:۶,۹ : نشان دهنده ی این است که پوزیشن ۶ در فایل Output باید با پوزیشن ۶ در فایل Input به طول ۹ کاراکتر جایگزین شود.
TRAN=LTOU : مشخص کننده ی عملیاتی است که در Overlay قرار است انجام شود که در این مثال lowercase To UPPERCASE می باشد.
بعد از اجرای این دستور، فایل Output شما به شکل زیر نمایش داده می شود:
<TEHRAN>
<KERMAN>
<ISFAHAN>
<SHIRAZ>
جهت مطالعه ی بیشتر در این خصوص به زبان انگلیسی می توانید از لینک زیر استفاده کنید: