Sunday, September 1, 2024

ABAP FAQ - Sapscripts

 

What is sap script and layout set?

Ans - SAPscript is the integrated text management system of the SAP R/3 System. SAPscript is tightly integrated into the SAP System. It is used for many different word-processing tasks all over the SAP System.

 



What is layout set?

 

A layout set in SAPscript is used for page layout. The layout set contains various elements, which are used for layout control of the individual pages and also contain layout information for texts which are to be output on the individual pages.

 

The layot of a document is defined in a layot set.

A layout set specified the appearance and structure of a document.

 

Layout sets contain predefined text modules with space reserved for variable data.  You can use these text modules for different application.

 

Every SAPscript document uses a layout set.

 

To make changes to your documents, such as moving a piece of text, or changing fonts, paragraph formats, and tabs, you only need to change the layout set.

 

 

There are two ways of formatting texts using layout sets:

The text is entered and output in standard text maintenance.  You can  assign any layout set.  Text can also be entered via the layout set  a  letter header, for example.

The text is formatted via an ABAP/4 program using a layout set.  The  program can either dynamically output individual predefined text modules, text elements or transfer entire texts, which are to be output in the layout set.

 

You can use Styles to define the formatting of the text in your documents.  A style

determines text formatting by setting the paragraph and character formats used in a

document.  You can, for example, use a style to highlight character strings or whole

paragraphs.  You can assign a style to any text.  Typically, however, you’ll use styles

primarily in the main windows of layout sets, where users type or enter text directly

in documents.

 

Header data is found  in both style and layout set maintenance.

In style maintenance, it is used primarily to present important information -  designed to make it easier for the end user to select a style.  The header data in layout set maintenance, on the other hand, is used for information and control purposes.

 

Windows are defined in layout set maintenance.  They represent areas

which are positioned on pages  as page windows and in which text is

later output.  At least one window must be defined for each layout set.  If

not, a text cannot be formatted by SAP script.

 

The following window types can be used:

 

MAIN – Main window in which continuous text is output.  This is the window used by dialog users of a print program and layout set.  For example the body text of a letter would be entered in MAIN.

 

VAR – Window with variable contents.  The text can vary on each page in which the window is positioned.  Variable windows are formatted for each page.

 

CONST – Window with constant contents which is only formatted once.

 

A layout set has the following elements:

 

Header data  - Data related to development (created by, development class, etc.)  and layout set information (which elements are used) are both stored in the header data.  A start page must be entered here.

 

Paragraph formats - Paragraph formats are required in layout sets -  as in styles - in order to format texts.  However, they are also used for word processing in layout sets, for example, to format  text elements.

 

Character formats - You can also use character formats to format texts or paragraphs. Unlike paragraph formats, however, they are used to format text within a paragraph.

 

Windows  - Windows are names and window types, which are not physically positioned until they are allocated to pages and units of measurement are specified.

 

Pages - Pages are defined to provide the system with a start and end point  in text formatting.

 

Page windows - Page windows are the combination of windows and pages, where the dimensions of a window and its position on a page are specified.

 

The purpose of SAP script control commands is to allow control of the

output formatting.  These commands are not interpreted by the SAPscript

editor, but are passed through to the SAPscript Composer for processing.  The

composer is the program that converts text from the form displayed in the editor to

the form used for printing.

 

 

What is SAPscript and explain its purpose?

SAP Script is the SAP system’s own text-proessing system.  You’ll find that it looks and feels a lot like other leading text-processing system that you may use on your personal computer.

 

Every company needs to output documents with a uniformly defined layout (eg. Invoices, delivery notes, etc..) all the time.

 

The basic layout of the document is pre-defined , but in many cases, other data has to be merged with it, such as address data or purchase order items.  This data might be entered manually by a employee, or retrieved from a database table.

 

Large quantities of these documents have to be produced.  From printing is usually a mattter of large print runs of documents such as payslips, checks, order confirmation, reminders etc.

 

SAPscript has been developed to meet the above requirements.  IT is an integrated tool for text entry and form printing in  R/3 applications.

 

These documents are normally provided by SAP but every organization have their unique waqys of these documents so to customize these and for creating newer ones if required; SAP script is used.

 

 

What are components of SAPscript?

