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: