<?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: Macro defination in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703456#M1295355</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Akal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;In code you call the macro as follows:&lt;/EM&gt; &lt;/P&gt;&lt;P&gt;mac_error_data VAR1 VAR2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;What macro does:&lt;/EM&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
DEFINE mac_error_data.
check not &amp;amp;2 is initial.                                         "If VAR2 is not initital
g_msgseq = g_msgseq + 1.                                " add 1 to g_msgseq 
move: iest0-company to itab_error-company,         "itab_error-company = iest0-company
iest0-customer to itab_error-customer,                  "itab_error-customer = iest0-customer
iest0-bill_no to itab_error-bill_no,                          "itab_error-bill_no = iest0-bill_no
g_msgseq to itab_error-msgseq.                          " itab_error-msgseq = g_msgseq 
concatenate &amp;amp;1 &amp;amp;2 into itab_error-error_code.       " concatenate VAR1 and VAR2 into itab_error-error_code
append itab_error. clear itab_error.                       " fill itab_error internal table with the above header information
clear: error_text.
END-OF-DEFINITION.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;George&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Jun 2009 08:35:14 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-06-04T08:35:14Z</dc:date>
    <item>
      <title>Macro defination</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703452#M1295351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Guys,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you  please expalin me how this MACRO works.what is  "  check  not &amp;amp;2 is initial" in the macro below?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DEFINE  mac_error_data.&lt;/P&gt;&lt;P&gt;  check  not &amp;amp;2 is initial.&lt;/P&gt;&lt;P&gt;  g_msgseq = g_msgseq + 1.&lt;/P&gt;&lt;P&gt;  move: iest0-company    to itab_error-company,&lt;/P&gt;&lt;P&gt;        iest0-customer   to itab_error-customer,&lt;/P&gt;&lt;P&gt;        iest0-bill_no    to itab_error-bill_no,&lt;/P&gt;&lt;P&gt;        g_msgseq         to itab_error-msgseq.&lt;/P&gt;&lt;P&gt;  concatenate  &amp;amp;1  &amp;amp;2 into  itab_error-error_code.&lt;/P&gt;&lt;P&gt;  append itab_error.   clear itab_error.&lt;/P&gt;&lt;P&gt;  clear: error_text.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2009 08:21:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703452#M1295351</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-06-04T08:21:04Z</dc:date>
    </item>
    <item>
      <title>Re: Macro defination</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703453#M1295352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's quite similar with routine if you're familiar with it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From your sample macro, i can type this as a caller (similar with perform in routine): &lt;/P&gt;&lt;P&gt;mac_error_data varA varB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when come to macro definition (similar with form in routine)&lt;/P&gt;&lt;P&gt;&amp;amp;1 will change to value from varA&lt;/P&gt;&lt;P&gt;&amp;amp;2 will change to value from varB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so this syntax:&lt;/P&gt;&lt;P&gt;check not &amp;amp;2 is initial. &lt;/P&gt;&lt;P&gt;means: check not varA is initial. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps,&lt;/P&gt;&lt;P&gt;Victor.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2009 08:27:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703453#M1295352</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-06-04T08:27:11Z</dc:date>
    </item>
    <item>
      <title>Re: Macro defination</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703454#M1295353</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In addition to Victor, all 'variables' within marco definition are socalled placeholders.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2009 08:30:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703454#M1295353</guid>
      <dc:creator>Sm1tje</dc:creator>
      <dc:date>2009-06-04T08:30:57Z</dc:date>
    </item>
    <item>
      <title>Re: Macro defination</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703455#M1295354</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Macros are used whenever we want to execute a piece of code multiple time. Plese see the below example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Defile calculate.&lt;/P&gt;&lt;P&gt;&amp;amp;3 = &amp;amp;2 + &amp;amp;1.&lt;/P&gt;&lt;P&gt;end of difination.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Loop at itab.&lt;/P&gt;&lt;P&gt;calculate itab-field1 itab-field3 itab-field3.&lt;/P&gt;&lt;P&gt;end loop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The output will be&lt;/P&gt;&lt;P&gt;itab-field3 = itab-field2 + itab-field1.&lt;/P&gt;&lt;P&gt;suppose itab-field1 = 10&lt;/P&gt;&lt;P&gt;             itab-field2 = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then according to the above macro &lt;/P&gt;&lt;P&gt;itab-field3 = 15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In ur case, macro is check for the second passed variable for example&lt;/P&gt;&lt;P&gt;DEFINE mac_error_data.&lt;/P&gt;&lt;P&gt;check not &amp;amp;2 is initial.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;g_msgseq = g_msgseq + 1.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;move: iest0-company to itab_error-company,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;iest0-customer to itab_error-customer,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;iest0-bill_no to itab_error-bill_no,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;g_msgseq to itab_error-msgseq.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;concatenate &amp;amp;1 &amp;amp;2 into itab_error-error_code.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;append itab_error. clear itab_error.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;clear: error_text.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at itab.&lt;/P&gt;&lt;P&gt;mac_error_data itab-field1 itab-field12." &lt;STRONG&gt;Macro will be perform only if the itab-field12 is initial&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2009 08:31:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703455#M1295354</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-06-04T08:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: Macro defination</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703456#M1295355</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Akal,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;In code you call the macro as follows:&lt;/EM&gt; &lt;/P&gt;&lt;P&gt;mac_error_data VAR1 VAR2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;What macro does:&lt;/EM&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
DEFINE mac_error_data.
check not &amp;amp;2 is initial.                                         "If VAR2 is not initital
g_msgseq = g_msgseq + 1.                                " add 1 to g_msgseq 
move: iest0-company to itab_error-company,         "itab_error-company = iest0-company
iest0-customer to itab_error-customer,                  "itab_error-customer = iest0-customer
iest0-bill_no to itab_error-bill_no,                          "itab_error-bill_no = iest0-bill_no
g_msgseq to itab_error-msgseq.                          " itab_error-msgseq = g_msgseq 
concatenate &amp;amp;1 &amp;amp;2 into itab_error-error_code.       " concatenate VAR1 and VAR2 into itab_error-error_code
append itab_error. clear itab_error.                       " fill itab_error internal table with the above header information
clear: error_text.
END-OF-DEFINITION.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;George&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2009 08:35:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703456#M1295355</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-06-04T08:35:14Z</dc:date>
    </item>
    <item>
      <title>Re: Macro defination</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703457#M1295356</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alka,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chk this,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Examples of Macro&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT ZEX_MACRO .

* Parameter Declaration
Parameters: d_num1 type i,
            d_num2 type i.

* Data Declaration
DATA: d_res TYPE i.

* This Macro performs the operation
DEFINE operation.
  d_res = &amp;amp;1 &amp;amp;2 &amp;amp;3.
  doit   &amp;amp;1 &amp;amp;2 &amp;amp;3 d_res.
END-OF-DEFINITION.

* This Macro gives the result
DEFINE doit.
  write: / 'The result of &amp;amp;1 &amp;amp;2 &amp;amp;3  is', &amp;amp;4.
END-OF-DEFINITION.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nikhil.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Jun 2009 09:23:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/macro-defination/m-p/5703457#M1295356</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-06-04T09:23:25Z</dc:date>
    </item>
  </channel>
</rss>

