SlideShare a Scribd company logo
1 of 11
Download to read offline
Leading Sign to the Left
Leading Sign to the Right
Omitting Leading Zeros
Space Compression
Number of Decimal Places
Omitting the Separator for 'Thousands'
Specifying an Exponent for Floating Point Numbers
Right-Justified Output
Fill Characters
Suppress Output of Initial Value
Ignore Conversion Routines
Local Dates (currently only for Japan)
Changing the Value of a Counter
Preceding and Subsequent Texts (Pre-Text / Post-Text)
Country-dependent Formatting
Date Mask
Time Mask
Offset
Specifying an offset of N has the effect that the N left-most characters of the
symbol value will not be displayed. If the offset specified is greater than the
length of the value, nothing is output.
Syntax
&symbol+offset&
If symbol has the value 123456789, the following will be displayed:
&symbol& -> 123456789
&symbol+3& -> 456789
&symbol+7& -> 89
&symbol+12& ->
&symbol+0& -> 123456789
Output Length
If you require only a part of the symbol value, or the output has to fit into a box or
a field on the screen, without overlapping the edges of this area, then you can use
an output length specification to define how many character positions should be
copied from the value.
Syntax
&symbol(length)&
If symbol has the value 123456789.
&symbol(3)& -> 123
&symbol(7)& -> 1234567
An output length specification can be combined with an offset specification. The
specified length is then counted from the specified offset position.
&symbol+4(3)& -> 567
If a length is specified which is greater than the current length of the value then
spaces are appended to the symbol value.
The character * can be used to specify the length of a program symbol. This
causes the value of the symbol to be output using the output length defined in the
ABAP/4 Dictionary.
Syntax
&symbol(*)&
The SYST-UNAME field contains the logon name of a user called Einstein. The
Dictionary entry for this field contains an output length of 12.
&SYST-UNAME&... -> Einstein...
&SYST-UNAME(9)&... -> Einstein ...
&SYST-UNAME(*)&... -> Einstein ...
Omitting the Leading Sign
Program symbols with numeric values can have a leading sign. This sign usually
appears to the right of the numeric value, either as a space for positive numbers,
or as a minus sign for negative numbers. The S option can be used to ensure that
the value is formatted without the sign.
Syntax
&symbol(S)&
The ITCDP-TDULPOS field contains the value -100.00. The ABAP/4 Dictionary
definition for this field includes a leading sign.
&ITCDP-TDULPOS& -> 100.00-
&ITCDP-TDULPOS(S)& -> 100.00
Leading Sign to the Left
The leading sign is normally displayed to the right of a numeric value, except in
the case of a floating point number. This option enables you to specify that the
leading sign should be placed to the left of the number.
Syntax
&symbol(<)&
&ITCDP-TDULPOS& -> 100.00-
&ITCDP-TDULPOS(<)& -> -100.00
Note: The SET SIGN LEFT control command specifies that all subsequent symbols
with a numeric value should have a left-justified leading sign. Using this control
command means that there is then no need to repeat the < option for each
individual symbol.
Leading Sign to the Right
The default setting is to output the leading sign to the right of a numeric value. If
you used the SET SIGN LEFT control command to specify that the leading sign
should be output before the value, this specification can be overridden for
individual symbols to enable these to be output with the leading sign to the right.
Syntax:
&symbol(>)&
Note: You can use the SET SIGN RIGHT control command to switch back to the
default setting for the output of the leading sign.
Omitting Leading Zeros
Certain symbol values are output with leading zeros. If you wish to suppress
these, you may do so with the Z option.
Syntax
&symbol(Z)&
Assuming the current date is 1.1.1994,
&DAY& -> 01
&DAY(Z)& -> 1
Space Compression
The symbol value is viewed as a sequence of 'words', each separated from the next
by either one or a string of space characters. The C option has the effect of
replacing each string of space characters with a single space and shifting the
'words' to the left as necessary to close up the gaps. Leading spaces are
completely removed. The results are the same as those of the ABAP command
CONDENSE.
Syntax:
&symbol(C)&
Assuming ' Albert Einstein ' is the symbol value,
&symbol& -> Albert Einstein
&symbol(C)& -> Albert Einstein
Number of Decimal Places
A program symbol of one of the data types DEC, QUAN and FLTP can contain
decimal place data. This option is used to override the Dictionary definition for
the number of decimal places for the formatting of this symbol value.
Syntax
&symbol(.N)&
The EKPO-MENGE field contains the value 1234.56. The Dictionary definition
specifies 3 decimal places and an output length of 17.
&EKPO-MENGE& -> 1,234.560
&EKPO-MENGE(.1) -> 1,234.6
&EKPO-MENGE&(.4) -> 1,234.5600
&EKPO-MENGE&(.0) -> 1,235
Omitting the Separator for 'Thousands'
Symbols of the DEC, CURR, INT and QUAN data types are normally formatted with
the a 'thousands' separator character. The T option allows you to specify that this
separator character should be omitted.
Syntax:
&symbol(T)&
The EKPO-MENGE field contains the value 1234.56. The Data Dictionary definition
specifies 3 decimal places and the output length has been set to 17.
&EKPO-MENGE& -> 1,234.560
&EKPO-MENGE(T)& -> 1234.560
Specifying an Exponent for Floating Point Numbers
The way that a floating point number is formatted depends on whether an
exponent is specified. The mantissa is adjusted by shifting the decimal point and,
if necessary, introducing leading zeros, according to the exponent chosen. Using
an exponent value of 0 means that the exponent representation will not be used
for displaying the symbol.
Syntax
&symbol(EN)&
If an exponent of 0 is specified then the number is displayed without using the
exponent representation. This has the same effect as completely omitting the
specification of an exponent, i.e., &symbol(E0)& has the same effect as
&symbol(E)&
In this example the PLMK-SOLLWERT field is assumed to have the value
123456.78 and to be of data type FLTP.
&PLMK-SOLLWERT& -> +1.23456780000000E+05
&PLMK-SOLLWERT(E3)& -> +123.456780000000E+03
&PLMK-SOLLWERT(E6)& -> +0.12345678000000E+06
&PLMK-SOLLWERT(E0)& -> +123456.780000000
&PLMK-SOLLWERT(E)& -> +123456.780000000
Right-Justified Output
Symbol values other than numeric values are normally formatted to be left-
justified. Right-justified formatting can be specified with the R option. This option
has to be used in conjunction with an output length specification.
Syntax
&symbol(R)&
If symbol has the value 1234.
&symbol& -> 1234
&symbol(8R) -> 1234
For program symbols the length specification contained in the Dictionary
definition may be used instead of an explicit length.
Fill Characters
Leading spaces in a value can be replaced with a fill character. The F option is
used, and the character immediately following the F in the specification is used
as the fill character.
Syntax
&symbol(Ff)&
f = fill character
The figure for customer sales in the KNA1-UMSAT field is $700. The Dictionary
description of the field specifies an output length 8.
&KNA1-UMSAT& -> 700.00
&KNA1-UMSAT(F*)& -> **700.00
&KNA1-UMSAT(F0)& -> 00700.00
Suppress Output of Initial Value
The I option can be used to suppress the output of symbols which still contain
their initial value.
Syntax
&symbol(I)&
Assuming KNA1-UMSAT contains the value 0 and the currency is DEM.
&KNA1-UMSAT& -> 0,00
&KNA1-UMSAT(I)& ->
If the field contains an amount other than 0, this value will be output in the
normal way.
&KNA1-UMSAT& -> 700,00
&KNA1-UMSAT(I)& -> 700,00
Ignore Conversion Routines
SAPscript conversion routines specified in the Dictionary are automatically
recognized and used when program symbols are being formatted. Using the K
option can prevent these conversions.
Syntax
&symbol(K)&
Changing the Value of a Counter
You can increase or decrease the value of a SAPSCRIPT-COUNTER_x (x=0 .. 9)
counter variable by 1, before the current counter value is output.
Syntax:
&SAPSCRIPT-COUNTER_x(+)& Increases by 1 (increments) the
contents of the counter variable x
(x=0 .. 9)
&SAPSCRIPT-COUNTER_x(-)& Decreases by 1 (decrements) the
contents of the counter variable x
(x=0 .. 9)
If you just want to change the value of a counter variable without actually
outputting the new value, then you should use this formatting option together with
an additional option to set the output length to 0 (see above). If you want to set a
counter variable to some specific value, you can do this with the DEFINE control
command.
Assume that &SAPSCRIPT-COUNTER_1& initially has the value 2.
&SAPSCRIPT-COUNTER_1& -> 2
&SAPSCRIPT-COUNTER_1(+)& -> 3
&SAPSCRIPT-COUNTER_1(-)& -> 2
&SAPSCRIPT-COUNTER_1(-)& -> 1
&SAPSCRIPT-COUNTER_1(+0)& ->
&SAPSCRIPT-COUNTER_1(+)& -> 3
Preceding and Subsequent Texts (Pre-Text / Post-Text)
In addition to the use of initial values for symbols, it is possible to specify
additional texts, which are output only when the value of the symbol is no longer,
the initial value. You can specify a text, which is to be output immediately before
the symbol value (the pre-text), and a text, which is to be output immediately after
it (the post-text). These texts are suppressed if the symbol has its initial value.
Syntax:
&'pre-text'symbol'post-text'&
Note: You should ensure that the symbol, the pre-text and the post-text all appear
on a single line of the editor. This may mean that you have to use a long line
(paragraph attribute = or /= ) in the editor.
The apostrophe character ' is used as a delimiter for these texts. If this character
also appears as part of one of these texts, then it must be written twice at this
point to avoid it being interpreted as a delimiter character. A pre-text or post-text
may itself contain symbols in addition to normal text, subject to the restriction
that these symbols may not have a pre-text or a post-text.
The KNA1-PFACH field contains a customer P.O. Box number. Since the text "P.O.
Box" is not stored in the field along with the value, you would normally write the
following for the P.O. Box line of an address:
P.O. Box &KNA1-PFACH&
However, if no P.O. Box has been specified then the result would be that the text
"P.O. Box" would still appear on its own in the address. Using pre-text and/or
post-text (in this case pre-text) can prevent this.
P.O. Box &KNA1-PFACH& -> P.O. Box
&'P.O. Box 'KNA1-PFACH& ->
If a P.O. Box has been specified, then this will be displayed together with the
appropriate text in the normal way.
&'P.O. Box 'KNA1-PFACH& -> P.O. Box 123456
Country-dependent Formatting
Certain fields are formatted in a way that is specific to a particular country.
These include fields for displaying a date and numeric fields containing either a
decimal point or a 'thousands' separator character. The formatting applied is
usually determined by the definitions contained in the user master record. The
SET COUNTRY control command can be used to select a different formatting
operation. The various country-dependent formatting options are stored in the
T005X table.
Syntax
/: SET COUNTRY country_key
You can specify this country key either by quoting it directly enclosed in
apostrophe characters or by using a symbol.
/: SET COUNTRY 'CAN'
/: SET COUNTRY &KNA1-LAND1&
You can revert to the settings of the user master record by using the SET
COUNTRY control command again with an empty country name.
/: SET COUNTRY ' '
When SAPscript encounters this command it calls the corresponding ABAP
command internally. The effect of the SAPscript command is thus identical with
that of the ABAP command.
Note: If the formatting turns out not to be as required, you should check the
settings in the T005X table.
Date Mask
The formatting for date fields can be defined with the SAPscript SET DATE MASK
command. Executing this command causes all subsequent date fields to be output
using the specified formatting.
Syntax
/: SET DATE MASK = 'date_mask'
The following templates may be used in the date mask:
DD day (two digits)
DDD name of day (abbreviated)
DDDD name of day (written out in full)
MM month (two digits)
MMM name of month (abbreviated)
MMMM name of month (written out in full)
YY year (two digits)
YYYY year (four digits)
LD day (formatted as for the L option)
LM month (formatted as for the L option)
LY year (formatted as for the L option)
Any other characters occurring in the mask are interpreted as simple text and are
copied directly to the output.
Assuming a current system date of March 1st, 1994.
/: SET DATE MASK = 'Foster City, MM.DD.YY'
&DATE& -> Foster City, 03.01.94
&DATE(Z)& -> Foster City, 3.1.94
/: SET DATE MASK = 'MMMM DD, YYYY'
&DATE& -> March 01, 1994
You can revert to the standard setting by using the SET DATE MASK command
again with an empty string in place of the date mask:
/: SET DATE MASK = ' '
Time Mask
You can use the SAPscript SET TIME MASK command to format time fields in a
way that differs from the standard setting. Executing this command causes all
subsequent time fields to be output using the specified formatting.
Syntax:
/: SET TIME MASK = 'time_mask'
The following templates may be used in the time mask:
HH hours (two digits)
MM minutes (two digits)
SS seconds (two digits)
Any other characters occurring in the mask are interpreted as simple text and are
copied directly to the output.
Assuming the current time is 10:08:12.
&TIME& -> 10:08:12
/: SET TIME MASK = 'HH:MM'
&TIME& -> 10:08
/: SET TIME MASK = 'HH hours MM minutes'
&TIME& -> 10 hours 08 minutes
&TIME(Z)& -> 10 hours 8 minutes
You can revert to the standard setting by using the SET TIME MASK command
again with an empty string in place of the time mask:
/: SET TIME MASK = ' '
Formatting Conventions
Many theoretically possible combinations of option and symbol type would either
make no sense or have no effect at all. The formatting process is divided into two
stages: primary formatting and end formatting. The purpose of primary formatting
is to convert the internal form of a symbol value to a character-based form. The
end formatting is then applied to this intermediate form. The following sections
describe the formatting process for each kind of symbol and in which of the two
stages of conversion the various options are applied.
Primary Formatting of System Symbols
Primary Formatting of Standard Symbols
Primary Formatting of Program Symbols
Primary Formatting of Text Symbols
End Formatting
Primary Formatting of System Symbols
Certain system symbols first need to be converted from their internal
representation into a character representation before the end formatting can be
applied to them. The following system symbols require a primary conversion:
· &DAY&, &MONTH&, &YEAR&, &HOURS&, &MINUTES&, &SECONDS&
The relevant components are extracted from the system date or system time.
Leading zeros are eliminated if the Z formatting option is specified.
· &DATE&
The default behavior is that the system date is output according to the setting in
the user master record or according to the country-dependent formatting specified
in a SET COUNTRY command.
If a date mask has been defined (using SET DATE MASK), then the formatting
specified here will be used for the output.
· &TIME&
The default behavior is that the current system time is output in the form
hours:minutes:seconds
If an alternative time mask is specified (using SET TIME MASK) then this will
override the default setting.
· &PAGE&, &NEXTPAGE&
This symbols are initially converted using the options specified in the layout set of
the page definition.
· &LDATE&
This date representation is always formatted using the JPDAT conversion routine.
All remaining system symbols are treated by the primary conversion as a
character string and thus are not converted.
The end conversion is started when the primary conversion is complete.
Primary Formatting of Standard Symbols
Standard symbols are treated by the primary formatting as a character string and
thus are not converted. The end formatting is started immediately.