Layout set, SAPscript Text, ABAP Print program , symbols, function modules like open_form, close_From, Read_text etc,.

 

What are the ABAP/4 Commands that link to a layout set?

Call function OPEN-form.

Call function WRITE-from.

Call function CLOSE-from

 

 

Importing Graphics (Logos) into SAPScript

The program RSTXLDMC can be used to upload graphics (file extension .tif on PC files) into individual standard text.

 

Other useful programs for SAPScript

RSTXFCON - Converts page format

RSTXSCRP - Upload/Download layout sets

RSTXDBUG - SAPScript debugger

 

Debug SAPScript

You can debug a SAPScript: Use Tools - Word Processing - Layout Set.

Enter name of layout set and then Utilities - Activate Debugger.

It is of no consequence which layout  set you enter when selecting the SAPscript debugger. (Menu path: Tools-Word-processing - Forms, Utilities - Activate Debugger) The next layoutset called will invoke the debugger. This is quite handy when verifying which layoutset is being called (Verifying customizing settings).

Another way to set the SAPScript debugger is to run program RSTXDBUG.

 

When a Form is copied from one client to another .And If U try to display or change the form in the copied client .The  possible error message cud be :

1.Form not found

Try coping again specifing the language .

 

2.IF IT dispalys an error message saying That the text file is inconsistent .

Then go to SE38 and Run “RSTXCHKO” .

It will ask for the form name ,then check all the checkboxes and then run the program.

Note : all Script related problems can be solved using Program ‘RSTX*’.

 

 

How to take a back up of script layout  into U’r hard disk and load it later

Use Program RSTXSCRP.

Use EXPORT mode, when downloading and IMPORT when uploading a script. Don’t forget to give the form  name in the object field. This will create a script with the same name as that of the original script . If a script with the same name exists in the same client ,then it will give an error ‘Object cannot be overwritten ’ .

 

I want to copy table across clients

Use Program RSCLTCOP

 

To transfer script files across systems (Not Clients)  - RSTXSCRP

 

To compare the contents of a table across clients: RSTBSERV

 

To change the development class of any object - RSWBO052

 

What type of variables normally used in sap script to output data?

&Tables name- fields&.

 

How do you number pages in sap script layout outputs?

& page &

&next Page &

 

What takes most time in SAP script programming?

Defining layout set up / sets.

 

How do you use tab sets in layout sets?

Define paragraph with defined tabs.

 

How do you backup sap script layout sets? Can you download and upload? How?

SAP script backup :- In transaction SE71 goto Utilities -> Copy from client -> Give source form name, source client (000 default), Target form name.

Download :- SE71, type form name -> Display -> Utilities -> form info -> List -> Save to PC file.

Upload :- Create form with page, window, pagewindow with the help of downloaded PC file. Text elements for Page windows to be copied from PC file.

 

 

What is Compare Tool in SAP Script ?

SAP Script offers  tools for comparing objects across clients. We can compare or copy the following kinds of objects.

Styles

Layout sets

Documents

With the Compare tool we can do the following :

Check whether an object exists in both clients

Display the differences between the versions of an object

 

Layout Sets  are used to control page layout and text formatting in documents .

 

SAP Standard styles and layout sets are always held in Client 000.

 

In what format does  SAP Script store text ?

SAPscript texts are stored in Interchange Text Format (ITF).  SAPscript offers conversion programs for the text file formats Rich Text Format (RTF) and ASCII as an interface to other word processors.

 

The various window types in SAP Script are

Main, Variable and Constant.

 

 

The New-Page command is used to force a Page break in the text at any point.

 

Protect ... Endprotect command pairs can be nested (True / False).

False.

 

Delimiter &  must be used immediately before and after the symbol.

 

 

What does the composer do?

 

The final appearance of your documednt depends on interaction between the print program and the layout set.

 

The SAPscript print program initializes the printing process.  Every command entered using the SAPscript programming interfaces is transferred to the composer.

 

The composer received layout information from the layout set specified by the print program.  The documents are formatted according to this layout information.

 

If the documents contain variables, the compoer replaces these variables with data from the R/3 system, such as the current date, or with the userdata selected by the print program.

 

The print program controls the completion of thelayout set.  Once this is done, the composer places the completed document in the spool.

 

 

Where do we define Tab space for data in SAPScript?

 

When defining the paragraph for the text element we can define the TABS then.  There is parameter called TABS to be defined in paragraph definition.

 

 

 

 

what is difference between Window & a Page Window?

 

Window: An area that is predefined in the layout set.  Windows are text modules, which are positioned on a document page.

 

We define the window type, Default Paragraph, specify the text elements or a SAPscript text to be included etc in the Windcow Component.

 

PageWindow: we define the parameters of the earlier defined Window, appearance on the document like left or right margins, Width & Height.

 

 

What are symboles & state their different types with E.g.

 

A Symbol is a constant, which can be inserted in a document.  It saves the user unnecessary work when replacing sections of text, phrases, etc.  Each symbol has a name which is encloses by &.

 

Eg. &variable name &

System symbols eg &Date&, &time& etc.

 

Standard symbols :Standard symbols are user-defined.  They are maintained centrally in table TTDTG. Eg. &SGDH& for the opening salutation : “dear sir/madam”.

&MFG& for the closing salutation :”yours Faithfully”.

 

Program Symbols : Program symbols display data from the ABAP/4 program which has called the word processing function Eg. Itab-connid.

 

Text symbols: You can define a text symbol for any text module.   This symbol is valid only in the text module for which you have defined it.  Eg. Define &Symbol& = ‘value’.

 

How do we define Text symbols?

Using the control command DEFINE &x1& = ‘56’.

 

State few control commands?.

Protect .. endprotect, define, new-page, include.. if… endif.

 

 

what is the purpose  of “Protect and EndProtect”?.

 

You can specify either in the style or in the layout set that a particular paragraph should not be slit in two by a page beak. If the page protect attribute is set then the complete paragraph is always output ona single page.  This property applies only to that particular paragraph.   SAPScript provides the PROTECT… ENDPROTECT command pair to allow you to define the areas to be protected against a page beak on an individual basis.  Thus the PROTECT/ENDPROTECT commands may be regarded as a kind of conditional NEW-PAGE command, the condition being whether or not the lines enclosed between the two commands fit in the space remaining in the current main window.

 

 

How do we set the date, time format?

 

SET TIME MASK : CONROLS THE TIME FIELD FORMAT.

SET DATE MASK : CONTRLS THE DATE FIELD FORMAT.

 

EG. Set Time Mask = “ HH:MM:SS”.

 

what is the role of an ABAP progrm in SAPScript?

 

Retrieves R/3 application data from the database.

 

Defines the layout set processing logic ( The order and repetition of text elements).

 

Chooses a layout set for printing.

 

Selects the output device, such as printer,monitor, or fax.

 

Sets print attributes such as immediate output, number of copies ,and pages to beprinted.

 

How to reuse some components of the script layout to other program?

Is this script layout is standard for all the printer? If not then y  we are going for script layout?

 

Give me couple of methods that I will take standard script layout printout for different printer.

 

How u will analysis script program? ( which goes to main and how many windows etc….)

 

 

Can V  inserted logo on your program?. Give me the program name which uploads my logo and syntax for logo inserting in sap script.

Yes u can insert a logo on your script layout.

Use this Report “RSTXLDMC” which will uploads the logo.

Use the following statement which includes the logo on your script prog.

/: INCLUDE 'ZHEX-MACRO-XXX' OBJECT TEXT ID ST LANGUAGE 'E'.

 

XXX – object name, u will gives @ runtime in rstxldmc program.

 

Give me syntax for box command.

BOX XPOS 2 MM  WIDTH 0 CM HEIGHT '9.5' CM FRAME 10 TW

 

 

 

 

 

 

 

Script Commands.

 

Defining a variable

 

DEFINE &CUST& = '00000021'.

 

Define and insert a standard text:

 

Standard texts is predifined textst that can be used in more than one form. Standard texts are can be created, changed and displayed using transaction SO10.

 

The text ID is used to callsify texts.

 

To include a stadard text in a form, use the INCLUDE command:

 

 

/: INCLUDE Z_BC460_EX4_HF OBJECT TEXT ID SDVD

 

When formatting the standard text the PARAGRAPH parameter is used. To center the text use:

 

/: INCLUDE Z_BC460_EX4_HF OBJECT TEXT ID SDVD LANGUAGE EN PARAGRAPH C.

 

Formatting addresses

 

The ADDRESS-ENDADDRESS command formats addresses according to the postal norms of the recipient's country, as defined in the

 

country parameter.

 

ADDRESS DELIVERY PARAGRAPH AD

NAME                    &KNA1-NAME&

STREET               &KNA1-STRAS&

POSTCODE         &KNA1-PSTLZ&

CITY         &KNA1-ORT01&'

COUNTRY           &KNA1-LAND1&

FROMCOUNTRY            'DE'

ENDADDRESS

 

 

Avoiding pagebreaks in a paragraph

 

/: PROTECT

:

:

/: ENDPROTECT

 

The text lines to be protected are enclosed between the two commands

 

 

Conditonal text ouput IF - ENDIF

 

You can use IF/ENDIF like in a normal ABAP program

 

/: IF condition

:

:

/: ENDIF

 

and

 

/: IF condition

:

/: ELSE

:

/: ENDIF

 

 

Example:

 

/: IF &SPFLI-CITYTO& = "BERLIN"

..... put some text here

/: ENDIF

 

Symbols and Control commands

 

Symbols are placeholders for values that are inserted during print formatting.

 

Symbols are indentified by name surrounded by "&" and are not case sensitive

 

 

Types of symbols

 

System symbols

 

DATE Date

DAY Day

NAME_OF_DAY Name of day

MONTH Month

YEAR Year

TIME Time

 

HOURS Hours

MINUTES Minutes

SECONDS Seconds

PAGE Page number

NEXTPAGE Number of next pagre

DEVICE Output device

SPACE Blank space

ULINE Underline

VLINE Vertical line

 

 

 

Standard symbols

 

Standard symbols are user defined and are maintained in table TTDG(table is not available???). You use transaction SM30 to change or display standard symbols.

 

An examples of standard symbols is &MFG& fot "Yours faithfully"

 

Standard text

 

Standard texts is predifined texts that can be used in more than one form. Standard texts are can be created, changed and displayed using transaction SO10.

 

The text ID is used to classify texts.

 

To include a standard text in a form, use the INCLUDE command:

 

/: INCLUDE Z_BC460_EX4_HF OBJECT TEXT ID SDVD

 

 

When formatting the standard text the PARAGRAPH parameter is used. To center the text use:

 

 

/: INCLUDE <name> <Parameter>

 

<parameter> = Object, ID, Language, Paragraph

 

Example:

 

/: INCLUDE Z_BC460_EX4_HF OBJECT TEXT ID SDVD LANGUAGE EN PARAGRAPH C.

 

 

Name: Z_BC460_EX4_HF

 

Object: Text

 

Text id: SDVD (Text id from SO10)

 

Language: EN

 

Paragraph: C (Centered)

 

Tip: You can use menu Insert->Text->Standard to make it easier to insert the text

 

 

 

 

 

Program symbols

 

Program symbols are for contents of database fields or global program symbols. When you print the form, data from the database tables are printed isntead of the symbols.

 

In the print program:

 

TABLES: kna1.

 

In the form:

 

&KNA1-NAME1&

 

 

Formatting

 

&SYMBOL& No formatting

&SYMBOL+4& Offset - Output begins here. Offset refers to formatted value

&SYMBOL(5)& Length - Output data in the specified length

&SYMBOL(I)& Suppress initial value - If the field has been initialized, nothing is output

&SYMBOL(Z)& Suppress leading zeros

&SYMBOL(C)& Compress blank spaces - Consecutice spaces are compressed into a single space. Leading spacesare suppressed.

 

&SYMBOL(R)& Right align output

&SYMBOL(S)& Operators are suppressed

&SYMBOL(*)& Dictionary length - The data length is defined by the ABAP dictionary

&SYMBOL(8.2)& Decimal format. Length 8 decimals 2

&'text1'SYMBOL'text2'& Text can be inserted before and after the symbol

 

 

Control commands

 

Control command are used to modify text output. Use format key /: in the format column.

 

/: INCLUDE

/: DEFINE

/: ADDRESS....ENDADDRESS

/: PROTECT.....ENDPROTECT

 

/: NEW-PAGE

/: IF....ENDIF

/: CASE...ENDCASE

 

Examples of control commands

INCLUDE

 

INCLUDE name <parameter>

 

