Jedną z możliwości oferowanych przez system SAP jest obsługa korespondencji seryjnej. Funkcja ta umożliwia zautomatyzowane tworzenie dokumentów programu Microsoft Word na podstawie odpowiedniego szablonu. Korespondencja seryjna może znaleźć zastosowanie w przypadku konieczności utworzenia listów seryjnych, na przykład gdy konieczne jest rozesłanie pracownikom lub  klientom, spersonalizowanej wersji danego dokumentu.

 

Przygotowywanie  korespondencji seryjnej w systemie SAP można podzielić na trzy etapy. W pierwszym kroku niezbędne jest przygotowanie odpowiedniego szablonu dokumentu. Kolejnym etapem jest załadowanie szablonu do systemu SAP. Ostatnim krokiem jest stworzenie raportu, który automatycznie będzie tworzyć dokumenty odpowiednio uzupełniając w nich dane.

 

1. PRZYGOTOWANIE SZABLONU DOKUMENTU

Dokument należy przygotować w programie Microsoft Word. W miejsce pól, które mają być automatycznie uzupełniane przez program, powinny zostać wstawione mergefieldy. Można je umieścić w szablonie dzięki opcji Wstawianie -> Szybkie Części -> Pole. Po wybraniu tej opcji, otwarte zostanie okno „Pole”. W lewej części, w sekcji „Wybierz pole”, należy z listy rozwijanej „Nazwy pól” wybrać opcję „MergeField”, a w sekcji „Właściwości pola”, w polu „Nazwa pola”, wpisać wybraną nazwę dla tworzonego mergefielda. Do tej właśnie nazwy będzie odnosić się program SAP wypełniający automatycznie dokument. 

 

 

 

2. ZAŁADOWANIE SZABLONU DO SYSTEMU SAP

Do uploadowania szablonów dokumentów służy funkcja Repozytorium Formularzy (transakcja HRPADPLFORM).

 

 

W polu „Klasa” należy wprowadzić klasę formularza. System oferuje kilka domyślnych klas, dzięki którym formularze można grupować w zależności od obszaru, jakiego dotyczą (np. umowy o pracę, świadectwa pracy, dokumenty ZUS itd). Możliwe jest także wpisywanie własnych klas zgodnie z potrzebami.

W polu „Nazwa formularza”, należy wpisać nazwę, pod jaką formularz zostanie zapisany do systemu (to do niej będzie odnosić się program SAP służący do automatycznego wypełniania dokumentów).

Po wypełnieniu obu pól należy wybrać przycisk „tworzenie” i odnaleźć w nowo otworzonym oknie utworzony w pierwszym punkcie plik MS Word. Możliwe jest także nadpisanie istniejącego już formularza – w tym celu należy wpisać w pola „Nazwę formularza” i „Klasa” dane formularza wymagającego zmiany, a następnie wybrać przycisk „import”. Możliwe jest także wyeksportowanie znajdującego się w systemie szablonu do pliku za pomocą przycisku „eksport”.

Uwaga – jeżeli plik jest wciąż otwarty w innym oknie, pojawi się komunikat o braku możliwośći zapisu formularza.

Po zatwierdzeniu i zapisaniu zmian można przejść do ostatniego kroku, czyli tworzenia raportu.

 

3. UTWORZENIE PROGRAMU OBSŁUGUJĄCEGO KORESPONDENCJĘ SERYJNĄ

Po zuploadowaniu szablonu do systemu, pozostaje jedynie przygotować raport, który automatycznie będzie tworzył dokumenty odpowiednio uzupełniając zawartość ich mergefieldów. 

W pierwszej kolejności należy utworzyć strukturę, której pola będą odpowiadały kolejnym mergefieldom zawartym w szablonie. Nazwy pól struktury mogą się różnić od nazw mergefiedów, ale należy zachować ich identyczną kolejność. Następnie, na bazie utworzonej struktury należy utworzyć tabelę wewnętrzną (niech w omawianym przypadku nazywa się ona ITAB) i wypełnić ją danymi, które mają być umieszczone w mergefieldach tworzonego dokumentu. Każdy wiersz tabeli będzie odpowiadał jednej kopii dokumentu. 

W kolejnym kroku należy utworzyć na podstawie szablonu plik MS Word, do którego później zostaną wprowadzone dane z tabeli ITAB. Do tworzenia pliku na podstawie szablonu służy moduł funkcyjny  HR_PL_GET_FORM. Poniżej przedstawiono przykład jego wywołania. W parametrze FORMID należy wprowadzić nazwę, pod jaką formularz został załadowany do Repozytorium Formularzy. W parametrze FORMCL należy wprowadzić nazwę klasy formularza, do której szablon został przypisany w Repozytorium. Parametr DOC_FILE to adres lokalizacji, w której ma zostać utworzona tymczasowa kopia pliku.  

 

Po utworzeniu pliku, należy go wypełnić danymi z tabeli ITAB. Zanim jednak to nastąpi, konieczne jest utworzenie tabeli wewnętrznej z jedną kolumną, która będzie zawierać nazwy mergefieldów w takiej samej kolejności, w jakiej występują w szablonie utworzonym w punkcie pierwszym. Przykładowo, jeżeli szablon zawiera mergefieldy „pole1”, „pole2”, „pole3”, tabelę należy utworzyć i wypełnić w następujący sposób:

 

 

Po utworzeniu i zapełnieniu takiej tabeli, można wypełnić szablon danymi z tabeli ITAB. Służy do tego moduł funkcyjny HR_PL_MSWORD_EXPORT, którego przykład wywołania przedstawiono poniżej. Parametr WORD_DOC to adres lokalizacji, w której została utworzona tymczasowa kopia pliku (o tej samej wartości co parametr DOC_FILE modułu HR_PL_GET_FORM). W parametrze P_WORK_DATA musi być przekazana tabela wewnętrzna, która zawiera dane, które mają być umieszczone w mergefieldach dokumentu. W parametrze P_FIELD_NAMES mus być przekazana utworzona w poprzednim kroku tabela zawierająca nazwy mergefieldów.

 

 

Po uruchomieniu gotowego programu, jeżeli wszystko zostało przygotowane poprawnie, powinno zostać otworzone nowe okno programu Microsoft Word, zawierające przygotowany na pierwszym etapie szablon z mergefieldami, wypełnionymi na podstawie danych z tabeli wewnętrznej ITAB. Zostanie otworzone jedno okno MS Word, nawet jeżeli tabela ITAB będzie mieć więcej niż jeden wiersz – w takim wypadku kolejne kopie dokumentu odpowiadające kolejnym wierszom ITAB zostaną wyprodukowane w jednym pliku, każdy zaczynać będzie się na nowej stronie.

 

Chociaż w systemie SAP domyślnie zawarte są szablony najważniejszych dokumentów (np. świadectwa pracy), to nierzadko zdarzają się sytuacje, gdy trzeba albo dodać szablon nowego dokumentu, albo w jakiś sposób zmienić sposób działania jednego z już istniejących, co sprawia, że umiejętność korzystania z korespondencji seryjnej może okazać się niezbędna.