Formulare inteligente în SAP ABAP

⚡ Rezumat inteligent

Formulare inteligente în SAP ABAP creează și întreține formulare pentru imprimare în masă, cu ieșire către o imprimantă, un fax, e-mail sau Internet. Această pagină explică arhitectura, nodurile Form Builder, ferestrele, tabelele, șabloanele, stilurile și modulul de funcții generat.

  • 🖨️ Scop principal: Smart Forms produce documente imprimate în masă și acceptă ieșiri pentru imprimantă, fax, e-mail și internet prin intermediul fișierului XML generat.
  • 🕰️ Originea: SAP a introdus Smart Forms în 1998 pentru a depăși limitele SAPscript și sunt mai ușor de dezvoltat, întreținut și transportat.
  • 🧱 Design grafic: Nodurile sunt aranjate prin drag and drop în Form Builder, astfel încât un formular este adaptat fără a scrie o singură linie de limbaj de script.
  • ⚙️ Modul generat: Activarea unui formular generează un modul funcțional, iar programul de imprimare își obține numele la momentul execuției cu SSF_FUNCTION_MODULE_NAME.
  • 🪟 Regula ferestrei: O pagină conține cel mult o fereastră principală, care se desfășoară pe mai multe pagini, în timp ce fiecare fereastră secundară afișează doar conținut static.
  • 📐 Tabel sau șablon: Un tabel crește dinamic odată cu datele, iar un șablon este utilizat atunci când rezultatul are o dimensiune fixă, cum ar fi un cec sau un bilet.
  • 🎨 Stiluri inteligente: Formatele de paragraf, formatele de caractere, culorile și codurile de bare sunt stocate într-un stil inteligent și reutilizate în mai multe formulare.

SAP Formulare inteligente ABAP

Ce sunt formularele inteligente în SAP ABAP?

SAP Smart Forms este folosit pentru a crea și menține formulare pentru tipărirea în masă SAP Sisteme.Ca mediu de ieșire SAP Smart Forms acceptă o imprimantă, un fax, e-mail sau Internet (prin utilizarea rezultatului XML generat).

SAP a introdus SmartForms în 1998 pentru a depăși limitările în SAP Scripturi. SmartForms sunt mai ușor de dezvoltat, întreținut și transportat decât SAP Scenariul.

Comparație între Smart Forms și SapScripts

  • Mai multe formate de pagină sunt posibile în SmartForms, ceea ce nu este cazul în SAP Script-uri
  • Este posibil să aveți un SmartForm fără o fereastră principală.
  • Rutinele pot fi scrise în instrumentul SmartForms.
  • SmartForms generează un modul funcțional atunci când este activat.
  • Etichetele nu pot fi create în SmartForms.
Criterii Formulare inteligente SAPscenariu
Formate de pagină Mai multe formate de pagină într-un singur formular Format de o pagină per formular
Fereastra principala Nu este obligatoriu Este necesară o singură fereastră principală
rutinele Scris în interiorul formularului Scris în programul de imprimare separat
Activarea Generează un modul funcțional Nu este generat niciun modul funcțional
etichete Nu poate fi creat Poate fi creat

Avantajele formularelor inteligente

  • Acestea ajută la adaptarea formularelor fără cunoștințe de programare datorită interfeței grafice complete
  • La activarea formularului inteligent, sistemul generează automat modulul funcțional și în timpul rulării.
  • Pentru a face orice modificări, trebuie să folosim opțiunea Drag & Drop, Cut & Paste. Aceste acțiuni nu includ scrierea liniilor de codare sau utilizarea unui limbaj de script.
  • Putem insera tabele statice si dinamice. Acestea includ fluxurile de rând în celulele individuale ale tabelului, declanșarea evenimentelor pentru titlurile și subtotalurile de tabel și sortarea datelor înainte de ieșire.
  • Formularele inteligente permit utilizatorului să includă elemente grafice, care pot fi afișate ca parte a formularului sau ca elemente grafice de fundal. În timpul imprimării, utilizatorul poate suprima graficul de fundal după cum este necesar.
  • Publicarea Web este posibilă folosind generat XML producție

Architectura de SAP Formular inteligent

Architectura de SAP Formular inteligent

Diagrama arhitecturii prezintă cele trei straturi implicate. Formularul este proiectat în Form Builder, activarea generează modulul funcțional, iar programul de imprimare apelează acel modul cu datele aplicației. Pașii de proiectare ai primului strat sunt prezentați în continuare.

Ghidul Smartforms

Să trecem prin ea înăuntru SAP sistem-

  1. Introdu tranzacția SMARTFORMS în caseta codului tranzacției.
  2. În ecranul următor, introduceți un nume de formular și faceți clic pe creați

Ghidul Smartforms

Următorul ecran este împărțit în trei secțiuni -

Ghidul Smartforms

Fereastra de navigare constau din noduri și subnoduri. Acestea conțin toate elementele (text, fereastră etc) care aparțin formelor sap

  • Fereastra de întreținere arată atributele elementelor
  • Imprimanta de formulare fereastra arată aspectul paginii

Ori de câte ori creăm formulare inteligente, SAP creează/generează un modul funcţional.Spre deosebire de SAPscenarii, SAP FORMELE vă permit să schimbați limba.

În fereastra de navigare veți găsi

Declarații globale de date : Datele definite aici pot fi utilizate pe întregul formular smart în scopuri de codificare.

Interfață de formular : Aici sunt definite toate datele care vor fi transmise smartform-ului din programul Print.

Ghidul Smartforms

Făcând clic dreapta pe pagini, va permite crearea unei pagini noi, ferestre, grafice sau adresă.

Ghidul Smartforms

Imprimarea va avea loc pe baza câmpului „pagina următoare”.

Dar procesarea se va întâmpla conform secvenței din fereastra de navigare!

Ghidul Smartforms

Pentru imagini de fundal și grafică, puteți prelua fie imagini alb-negru, fie color bitmap și sunt stocate sub formă de texte standard. Puteți face o ocolire de la ecranul smartform și deschideți ecranul Form Graphics. Cod de tranzacție: Se78

Ghidul Smartforms

Setarea în fereastra Grafică din Smart Form -

Ghidul Smartforms

Windows în Formulare inteligente

Windows în Formulare inteligente

Există două tipuri de Windows

  1. Principal
  2. Secundar

