Сб, 21.05.2022, 19:31
Приветствую Вас Гость | RSS
Главная | Куча вопросов от новичка. - Страница 8 - Форум | Регистрация | Вход
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Технические форумы » Hercules » Куча вопросов от новичка.
Куча вопросов от новичка.
BibizyanДата: Пн, 06.01.2020, 20:41 | Сообщение # 106
Подполковник
Группа: Проверенные
Сообщений: 114
Репутация: 0
Статус: Offline
Цитата alex654 ()
На нем только пэйрол и писать
Апликативная часть - PL/I. Доступ к системным функциям, недоступным в LE, рутины различные, и собственная база данных на VSAMовских файлах (включая шифрование) - ассемблер.
 
alex654Дата: Вт, 07.01.2020, 01:51 | Сообщение # 107
Подполковник
Группа: Проверенные
Сообщений: 112
Репутация: 0
Статус: Offline
Ну так вот  то-то и оно. Пока вы пилите шифрование в своей кастомной БД, оно давно присутствует в большинстве современных БД из коробки. И, естественно, криптоалгоритмы поддерживаются у всех современных процессорных архитектур. Доступ к системным функциям из PL/I через роутины на автокоде - это не анахронизм?
Но легких путей мы не ищем.
Когда для миграции пэйрола разбор начинается с поиска монстрообразного сервера на i64 с похожими на мэйнфрейм характеристиками, у меня только один вопрос: где ваш архитектор? Или решают все админы мэйнфрейма?

Пэйрол - это задача из OLAP. Она отлично горизонтально масштабируется и решается на кластере из типовых серверов. 
Как я уже говорил, надо просто определить ваши требования и дать любому из присутствующих на рынке постащиков. Они вам ответят необходимой конфигурацией. Уверяю, никакой суперкомпьютер строить не придется :-).
 
BibizyanДата: Вт, 07.01.2020, 12:08 | Сообщение # 108
Подполковник
Группа: Проверенные
Сообщений: 114
Репутация: 0
Статус: Offline
Вот когда вы сможете давать такие же производительность и функциональность своими БД из коробки, которые даём мы - тогда и поговорим. На данный момент, для наших целей, тот же DB2 требует на порядок больше ресурсов и делает ту же работу на порядок дольше, требуя серьёзного знания SQL для получения того, что мы даём очень простым интерфейсом.

Когда Microfocus изучили наши системы в контексте перевода с майнфрейма, они выдвинули два условия - бабло(немалые), и мы обязаны переписать кучу нашего функционала, потому что имеющийся они перевести не могут. Предложенное нам решение от Attunity было ещё более убогим и несерьёзным (но не менее дорогим). И это при том, что у нас не сверх-навороченная система. Когда требования одной из контор, в которой я работал, были чётко сформулированы не только любому, но всем присутствующим на рынке поставщикам подобных услуг (а у нас проблем типа санкций нету, так что речь фактически о всех серьёзных мировых поставщиках/производителях), то только один проиявил заинтересованность написать подобное. Начальная минимальная сумма для разработки, которая была озвучена - миллиард баксов. И все права на созданное (на базе того, что разрабатывалось в той конторе многим годами). И минимум пять лет. Все остальные даже не брались.

Вы забываете, что тут сидят не лохи, которым вы впариваете свои решения, убеждая, что мейнфрем это пассе, и которые понимают во всём этом, как свиньи в апельсинах. Я знаю не один пример того, как разные фирмы у "слезали" с мейнфреймов на другие платформы, наслушавшись умников, вроде вас, впаривающих свою лажу. И не знаю ни одного примера успешного перехода - в итоге все случаи приводили к финансовым убыткам, к потере возможностей и знаний, снижению уровня услуг. Последние проблемы обычно затыкаются с помощью увеличения первой. Примерно через год после перехода текущие расходы всегда превышали те, которые были необходимы до того. Плюс к этому огромные одноразовые расходы на сам переход. Плюс большинство этих контор всё равно были вынуждены оставить мейнфрейм (в "замороженном" состоянии).
 
