Description
The PDF explains about Script on SAP.
SAPscript
Einführung
Autor: Jürgen Menges [email protected]
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
Einführung
SAPscript wird verwendet, um Daten aus einem ABAP-Programm in Dokumente in einem vordefinierten Format zu übergeben. Im Standard von R/3 sind sehr viele Dokumente wie z.B. Rechnungen, Mahnungen, Bestellungen, etc. vordefiniert, denen das Druckprogramm bereits zu Grunde liegt.
Übersicht Transaktionscodes
SE63 SE71 SE72 SE78 SO10 - SAPscript Übersetzung - Form Painter - Stilpflege - Sapscript Grafikverwaltung - Standardtext
Elemente eine SAPscript Dokumentes
• Formularname Frei wählbarerer Name gemäss des Namesraumes, d.h. in den meisten Fällen beginnt der Name mit Z oder Y. Sprache SAPScript Formulare sind sprachabhängig, d.h. sie müssen in jeder zu verwendenden Sprache separat gepflegt werden. Kopf Hier werden generelle Daten erfasst und dargestellt, wie Bedeutung des Formulars (Mahnformular Buchungskreis 1010) Seiten eine Übersicht der unterschiedlichen Seiten. In der Regel werden zwei verschiedene Seiten benutzt, eine „1. Seite“ [FIRST] und eine Folgeseite [NEXT], wobei die Seite FIRST dem Modus START, NEXT dem Modus INC zugewiesen wird. Fenster Hier werden die einzelnen Fenster der Seiten definiert. Mit Einstellungen Formpainter Grafischer Formpainter lassen sich die Fenster grafisch leicht anordnen. Ebenfalls lassen sich hier die Attribute der Seiten anlegen Seitenfenster Die unter „Fenster“ definierten Fenster werden hier mit Inhalt gefüllt. Dieser kann aus Text, Includes, Variablen bestehen. Absatzformate Die im Texteditor verfügbaren werden hier eingestellt, und besitzen Attribute wie z.B. Schriftart und –grösse, Ausrichtung, Tabulatoren. Zeichenformate Zeichenformate bezeichnen die Schriftattibute wie kursiv, fett, unterstrichen, etc. Dokumentation optionale Dokumentation, von der man bei selbsterstellten Dokumenten jedoch Gebrauch machen sollte.
•
•
•
•
•
•
•
•
2
Anlegen und Ändern
Anlegen eines SAPscript Dokumentes
- Transktion SE71 - Formular - Bedeutung - 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, auf der rechten die Textzeile. Die folgende Auflistung stammt aus der Dokumentation der beiden Felder (F1-Hilfe)
3
Formatspalte
Die verfügbaren Formate der Formatspalte lassen sich über die F4 Hilfe darstellen, es kann hier in unterschieden werden zwischen Formatanweisungen und Steueranweisungen. Einige finden sich hier:
* Defaultabsatz Für die Ausgabeformatierung des nachfolgenden Absatzes werden die Aufbereitungsvorschriften angewendet, die dem Absatz entsprechen, der im zugordneten Stil bzw. Formular als Defaultabsatz festgelegt wurde. / Neue Zeile Der nachfolgende Text wird bei der Ausgabeaufbereitung in eine neue Zeile geschrieben. Die Formatierungseigenschaften des letzten Absatzformates bleiben dabei erhalten. 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. Sie werden erst bei der Ausgabeaufbereitung des Textes interpretiert und ausgeführt. Steuerkommandos müssen immer komplett in eine Zeile passen. Folgezeilen sind nicht erlaubt. /* Kommentarzeile Diese Zeile wird bei der Ausgabeaufbereitung des Textes nicht berücksichtigt. = Langzeile Diese Zeile wird nicht der Zeilenformatierung im Zeileneditor unterworfen. 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, muß am Anfang der Langzeile mindestens ein Leerzeichen stehen. /= wie Langzeile Jedoch wird bei der Ausgabeaufbereitung der nachfolgende Text in eine neue Zeile gestellt. ( Roh-Zeile Die nachfolgende Editorzeile wird bei der Ausgabeaufbereitung nicht vom Formularprozessor (Composer) interpretiert. Dies bedeutet, daß eventuell in dieser Zeile enthaltene Zeichenformate, Symbole, Tabulatorzeichen, Maskierungszeichen oder Hypertextverweise nicht ausgewertet werden und damit unverändert zum Ausgabegerät weitergereicht werden. 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, muß am Anfang der Langzeile mindestens ein Leerzeichen stehen. /( wie Rohzeile Jedoch wird bei der Ausgabeaufbereitung der nachfolgende Text in eine neue Zeile gestellt. >x Fixzeile Die Zeile ist im Zeileneditor nicht eingabebereit. Außerdem kann sie nicht gelöscht oder getrennt werden. Fixzeilen können Sie nur per Programm erzeugen. Damit können Sie einem Text z.B. eine feste Struktur mitgeben, die der Anwender nicht verändern kann. Für das 'x' können Sie eine beliebige Ziffer bzw. einen beliebigen Buchstaben verwenden. Damit können Sie z.B. unterschiedliche Zwischenüberschriften auseinanderhalten. Kommen mehrere Fixzeilen mit dem gleichen Kennzeichen direkt hintereinander vor, so werden sie vom Zeileneditor als Einheit betrachtet. Zwischen diese Zeilen kann im Editor nichts eingefügt werden. Die Druckaufbereitung interpretiert bei Fixzeilen die ersten beiden Zeichen des Zeileninhalts als Absatzformat für die Formatierung, d.h. hier müssen Sie das gewünschte Absatzformat oder Leerzeichen eintragen.
4
Textzeile
Der Textzeilenbereich im SAPscript-Texteditor beginnt mit dem Zeilenlineal. In allen nachfolgenden eingabebereiten Zeilen können Sie Ihren Text erfassen. Sie strukturieren Ihren Text mit den Funktionstasten Absatz, Zeile und Seite. Der zugehörige Formatschlüssel erscheint dabei neben der Textzeile in der zweistelligen Formatspalte. Fließtextzeilen (Zeilen mit leerer Formatspalte) werden nach der Funktion "Formatieren" bzw. jedem anderen Kommando auf die Editor-Bildschirmbreite umgebrochen und Wörter, die vorher evtl. am Zeilenende getrennt waren, zusammengefügt. Am Textende werden automatisch Fließtextzeilen bereitgestellt. Innerhalb des Textes erhalten Sie über die Funktion "Einfügen" einen Zeilenbereich auf dem die oben beschriebene Fließtexteingabe ermöglicht wird. Nach dem Betätigen der Funktion "Einfügen beenden" wird dann automatisch die Zeilenausrichtung durchgeführt und in den Normalmodus zurückverzweigt. Voraussetzung für die Fließtexteingabe, d.h. das Weiterspringen Ihres Eingabecursors am Zeilenende in die nächste Zeile, ist die Einstellung "Auto TAB" in Ihren SAPGUI-Einstellungsparametern und eine sichtbare Eingabebreite von mindestens 72 Spalten (d.h. evtl. kleineren Font für Ihr SAPGUI wählen). Im Textbereich haben die folgenden Sonderzeichen eine Steuerungsfunktion, d.h. sie werden nicht ausgegeben, sondern zur Ausgabeaufbereitung interpretiert:
Zeichenformate <NN>...</> Zeichenfolgen, die durch einen Zeichenformatschlüssel <NN> eingeleitet werden, werden bei der Ausgabeaufbereitung so ausgegeben wie im Zeichenfomat definiert. Die möglichen Formatschlüssel und ihre jeweilige Bedeutung werden in Stilen oder in Formularen festgelegt. Wird einem Textbaustein ein Stil bzw. Formular zugeordnet, so können Sie die dort aufgeführten Zeichenformate für die Gestaltung ihres Textes verwenden. Vom Anwender definierbare Formatschlüssel können aus einem oder 2 Zeichen bestehen. Zugelassen sind nur die Buchstaben A bis Z und die Ziffern 0 bis 9. Das Zeichenformat muß auf jeden Fall mit einem Buchstaben beginnen. Das Ende des Zeichenformates wird durch </> festgelegt. Tabulatorzeichen ,, Zwei normale Kommas direkt hintereinander bewirken bei der Ausgabeaufbereitung einen Tabulatorsprung. Die Tabulatorposition ergibt sich dabei aus dem aktuellen Absatzschlüssel der Formatspalte. Falls im Absatz keine Tabulatorposition definiert ist, gilt der Tabulatorstopp-Abstand aus der Formularkopfinformation. Symbole &N...N& Symbolnamen werden durch & geklammert. Sie dürfen keine Leerzeichen enthalten. Bei der Ausgabeaufbereitung werden Symbole durch Ihren aktuell gültigen Wert ersetzt. SAPscript kennt 4 Arten von Symbolen: Systemsymbole, Standardsymbole, Programmsymbole und Textsymbole. Sie unterscheiden sich im wesentlichen durch die Quelle ihrer Werte. Die Werte von Systemsymbolen sellt SAPscript bereit. Standardsymbole werden mit ihren Werten in der Tabelle TTDTG definiert. Bei Programmsymbolen handelt es sich um Daten, die das aktuell laufende Ausgabeprogramm zur Verfügung stellt. Textsymbole schließlich erhalten Ihren Wert über Steuerkommandos im Text selbst oder dynamisch über die Einbinden-Funktion im Texteditor. Maskieren von Sonderzeichen <(>...<)> Zeichenfolgen, die durch <(> eingeleitet werden, heben die Wirkung von Sonderzeichen auf, so daß diese, wie alle anderen Zeichen auch normal ausgegeben werden können. Das Ende der maskierten Zeichenfolge wird durch <)> festgelegt. Hypertextverweise <NN:....>...</> Hypertextverweise werden wie Zeichenfolgen durch einen Zeichenformatschlüssel NN eingeleitet. Nach dem drauffolgenden Doppelpunkt wird der Hypertextschlüssel eines Hypertextbausteins angegeben. Anhand dieses Schlüssels kann dann bei einer Hypertextanzeige auf einem Bildschirmausgabegerät das nächste Hypertextkapitel bei Auswahl durch einen Endbenutzer angezeigt werden.
5
Kommandos
Command New-page <page name> Protect ….. 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. Putting the text within this command prevents the breaking of the text across multiple pages. If there is not enough space for the entire paragraph to be printed in the space remaining on the page, then the entire paragraph is printed on the next page The BOX command draws a box as per the specifications. The x y co-ordinates are for the upper left corner relative to the values in the position command. 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. Varying these parameters also helps to draw a line instead of a box. This allows the conditional printing of the text on the output document. 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, AND, OR
Box <xpos> <ypos> <width> <height> <frame> <intensity> Position <xorigin> <yorigin> <window> <page> Size <width> <height> <window> <page> IF ….. END IF
6
Fenster, Linien, Formen
Mit den Befehlen BOX, POSITION und SIZE kann ein Rechteck gezeichnet werden, die Formatierung kann in drei Schritten erfolgen: /: POSITION XORIGIN '11.21' YORIGIN '5.31' MM /: SIZE HEIGHT '2' MM WIDTH '76' MM /: BOX FRAME 10 TW INTENSITY 10 oder in einem: /: BOX XPOS '11.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.21' MM YPOS '14.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. 2. 3. 4. 5. 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
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. Transaktion SE63 Übersetzung Langtexte 2. Teilobjekte Bedeutungen 3. 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.00 CH DINA4 Landscape 6.00 10.00
COURIER 12.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.00 LN Left margin 1.00 CM Alignment Left-aligned Font attributes Font family TIMES Font size 12.0 Point Header Paragraph Standard attributes Line spacing 1.00 LN Left margin 4.50 CM Alignment Left-aligned Font attributes Font family TIMES Font size 18.0 Point
Paragraphs P1
P2
8
Bold P3
Yes
Undelined paragraph Standard attributes Line spacing 1.00 LN Alignment Left-aligned Font attributes Font family TIMES Font size 12.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.00 20.00 04.00 00.00 05.00 20.00 20.00 00.00 25.00 20.00 04.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.5 CM' /: BOX XPOS 1 CM YPOS 1 CM WIDTH 18 CM HEIGHT 1 CM FRAME 10 TW INTENSITY 10 / / / P2 ,,<B>TEST PURCHASE ORDER</> / / MAIN Element MAIN P1 <B>Customer/Supplier:</>,,&KNA1-NAME1& / P1 <B>PO No:</>,,&EKPO-EBELN& / P1 <B>Part No:</>,,&MAKT-MATNR& / P1 <B>Description:</>,,&MAKT-MAKTX& / P1 <B>Quantity:,,</>&EKPO-MENGE& / P1 <B>Sign:</>&uline(81)& / P1 <B>Date:</>&EKKO-AEDAT&
9
FOOTER Element FOOTER /: POSITION XORIGIN 2 CM YORIGIN '-0.5 CM' /: BOX XPOS 1 CM YPOS 1 CM WIDTH 18 CM HEIGHT 1 CM FRAME 10 TW INTENSITY 10 / / / P2 ,,<B>PLEASE SIGN THE PO BEFORE DISPATCH</> / /
ABAP Report
REPORT ZPSAPSCRIPT. TABLES : EKKO, EKPO, KNA1, USR01, MARA, MAKT. DATA : BEGIN OF ZOPTION. INCLUDE STRUCTURE ITCPO. DATA : END OF ZOPTION. PARAMETERS: P_EBELN LIKE EKKO-EBELN, P_EBELP LIKE EKPO-EBELP. CLEAR EKPO. SELECT SINGLE * FROM EKPO WHERE EBELN = P_EBELN AND EBELP = P_EBELP. CLEAR KNA1. SELECT SINGLE NAME1 FROM KNA1 INTO KNA1-NAME1 WHERE KUNNR = EKPO-KUNNR. CLEAR MAKT. SELECT SINGLE MAKTX FROM MAKT INTO MAKT-MAKTX WHERE MATNR = EKPO-MATNR AND SPRAS = SY-LANGU. CLEAR USR01. SELECT SINGLE * FROM USR01 WHERE BNAME = SY-UNAME. ZOPTION-TDDEST ZOPTION-TDIMMED ZOPTION-TDDELETE ZOPTION-TDPROGRAM = = = = USR01-SPLD. 'X'. 'X'. 'ZPQRPRNT'. "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.
= 'TX' = ' ' = ' ' = 'PRINTER' = ' ' = 'Z_TESTSCRIPT' = SY-LANGU = ZOPTION = SY-LANGU
10
CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'HEADER' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'HEADER' EXCEPTIONS ELEMENT = 1. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'MAIN' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'MAIN' EXCEPTIONS ELEMENT = 1. 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.
11
doc_130926954.pdf
The PDF explains about Script on SAP.
SAPscript
Einführung
Autor: Jürgen Menges [email protected]
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
Einführung
SAPscript wird verwendet, um Daten aus einem ABAP-Programm in Dokumente in einem vordefinierten Format zu übergeben. Im Standard von R/3 sind sehr viele Dokumente wie z.B. Rechnungen, Mahnungen, Bestellungen, etc. vordefiniert, denen das Druckprogramm bereits zu Grunde liegt.
Übersicht Transaktionscodes
SE63 SE71 SE72 SE78 SO10 - SAPscript Übersetzung - Form Painter - Stilpflege - Sapscript Grafikverwaltung - Standardtext
Elemente eine SAPscript Dokumentes
• Formularname Frei wählbarerer Name gemäss des Namesraumes, d.h. in den meisten Fällen beginnt der Name mit Z oder Y. Sprache SAPScript Formulare sind sprachabhängig, d.h. sie müssen in jeder zu verwendenden Sprache separat gepflegt werden. Kopf Hier werden generelle Daten erfasst und dargestellt, wie Bedeutung des Formulars (Mahnformular Buchungskreis 1010) Seiten eine Übersicht der unterschiedlichen Seiten. In der Regel werden zwei verschiedene Seiten benutzt, eine „1. Seite“ [FIRST] und eine Folgeseite [NEXT], wobei die Seite FIRST dem Modus START, NEXT dem Modus INC zugewiesen wird. Fenster Hier werden die einzelnen Fenster der Seiten definiert. Mit Einstellungen Formpainter Grafischer Formpainter lassen sich die Fenster grafisch leicht anordnen. Ebenfalls lassen sich hier die Attribute der Seiten anlegen Seitenfenster Die unter „Fenster“ definierten Fenster werden hier mit Inhalt gefüllt. Dieser kann aus Text, Includes, Variablen bestehen. Absatzformate Die im Texteditor verfügbaren werden hier eingestellt, und besitzen Attribute wie z.B. Schriftart und –grösse, Ausrichtung, Tabulatoren. Zeichenformate Zeichenformate bezeichnen die Schriftattibute wie kursiv, fett, unterstrichen, etc. Dokumentation optionale Dokumentation, von der man bei selbsterstellten Dokumenten jedoch Gebrauch machen sollte.
•
•
•
•
•
•
•
•
2
Anlegen und Ändern
Anlegen eines SAPscript Dokumentes
- Transktion SE71 - Formular - Bedeutung - 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, auf der rechten die Textzeile. Die folgende Auflistung stammt aus der Dokumentation der beiden Felder (F1-Hilfe)
3
Formatspalte
Die verfügbaren Formate der Formatspalte lassen sich über die F4 Hilfe darstellen, es kann hier in unterschieden werden zwischen Formatanweisungen und Steueranweisungen. Einige finden sich hier:
* Defaultabsatz Für die Ausgabeformatierung des nachfolgenden Absatzes werden die Aufbereitungsvorschriften angewendet, die dem Absatz entsprechen, der im zugordneten Stil bzw. Formular als Defaultabsatz festgelegt wurde. / Neue Zeile Der nachfolgende Text wird bei der Ausgabeaufbereitung in eine neue Zeile geschrieben. Die Formatierungseigenschaften des letzten Absatzformates bleiben dabei erhalten. 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. Sie werden erst bei der Ausgabeaufbereitung des Textes interpretiert und ausgeführt. Steuerkommandos müssen immer komplett in eine Zeile passen. Folgezeilen sind nicht erlaubt. /* Kommentarzeile Diese Zeile wird bei der Ausgabeaufbereitung des Textes nicht berücksichtigt. = Langzeile Diese Zeile wird nicht der Zeilenformatierung im Zeileneditor unterworfen. 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, muß am Anfang der Langzeile mindestens ein Leerzeichen stehen. /= wie Langzeile Jedoch wird bei der Ausgabeaufbereitung der nachfolgende Text in eine neue Zeile gestellt. ( Roh-Zeile Die nachfolgende Editorzeile wird bei der Ausgabeaufbereitung nicht vom Formularprozessor (Composer) interpretiert. Dies bedeutet, daß eventuell in dieser Zeile enthaltene Zeichenformate, Symbole, Tabulatorzeichen, Maskierungszeichen oder Hypertextverweise nicht ausgewertet werden und damit unverändert zum Ausgabegerät weitergereicht werden. 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, muß am Anfang der Langzeile mindestens ein Leerzeichen stehen. /( wie Rohzeile Jedoch wird bei der Ausgabeaufbereitung der nachfolgende Text in eine neue Zeile gestellt. >x Fixzeile Die Zeile ist im Zeileneditor nicht eingabebereit. Außerdem kann sie nicht gelöscht oder getrennt werden. Fixzeilen können Sie nur per Programm erzeugen. Damit können Sie einem Text z.B. eine feste Struktur mitgeben, die der Anwender nicht verändern kann. Für das 'x' können Sie eine beliebige Ziffer bzw. einen beliebigen Buchstaben verwenden. Damit können Sie z.B. unterschiedliche Zwischenüberschriften auseinanderhalten. Kommen mehrere Fixzeilen mit dem gleichen Kennzeichen direkt hintereinander vor, so werden sie vom Zeileneditor als Einheit betrachtet. Zwischen diese Zeilen kann im Editor nichts eingefügt werden. Die Druckaufbereitung interpretiert bei Fixzeilen die ersten beiden Zeichen des Zeileninhalts als Absatzformat für die Formatierung, d.h. hier müssen Sie das gewünschte Absatzformat oder Leerzeichen eintragen.
4
Textzeile
Der Textzeilenbereich im SAPscript-Texteditor beginnt mit dem Zeilenlineal. In allen nachfolgenden eingabebereiten Zeilen können Sie Ihren Text erfassen. Sie strukturieren Ihren Text mit den Funktionstasten Absatz, Zeile und Seite. Der zugehörige Formatschlüssel erscheint dabei neben der Textzeile in der zweistelligen Formatspalte. Fließtextzeilen (Zeilen mit leerer Formatspalte) werden nach der Funktion "Formatieren" bzw. jedem anderen Kommando auf die Editor-Bildschirmbreite umgebrochen und Wörter, die vorher evtl. am Zeilenende getrennt waren, zusammengefügt. Am Textende werden automatisch Fließtextzeilen bereitgestellt. Innerhalb des Textes erhalten Sie über die Funktion "Einfügen" einen Zeilenbereich auf dem die oben beschriebene Fließtexteingabe ermöglicht wird. Nach dem Betätigen der Funktion "Einfügen beenden" wird dann automatisch die Zeilenausrichtung durchgeführt und in den Normalmodus zurückverzweigt. Voraussetzung für die Fließtexteingabe, d.h. das Weiterspringen Ihres Eingabecursors am Zeilenende in die nächste Zeile, ist die Einstellung "Auto TAB" in Ihren SAPGUI-Einstellungsparametern und eine sichtbare Eingabebreite von mindestens 72 Spalten (d.h. evtl. kleineren Font für Ihr SAPGUI wählen). Im Textbereich haben die folgenden Sonderzeichen eine Steuerungsfunktion, d.h. sie werden nicht ausgegeben, sondern zur Ausgabeaufbereitung interpretiert:
Zeichenformate <NN>...</> Zeichenfolgen, die durch einen Zeichenformatschlüssel <NN> eingeleitet werden, werden bei der Ausgabeaufbereitung so ausgegeben wie im Zeichenfomat definiert. Die möglichen Formatschlüssel und ihre jeweilige Bedeutung werden in Stilen oder in Formularen festgelegt. Wird einem Textbaustein ein Stil bzw. Formular zugeordnet, so können Sie die dort aufgeführten Zeichenformate für die Gestaltung ihres Textes verwenden. Vom Anwender definierbare Formatschlüssel können aus einem oder 2 Zeichen bestehen. Zugelassen sind nur die Buchstaben A bis Z und die Ziffern 0 bis 9. Das Zeichenformat muß auf jeden Fall mit einem Buchstaben beginnen. Das Ende des Zeichenformates wird durch </> festgelegt. Tabulatorzeichen ,, Zwei normale Kommas direkt hintereinander bewirken bei der Ausgabeaufbereitung einen Tabulatorsprung. Die Tabulatorposition ergibt sich dabei aus dem aktuellen Absatzschlüssel der Formatspalte. Falls im Absatz keine Tabulatorposition definiert ist, gilt der Tabulatorstopp-Abstand aus der Formularkopfinformation. Symbole &N...N& Symbolnamen werden durch & geklammert. Sie dürfen keine Leerzeichen enthalten. Bei der Ausgabeaufbereitung werden Symbole durch Ihren aktuell gültigen Wert ersetzt. SAPscript kennt 4 Arten von Symbolen: Systemsymbole, Standardsymbole, Programmsymbole und Textsymbole. Sie unterscheiden sich im wesentlichen durch die Quelle ihrer Werte. Die Werte von Systemsymbolen sellt SAPscript bereit. Standardsymbole werden mit ihren Werten in der Tabelle TTDTG definiert. Bei Programmsymbolen handelt es sich um Daten, die das aktuell laufende Ausgabeprogramm zur Verfügung stellt. Textsymbole schließlich erhalten Ihren Wert über Steuerkommandos im Text selbst oder dynamisch über die Einbinden-Funktion im Texteditor. Maskieren von Sonderzeichen <(>...<)> Zeichenfolgen, die durch <(> eingeleitet werden, heben die Wirkung von Sonderzeichen auf, so daß diese, wie alle anderen Zeichen auch normal ausgegeben werden können. Das Ende der maskierten Zeichenfolge wird durch <)> festgelegt. Hypertextverweise <NN:....>...</> Hypertextverweise werden wie Zeichenfolgen durch einen Zeichenformatschlüssel NN eingeleitet. Nach dem drauffolgenden Doppelpunkt wird der Hypertextschlüssel eines Hypertextbausteins angegeben. Anhand dieses Schlüssels kann dann bei einer Hypertextanzeige auf einem Bildschirmausgabegerät das nächste Hypertextkapitel bei Auswahl durch einen Endbenutzer angezeigt werden.
5
Kommandos
Command New-page <page name> Protect ….. 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. Putting the text within this command prevents the breaking of the text across multiple pages. If there is not enough space for the entire paragraph to be printed in the space remaining on the page, then the entire paragraph is printed on the next page The BOX command draws a box as per the specifications. The x y co-ordinates are for the upper left corner relative to the values in the position command. 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. Varying these parameters also helps to draw a line instead of a box. This allows the conditional printing of the text on the output document. 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, AND, OR
Box <xpos> <ypos> <width> <height> <frame> <intensity> Position <xorigin> <yorigin> <window> <page> Size <width> <height> <window> <page> IF ….. END IF
6
Fenster, Linien, Formen
Mit den Befehlen BOX, POSITION und SIZE kann ein Rechteck gezeichnet werden, die Formatierung kann in drei Schritten erfolgen: /: POSITION XORIGIN '11.21' YORIGIN '5.31' MM /: SIZE HEIGHT '2' MM WIDTH '76' MM /: BOX FRAME 10 TW INTENSITY 10 oder in einem: /: BOX XPOS '11.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.21' MM YPOS '14.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. 2. 3. 4. 5. 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
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. Transaktion SE63 Übersetzung Langtexte 2. Teilobjekte Bedeutungen 3. 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.00 CH DINA4 Landscape 6.00 10.00
COURIER 12.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.00 LN Left margin 1.00 CM Alignment Left-aligned Font attributes Font family TIMES Font size 12.0 Point Header Paragraph Standard attributes Line spacing 1.00 LN Left margin 4.50 CM Alignment Left-aligned Font attributes Font family TIMES Font size 18.0 Point
Paragraphs P1
P2
8
Bold P3
Yes
Undelined paragraph Standard attributes Line spacing 1.00 LN Alignment Left-aligned Font attributes Font family TIMES Font size 12.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.00 20.00 04.00 00.00 05.00 20.00 20.00 00.00 25.00 20.00 04.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.5 CM' /: BOX XPOS 1 CM YPOS 1 CM WIDTH 18 CM HEIGHT 1 CM FRAME 10 TW INTENSITY 10 / / / P2 ,,<B>TEST PURCHASE ORDER</> / / MAIN Element MAIN P1 <B>Customer/Supplier:</>,,&KNA1-NAME1& / P1 <B>PO No:</>,,&EKPO-EBELN& / P1 <B>Part No:</>,,&MAKT-MATNR& / P1 <B>Description:</>,,&MAKT-MAKTX& / P1 <B>Quantity:,,</>&EKPO-MENGE& / P1 <B>Sign:</>&uline(81)& / P1 <B>Date:</>&EKKO-AEDAT&
9
FOOTER Element FOOTER /: POSITION XORIGIN 2 CM YORIGIN '-0.5 CM' /: BOX XPOS 1 CM YPOS 1 CM WIDTH 18 CM HEIGHT 1 CM FRAME 10 TW INTENSITY 10 / / / P2 ,,<B>PLEASE SIGN THE PO BEFORE DISPATCH</> / /
ABAP Report
REPORT ZPSAPSCRIPT. TABLES : EKKO, EKPO, KNA1, USR01, MARA, MAKT. DATA : BEGIN OF ZOPTION. INCLUDE STRUCTURE ITCPO. DATA : END OF ZOPTION. PARAMETERS: P_EBELN LIKE EKKO-EBELN, P_EBELP LIKE EKPO-EBELP. CLEAR EKPO. SELECT SINGLE * FROM EKPO WHERE EBELN = P_EBELN AND EBELP = P_EBELP. CLEAR KNA1. SELECT SINGLE NAME1 FROM KNA1 INTO KNA1-NAME1 WHERE KUNNR = EKPO-KUNNR. CLEAR MAKT. SELECT SINGLE MAKTX FROM MAKT INTO MAKT-MAKTX WHERE MATNR = EKPO-MATNR AND SPRAS = SY-LANGU. CLEAR USR01. SELECT SINGLE * FROM USR01 WHERE BNAME = SY-UNAME. ZOPTION-TDDEST ZOPTION-TDIMMED ZOPTION-TDDELETE ZOPTION-TDPROGRAM = = = = USR01-SPLD. 'X'. 'X'. 'ZPQRPRNT'. "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.
= 'TX' = ' ' = ' ' = 'PRINTER' = ' ' = 'Z_TESTSCRIPT' = SY-LANGU = ZOPTION = SY-LANGU
10
CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'HEADER' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'HEADER' EXCEPTIONS ELEMENT = 1. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = 'MAIN' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'MAIN' EXCEPTIONS ELEMENT = 1. 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.
11
doc_130926954.pdf