Parameters:

 

OBJECT E.g. TEXT, DOKU (Document), DSYS (Hypertext).

ID Text ID -Text ID is a way to group texts - Se transaction SO10

LANGUAGE If the parameter is not specefied, the logon language will be used

PARAGRAPH The text to be included is formatted using the style allocated. The PARAGRAPH parameter can be used to redefine the standard paragraph for this style for the current call. All *-paragraphs in the included text will then be formatted using the paragraph specified here.

 

Object

ID

Language

Paragraph

Standard texts are maintained in transaction SO10.

 

Example 1:

 

You have created a standard text in SO10 Named MYTEXT and with Text Id ST

 

/: INCLUDE MYTEXT OBJECT text ID st

 

Example 2:

 

You can also use a dynamic name so that you can retreive a ext depeding of the name variable:

 

/: INCLUDE &SCUSTOM-NAME& text ID st.

 

Depending on the name in the variable &SCUSTOM-NAME& different texts will be shown. Note that a text with the name in the variable &SCUSTOM-NAME& name must be created in SO10.

 

DEFINE

 

/: DEFINE &SYMBOL& = 'String1 String2'

 

/: DEFINE &CUST& = '00000021'.

 

ADDRESS-ENDDRESS

 

The ADDRESS-ENDADDRESS command formats addresses according to the postal norms of the recipient's country, as defined in the

country parameter.

 

/: ADDRESS DELIVERY PARAGRAPH AD

/: NAME &KNA1-NAME&

/: STREET &KNA1-STRAS&

/: POSTCODE &KNA1-PSTLZ&

/: CITY &KNA1-ORT01&

/: COUNTRY &KNA1-LAND1&

/: FROMCOUNTRY 'DE'

/: ENDADDRESS

 

Time Date and decimal format

 

Examples:

 

/: SET TIME MASK = 'HH:MM'

/: SET DATE MASK = 'DD.MMMM.YYYY'

/: SET COUNTRY 'USA'

 

 

 Frames, lines and shading

 

BOX

 

Draws a box

 

Syntax:

 

/: BOX <xpos> <ypos> <width> <height> <frame> <intensity>

 

The intensity is the grey scale of the box as %. The frame parameters is the thickness of the frame. Default is 0.

Each of the paramteters ypos, xpos, width, height and frame muts be followed of the measurement unit:

 

TW (twip)

PT (point)

IN (inch)

MM (millimeter)

CM (centimeter)

LN (line)

CH (character).

 

Examples:

 

/: BOX XPOS '11.21' MM YPOS '5.31' MM HEIGHT '10' MM WIDTH '20' MM INTENSITY 10 FRAME 0 TW

 

/: BOX FRAME 10 TW

Draws a frame around the current window with a frame thickness of 10 TW (= 0.5 PT).

 

/: BOX INTENSITY 10

Fills the window background with shading having a gray scale of 10 %.

 

/: BOX HEIGHT 0 TW FRAME 10 TW

Draws a horizontal line across the complete top edge of the window.

 

/: BOX WIDTH 0 TW FRAME 10 TW

Draws a vertical line along the complete height of the left hand edge of the window.

 

/: BOX WIDTH '17.5' CM HEIGHT 1 CM FRAME 10 TW INTENSITY 15

 

/: BOX WIDTH '17.5' CM HEIGHT '13.5' CM FRAME 10 TW

/: BOX XPOS '10.0' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW

/: BOX XPOS '13.5' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW

 

Draws two rectangles and two lines to construct a table of three columns with a highlighted heading section.

 

 

POSITION and SIZE

 

You can use the POSITION and SIZE commands to set default parmeters for a box. This can be usefull if you have several boxes that share the same parameters.

 

Example:

 

/: POSITION XORIGIN '11.21' YORIGIN '5.31' MM

/: SIZE HEIGHT '2' MM WIDTH '76' MM

/: BOX FRAME 10 TW INTENSITY 10

 

 

If you want to set the position realtively to the window use POSITION WINDOW to set the position to the top/left start of the window. Then use POSITION to set the current position relatively to the start of the Window. Note that

you uses "+" or "-" in the ORIGIN position to the set the position relatively.

 

 

/: POSITION WINDOW

/: POSITION XORIGIN '+5' MM YORIGIN '+10' MM

 