alex654Дата: Вт, 07.01.2020, 12:26 | Сообщение # 109
Подполковник
Группа: Проверенные
Сообщений: 112
Репутация: 0
Статус: Offline
Да я никому ничего не впариваю, успокойтесь. У меня полно своей работы.
Я просто делаю проекты по миграции с i. Вы говорили про пэйрол. Вот эта типичная задача. И я такие проекты успешно мигрировал. 
Из недавнего - благополнучно переехали в SAP/ODBEE/RHEL/VMWare/amd64.
Вы просто очевидно не архитектор и не компетентны в вопросе. 
Я знаю задачи которые трудно переводить с мэйнфреймов. Но пэйрол ... Не смешите мои тапки.
 
BibizyanДата: Вт, 07.01.2020, 18:03 | Сообщение # 110
Подполковник
Группа: Проверенные
Сообщений: 114
Репутация: 0
Статус: Offline
Цитата alex654 ()
Я знаю задачи которые трудно переводить с мэйнфреймов. Но пэйрол ... Не смешите мои тапки.
Это говорит только о том, что вы сталкивались искоючительно с тривиальными системами. Ну или вы круче всех на свете, раз то, от чего отказались фактически все серьёзные фирмы, разрабатывающие соответствующие системы, для вас - тапочкам на смех. СА лярд, пять лет и в обязательном порядке все права требовали. А вы - в одно рыло, пачками, пивко попивая!.. Феномен! Гений! Брин и Кум нервно курят в сторонке, глядя на вас!
Но что-то мне нашептывает, что скорее уж вы просто не понимаете, о каких системах идёт речь. Мои кроксы с удовольствием поржали бы, наблюдая, как вы упомянутую систему мигрировали бы, с сохранением всей функциональности. Помню, пришёл один такой умник, вроде вас - пальцы веером, у меня опыта по таким переходам, как волос у Анжелы Девис... Ему одну, самую простую функцию подкинули, чтобы продемонстрировал, как он с этим справится. Через три недели мы его не видели и не слышали...
 
ShigureДата: Пн, 23.11.2020, 19:42 | Сообщение # 111
Сержант
Группа: Проверенные
Сообщений: 22
Репутация: 0
Статус: Offline
Не подскажете как заставить эмулятор терминала понимать русские буквы в СВМ 4.10 при запуске ее в Геркулесе?
Я использую программу wc3270

http://ipic.su/img/img7/fs/cbm2.1606149332.jpg

Насколько я правильно понимаю, зарубежный эмулятор терминала просто не знаком с кодировкой русских букв?
И если я использую реальный "железный" советский терминал, где аппаратный знакогенератор изначально поддерживает кодировку, они отобразятся сразу нормально?
 
GregoryДата: Вт, 24.11.2020, 18:22 | Сообщение # 112
Генерал-майор
Группа: Доверенные
Сообщений: 443
Репутация: 17
Статус: Offline
Цитата Shigure ()
Я использую программу wc3270

wc3270.exe -localcp 1251 -charset cp880 host
Прикрепления: 4006446.png(16.2 Kb)


Сообщение отредактировал Gregory - Вт, 24.11.2020, 18:57
 
ShigureДата: Ср, 25.11.2020, 17:59 | Сообщение # 113
Сержант
Группа: Проверенные
Сообщений: 22
Репутация: 0
Статус: Offline
Цитата Gregory ()
wc3270.exe -localcp 1251 -charset cp880 host

Спасибо!
 
LionLexXxДата: Пн, 13.09.2021, 10:18 | Сообщение # 114
Лейтенант
Группа: Проверенные
Сообщений: 50
Репутация: 1
Статус: Offline
Добрый день!
Подскажите как отправить команду через Http сервер в Геркулес, отключить-подключить ридер.

Дело в том, что по не понятной для меня причине, периодически зависает ридер в геркулесе, и после этого находится в состоянии занят.

