BitacoraSapAbap

30-03-2008

WRITE – Output to a variable (glosario ingles)

Archivado en: abap : glosario — bitacorasapabap @ 20:36:26

Variants
1. WRITE f TO g[+off][(len)].
2. WRITE f TO itab[+off][(len)] INDEX idx.
Variant 1
WRITE f TO g[+off][(len)].
Addition
… option
Effect
Assigns the contents of the
source field f to the target field g as a new value.
In contrast to MOVE , the format of the target field g
is the same as when outputting to a list with WRITE .
The field type C is always used, regardless of the actual data type.
As with list output, the settings in the user’s master record for decimal point
(period or comma) and date format are taken into account.
Other formatting options are also possible with list
output.
Instead of specifying a static source field f , you can make a dynamic source
field specification (name) . In this case, the contents of the field name is
interpreted as the source field name at runtime and the contents are formatted
accordingly.
You can identify the target field g more precisely by specifying the offset
and/or length in the form g+off(len) . Both the offset and the length
specifications off and len can also be dynamic.
The return code value SY-SUBRC is undefined.
Example
WRITE … TO with dynamic source field specification and
dynamic offset and length specification for the target field:
DATA: NAME(5)  VALUE ‘FIELD’,
      FIELD(5) VALUE ‘Harry’,
      DEST(18) VALUE ‘Robert James Smith’,
      OFF      TYPE I,
      LEN      TYPE I.
OFF = 7.
LEN = 8.
WRITE (NAME) TO DEST+OFF(LEN).
The field DEST noew contains the value ” Robert Harry
ith “.
Notes
Only values between 0 and the length of the target field g are
allowed as offset specifications. Any other offset specifications result in a
runtime error.
Only values >= 0 are allowed as length specifications. Negative length
specifications result in a runtime error. Excessive length specifications are
automatically truncated.
If you specify the field length as the offset or the value 0 as the length, the
target field is blank. In this case, the statement has no effect.
Addition
… option
Effect
Modifies the output format with the aid of special formatting options .
Variant 2
WRITE f TO itab[+off][(len)] INDEX idx.
Additions like variant 1.
Effect
Like variant 1, except that output is to the idx -th line of
the internal table itab .
Ayn offset and/or length specifications refer to the table line used for
output.
The return code value is set as follows:
SY-SUBRC = 0 Valid index specification, i.e. the internal table itab contains a
line with the index idx .
SY_SUBRC = 4 Index specification is too large, i.e. the internal table itab
contains fewer than idx entries.
Note
Invalid index specifications, i.e. idx <= 0, result in a
runtime error.
Note
Runtime errors
WRITE_TO_LENGTH_NEGATIVE
: Negative length specification in len .
WRITE_TO_OFFSET_NEGATIVE :
Negative offset specification in off .
WRITE_TO_OFFSET_TOOLARGE :
Offset specification in off is greater than field length.
TABLE_INVALID_INDEX : Invalid
index specification <= 0
in idx (variant 2 only).
Related MOVE , WRITE

Blog de WordPress.com.