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.
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
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-
- Angi transaksjon SMARTFORMER i transaksjonskodeboksen.
- I neste skjermbilde skriver du inn et skjemanavn og klikker på opprett
Den neste skjermen er delt inn i tre seksjoner-
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.
Høyreklikk på sidene vil tillate opprettelse av ny side, vindu, grafikk eller adresse.
Utskriften vil foregå på grunnlag av 'neste side'-feltet.
Men behandlingen vil skje i henhold til sekvensen i navigasjonsvinduet!
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
Innstilling i grafikk i Smart Form-vinduet-
Windows i Smart Forms
Det er to typer Windows
- Hoved
- 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.
Inne i hovedvinduet kan vi legge til tekst som introduksjon for å tilpasse skjemautgangen.
Utdataalternativene i hvert vindu bestemmer linjestørrelse, bredde, farger og bakgrunn som skal settes.
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.
De to forskjellige redaktørene er tilgjengelige i Smartforms, nemlig. Normal redaktør
og grafikkredigereren.
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
Tabellen viser de ulike linjetypene som skal brukes i tabellen. Linjetypene definerer størrelsen på hver celle og antall celler i hver linje.
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'
Dette vil returnere funksjonsmodulnavnet til smartformen som det refereres til.
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.
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.
- 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.
- 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.
- Kontroller utgangen: Fyll kontrollstrukturen SSFCTRLOP for å undertrykke utskriftsdialogen eller for å be om en forhåndsvisning, og fyll SSFCOMPOP med utdataenheten.
- 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.
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.
💡 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























