SAPscript

Einführung
Autor: Jürgen Menges jmen@jmen-web.de

Datum: 24.08.2005 Inhalt:
SAPscript ................................................................................................................................................. 1 Einführung................................................................................................................................................ 2 Übersicht Transaktionscodes................................................................................................................... 2 Elemente eine SAPscript Dokumentes.................................................................................................... 2 Anlegen und Ändern ................................................................................................................................ 3 Anlegen eines SAPscript Dokumentes................................................................................................ 3 Anlegen einer Seite : ........................................................................................................................... 3 Ändern der Seite.................................................................................................................................. 3 Formatspalte........................................................................................................................................ 4 Textzeile .............................................................................................................................................. 5 Kommandos ............................................................................................................................................. 6 Fenster, Linien, Formen........................................................................................................................... 7 Zeichenformatierungen ............................................................................................................................ 7 Verwendung von Grafiken in SAPscript................................................................................................... 7 Import/Export SAPscript -- PC Datei........................................................................................................ 8 Übersetzungen von SAPscript ................................................................................................................. 8 Beispiel..................................................................................................................................................... 8 Layout Set............................................................................................................................................ 8 ABAP Report ..................................................................................................................................... 10

1

fett.B.h. Ebenfalls lassen sich hier die Attribute der Seiten anlegen Seitenfenster Die unter „Fenster“ definierten Fenster werden hier mit Inhalt gefüllt. Kopf Hier werden generelle Daten erfasst und dargestellt. denen das Druckprogramm bereits zu Grunde liegt. Im Standard von R/3 sind sehr viele Dokumente wie z. in den meisten Fällen beginnt der Name mit Z oder Y. d. Übersicht Transaktionscodes SE63 SE71 SE72 SE78 SO10 . Schriftart und –grösse. wie Bedeutung des Formulars (Mahnformular Buchungskreis 1010) Seiten eine Übersicht der unterschiedlichen Seiten. Ausrichtung. Dokumentation optionale Dokumentation.h. • • • • • • • • 2 . sie müssen in jeder zu verwendenden Sprache separat gepflegt werden. vordefiniert. Tabulatoren.Standardtext Elemente eine SAPscript Dokumentes • Formularname Frei wählbarerer Name gemäss des Namesraumes. Includes. Mahnungen. um Daten aus einem ABAP-Programm in Dokumente in einem vordefinierten Format zu übergeben. Variablen bestehen.Form Painter . etc.Sapscript Grafikverwaltung . Dieser kann aus Text.SAPscript Übersetzung . Rechnungen. Zeichenformate Zeichenformate bezeichnen die Schriftattibute wie kursiv. Sprache SAPScript Formulare sind sprachabhängig. etc.Einführung SAPscript wird verwendet. Fenster Hier werden die einzelnen Fenster der Seiten definiert. Mit Einstellungen Formpainter Grafischer Formpainter lassen sich die Fenster grafisch leicht anordnen. Seite“ [FIRST] und eine Folgeseite [NEXT]. wobei die Seite FIRST dem Modus START. Bestellungen.B. und besitzen Attribute wie z. unterstrichen. Absatzformate Die im Texteditor verfügbaren werden hier eingestellt. d. In der Regel werden zwei verschiedene Seiten benutzt.Stilpflege . eine „1. NEXT dem Modus INC zugewiesen wird. von der man bei selbsterstellten Dokumenten jedoch Gebrauch machen sollte.

Transktion SE71 . auf der rechten die Textzeile.Entwicklungsklasse ZTEST TESTDokument $TMP [anlegen] [sichern] [sichern] [F3] Anlegen einer Seite : Teilobjekte: Seiten – ändern Standardattribute – Seite MAIN Bedeutung Hauptfenster [sichern] [F3] Ändern der Seite Teilobjekte: Fenster – ändern Auswahl des Fensters MAIN per Doppelklick – Klick auf Textelemente Nun erscheint der Texteditor: Auf der linken Seite befindet sich die Formatspalte.Anlegen und Ändern Anlegen eines SAPscript Dokumentes .Bedeutung .Formular . Die folgende Auflistung stammt aus der Dokumentation der beiden Felder (F1-Hilfe) 3 .

