!--a11y-->

f[^IuWFNgđtB[hV{ÉèÄ鯫ÉACÓÌf[^^ÉLXg·é±ÆȘƫܷBÂÜèAàÌ éÌæÌf[^^đÁèÌf[^^ÆĘÈ·±ÆȘĆ«éíŻĆ·BLXgȘsíêéÆAItZbg/ ·łAhVOđs€±ÆÈAÚÌêđÛ„IÉAhX·é±ÆȘƫܷB
ASSIGN œßĆ CASTING IvVđgp”Ü·BLXgđp·éÆAf[^IuWFNgÌf[^^ÆtB[hV{Ìf[^^ÔÉĘ·«ȘÈąêàAf[^IuWFNgđtB[hV{ÉèÄ鱯ȘƫܷBCASTING ÉÍAĂÙIÈf[^^éŸđs€LXgÆŸŠIÈf[^^éŸđs€LXgÌ 2 íȚȘ èÜ·B
tB[hV{Ìf[^^ȘtwèłêÄąéêAÜœÍtB[hV{ȘWFlbNrgC ABAP ^Cv (C AN AP AX) Ìąžê©đÂêAÌœßđLq·é±ÆȘƫܷB
ASSIGN ...TO <FS> CASTING.
tB[hV{ȘANZXłêéÆAf[^^ȘtB[hV{ÆŻ¶Ć é©Ìæ€ÉAèÄçêœf[^IuWFNgÌàeȘđßłêÜ·Bf[^IuWFNgÌ·łÆźńÍAtB[hV{ÉΔÄĘ·«ȘKvĆ·BĘ·«ȘÈąêÍAÀsG[ȘÔłêÜ·BtB[hV{ÜœÍf[^IuWFNgÌf[^^ȘA¶ńAQÆ^CvÜœÍàe[uÌê ( ܜͱêçđÜȚê) A±êçÌR|[lgÌf[^^Æ|WVÍźSÉêv·éKvȘ èÜ·Bêv”ÈąêÍAÀsG[Ș¶”Ü·B

REPORT demo_field_symbols_casting.
TYPES: BEGIN OF
t_date,
year(4) TYPE
n,
month(2) TYPE
n,
day(2)
TYPE n,
END OF t_date.
FIELD-SYMBOLS <fs> TYPE t_date.
ASSIGN sy-datum TO <fs> CASTING.
WRITE / sy-datum.
SKIP.
WRITE: / <fs>-year , / <fs>-month, /
<fs>-day.
oÍÍÌæ€ÉÈèÜ·B
1999/05/19
1999
05
19
±ÌáĆÍAtB[hV{ <fs> Ìf[^^ȘA[JvO^Cv t_date ĆtwèłêĹܷBASSIGN œßÌ CASTING IvVÌÀsÉæèAÚ SY-DATUM Í\ąÆ”ÄłêÜ·BSY-DATUM ÍtB[hV{Ìf[^^ÆĘ·«ȘÈąÌĆACASTING IvVȘÈŻêÎAăÌìÍÀsĆ«ÜčńB
tB[hV{Ìf[^^ȘtwèłêÄšçžAWFlbNf[^^ĆàwèłêÄąÈąêÍAÌ`Ć ASSIGN œßđLq”Ü·B
ASSIGN ... TO <FS> CASTING TYPE < f[^^ >|LIKE <obj> [DECIMALS <d>].
tB[hV{ȘANZXłêéÆA±ÌœßĆéŸłêœf[^^Ć é©Ìæ€ÉAèÄçêœf[^IuWFNgÌàeȘđßłêÜ·BTYPE IvVÌÀsăÍA©Á±àÌf[^IuWFNgÌŒOđéŸ·é±ÆȘƫܷB±Ìf[^IuWFNgÌàeÍAÀsÌf[^^Ć·B
f[^IuWFNgÖÌŸŠIÈLXgȘ_IÈêŸŻAf[^^đüÍ·é±ÆȘƫܷBœÆŠÎAWe[uđ\[ge[uÉAÜœÍIuWFNgQÆđf[^QÆÉLXg·éÓĄÍ èÜčńB”œȘÁÄATYPE IvVÌăÍA(SORTED TABLE ÈÇÌ) e[uÌíȚâ (REF TO đgp”Ä) QÆ^CvđéŸ·é±ÆÍĆ«ÜčńBf[^^ȘA¶ńAQÆ^CvÜœÍàe[uÌê ( ܜͱêçđÜȚê) A±êçÌR|[lgȘAèÄçêœf[^IuWFNgàɶʷéKvȘ èÜ·Bf[^IuWFNgàÉÈąêÍA\¶G[ÜœÍÀsG[ȘÔłêÜ·B
TYPE ÜœÍ LIKE IvVĆéŸłêœf[^^ÍAtB[hV{ÌWFlbNf[^^ÉΔÄĘ·«ȘKvĆ·BWFlbNf[^^ÍA»ÌÜÜg€±ÆàAÚŚÉwè·é±ÆàƫܷBœŸ”AtB[hV{Ìù¶ÌZpź«đZbg ·é±ÆÍĆ«ÜčńBœÆŠÎAtB[hV{Ìf[^^ȘźSÈWFlbNf[^^Ì ANY ÌêAŒÌWFlbNf[^^đéŸ·é±ÆȘƫܷBtB[hV{ÌWFlbNf[^^ȘAC AN AP AÜœÍ X ÌêAŹ_Èș Ì·łÆ”©wè·é±ÆȘĆ«ÜčńBtB[hV{Ìf[^^ȘtwèłêÄąéêÍA»êÈ㌩wè·é±ÆÍĆ«ÈąÌĆA»ÌtB[hV{ÌŸŠIÈf[^^éŸđs€±ÆÍĆ«ÜčńB±Ì`FbNÍÂ\Ć êÎĂIÉsíêAĆ«ÈąêÍÀsÉsíêÜ·B
èÄçêœf[^IuWFNgÌàeđpbNlÆ”ÄđßĆ«éêÍADECIMALS IvVđgp”Ü·BtB[hV{ÍAwèłêœ <d> Ź_Èș ÉÈèÜ·BDECIMALS ÍAf[^^Șè`łêÄąÈąêÜœÍAf[^^Ș P ÌêÌĘAgp·é±ÆȘƫܷBf[^^Șè`łêÄąÈąêÍAf[^^ P ȘgíêÜ·BÜœALIKE IvVÆ DECIMALS IvVđŻÉgp·é±ÆÍĆ«ÜčńB

REPORT demo_field_symbols_casting_typ.
TYPES: BEGIN OF
t_date,
year(4) TYPE
n,
month(2) TYPE
n,
day(2)
TYPE n,
END OF t_date.
FIELD-SYMBOLS: <fs>
TYPE ANY,
<f> TYPE n.
ASSIGN sy-datum TO <fs> CASTING TYPE t_date.
WRITE / sy-datum.
SKIP.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <fs> TO
<f>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
WRITE / <f>.
ENDDO.
oÍÍÌæ€ÉÈèÜ·B
1999/05/19
1999
05
19
±ÌáĆÍAtB[hV{ <fs> ÍźSÉWFlbNĆ·BASSIGN œßÌ CASTING IvVđgÁÄAÚ SY-DATUM đ[JvO^Cv t_date ÉLXg”Ü·BLXgăÍAtB[hV{ <fs> ÍA\ąÌæ€É·é±ÆȘƫܷȘAR|[lgÌFŻÍĆ«ÜčńB”œȘÁÄAR|[lgČÆÉŒÌtB[hV{<f> ÉèÄéKvȘ èÜ·B
Ì ASSIGN œßÌIvVÍA »”ÄšèA»ĘÍgpłêÄšèÜčńB»ĘÍA±êçÌIvVÌăíèÉAăLÌ CASTING IvVȘpąçêÜ·B
(CASTING œß̱üOÉ) tB[hV{Ìf[^^đèÄçêœIuWFNg^Cv©çŰèŁ”ÄĘè·éêÍAASSIGN œßÌ TYPE IvVđgp”ĹܔœB
ASSIGN ...TO <FS> TYPE <t>.
”©”A·łȘĆèłêœî{ ABAP ^Cv (C AD AF AI AN AP AT AX) AšæŃ <t> ÌeÜœÍÏÉÍA( t«) 2 oCgźÌê 's' A( È”) 1 oCgźÌê 'b' ”©gpĆ«ÜčńĆ”œB±êÆÍÎÆIÉACASTING œßĆÍATYPE IvVÌăĆà·ŚÄÌf[^^đéŸ·é±ÆȘƫܷB
TYPE IvVÍAÌæ€ÈêÉgpłêĹܔœB
· f[^^ȘwèłêœtB[hV{
èÄçêœf[^IuWFNgÌf[^^ÆtB[hV{Ìf[^^ÔÉĘ·«ȘÈąêÉAG[bZ[WđołÈ࿀ɷéœßÉÍAf[^^ȘwèłêœtB[hV{É TYPE IvVđgp·éÌÍűÊIĆ”œB±ÌêAwèłêœf[^^ <t> ÆtB[hV{Ìf[^^ÔÉÍĘ·«ȘKvĆ·BtB[hV{ÍAèÄçêœf[^IuWFNgÉ©©íçžAf[^^đ۔ܷB»Ę±Ìæ€Èó”ÉÈÁœêÍAĂÙIÈf[^^éŸđs€LXgđÀs”ÄŸłąB
· f[^^ȘwèłêÄąÈątB[hV{
TYPE IvVđg€ÆAf[^^ȘwèłêÄąÈątB[hV{ <FS> ÍAèÄçêÄąéf[^IuWFNgÌf[^^ÆoÍ·ĆÍÈA<t> Ćwèłêœf[^^đÌp”Ü·BTYPE IvVȘ ASSIGN œßÉÜÜêAtB[hV{ȘvOĆgpłêéÆAf[^IuWFNgÌàeÍAf[^^<t> ÌÚÌæ€ÉđßłêÜ·B»Ę±Ìæ€Èó”ÉÈÁœêÍAŸŠIÈf[^^éŸđs€LXgđÀs”ÄŸłąB
éŸłêœf[^^ȘFŻłêÄąÈąêAéŸłêœf[^^Ì·łȘèÄçêœÚÉΔÄZ·ŹéêAf[^^ÆtB[hV{ÌźńÌĘ·«ȘÈąêÍAG[bZ[WȘ¶”Ü·B

»ĘÍgpłêÄąÈą TYPE đgp”œáÍAÌÆšèĆ·B
DATA TXT(8) VALUE '19980606'.
DATA mytype(1) VALUE 'X'.
FIELD-SYMBOLS <fs>.
ASSIGN txt TO <fs>.
WRITE / <fs>.
ASSIGN txt TO <fs> TYPE 'D'.
WRITE / <fs>.
ASSIGN TXT TO <FS> TYPE MYTYPE.
WRITE / <fs>.
CASTING IvVđgp”œáÍAÌÆšèĆ·B
DATA TXT(8) VALUE '19980606'.
DATA mytype(1) VALUE 'X'.
FIELD-SYMBOLS <fs>.
ASSIGN txt TO <fs>.
WRITE / <fs>.
ASSIGN txt TO <fs>
CASTING TYPE d.
WRITE / <fs>.
ASSIGN txt TO <fs>
CASTING TYPE (mytype).
WRITE /
<fs>.
ÇżçÌêàAÌoÍȘ\ŠłêÜ·B
19980606
06061998
3139393830363036
±êçÌáĆÍA¶ń TXT ÍtB[hV{ <FS> É 3 ńèÄçêÜ·BÜžLXgÈ”ĆèÄçêAÉf[^^ D ĆLXgłêAĆăÉf[^^ X ĆLXgłêÜ·B2 ÂÚÌoÍsÌźÍA[U}X^R[hàÌf[^ÉæÁÄÙÈèÜ·BĆIsÌÍA txt àÌ¶Ì 16 iR[hĆ·B±êçÍAvbgtH[˶ ( ±Ìê ASCII) Ć·B
(CASTING œß̱üOÉ) f[^^ P ÌpbNlÖÌÉtB[hV{àÌŹ_Èș Ìđwè·éêÍAASSIGN œßÌ DECIMAL IvVđgp”ĹܔœB
ASSIGN ...TO <FS> DECIMALS <d>.
tB[hV{ÉèÄçêœf[^IuWFNgÌf[^^Ș P ÌêAASSIGN œßÌÇÌoAgĆà DECIMALS IvVđg€±ÆȘƫܷB”œȘÁÄAêÊIÉAtB[hV{ÆèÄÚÌlȘÙÈèÜ·BŹ_Èș Ì<d> ÍAeÜœÍÏÆ”Äwè·é±ÆȘƫܷB<d> Ș 0 ©ç 14 ÌÔÉÈąêAÜœÍtB[hV{ÉèÄçêœf[^IuWFNgÌf[^^Ș P ĆÈąêÍAÀsG[Ș¶”Ü·B

»ĘÍgpłêÄąÈą DECIMALS đgp”œáÍAÌÆšèĆ·B
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 i.
WRITE: / 'PACK1', pack1.
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.
CASTING IvVđgp”œáÍAÌÆšèĆ·B
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 i.
WRITE: / 'PACK1', pack1.
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.
ÇżçÌêàAÌæ€ÈêȘ\ŠłêÜ·B
PACK1 400.00
<F1> 4,000.0
PACK2 4,000,00
<F2> 40.0000
PACK3 4,040.00
<F2> 1.234,5679
PACK2 123,456.79
f[^^ P ÌÚ 3 ÂÌŹ_Èș ÍA2 ÆÈèÜ·BtB[hV{<f1> ÌŹ_Èș Í 1 A<f2> ÌŹ_Èș Í 4 Ć·BtB[hV{ÆèÄçêœÚĆlȘေÆÉӔğłąB