<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>object orineted programming &#8211; SAP EWM Help</title>
	<atom:link href="https://www.sapewmhelp.com/question-tag/object-orineted-programming/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.sapewmhelp.com</link>
	<description>SAP EWM questions answered by experts — ABAP, S/4HANA, warehouse management</description>
	<lastBuildDate>Thu, 31 Jul 2025 20:15:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
	<item>
		<title>Constructor in ABAP</title>
		<link>https://www.sapewmhelp.com/question/constructor-in-abap/</link>
					<comments>https://www.sapewmhelp.com/question/constructor-in-abap/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Thu, 31 Jul 2025 20:15:51 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=constructor-in-abap</guid>

					<description><![CDATA[A constructor is a special method automatically called when an object is created using CREATE OBJECT or NEW. Types of Constructors in ABAP Type Method Name Called On Purpose Instance Constructor CONSTRUCTOR When an object is created (NEW or CREATE OBJECT) To initialize instance-specific data Class Constructor CLASS_CONSTRUCTOR When the class is first used To [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>A constructor is a special method automatically called when an object is created using CREATE OBJECT or NEW.</p>
<p>Types of Constructors in ABAP</p>
<table data-start="279" data-end="781">
<thead>
<tr>
<th data-start="279" data-end="304" data-col-size="sm">Type</th>
<th data-start="304" data-end="322" data-col-size="sm">Method Name</th>
<th data-start="322" data-end="350" data-col-size="md">Called On</th>
<th data-start="350" data-end="389" data-col-size="sm">Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Instance Constructor</strong></td>
<td><code>CONSTRUCTOR</code></td>
<td>When an object is created (<code>NEW</code> or <code>CREATE OBJECT</code>)</td>
<td>To initialize <strong>instance-specific</strong> data</td>
</tr>
<tr>
<td><strong>Class Constructor</strong></td>
<td><code>CLASS_CONSTRUCTOR</code></td>
<td>When the class is <strong>first used</strong></td>
<td>To initialize <strong>class-level (static)</strong> data</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-python" data-lang="Python"><code><!--StartFragment --><span><span>REPORT </span>zrep_lclclass<span>.</span>

<span>CLASS </span>zcl_demo <span>DEFINITION</span><span>.</span>
  <span>PUBLIC </span><span>SECTION</span><span>.</span>
    <span>METHODS</span><span>: </span>constructor<span>,               </span><span>" Instance constructor</span>
             display_instance_value<span>.</span>

    <span>CLASS-METHODS</span><span>: </span>class_constructor<span>,  </span><span>" Class constructor</span>
                   display_class_value<span>.</span>

  <span>PRIVATE </span><span>SECTION</span><span>.</span>
    <span>DATA</span><span>: </span>lv_instance_val <span>TYPE </span>string<span>.</span>
    <span>CLASS-DATA</span><span>: </span>gv_class_val <span>TYPE </span>string<span>.</span>
<span>ENDCLASS</span><span>.</span>

<span>CLASS </span>zcl_demo <span>IMPLEMENTATION</span><span>.</span>

  <span>" Instance Constructor</span>
  <span>METHOD </span>constructor<span>.</span>
    lv_instance_val <span>= </span>'Initialized <span>in </span>CONSTRUCTOR'<span>.</span>
    <span>WRITE</span><span>: </span>/ '&gt;&gt; Instance CONSTRUCTOR called'<span>.</span>
  <span>ENDMETHOD</span><span>.</span>

  <span>" Class Constructor</span>
  <span>METHOD </span>class_constructor<span>.</span>
    gv_class_val <span>= </span>'Initialized <span>in </span>CLASS_CONSTRUCTOR'<span>.</span>
    <span>WRITE</span><span>: </span>/ '&gt;&gt; CLASS_CONSTRUCTOR called <span>(</span>only once<span>)</span>'<span>.</span>
  <span>ENDMETHOD</span><span>.</span>

  <span>METHOD </span>display_instance_value<span>.</span>
    <span>WRITE</span><span>: </span>/ 'Instance <span>value</span><span>:</span>'<span>, </span>lv_instance_val<span>.</span>
  <span>ENDMETHOD</span><span>.</span>

  <span>METHOD </span>display_class_value<span>.</span>
    <span>WRITE</span><span>: </span>/ 'Class <span>value</span><span>:</span>'<span>, </span>gv_class_val<span>.</span>
  <span>ENDMETHOD</span><span>.</span>

<span>ENDCLASS</span><span>.</span>

<span>START-OF-SELECTION</span><span>.</span>

<span>* Access class method (triggers class constructor first time)</span>
  zcl_demo<span>=&gt;</span>display_class_value<span>( </span><span>)</span><span>.</span>

  <span>SKIP</span><span>.</span>

<span>* Create object (triggers instance constructor)</span>
  <span>DATA</span><span>(</span>lo_obj1<span>) </span><span>= </span><span>NEW </span>zcl_demo<span>( </span><span>)</span><span>.</span>
  lo_obj1<span>-&gt;</span>display_instance_value<span>( </span><span>)</span><span>.</span>

  <span>SKIP</span><span>.</span>

<span>* Create another object (instance constructor runs again, but not class constructor)</span>
  <span>DATA</span><span>(</span>lo_obj2<span>) </span><span>= </span><span>NEW </span>zcl_demo<span>( </span><span>)</span><span>.</span>
  lo_obj2<span>-&gt;</span>display_instance_value<span>( </span><span>)</span><span>.</span>

  <span>SKIP</span><span>.</span>

<span>* Access class method again (class constructor NOT triggered again)</span>
  zcl_demo<span>=&gt;</span>display_class_value<span>( </span><span>)</span><span>.</span></span> </code></pre>
<p>Output:</p>
<p><img decoding="async" class="content-img" src="https://www.sapewmhelp.com/wp-content/uploads/2025/08/constructor-and-type.png" /></p>
</div>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/constructor-in-abap/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
