REPORT Z_TEST.
DATA:
DATE1 TYPE D, DATE2 TYPE T,
STRING1(6) TYPE C, STRING2(8) TYPE C,
NUMBER1 TYPE P DECIMALS 2, NUMBER2 TYPE P,
COUNT1 TYPE I, COUNT2 TYPE I.
PERFORM TYPETEST USING DATE1 STRING1 NUMBER1 COUNT1.
SKIP.
PERFORM TYPETEST USING DATE2 STRING2 NUMBER2 COUNT2.
FORM TYPETEST USING NOW
TXT TYPE C
VALUE(NUM) TYPE P
INT TYPE I.
DATA: T.
DESCRIBE FIELD NOW TYPE T.
WRITE: / 'Type of NOW is', T.
* DESCRIBE FIELD TXT LENGTH T.
DESCRIBE FIELD TXT LENGTH T IN CHARACTER MODE.
WRITE: / 'Length of TXT is', T.
DESCRIBE FIELD NUM DECIMALS T.
WRITE: / 'Decimals of NUM are', T.
DESCRIBE FIELD INT TYPE T.
WRITE: / 'Type of INT is', T.
ENDFORM.
Error : In Unicode, DESCRIBE LENGTH can only be used with the IN BYTE MODE or IN CHARACTER MODE addition
.
Cause: In some cases, the syntax rules that apply to Unicode Programs are different than those for non-Unicode programs For example, if one uses the addition LENGTH, one must also use one of the two additions IN CHARACTER MODE or IN BYTE MODE in Unicode systems.
Solution: Specify the mode depending upon the field types.
… IN CHARACTER MODE
This addition can only be used for character-type fields and in combination with the addition
LENGTH. The length of the field f is determined in characters.
… IN BYTE MODE
This addition can only be used in combination with the addition LENGTH. The length of the
field f is determined in bytes.
Example:
DATA: FLD(8),
LEN TYPE I,
* DESCRIBE FIELD FLD LENGTH LEN.
DESCRIBE FIELD FLD LENGTH LEN IN CHARACTER MODE.