Smarte skjemaer i SAP ABAP

โšก Smart oppsummering

Smarte skjemaer i SAP ABAP oppretter og vedlikeholder skjemaer for masseutskrift, med utdata til en skriver, en faks, e-post eller Internett. Denne siden forklarer arkitekturen, skjemabyggernodene, vinduene, tabellene, malene, stilene og den genererte funksjonsmodulen.

  • ๐Ÿ–จ๏ธ Kjerneformรฅl: Smarte skjemaer produserer masseutskrift av dokumenter og stรธtter utskrift via skriver, faks, e-post og Internett via den genererte XML-filen.
  • ๐Ÿ•ฐ๏ธ Opprinnelse: SAP introduserte Smart Forms i 1998 for รฅ overvinne begrensningene til SAPskript, og de er enklere รฅ utvikle, vedlikeholde og transportere.
  • ๐Ÿงฑ Grafisk design: Noder ordnes ved รฅ dra og slippe i skjemabyggeren, slik at et skjema tilpasses uten รฅ skrive en eneste linje med skriptsprรฅk.
  • โš™๏ธ Generert modul: Aktivering av et skjema genererer en funksjonsmodul, og utskriftsprogrammet fรฅr navnet sitt under kjรธring med SSF_FUNCTION_MODULE_NAME.
  • ๐ŸชŸ Vindusregel: En side inneholder maksimalt ett hovedvindu, som flyter pรฅ tvers av sider, mens hvert sekundรฆrvindu bare skriver ut statisk innhold.
  • ๐Ÿ“ Tabell eller mal: En tabell vokser dynamisk med dataene, og en mal brukes nรฅr utdataene har en fast stรธrrelse, for eksempel en sjekk eller en billett.
  • ๐ŸŽจ Smarte stiler: Avsnittsformater, tegnformater, farger og strekkoder lagres i en smart stil og brukes pรฅ nytt pรฅ tvers av skjemaer.

SAP ABAP Smart Forms

Hva er smarte skjemaer i SAP ABAP?

SAP Smart Forms brukes til รฅ lage og vedlikeholde skjemaer for masseutskrift i SAP Systems.Som output medium SAP Smart Forms stรธtter en skriver, en faks, e-post eller Internett (ved รฅ bruke den genererte XML-utdata).

SAP introduserte SmartForms i 1998 for รฅ overvinne begrensningene i SAP Skript. SmartForms er enklere รฅ utvikle, vedlikeholde og transportere enn SAP Manus.

Sammenligning av Smart Forms og SapScripts

  • Flere sideformater er mulig i SmartForms, noe som ikke er tilfelle i SAP scripts
  • Det er mulig รฅ ha en SmartForm uten hovedvindu.
  • Rutiner kan skrives i SmartForms-verktรธyet.
  • SmartForms genererer en funksjonsmodul nรฅr den er aktivert.
  • Etiketter kan ikke opprettes i SmartForms.
Kriterier Smarte skjemaer SAPscript
Sideformater Flere sideformater i ett skjema ร‰n side per skjema
Hovedvindu Ikke obligatorisk Nรธyaktig ett hovedvindu er nรธdvendig
Rutiner Skrevet inni selve skjemaet Skrevet i det separate utskriftsprogrammet
Aktivering Genererer en funksjonsmodul Ingen funksjonsmodul genereres
etiketter Kan ikke opprettes Kan opprettes

Fordeler med smarte skjemaer

  • De hjelper med รฅ tilpasse skjemaer uten programmeringskunnskaper pรฅ grunn av det fullstendig grafiske brukergrensesnittet
  • Ved aktivering av smartskjemaet genererer systemet automatisk funksjonsmodulen og ved kjรธretid.
  • For รฅ gjรธre endringer mรฅ vi bruke Dra og slipp, Klipp og Lim inn. Disse handlingene inkluderer ikke skriving av kodelinjer eller bruk av et skriptsprรฅk.
  • Vi kan sette inn statiske og dynamiske tabeller. Disse inkluderer linjefeedene i de individuelle tabellcellene, utlรธsende hendelser for tabelloverskrifter og delsummer og sortering av data fรธr utdata.
  • De smarte skjemaene lar brukeren inkludere grafikk, som kan vises som en del av skjemaet eller som bakgrunnsgrafikk. Under utskrift kan brukeren undertrykke bakgrunnsgrafikken nรฅr det er nรธdvendig.
  • Webpublisering er mulig ved รฅ bruke den genererte XML produksjon

Architecture av SAP Smart form

Architecture av SAP Smart form

Arkitekturdiagrammet viser de tre lagene som er involvert. Skjemaet utformes i skjemabyggeren, aktiveringen genererer funksjonsmodulen, og utskriftsprogrammet kaller modulen med applikasjonsdataene. Designtrinnene for det fรธrste laget dekkes deretter.

Smartforms guide

