<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Form......Endform in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092445#M733534</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what is the difference betwn 'by reference' and 'by value and result' ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Dec 2007 12:09:08 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-12-05T12:09:08Z</dc:date>
    <item>
      <title>Form......Endform</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092440#M733529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi in subroutine Form how 'changing, varying,using' used to pass parameters?Give simple example to understand.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 11:38:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092440#M733529</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-05T11:38:13Z</dc:date>
    </item>
    <item>
      <title>Re: Form......Endform</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092441#M733530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;check this perform&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; PERFORM f_report_display  TABLES t_ekko&lt;/P&gt;&lt;P&gt;                                   t_ekpo&lt;/P&gt;&lt;P&gt;                                   t_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 t_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 t_alv_sort&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                            USING  x_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_report_display  TABLES   p_t_header   LIKE  t_ekko&lt;/P&gt;&lt;P&gt;                                p_t_item     LIKE  t_ekpo&lt;/P&gt;&lt;P&gt;                                p_t_fieldcat LIKE  t_fieldcat&lt;/P&gt;&lt;P&gt;                       USING    p_x_print    TYPE  slis_print_alv.&lt;/P&gt;&lt;P&gt;  DATA: l_repid TYPE sy-repid.&lt;/P&gt;&lt;P&gt;  l_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  t_keyinfo-header01 = 'EBELN'.&lt;/P&gt;&lt;P&gt;  t_keyinfo-item01   = 'EBELN'.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program      = l_repid&lt;/P&gt;&lt;P&gt;      i_callback_user_command = c_user_command&lt;/P&gt;&lt;P&gt;      it_fieldcat             = p_t_fieldcat[]&lt;/P&gt;&lt;P&gt;      i_default               = 'X'&lt;/P&gt;&lt;P&gt;      i_tabname_header        = 'T_EKKO'&lt;/P&gt;&lt;P&gt;      i_tabname_item          = 'T_EKPO'&lt;/P&gt;&lt;P&gt;      is_keyinfo              = t_keyinfo&lt;/P&gt;&lt;P&gt;      is_print                = p_x_print&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab_header         = p_t_header[]&lt;/P&gt;&lt;P&gt;      t_outtab_item           = p_t_item[].&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regars &lt;/P&gt;&lt;P&gt;kk.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 11:41:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092441#M733530</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-05T11:41:27Z</dc:date>
    </item>
    <item>
      <title>Re: Form......Endform</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092442#M733531</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Refer the thread -&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="2578569"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all helpful replies.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 11:41:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092442#M733531</guid>
      <dc:creator>amit_khare</dc:creator>
      <dc:date>2007-12-05T11:41:42Z</dc:date>
    </item>
    <item>
      <title>Re: Form......Endform</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092443#M733532</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;call by reference&lt;/P&gt;&lt;P&gt;REPORT  ZSUBREFERENCE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : num1 type i value 5,&lt;/P&gt;&lt;P&gt;       num2 type i value 4,&lt;/P&gt;&lt;P&gt;       sum type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform addition using  num1 num2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sum = num1 + num2.&lt;/P&gt;&lt;P&gt; write : sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  addition&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_NUM1  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_NUM2  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_SUM  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form addition  using p_num1&lt;/P&gt;&lt;P&gt;                p_num2.&lt;/P&gt;&lt;P&gt;               &lt;/P&gt;&lt;P&gt; p_num1 = 8.&lt;/P&gt;&lt;P&gt; p_num2 = 9.&lt;/P&gt;&lt;P&gt;  sum = p_num1 + p_num2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; write sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " addition&lt;/P&gt;&lt;P&gt;call by value&lt;/P&gt;&lt;P&gt;REPORT  ZSUBREFERENCE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : num1 type i value 5,&lt;/P&gt;&lt;P&gt;       num2 type i value 4,&lt;/P&gt;&lt;P&gt;       sum type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform addition using  num1 num2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sum = num1 + num2.&lt;/P&gt;&lt;P&gt; write : sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  addition&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_NUM1  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_NUM2  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_SUM  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form addition  using value(p_num1)&lt;/P&gt;&lt;P&gt;               value( p_num2).&lt;/P&gt;&lt;P&gt;               &lt;/P&gt;&lt;P&gt; p_num1 = 8.&lt;/P&gt;&lt;P&gt; p_num2 = 9.&lt;/P&gt;&lt;P&gt;  sum = p_num1 + p_num2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; write sum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " addition&lt;/P&gt;&lt;P&gt;Reward for use ful points&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Nagesh.Paruchuri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 11:42:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092443#M733532</guid>
      <dc:creator>paruchuri_nagesh</dc:creator>
      <dc:date>2007-12-05T11:42:40Z</dc:date>
    </item>
    <item>
      <title>Re: Form......Endform</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092444#M733533</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;   go thru this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Defining Subroutines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A subroutine is block of code introduced by FORM and concluded by ENDFORM.  Following syntax is used to define a form or subroutine:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM &amp;lt;name&amp;gt; &amp;lt;parameters&amp;gt;&lt;/P&gt;&lt;P&gt;. .  &amp;#133;..&lt;/P&gt;&lt;P&gt;&amp;#133;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here parameters is optional. You can have plain subroutine without the parameters for example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SUB1.&lt;/P&gt;&lt;P&gt;&amp;#133; .  .&lt;/P&gt;&lt;P&gt;&amp;#133; .&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Calling Subroutines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can call subroutines from program by following statement:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM &amp;lt;subr&amp;gt; [&amp;lt;para&amp;gt;].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters are optional. i.e., you can call subroutine without passing any parameter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Perform SUB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Passing Data to Subroutines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you work with global data in subroutines, you can put a copy of the global data on a local data stack and use it to avoid accidental loss of data (In this way you protect global data.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can pass data between calling program and subroutines by using parameters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#149;	Parameters, which are defined during definition of a subroutine with FORM statement are called &amp;#145;formal parameter&amp;#146;.&lt;/P&gt;&lt;P&gt;&amp;#149;	Parameters which are specified during the call of a subroutine with the PERFORM statement are called &amp;#145;actual parameter&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parameters are passed to the FORM either:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#149;	By value&lt;/P&gt;&lt;P&gt;&amp;#149;	By Reference&lt;/P&gt;&lt;P&gt;&amp;#149;	By value and return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By Value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	Data : a type I value 20.&lt;/P&gt;&lt;P&gt;	Perform sub1 using a.&lt;/P&gt;&lt;P&gt;	Write a.&lt;/P&gt;&lt;P&gt;	FORM sub1 using value (p_a)&lt;/P&gt;&lt;P&gt;		P &amp;#150; a = 15&lt;/P&gt;&lt;P&gt;	ENDORM.&lt;/P&gt;&lt;P&gt;In this case during subroutine call, the formal parameter are created as copies of actual parameter.&lt;/P&gt;&lt;P&gt;The formal parameters have the memory of their own. Changes made to formal parameter have no effect on the actual parameter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Like in this case, though value of p_a is changed to 15, it has no effect on &amp;#145;a&amp;#146; which remains as 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By Reference&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	Data: a type I value 20.&lt;/P&gt;&lt;P&gt;	Perform sub1 using a.&lt;/P&gt;&lt;P&gt;	Write a.&lt;/P&gt;&lt;P&gt;	FORM sub1 using value (p_a)&lt;/P&gt;&lt;P&gt;		P &amp;#150; a = 15.&lt;/P&gt;&lt;P&gt;	ENDORM.&lt;/P&gt;&lt;P&gt;By default system calls all the forms by reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this case, only the address of the actual parameter is transferred to the formal parameters.  The formal parameter has no memory of its own.  If you change the formal parameter, change is visible in actual parameter also.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By Value and Return&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;	&amp;lt;b&amp;gt;Data : a type I value 20.&lt;/P&gt;&lt;P&gt;	Perform sub1 changing a.&lt;/P&gt;&lt;P&gt;		FORM sub1 changing value (p_a)&lt;/P&gt;&lt;P&gt;		P &amp;#150; a = 15.&amp;lt;/b&amp;gt;	ENDORM.&lt;/P&gt;&lt;P&gt;In this case if you change formal parameter, then the value of actual parameter is changed when the control is transferred back to the main program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assuming A is declared by DATA statement and has value 20 and subroutine SUB1 is called by passing A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Srinu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 11:45:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092444#M733533</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-05T11:45:18Z</dc:date>
    </item>
    <item>
      <title>Re: Form......Endform</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092445#M733534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what is the difference betwn 'by reference' and 'by value and result' ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2007 12:09:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/form-endform/m-p/3092445#M733534</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-05T12:09:08Z</dc:date>
    </item>
  </channel>
</rss>

