LUWs – co to takiego?

przez | 25 sierpnia 2019

Kolejny temat, który nie może Cię ominąć, jeżeli chcesz dalej zagłębiac się w tematyke SAP CRM. Dlaczego jest to takie ważne? Ponieważ znajomość transakcji SAP, SAP LUW i baz danych LUW, to kluczowe elementy wpływające na płynność pracy systemu i spójności danych.

Zapraszam do wspólnego odczarowania tego zagadnienia.

Podstawowe definicje

SAP LUW Logical Units of Work  – logiczne jednostki pracy – to jesdnostka logiczna składając asię z róznych kroków dialogowych, w których zmiany są zapisywane w bazie danych w pojedynczej DB LUW. Może obejmować kilka kroków dialogu i być wykonywany przy użyciu szeregu rznych procesów roboczych.

Przykład: SAP LUW występuje za każdym razem gdy zmienia się ekran.

DB LUWDataBase LUW – określamy jako niepodzielną sekwencję operacji baz danych, które zakończone zatwierdzeniem bazy danych ( DB COMMIT). Baza danych LUW jest wykonywana przez system bazy danych całkowicie albo wcale. W przypadku wykrycia błędu w DB LUW wszystkie zmiany w bazie danych wprowadzone od początku LUW baz danych można anulować za pomocą wycofania bazy danych (ROLLBACK).

Przyklad: DB LUW wsytępuje w trakcie zatwierdzenia zmian w bazie danych.

Idealny obraz:

Nie zawsze jednak tak to wygląda. Bywa, że w ramach jednego SAP LUW wykonywane jest więcej niż jedno DB LUW. Doprowadzić to może do niespójności danych.

WAŻNE: W trakcie rozpoczęcia LUW aż do zakończenia uruchamiana jest blokada w systemie, która ma uniemożliwić wprowadzenie zmian na danym rekordzie/oknie dialogowym przez innego użytkownika.

Zasady działania DB LUW

DB rozpoczyna się gdy:

  • podczas przechodzenia z jednego ekranu do drugiego  –  przejście z 1 do 2 okna dialogowego
  • kiedy poprzedni DB LUW zakończył sie powodzeniem  – BD COMMIT
  • kiedy poprzednie DB LUW zakończyło się niepowodzeniem lub błędem – ROLLBACK

DB zamyka się gdy:

  • dochodzi do zatwierdzenia DB
  • nastąpi wycofanie zmian baz danych

Wyróżniamy dwa typy LUWs:

  • tRFC – Transactional Remote Function Call – monitorujemy za pomocą transakcji SM58
  • qRFC – Queued Remote Function Call – administrujemy i monitorujemy za pomocą transakcji SMQ1 i SMQ2

WAŻNE: QRFC to rozszerzenie tRFC, które umożliwia sekwencyjne wykonywanie LUWs w systemie odbiorczym. W naszym przypadku SAP CRM.

Poznaliście terminologię i działanie LUWs. W drugie części wpisu znajdziesz, gdzie przechowywane są dane i nie tylko.

W jakich tabelach przechowywane są dane?

tRFC:

  • Nadawca: ARFCSSTATE, ARFCDATA, TRFCQUT
  • Odbiorca: ARFCRSTATE

LUWs należące do kolejek wyjściowych przechowywane sa w systemie nadawcy w tabelach: ARFCSSTATE i ARFCSDATA. Do administrowania danymi korzystamy z transakcji SMQ1. Dane kolejki wychodzącej są przechowywane w tabeli TRFCQOUT, którą monitoruje się i utrzymuje za pomocą transakcji SMQ1.

qRFC:

  • Nadawca: TRFCQOUT, QREFTID
  • Odbiorca: TRFCQIN, TRFCQSTATE, TRFCQDATA

LUWs należące do kolejki wyjściowej, które przechowywane są w tabelach tRFC TRFCQIN, TRFCQSTATE i TRFCQDATA. Do administtracji tej kolejki używamy transakcji SMQ2, a jej dane przechowywane są w tabeli TRCQIN. W tabeli TRCQSTATE możesz odnaleźć statusy, a w tabeli TRFCQDATA najważniejsze dane.

Czy można usunąć dane z tabeli?

Tak. Służą do tego dwa raporty: RSTRFCEU i RSTRFCES. Pozwalają na usunięcie danych z tabel:

  • ARFCRSTATE
  • ARFCSSTATE
  • TRFCQOUT
  • ARFCSDATA

Życzę udanego tygodnia!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *