This source is an example of Recursive Perform Statement. This is not a useful source for your project, but for thosewho studies Recursive Perform Statements, this can be a useful example of ABAP Recursive Perform Statement.
*Writen By Hakchin.
*We can get the factorial of number 5.
*5*4*3*2*1=120
DATA fa TYPE p VALUE 5.
DATA result TYPE p.
BREAK-POINT.
PERFORM factorial USING fa
CHANGING result.
WRITE:/ fa, / result.
*&---------------------------------------------------------------------*
*& Form factorial
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_FA text
* <--P_RESULT text
*----------------------------------------------------------------------*
FORM factorial USING value(p_fa)
CHANGING value(p_result).
DATA l_fa TYPE p.
p_result = l_fa = p_fa.
p_fa = p_fa - 1.
IF p_fa > 1.
PERFORM factorial USING p_fa
CHANGING p_result.
ENDIF.
IF p_fa = 1.
p_result = p_result * p_fa.
ELSE.
p_result = p_result * l_fa.
ENDIF.
ENDFORM. " factorial
Output:
5
120
Requires Free Membership to View
This was first published in April 2002

Join the conversationComment
Share
Comments
Results
Contribute to the conversation