Пн, 06.05.2024, 12:04
Приветствую Вас Гость | RSS
Главная | Module lookup - Форум | Регистрация | Вход
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » Технические форумы » MVS (OS/390, zOS) » Module lookup
Module lookup
XOpenДата: Пн, 29.08.2011, 20:07 | Сообщение # 1
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
Кто с ходу может дать ответ?

Вызываю JCL. В LNKLST лежат модули A1,B1,C1,D1. В STEPLIB лежат A2,C2. В JOBLIB A3,B3. (одинаковая буква означает тот же модуль, но цифра что он другой версии) Я вызываю из шага A,B,C,D. Какие версии вызовутся? (ответ в виде Ax,Bx,Cx,Dx)
 
BibizyanДата: Пн, 29.08.2011, 21:40 | Сообщение # 2
Подполковник
Группа: Проверенные
Сообщений: 131
Репутация: 0
Статус: Offline
Насколько я помню, порядок должен быть А2, В3, С2 и D1. Приоритет у STEPLIB, затем JOBLIB, и только потом - LNKLST.
 
artДата: Вт, 30.08.2011, 00:02 | Сообщение # 3
Лейтенант
Группа: Доверенные
Сообщений: 60
Репутация: 3
Статус: Offline
Quote (Bibizyan)
Приоритет у STEPLIB, затем JOBLIB


Ага, именно так.
 
XOpenДата: Вт, 30.08.2011, 02:50 | Сообщение # 4
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
Quote (art)
Ага, именно так.

Просил же, не подсматривать. Я надеюсь это был саркастический ответ. dry Ибо согласно тому, что по ссылке, ответ в посте номер 2 - не верный. (с чем я сегодня себя тоже поздравил)
 
artДата: Вт, 30.08.2011, 08:52 | Сообщение # 5
Лейтенант
Группа: Доверенные
Сообщений: 60
Репутация: 3
Статус: Offline
Quote (XOpen)
Ибо согласно тому, что по ссылке, ответ в посте номер 2 - не верный.

Как это не верный?

"the system first searches the step library", это ведь про STEPLIB, так?


Сообщение отредактировал art - Вт, 30.08.2011, 08:57
 
stas9132Дата: Вт, 30.08.2011, 12:06 | Сообщение # 6
Сержант
Группа: Проверенные
Сообщений: 24
Репутация: 0
Статус: Offline
Остаётся добавить, что LPA имеет более высокий приоритет чем LNKLST.

Если модуль не найден в STEPLIB и JOBLIB он ищется в LPA, а потом уже в LNKLST.
 
XOpenДата: Вт, 30.08.2011, 12:25 | Сообщение # 7
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
Quote (art)
Как это не верный?

"the system first searches the step library", это ведь про STEPLIB, так?

А прочитать абзац целиком? Последнее предложение не смущает? Оно о чем говорит?
 
BibizyanДата: Вт, 30.08.2011, 13:14 | Сообщение # 8
Подполковник
Группа: Проверенные
Сообщений: 131
Репутация: 0
Статус: Offline
Quote (XOpen)
Последнее предложение не смущает? Оно о чем говорит?

Получается, что если есть STEPLIB, то в этом STEPе JOBLIB игнорируется, и будет искать в LNKLST. А если есть несколько STEPов, и в остальных нету STEPLIBа - то в них будет приоритет у JOBLIB.
 
artДата: Вт, 30.08.2011, 13:18 | Сообщение # 9
Лейтенант
Группа: Доверенные
Сообщений: 60
Репутация: 3
Статус: Offline
Quote (XOpen)
А прочитать абзац целиком? Последнее предложение не смущает? Оно о чем говорит?

Нашел в другой формулировке:
"If both the JOBLIB and STEPLIB statements are coded, then the STEPLIB specification will override JOBLIB specification."

Таки вы правы, посыпаю голову пеплом. Хотя поиск STEPLIB->JOBLIB->SYSTEM LIB был бы логичнее, имхо.

Я сначала решил, что говоря о system libs они относят к joblib, но был не прав happy
 
XOpenДата: Вт, 30.08.2011, 14:00 | Сообщение # 10
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
Quote (art)
will override JOBLIB specification

Quote (Bibizyan)
то в них будет приоритет у JOBLIB.

Вот именно из за таких фраз мы и живем в неведении. Слова "override" и "приоритет" чаще понимаются как очередь, что будет если модуль и там и там. А на деле только одно из двух. Либо одно, либо никто. smile
 
BibizyanДата: Вт, 30.08.2011, 15:36 | Сообщение # 11
Подполковник
Группа: Проверенные
Сообщений: 131
Репутация: 0
Статус: Offline
Э... Тут я уже имел в виду приоритет JOBLIB перед LNKLST при отсутствии STEPLIB! А они таки - очередь.
 
XOpenДата: Вт, 30.08.2011, 16:49 | Сообщение # 12
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
Quote (Bibizyan)
Э... Тут я уже имел в виду приоритет JOBLIB перед LNKLST при отсутствии STEPLIB! А они таки - очередь.

Я знаю. Но так как это явно не ДОписано, то и возникают ложные суждения. Мне всю жизнь говорили, что STEPLIB важнее JOBLIB, но никто неДОговорил, что он отменяет JOBLIB.

А теперь у меня ситуация что мы генерируем JOBLIB-ы для PROCLIB-ов как разные версии продуктов. А в тех шагах которые ссылаются на доп библы через STEPLIB происходят чудесные чудеса. И я не вижу красивого решения. Только решить, что STEPLIB - зло! А любые библиотеки надо дописывать в JOBLIB, даже если они реально используются в одной процедуре из сотни получивших этот JOBLIB.

ps: ну не LNKLST мне же переключать для разных версий...
 
BibizyanДата: Вт, 30.08.2011, 17:14 | Сообщение # 13
Подполковник
Группа: Проверенные
Сообщений: 131
Репутация: 0
Статус: Offline
А прописывать в STEPLIB нужные библиотеки не получается? Через переменные, для которых генерируются SETы для каждой PROCLIB.
 
XOpenДата: Вт, 30.08.2011, 18:22 | Сообщение # 14
Генерал-майор
Группа: Администраторы
Сообщений: 325
Репутация: 4
Статус: Offline
Quote (Bibizyan)
А прописывать в STEPLIB нужные библиотеки не получается? Через переменные, для которых генерируются SETы для каждой PROCLIB.

Чем иметь большой STEPLIB для каждого шага лучше одного большого JOBLIB? (хотя наверно внутри это вообще одно и тоже)
 
BibizyanДата: Вт, 30.08.2011, 20:51 | Сообщение # 15
Подполковник
Группа: Проверенные
Сообщений: 131
Репутация: 0
Статус: Offline
А почему должен получиться большой STEPLIB для каждого шага? Он будет размером с самый большой STEPLIB. А как я понял, если делать большой JOBLIB , то он будет размером в сумму всех библиотек.
Я имелл в виду что-то типа такого:
Code

//         SET  LOADLIB1=KUKU   
//         SET  LOADLIB2=KUKU   
//         SET  LOADLIB3=KUKU   
//STEP1  EXEC PGM=PGM1
//STEPLIB  DD DISP=SHR,DSN=&LOADLIB1           
//         DD DISP=SHR,DSN=&LOADLIB2
//         DD DISP=SHR,DSN=&LOADLIB3
//*
//         SET  LOADLIB1=КОKО   
//         SET  LOADLIB2=KIKI   
//         SET  LOADLIB3=KАKА   
//STEP2  EXEC PGM=PGM2
//STEPLIB  DD DISP=SHR,DSN=&LOADLIB1           
//         DD DISP=SHR,DSN=&LOADLIB2
//         DD DISP=SHR,DSN=&LOADLIB3

И генерить нужные SET-ы для каждой процедуры. Тогда в STEPLIB-ах получается по три библиотеки, а если делать JOBLIB общий - то там будет четыре.
 
Форум » Технические форумы » MVS (OS/390, zOS) » Module lookup
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: