Простейшие вопросы по i5/OS.

Главная Форумы IBM i (OS/400) Простейшие вопросы по i5/OS.

  • В этой теме 19 ответов, 5 участников, последнее обновление 10 лет назад сделано pre.
Просмотр 19 веток ответов
  • Автор
    Сообщения
    • #9328
      Bioworm
      Участник

      В общем, недавно с i5 столкнулся. Качаю документацию с сайта IBM, читаю, и теоретически все возникнувшие вопросы должны со временем рассосаться, но на кое-что хотелось бы получить ответы прямо сейчас.

      Простейший вопрос: как сменить дефолтный принтер для моего аккаунта? В Display User Profile (DSPUSRPRF) я его вижу, а вот в Change Profile (CHGPRF) уже нет. Или там куда-то глубже лезть надо?

      В принципе, как что-то распечатать на определенном принтере, зная имя этого принтера, мне понятно. А вот где распечатывается контекстный хелп для i5/OS, я не знаю, — то есть, предполагаю, что все это идет на дефолтный принтер, но где он физически расположен, науке в моем лице неизвестно. Многие программы предоставляют возможность задержать печать, но в хелпе я такой возможности не нашел.

    • #9329
      Oldnick
      Участник

      первое что нужно знать. есть клавищи F10 и F9. их надо нажимать в окне ввода параметров в команде, при этом появятся доп. экраны с параметрами. chgusrprf тоже к этому относится.
      эти магические клавиши вы должны нажимать автоматом всегда, чтобы видеть все параметры.

      Дефолтный принтер определяется в системных переменных. как правило это PRT01, но его как правило нет, точнее его никто не создает, но создать его надо, чтобы была такая очередь.
      не помешает также набрать команду wrkoutq и посмотреть какие у вас очереди.
      и wrkwtr (work with Writer) – смотреть какие у вас принтеры в системе есть.

      печатать контекстный хелп из OS/400 смысла большого нет, сейчас все это есть в интернете в html и pdf. (я лет 15 назад такое делал, но сейчас нет смысла).
      Есть смысл его только смотреть с экрана, чтобы быстро понять смысл того или иного параметра или команды.

      у вас русский интерфейс в OS/400 ? иногда русский в хелпе помогает чтобы понять суть.

      ну а вообще практика, когда вывод спула сразу выходит на печать, это не правильно.
      так у вас никакой бумаги не хватит, ни тонера, ни ресурса принтера.
      печатают обычно в ручную, но свои спульники лучше держать в отдельной своей очереди.

      p.s.
      контекстный хелп печатается также как все остальное. сначала формируется спульник, далее его печатаете на конкретный принтер. вы же это умеете делать. что вам не понятно?

    • #9334
      ras22
      Участник

      wrksplf – работа со спул-файлами.
      Но дефотлтный спульник действительно лучше на принтерне выводить – когда job завершается – вывод идет как раз в спул.

    • #9409
      Bioworm
      Участник

      Спасибо за ответы.

      А могу ли я изменить спул-файл? То есть, скажем, есть у меня программа, которая генерирует и печатает некий отчет. В настройках ее можно установить, чтоб отчет не шел сразу на печать, а получал атрибут hold. Можно ли написать CL программу или скрипт для qshell для автоматического редактирования этого отчета? А то совсем не весело печатать сотню страниц ненужной информации или скачивать его через Navigator и разбираться у себя на компе.

      Как редактировать текстовые файлы с помощью shell или cmd скриптов, я представляю отлично. В qshell, правда, смущает отсутствие перенаправления вывода в файл.

      И если кто знает, как это сделать — можно простой пример? Скажем, найти в файле строчку, содержащую слово “TEST” и удалить ее. Или хотя бы просто идею и команды подскажите, я документацию на них сам почитаю.

    • #9410
      Sever
      Участник

      i5/OS позволяет выполнять только те действия над объектами, которые энкапсулированы в его свойства. Прямое редактирование спулфайла нереализуемо.
      В экстренных случаях, когда возникает в этом потребность, можно использовать такую цепочку действий:
      1. Копирование спулфайла в физический файл (pf-dta) без потери упрявляющих символов печати.
      2. Копирование физического файла (pf-dta) в файл исходных текстов(pf-src)
      3. Редактирование pf-src.
      4. Обратное преобразовае текста в новый спулфайл.

    • #9411
      Bioworm
      Участник

      sever писал(а):

      i5/OS позволяет выполнять только те действия над объектами, которые энкапсулированы в его свойства. Прямое редактирование спулфайла нереализуемо.
      В экстренных случаях, когда возникает в этом потребность, можно использовать такую цепочку действий:
      1. Копирование спулфайла в физический файл (pf-dta) без потери упрявляющих символов печати.
      2. Копирование физического файла (pf-dta) в файл исходных текстов(pf-src)
      3. Редактирование pf-src.
      4. Обратное преобразовае текста в [b]новый[/b] спулфайл.

      Ага, спасибо. Понимаю теперь, почему у меня прямо скопировать в pf-src не получилось.

      А можно подробнее про пункт три? Как это автоматизировать? У редактора SEU, как я понимаю, скриптового режима (как у sed или ex) нет. Управляющих символов печати, кстати, при просмотре спул-файла отчета не видел – просто plain text, так что тут проблем быть не должно.

    • #9414
      Sever
      Участник

      Пункт три (работа в редакторе) подразумевает ручную корректировку.
      Если вы хотити автоматизированную обработку, то этот пункт лишний.
      Для программной обработки достаточно иметь файл pf-dta и программу, которая реализует необходимый алгоритм.

      Непонятно ваше желание тратить на это время. Данные действия подразумевают нелегитимное изменение результатов отчетов, это “плохо пахнет”. Если есть потребность изменения данных, то обычно корректируют исходные данные, а не полученные по ним отчеты…

    • #9416
      Bioworm
      Участник

      sever писал(а):

      Пункт три (работа в редакторе) подразумевает ручную корректировку.
      Если вы хотити автоматизированную обработку, то этот пункт лишний.
      Для программной обработки достаточно иметь файл pf-dta и программу, которая реализует необходимый алгоритм.

      Непонятно ваше желание тратить на это время. Данные действия подразумевают нелегитимное изменение результатов отчетов, это “плохо пахнет”. Если есть потребность изменения данных, то обычно корректируют исходные данные, а не полученные по ним отчеты…

      Поясняю ситуацию. “Отчет” это переведенное мною на русский слово “report”. На самом деле это список продукта на складе, и локаций, в которых этот продукт лежит. Идет этот отчет в мой спул, распечатывается на моем принтере, и используется тоже мной. Используется он для того, чтоб перемещать продукт между локациями. Проблема в том, что программа, которая составляет этот отчет, не умеет работать с диапазоном локаций, поэтому практически всегда приходится придерживать его печать, скачивать с помощью iSeries Navigator текстовый файл к себе на компьютер, сортировать и удалять лишнее. Я написал cmd скрипт для этого, но он не может за меня подконнектиться к iSeries и скачать оттуда этот отчет. Поэтому мне было хотелось знать способ, как это делать прямо на сервере.

      И еще очень бы хотелось не получать ответов вроде “достаточно иметь файл pf-dta и программу, которая реализует необходимый алгоритм”. Если не хотите отвечать, просто не отвечайте. А то уже до чего дошло – “нелигитимное изменение результатов отчета”, надо же.

    • #9422
      Sever
      Участник

      2bioworm
      Поймите меня правильно – платформа обычно используется в финансовой сфере и термин “редактирование спулфайлов” у меня всегда ассоциировался с корректировкой финансовых документов.

      В вашем случае вы хотите добавить дополнительную обработку результатов ваших стандартных отчетов для приведения их к нужному вам виду. Если ваши стандартные репорты имеют фиксированный колоночный формат, то можно использовать специальный лицензионный продукт 5761QU1 IBM Query для i5/OS, который вполне годится и обладает всеми необходимыми инструментами для создания произвольных отчетов в терминальном режиме. Наберите в терминале команду WRKQRY. Если такая команда есть, то это значит, что это ПО у вас установлено

    • #9427
      Bioworm
      Участник

      sever писал(а):

      2bioworm
      Поймите меня правильно – платформа обычно используется в финансовой сфере и термин “редактирование спулфайлов” у меня всегда ассоциировался с корректировкой финансовых документов.

      Понимаю. К счастью, в моем случае все не так серьезно.

      sever писал(а):

      В вашем случае вы хотите добавить дополнительную обработку результатов ваших стандартных отчетов для приведения их к нужному вам виду. Если ваши стандартные репорты имеют фиксированный колоночный формат, то можно использовать специальный лицензионный продукт [b]5761QU1 IBM Query для i5/OS[/b], который вполне годится и обладает всеми необходимыми инструментами для создания произвольных отчетов в терминальном режиме. Наберите в терминале команду WRKQRY. Если такая команда есть, то это значит, что это ПО у вас установлено

      Да, мой отчет – это текст с колонками фиксированной длины (как DBF файл в среде MS-DOS). Команда WRKQRY есть. Спасибо за подсказку, буду читать документацию. Кажется, алгоритм действий себе уже примерно представляю.

    • #9429
      Oldnick
      Участник

      и какой алгоритм?

    • #9439
      Bioworm
      Участник

      oldnick1971 писал(а):

      и какой алгоритм?

      Простите, вы спрашиваете потому, что знаете ответ, но хотите послушать мои соображения?

    • #9440
      Oldnick
      Участник

      мы хотим проверить ваш вариант, не более того.

    • #9444
      Bioworm
      Участник

      oldnick1971 писал(а):

      мы хотим проверить ваш вариант, не более того.

      Про “алгоритм” я не совсем верно выразился. Просто понял, в какую сторону надо копать. В библиотеке, где хранятся программы управления складом, я обнаружил файл QCLSRC, немаленького размера. Пока еще не смотрел, что там внутри, но попробую найти там исходник программы, генерирующей мой отчет, и посмотрю, какой query она запускает. Если удастся найти, узнаю имя файла базы данных и имена полей, а значит, смогу создать свой query, который будет сортировать данные по нужному мне полю и выводить только нужную мне информацию. Если не найду ничего в том QCLSRC, возможно, найду способ сконвертировать спул-файл своего отчета в свою, отдельную базу данных в моей библиотеке, и опять же, создам query.

      Думается мне, не стоит в базу данных ничего писать в обход пути, который придумал разработчик. А вот читать – почему бы нет? Во вторник вечером посмотрю, что там.

      А пока – очередной вопрос. Почитал тут TexAS400 Tutorial, там первым делом написано, что в настройках PDM надо изменить пункт “Compile in batch” на “N”. Почему? Автор ничего не поясняет по этому поводу.

    • #9445
      Oldnick
      Участник

      так вы свое приложение “Склад” напишите с помощью Query 🙂
      в любом случае это вам не помешает, приобретете опыт построения запросов и отчетов с помощью этого продукта.
      если не секрет, что за складской продукт у вас стоит? кто разработчик?

      компиллировать исходники можно интерактивно или в пакетном режиме. это актуально в том числе и в PDM.
      в первом случае результат сразу увидите, во втором надо смотреть очередь сообщений и понять создался ли объект, если нет, то идти и смотреть в спульнике почему не создался.
      попробуйте оба варианта. какой вам понравится, таким и пользуйтесь.

    • #9448
      Bioworm
      Участник

      oldnick1971 писал(а):

      так вы свое приложение “Склад” напишите с помощью Query 🙂
      в любом случае это вам не помешает, приобретете опыт построения запросов и отчетов с помощью этого продукта.
      если не секрет, что за складской продукт у вас стоит? кто разработчик?

      Я работаю в одной очень большой компании. Складское ПО, использующееся тут, разрабатывается и поддерживается ею же, у них даже есть свой отдел и линия техподдержки. Другое дело, что люди, этим занимающиеся, о том, что происходит на складе, знают, видимо, только в теории. Да что там говорить – в некоторых случаях мне приходилось писать скрипты на VBS для iSeries Access (считать информацию с терминала, на основании ее анализа эмулировать нажатия нужных кнопок), ибо складское ПО просто не позволяло мне сделать то, что мне хотелось. Например, нужно убрать на складе стеллаж с продуктом, освободить место. А складское ПО позволяет перемещать продукт из локации в локацию только по одному за раз. Учитывая, что на самом маленьком стеллаже 336 локаций, это работа на несколько часов. Ну, или можно поступить, как я – написать скрипт. А по хорошему, само складское ПО должно давать возможность сделать это.

    • #9449
      Oldnick
      Участник

      в таком случае не понятно, почему складкое ПО разработано для этой платформы. почему не 1С ? 🙂

    • #9450
      Bioworm
      Участник

      oldnick1971 писал(а):

      в таком случае не понятно, почему складкое ПО разработано для этой платформы. почему не 1С ? 🙂

      Хороший вопрос. Я думаю, дело в том, что в 1С в США не очень популярен.

      Если вам в общем интересен взгляд человека со стороны, могу описать свои впечатления от iSeries в одной отдельно взятой компании и как я вообще этим заинтересовался.

    • #9451
      Sever
      Участник

      Компанию знаю. У них большая система на этой платформе.

      Bioworm писал(а):

      Если вам в общем интересен взгляд человека со стороны, могу описать свои впечатления от iSeries в одной отдельно взятой компании и как я вообще этим заинтересовался.

      Было бы интересно послушать…

    • #9477
      pre
      Участник

      приходится придерживать его печать, скачивать с помощью iSeries Navigator текстовый файл к себе на компьютер, сортировать и удалять лишнее. Я написал cmd скрипт для этого, но он не может за меня подконнектиться к iSeries и скачать оттуда этот отчет

      Можно не скачивать, а “печатать” в текст средствами того же терминал эмулятора.
      Для этого в Session Manager (IBM System i Access for Windows / Emulator / Start or Configure Session) выбираем “New Session”, выбираем систему, желаемое название, и указываем что сессия будет принтерная. Запустив сессию настраиваем свойстра принтера, а конкретно выбираем “Print to Disk – Separate”. В указанной папке по мере печати будут появляться текстовые файлы. Содержание папки можно мониторить и обрабатывать уже средствами windows.

      Сами с принтерными сессиями не связываемся, но описанный сценарий я только что проверил.

Просмотр 19 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.