技术开发 频道

来自SAP的样例:Field Symbol 的Example

Casting with predefined data types

REPORT demo_field_symbols_assign_type .

DATA txt(
8) TYPE c VALUE '19980606'.

DATA mytype(
1) VALUE 'X'.

FIELD
-SYMBOLS <fs> TYPE ANY.

ASSIGN txt TO
<fs>.
WRITE
/ <fs>.

SKIP.

* obsolete -------------------------------------------------------------

ASSIGN txt TO
<fs> TYPE 'D'.
WRITE
/ <fs>.

ASSIGN txt TO
<fs> TYPE mytype.
WRITE
/ <fs>.

SKIP.

* correct --------------------------------------------------------------

ASSIGN txt TO
<fs> CASTING TYPE d.
WRITE
/ <fs>.

ASSIGN txt TO
<fs> CASTING TYPE (mytype).
WRITE
/ <fs>.


--------------------------------------------------------------------------------

Casting decimla places

REPORT demo_field_symbols_assign_deci .

DATA: pack1 TYPE p DECIMALS
2 VALUE '400',
      pack2 TYPE p DECIMALS
2,
      pack3 TYPE p DECIMALS
2.

FIELD
-SYMBOLS: <f1> TYPE ANY ,
              
<f2> TYPE ANY.

WRITE:
/ 'PACK1', pack1.

SKIP.

* obsolete -------------------------------------------------------------

ASSIGN pack1 TO
<f1> DECIMALS 1.
WRITE:
/ '<F1> ', <f1>.

pack2
= <f1>.
WRITE:
/ 'PACK2', pack2.

ASSIGN pack2 TO
<f2> DECIMALS 4.
WRITE:
/ '<F2> ', <f2>.

pack3
= <f1> + <f2>.
WRITE:
/ 'PACK3', pack3.

<f2> = '1234.56789'.
WRITE:
/ '<F2> ', <f2>.
WRITE:
/ 'PACK2', pack2.

SKIP.

* correct --------------------------------------------------------------

ASSIGN pack1 TO
<f1> CASTING TYPE p DECIMALS 1.
WRITE:
/ '<F1> ', <f1>.

pack2
= <f1>.
WRITE:
/ 'PACK2', pack2.

ASSIGN pack2 TO
<f2> CASTING TYPE p DECIMALS 4.
WRITE:
/ '<F2> ', <f2>.

pack3
= <f1> + <f2>.
WRITE:
/ 'PACK3', pack3.

<f2> = '1234.56789'.
WRITE:
/ '<F2> ', <f2>.
WRITE:
/ 'PACK2', pack2.

0
相关文章