die der Anwender nicht verändern kann. 4 . der im zugordneten Stil bzw. d. Tabulatorzeichen. >x Fixzeile Die Zeile ist im Zeileneditor nicht eingabebereit.Formatspalte Die verfügbaren Formate der Formatspalte lassen sich über die F4 Hilfe darstellen. Kommen mehrere Fixzeilen mit dem gleichen Kennzeichen direkt hintereinander vor. Weiterhin wird der in dieser Zeile stehende Text direkt an das zuletzt ausgegebene Zeichen der vorhergehenden Textzeile angehängt.B.B. Formular als Defaultabsatz festgelegt wurde. /= wie Langzeile Jedoch wird bei der Ausgabeaufbereitung der nachfolgende Text in eine neue Zeile gestellt. = Langzeile Diese Zeile wird nicht der Zeilenformatierung im Zeileneditor unterworfen. Falls dies nicht gewünscht ist. / Neue Zeile Der nachfolgende Text wird bei der Ausgabeaufbereitung in eine neue Zeile geschrieben. einen beliebigen Buchstaben verwenden. hier müssen Sie das gewünschte Absatzformat oder Leerzeichen eintragen. Sie werden erst bei der Ausgabeaufbereitung des Textes interpretiert und ausgeführt. Einige finden sich hier: * Defaultabsatz Für die Ausgabeformatierung des nachfolgenden Absatzes werden die Aufbereitungsvorschriften angewendet. eine feste Struktur mitgeben. es kann hier in unterschieden werden zwischen Formatanweisungen und Steueranweisungen. Damit können Sie einem Text z. Maskierungszeichen oder Hypertextverweise nicht ausgewertet werden und damit unverändert zum Ausgabegerät weitergereicht werden. Die Druckaufbereitung interpretiert bei Fixzeilen die ersten beiden Zeichen des Zeileninhalts als Absatzformat für die Formatierung. die dem Absatz entsprechen. Die Formatierungseigenschaften des letzten Absatzformates bleiben dabei erhalten. so werden sie vom Zeileneditor als Einheit betrachtet. ( Roh-Zeile Die nachfolgende Editorzeile wird bei der Ausgabeaufbereitung nicht vom Formularprozessor (Composer) interpretiert. Symbole. Steuerkommandos müssen immer komplett in eine Zeile passen. unterschiedliche Zwischenüberschriften auseinanderhalten. /* Kommentarzeile Diese Zeile wird bei der Ausgabeaufbereitung des Textes nicht berücksichtigt. daß eventuell in dieser Zeile enthaltene Zeichenformate. Damit können Sie z. Außerdem kann sie nicht gelöscht oder getrennt werden. /( wie Rohzeile Jedoch wird bei der Ausgabeaufbereitung der nachfolgende Text in eine neue Zeile gestellt. muß am Anfang der Langzeile mindestens ein Leerzeichen stehen. Dies bedeutet. Blank/Leer Weiterführender Text /E Textelement /: Steuerkommando Die in der eigentlichen Textzeile stehenden Zeichen werden nicht als Text ausgegeben sondern als Steuerkommando aufgefaßt. Folgezeilen sind nicht erlaubt. Fixzeilen können Sie nur per Programm erzeugen. Für das 'x' können Sie eine beliebige Ziffer bzw. Zwischen diese Zeilen kann im Editor nichts eingefügt werden.h. muß am Anfang der Langzeile mindestens ein Leerzeichen stehen. Weiterhin wird der in dieser Zeile stehende Text direkt an das zuletzt ausgegebene Zeichen der vorhergehenden Textzeile angehängt. Falls dies nicht gewünscht ist.

. Wird einem Textbaustein ein Stil bzw. Bei Programmsymbolen handelt es sich um Daten. am Zeilenende getrennt waren. Die Werte von Systemsymbolen sellt SAPscript bereit.h..<)> Zeichenfolgen.</> Hypertextverweise werden wie Zeichenfolgen durch einen Zeichenformatschlüssel NN eingeleitet.. so daß diese. jedem anderen Kommando auf die Editor-Bildschirmbreite umgebrochen und Wörter. d... 5 .... die vorher evtl. Im Textbereich haben die folgenden Sonderzeichen eine Steuerungsfunktion. gilt der Tabulatorstopp-Abstand aus der Formularkopfinformation. Standardsymbole werden mit ihren Werten in der Tabelle TTDTG definiert.. sondern zur Ausgabeaufbereitung interpretiert: Zeichenformate <NN>.. Voraussetzung für die Fließtexteingabe. die durch einen Zeichenformatschlüssel <NN> eingeleitet werden. so können Sie die dort aufgeführten Zeichenformate für die Gestaltung ihres Textes verwenden. wie alle anderen Zeichen auch normal ausgegeben werden können.. Standardsymbole.. zusammengefügt. Zugelassen sind nur die Buchstaben A bis Z und die Ziffern 0 bis 9. d. Programmsymbole und Textsymbole. Textsymbole schließlich erhalten Ihren Wert über Steuerkommandos im Text selbst oder dynamisch über die Einbinden-Funktion im Texteditor. Am Textende werden automatisch Fließtextzeilen bereitgestellt. Das Ende der maskierten Zeichenfolge wird durch <)> festgelegt. Innerhalb des Textes erhalten Sie über die Funktion "Einfügen" einen Zeilenbereich auf dem die oben beschriebene Fließtexteingabe ermöglicht wird. Hypertextverweise <NN:. Die möglichen Formatschlüssel und ihre jeweilige Bedeutung werden in Stilen oder in Formularen festgelegt.</> Zeichenfolgen.Textzeile Der Textzeilenbereich im SAPscript-Texteditor beginnt mit dem Zeilenlineal. Das Zeichenformat muß auf jeden Fall mit einem Buchstaben beginnen. Maskieren von Sonderzeichen <(>. das Weiterspringen Ihres Eingabecursors am Zeilenende in die nächste Zeile.h. SAPscript kennt 4 Arten von Symbolen: Systemsymbole. Nach dem Betätigen der Funktion "Einfügen beenden" wird dann automatisch die Zeilenausrichtung durchgeführt und in den Normalmodus zurückverzweigt. Formular zugeordnet. In allen nachfolgenden eingabebereiten Zeilen können Sie Ihren Text erfassen. Sie strukturieren Ihren Text mit den Funktionstasten Absatz. Der zugehörige Formatschlüssel erscheint dabei neben der Textzeile in der zweistelligen Formatspalte. die durch <(> eingeleitet werden. werden bei der Ausgabeaufbereitung so ausgegeben wie im Zeichenfomat definiert. Symbole &N. Nach dem drauffolgenden Doppelpunkt wird der Hypertextschlüssel eines Hypertextbausteins angegeben. evtl. Vom Anwender definierbare Formatschlüssel können aus einem oder 2 Zeichen bestehen. Falls im Absatz keine Tabulatorposition definiert ist. Bei der Ausgabeaufbereitung werden Symbole durch Ihren aktuell gültigen Wert ersetzt. die das aktuell laufende Ausgabeprogramm zur Verfügung stellt. kleineren Font für Ihr SAPGUI wählen). heben die Wirkung von Sonderzeichen auf. Sie unterscheiden sich im wesentlichen durch die Quelle ihrer Werte. Tabulatorzeichen . Zwei normale Kommas direkt hintereinander bewirken bei der Ausgabeaufbereitung einen Tabulatorsprung.>.N& Symbolnamen werden durch & geklammert. ist die Einstellung "Auto TAB" in Ihren SAPGUI-Einstellungsparametern und eine sichtbare Eingabebreite von mindestens 72 Spalten (d. sie werden nicht ausgegeben.h. Sie dürfen keine Leerzeichen enthalten. Zeile und Seite. Fließtextzeilen (Zeilen mit leerer Formatspalte) werden nach der Funktion "Formatieren" bzw. Die Tabulatorposition ergibt sich dabei aus dem aktuellen Absatzschlüssel der Formatspalte. Das Ende des Zeichenformates wird durch </> festgelegt. Anhand dieses Schlüssels kann dann bei einer Hypertextanzeige auf einem Bildschirmausgabegerät das nächste Hypertextkapitel bei Auswahl durch einen Endbenutzer angezeigt werden.

OR Box <xpos> <ypos> <width> <height> <frame> <intensity> Position <xorigin> <yorigin> <window> <page> Size <width> <height> <window> <page> IF …. END IF 6 .. AND.Kommandos Command New-page <page name> Protect ….. If there is not enough space for the entire paragraph to be printed in the space remaining on the page. Endprotect Use Prints the text following this command on a new page (when a page name is specified then that page is taken as the next page) This acts like a conditional page break. Varying these parameters also helps to draw a line instead of a box. then the entire paragraph is printed on the next page The BOX command draws a box as per the specifications. Putting the text within this command prevents the breaking of the text across multiple pages. This allows the conditional printing of the text on the output document. POSITION command is used to set the x y co-ordinates with respect to the start position of the window. SIZE command is used to specify the size of the box that we need to draw. The various conditional operators that can be used are as follows = EQ Equal to < LT Less than > GT Greater than <= LE Less than or equal to >= GE greater than or equal to <> NE not equal to The logical operators that can be used are as follows NOT. The x y co-ordinates are for the upper left corner relative to the values in the position command.

3. die Formatierung kann in drei Schritten erfolgen: /: POSITION XORIGIN '11. 4.21' MM YPOS '14. 5. Linien.21' YORIGIN '5.31' MM /: SIZE HEIGHT '2' MM WIDTH '76' MM /: BOX FRAME 10 TW INTENSITY 10 oder in einem: /: BOX XPOS '11. POSITION und SIZE kann ein Rechteck gezeichnet werden. 2. Formen Mit den Befehlen BOX.21' MM YPOS '5.31' MM INTENSITY 10 FRAME 0 TW HEIGHT '10' MM WIDTH '20' MM Eine relative Positionierung einer Box kann mittels POSITION WINDOW erzeugt werden: /: POSITION WINDOW /: POSITION XORIGIN '+5' MM YORIGIN '+10' MM Eine nachträgliche Verschiebung der Box erhält man mit:     §¥ ¥© £     §¥ ¥ © £ ¨ § £¥ ¦¥ ¤£¢ ¡   Eine Linie erhält man demzufolge durch das Zeichnen einer Box mit einer Höhe von ‚0’: /: SIZE HEIGHT '0' MM WIDTH '200' MM /: BOX FRAME 10 TW XPOS '11.Fenster. das Bild muss als *tif vorliegen Ausführen des Reportes RSTXLDMC über die SA38 Dateiname und Farbe wählen TextID von ZHEX-MACRO-* in ZHEX-MACRO-Z_MEIN_BILD ändern Ausführen des Reportes mit F8 Alternative Vorgehensweise: /: BITMAP 'LOGO_WEBDE' OBJECT GRAPHICS ID BMAP TYPE BMON Hierfür wird die Grafikdatei über die Transaktion SE78 BMAP importiert Ablage auf Dokumentserver GRAPHICS 7 .81' MM INTENSITY 100 Zeichenformatierungen Innerhalb einer Textzeile können durchaus mehrere Zeichenformate verwendet werden: / <U>Unterstrichen</> <B>Fett</> Verwendung von Grafiken in SAPscript Aufruf im Quelltext: /: INCLUCE Z_MEIN_BILD OBJECT TEXT ID ST LANGUAGE DE Hierzu muss das Bild jedoch im R/3 vorhanden sein 1.

0 Point No No No Attributes Character String Bold Standard attributes Marker No Font attributes Bold Yes Attributes Default Paragraph Standard attributes Line spacing 1.50 CM Alignment Left-aligned Font attributes Font family TIMES Font size 18.00 COURIER 12.00 LN Left margin 4. Teilobjekte Bedeutungen 3.00 CH DINA4 Landscape 6.0 Point Header Paragraph Standard attributes Line spacing 1.00 10.00 LN Left margin 1. Transaktion SE63 Übersetzung Langtexte 2. Teilobjekte Fenstertexte und Dokumentation SAPscript Formulare Beispiel Layout Set Layout set Description Standard attributes First page Default paragraph Tab-stop Page format Orientation Lines/inch Characters/inch Font attributes Font family Font size Bold Italic Underlined Characters B Z_TESTSCRIPT Test SAP script FIRST P1 1.0 Point Paragraphs P1 P2 8 .Import/Export SAPscript -.PC Datei Zur lokalen Sicherung von SAPscript Layouts können die Dokumente mittels dem Report RSTXSCRP von / auf die lokale Workstation übertragen werden Übersetzungen von SAPscript 1.00 CM Alignment Left-aligned Font attributes Font family TIMES Font size 12.

&MAKT-MATNR& / P1 <B>Description:</>.00 20.00 04.0 Point Underlined Yes Attributes Main window Window type Main window Window type Main window Window type Windows MAIN HEADER FOOTER MAIN CONSTANT CONSTANT Pages FIRST Attributes First Page Standard attributes Next page FIRST Page counter Mode START Numbering type Arabic numerals Page window HEADER Left margin Upper margin Window width Window height MAIN Left margin Upper margin Window width Window height FOOTER Left margin Upper margin Window width Window height 00.00 00.&KNA1-NAME1& / P1 <B>PO No:</>.<B>TEST PURCHASE ORDER</> / / MAIN Element MAIN P1 <B>Customer/Supplier:</>.</>&EKPO-MENGE& / P1 <B>Sign:</>&uline(81)& / P1 <B>Date:</>&EKKO-AEDAT& 9 .5 CM' /: BOX XPOS 1 CM YPOS 1 CM WIDTH 18 CM HEIGHT 1 CM FRAME 10 TW INTENSITY 10 / / / P2 .00 04.00 05.00 CM CM CM CM CM CM CM CM CM CM CM CM Text elements for following windows: HEADER Element HEADER /: POSITION XORIGIN 2 CM YORIGIN '-0.00 00.&EKPO-EBELN& / P1 <B>Part No:</>..00 25...&MAKT-MAKTX& / P1 <B>Quantity:.00 20.Bold P3 Yes Undelined paragraph Standard attributes Line spacing 1..00 20..00 LN Alignment Left-aligned Font attributes Font family TIMES Font size 12.00 20..00 00.

PARAMETERS: P_EBELN LIKE EKKO-EBELN. ZOPTION-TDDEST ZOPTION-TDIMMED ZOPTION-TDDELETE ZOPTION-TDPROGRAM = = = = USR01-SPLD. SELECT SINGLE * FROM EKPO WHERE EBELN = P_EBELN AND EBELP = P_EBELP. USR01. SELECT SINGLE NAME1 FROM KNA1 INTO KNA1-NAME1 WHERE KUNNR = EKPO-KUNNR. SELECT SINGLE MAKTX FROM MAKT INTO MAKT-MAKTX WHERE MATNR = EKPO-MATNR AND SPRAS = SY-LANGU.. 'ZPQRPRNT'. CLEAR USR01. KNA1. MARA.5 CM' /: BOX XPOS 1 CM YPOS 1 CM WIDTH 18 CM HEIGHT 1 CM FRAME 10 TW INTENSITY 10 / / / P2 . 'X'. P_EBELP LIKE EKPO-EBELP. TABLES : EKKO. EKPO.FOOTER Element FOOTER /: POSITION XORIGIN 2 CM YORIGIN '-0. INCLUDE STRUCTURE ITCPO. 'X'. = 'TX' = ' ' = ' ' = 'PRINTER' = ' ' = 'Z_TESTSCRIPT' = SY-LANGU = ZOPTION = SY-LANGU 10 . CLEAR EKPO.<B>PLEASE SIGN THE PO BEFORE DISPATCH</> / / ABAP Report REPORT ZPSAPSCRIPT. "Output device (printer) "Print immediately "Delete after printing "Program Name CALL FUNCTION 'OPEN_FORM' EXPORTING APPLICATION * ARCHIVE_INDEX * ARCHIVE_PARAMS DEVICE DIALOG FORM LANGUAGE OPTIONS IMPORTING LANGUAGE EXCEPTIONS OTHERS = 1. DATA : END OF ZOPTION. DATA : BEGIN OF ZOPTION. SELECT SINGLE * FROM USR01 WHERE BNAME = SY-UNAME. CLEAR MAKT. CLEAR KNA1. MAKT.

CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'HEADER' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'HEADER' EXCEPTIONS ELEMENT = 1. 11 . CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'FOOTER' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'FOOTER' EXCEPTIONS ELEMENT = 1. CALL FUNCTION 'CLOSE_FORM' EXCEPTIONS UNOPENED = 1 OTHERS = 2. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'MAIN' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'MAIN' EXCEPTIONS ELEMENT = 1.

Sign up to vote on this title
UsefulNot useful