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.

  • 📝 Kernedefinition: SAPscript er det indbyggede tekstbehandlingssystem SAP, bruges til at udskrive præformateret tekst i præformaterede formularer såsom fakturaer.
  • 🧱 Fem komponenter: En editor, typografier og layoutsæt, editoren, en programmeringsgrænseflade og databasetabellerne, der gemmer tekster og formularer.
  • 📄 Layoutsæt: Layoutsættet indeholder ingen data. Det beskriver sider, vinduer og tekstelementer, og printprogrammet forsyner det med data valgt fra databasen.
  • ⌨️ Kontrolkommandoer: Indtastet med /: i afsnitsformatet styrer kommandoer som NEW-PAGE, PROTECT, INCLUDE og PERFORM outputformateringen.
  • 🖨️ Udskrivningsprogram: OPEN_FORM, WRITE_FORM og CLOSE_FORM er obligatoriske, mens START_FORM og END_FORM er valgfrie.
  • 📬 Outputtyper: En outputtype, der er gemt i tabellen NAST og udført af programmet RSNAST00, bestemmer, om dokumentet udskrives, faxes eller sendes med posten.
  • 🔁 Kundeafhængighed: A SAPScriptformularen er klientafhængig, så den kopieres mellem klienter med SCC1 eller med værktøjet Kopier fra klient i SE71.

SAP Scripts

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:

Komponenter af SAPScript

  1. En editor til at indtaste og redigere linjerne i en tekst
  2. 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
  3. Komponisten er et centralt outputmodul. De SAP manuskriptkomponist er usynlig udadtil
  4. 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
  5. 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

  1. 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.
  2. 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
  3. 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.
  4. 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.
  5. 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.

  1. Opret formularen: I SE71 skal du indtaste et formularnavn og et sprog, og derefter vælge Opret. Udfyld headerdataene med startsiden, standardafsnittet og sideformatet.
  2. Definer afsnit- og tegnformaterne: Opret mindst ét ​​afsnitsformat, for eksempel AS til en standardlinje, fordi hvert tekstelement refererer til et afsnitsformat.
  3. 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.
  4. 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.
  5. Skriv tekstelementerne: Åbn teksteditoren i et vindue, og marker hver blok med /E efterfulgt af elementnavnet. Udskriftsprogrammet kalder elementet med det navn.
  6. Aktivér formularen og skriv udskrivningsprogrammet: Aktiver formularen, og kald derefter formularkontrolfunktionerne fra ABAP-programmet som vist nedenfor.
  7. 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-

  1. Gå til VF03
  2. Indtast faktureringsbilagsnummer, og tryk på Enter igen
  3. Vælg Output under menuen Goto -> Header
  4. Her er Z101 en outputtype af et printoutput

Outputtyper

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

  1. 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.
  2. 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.

Ofte Stillede Spørgsmål

Tabel TNAPR gemmer formularnavnet, udskriftsprogrammet og ENTRY-rutinen for hver outputtype. Læs den med SE16, eller åbn outputtilpasningen af ​​applikationen i transaktionen NACE.

Grafik skal uploades i Baseline TIFF 6.0-format via SE78 eller rapporten RSTXLDMC, og formularen skal referere til den resulterende standardtekst. En farve- eller PNG-fil accepteres ikke af komponisten.

Tænd for formularfejlfinderen med menustien Hjælpeprogrammer, Aktiver fejlfinding i SE71. Systemet stopper derefter ved hvert tekstelement, mens udskriftsprogrammet kører, og feltværdierne kan kontrolleres.

Migreringsrapporten i SMARTFORMS-transaktionen udfører konverteringen. AI-assistenter hjælper bagefter ved at forklare de konverterede noder, omskrive udskriftsprogramkaldene og liste de tekstelementer, der skal bearbejdes manuelt.

SAPScriptet gemmer ingen versionshistorik, så det er svært at foretage ændringer trace. AI-værktøjer sammenligner to eksporter produceret af RSTXSCRP, opsummerer, hvad der er ændret i hvert tekstelement, og udarbejder den dokumentation, som selve formularen ikke gemmer.

Opsummer dette indlæg med: