SM12 – Jak to jest z tymi blokadami?

Cześć!

Zapraszam do umówienia kolejnego przypadku związanego z transakcją SM12 – Lista blokad.

Na początek jednak kilka słów o blokadach.

System SAP posiada taką fajną funkcjonalność, jak blokowanie możliwości dokonywania zmian na danych w tym samym czasie przez wielu użytkowników. Rozwiązanie to, daję gwarancje poprawności działania systemu, jak także spójności danych przy dużym jego obciążeniu. Mechanizm blokujący SAP umożliwia synchronizacje współbieżnych żądań odczytu lub zapisu danych. Funkcją blokady jest zapobieganie zapisywaniu danych odczytywanych przez wielu użytkowników lub ograniczenie tego odczytu w momencie ich edycji.

WAŻNE! Trzeba pamiętać o tym, że zablokowane wpisy są zwykle ustawiane i usuwane automatycznie przez system, gdy programy użytkownika uzyskują dostęp do obiektu danych i zwalniają go ponownie. Dlatego też nie zaleca się ich ręcznego usuwania bez pełnej analizy. Mechanizm blokujący jest ściśle powiązany z mechanizmem aktualizacji .

Przejdźmy do przypadku:

Zespół odpowiedzialny za utrzymanie systemu dostał zgłoszenie, że użytkownicy nie widzą dokumentu sprzedaży, przez co nie mogą wykonać żadnych działań/akcji w systemie. Pracownicy zweryfikowali, że w transakcji SM12 użytkownik User_1 blokuje dokument już od dobrych paru godzin.

Przed usunięciem blokady w SM12 należy sprawdzić czy dana blokada jest powiązana z:

  • uruchomionym na danym użytkowniku zadaniu wsadowym (SM37 – przegląd zadań)
  • nie istnieją żądania aktualizacji dla użytkownika w SM13
  • aktualnymi procesami – SM66 (procesy robocze wszystkich instancji)
  • otwartymi sesjami na użytkowniku -SM04/AL08
  • wydajnością DB – ST04 (Analiza wydajności DB)

Jeżeli wiesz skąd pochodzi blokada to najpierw:

  • zabij joba/zadanie
  • potem proces
  • wyrzuć użytkownika
  • zamknij sesję
  • w ostateczności usunięcie rekordu blokady w transakcji SM12.

Nigdy nie należy usuwać blokady, gdy nie masz pewności i lub nie wiesz do czego służy dana blokada.

W naszym przypadku wystarczyło:

  • sprawdzić czy ma otwarta sesją za pomocą transakcji SM04 (może być też AL08)
  • jeżeli ma otwartą sesję, kontaktujemy się z nim i prosimy o wylogowanie z systemu
  • jeżeli jednak zakończył już pracę, możemy go usunąć z sesji i z systemu

Po usunięciu użytkownika z sesji rekord blokady powinnien zostać automatycznie usunięty. Tak się stało w naszym przypadku.

W monitorowaniu systemu koniecznie jest podejście systematyczne, krok po kroku, bez chodzenia na skróty. Tak jak w tym przypadku. W przeciwnym razie istnieje ryzyko usunięcia poprawnych wpisów blokujących, które mogą prowadzić do niespójności bazy danych

Jeżeli podobał ci się ten wpis bądź masz swoje uwagi, to proszę napisz komentarz bądź skontaktuj się ze mną przez formularz kontaktowy.

  1. Świetny wpis! Dziękuje za kolejną dawkę wiedzy i czekam na kolejne! Teraz rozumiem dlaczego dział supportu odmówił mi przyznania uprawnień do SM12 😉

    1. Cześć Marek,

      Dziękuje za pozytywny komentarz 🙂

      Dział supportu dokładnie wie co robi 🙂 i najwidoczniej szybko chciał zakończyć temat.
      Trudno mi uwierzyć w to, że nie zaproponowali takiej autoryzacji, abyś mógł korzystać z tej transakcji bez możliwości podjęcia żadnej akcji, jak np. anulowanie blokady.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *