Inteligentne formularze w SAP ABAP

โšก Inteligentne podsumowanie

Inteligentne formularze w SAP ABAP tworzy i utrzymuje formularze do masowego drukowania, z wyjล›ciem na drukarkฤ™, faks, e-mail lub do Internetu. Ta strona wyjaล›nia architekturฤ™, wฤ™zล‚y Kreatora Formularzy, okna, tabele, szablony, style i generowany moduล‚ funkcji.

  • ๐Ÿ–จ๏ธ Gล‚รณwny cel: Smart Forms umoลผliwia masowe drukowanie dokumentรณw i obsล‚ugฤ™ drukowania, faksowania, wysyล‚ania e-mailem i przesyล‚ania do Internetu za poล›rednictwem wygenerowanego kodu XML.
  • ๐Ÿ•ฐ๏ธ. Pochodzenie: SAP wprowadziล‚ Smart Forms w 1998 roku, aby pokonaฤ‡ ograniczenia SAPscenariusz, a takลผe sฤ… ล‚atwiejsze w opracowaniu, utrzymaniu i transporcie.
  • ๐Ÿงฑ Projekt graficzny: Wฤ™zล‚y sฤ… rozmieszczane metodฤ… โ€žprzeciฤ…gnij i upuล›ฤ‡โ€ w Kreatorze formularzy, dziฤ™ki czemu moลผna dostosowaฤ‡ formularz bez koniecznoล›ci pisania ani jednej linijki kodu skryptowego.
  • โš™๏ธ Wygenerowany moduล‚: Aktywacja formularza powoduje wygenerowanie moduล‚u funkcji, a program drukowania uzyskuje jego nazwฤ™ w czasie wykonywania za pomocฤ… SSF_FUNCTION_MODULE_NAME.
  • ๐ŸชŸ Reguล‚a okna: Strona moลผe zawieraฤ‡ maksymalnie jedno okno gล‚รณwne, ktรณre przebiega przez wszystkie strony, natomiast kaลผde okno podrzฤ™dne wyล›wietla tylko treล›ฤ‡ statycznฤ….
  • ๐Ÿ“ Tabela lub szablon: Tabela dynamicznie roล›nie wraz ze wzrostem iloล›ci danych, a szablon jest uลผywany, gdy dane wyjล›ciowe majฤ… staล‚y rozmiar, na przykล‚ad czek lub bilet.
  • ๐ŸŽจ Inteligentne style: Formaty akapitรณw, formaty znakรณw, kolory i kody kreskowe sฤ… przechowywane w inteligentnym stylu i ponownie wykorzystywane w rรณลผnych formularzach.

SAP Inteligentne formularze ABAP

Czym sฤ… formularze inteligentne? SAP ABAP?

SAP Smart Forms sล‚uลผy do tworzenia i utrzymywania formularzy do masowego drukowania w SAP Systemy. Jako medium wyjล›ciowe SAP Formularze Smart Forms obsล‚ugujฤ… drukarkฤ™, faks, pocztฤ™ elektronicznฤ… i Internet (dziฤ™ki wygenerowanemu wynikowi XML).

SAP wprowadziล‚ SmartForms w 1998 roku, aby pokonaฤ‡ ograniczenia w SAP Skrypty. Formularze SmartForm sฤ… ล‚atwiejsze w opracowywaniu, utrzymaniu i transporcie niลผ formularze SmartForm SAP Scenariusz.

Porรณwnanie Smart Forms i SapScripts

  • W SmartForms dostฤ™pnych jest wiele formatรณw stron, co nie ma miejsca w przypadku SAP Skrypty
  • Moลผliwe jest posiadanie SmartForm bez okna gล‚รณwnego.
  • Procedury moลผna pisaฤ‡ w narzฤ™dziu SmartForms.
  • SmartForms generuje moduล‚ funkcyjny po aktywacji.
  • W SmartForms nie moลผna tworzyฤ‡ etykiet.
kryteria Inteligentne formularze SAPscenariusz
Formaty stron Kilka formatรณw stron w jednym formularzu Format jednej strony na formularz
Gล‚รณwne okno Nieobowiฤ…zkowe Wymagane jest dokล‚adnie jedno okno gล‚รณwne
procedury Napisane wewnฤ…trz samego formularza Napisane w osobnym programie do druku
Aktywacja Generuje moduล‚ funkcyjny Nie wygenerowano ลผadnego moduล‚u funkcji
Etykiety Nie moลผna utworzyฤ‡ Moลผna utworzyฤ‡

Zalety inteligentnych formularzy

  • Pomagajฤ… w dostosowywaniu formularzy bez koniecznoล›ci posiadania wiedzy programistycznej dziฤ™ki caล‚kowicie graficznemu interfejsowi uลผytkownika
  • Po aktywowaniu inteligentnego formularza system automatycznie generuje moduล‚ funkcyjny w czasie wykonywania.
  • Aby dokonaฤ‡ jakichkolwiek zmian, musimy uลผyฤ‡ funkcji Przeciฤ…gnij i upuล›ฤ‡, Wytnij i Wklej. Dziaล‚ania te nie obejmujฤ… pisania linii kodowania ani uลผywania jฤ™zyka skryptowego.
  • Moลผemy wstawiaฤ‡ tabele statyczne i dynamiczne. Obejmujฤ… one wysuw wiersza w poszczegรณlnych komรณrkach tabeli, wyzwalanie zdarzeล„ dla nagล‚รณwkรณw tabeli i sum czฤ™ล›ciowych oraz sortowanie danych przed wydrukiem.
  • Inteligentne formularze pozwalajฤ… uลผytkownikowi na doล‚ฤ…czenie grafiki, ktรณra moลผe byฤ‡ wyล›wietlana jako czฤ™ล›ฤ‡ formularza lub jako grafika tล‚a. Podczas wydruku uลผytkownik moลผe w razie potrzeby wyล‚ฤ…czyฤ‡ grafikฤ™ tล‚a.
  • Publikowanie w Internecie jest moลผliwe przy uลผyciu wygenerowanych plikรณw XML wydajnoล›ฤ‡

Archistruktura SAP Inteligentny formularz

Archistruktura SAP Inteligentny formularz

Diagram architektury przedstawia trzy zaangaลผowane warstwy. Formularz jest projektowany w Kreatorze Formularzy, aktywacja generuje moduล‚ funkcji, a program drukowania wywoล‚uje ten moduล‚ z danymi aplikacji. Nastฤ™pnie omรณwiono kroki projektowania pierwszej warstwy.

Przewodnik po inteligentnych formularzach

Przejdลบmy przez to SAP system-

  1. Wprowadลบ transakcjฤ™ SMARTFORMY w polu kod transakcji.
  2. Na nastฤ™pnym ekranie wprowadลบ nazwฤ™ formularza i kliknij przycisk Utwรณrz

Przewodnik po inteligentnych formularzach

Nastฤ™pny ekran jest podzielony na trzy sekcje:

Przewodnik po inteligentnych formularzach

Okno nawigacji skล‚adajฤ… siฤ™ z wฤ™zล‚รณw i podwฤ™zล‚รณw. Zawierajฤ… wszystkie elementy (tekst, okno itp.) naleลผฤ…ce do form sokowych

  • Okno konserwacji pokazuje atrybuty elementรณw
  • Drukarka formularzy okno pokazuje ukล‚ad strony

Ilekroฤ‡ tworzymy inteligentne formularze, SAP tworzy/generuje moduล‚ funkcyjny. W przeciwieล„stwie do SAPskrypty, SAP FORMULARZE umoลผliwiajฤ… zmianฤ™ jฤ™zyka.

W oknie nawigacyjnym znajdziesz

Globalne deklaracje dotyczฤ…ce danych : Zdefiniowane tutaj dane mogฤ… byฤ‡ wykorzystywane w caล‚ym smartformie do celรณw kodowania.

Interfejs formularza : Tutaj definiowane sฤ… wszystkie dane, ktรณre bฤ™dฤ… przekazywane do smartform z programu Print.

Przewodnik po inteligentnych formularzach

Klikniฤ™cie prawym przyciskiem myszy na stronach umoลผliwi utworzenie nowej strony, okna, grafiki lub adresu.

Przewodnik po inteligentnych formularzach

Druk bฤ™dzie odbywaล‚ siฤ™ na podstawie pola โ€žnastฤ™pna stronaโ€.

Ale przetwarzanie odbฤ™dzie siฤ™ zgodnie z kolejnoล›ciฤ… w oknie nawigacji!

