Воскресенье, 19.11.2017, 08:00
Приветствую Вас Гость | RSS
Главная | Module lookup - Форум | Регистрация | Вход
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Форум » Технические форумы » MVS (OS/390, zOS) » Module lookup
Module lookup
XOpenДата: Понедельник, 29.08.2011, 20:07 | Сообщение # 1
Генерал-майор
Группа: Администраторы
Сообщений: 322
Репутация: 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
Лейтенант
Группа: Проверенные
Сообщений: 48
Репутация: 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
Генерал-майор
Группа: Администраторы
Сообщений: 322
Репутация: 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
Сержант
Группа: Проверенные
Сообщений: 23
Репутация: 0
Статус: Offline
Остаётся добавить, что LPA имеет более высокий приоритет чем LNKLST.

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

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

А прочитать абзац целиком? Последнее предложение не смущает? Оно о чем говорит?
 
BibizyanДата: Вторник, 30.08.2011, 13:14 | Сообщение # 8
Лейтенант
Группа: Проверенные
Сообщений: 48
Репутация: 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
Генерал-майор
Группа: Администраторы
Сообщений: 322
Репутация: 4
Статус: Offline
Quote (art)
will override JOBLIB specification

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

Вот именно из за таких фраз мы и живем в неведении. Слова "override" и "приоритет" чаще понимаются как очередь, что будет если модуль и там и там. А на деле только одно из двух. Либо одно, либо никто. smile
 
BibizyanДата: Вторник, 30.08.2011, 15:36 | Сообщение # 11
Лейтенант
Группа: Проверенные
Сообщений: 48
Репутация: 0
Статус: Offline
Э... Тут я уже имел в виду приоритет JOBLIB перед LNKLST при отсутствии STEPLIB! А они таки - очередь.
 
XOpenДата: Вторник, 30.08.2011, 16:49 | Сообщение # 12
Генерал-майор
Группа: Администраторы
Сообщений: 322
Репутация: 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
Лейтенант
Группа: Проверенные
Сообщений: 48
Репутация: 0
Статус: Offline
А прописывать в STEPLIB нужные библиотеки не получается? Через переменные, для которых генерируются SETы для каждой PROCLIB.
 
XOpenДата: Вторник, 30.08.2011, 18:22 | Сообщение # 14
Генерал-майор
Группа: Администраторы
Сообщений: 322
Репутация: 4
Статус: Offline
Quote (Bibizyan)
А прописывать в STEPLIB нужные библиотеки не получается? Через переменные, для которых генерируются SETы для каждой PROCLIB.

Чем иметь большой STEPLIB для каждого шага лучше одного большого JOBLIB? (хотя наверно внутри это вообще одно и тоже)
 
BibizyanДата: Вторник, 30.08.2011, 20:51 | Сообщение # 15
Лейтенант
Группа: Проверенные
Сообщений: 48
Репутация: 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 из 212»
Поиск: