sapdev logo background
sapdev logo sapdev logo
Comments

SAP EXTENDED FUNCTIONAL POSITIONS documentation, setup help and example usage



Return to SAP documentation index


ARTICLE

Extended Functional Operand Positions
Extended functional operand positions are
functional operand positions in which certain predefined functions can be specified alongside data objects, functional method calls , constructor expressions , and table expressions , if a single data object is specified as their argument. The following extended functional operand positions exist:
  • Operand operand of the predicate expression

  • ... operand IS [NOT] INITIAL
  • Operands operand of the statement

  • WHEN operand ...
    No table expressions , however, can be specified for operand .
  • Source field source of the obsolete statement

  • MOVE source TO ...
    No constructor expressions or table expressions , however, can be specified for source .
    The predefined functions that can be specified for WHEN and
    MOVE are:
  • General numeric functions

  • Floating point functions

  • Length functions for strings

  • Length functions for byte strings


  • Row function for internal tables

  • If an expression, a functional method, or a predefined function is specified as an argument, these predefined functions cannot be specified in extended functional operand positions.

    Note
    Extended functional operand positions exist for historical reasons and they have been replaced by operand positions for functions and expressions . In all appropriate places, operand positions in which functional methods or predefined functions could previously also be specified, were replaced by a suitable operand position . In the remaining statements, WHEN and MOVE , this did not take placed, because:
  • The operand position of the predicate expression IS [NOT] INITIAL

  • is suitable for use as a functional operand position , but not as a general expression position . In particular, calculation expressions are not valid here.
  • WHEN is used to distinguish cases using CASE

  • . Generally, no operations should be performed after WHEN and constant values should be specified instead. The operand position after CASE , on the other hand, was changed to a general expression position .
  • MOVE is obsolete and has been replaced by the assignment operator = . The right side of a statement with assignment operator is a generation expression position .

  • The extended functional operand position should not be used in the case of WHEN . The more general assignment operator = should be used instead of MOVE .

    Bad example
    Specifies the predefined function lines as the source of the obsolete statement MOVE .
    DATA itab TYPE TABLE OF i WITH EMPTY KEY.
    DATA lines TYPE i.
    ...
    MOVE lines( itab ) TO lines.

    #Good example
    Uses the general assignment operator =
    , which enables inline declarations on the left side.
    DATA itab TYPE TABLE OF i WITH EMPTY KEY.
    ...
    DATA(lines) = lines( itab ).
    Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




    EXPRESSION_POSITIONS_WRITE
    EXTENDED_PROGRAM_CHECK_GLOSRY




    comments powered by Disqus