Przewodnik po inteligentnych formularzach

W przypadku obrazรณw tล‚a i grafiki moลผna wybieraฤ‡ obrazy bitmapowe czarno-biaล‚e lub kolorowe i zapisywaฤ‡ je w postaci standardowych tekstรณw. Moลผesz ominฤ…ฤ‡ ekran smartform i otworzyฤ‡ ekran Grafika formularza. Kod transakcji: Se78

Przewodnik po inteligentnych formularzach

Ustawienia w oknie Grafika w inteligentnym formularzu

Przewodnik po inteligentnych formularzach

Windows w inteligentnych formularzach

Windows w inteligentnych formularzach

Istniejฤ… dwa typy Windows

  1. Gล‚รณwny
  2. Wtรณrny

Waลผne punkty do zapamiฤ™tania

  • Nie moลผesz mieฤ‡ wiฤ™cej niลผ 1 gล‚รณwnego okna na stronie. Moลผesz mieฤ‡ wiele okien drugorzฤ™dnych
  • Cokolwiek drukujesz w oknie drugorzฤ™dnymโ€ฆ musi byฤ‡ statyczne. (Jeล›li masz 20 wierszy w PO i istnieje ograniczenie strony, wiersze sฤ… przenoszone do nastฤ™pnej strony w oknie gล‚รณwnym. np. w przypadku zawartoล›ci typu poprzednik i nastฤ™pca, bฤ™dฤ… one drukowane sekwencyjnie w oknie gล‚รณwnym. Nie jest to dozwolone w oknach drugorzฤ™dnych.

Windows w inteligentnych formularzach

Wewnฤ…trz gล‚รณwnego okna moลผemy dodaฤ‡ tekst jako wprowadzenie, aby dostosowaฤ‡ wyglฤ…d formularza.

Windows w inteligentnych formularzach

Opcje wyjล›ciowe w kaลผdym oknie okreล›lajฤ… rozmiar linii, szerokoล›ฤ‡, kolory i tล‚o, ktรณre majฤ… zostaฤ‡ umieszczone.

Windows w inteligentnych formularzach

Smartforms daje moลผliwoล›ฤ‡ podania numeru adresowego, ktรณry prowadzony jest w centralnym zarzฤ…dzaniu adresami. Adres zostanie pobrany bezpoล›rednio z tabeli ADRC i zostanie wypeล‚niony w formularzu.

Windows w inteligentnych formularzach

W Smartforms dostฤ™pne sฤ… dwa rรณลผne edytory: Normal Editor

Windows w inteligentnych formularzach

i Edytor Graficzny.

Windows w inteligentnych formularzach

To ustawienie moลผna zmieniฤ‡ za pomocฤ… edytora konfiguracji w Narzฤ™dziach.

Tabele w oknie

W Malarzu tabel moลผna narysowaฤ‡ format zgodnie z wymaganiami klienta (np. nagล‚รณwek, podnagล‚รณwek, element, suma czฤ™ล›ciowa, suma koล„cowa itd.)

Ukล‚ad tabeli umoลผliwia okreล›lenie:

  • Liczba linii i komรณrek
  • Wysokoล›ฤ‡ kaลผdej linii
  • Szerokoล›ฤ‡ kaลผdej komรณrki
  • Wyrรณwnanie stoล‚u w oknie

Windows w inteligentnych formularzach

W tabeli przedstawiono rรณลผne typy linii, ktรณre zostanฤ… uลผyte w tabeli. Typy linii definiujฤ… rozmiar kaลผdej komรณrki i liczbฤ™ komรณrek w kaลผdej linii.

Windows w inteligentnych formularzach

Przebieg programowania inteligentnych formularzy

Kiedy SAP Tworzony jest szablon Smart Form, uลผytkownik tworzy ukล‚ad formularza, definiuje wymagane pola, warunki i specjalne instrukcje programowania w szablonie Smart Form za pomocฤ… Smart Form Builder.

Po zakoล„czeniu projektowania formularza naleลผy go aktywowaฤ‡, aby moลผna byล‚o go przetestowaฤ‡ lub uzyskaฤ‡ do niego dostฤ™p w programach drukujฤ…cych. Aktywacja formularza inicjuje wygenerowanie moduล‚u funkcyjnego, ktรณry obsล‚uguje caล‚e przetwarzanie formularza.

Ten moduล‚ funkcyjny wspรณล‚dziaล‚a z aplikacjฤ…/programem drukujฤ…cym w celu utworzenia wydruku na zdefiniowanym przez uลผytkownika noล›niku wyjล›ciowym dla okreล›lonego urzฤ…dzenia.

W przypadku inteligentnych formularzy do przetwarzania inteligentnego formularza wykorzystujemy 2 moduล‚y funkcyjne. Do pierwszego moduล‚u funkcyjnego jako parametr importu przekazujemy nazwฤ™ inteligentnego formularza. Nastฤ™pnie zwraca nazwฤ™ dynamicznie generowanego moduล‚u funkcyjnego, ktรณry faktycznie wywoล‚a smartform.

Nazwฤ™ smartforma moลผna przekazaฤ‡ do moduล‚u funkcyjnego โ€“ 'SSF_FUNCTION_MODULE_NAME'

Przebieg programowania inteligentnych formularzy

Spowoduje to zwrรณcenie nazwy moduล‚u funkcyjnego inteligentnego formularza, do ktรณrego siฤ™ odwoล‚uje.

Przebieg programowania inteligentnych formularzy

Program Print bฤ™dzie dzwoniล‚ do FM โ€žNAZWA_MODULE_SSF_FUNCTION_MODULEโ€ aby uzyskaฤ‡ nazwฤ™ moduล‚u funkcyjnego w czasie wykonywania. Nastฤ™pnie wywoล‚a uzyskany w ten sposรณb moduล‚ funkcyjny w celu wykonania smartform.

Przebieg programowania inteligentnych formularzy

Jak wywoล‚aฤ‡ formularz inteligentny z programu do drukowania

Dwuetapowe wywoล‚anie opisane powyลผej jest zawsze zapisywane w ten sam sposรณb. Program najpierw rozpoznaje wygenerowanฤ… nazwฤ™, a nastฤ™pnie wykonuje jฤ… z danymi aplikacji.

  1. Rozwiฤ…ลผ nazwฤ™ moduล‚u funkcji: Przekaลผ nazwฤ™ formularza do SSF_FUNCTION_MODULE_NAME. Wygenerowana nazwa zmienia siฤ™ w kaลผdym systemie, dlatego nigdy nie naleลผy jej zakodowaฤ‡ na staล‚e.
  2. Wywoล‚aj wygenerowany moduล‚ dynamicznie: Uลผyj funkcji CALL FUNCTION ze zmiennฤ…, ktรณra przechowuje rozwiฤ…zanฤ… nazwฤ™, i przekaลผ dane przez parametry zdefiniowane w interfejsie formularza.
  3. Kontroluj wyjล›cie: Wypeล‚nij strukturฤ™ sterujฤ…cฤ… SSFCTRLOP, aby pominฤ…ฤ‡ okno dialogowe drukowania lub zaลผฤ…daฤ‡ podglฤ…du, a w strukturze SSFCOMPOP wpisz urzฤ…dzenie wyjล›ciowe.
  4. Obsล‚uguj wyjฤ…tki: Wygenerowany moduล‚ zgล‚asza bล‚ฤ™dy FORMATTING_ERROR, INTERNAL_ERROR, SEND_ERROR i USER_CANCELED, dlatego po wywoล‚aniu naleลผy sprawdziฤ‡ SY-SUBRC.
DATA: lv_fm_name TYPE rs38l_fnam,
      ls_control TYPE ssfctrlop,
      ls_output  TYPE ssfcompop.

* 1. Get the name of the generated function module
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  EXPORTING
    formname           = 'Z_SMART_INVOICE'
  IMPORTING
    fm_name            = lv_fm_name
  EXCEPTIONS
    no_form            = 1
    no_function_module = 2
    OTHERS             = 3.

IF sy-subrc <> 0.
  MESSAGE e001(zsf).          " Form not found
ENDIF.

* 2. Call the generated module with the form data
ls_control-no_dialog = 'X'.
ls_control-preview   = 'X'.

CALL FUNCTION lv_fm_name
  EXPORTING
    control_parameters = ls_control
    output_options     = ls_output
    is_header          = ls_header
  TABLES
    it_items           = lt_items
  EXCEPTIONS
    formatting_error   = 1
    internal_error     = 2
    send_error         = 3
    user_canceled      = 4
    OTHERS             = 5.

โš ๏ธ Ostrzeลผenie: Wygenerowana nazwa moduล‚u funkcji, na przykล‚ad /1BCDWB/SF00000123, jest inna w kaลผdym systemie. Zawsze naleลผy jฤ… rozstrzygaฤ‡ za pomocฤ… SSF_FUNCTION_MODULE_NAME, w przeciwnym razie program zakoล„czy dziaล‚anie po transporcie.

Szablony

Szablonu moลผna uลผyฤ‡, gdy znany jest dokล‚adny rozmiar danych wyjล›ciowych lub gdy dane wyjล›ciowe majฤ… ustalony format.

Np. formularz podatkowy/czek/formularz linii lotniczych/bilet kolejowy: wszystkie korzystajฤ… z szablonรณw.

Gล‚รณwnฤ… rรณลผnicฤ… pomiฤ™dzy tabelฤ… a szablonem jest to, ลผe w tabeli wysokoล›ฤ‡ zmienia siฤ™ dynamicznie. W szablonie wiersz nazywamy โ€žliniฤ…โ€.

Szablony w SAP ABAP

Inteligentne style

Inteligentny styl zawiera:

  • Dane nagล‚รณwka zawierajฤ…ce wartoล›ci domyล›lne stylu inteligentnego
  • Formaty akapitรณw, w tym wciฤ™cia i odstฤ™py, atrybuty czcionek, tabulatory oraz konspekt i numeracja
  • Formaty znakรณw, w tym efekty (indeks gรณrny, dolny), kod kreskowy i atrybuty czcionek
  • Kolory i podkreล›lenia dla formatu akapitu lub znaku

Moลผesz uลผyฤ‡ transakcji โ€žsmartformsโ€ / โ€žsmartstylesโ€, aby stworzyฤ‡ inteligentny styl.

Szablony w SAP ABAP

๐Ÿ’ก Wskazรณwka: Przypisz styl Smart Style do atrybutรณw formularza, a nie do kaลผdego wฤ™zล‚a tekstowego. Jedna zmiana stylu bฤ™dzie wtedy dotyczyฤ‡ kaลผdego akapitu formularza.

To wszystko w tym samouczku

FAQ

Tabela roล›nie wraz z liczbฤ… wierszy w tabeli wewnฤ™trznej, wiฤ™c jej wysokoล›ฤ‡ zmienia siฤ™ w czasie wykonywania. Szablon ma staล‚ฤ… liczbฤ™ wierszy i komรณrek, co pasuje do czeku, paragonu lub formularza podatkowego.

Ustaw GETOTF w strukturze sterujฤ…cej, odczytaj dane OTF zwrรณcone przez wygenerowany moduล‚ i przekaลผ je do moduล‚u funkcyjnego CONVERT_OTF. Rezultatem jest tabela binarna, ktรณrฤ… moลผna wysล‚aฤ‡ pocztฤ… elektronicznฤ… lub pobraฤ‡.

Nie. Formularz Smart jest niezaleลผny od klienta, wiฤ™c jest dostฤ™pny u kaลผdego klienta systemu po aktywacji. SAPforma skryptu zaleลผy od klienta i musi zostaฤ‡ skopiowana wraz z SCC1.

Asystenci AI tworzฤ… szkic programu drukowania, w tym wywoล‚anie SSF_FUNCTION_MODULE_NAME i obsล‚ugฤ™ wyjฤ…tkรณw. Sam ukล‚ad jest nadal uporzฤ…dkowany wฤ™zeล‚ po wฤ™ลบle w Kreatorze Formularzy, poniewaลผ jest to obiekt graficzny.

Tak. W wielu przypadkach formularze inteligentne pozostajฤ… domyล›lnym rozwiฤ…zaniem do drukowania masowego. SAP Systemy, podczas gdy Adobe Forms obejmuje dokumenty interaktywne. Narzฤ™dzia AI przyspieszajฤ… przede wszystkim zadania zwiฤ…zane z tym tematem, takie jak czytanie formularza i tworzenie jego dokumentacji.

Podsumuj ten post nastฤ™pujฤ…co: