среда, 23 августа 2023 г.

Как получить PID и Thread сессии.

Нашел на просторах интернета (https://thesiebelscholar.blogspot.com/) пример скрипта по получению PID и Thread Id

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

 

пятница, 27 сентября 2019 г.

Порядок срабатывания событий в Siebel

Дошли руки выложить известную всем информацию о порядке вызова событий.

Как запретить в OpenUI пользователю отключать сообщения об ошибках

Как только появился OpenUI, в некоторых браузерах появилась возможность отключить вывод ошибок. Это приводило к тому что пользователь мог просто установить галочку, "Заппретить этому сайту выводить сообщения". В этом случае окна с ошибками более не выводились, от слова "совсем".
Выглядело это так:






Соответственно требовалось убрать эту галочку.

Чтобы это сделать, нужно в коде OpenUI переопределить метод alert следующим образом:

function alert(str){
  $("<div id='my_error'>" + str + "</div>").dialog({
        title: "Внимание",
        modal: true,
        buttons: [{ id: "btn-accept",
        text: "Ok", click: function () { $(this).dialog("close");
        }}]
    });
}
В этом случае, когда OpenUI попытается вывести ошибку он обратиться к этому переопределению и будет выведено модальное окно без возможности отключения.
Выглядит окно примерно так:




Использование Sleep в Siebel

Иногда требуется во время процесса сделать его приостановку на некоторое время.
Стандартный метод Sleep на бизнес-сервисе Workflow Utilities работает не совсем так, как мы ожидаем, т.е. при его вызове никакого ожидания не происходит. Ниже я перечислю несколько способов сделать Sleep, некоторые простые, некоторые необычные.


Часто используемые команды srvrmgr

Эта запись, как напоминалка. Некоторые команды srvrmgr используются нечасто, поэтому лучше всегда иметь шпаргалку под рукой.
Ниже приведён перечень таких команд:


Как быстро найти нужный лог в папке с логами.


Очень часто возникает ситуация, что нужно получить от заказчика файл с логом, при этом заказчик не понимает, какой именно файл вам нужен.

понедельник, 2 июля 2018 г.

Преобразование даты в XML формат.

Очень часто требуется преобразовать дату в формат XML (YYYY-MM-DD HH24:MI:SS)

Есть несколько способов это сделать:
  • Использовать выражение(Expression) для преобразования.
    Плюсы:
    - при использовании мэппинга(DTE) не возникает ошибка преобразования дат ()
    Минусы:
    - нужно использовать мэппинг(DTE).
    - человеческий фактор, при добавлении новых полей с датой, необходимо помнить о необходимости их преобразования.
    Пример выражения.
    Right([Date of Birth], 4) + "-" + Left([Date of Birth], 2) + "-" + Mid([Date of Birth], 4, 2)
  • Использовать входной аргумент "UTCCanonical" при вызове сервиса EAI Siebel Adapter
    Плюсы:
    - Автоматическое преобразование формата для всех полей с типом дата.
    - Не требуется мэппинг данных (DTE)
    Минусы:
    - При использовании мэппинга, в случае если будет происходить мэппинг из полученного таким образом компонента, поля с датами будут иметь не корректные значения.
    (Doc ID 1073574.1)
    (Doc ID 1258715.1)

Пример преобразования дат при использовании UTCCanonical
Тип данных на поле в IC UTCCanonical=N UTCCanonical=Y
DTYPE_UTCDATETIME 05/31/2018 12:41:19 2018-05-31T12:41:19Z
DTYPE_DATETIME 05/31/2018 12:41:19 2018-05-31 12:41:19
DTYPE_DATE 05/31/2018 2018-05-31