Puncte importante de reținut

  • Nu puteți avea mai mult de o fereastră principală într-o pagină. Puteți avea mai multe ferestre secundare
  • Orice ai imprima în fereastra secundară... trebuie să fie static. (Dacă aveți 20 de linii într-un PO și există o constrângere de pagină, liniile sunt transferate la pagina următoare din fereastra principală. Adică într-un tip de conținut predecesor și succesor, acestea vor fi tipărite în ordine în fereastra principală. Acest lucru nu este permis în ferestrele secundare.

Windows în Formulare inteligente

În fereastra principală putem adăuga text ca introducere pentru a personaliza ieșirea formularului.

Windows în Formulare inteligente

Opțiunile de ieșire din fiecare fereastră determină dimensiunea liniei, lățimea, culorile și fundalul care trebuie pus.

Windows în Formulare inteligente

Smartforms oferă opțiunea de a oferi numărul de adresă care este menținut în gestionarea centrală a adresei. Adresa va fi preluată direct din tabelul ADRC și va fi completată în formular.

Windows în Formulare inteligente

Cele două editori diferite sunt disponibile în Smartforms, adică. Editor normal

Windows în Formulare inteligente

și Editorul grafic.

Windows în Formulare inteligente

Această setare poate fi modificată utilizând editorul Configurare din Utilitare.

Mese la fereastră

În Table Painter, puteți desena formatul conform cerințelor clientului (de exemplu, titlu, subtitlu, articol, subtotal, total general etc.)

Puteți utiliza aspectul tabelului pentru a determina:

  • Numărul de linii și celule
  • Înălțimea fiecărei linii
  • Lățimea fiecărei celule
  • Alinierea tabelului în fereastră

Windows în Formulare inteligente

Tabelul arată diferitele tipuri de linii care vor fi utilizate în tabel. Tipurile de linii definesc dimensiunea fiecărei celule și numărul de celule din fiecare linie.

Windows în Formulare inteligente

Flux de programare a formularelor inteligente

Când un SAP Este creat șablonul Smart Form, un utilizator creează aspectul formularului, definește câmpurile necesare, condițiile și instrucțiunile speciale de programare în șablonul Smart Form utilizând Smart Form Builder.

După ce proiectarea formularului este completă, formularul trebuie activat înainte de a putea fi testat sau accesat de programele de imprimare. Activarea formularului inițiază generarea unui modul funcțional care se ocupă de toată procesarea formularului.

Acest modul funcțional interacționează cu programul de aplicație/programul de imprimare pentru a crea rezultatul în mediul de ieșire definit de utilizator pentru dispozitivul specificat.

În cazul formularelor inteligente, folosim 2 module funcționale pentru procesarea formularului inteligent. Primului modul de funcție, trecem numele formularului inteligent ca parametru de import. Aceasta returnează apoi numele modulului de funcție generat dinamic, care va apela de fapt smartform.

Numele smartform poate fi transmis funcției Module – 'SSF_FUNCTION_MODULE_NAME'

Flux de programare a formularelor inteligente

Aceasta va returna numele modulului Function al smartform-ului la care se face referire.

Flux de programare a formularelor inteligente

Programul Print va suna FM „SSF_FUNCTION_MODULE_NAME” pentru a obține numele modulului Function la Runtime. Ulterior va apela modulul Function astfel obtinut pentru a executa smartform-ul.

Flux de programare a formularelor inteligente

Cum se apelează un formular inteligent dintr-un program de imprimare

Apelul în doi pași descris mai sus este întotdeauna scris în același mod. Programul rezolvă mai întâi numele generat, apoi îl execută cu datele aplicației.

  1. Rezolvați numele modulului funcției: Transmiteți numele formularului către SSF_FUNCTION_MODULE_NAME. Numele generat se schimbă cu fiecare sistem, deci nu trebuie niciodată codificat în mod hard.
  2. Apelați dinamic modulul generat: Folosiți CALL FUNCTION cu variabila care conține numele rezolvat și transmiteți datele prin parametrii definiți în interfața formularului.
  3. Controlează ieșirea: Completați structura de control SSFCTRLOP pentru a suprima dialogul de imprimare sau pentru a solicita o previzualizare și completați SSFCOMPOP cu dispozitivul de ieșire.
  4. Gestionați excepțiile: Modulul generat generează erorile FORMATTING_ERROR, INTERNAL_ERROR, SEND_ERROR și USER_CANCELED, deci SY-SUBRC trebuie verificat după apel.
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.

⚠️ Atenție: Numele modulului de funcție generat, de exemplu /1BCDWB/SF00000123, este diferit în fiecare sistem. Rezolvați-l întotdeauna cu SSF_FUNCTION_MODULE_NAME, altfel programul eșuează după transport.

Șabloane

Șablonul poate fi utilizat atunci când cunoașteți dimensiunea exactă a rezultatului sau rezultatul este într-un format fix.

De exemplu, formular fiscal/cecuri/formular companiei aeriene/bilet de cale ferată: toate acestea folosesc șabloane.

Marea diferență dintre tabel și șablon este că într-un tabel înălțimea se modifică dinamic. Numim un rând „linie” în șablon.

Șabloane în SAP ABAP

Stiluri SMART

Un stil inteligent conține:

  • Date de antet care conțin valorile implicite ale unui stil inteligent
  • Formate de paragraf, inclusiv indentări și spațiere, atribute de font, file și contur și numerotare
  • Formate de caractere, inclusiv efecte (superscript, indice), cod de bare și atribute de font
  • Culori și subliniere pentru un format de paragraf sau caracter

Puteți utiliza tranzacția „smartforms” / „smartstyles” pentru a crea un stil inteligent.

Șabloane în SAP ABAP

💡 Sfat: Atribuiți Stilul Inteligent în atributele formularului, nu pe fiecare nod de text. O modificare a stilului se aplică apoi fiecărui paragraf al formularului.

Asta e tot pentru acest tutorial

Întrebări frecvente

Un tabel crește odată cu numărul de rânduri din tabelul intern, așadar înălțimea sa se modifică în timpul execuției. Un șablon are un număr fix de linii și celule, potrivit pentru un cec, o chitanță sau un formular fiscal.

Setați GETOTF în structura de control, citiți datele OTF returnate de modulul generat și transmiteți-le modulului funcțional CONVERT_OTF. Rezultatul este un tabel binar care poate fi trimis prin e-mail sau descărcat.

Nu. Un Formular Inteligent este independent de client, deci este disponibil în fiecare client al sistemului după activare. SAPFormularul de script depinde de client și trebuie copiat cu SCC1.

Asistenții inteligenți artificiali redactează programul de imprimare, inclusiv apelul SSF_FUNCTION_MODULE_NAME și gestionarea excepțiilor. Layout-ul în sine este încă aranjat nod cu nod în Form Builder, deoarece este un obiect grafic.

Da. Formularele inteligente rămân implicite pentru imprimarea în masă în multe SAP sisteme, în timp ce Adobe Forms acoperă documente interactive. Instrumentele de inteligență artificială accelerează în principal sarcinile aferente, cum ar fi citirea unui formular și redactarea documentației acestuia.

Rezumați această postare cu: