Как контролировать транзакцию (Combain / Rollback) при чтении IDOC

StackOverflow https://stackoverflow.com/questions/4367386

  •  09-10-2019
  •  | 
  •  

Вопрос

При использовании JCO (3.x) для чтения IDOCS, отправленные с сервера SAP, какие действия следует предпринять, чтобы указать, что сообщение было принято правильно (т.е. фиксация)?

В Java я представляю что-то вроде:

public class MyHandler implements JCoIDocHandler {
  public void handleRequest(JCoServerContext serverCtx, IDocDocumentList documentList) {
    IDocDocumentIterator iterator = documentList.iterator();
    while (iterator.hasNext()) {
             IDocDocument doc = iterator.next();
             // some processing
    }
    // here I would like to say COMMIT
    // i.e., I confirm all the documents have been read
    // and our side takes ownership
  }   
}

Этот тип фиксации кажется необходимым, если мы хотим убедиться, что сообщение (IDOC) не теряется, даже если пуля попадает в процессор во время некоторых .hasNext() вызов. Или я не прав?

Это было полезно?

Решение

В таких случаях SAP предполагает, что вы отправляете обратно IDOC с типом «ALEAUD». В этом случае Sender System может изменить статусы IDOCS в «Документ, созданный в приемной системы» (41). Для получения более подробной информации о просмотрите «Предварительное руководство по заметку приложений SAP R / 3 Link Anabling (ALE)»

Другие советы

С технической точки зрения (а не с точки зрения рабочего процесса бизнес-данных с записями состояния IDOC), совершающие и подтверждающие CHEDDS из транзакционного RFC (TRFC), является задачей RFC-клиента. При получении IDOCS ваша программа JCO является сервером RFC в этом сценарии, и вы должны отреагировать на тех, кто откатывается и подтверждает события, которые клиент RFC отправляет вам. Это делается путем внедрения интерфейса JCoServerTIDHandler.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top