كيفية نقل الحجج إلى برنامج REXX من خلال JCL
-
21-09-2019 - |
سؤال
هل يمكننا نقل الحجج إلى برنامج REXX من JCL؟
أفترض ، يمكن استخدام JCL Parm أثناء استخدامنا لتمرير الحجج إلى برامج COBOL .. ضع أفكارك هنا ...
المحلول
انت تريد EXEC PGM=IRXJCL,PARM='member_name exec_args'
. SYSEXEC
يجب أن تشير إلى PDS المحتوية member name
. SYSTSIN
هو المدخلات ل PULL
, SYSTSPRT
هو الإخراج DD ل SAY
تفحص ال "باستخدام REXX في TSO/E وغيرها من مساحات عناوين MVS"الفصل في "دليل مستخدم TSO/E Rexx"كتاب (SA22-7791) للحصول على مثال كامل.
نصائح أخرى
ملاحظة إضافية: إذا كان REXX EXEC يستخدم خدمات ISPF ، فيمكنك تشغيله في دفعة مع PGM = IKJEFTXX (XX كونه لاحقة متغيرة) وتخصيص ISPXLIB في خطوة الوظيفة.
إذا تجاوزت المعلمات مع اسم عضو REXX 100 بايت ، فلن تعمل الطريقة التي ذكرها Ron Patterson لأن بناء جملة JCL يسمح فقط بحد أقصى بطول 100 بايت. في هذه الحالة ، أوصي باستخدام IKJEFTXX (تم نشره بالفعل بواسطة Tony). عليك بعد ذلك تمرير اسم برنامج REXX كبيانات instream إلى Systsin. يمكن للمعلمات لهذا البرنامج ببساطة كتابة خلف اسم البرنامج. عندما تحتاج إلى أكثر من سطر واحد ، استخدم الواصلة كحرف آخر لخط للإشارة إلى التسلسل مع السطر التالي. مثال:
//EXAMPLE EXEC PGM=IKJEFT01,REGION=4096K,DYNAMNBR=30
//SYSPRINT DD SYSOUT=*
//SYSEXEC DD DISP=SHR,DSN=YOUR.REXX.LIBRARY
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
SCHLABB PARAMETER1 PARAMETER2 PARAMETER3 -
VERY_LONG_PARAMETER4 -
LAST_PARAMETER5
/*
//
كنت أحصل على RC (-3) من أجل execio الأساسي ، libdef ، أوامر عندما حاولت تشغيل IRXJCL. أتمنى لو كان هناك وثائق أفضل حول ما يمكن أن يفعله IRXJCL ولا يمكنه فعله.
أخيرًا ، اتبعت النهج من الرابط أدناه ، لتمرير القيم ديناميكيًا إلى REXX عن طريق كتابتها إلى ملف وقراءة من الملف. كيفية تشغيل Dymanic SQL من خلال الأداة المساعدة IKJEFT01؟