Через Http сервер можно посмотреть статус устройства http://ххх.ххх.ххх.ххх:8081/cgi-bin/debug/device/list
Вручную на HTTP сервере можно вводить команды, отключить-подключить устройство и др. 
Но как сделать это удаленно? например из другой системы? или это возможно сделать как-то через linux в которой установлен геркулес?
например надо отключить-подключить:
detach 0001
attach 0001 3505 ххх.ххх.ххх.ххх:3505 sockdev ascii trunc eof

Подскажите пожалуйста! 
Заранее благодарю!
 
GregoryДата: Вт, 14.09.2021, 23:33 | Сообщение # 115
Генерал-майор
Группа: Доверенные
Сообщений: 443
Репутация: 17
Статус: Offline
Добрый вечер,

можно использовать традиционный способ имитации интерактивной сессии броузера:
curl.exe -o "output.txt" -u hercules:password -d "@detach.txt" http://localhost:8080/cgi-bin/tasks/syslog
где файл detach.txt содержит:
command=detach%20AAA
т.е. выполняемая команда здесь detach AAA
http://localhost:8080/cgi-bin/tasks/syslog предполагает, что это та же машина.
curl поддерживается всюду, так что запрос может быть отправлен хоть с мобильного телефона.

Альтернативно:
1. выполнить задание с PGM=HOSTCMD через FTP (https://www.cbttape.org/cbtdowns.htm File 845)
2. выполнить команду используя HAO (если возможно "привязаться" к какому-то сообщению)

Ну и, наконец, выяснить причину зависания и устранить ее))


Сообщение отредактировал Gregory - Чт, 16.09.2021, 00:28
 
GregoryДата: Вт, 14.09.2021, 23:49 | Сообщение # 116
Генерал-майор
Группа: Доверенные
Сообщений: 443
Репутация: 17
Статус: Offline
покурил и решил, что нужно прокомментировать написанное выше). Чтобы написать требуемый запрос, открываем исходный текст страницы hercules hhtp (в данном случае http://localhost:8080) и рассматриваем ее:
- видим там фреймы. отсюда URL http://localhost:8080/cgi-bin/tasks/syslog
- видим там форму, отсюда command=detach%20aaa (URL encoded), command - имя поля формы
вообще, используя программу типа curl и какой-нибудь скриптовый язык, можно имитировать практически любой интерактивный сеанс броузера, хоть иногда это и не так просто
 
LionLexXxДата: Ср, 15.09.2021, 08:57 | Сообщение # 117
Лейтенант
Группа: Проверенные
Сообщений: 50
Репутация: 1
Статус: Offline
Цитата Gregory ()
можно использовать традиционный способ имитации интерактивной сессии броузера:curl.exe -o "output.txt" -u hercules:password -d "@detach.txt" http://localhost:8080/cgi-bin/tasks/syslog
где файл detach.txt содержит:
command=detach%20AAA
т.е. выполняемая команда здесь detach AAA
http://localhost:8080/cgi-bin/tasks/syslog предполагает, что это та же машина.
curl поддерживается всюду, так что запрос может быть отправлен хоть с мобильного телефона.

Спасибо большое!

С помощью CURL всё работает, подключает-отключает.

Цитата Gregory ()
Ну и, наконец, выяснить причину зависания и устранить ее))

Не знаю как выяснить, могу предположить, что если в один момент отправить в геркулес на ридер сразу несколько файлов-заданий, и если геркулес не успел принять первый файл, а ему уже пришел второй, то в этом случае не знаю как поведет себя геркулес, может причина в этом. Если причина в этом, то выход не отправлять одновременно несколько заданий, а отправлять с промежутком времени. Надо будет попробовать поиграться на тестовом сервере.
 
GregoryДата: Ср, 15.09.2021, 20:17 | Сообщение # 118
Генерал-майор
Группа: Доверенные
Сообщений: 443
Репутация: 17
Статус: Offline
По поводу "зависания" ридера нужно больше информации:
- выдаются ли какие-то сообщения об ошибке устройства? если да, то какие именно?
- какой статус у устройства в системе при этом? (если это z/OS то D U,,,0001,1)

detach/attach это эквивалент следующего: "это устройство сломалось, принесите новое". м.б. все же можно имеющееся привести в чувство?
- что происходит после V 0001,ONLINE в z/OS?
- что происходит после DEVINIT 0001 в Hercules?

и вот еще что - устройство 0001 как-то описано в IODF (опять же, предполагаю, что guest у Вас z/OS)?


Сообщение отредактировал Gregory - Ср, 15.09.2021, 20:19
 
LionLexXxДата: Вт, 21.09.2021, 09:45 | Сообщение # 119
Лейтенант
Группа: Проверенные
Сообщений: 50
Репутация: 1
Статус: Offline
Цитата Gregory ()
- какой статус у устройства в системе при этом? (если это z/OS то D U,,,0001,1)
У нас система СВМ 4.13

В Геркулесе при зависании светится зелёным, в обычном рабочем состоянии светится серым


Подобное зависание происходит, если в 1С при записи файла-задания не указана кодировка ANSI, в таком случае программа HercRDR не может определить кодировку и пытается  подставить кодировку EBCDIC.

В системе СВМ можно посмотреть статус устройства командой "Q V UR"


Видно состояние READY

Далее отправляем файл с заданием с кодировкой Юникод

на веб-сервере статус поменялся с незаполненного на "open"


При обычном отправлении задания в логе видно, что происходит сначала "Connected" потом Disconnected, а при неправильном файле происходит только Connected.


В системе СВМ при вводе комманды "Q V UR", статус ридера не меняется, также и остался "READY"


Пытаемся отправить файл с кодировкой ANSI. На веб сервере лог:
Код
HHCSD016E Client <namePC> (10.2.66.31) connection to device 0001 (10.2.199.9:3505) rejected: client <namePC> (10.2.66.31) still connected

Далее на Веб-сервере ввожу команду "detach 0001'


Далее на Веб-сервере ввожу команду "attach 0001 3505 10.2.199.9:3505 sockdev ascii trunc eof"
Код
attach 0001 3505 10.2.199.9:3505 sockdev ascii trunc eof
HHCSD007I Device 0001 unbound from socket 10.2.199.9:3505
HHCSD022I Socketdevice listener thread terminated
HHCSD004I Device 0001 bound to socket 10.2.199.9:3505
HHCSD020I Socketdevice listener thread started: tid=7FB9CC1D0700, pid=12583

Ридер появляется в списке устройств.
Отправляю тестовое задание для проверки "HercRdr.exe 10.2.199.9:3505 C:\1\JOB_HELLO.TXT" , файл в кодировке ANSI
JOB_HELLO.TXT
Код
ID BATCH
/*
/JOB OPERATOR 61000630 HELLO
CP M BMAVAS01 HELLO

/*

На веб сервере лог:
Код
HHCSD018I Client <namePC> (10.2.66.31) connected to device 0001 (10.2.199.9:3505)
HHCRD012I 10.2.66.31 (<namePC>) disconnected from device 0001 (10.2.199.9:3505)

Файл задания прошел через Геркулес и задание выполнилось на СВМ.

Цитата Gregory ()
и вот еще что - устройство 0001 как-то описано в IODF (опять же, предполагаю, что guest у Вас z/OS)?
У нас СВМ 4.13. В файле конфигурации "hercules.cnf" на сервере он описан, как "0001 3505 10.2.199.9:3505 sockdev ascii trunc eof"

на ВМ системного программиста SYSPRG файл:
DMKRIO   ASSEMBLE
Код
DMKRIO   CSECT                    
         COPY OPTIONS                    
         [b]RDEVICE ADDRESS=(000,4),DEVTYPE=6012[/b]                    
         RDEVICE ADDRESS=(240,8),DEVTYPE=3278                    
         RDEVICE ADDRESS=(30A,2),DEVTYPE=7036,CLASS=(S,A,D,T)    
         RDEVICE ADDRESS=(30E,2),DEVTYPE=7040,CLASS=(S,A,D,T)    
         RDEVICE ADDRESS=(500,2),DEVTYPE=CTCA                    
         RDEVICE ADDRESS=(1A0,32),DEVTYPE=3380                   
         [b]RCTLUNIT ADDRESS=000,CUTYPE=6012[/b]                        
         RCTLUNIT ADDRESS=240,CUTYPE=3278                        
         RCTLUNIT ADDRESS=308,CUTYPE=7031                        
         RCTLUNIT ADDRESS=500,CUTYPE=CTCA                        
         RCTLUNIT ADDRESS=1A0,CUTYPE=3880,FEATURE=32-DEVICE      
         RCHANNEL ADDRESS=0,CHTYPE=MULTIPLEXOR                   
         RCHANNEL ADDRESS=1,CHTYPE=BLKMPXR                       
         RCHANNEL ADDRESS=2,CHTYPE=BLKMPXR                       
         RCHANNEL ADDRESS=3,CHTYPE=BLKMPXR                       
         RCHANNEL ADDRESS=5,CHTYPE=BLKMPXR                       
         RIOGEN   CONS=240,ALTCONS=(241,000,001)                 
         END

RDEVICE ADDRESS=(000,4),DEVTYPE=6012
RCTLUNIT ADDRESS=000,CUTYPE=6012

для запуска ридера при запуске системы необходимо что бы выполнилась команда "STA 001"
Прикрепления: 4457954.jpg(109.1 Kb) · 2167127.jpg(12.4 Kb) · 6463727.jpg(9.8 Kb) · 7084378.jpg(29.9 Kb) · 2741452.jpg(14.9 Kb)


Сообщение отредактировал LionLexXx - Вт, 21.09.2021, 10:03
 
GregoryДата: Вт, 21.09.2021, 21:30 | Сообщение # 120
Генерал-майор
Группа: Доверенные
Сообщений: 443
Репутация: 17
Статус: Offline
Добрый вечер.

Цитата
У нас система СВМ 4.13
Понятно, я отвечал предполагая, что у Вас z/OS. Отлично, Вы всю нужную информацию привели.

Цитата
Подобное зависание происходит, если в 1С при записи файла-задания не указана
кодировка ANSI, в таком случае программа HercRDR не может определить
кодировку и пытается  подставить кодировку EBCDIC.
насколько я понял, анализируется первые 160 байт, и если там только символы с кодами x'20' - x'7f', а также CR, LF то подразумевается, что файл в ASCII. Хотел бы отметить, что ASCII, EBCDIC и особенно UNICODE это несколько неточно. Под ASCII и EBCDIC следует понимать конкретные кодовые страницы, определенные в инструкции CODEPAGE конфигурационного файла hercules. По умолчанию там подразумевается 819/1047 т.е. Latin1/Open system latin1, и кириллицы там нет. Что касается UNICODE, то это общее название для совершенно разных систем кодировок - UTF8 (переменная длина кода для символа), UCS-2 (2 байта) и т.д. но это в данном случае неважно, какой именно там у Вас UNICODE,  я понимаю что Вы таким образом просто отправляете некорректный файл. По идее, такие же проблемы вызовет и кириллица в тексте (т.е. файл в кодировке 1251) но это надо бы проверить.

Цитата
В системе СВМ можно посмотреть статус устройства командой "Q V UR"
Это Вы статус виртуального устройства смотрите, а в данном случае интересен статус "реального", т.е. Q 0001

Посмотрите, что происходит если после ошибки выполнить в VM команды VARY OFF 0001 / VARY ON 0001
А вообще, как я понимаю, основную причину Вы сами нашли - некорректные символы)
Для большей чистоты экспериментов я бы вместо hercrdr использовал netcat

Код
nc -N 127.0.0.1 3505 < файл.jcl
так как неизвестно, как именно hercrdr обрабатывает файл, а netcat совершенно точно ничего с ним не делает и передает все так, как есть, без каких-либо преобразований.

BTW. Я тут еще обнаружил программу sysrdr - gui эквивалент hercrdr) могу выложить, если хотите)
 
Форум » Технические форумы » Hercules » Куча вопросов от новичка.
Поиск: