SAP Scripts Tutorial: SE71, SE78, SCC1, VF03, SO10
⚡ Smart opsummering
SAP Scripts danner tekstbehandlingssystemet i SAP System, udskrivning af præformateret tekst i præformaterede formularer. Denne side forklarer de fem komponenter, layoutsættet, kontrolkommandoer, udskrivningsprogrammet, outputtyper og transaktionerne SE71, SE78, SO10 og SCC1.

Hvad er SAP Manuskript?
SAP script er SAP Systems eget tekstbehandlingssystem. Det ligner og føles meget som andre førende tekstbehandlingssystemer.
Det bruges til at udskrive forudformateret tekst i forudformaterede formularer.
Typiske dokumenter produceret med SAPScriptet er fakturaer, indkøbsordrer, følgesedler og kundebreve. Formularen designes én gang i transaktion SE71, og et ABAP-printprogram leverer dataene under kørsel.
Komponenter af SAPScript
SAP Scripts består af fem hovedkomponenter:
- En editor til at indtaste og redigere linjerne i en tekst
- Stilarter og layoutsæt til printlayout. Disse oprettes uafhængigt af de enkelte tekster ved hjælp af de tilsvarende vedligeholdelsestransaktioner og allokeres til teksterne senere
- Komponisten er et centralt outputmodul. De SAP manuskriptkomponist er usynlig udadtil
- En programmeringsgrænseflade, der giver dig mulighed for at inkludere SAP script-komponenter ind i dine egne applikationsprogrammer og til at styre outputtet af layoutsæt inde fra programmerne
- Flere databasetabeller til lagring af tekster, stilarter og layoutsæt
Diagrammet ovenfor viser, hvordan disse komponenter passer sammen. Layoutsættet, som er vist i midten, beskrives derefter.
Layout sæt
For at udskrive dokumenter ved hjælp af programmeringsgrænsefladen har R/3-applikationsprogrammer brug for såkaldte layoutsæt (en slags form). SAP script et layoutsæt beskriver layoutet af de enkelte printsider og bruger tekstelementer til at levere definerbare outputblokke, som et printprogram kan kalde. Et layoutsæt kan defineres som et sidedesign til et dokument
Layoutsættet indeholder ikke data i sig selv. Valget af data til dokumentet sker via udskrivningsprogrammet. Udskrivningsprogrammet vælger dataene fra databasetabellen og sender dem til layoutsættet. Når udskrivningsprogrammet udføres, udskrives dokumentet på skærmen, printeren.
Normalt en SAPScriptlayout består af følgende komponenter
- Overskriftsdata: Header data bruges til information og kontrol af SAP trykning. Overskriftsdataene består af 2 dele – Enhedsuafhængig – Gemmer information som startside, standardafsnit, sprogattributter osv. Og enhedsafhængig gemmer information som sideformat, orienteringslinjer pr. tomme osv.
- Afsnits- og tegnformater: Afsnit formateres ved hjælp af forskellige attributter. Standardafsnitsattributter angiver f.eks. Venstre eller Højre margen, Justering, Linjeafstand osv. Skrifttypeattributter angiver Skrifttypefamilie, Skriftstørrelse osv. Tegnformater gør det muligt at formatere hele tekstblokke i et afsnit
- Windows og tekstelementer: Windows er individuelle tekstområder (hovedadresse, dato, sidefod) på en side . Det hjælper med at kombinere informationen i et dokument i bestemte grupper og få hver gruppe til at vises på den udskrevne side i et individuelt område. Du kan definere tekstelementer (vinduetekster) for hvert vindue. Printprogrammet tilgår tekstelementer efter navn, formaterer dem og udskriver dem i det respektive vindue. Afsnittet og de anvendte tegnformater skal defineres i formularen.
- Sider: De er individuelle sider i et dokument og skal have et unikt navn. Du vil ofte finde forskellige layouts for de enkelte sider: Den første side af en faktura adskiller sig fra de efterfølgende sider, hvor du ikke behøver at gentage generelle oplysninger, såsom adresse eller kundedata.
- Side Windows: Mens du definerer vinduer og sider, bestemmer du endnu ikke positionen og afstanden mellem de tekster, der skal udskrives. Et sidevindue definerer det rektangulære outputområde i outputmediet ved at angive den øverste venstre kant af outputområdet og dets bredde og højde
Kontrolkommandoer
Formålet med "kontrolkommandoer" er at tillade kontrol af outputformateringen. Disse kommandoer fortolkes ikke af SAP script editor, men sendes videre til SAP script Komponist til behandling. Dette omfatter f.eks. linje- og sideformatering, formatering af tekst i henhold til afsnittet og angivne tegnformater.
Syntaks
Enter /: in the paragraph format
Eksempler
- NY-SIDE – Eksplicit sideskift
- PROTECT ………ENDPROTECT – For at udskrive hele afsnittet på én side.
- INKLUDERE – At inkludere indholdet af en anden tekst i den aktuelle tekst
- UDFØR – For at kalde en underrutine til ethvert ABAP-program
Udskriv program
Udførelsen af script sker gennem en ABAP program, som omtales som Print Program. Hvert printprogram skal have en ENTRY-formular, som vil blive kaldt fra tilpasning.
For en standardkonfiguration kan vi se formularnavnet (scriptnavn), printprogramnavn og outputtype i tabellen TNAPR. Udskrivningsprogrammet bruger formularkontrolfunktionerne til at kalde scriptet.
Udskrivningsprogrammet kalder enten alle eller nogle af formularkontrolfunktionerne for at udføre scriptet
- OPEN_FORM (obligatorisk) Åbner layoutsættets output
- CLOSE_FORM (obligatorisk) Afslutter layoutsættets output
- START_FORM (Valgfrit) Starter et nyt layoutsæt
- WRITE_FORM (obligatorisk) Kalder et layoutsætelement
- END_FORM (Valgfrit) Afslutter det aktuelle layoutsæt
Sådan oprettes en SAPmanuskriptformular i SE71
Et fungerende SAPScriptoutputtet kræver en formular, et udskrivningsprogram og en opgave i tilpasning. Trinene nedenfor opbygger en formular ud fra en tom formular.
- Opret formularen: I SE71 skal du indtaste et formularnavn og et sprog, og derefter vælge Opret. Udfyld headerdataene med startsiden, standardafsnittet og sideformatet.
- Definer afsnit- og tegnformaterne: Opret mindst ét afsnitsformat, for eksempel AS til en standardlinje, fordi hvert tekstelement refererer til et afsnitsformat.
- Opret siderne: Definer en første side, for eksempel FØRST, og indstil dens næste side til NÆSTE, så længere dokumenter fortsætter på et andet layout.
- Opret vinduerne og sidevinduerne: Definer vinduerne som f.eks. HEADER, MAIN og FOOTER, placer derefter hvert af dem på siden, og indtast den øverste venstre kant, bredden og højden.
- Skriv tekstelementerne: Åbn teksteditoren i et vindue, og marker hver blok med /E efterfulgt af elementnavnet. Udskriftsprogrammet kalder elementet med det navn.
- Aktivér formularen og skriv udskrivningsprogrammet: Aktiver formularen, og kald derefter formularkontrolfunktionerne fra ABAP-programmet som vist nedenfor.
- Tildel outputtypen: Indtast formularnavnet, udskriftsprogrammet og ENTRY-rutinen i tabellen TNAPR via applikationens outputtilpasning, for eksempel NACE.
CALL FUNCTION 'OPEN_FORM' EXPORTING form = 'Z_INVOICE' language = sy-langu device = 'PRINTER'. * Print the element ITEM_LINE in the window MAIN LOOP AT lt_items INTO ls_item. CALL FUNCTION 'WRITE_FORM' EXPORTING element = 'ITEM_LINE' window = 'MAIN' function = 'SET' type = 'BODY'. ENDLOOP. CALL FUNCTION 'CLOSE_FORM'.
⚠️ Advarsel: WRITE_FORM udskriver kun de felter, der er udfyldt i kaldeøjeblikket. Udfyld arbejdsområdet før kaldet, fordi formularen læser de globale felter i udskriftsprogrammet, ikke parametrene i funktionsmodulet.
Outputtyper
Outputtypen kan angive, en udskrevet formular, som du skal bruge til intern brug, eller en formular, som du vil sende til en kunde eller leverandør. Outputtypen kan også være en intern elektronisk postmeddelelse, som du ønsker at sende til personale i en anden afdeling.
For eksempel kan "Udskriv" klassificeres som én outputtype af et faktureringsdokument, dvs. når denne outputtype udføres, udskrives faktureringsdokumentet. På samme måde kan "Fax" være en outputtype, dvs. når denne outputtype udføres, sendes en fax af faktureringsdokumentet
Alle outputtyper for ethvert dokument (f.eks. faktureringsdokument) vil blive gemt i tabellen NAST. Outputtyper udføres gennem programmet RSNAST00 .
Eksempel: Outputtype i et faktureringsdokument-
- Gå til VF03
- Indtast faktureringsbilagsnummer, og tryk på Enter igen
- Vælg Output under menuen Goto -> Header
- Her er Z101 en outputtype af et printoutput
Skærmbilledet viser outputskærmen for transaktion VF03, hvor outputtypen Z101 er knyttet til fakturadokumentet.
Standard tekster og grafik
Standardtekster til din rapport kan oprettes ved hjælp af transaktion SO10
Grafik og printermakroer uploades med indberette RSTXLDMC til individuelle standardtekstdokumenter eller gennem transaktion SE78. Grafik uploades i formatet “Baseline TIFF 6.0” (.tif-filer på pc)
SAP Script- og standardtekstelementer kan eksporteres eller importeres mellem to systemer ved hjælp af RSTXSCRP-programmet
Kopiering af scripts på tværs af klienter:
SAP Script er et klientafhængigt objekt. I modsætning til programmer er ændringer udført til SAP script i én klient vil ikke blive afspejlet i andre klienter. For at kopiere script fra en klient til en anden, gå til SE71 og brug muligheden "Kopier fra klient" tilgængelig under menuen Hjælpeprogrammer eller importer transportanmodningen, hvori scriptet er gemt, fra den oprindelige klient, der bruger transaktionen SCC1.
Vigtige punkter at bemærke
- SAP script vedligeholder ingen versioner. Så når du ændrer SAP script , sørg for, at ændringerne er veldokumenterede i scriptet. Dette gælder også standardteksterne.
- Outputtet af formularen vil afvige, når det ses på skærmen og på printeren. Så test altid outputtet af scriptet på printeren.
SAPscript vs. Smart Forms
SAPscript er den ældste af de to formteknologier i SAP, og hver ny formular er normalt bygget med Smarte formularerTabellen nedenfor viser hvorfor.
| Kriterier | SAPscript | Smarte formularer |
|---|---|---|
| transaktion | SE71 | SMARTFORMER |
| Klientafhængighed | Klientafhængig, kopieret med SCC1 | Klientuafhængig |
| Hovedvindue | Der kræves præcis ét hovedvindue | Ikke obligatorisk, og flere hovedvinduer er tilladt |
| Programlogik | Skrevet i det separate printprogram | Delvist indbygget i formularen, som genererer sit eget funktionsmodul |
| Outputformater | Udskriv, fax og send med post | Udskriv, fax, mail og XML- eller HTML-output |
| Versionsstyring | Ingen, så ændringer skal dokumenteres manuelt | Tilgængelig via arbejdsbænken |
SAPskriften er fortsat meget udbredt, fordi mange standarder SAP formularer og deres printprogrammer er stadig afhængige af det, og fordi en klientafhængig formular kan tilpasses pr. klient.


