Вт, 26.11.2024, 10:32
Приветствую Вас Гость | RSS
Главная | JES2 - Страница 2 - Форум | Регистрация | Вход
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
JES2
mentorДата: Пн, 28.05.2012, 11:06 | Сообщение # 16
Лейтенант
Группа: Проверенные
Сообщений: 138
Репутация: 1
Статус: Offline
Gregory, ничего не помогло, увы.
1. SYSPRINT DD DSN=
2. SYSOUT DD SYSOUT=X
3 STEPLIB DD PLI.V2R3M0.SIBMBASE

есть ещё какие-нибудь мысли?
 
GregoryДата: Пн, 28.05.2012, 19:03 | Сообщение # 17
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
так в случае SYSPRINT DD DSN= в наборе данных нет сообщений
IBM537I 'ONCODE'=8097 DATA EXCEPTION
IN STATEMENT 187 AT OFFSET +00035E IN PROCEDURE WITH ENTRY K0102A0
?
и Вы не ответили, каким компилятором компилируется программа в OS/390. В MVS это PLI v2r3 а в OS/390 что? в первой строке листинга это легко видеть:
15688-235 IBM PL/I for MVS & VM Ver 1 Rel 1 Mod 1 with MLE
15655-H31 IBM® Enterprise PL/I for z/OS
 
mentorДата: Пн, 28.05.2012, 20:10 | Сообщение # 18
Лейтенант
Группа: Проверенные
Сообщений: 138
Репутация: 1
Статус: Offline
Gregory, в обеих системах одна и та же версия PLI:
Дата: Понедельник, 21.05.2012, 13:17 | Сообщение # 9
AKonev, в обеих системах:
PLI.V2R3M0.PLIBASE
PLI.V2R3M0.PLICLIST
PLI.V2R3M0.PLICMD
PLI.V2R3M0.PLICOMP
PLI.V2R3M0.PLIHELP
PLI.V2R3M0.PLILINK
PLI.V2R3M0.PLIPROC
PLI.V2R3M0.PLISAMP
PLI.V2R3M0.PLISMAC
PLI.V2R3M0.PLITASK
PLI.V2R3M0.SAQACMD
PLI.V2R3M0.SAQAMLIB
PLI.V2R3M0.SAQAPNLS
PLI.V2R3M0.SIBMBASE
PLI.V2R3M0.SIBMLINK

но содержимое библиотек несколько отличается.
Да, совершенно верно, в файле sysprint , когда пишем в файл тоже нет этих двух строк .


Сообщение отредактировал mentor - Пн, 28.05.2012, 20:15
 
GregoryДата: Вт, 29.05.2012, 10:59 | Сообщение # 19
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
Quote
в обеих системах одна и та же версия PLI... но содержимое библиотек несколько отличается.

вероятно, разные PTF применены, что может объяснить разное поведение.
Перенести загрузочный модуль из MVS в OS/390 и выполнить его там не пробовали?
 
mentorДата: Вт, 29.05.2012, 16:57 | Сообщение # 20
Лейтенант
Группа: Проверенные
Сообщений: 138
Репутация: 1
Статус: Offline
загрузочный модуль прикладной программы?
пробовали.
Оттуда они и перенесены были, до пеорекомпиляции.
С PLI.V2R3M0.PLIBASE и PLI.V2R3M0.SIBMBASE из MVS
в steplibe для выполнения тоже пробовали.

Осталось все библ PLI из MVS перекатологизировать под OS/390 и прогнать попробовать.
 
GregoryДата: Ср, 30.05.2012, 11:32 | Сообщение # 21
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
Quote
загрузочный модуль прикладной программы? пробовали.
Оттуда они и перенесены были, до пеорекомпиляции. С PLI.V2R3M0.PLIBASE и PLI.V2R3M0.SIBMBASE из MVS

и поведение загрузочного модуля было не такое как в MVS? То есть один и тот же бинарный код в MVS и OS390 ведет себя по-разному?


Сообщение отредактировал Gregory - Ср, 30.05.2012, 11:33
 
mentorДата: Ср, 30.05.2012, 13:21 | Сообщение # 22
Лейтенант
Группа: Проверенные
Сообщений: 138
Репутация: 1
Статус: Offline
Gregory, в данном случае поведение загрузочного модуля в обеих системах одинаково.
Завершается с ошибкой, но сообщение об ошибке IBM537I 'ONCODE'=8097 DATA EXCEPTION, которое под MVS идет в SYSPRINT,
система OS/390 "проглатывает".
Куда уходит сообщение, непонятно.
 
GregoryДата: Ср, 30.05.2012, 15:20 | Сообщение # 23
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
Quote
поведение загрузочного модуля в обеих системах одинаково... но сообщение об ошибке ... которое под MVS идет в SYSPRINT,
система OS/390 "проглатывает".

я это и имел в виду под "поведением", понятно. Но у меня еще вот какой вопрос возник: в листинге я вижу что пункт задания завершается нормально с кодом 100, но появление ONCODE должно приводить к user abend 8097, следовательно у Вас в программе обрабатывается аварийное завершение? В таком случае хорошо бы взглянуть на то, что в программе написано по поводу обработки аварийного завершения - содержимое ON ERROR или ON FINISH
 
mentorДата: Ср, 30.05.2012, 16:03 | Сообщение # 24
Лейтенант
Группа: Проверенные
Сообщений: 138
Репутация: 1
Статус: Offline
PLIRETC) BUILTIN;
DCL
(LENGTH,
ONCODE) BUILTIN;
DCL
KW,
J,
(CWZ,
C1) FIXED BIN(31) INIT(0);

. . . . . . . . . .

ON ERROR
BEGIN;
ON ERROR SYSTEM;
CWZ=100;
GOTO FIN;
END;
. . . . . . . . . .

FIN:
CLOSE FILE(SYSPRINT);
CALL PLIRETC(CWZ);
PUT SKIP EDIT((58)'*')(SKIP,SKIP,COL(32),A);
PUT
EDIT(
'* ПРОТОКОЛ РАБОТЫ МОДУЛЯ K0102A0 *')(
SKIP,COL(32),A);
 
GregoryДата: Ср, 30.05.2012, 18:29 | Сообщение # 25
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
Я бы прежде всего попробовал убрать CLOSE FILE(SYSPRINT), тем более что в коде SYSPRINT неявно открывается после CLOSE:
CLOSE FILE(SYSPRINT);
...
PUT SKIP EDIT...
PUT EDIT...
Или этот CLOSE как раз и появился как попытка исправить ситуацию? А OPEN FILE(SYSPRINT) в программе присутствует? Явное закрытие неявно открытого файла в принципе допустимо, но может провоцировать ошибки. Такие ситуации обсуждают, например, здесь ibmmainframes.com/about55738.html

А выдаются ли сообщения если не обрабатывать ошибку (без ON ERROR)?
 
mentorДата: Чт, 31.05.2012, 09:03 | Сообщение # 26
Лейтенант
Группа: Проверенные
Сообщений: 138
Репутация: 1
Статус: Offline
закрыли SYSPRINT по рекомендации форумчан. Как видите, ничего не изменилось.
ок, попробуем завтра без ON ERROR.
Но все это, скорее всего, как мертвому припарка.
Все равно нужно обрабатывать в программе ошибочные ситуации.
А где собака зарыта, неужели никто не знает?! :-(

Добавлено (31.05.2012, 09:03)
---------------------------------------------
Gregory, по Вашей рекомендации закрыли ON ERROR и прогнали в обеих системах.
Реакция систем несколько разная.
в MVS IEF142I K010108Q ST10 - STEP WAS EXECUTED - COND CODE 2000

в файле SYSPRINT:

IBM537I 'ONCODE'=8097 DATA EXCEPTION
IN STATEMENT 183 AT OFFSET +000340 IN PROCEDURE WITH ENTRY K0102A0

OS/390:

IEF472I K010108Q ST10 - COMPLETION CODE - SYSTEM=0C7 USER=0000 REASON=00000007

в файле SYSOUT:

********************************* TOP OF DATA **********************************
IBM0537S ONCODE=8097 Data exception
From compile unit K0102A0 at entry point K0102A0 at statement 183 at compile unit offset +00000342 at address
091005CA.

и гонит CEEDUMP.

прогресс налицо! :-)

коды несколько разные. Как сделать, чтоб с ON ERROR тоже ошибки выдавались?
Почему они перехватываются, кем и куда деваются?
c //SYSOUT DD SYSOUT=X прогоняли ранее.

 
GregoryДата: Чт, 31.05.2012, 11:22 | Сообщение # 27
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
Теперь можно считать достоверно установленным, что среда run-time разная и в OS/390 это явно LE. Почему при активном ON ERROR сообщения IBM0537S теряются, пока непонятно. По идее, они должны быть в SYSOUT DD. Предлагается для начала посмотреть LE run-time параметры:
//XXST10 EXEC PGM=K0102A02,PARM='/RPTOPTS(ON)'
активные параметры должны быть выведены в SYSOUT DD. Интересует прежде всего MSGFILE.
Кроме этого, я здесь вижу REGION=2048K, зачем это? Попробуйте указать REGION=0M

Остается непонятным также, как активировать старую среду для модуля, компилированного в MVS, почему STEPLIB недостаточно.
Quote
Akonev: Или тащить среду исполнения в каждую новую версию MVS/OS3890/zOS. Последнее проверено и работает для старого советского PL/I даже в последних версиях z/OS.

Возможно, Александр расскажет нам подробнее, как именно это достигается?


Сообщение отредактировал Gregory - Чт, 31.05.2012, 11:31
 
mentorДата: Чт, 31.05.2012, 13:11 | Сообщение # 28
Лейтенант
Группа: Проверенные
Сообщений: 138
Репутация: 1
Статус: Offline
Gregory, спасибо.
MSGFILE(SYSOUT,FBA,121,0,NOENQ)
 
GregoryДата: Чт, 31.05.2012, 13:32 | Сообщение # 29
Генерал-майор
Группа: Доверенные
Сообщений: 482
Репутация: 22
Статус: Offline
и что получилось? biggrin

вот это напоминает Вашу ситуацию: http://www.ibm.com/support/docview.wss?uid=isg1PN66399


Сообщение отредактировал Gregory - Чт, 31.05.2012, 13:54
 
mentorДата: Чт, 31.05.2012, 14:28 | Сообщение # 30
Лейтенант
Группа: Проверенные
Сообщений: 138
Репутация: 1
Статус: Offline
к сожалению параметр //XXST10 EXEC PGM=K0102A02,PARM='/RPTOPTS(ON)' не принимает, игнорирует.
Вы правы, похоже на то.


Сообщение отредактировал mentor - Чт, 31.05.2012, 16:13
 
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: