sapdev logo background
sapdev logo sapdev logo
Comments

SAP CONSTRUCTOR EXPRESSION CONV documentation, setup help and example usage



Return to SAP documentation index


ARTICLE

CONV - Conversion Operator

Syntax
... CONV type( dobj ) ...

Effect
A constructor expression with the conversion operator CONV converts
the argument dobj to the data type specified using type
and creates an appropriate result. The following can be specified for type :
  • A non-generic data type dtype (with the exception of reference types ).

  • The parentheses must contain precisely one unnamed argument dobj that can be converted to the data type type . dobj is a general expression position with the following restrictions:
  • If dobj is specified as a

  • string expression , type must be character-like.
  • If dobj is specified as a bit expression , type must be byte-like.

  • The content of the result is determined by an assignment of the argument in accordance with the associated conversion rule . If dobj is compatible with the data type type , CONV does not need to be used and a syntax check warning is produced.

    Notes
  • The conversion operator CONV is suitable for avoiding the declaration of helper variables only needed to (for example)

  • specify type-compliant actual parameters.

  • influence the calculation type of an

  • arithmetic expression or the comparison type of a relational expression .
  • The argument of CONV can itself be a calculation expression , which means that CONV can be used within a calculation expression to transform results of subcalculations to a specific type.

  • No empty parentheses can be specified after CONV to construct an initial value of the specified type. The expression VALUE #( ) can be used to do this.

  • For reference types, the conversion operator CONV is not necessary, since these involve only castings and no conversions. The operator CAST is used for castings.


  • Example
    The method CONVERT_TO of the class
    CL_ABAP_CODEPAGE expects the data type string for the input parameter SOURCE . CONV is used to convert a text field to this data type, directly in the operand position.
    DATA file TYPE xstring.
    DATA text TYPE c LENGTH 255.

    file = cl_abap_codepage=>convert_to(
    source = CONV string( text )
    codepage = `UTF-8` ).

    Example
    Even though the internal table itab in the method meth1 has the same row type as the table type of the parameter para of the method meth2 , it cannot be passed directly due to its different table category and key. CONV is used to convert
    itab to the required table type.
    CLASS class DEFINITION.
    PUBLIC SECTION.
    TYPES t_itab TYPE STANDARD TABLE OF i
    WITH EMPTY KEY.
    METHODS meth1.
    PRIVATE SECTION.
    METHODS meth2 IMPORTING para TYPE t_itab.
    ENDCLASS.

    CLASS class IMPLEMENTATION.
    METHOD meth1.
    DATA itab TYPE STANDARD TABLE OF i
    WITH NON-UNIQUE DEFAULT KEY.
    ...
    meth2( CONV #( itab ) ).
    ...
    ENDMETHOD.
    METHOD meth2.
    ...
    ENDMETHOD.
    ENDCLASS.

    Example
    The two calculations produce different results. In the first case, the calculation type is f and the end result is converted to i . In the second case, CONV converts each interim result to the calculation type i .
    DATA int TYPE i.

    int = sqrt( 5 ) + sqrt( 6 ).
    int = CONV i( sqrt( 5 ) ) + CONV i( sqrt( 6 ) ).

    Example
    The first logical expression is false, as specified in the comparison rules for character-like data types
    . CONV is used to alter the comparison type of the second comparison so that the comparison is true.
    TYPES c1 TYPE c LENGTH 1.

    DATA txt TYPE c1.
    DATA str TYPE string.

    txt = ' ' .
    str = ` `.

    IF txt = str.
    ...
    ENDIF.

    IF txt = CONV c1( str ).
    ...
    ENDIF.
    Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




    CONSTRUCTOR_EXPRESSION_CAST
    CONSTRUCTOR_EXPRESSION_EXACT




    comments powered by Disqus