كيف يمكنني نسخ عضو مع برنامج دفعة REXX / CLIST (لا ISPF)؟

StackOverflow https://stackoverflow.com/questions/1671578

  •  13-09-2019
  •  | 
  •  

سؤال

ضمن z / OS، أريد أن أكتب البرنامج النصي Rexx أو Clist لنسخ بيانات متتالية واحدة مضبوطا على آخر ثم قم بتشغيل برنامج نصي آخر (Rexx). يتوقع البرنامج النصي الآخر وجود SDS محددة وأريد أن أكون قادرا على نسخ أحد الخيارات العديدة لهذا العضو قبل تشغيل البرنامج النصي الثاني. هذا من TSO، لذلك ليس لدي حق الوصول إلى أي من الأشياء ISPF الهوى.

لذلك، أساسا:

Copy 'level1.level2.name.type1' to 'level1.level2.name'
runother p1 p2 p3

ال runother يستخدم برنامج Rexx Script 'Level1.level2.name' للقيام بسحره الخاص - أنا فقط توفير واحد مختلف لكل من إمكانياتي.

لذلك أحتاج إلى برنامج نصي يسمى 'xx42' الذي نسخ "Level1.level2.name.42" ويمكنني بعد ذلك تعديل ذلك للقيم بخلاف 42. وأفضل أن يكون أكثر تحديدا هذا البرنامج النصي حتى أتمكن من استخدام

xx 42 p1 p2 p3

أو

xx 27 p1 p2 p3

بدلا من وجود برنامج نصي لكل قيمة. هذا من شأنه نسخ SDS المعطى ثم تمرير المعلمات p1, p2 و p3 من خلال ل runother.

هل كانت مفيدة؟

المحلول 2

بعد قليل من العبث حولها، اكتشفت أنه يمكنك تخصيص مجموعات البيانات المطلوبة يدويا وتشغيلها IEBGENER للقيام النسخة:

/* REXX */

"ALLOC FI(SYSPRINT) DUMMY REUSE"
"ALLOC FI(SYSIN) DUMMY REUSE"
"ALLOC FI(SYSUT1) DA('LEVEL1.LEVEL2.NAME.42') SHR REUSE"
"ALLOC FI(SYSUT2) DA('LEVEL1.LEVEL2.NAME') SHR REUSE"
"IEBGENER"
RC2 = RC
"FREE FI(SYSUT1)"
"FREE FI(SYSUT2)"
"FREE FI(SYSPRINT)"
"FREE FI(SYSIN)"
IF RC2 ^= 0 THEN DO
  SAY "IEBGENER FAILED."
  END
ELSE DO
  RUNOTHER P1 P2 P3
  END

نصائح أخرى

أثناء البحث عن شيء آخر، صادفت هذا المنصب. (أي أنه لم يأخذني سنتين لصياغة هذا الاستجابة) ويعتقد أن المركزيين في المستقبل (هل لا نزال موجودون؟) قد تجد أنها مفيدة.

يمكنك أيضا القيام SMCOPY:

address TSO "SMCOPY FDS('LEVEL1.LEVEL2.NAME.42') TDS('LEVEL2.LEVEL2.NAME')"

FDS - من DataSet، TDS - إلى DataSet. إذا لم تكن TDS، فستحصل على رمز الإرجاع 4، ولكن سيتم تنفيذ النسخة. يمكنك استخدام Smcopy لنسخ أعضاء المكتبة أيضا.

يمكنك أيضا استخدام فرز للقيام بنسخة من Sortin إلى Sortout. يمكنك التفاف أن JCL في بروك مع المعلمات أو استخدام العبارات المحددة، إلخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top