La oss gรฅ gjennom det inn SAP system-

  1. Angi transaksjon SMARTFORMER i transaksjonskodeboksen.
  2. I neste skjermbilde skriver du inn et skjemanavn og klikker pรฅ opprett

Smartforms guide

Den neste skjermen er delt inn i tre seksjoner-

Smartforms guide

Navigasjonsvindu bestรฅr av noder og undernoder. De inneholder alle elementene (tekst, vindu osv.) som tilhรธrer sap-skjemaer

  • Vedlikeholdsvindu viser attributter til elementene
  • Skjemaskriver vinduet viser layouten til siden

Nรฅr vi lager smarte skjemaer, SAP oppretter/genererer en funksjonsmodul.Unlike SAPskript, SAP FORS lar deg endre sprรฅk.

I navigasjonsvinduet finner du

Globale dataerklรฆringer : Dataene som er definert her kan brukes i hele smartformen til kodingsformรฅl.

Skjemagrensesnitt : Her defineres alle data som skal sendes til smartform fra Print-programmet.

Smartforms guide

Hรธyreklikk pรฅ sidene vil tillate opprettelse av ny side, vindu, grafikk eller adresse.

Smartforms guide

Utskriften vil foregรฅ pรฅ grunnlag av 'neste side'-feltet.

Men behandlingen vil skje i henhold til sekvensen i navigasjonsvinduet!

Smartforms guide

For bakgrunnsbilde og grafikk kan du plukke opp enten svart-hvitt eller farge punktgrafikkbilder og lagres i form av standardtekster. Du kan ta en omvei fra smartform-skjermen og รฅpne Skjemagrafikk-skjermen. Transaksjonskode: Se78

Smartforms guide

Innstilling i grafikk i Smart Form-vinduet-

Smartforms guide

Windows i Smart Forms

Windows i Smart Forms

Det er to typer Windows

  1. Hoved
  2. Sekundรฆr

Viktige punkter รฅ merke seg

  • Du kan ikke ha mer enn ett hovedvindu pรฅ en side. Du kan ha flere sekundรฆre vinduer
  • Uansett hva du skriver ut i sekundรฆrt vindu ... mรฅ det vรฆre statisk. (Hvis du har 20 linjer i en PO og det er sidebegrensning, blir linjene viderefรธrt til neste side i hovedvinduet. dvs. i en forgjenger og etterfรธlger type innhold, vil de bli skrevet ut i rekkefรธlge i hovedvinduet. Dette er ikke tillatt i sekundรฆre vinduer.

Windows i Smart Forms

Inne i hovedvinduet kan vi legge til tekst som introduksjon for รฅ tilpasse skjemautgangen.

Windows i Smart Forms

Utdataalternativene i hvert vindu bestemmer linjestรธrrelse, bredde, farger og bakgrunn som skal settes.

Windows i Smart Forms

Smartforms gir mulighet for รฅ oppgi adressenummeret som vedlikeholdes i den sentrale adressestyringen. Adressen vil bli tatt direkte fra ADRC-tabellen og vil fylles ut i skjemaet.

Windows i Smart Forms

De to forskjellige redaktรธrene er tilgjengelige i Smartforms, nemlig. Normal redaktรธr

Windows i Smart Forms

og grafikkredigereren.

Windows i Smart Forms

Denne innstillingen kan endres ved hjelp av Konfigurer-redigeringsprogrammet i Verktรธy.

Bord i et vindu

I Table painter kan du tegne formatet i henhold til kundens krav (f.eks. Overskrift, Underoverskrift, Vare, Undertotal, Totalsum osv.)

Du kan bruke tabelloppsettet til รฅ bestemme:

  • Antall linjer og celler
  • Hรธyden pรฅ hver linje
  • Bredden pรฅ hver celle
  • Justeringen av bordet i vinduet

Windows i Smart Forms

Tabellen viser de ulike linjetypene som skal brukes i tabellen. Linjetypene definerer stรธrrelsen pรฅ hver celle og antall celler i hver linje.

Windows i Smart Forms

Smart Forms-programmeringsflyt

Nรฅr en SAP Smart Form-mal opprettes, en bruker oppretter skjemaoppsettet, definerer de nรธdvendige feltene, betingelsene og spesielle programmeringsinstruksjoner i Smart Form-malen ved hjelp av Smart Form Builder.

Etter at skjemautformingen er fullfรธrt, mรฅ skjemaet aktiveres fรธr det kan testes eller รฅpnes av utskriftsprogrammene. Aktivering av skjemaet starter genereringen av en funksjonsmodul som hรฅndterer all skjemaets behandling.

Denne funksjonsmodulen samhandler med applikasjonsprogrammet/utskriftsprogrammet for รฅ lage utdataene i det brukerdefinerte utdatamediet for den angitte enheten.

Ved smartskjema bruker vi 2 funksjonsmoduler for behandlingen av smartskjemaet. Til den fรธrste funksjonsmodulen sender vi navnet pรฅ det smarte skjemaet som importparameter. Dette returnerer deretter navnet pรฅ den dynamisk genererte funksjonsmodulen som faktisk vil kalle smartformen.

Smartform-navnet kan sendes videre til funksjonen Modul โ€“ 'SSF_FUNCTION_MODULE_NAME'

Smart Forms-programmeringsflyt

Dette vil returnere funksjonsmodulnavnet til smartformen som det refereres til.

Smart Forms-programmeringsflyt

Print-programmet vil ringe FM 'SSF_FUNCTION_MODULE_NAME' for รฅ fรฅ funksjonsmodulnavnet ved Runtime. Deretter vil den kalle opp funksjonsmodulen som er oppnรฅdd pรฅ denne mรฅten for รฅ utfรธre smartformen.

Smart Forms-programmeringsflyt

Slik kaller du et smartskjema fra et utskriftsprogram

To-trinnskallet beskrevet ovenfor skrives alltid pรฅ samme mรฅte. Programmet lรธser fรธrst det genererte navnet, og kjรธrer det deretter med applikasjonsdataene.

  1. Lรธs opp navnet pรฅ funksjonsmodulen: Send skjemanavnet til SSF_FUNCTION_MODULE_NAME. Det genererte navnet endres med hvert system, sรฅ det mรฅ aldri hardkodes.
  2. Kall den genererte modulen dynamisk: Bruk CALL FUNCTION med variabelen som inneholder det lรธste navnet, og send dataene gjennom parameterne som er definert i skjemagrensesnittet.
  3. Kontroller utgangen: Fyll kontrollstrukturen SSFCTRLOP for รฅ undertrykke utskriftsdialogen eller for รฅ be om en forhรฅndsvisning, og fyll SSFCOMPOP med utdataenheten.
  4. Hรฅndter unntakene: Den genererte modulen genererer FORMATTING_ERROR, INTERNAL_ERROR, SEND_ERROR og USER_CANCELED, sรฅ SY-SUBRC mรฅ sjekkes etter kallet.
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.

โš ๏ธ Advarsel: Det genererte navnet pรฅ funksjonsmodulen, for eksempel /1BCDWB/SF00000123, er forskjellig i hvert system. Lรธs det alltid med SSF_FUNCTION_MODULE_NAME, ellers feiler programmet etter transport.

maler

Malen kan brukes nรฅr du vet den nรธyaktige stรธrrelsen pรฅ resultatet, eller nรฅr resultatet er i et fast format.

For eksempel Skatteskjema/sjekker/flyselskapsskjema/jernbanebillett: alle disse bruker maler.

Den store forskjellen mellom en tabell og en mal er at hรธyden i en tabell endres dynamisk. Vi kaller en rad for en ยซlinjeยป i en mal.

Maler i SAP ABAP

SMARTE stiler

En smart stil inneholder:

  • Overskriftsdata som inneholder standardverdiene til en smart stil
  • Avsnittsformater inkludert innrykk og mellomrom, skriftattributter, tabulatorer og disposisjon og nummerering
  • Tegnformater inkludert effekter (superskrift, senket), strekkode og fontattributter
  • Farger og understreker for et avsnitt eller tegnformat

Du kan bruke transaksjonen "smartforms" / "smartstyles" for รฅ lage en smart stil.

Maler i SAP ABAP

๐Ÿ’ก Tips: Tildel den smarte stilen i skjemaattributtene i stedet for pรฅ hver tekstnode. ร‰n endring i stilen gjelder deretter for hvert avsnitt i skjemaet.

Det var alt til denne opplรฆringen

Spรธrsmรฅl og svar

En tabell vokser med antall rader i den interne tabellen, slik at hรธyden endres under kjรธring. En mal har et fast antall linjer og celler, som passer til en sjekk, en billett eller et skatteskjema.

Sett GETOTF i kontrollstrukturen, les OTF-dataene som returneres av den genererte modulen, og send dem til funksjonsmodulen CONVERT_OTF. Resultatet er en binรฆrtabell som kan sendes via e-post eller lastes ned.

Nei. Et smart skjema er klientuavhengig, sรฅ det er tilgjengelig i alle klienter i systemet etter aktivering. SAPSkriptskjemaet er klientavhengig og mรฅ kopieres med SCC1.

AI-assistenter utarbeider utskriftsprogrammet, inkludert SSF_FUNCTION_MODULE_NAME-kallet og unntakshรฅndteringen. Selve oppsettet er fortsatt ordnet node for node i skjemabyggeren, fordi det er et grafisk objekt.

Ja. Smarte skjemaer er fortsatt standarden for masseutskrift i mange SAP systemer, mens Adobe Forms dekker interaktive dokumenter. AI-verktรธy fremskynder hovedsakelig de omkringliggende oppgavene, som รฅ lese et skjema og utarbeide dokumentasjonen.

Oppsummer dette innlegget med: