“Тип” сервера?

Главная Форумы IBM i (OS/400) “Тип” сервера?

Просмотр 5 веток ответов
  • Автор
    Сообщения
    • #3234
      Sever
      Участник

      Каким образом можно программно определить тип сервера (9406, 9117, 9119, 8203 …) ?
      С моделью проблем нет – выбирается из системной переменной QMODEL, а вот тип сервера меня поставил в тупик :blush:

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

      мне кажется, что никак. это маркетинговый идентификатор. то есть, для i5/OS без разницы: 9406 или 9405, для него это одно и тоже, точнее операционка не знает про это. Но для маркетинга (конфигуратора, ценовой политики, апгрейда) имеет значение.

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

      ОС знает. Это видно в SST. Тип-модель выходит в выходной файл как результат DSPHDWRSC.
      Как бы это вытащить через API ?

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

      Пришлось полазить по документации. Все оказалось элементарно. Имя API – QGYRHRL,
      пример кода для CL :

      RTVTM: PGM
      /*RTV TYPE & MODEL*/
      DCL VAR(&RESULT) TYPE(*CHAR) LEN(8)
      DCL VAR(&L) TYPE(*CHAR) LEN(4) VALUE(X’00000100′)
      DCL VAR(&BUFFER) TYPE(*CHAR) LEN(256)
      DCL VAR(&FORMAT) TYPE(*CHAR) LEN(8) +
      VALUE(‘RHRL0100′)
      DCL VAR(&ERRCODE) TYPE(*CHAR) LEN(200)
      DCL VAR(&NULL) TYPE(*CHAR) LEN(4) +
      VALUE(X’00000000’)
      MONMSG MSGID(CPF0000 MCH0000)
      CHGVAR VAR(&RESULT) VALUE(‘????-???’)
      CALL PGM(QGYRHRL) PARM(&BUFFER &L &FORMAT +
      X’00000004′ &ERRCODE)
      IF COND(%SST(&ERRCODE 5 4) *EQ &NULL) THEN(DO)
      CHGVAR VAR(&RESULT) VALUE(%SST(&BUFFER 39 4) *CAT +
      ‘-‘ *CAT %SST(&BUFFER 43 3))
      ENDDO
      /* ELSE CMD(DMPCLPGM) */
      SNDPGMMSG MSG(&RESULT)
      ENDPGM

      проверено на всех известных уровнях OC начиная с 5.2.
      &RESULT можно вынести в параметры и использовать код как процедуру.

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

      а что еще интересного есть в &BUFFER ? неужели только &тип?

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

      http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/apis/qgyrhrl.htm

      в данном случае делается запрос процессорных ресурсов сервера. Параметры так подобраны, что система возвращает толь один элемент из списка – инфу об CEC01 (центральный процессорный блок)

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