More Related Content

What's hot

SAP CO-PA (Controlling-Profitability Analysis)
SAP CO-PA (Controlling-Profitability Analysis)SAP CO-PA (Controlling-Profitability Analysis)
SAP CO-PA (Controlling-Profitability Analysis)Stridely Solutions
 
Split valuation activation
Split valuation activationSplit valuation activation
Split valuation activationMohammed Azhad
 
Step by Step guide for creating first ABAP report in SAP
Step by Step guide for creating first ABAP report in SAPStep by Step guide for creating first ABAP report in SAP
Step by Step guide for creating first ABAP report in SAPnityaabap
 
DBI database Items Query Oracle Fusion Cloud
DBI database Items Query Oracle Fusion CloudDBI database Items Query Oracle Fusion Cloud
DBI database Items Query Oracle Fusion CloudFeras Ahmad
 
Sap transaction-codes-list
Sap transaction-codes-listSap transaction-codes-list
Sap transaction-codes-listRaj p
 
Sap fi integration with other modules in sap fico
Sap fi integration with other modules in sap ficoSap fi integration with other modules in sap fico
Sap fi integration with other modules in sap ficowhynet2005
 
Sap fico configuration
Sap fico configurationSap fico configuration
Sap fico configurationRanjith Patil
 
SAP FI-AR TCODES & MENU PATHS
SAP FI-AR TCODES & MENU PATHSSAP FI-AR TCODES & MENU PATHS
SAP FI-AR TCODES & MENU PATHSsapdocs. info
 
All movement types in sap
All movement types in sapAll movement types in sap
All movement types in sapGopal Padamati
 
Co product costing detailed trng
Co product costing detailed trngCo product costing detailed trng
Co product costing detailed trngVenkat Reddy
 
WEBDYPRO ABAP WITH DETAILED NOTES
WEBDYPRO ABAP WITH DETAILED NOTESWEBDYPRO ABAP WITH DETAILED NOTES
WEBDYPRO ABAP WITH DETAILED NOTESKranthi Kumar
 
FI & MM integration
FI & MM integrationFI & MM integration
FI & MM integrationsekhardatta
 
SAP Accounts Reveivable Functions | http://sapdocs.info
SAP Accounts Reveivable Functions | http://sapdocs.infoSAP Accounts Reveivable Functions | http://sapdocs.info
SAP Accounts Reveivable Functions | http://sapdocs.infosapdocs. info
 
SAP CO step by step config guide & user manual part 1
SAP CO step by step config guide & user manual part 1SAP CO step by step config guide & user manual part 1
SAP CO step by step config guide & user manual part 1Srinivas Kasireddy
 
Movement types-in-sap-mm
Movement types-in-sap-mmMovement types-in-sap-mm
Movement types-in-sap-mmvinitlodha
 
How to View/ open/ update/ close SOLMAN tickets
How to View/ open/ update/ close SOLMAN ticketsHow to View/ open/ update/ close SOLMAN tickets
How to View/ open/ update/ close SOLMAN ticketsyuppy
 

What's hot (20)

Important tables for sap sd
Important tables for sap sdImportant tables for sap sd
Important tables for sap sd
 
SAP CO-PA (Controlling-Profitability Analysis)
SAP CO-PA (Controlling-Profitability Analysis)SAP CO-PA (Controlling-Profitability Analysis)
SAP CO-PA (Controlling-Profitability Analysis)
 
Split valuation activation
Split valuation activationSplit valuation activation
Split valuation activation
 
Step by Step guide for creating first ABAP report in SAP
Step by Step guide for creating first ABAP report in SAPStep by Step guide for creating first ABAP report in SAP
Step by Step guide for creating first ABAP report in SAP
 
DBI database Items Query Oracle Fusion Cloud
DBI database Items Query Oracle Fusion CloudDBI database Items Query Oracle Fusion Cloud
DBI database Items Query Oracle Fusion Cloud
 
ABAP in 21 days
ABAP in 21 daysABAP in 21 days
ABAP in 21 days
 
Sap fi overview
Sap fi overviewSap fi overview
Sap fi overview
 
Sap transaction-codes-list
Sap transaction-codes-listSap transaction-codes-list
Sap transaction-codes-list
 
Sap fi integration with other modules in sap fico
Sap fi integration with other modules in sap ficoSap fi integration with other modules in sap fico
Sap fi integration with other modules in sap fico
 
Sap fico configuration
Sap fico configurationSap fico configuration
Sap fico configuration
 
SAP FI-AR TCODES & MENU PATHS
SAP FI-AR TCODES & MENU PATHSSAP FI-AR TCODES & MENU PATHS
SAP FI-AR TCODES & MENU PATHS
 
All movement types in sap
All movement types in sapAll movement types in sap
All movement types in sap
 
Co product costing detailed trng
Co product costing detailed trngCo product costing detailed trng
Co product costing detailed trng
 
WEBDYPRO ABAP WITH DETAILED NOTES
WEBDYPRO ABAP WITH DETAILED NOTESWEBDYPRO ABAP WITH DETAILED NOTES
WEBDYPRO ABAP WITH DETAILED NOTES
 
FI & MM integration
FI & MM integrationFI & MM integration
FI & MM integration
 
Intercompany assets transfer
Intercompany assets transferIntercompany assets transfer
Intercompany assets transfer
 
SAP Accounts Reveivable Functions | http://sapdocs.info
SAP Accounts Reveivable Functions | http://sapdocs.infoSAP Accounts Reveivable Functions | http://sapdocs.info
SAP Accounts Reveivable Functions | http://sapdocs.info
 
SAP CO step by step config guide & user manual part 1
SAP CO step by step config guide & user manual part 1SAP CO step by step config guide & user manual part 1
SAP CO step by step config guide & user manual part 1
 
Movement types-in-sap-mm
Movement types-in-sap-mmMovement types-in-sap-mm
Movement types-in-sap-mm
 
How to View/ open/ update/ close SOLMAN tickets
How to View/ open/ update/ close SOLMAN ticketsHow to View/ open/ update/ close SOLMAN tickets
How to View/ open/ update/ close SOLMAN tickets
 

Similar to Sap script system_symbol

T03 a basicioprintf
T03 a basicioprintfT03 a basicioprintf
T03 a basicioprintfteach4uin
 
INPUT AND OUTPUT PROCESSINGPlease note that the material o.docx
INPUT AND OUTPUT PROCESSINGPlease note that the material o.docxINPUT AND OUTPUT PROCESSINGPlease note that the material o.docx
INPUT AND OUTPUT PROCESSINGPlease note that the material o.docxjaggernaoma
 
Intro to tsql unit 10
Intro to tsql   unit 10Intro to tsql   unit 10
Intro to tsql unit 10Syed Asrarali
 
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdfMANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdfSowmyaJyothi3
 
Les03 (Using Single Row Functions To Customize Output)
Les03 (Using Single Row Functions To Customize Output)Les03 (Using Single Row Functions To Customize Output)
Les03 (Using Single Row Functions To Customize Output)Achmad Solichin
 
Characters formats &amp; strimgs
Characters formats  &amp; strimgsCharacters formats  &amp; strimgs
Characters formats &amp; strimgsWeslley Assis
 
e computer notes - Single row functions
e computer notes - Single row functionse computer notes - Single row functions
e computer notes - Single row functionsecomputernotes
 
Compiler Design - Ambiguous grammar, LMD & RMD, Infix & Postfix, Implementati...
Compiler Design - Ambiguous grammar, LMD & RMD, Infix & Postfix, Implementati...Compiler Design - Ambiguous grammar, LMD & RMD, Infix & Postfix, Implementati...
Compiler Design - Ambiguous grammar, LMD & RMD, Infix & Postfix, Implementati...Saikrishna Tanguturu
 
C programming(Part 1)
C programming(Part 1)C programming(Part 1)
C programming(Part 1)SURBHI SAROHA
 

Similar to Sap script system_symbol (20)

T03 a basicioprintf
T03 a basicioprintfT03 a basicioprintf
T03 a basicioprintf
 
INPUT AND OUTPUT PROCESSINGPlease note that the material o.docx
INPUT AND OUTPUT PROCESSINGPlease note that the material o.docxINPUT AND OUTPUT PROCESSINGPlease note that the material o.docx
INPUT AND OUTPUT PROCESSINGPlease note that the material o.docx
 
012. SQL.pdf
012. SQL.pdf012. SQL.pdf
012. SQL.pdf
 
Introduction to Input/Output Functions in C
Introduction to Input/Output Functions in CIntroduction to Input/Output Functions in C
Introduction to Input/Output Functions in C
 
Sql operators & functions 3
Sql operators & functions 3Sql operators & functions 3
Sql operators & functions 3
 
Intro to tsql unit 10
Intro to tsql   unit 10Intro to tsql   unit 10
Intro to tsql unit 10
 
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdfMANAGING INPUT AND OUTPUT OPERATIONS IN C    MRS.SOWMYA JYOTHI.pdf
MANAGING INPUT AND OUTPUT OPERATIONS IN C MRS.SOWMYA JYOTHI.pdf
 
Functions
FunctionsFunctions
Functions
 
Les03 (Using Single Row Functions To Customize Output)
Les03 (Using Single Row Functions To Customize Output)Les03 (Using Single Row Functions To Customize Output)
Les03 (Using Single Row Functions To Customize Output)
 
Les03
Les03Les03
Les03
 
Les03
Les03Les03
Les03
 
Characters formats &amp; strimgs
Characters formats  &amp; strimgsCharacters formats  &amp; strimgs
Characters formats &amp; strimgs
 
Les03
Les03Les03
Les03
 
C Token’s
C Token’sC Token’s
C Token’s
 
e computer notes - Single row functions
e computer notes - Single row functionse computer notes - Single row functions
e computer notes - Single row functions
 
C++ programming
C++ programmingC++ programming
C++ programming
 
Getting Started with C++
Getting Started with C++Getting Started with C++
Getting Started with C++
 
Compiler Design - Ambiguous grammar, LMD & RMD, Infix & Postfix, Implementati...
Compiler Design - Ambiguous grammar, LMD & RMD, Infix & Postfix, Implementati...Compiler Design - Ambiguous grammar, LMD & RMD, Infix & Postfix, Implementati...
Compiler Design - Ambiguous grammar, LMD & RMD, Infix & Postfix, Implementati...
 
1 Revision Tour
1 Revision Tour1 Revision Tour
1 Revision Tour
 
C programming(Part 1)
C programming(Part 1)C programming(Part 1)
C programming(Part 1)
 

Sap script system_symbol

  • 1. Leading Sign to the Left Leading Sign to the Right Omitting Leading Zeros Space Compression Number of Decimal Places Omitting the Separator for 'Thousands' Specifying an Exponent for Floating Point Numbers Right-Justified Output Fill Characters Suppress Output of Initial Value Ignore Conversion Routines Local Dates (currently only for Japan) Changing the Value of a Counter Preceding and Subsequent Texts (Pre-Text / Post-Text) Country-dependent Formatting Date Mask Time Mask Offset Specifying an offset of N has the effect that the N left-most characters of the symbol value will not be displayed. If the offset specified is greater than the length of the value, nothing is output. Syntax &symbol+offset& If symbol has the value 123456789, the following will be displayed: &symbol& -> 123456789 &symbol+3& -> 456789 &symbol+7& -> 89 &symbol+12& -> &symbol+0& -> 123456789 Output Length If you require only a part of the symbol value, or the output has to fit into a box or a field on the screen, without overlapping the edges of this area, then you can use an output length specification to define how many character positions should be copied from the value. Syntax &symbol(length)& If symbol has the value 123456789. &symbol(3)& -> 123 &symbol(7)& -> 1234567
  • 2. An output length specification can be combined with an offset specification. The specified length is then counted from the specified offset position. &symbol+4(3)& -> 567 If a length is specified which is greater than the current length of the value then spaces are appended to the symbol value. The character * can be used to specify the length of a program symbol. This causes the value of the symbol to be output using the output length defined in the ABAP/4 Dictionary. Syntax &symbol(*)& The SYST-UNAME field contains the logon name of a user called Einstein. The Dictionary entry for this field contains an output length of 12. &SYST-UNAME&... -> Einstein... &SYST-UNAME(9)&... -> Einstein ... &SYST-UNAME(*)&... -> Einstein ... Omitting the Leading Sign Program symbols with numeric values can have a leading sign. This sign usually appears to the right of the numeric value, either as a space for positive numbers, or as a minus sign for negative numbers. The S option can be used to ensure that the value is formatted without the sign. Syntax &symbol(S)& The ITCDP-TDULPOS field contains the value -100.00. The ABAP/4 Dictionary definition for this field includes a leading sign. &ITCDP-TDULPOS& -> 100.00- &ITCDP-TDULPOS(S)& -> 100.00 Leading Sign to the Left The leading sign is normally displayed to the right of a numeric value, except in the case of a floating point number. This option enables you to specify that the leading sign should be placed to the left of the number. Syntax &symbol(<)&
  • 3. &ITCDP-TDULPOS& -> 100.00- &ITCDP-TDULPOS(<)& -> -100.00 Note: The SET SIGN LEFT control command specifies that all subsequent symbols with a numeric value should have a left-justified leading sign. Using this control command means that there is then no need to repeat the < option for each individual symbol. Leading Sign to the Right The default setting is to output the leading sign to the right of a numeric value. If you used the SET SIGN LEFT control command to specify that the leading sign should be output before the value, this specification can be overridden for individual symbols to enable these to be output with the leading sign to the right. Syntax: &symbol(>)& Note: You can use the SET SIGN RIGHT control command to switch back to the default setting for the output of the leading sign. Omitting Leading Zeros Certain symbol values are output with leading zeros. If you wish to suppress these, you may do so with the Z option. Syntax &symbol(Z)& Assuming the current date is 1.1.1994, &DAY& -> 01 &DAY(Z)& -> 1 Space Compression The symbol value is viewed as a sequence of 'words', each separated from the next by either one or a string of space characters. The C option has the effect of replacing each string of space characters with a single space and shifting the 'words' to the left as necessary to close up the gaps. Leading spaces are completely removed. The results are the same as those of the ABAP command CONDENSE. Syntax: &symbol(C)& Assuming ' Albert Einstein ' is the symbol value,
  • 4. &symbol& -> Albert Einstein &symbol(C)& -> Albert Einstein Number of Decimal Places A program symbol of one of the data types DEC, QUAN and FLTP can contain decimal place data. This option is used to override the Dictionary definition for the number of decimal places for the formatting of this symbol value. Syntax &symbol(.N)& The EKPO-MENGE field contains the value 1234.56. The Dictionary definition specifies 3 decimal places and an output length of 17. &EKPO-MENGE& -> 1,234.560 &EKPO-MENGE(.1) -> 1,234.6 &EKPO-MENGE&(.4) -> 1,234.5600 &EKPO-MENGE&(.0) -> 1,235 Omitting the Separator for 'Thousands' Symbols of the DEC, CURR, INT and QUAN data types are normally formatted with the a 'thousands' separator character. The T option allows you to specify that this separator character should be omitted. Syntax: &symbol(T)& The EKPO-MENGE field contains the value 1234.56. The Data Dictionary definition specifies 3 decimal places and the output length has been set to 17. &EKPO-MENGE& -> 1,234.560 &EKPO-MENGE(T)& -> 1234.560 Specifying an Exponent for Floating Point Numbers The way that a floating point number is formatted depends on whether an exponent is specified. The mantissa is adjusted by shifting the decimal point and, if necessary, introducing leading zeros, according to the exponent chosen. Using an exponent value of 0 means that the exponent representation will not be used for displaying the symbol. Syntax &symbol(EN)& If an exponent of 0 is specified then the number is displayed without using the exponent representation. This has the same effect as completely omitting the specification of an exponent, i.e., &symbol(E0)& has the same effect as &symbol(E)&
  • 5. In this example the PLMK-SOLLWERT field is assumed to have the value 123456.78 and to be of data type FLTP. &PLMK-SOLLWERT& -> +1.23456780000000E+05 &PLMK-SOLLWERT(E3)& -> +123.456780000000E+03 &PLMK-SOLLWERT(E6)& -> +0.12345678000000E+06 &PLMK-SOLLWERT(E0)& -> +123456.780000000 &PLMK-SOLLWERT(E)& -> +123456.780000000 Right-Justified Output Symbol values other than numeric values are normally formatted to be left- justified. Right-justified formatting can be specified with the R option. This option has to be used in conjunction with an output length specification. Syntax &symbol(R)& If symbol has the value 1234. &symbol& -> 1234 &symbol(8R) -> 1234 For program symbols the length specification contained in the Dictionary definition may be used instead of an explicit length. Fill Characters Leading spaces in a value can be replaced with a fill character. The F option is used, and the character immediately following the F in the specification is used as the fill character. Syntax &symbol(Ff)& f = fill character The figure for customer sales in the KNA1-UMSAT field is $700. The Dictionary description of the field specifies an output length 8. &KNA1-UMSAT& -> 700.00 &KNA1-UMSAT(F*)& -> **700.00 &KNA1-UMSAT(F0)& -> 00700.00 Suppress Output of Initial Value The I option can be used to suppress the output of symbols which still contain their initial value. Syntax
  • 6. &symbol(I)& Assuming KNA1-UMSAT contains the value 0 and the currency is DEM. &KNA1-UMSAT& -> 0,00 &KNA1-UMSAT(I)& -> If the field contains an amount other than 0, this value will be output in the normal way. &KNA1-UMSAT& -> 700,00 &KNA1-UMSAT(I)& -> 700,00 Ignore Conversion Routines SAPscript conversion routines specified in the Dictionary are automatically recognized and used when program symbols are being formatted. Using the K option can prevent these conversions. Syntax &symbol(K)& Changing the Value of a Counter You can increase or decrease the value of a SAPSCRIPT-COUNTER_x (x=0 .. 9) counter variable by 1, before the current counter value is output. Syntax: &SAPSCRIPT-COUNTER_x(+)& Increases by 1 (increments) the contents of the counter variable x (x=0 .. 9) &SAPSCRIPT-COUNTER_x(-)& Decreases by 1 (decrements) the contents of the counter variable x (x=0 .. 9) If you just want to change the value of a counter variable without actually outputting the new value, then you should use this formatting option together with an additional option to set the output length to 0 (see above). If you want to set a counter variable to some specific value, you can do this with the DEFINE control command. Assume that &SAPSCRIPT-COUNTER_1& initially has the value 2.
  • 7. &SAPSCRIPT-COUNTER_1& -> 2 &SAPSCRIPT-COUNTER_1(+)& -> 3 &SAPSCRIPT-COUNTER_1(-)& -> 2 &SAPSCRIPT-COUNTER_1(-)& -> 1 &SAPSCRIPT-COUNTER_1(+0)& -> &SAPSCRIPT-COUNTER_1(+)& -> 3 Preceding and Subsequent Texts (Pre-Text / Post-Text) In addition to the use of initial values for symbols, it is possible to specify additional texts, which are output only when the value of the symbol is no longer, the initial value. You can specify a text, which is to be output immediately before the symbol value (the pre-text), and a text, which is to be output immediately after it (the post-text). These texts are suppressed if the symbol has its initial value. Syntax: &'pre-text'symbol'post-text'& Note: You should ensure that the symbol, the pre-text and the post-text all appear on a single line of the editor. This may mean that you have to use a long line (paragraph attribute = or /= ) in the editor. The apostrophe character ' is used as a delimiter for these texts. If this character also appears as part of one of these texts, then it must be written twice at this point to avoid it being interpreted as a delimiter character. A pre-text or post-text may itself contain symbols in addition to normal text, subject to the restriction that these symbols may not have a pre-text or a post-text. The KNA1-PFACH field contains a customer P.O. Box number. Since the text "P.O. Box" is not stored in the field along with the value, you would normally write the following for the P.O. Box line of an address: P.O. Box &KNA1-PFACH& However, if no P.O. Box has been specified then the result would be that the text "P.O. Box" would still appear on its own in the address. Using pre-text and/or post-text (in this case pre-text) can prevent this. P.O. Box &KNA1-PFACH& -> P.O. Box &'P.O. Box 'KNA1-PFACH& -> If a P.O. Box has been specified, then this will be displayed together with the appropriate text in the normal way. &'P.O. Box 'KNA1-PFACH& -> P.O. Box 123456 Country-dependent Formatting Certain fields are formatted in a way that is specific to a particular country. These include fields for displaying a date and numeric fields containing either a decimal point or a 'thousands' separator character. The formatting applied is
  • 8. usually determined by the definitions contained in the user master record. The SET COUNTRY control command can be used to select a different formatting operation. The various country-dependent formatting options are stored in the T005X table. Syntax /: SET COUNTRY country_key You can specify this country key either by quoting it directly enclosed in apostrophe characters or by using a symbol. /: SET COUNTRY 'CAN' /: SET COUNTRY &KNA1-LAND1& You can revert to the settings of the user master record by using the SET COUNTRY control command again with an empty country name. /: SET COUNTRY ' ' When SAPscript encounters this command it calls the corresponding ABAP command internally. The effect of the SAPscript command is thus identical with that of the ABAP command. Note: If the formatting turns out not to be as required, you should check the settings in the T005X table. Date Mask The formatting for date fields can be defined with the SAPscript SET DATE MASK command. Executing this command causes all subsequent date fields to be output using the specified formatting. Syntax /: SET DATE MASK = 'date_mask' The following templates may be used in the date mask: DD day (two digits) DDD name of day (abbreviated) DDDD name of day (written out in full) MM month (two digits) MMM name of month (abbreviated) MMMM name of month (written out in full) YY year (two digits) YYYY year (four digits) LD day (formatted as for the L option) LM month (formatted as for the L option) LY year (formatted as for the L option) Any other characters occurring in the mask are interpreted as simple text and are copied directly to the output.
  • 9. Assuming a current system date of March 1st, 1994. /: SET DATE MASK = 'Foster City, MM.DD.YY' &DATE& -> Foster City, 03.01.94 &DATE(Z)& -> Foster City, 3.1.94 /: SET DATE MASK = 'MMMM DD, YYYY' &DATE& -> March 01, 1994 You can revert to the standard setting by using the SET DATE MASK command again with an empty string in place of the date mask: /: SET DATE MASK = ' ' Time Mask You can use the SAPscript SET TIME MASK command to format time fields in a way that differs from the standard setting. Executing this command causes all subsequent time fields to be output using the specified formatting. Syntax: /: SET TIME MASK = 'time_mask' The following templates may be used in the time mask: HH hours (two digits) MM minutes (two digits) SS seconds (two digits) Any other characters occurring in the mask are interpreted as simple text and are copied directly to the output. Assuming the current time is 10:08:12. &TIME& -> 10:08:12 /: SET TIME MASK = 'HH:MM' &TIME& -> 10:08 /: SET TIME MASK = 'HH hours MM minutes' &TIME& -> 10 hours 08 minutes &TIME(Z)& -> 10 hours 8 minutes You can revert to the standard setting by using the SET TIME MASK command again with an empty string in place of the time mask: /: SET TIME MASK = ' ' Formatting Conventions
  • 10. Many theoretically possible combinations of option and symbol type would either make no sense or have no effect at all. The formatting process is divided into two stages: primary formatting and end formatting. The purpose of primary formatting is to convert the internal form of a symbol value to a character-based form. The end formatting is then applied to this intermediate form. The following sections describe the formatting process for each kind of symbol and in which of the two stages of conversion the various options are applied. Primary Formatting of System Symbols Primary Formatting of Standard Symbols Primary Formatting of Program Symbols Primary Formatting of Text Symbols End Formatting Primary Formatting of System Symbols Certain system symbols first need to be converted from their internal representation into a character representation before the end formatting can be applied to them. The following system symbols require a primary conversion: · &DAY&, &MONTH&, &YEAR&, &HOURS&, &MINUTES&, &SECONDS& The relevant components are extracted from the system date or system time. Leading zeros are eliminated if the Z formatting option is specified. · &DATE& The default behavior is that the system date is output according to the setting in the user master record or according to the country-dependent formatting specified in a SET COUNTRY command. If a date mask has been defined (using SET DATE MASK), then the formatting specified here will be used for the output. · &TIME& The default behavior is that the current system time is output in the form hours:minutes:seconds If an alternative time mask is specified (using SET TIME MASK) then this will override the default setting.
  • 11. · &PAGE&, &NEXTPAGE& This symbols are initially converted using the options specified in the layout set of the page definition. · &LDATE& This date representation is always formatted using the JPDAT conversion routine. All remaining system symbols are treated by the primary conversion as a character string and thus are not converted. The end conversion is started when the primary conversion is complete. Primary Formatting of Standard Symbols Standard symbols are treated by the primary formatting as a character string and thus are not converted. The end formatting is started immediately.