the position is now 5 MM from the left and 10 MM from the top of the window.

 

NOTE: After using the position command you can move the current position realtively to the last used position

 

/: POSITION XORIGIN '+10' MM YORIGIN '+20' MM

 

Now the position will be X = 15 and Y = 30

 

Drawing a line

You can draw a line by setting the Height or Width of a box to 0 and add a frame. E.g. a horizontal line:

 

/: SIZE HEIGHT '0' MM WIDTH '200' MM

/: BOX FRAME 10 TW XPOS '11.21' MM YPOS '14.81' MM INTENSITY 100

 

 

 

Window and Page

 

WINDOW sets the values for the width and height to the values of the current window (default setting).

 

PAGE Sets the values for the width and height to the values of the current output page.

 

Examples:

 

/: SIZE WINDOW

Sets WIDTH and HEIGHT to the current window dimensions.

 

/: SIZE WIDTH '3.5' CM HEIGHT '7.6' CM

Sets WIDTH to 3.5 cm and HEIGHT to 7.6 cm.

 

/: POSITION WINDOW

/: POSITION XORIGIN -20 TW YORIGIN -20 TW

/: SIZE WIDTH +40 TW HEIGHT +40 TW

/: BOX FRAME 10 TW

A frame is added to the current window. The edges of the frame extend beyond the edges of the window itself, so as to avoid obscuring the leading and trailing text characters.

 

61. Calling a form from SapScript (*****)

 

 

/:DEFINE &CUST& = '00000021'.

/:PERFORM GET_NAME IN PROGRAM Z_BC460_EX4_HF

/:  USING &CUST&

/:  CHANGING &NAME&

/:ENDPERFORM.

 

Dear &NAME&

 

The ABAP routine could be defined as follows:

 

IMPORTANT: The structure itcsy must be used for the parameters.

 

REPORT Z_HENRIKF_SCRIPT_FORM .

tables scustom.

form get_name tables in_tab structure itcsy

out_tab structure itcsy.

 

 

 

read table in_tab index 1.

 

select single * from scustom

where id = in_tab-value.

 

 

if sy-subrc = 0.

read table out_tab index 1.

move scustom-name to out_tab-value.

modify out_tab index sy-tabix.

else.

read table out_tab index 1.

move 'No name' to out_tab-value.

modify out_tab index sy-tabix.

endif.

 

**  You could also fill the ouput parameter table this way

READ TABLE out_par WITH KEY 'NAME1'.

out_par-value = l_name1.

 

MODIFY out_par INDEX sy-tabix.

 

 

endform.

 

 

Note that if you use more than one parameter you must use Using or Changing before every parameter !

 

/: PERFORM <form> IN PROGRAM <prog>

/: USING &INVAR1&

/: USING &INVAR2&

......

/: CHANGING &OUTVAR1&

/: CHANGING &OUTVAR2&

......

/: ENDPERFORM

 

62. Structure of a print program

 

The print program is used to print forms. The program retieves the necesary data from datbase tables, defines the order of in which text elements are printed, chooses a form for printing and selects an output device and print options.

 

Open form printing - Must be called before working with any of the other form function modules.

call function 'OPEN_FORM'.....

Must be ended with function module CLOSE FORM

 

*To begin several indentical forms containing different data within a single spool request, begin each form using START_FORM, and end it using END_FORM

call funtion 'START_FORM'.....

 

 

Write text elements to a window of the form

call function 'WRITE_FORM'.....

 

Ends form

call funtion 'END_FORM'.....

 

 

Closes form printing

call function 'CLOSE_FORM'....

 

 

Examples of function calls

 

OPEN FORM

 

CALL FUNCTION 'OPEN_FORM'

EXPORTING

*         APPLICATION                 = 'TX'

*         ARCHIVE_INDEX            =

*         ARCHIVE_PARAMS       =

DEVICE                            = 'PRINTER'

DIALOG                            = 'X'

*         FORM                               = ' '

*         LANGUAGE                     = SY-LANGU

OPTIONS                          = OPTIONS

 

*         MAIL_SENDER                =

*         MAIL_RECIPIENT              =

*         MAIL_APPL_OBJECT            =

*         RAW_DATA_INTERFACE          = '*'

IMPORTING

*         LANGUAGE                    =

*         NEW_ARCHIVE_PARAMS          =

*         RESULT                      =

EXCEPTIONS

CANCELED                    = 1

DEVICE                      = 2

FORM                        = 3

OPTIONS                     = 4

 

UNCLOSED                    = 5

MAIL_OPTIONS                = 6

ARCHIVE_ERROR               = 7

INVALID_FAX_NUMBER          = 8

MORE_PARAMS_NEEDED_IN_BATCH = 9

OTHERS                      = 10

.

START_FORM

 

CALL FUNCTION 'START_FORM'

EXPORTING

*         ARCHIVE_INDEX    =

FORM                       = 'MY_FORM'

 

*          LANGUAGE             = ' '

*         STARTPAGE           = ' '

*         PROGRAM              = ' '

MAIL_APPL_OBJECT =

IMPORTING

*         LANGUAGE         =

EXCEPTIONS

FORM             = 1

FORMAT           = 2

UNENDED          = 3

UNOPENED         = 4

UNUSED           = 5

OTHERS           = 6

 

 

WRITE_FORM

 

See 'WRITE_FORM'

 

END_FORM

 

CALL FUNCTION 'END_FORM'

 

IMPORTING

*        RESULT                   =

EXCEPTIONS

*        UNOPENED                 = 1

BAD_PAGEFORMAT_FOR_PRINT = 2

OTHERS                   = 3

 

CLOSE_FORM

 

Structure for Print options (return values) - Pages selected for printing, Number of copies etc.

DATA BEGIN OF RESULT.

INCLUDE STRUCTURE ITCPP.

DATA END   OF RESULT.

 

CALL FUNCTION 'CLOSE_FORM'

IMPORTING

RESULT                   = RESULT

 

*         RDI_RESULT               =

TABLES

*         OTFDATA                  =

EXCEPTIONS

*         UNOPENED                 = 1

BAD_PAGEFORMAT_FOR_PRINT = 2

*         SEND_ERROR               = 3

*         OTHERS                   = 4.

 

 

63. CONTROL_FORM - Calling Commands Using a program

 

The function module CONTROL_FORM can be used to create SapScript control statements from within an ABAP program.

 

Example:

 

call function 'CONTROL_FORM'

EXPORTING

COMMAND = 'PROTECT'.

 

call function 'WRITE_FORM'.....................

 

call function 'CONTROL_FORM'

EXPORTING

COMMAND = 'ENDPROTECT'.

 

 

Styles

 

Styles are used to predefine paragraph and character formats for forms. SAP provides several standard styles e.g. for Address includes, on-line documentation and so on. You can define your own styles.

 

To find styles, create styles and maintaine styles, use transaction SE72.

 

You assign style to a text by using menu Format -> Style

 

You can make temporary style changes using the control command /: STYLE

 

 

 Using graphics in SapScript

 

Use transaction SE78 to inmport graphics to SAP.

 

In the form painter, you can either include directly to the form using menu Edit->Graphic->Create or using the INCLUDE statement in a window.

 

To use an INCLUDE stanment, goto into the woindow script editor and use menu Include->Graphic. The include can look like this for a bitmap:

 

/: BITMAP MYLOGO OBJECT GRAPHICS ID BMAP TYPE BMON

 

 

 

 

 

Modifications

Considerations in connection with modifications

 

The standard SAP print program should only be changed when it is absolutely necessary. If additional data is needed, these can in many cases be retrieved using a a PERFORM statement in the form instead of changing the print program..

 

There can be the following reasons to change the print program:

 

Structureal changes

New text eloements are needed

Print program to be used to print additional forms

 

Determine/change which forms and printprograms that are used for printing

 

The forms and print programs for a given output type and application can be found in table TNAPR Processing programs for output

 

Use view V_TNAPR in (Transaction SE30) to change entries.

 

 

Import/Export SapScript form from PC file

Use ABAP program: RSTXSCRP

 

 

SD - Finding the name of the print program

 

For SD dopcuments you can use table TNAPR top find the name of the a

printprogram

 

No comments:

Post a Comment

CoPilot For Eclipse - The Joule Alternative

GitHub CoPilot works alongside you in the Eclipse Editor. It autogenerates code suggestions, provides correction syntax. Free version includ...