Заказы на покупку APPR Maximo 7.6 через интеграцию

У нас есть интеграция, где ПО будет создаваться во внешнем приложении и потом будет сопрягаться с Максимо. Заказы на покупку, которые только одобрены, будут входить в Maximo, однако Maximo не позволяет добавлять POLINES в статусе APPR, поэтому благодаря интеграции мы получаем заказ на покупку в статусе WAPPR. Мы должны утвердить заказ на покупку немедленно, чтобы любые последующие обновления заказа на покупку/транзакции получения обрабатывались в Maximo. Я знаю, что эскалация может решить задачу утверждения заказов на покупку, однако я бы хотел, чтобы изменение статуса происходило мгновенно.

Я пробовал следующие варианты: 1) Создайте рабочий процесс для утверждения заказа на покупку и установите для него автоматический запуск. Это не работает, поскольку рабочий процесс, настроенный на автоматическую инициацию, не запускается для объектов, созданных посредством интеграции.

2) Попытался настроить скрипт автоматизации, чтобы инициировать рабочий процесс

from psdi.mbo import MboConstants
from psdi.server import MXServer
print("**************Script to Approve Inbound POs *******");
stat=mbo.getString("STATUS")
if ( stat != ''):
  print ( " Status is not null ");
  print ( stat);
  if ( stat=='WAPPR'):
    print ("Status is WAPPR");
    MXServer.getMXServer().lookup("WORKFLOW").initiateWorkflow("[my WF]",mbo);
    print(" Workflow has been initiated and PO will be approved");

мой WF содержит Action , который выполняет Change Status для установки статуса APPR. Это создает запись в таблице POSTATUS, однако новый статус читается как WAPPR вместо APPR.

3) Сценарий автоматизации для установки значения для статуса

from psdi.mbo import MboConstants
from psdi.server import MXServer
print("**************Script to Approve POs Inbound *******");
stat=mbo.getString("STATUS")
if ( stat != ''):
   print ( " Status is not null ");
   print ( stat);
   if ( stat=='WAPPR'):
     print ("Status is WAPPR");
     mbo.setValue("STATUS","APPR",MboConstants.NOVALIDATION );
     print(" Status approved");

Это было настроено с помощью точки запуска объекта, объекта как заказа на покупку и операции сохранения после фиксации.

Это тоже не работает.

Подскажите, пожалуйста, есть ли другие варианты


person stackuser11    schedule 09.01.2017    source источник


Ответы (1)


Не уверен, работает ли ваш сценарий запуска рабочего процесса или он необходим.

Проблема в том, что вы анализируете статус изменения. Поскольку создается новая запись заказа на покупку, также появляется новый статус «изменение», который представляет собой изменение с «ничего» на первый статус для заказа на покупку, т. е. «WAPPR». Для ЗП нет статуса «НОВЫЙ». Таким образом, запись, которую вы видите в таблице POSTATUS, не из вашего скрипта, а из действия создания интерфейса.

Для изменения статуса вы должны использовать действие приложения по умолчанию. Это изменит статус записи и создаст запись в правильной таблице статусов (в данном случае POSTATUS). Перейдите в->Конфигурация системы->Конфигурация платформы->Действия. Создать новое действие. Установите объект на PO, введите «Изменить статус» и значение «APPR». Используйте это действие в своем рабочем процессе. Или непосредственно в эскалации. Не беспокойтесь об эскалации, которая запускается каждые 5 минут. Вы даже можете использовать новый статус «NEW» в качестве синонима «WAPPR», чтобы отличать обычные записи от только что подключенных. Таким образом, вы также можете скрыть их от своих пользователей в приложении PO.

Надеюсь, это поможет.

person Jeroen    schedule 13.01.2017
comment
Рабочий процесс, который создает запись в POSTATUS, основан на действии, которое я запускаю из рабочего процесса. На самом деле я пытаюсь найти способ, с помощью которого PO будет загружаться в нашу систему со статусом APPR и не будет перемещен для утверждения статуса путем эскалации, которая запускается позже. - person stackuser11; 16.01.2017