Skip to Content
avatar image
Former Member

methods

what are functional methods?

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

4 Answers

  • Best Answer
    avatar image
    Former Member
    Oct 09, 2007 at 12:39 PM

    Hi,

    http://help.sap.com/saphelp_nw04s/helpdata/en/08/d27c03b81011d194f60000e8353423/frameset.htm

    Functional Methods

    Functional methods are methods with any number of IMPORTING parameters and one RETURNING parameter. In addition to CALL METHOD you can also use the following expressions at operand positions to call functional methods:

    IMPORTING parameters

    Expression

    None

    meth( )

    One

    meth( f ) oder meth( p = f )

    n

    meth( p1 = f1 ... pn = fn )

    This notation is currently supported:

    · for the source field of the MOVE statement

    · in arithmetic expressions of the COMPUTE statement

    · in logical expressions

    · in the CASE statement of the CASE control structure

    · in the WHEN statement of the CASE control structure

    · in the WHERE condition of the statements LOOP AT, DELETE and MODIFYfor internal tables

    The functional method is entered instead of an operand. When the statement is executed, the method is called and the RETURNING parameter passed back is used as the operand.

    Thanks,

    Aby

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 09, 2007 at 12:24 PM

    hi,

    Methods that have a RETURNING parameters are described as <b>Functional Methods.</b> These methods can not have EXPORTING(or) CHANGING parameters,but has IMPORTING parameters and EXCEPTIONS.

    <b>if helpful reward some points.</b>

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 10, 2007 at 07:29 AM

    Hi Srikanth,

    As already said functional methods have returning parameter and no exporting and changing parameters. This returning parameter should be by value. By reference is not allowed.

    See the below code for a functional constructor.

    * & - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     * &   R e p o r t     Z G S _ E X E R _ 1 
     
     * & 
     
     * & - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     * & 
     
     * & 
     
     * & - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     
     
     R E P O R T     z g s _ e x e r _ 1 . 
     
     
     
     
     
     * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     *               C L A S S   l c l _ a i r p l a n e   D E F I N I T I O N 
     
     * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     * 
     
     * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     C L A S S   l c l _ a i r p l a n e   D E F I N I T I O N . 
     
         P U B L I C   S E C T I O N . 
     
             M E T H O D S   :   c o n s t r u c t o r   I M P O R T I N G   i m _ c a r r i d   T Y P E   s _ c a r r _ i d 
     
                                                                     i m _ c o n n i d   T Y P E   s _ c o n n _ i d 
     
                                                                     i m _ d i s t a n c e   T Y P E   s _ d i s t a n c e , 
     
                                 c a l c _ f u e l   r e t u r n i n g   v a l u e ( r e _ f u e l )   t y p e   i   . 
     
     
     
             C L A S S - M E T H O D S :   c a l c _ t o t _ f l i . 
     
         P R I V A T E   S E C T I O N . 
     
             D A T A   :   c a r r i d   T Y P E   s _ c a r r _ i d , 
     
                           c o n n i d   T Y P E   s _ c o n n _ i d , 
     
                           d i s t a n c e   T Y P E   s _ d i s t a n c e , 
     
                           f u e l _ c   T Y P E   i . 
     
     
     
             C L A S S - D A T A   :   t o t _ f l i g h t s   T Y P E   i . 
     
     
     
             M E T H O D S   :   d i s p _ f l i . 
     
     
     
     
     
     E N D C L A S S .                                         " l c l _ a i r p l a n e   D E F I N I T I O N 
     
     
     
     * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     *               C L A S S   l c l _ a i r p l a n e   I M P L E M E N T A T I O N 
     
     * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     * 
     
     * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 
     
     C L A S S   l c l _ a i r p l a n e   I M P L E M E N T A T I O N . 
     
         M E T H O D   c o n s t r u c t o r . 
     
             M O V E   i m _ c a r r i d   T O   c a r r i d . 
     
             M O V E   i m _ c o n n i d   T O   c o n n i d . 
     
             M O V E   i m _ d i s t a n c e   T O   d i s t a n c e . 
     
     
     
     *         C A L L   M E T H O D   c a l c _ f u e l . 
     
             C A L L   M E T H O D   m e - > d i s p _ f l i . 
     
             A D D   1   T O   t o t _ f l i g h t s . 
     
         E N D M E T H O D .                                         " s e t _ f l i 
     
     
     
         M E T H O D   d i s p _ f l i . 
     
             W R I T E   :   / 1 0   c a r r i d , 
     
                             / 1 0   c o n n i d , 
     
                             / 1 0   d i s t a n c e . 
     
     *                         / 1 0   f u e l _ c . 
     
         E N D M E T H O D .                                         " d i s p _ f l i 
     
     
     
         M E T H O D   c a l c _ f u e l . 
     
             r e _ f u e l   =   d i s t a n c e   /   1 0 . 
     
         E N D M E T H O D .                                         " c a l c _ f u e l 
     
     
     
         M E T H O D   c a l c _ t o t _ f l i . 
     
             W R I T E   : / 1 0   ' T o t a l   f l i g h t s   n o   o f   f l i g h s     : ' ,   t o t _ f l i g h t s . 
     
     *         w r i t e   : / 1 0   ' T o t a l   f u e l   c o n s u m p t i o n   i s       : ' ,   v _ t o t _ f u e l . 
     
         E N D M E T H O D .                                         " c a l c _ t o t _ f l i 
     
     E N D C L A S S .                                         " l c l _ a i r p l a n e   I M P L E M E N T A T I O N 
     
     
     
     S T A R T - O F - S E L E C T I O N . 
     
     
     
         D A T A   :   f l i g h t 1   T Y P E   R E F   T O   l c l _ a i r p l a n e , 
     
                       f l i g h t 2   T Y P E   R E F   T O   l c l _ a i r p l a n e . 
     
     
     
       d a t a   :   v _ c a r r i d   t y p e   s _ c a r r _ i d , 
     
                     v _ c o n n i d   t y p e   s _ c o n n _ i d , 
     
                     v _ d i s t a n c e   t y p e   s _ d i s t a n c e . 
     
     
     
     s e l e c t   s i n g l e   c a r r i d   c o n n i d   d i s t a n c e   f r o m   s p f l i 
     
       i n t o   ( v _ c a r r i d , v _ c o n n i d , v _ d i s t a n c e )                 . 
     
     
     
         C R E A T E   O B J E C T   f l i g h t 1   e x p o r t i n g   i m _ c a r r i d   =   v _ c a r r i d 
     
                                                                         i m _ c o n n i d   =   v _ c o n n i d 
     
                                                       i m _ d i s t a n c e   =   v _ d i s t a n c e   . 
     
     
     
         C R E A T E   O B J E C T   f l i g h t 2   e x p o r t i n g   i m _ c a r r i d   =   ' c d 2 ' 
     
                                                       i m _ c o n n i d   =   ' 0 0 0 2 ' 
     
                                                       i m _ d i s t a n c e   =   1 0 0   . 
     
     
     
     
     
     
     
     *     C A L L   M E T H O D   f l i g h t 1 - > s e t _ f l i (   i m _ c a r r i d   =   ' c d 1 ' 
     
     *                                                                 i m _ c o n n i d   =   ' 0 0 0 1 ' 
     
     *                                                                 i m _ d i s t a n c e   =   5 0 0   ) . 
     
     * 
     
     *     C A L L   M E T H O D   f l i g h t 2 - > s e t _ f l i (   i m _ c a r r i d   =   ' c d 2 ' 
     
     *                                                                 i m _ c o n n i d   =   ' 0 0 0 2 ' 
     
     *                                                                 i m _ d i s t a n c e   =   1 0 0   ) . 
     
     
     
             d a t a   :   v _ t o t _ f u e l   t y p e   i . 
     
             v _ t o t _ f u e l   =   f l i g h t 1 - > c a l c _ f u e l (   )   +   f l i g h t 2 - > c a l c _ f u e l (   ) . 
     
     
     
     
     
     * 
     
     l c l _ a i r p l a n e = > c a l c _ t o t _ f l i (   ) . 
     
     
     
     w r i t e   : / 1 0   ' T h e   t o t a l   f u e l   c o n s u m p t i o n   i s   :   ' , v _ t o t _ f u e l . 
     
    

    Just copy paste this code and debug .

    Functional methods can also be directly called in various expressions like if, case,loop etc.

    Reward points if useful,

    Aleem.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 10, 2007 at 11:56 AM

    Hi

    http://help.sap.com/saphelp_46c/helpdata/en/d3/2e974d35c511d1829f0000e829fbfe/frameset.htm

    Method

    An object's abilities. Lassie, being a Dog, has the ability to bark. So bark() is one of Lassie's methods. She may have other methods as well, for example sit() or eat(). Within the program, using a method should only affect one particular object; all Dogs can bark, but you need one particular dog to do the barking.

    Add comment
    10|10000 characters needed characters exceeded