<?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>reports &#8211; SAP EWM Help</title>
	<atom:link href="https://www.sapewmhelp.com/question-tag/reports/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>Sat, 11 Oct 2025 19:14:13 +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>API call &#8211; HTTP</title>
		<link>https://www.sapewmhelp.com/question/api-call-http/</link>
					<comments>https://www.sapewmhelp.com/question/api-call-http/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Sat, 11 Oct 2025 19:14:13 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=api-call-http</guid>

					<description><![CDATA[This ABAP class is designed for SAP BTP ABAP Environment to connect securely to an external OData or REST API (for example, an EHS Raw Material service).It demonstrates: Secure HTTP communication via BTP destinations CSRF token handling JSON serialization/deserialization Clean separation between connection setup and data retrieval Code: CLASS /iap/cl_intelligent_matching DEFINITION PUBLIC FINAL CREATE PUBLIC. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This ABAP class is designed for <strong>SAP BTP ABAP Environment</strong> to connect securely to an external OData or REST API (for example, an EHS Raw Material service).<br />It demonstrates:</p>
<ul>
<li>Secure HTTP communication via <strong>BTP destinations</strong></li>
<li>CSRF token handling</li>
<li>JSON serialization/deserialization</li>
<li>Clean separation between connection setup and data retrieval</li>
</ul>
<p><span style="text-decoration: underline"><strong>Code:</p>
<p></strong></span></p>
<p>CLASS /iap/cl_intelligent_matching DEFINITION<br />
PUBLIC FINAL<br />
CREATE PUBLIC.</p>
<p>PUBLIC SECTION.</p>
<p>&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8221; Structure for API Response (Raw Material Compliance Info)<br />
&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
TYPES: BEGIN OF ty_rawmat_result,<br />
uuid TYPE string, &#8221; Unique ID of the record<br />
material_id TYPE string, &#8221; Material number<br />
material_name TYPE string, &#8221; Material description<br />
material_group TYPE string, &#8221; Material group code<br />
material_group_name TYPE string, &#8221; Material group name<br />
is_active TYPE abap_bool, &#8221; Active status flag<br />
END OF ty_rawmat_result.</p>
<p>&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8221; Public Methods<br />
&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
CLASS-METHODS:<br />
create_client_proxy<br />
RETURNING VALUE(ro_client_proxy) TYPE REF TO /iwbep/if_cp_client_proxy,</p>
<p>get_rawmat_data<br />
RETURNING VALUE(rt_rawmat_data) TYPE STANDARD TABLE OF ty_rawmat_result,</p>
<p>convert_to_json<br />
IMPORTING it_data TYPE any<br />
EXPORTING ev_json TYPE string.</p>
<p>PRIVATE SECTION.<br />
CONSTANTS:<br />
c_destination TYPE string VALUE &#8216;DEMO_EHS_DEST&#8217;. &#8221; Destination configured in BTP Cockpit</p>
<p>ENDCLASS.</p>
<p>CLASS /iap/cl_intelligent_matching IMPLEMENTATION.</p>
<p>&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8221; 1. Create OData V4 Client Proxy<br />
&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
METHOD create_client_proxy.</p>
<p>TRY.<br />
&#8221; Create destination object from BTP destination service<br />
DATA(lo_destination) = cl_http_destination_provider=&gt;create_by_cloud_destination(<br />
i_name = c_destination<br />
i_authn_mode = if_a4c_cp_service=&gt;service_specific ).</p>
<p>&#8221; Create HTTP client for communication<br />
DATA(lo_http_client) = cl_web_http_client_manager=&gt;create_by_http_destination( lo_destination ).</p>
<p>&#8221; Create remote OData V4 proxy for the target service<br />
ro_client_proxy = /iwbep/cl_cp_factory_remote=&gt;create_v4_remote_proxy(<br />
is_proxy_model_key = VALUE #(<br />
repository_id = &#8216;DEFAULT&#8217;<br />
proxy_model_id = &#8216;/IAP/CHM_SCM_IM&#8217;<br />
proxy_model_version = &#8216;0001&#8217; )<br />
io_http_client = lo_http_client<br />
iv_relative_service_root = &#8216;/sap/opu/odata/sap/ZDEMO_EHS_SRV/&#8217; ). &#8221; Demo endpoint</p>
<p>CATCH cx_http_dest_provider_error INTO DATA(lx_dest_err).<br />
MESSAGE lx_dest_err-&gt;get_text( ) TYPE &#8216;E&#8217;.<br />
CATCH cx_root INTO DATA(lx_root).<br />
MESSAGE lx_root-&gt;get_text( ) TYPE &#8216;E&#8217;.<br />
ENDTRY.</p>
<p>ENDMETHOD.</p>
<p>&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8221; 2. Fetch Raw Material Data from External API<br />
&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
METHOD get_rawmat_data.</p>
<p>DATA: lo_destination TYPE REF TO if_http_destination,<br />
lo_http_client TYPE REF TO if_web_http_client,<br />
lo_response TYPE REF TO if_web_http_response,<br />
lv_json TYPE string,<br />
lv_http_status TYPE i.</p>
<p>TRY.<br />
&#8221; Obtain HTTP destination (configured in BTP cockpit)<br />
lo_destination = cl_http_destination_provider=&gt;create_by_cloud_destination(<br />
i_name = c_destination<br />
i_authn_mode = if_a4c_cp_service=&gt;service_specific ).</p>
<p>lo_http_client = cl_web_http_client_manager=&gt;create_by_http_destination( lo_destination ).</p>
<p>&#8221; === Step 1: Fetch CSRF Token ===<br />
DATA(lo_req_token) = lo_http_client-&gt;get_http_request( ).<br />
lo_req_token-&gt;set_header_field( name = &#8216;X-CSRF-Token&#8217; value = &#8216;Fetch&#8217; ).</p>
<p>DATA(lo_resp_token) = lo_http_client-&gt;execute( if_web_http_client=&gt;get ).<br />
DATA(lv_csrf_token) = lo_resp_token-&gt;get_header_field( &#8216;X-CSRF-Token&#8217; ).</p>
<p>&#8221; === Step 2: Perform GET Request to Demo API ===<br />
DATA(lo_req_get) = lo_http_client-&gt;get_http_request( ).<br />
lo_req_get-&gt;set_header_field( name = &#8216;X-CSRF-Token&#8217; value = lv_csrf_token ).<br />
lo_req_get-&gt;set_header_field( name = &#8216;Accept&#8217; value = &#8216;application/json&#8217; ).</p>
<p>lo_response = lo_http_client-&gt;execute(<br />
i_method = if_web_http_client=&gt;get<br />
i_relative_url = &#8216;/sap/opu/odata/sap/ZDEMO_EHS_SRV/C_RawMatInfoSet&#8217; ). &#8221; Demo path</p>
<p>lv_http_status = lo_response-&gt;get_status( ).</p>
<p>IF lv_http_status = 200.<br />
lv_json = lo_response-&gt;get_text( ).</p>
<p>/ui2/cl_json=&gt;deserialize(<br />
EXPORTING json = lv_json<br />
CHANGING data = rt_rawmat_data ).</p>
<p>ELSE.<br />
MESSAGE |HTTP Error { lv_http_status }: { lo_response-&gt;get_status_text( ) }| TYPE &#8216;E&#8217;.<br />
ENDIF.</p>
<p>CATCH cx_http_dest_provider_error INTO DATA(lx_dest_error).<br />
MESSAGE lx_dest_error-&gt;get_text( ) TYPE &#8216;E&#8217;.</p>
<p>CATCH cx_web_http_client_error INTO DATA(lx_http_error).<br />
MESSAGE lx_http_error-&gt;get_text( ) TYPE &#8216;E&#8217;.</p>
<p>CATCH cx_root INTO DATA(lx_any).<br />
MESSAGE lx_any-&gt;get_text( ) TYPE &#8216;E&#8217;.<br />
ENDTRY.</p>
<p>ENDMETHOD.</p>
<p>&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
&#8221; 3. Convert Any ABAP Data Structure to JSON String<br />
&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
METHOD convert_to_json.<br />
ev_json = /ui2/cl_json=&gt;serialize(<br />
EXPORTING<br />
data = it_data<br />
conversion_exits = abap_true<br />
pretty_name = /ui2/cl_json=&gt;pretty_mode-camel_case ).<br />
ENDMETHOD.</p>
<p>ENDCLASS.</p>
<p><span style="text-decoration: underline"><strong> </strong></span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/api-call-http/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to implement get cursor, hide and user command in sap reports</title>
		<link>https://www.sapewmhelp.com/question/how-to-implement-get-cursor-hide-and-user-command-in-sap-reports/</link>
					<comments>https://www.sapewmhelp.com/question/how-to-implement-get-cursor-hide-and-user-command-in-sap-reports/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Fri, 05 Sep 2025 20:43:50 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=how-to-implement-get-cursor-hide-and-user-command-in-sap-reports</guid>

					<description><![CDATA[GET CURSOR → to capture the position of the cursor in a list/report. HIDE → to store values “hidden” behind a line for later retrieval. USER COMMAND (AT USER-COMMAND) → to react to user actions (e.g., double-clicks, buttons, PF keys). 1. GET CURSOR This is used to know where the user placed the cursor or [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>GET CURSOR</strong> → to capture the position of the cursor in a list/report.</p>
<p><strong>HIDE</strong> → to store values “hidden” behind a line for later retrieval.</p>
<p><strong>USER COMMAND (AT USER-COMMAND)</strong> → to react to user actions (e.g., double-clicks, buttons, PF keys).</p>
<h5>1. <strong>GET CURSOR</strong></h5>
<p>This is used to know <em>where</em> the user placed the cursor or clicked in a list.</p>
<p>GET CURSOR FIELD gv_field VALUE gv_value.</p>
<ul>
<li><code>gv_field</code> → variable to hold the field name under the cursor.</li>
<li><code>gv_value</code> → variable to hold the value of that field.</li>
</ul>
<p>Example:</p>
<p>GET CURSOR FIELD lv_field VALUE lv_value.<br />
WRITE: / &#8216;Cursor on:&#8217;, lv_field, &#8216;Value:&#8217;, lv_value.</p>
<p>&nbsp;</p>
<h5>2. <strong>HIDE</strong></h5>
<p>The <code>HIDE</code> statement stores the value of a variable in the system’s <strong>hide area</strong>, linked to the current line.<br />Later, when the user double-clicks on that line, the hidden values are retrieved automatically.</p>
<p>Example:</p>
</p>
<p>LOOP AT it_mara INTO wa_mara.<br />
WRITE: / wa_mara-matnr, wa_mara-maktx.<br />
HIDE: wa_mara-matnr, wa_mara-maktx.<br />
ENDLOOP.</p>
</p>
<p>When the user double-clicks on a line, the hidden fields for that line become available again.</p>
</p>
<h5>3. <strong>USER COMMAND (AT USER-COMMAND)</strong></h5>
<p>This event block reacts to user actions (function keys, buttons, or double-clicks).</p>
<p>Example:</p>
<p>AT USER-COMMAND.<br />
CASE sy-ucomm.<br />
WHEN &#8216;DETAIL&#8217;. &#8220;Custom function code<br />
WRITE: / &#8216;Details for material:&#8217;, wa_mara-matnr.<br />
WHEN &#8216;EXIT&#8217;.<br />
LEAVE PROGRAM.<br />
ENDCASE.</p>
</p>
<p><strong>Full Example:</strong></p>
</p>
<p>REPORT zsample_report.</p>
<p>TABLES: mara.</p>
<p>DATA: wa_mara TYPE mara.</p>
<p>START-OF-SELECTION.<br />
SELECT * FROM mara UP TO 10 ROWS.<br />
WRITE: / mara-matnr, mara-mtart, mara-mbrsh.<br />
HIDE: mara-matnr.<br />
ENDSELECT.</p>
<p>AT LINE-SELECTION. &#8220;Triggered by double-click<br />
WRITE: / &#8216;You selected material:&#8217;, mara-matnr.</p>
<p>AT USER-COMMAND.<br />
CASE sy-ucomm.<br />
WHEN &#8216;DETAIL&#8217;.<br />
GET CURSOR FIELD DATA(lv_field) VALUE DATA(lv_value).<br />
WRITE: / &#8216;Field:&#8217;, lv_field, &#8216;Value:&#8217;, lv_value.<br />
WHEN &#8216;EXIT&#8217;.<br />
LEAVE PROGRAM.<br />
ENDCASE.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/how-to-implement-get-cursor-hide-and-user-command-in-sap-reports/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is Hierarchical ALV?</title>
		<link>https://www.sapewmhelp.com/question/what-is-hierarchical-alv/</link>
					<comments>https://www.sapewmhelp.com/question/what-is-hierarchical-alv/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Sun, 24 Aug 2025 10:54:43 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=what-is-hierarchical-alv</guid>

					<description><![CDATA[Hierarchical ALV allows you to display header–item relationships (like parent–child data). Example: One material (MARA) is the header, and its plant details (MARC) are the items. Useful for showing 1:N relationships in a single ALV output. In the SAP function module world, this is usually done using:👉 REUSE_ALV_HIERSEQ_LIST_DISPLAY *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* *&#38; Report  ZTEST_PROGRAM_2 *&#38; *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* *&#38; *&#38; *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* [&#8230;]]]></description>
										<content:encoded><![CDATA[<ul>
<li>
<p><strong>Hierarchical ALV</strong> allows you to display <strong>header–item relationships</strong> (like parent–child data).</p>
</li>
<li>
<p>Example: One material (<code>MARA</code>) is the <strong>header</strong>, and its plant details (<code>MARC</code>) are the <strong>items</strong>.</p>
</li>
<li>
<p>Useful for showing <strong>1:N relationships</strong> in a single ALV output.</p>
</li>
</ul>
<p>In the SAP function module world, this is usually done using:<br />👉 <code>REUSE_ALV_HIERSEQ_LIST_DISPLAY</code></p>
</p>
<p><!--StartFragment --><span><span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*</span><br />
<span>*&amp; Report  ZTEST_PROGRAM_2</span><br />
<span>*&amp;</span><br />
<span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*</span><br />
<span>*&amp;</span><br />
<span>*&amp;</span><br />
<span>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*</span></p>
<p><span>REPORT </span>ztest_program_2<span>.</span></p>
<p><span>TYPE-POOLS</span><span>: </span>slis<span>.</span></p>
<p><span>DATA</span><span>: </span>it_mara <span>TYPE </span><span>TABLE </span><span>OF </span>mara<span>,</span><br />
it_marc <span>TYPE </span><span>TABLE </span><span>OF </span>marc<span>.</span></p>
<p><span>DATA</span><span>: </span>it_fieldcat_header <span>TYPE </span>slis_t_fieldcat_alv<span>,</span><br />
it_fieldcat_item   <span>TYPE </span>slis_t_fieldcat_alv<span>,</span><br />
wa_fieldcat        <span>TYPE </span>slis_fieldcat_alv<span>.</span></p>
<p><span>DATA</span><span>: </span>gs_keyinfo <span>TYPE </span>slis_keyinfo_alv<span>.</span></p>
<p><span>&#8220;&#8212; Fetch Data (limit for demo)</span><br />
<span>SELECT </span>* <span>FROM </span>mara <span>UP </span><span>TO </span><span>10 </span><span>ROWS </span><span>INTO </span><span>TABLE </span>it_mara<span>.</span><br />
<span>SELECT </span>* <span>FROM </span>marc <span>UP </span><span>TO </span><span>50 </span><span>ROWS </span><span>INTO </span><span>TABLE </span>it_marc<span>.</span></p>
<p><span>&#8220;&#8212; Build Field Catalog for MARA (Header)</span><br />
<span>CLEAR </span>wa_fieldcat<span>.</span><br />
wa_fieldcat<span>&#8211;</span>fieldname <span>= </span>&#8216;MATNR&#8217;<span>.</span><br />
wa_fieldcat<span>&#8211;</span>seltext_m <span>= </span>&#8216;Material&#8217;<span>.</span><br />
<span>APPEND </span>wa_fieldcat <span>TO </span>it_fieldcat_header<span>.</span></p>
<p><span>CLEAR </span>wa_fieldcat<span>.</span><br />
wa_fieldcat<span>&#8211;</span>fieldname <span>= </span>&#8216;MTART&#8217;<span>.</span><br />
wa_fieldcat<span>&#8211;</span>seltext_m <span>= </span>&#8216;Material Type&#8217;<span>.</span><br />
<span>APPEND </span>wa_fieldcat <span>TO </span>it_fieldcat_header<span>.</span></p>
<p><span>&#8220;&#8212; Build Field Catalog for MARC (Item)</span><br />
<span>CLEAR </span>wa_fieldcat<span>.</span><br />
wa_fieldcat<span>&#8211;</span>fieldname <span>= </span>&#8216;MATNR&#8217;<span>.</span><br />
wa_fieldcat<span>&#8211;</span>seltext_m <span>= </span>&#8216;Material&#8217;<span>.</span><br />
<span>APPEND </span>wa_fieldcat <span>TO </span>it_fieldcat_item<span>.</span></p>
<p><span>CLEAR </span>wa_fieldcat<span>.</span><br />
wa_fieldcat<span>&#8211;</span>fieldname <span>= </span>&#8216;WERKS&#8217;<span>.</span><br />
wa_fieldcat<span>&#8211;</span>seltext_m <span>= </span>&#8216;Plant&#8217;<span>.</span><br />
<span>APPEND </span>wa_fieldcat <span>TO </span>it_fieldcat_item<span>.</span></p>
<p><span>CLEAR </span>wa_fieldcat<span>.</span><br />
wa_fieldcat<span>&#8211;</span>fieldname <span>= </span>&#8216;DISMM&#8217;<span>.</span><br />
wa_fieldcat<span>&#8211;</span>seltext_m <span>= </span>&#8216;MRP Type&#8217;<span>.</span><br />
<span>APPEND </span>wa_fieldcat <span>TO </span>it_fieldcat_item<span>.</span></p>
<p><span>&#8220;&#8212; Key Information (join condition between header and item)</span><br />
gs_keyinfo<span>&#8211;</span>header01 <span>= </span>&#8216;MATNR&#8217;<span>. </span><span>&#8221; Header Key</span><br />
gs_keyinfo<span>&#8211;</span>item01   <span>= </span>&#8216;MATNR&#8217;<span>. </span><span>&#8221; Item Key</span></p>
<p><span>&#8220;&#8212; Display Hierarchical ALV</span><br />
<span>CALL </span><span>FUNCTION </span>&#8216;REUSE_ALV_HIERSEQ_LIST_DISPLAY&#8217;<br />
<span>EXPORTING</span><br />
i_callback_program      <span>= </span>sy<span>&#8211;</span>repid<br />
is_keyinfo              <span>= </span>gs_keyinfo<br />
i_structure_name_header <span>= </span>&#8216;MARA&#8217;<br />
i_structure_name_item   <span>= </span>&#8216;MARC&#8217;<br />
i_tabname_header        <span>= </span>&#8216;MARA&#8217;<br />
i_tabname_item          <span>= </span>&#8216;MARC&#8217;<br />
<span>TABLES</span><br />
t_outtab_header         <span>= </span>it_mara<br />
t_outtab_item           <span>= </span>it_marc<br />
<span>EXCEPTIONS</span><br />
program_error           <span>= </span><span>1</span><br />
<span>OTHERS                  </span><span>= </span><span>2</span><span>.</span></p>
<p><span>IF </span>sy<span>&#8211;</span>subrc &lt;&gt; <span>0</span><span>.</span><br />
<span>MESSAGE </span><span>ID </span>sy<span>&#8211;</span>msgid <span>TYPE </span>sy<span>&#8211;</span>msgty <span>NUMBER </span>sy<span>&#8211;</span>msgno<br />
<span>WITH </span>sy<span>&#8211;</span>msgv1 sy<span>&#8211;</span>msgv2 sy<span>&#8211;</span>msgv3 sy<span>&#8211;</span>msgv4<span>.</span><br />
<span>ENDIF</span><span>.</span></span></p>
</p>
<p>Output:</p>
<p><img decoding="async" class="content-img" src="https://www.sapewmhelp.com/wp-content/uploads/2025/08/h1.png" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/what-is-hierarchical-alv/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is ALV Block List?</title>
		<link>https://www.sapewmhelp.com/question/what-is-alv-block-list/</link>
					<comments>https://www.sapewmhelp.com/question/what-is-alv-block-list/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Sun, 24 Aug 2025 10:46:39 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=what-is-alv-block-list</guid>

					<description><![CDATA[ALV (ABAP List Viewer) is used to display reports in a structured, interactive way. A Block List means you display multiple ALV lists one below another in the same output. Example: You want to show MARA (Material Master general data) and then, beneath it, MARC (Plant-specific data) in the same report. This is done using [&#8230;]]]></description>
										<content:encoded><![CDATA[<ul>
<li>
<p><strong>ALV (ABAP List Viewer)</strong> is used to display reports in a structured, interactive way.</p>
</li>
<li>
<p>A <strong>Block List</strong> means you display <strong>multiple ALV lists one below another</strong> in the same output.</p>
</li>
<li>
<p>Example: You want to show <code>MARA</code> (Material Master general data) and then, beneath it, <code>MARC</code> (Plant-specific data) in the same report.</p>
</li>
<li>
<p>This is done using the <strong><code>REUSE_ALV_BLOCK_LIST_*</code> function modules</strong>.</p>
</li>
</ul>
<h5>Steps to Create ALV Block List</h5>
<ol>
<li>
<p>Initialize block list → <code>REUSE_ALV_BLOCK_LIST_INIT</code>.</p>
</li>
<li>
<p>Add multiple reports (MARA, MARC, etc.) → <code>REUSE_ALV_BLOCK_LIST_APPEND</code>.</p>
</li>
<li>
<p>Display → <code>REUSE_ALV_BLOCK_LIST_DISPLAY</code>.</p>
</li>
</ol>
<p>&nbsp;</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-css" data-lang="CSS"><code><!--StartFragment --><span><span>*&amp;---------------------------------------------------------------------*</span>
<span>*&amp; Report  ZTEST_PROGRAM_2</span>
<span>*&amp;</span>
<span>*&amp;---------------------------------------------------------------------*</span>
<span>*&amp;</span>
<span>*&amp;</span>
<span>*&amp;---------------------------------------------------------------------*</span>

<span>REPORT </span>ztest_program_2<span>.</span>

<span>TYPE-POOLS</span><span>: </span>slis<span>.</span>

<span>DATA</span><span>: </span>it_mara <span>TYPE </span><span>TABLE </span><span>OF </span>mara<span>,</span>
      it_marc <span>TYPE </span><span>TABLE </span><span>OF </span>marc<span>.</span>

<span>DATA</span><span>: </span>it_fieldcat <span>TYPE </span>slis_t_fieldcat_alv<span>,</span>
      wa_fieldcat <span>TYPE </span>slis_fieldcat_alv<span>.</span>

<span>DATA </span><span>: </span>lt_events <span>TYPE </span>slis_t_event<span>.</span>


<span>"--- Main processing</span>

<span>START-OF-SELECTION</span><span>.</span>

  <span>"--- Fetch Data</span>
  <span>SELECT </span>* <span>FROM </span>mara <span>UP </span><span>TO </span><span>20 </span><span>ROWS </span><span>INTO </span><span>TABLE </span>it_mara<span>.</span>
  <span>SELECT </span>* <span>FROM </span>marc <span>UP </span><span>TO </span><span>20 </span><span>ROWS </span><span>INTO </span><span>TABLE </span>it_marc<span>.</span>

  <span>"Initialize ALV Block List</span>
  <span>CALL </span><span>FUNCTION </span>'REUSE_ALV_BLOCK_LIST_INIT'
    <span>EXPORTING</span>
      i_callback_program <span>= </span>sy<span>-</span>repid<span>.</span>

  <span>"Prepare field catalog for MARA</span>
  <span>PERFORM </span>build_fieldcat <span>USING </span>'MARA' it_fieldcat<span>.</span>

  <span>"Append MARA list</span>
  <span>CALL </span><span>FUNCTION </span>'REUSE_ALV_BLOCK_LIST_APPEND'
    <span>EXPORTING</span>
      is_layout   <span>= </span><span>VALUE </span>slis_layout_alv<span>( </span>colwidth_optimize <span>= </span>'X' <span>)</span>
      it_fieldcat <span>= </span>it_fieldcat
      it_events   <span>= </span>lt_events
      i_tabname   <span>= </span>'MARA'
      i_text     <span>= </span>'Material Master <span>- </span>MARA'
    <span>TABLES</span>
      t_outtab    <span>= </span>it_mara<span>.</span>


  <span>CLEAR </span>it_fieldcat<span>.</span>

  <span>"Prepare field catalog for MARC</span>
  <span>PERFORM </span>build_fieldcat <span>USING </span>'MARC' it_fieldcat<span>.</span>

  <span>"Append MARC list</span>
  <span>CALL </span><span>FUNCTION </span>'REUSE_ALV_BLOCK_LIST_APPEND'
    <span>EXPORTING</span>
      is_layout   <span>= </span><span>VALUE </span>slis_layout_alv<span>( </span>colwidth_optimize <span>= </span>'X' <span>)</span>
      it_fieldcat <span>= </span>it_fieldcat
      i_tabname   <span>= </span>'MARC'
      i_text     <span>= </span>'Plant <span>Data </span><span>- </span>MARC'
      it_events   <span>= </span>lt_events
    <span>TABLES</span>
      t_outtab    <span>= </span>it_marc<span>.</span>

  <span>"Display ALV Block List</span>
  <span>CALL </span><span>FUNCTION </span>'REUSE_ALV_BLOCK_LIST_DISPLAY'<span>.</span>



  <span>"--- Create field catalog helper form</span>
<span>FORM </span>build_fieldcat <span>USING </span>p_table <span>TYPE </span>string
                          p_fieldcat <span>TYPE </span>slis_t_fieldcat_alv<span>.</span>

  <span>DATA </span>ls_fcat <span>TYPE </span>slis_fieldcat_alv<span>.</span>
  <span>CLEAR </span>ls_fcat<span>.</span>

  <span>IF </span>p_table <span>= </span>'MARA'<span>.</span>
    ls_fcat<span>-</span>fieldname <span>= </span>'MATNR'<span>. </span>ls_fcat<span>-</span>seltext_m <span>= </span>'Material'<span>. </span><span>APPEND </span>ls_fcat <span>TO </span>p_fieldcat<span>.</span>
    ls_fcat<span>-</span>fieldname <span>= </span>'MTART'<span>. </span>ls_fcat<span>-</span>seltext_m <span>= </span>'Material Type'<span>. </span><span>APPEND </span>ls_fcat <span>TO </span>p_fieldcat<span>.</span>
    ls_fcat<span>-</span>fieldname <span>= </span>'MBRSH'<span>. </span>ls_fcat<span>-</span>seltext_m <span>= </span>'Industry'<span>. </span><span>APPEND </span>ls_fcat <span>TO </span>p_fieldcat<span>.</span>
  <span>ELSEIF </span>p_table <span>= </span>'MARC'<span>.</span>
    ls_fcat<span>-</span>fieldname <span>= </span>'MATNR'<span>. </span>ls_fcat<span>-</span>seltext_m <span>= </span>'Material'<span>. </span><span>APPEND </span>ls_fcat <span>TO </span>p_fieldcat<span>.</span>
    ls_fcat<span>-</span>fieldname <span>= </span>'WERKS'<span>. </span>ls_fcat<span>-</span>seltext_m <span>= </span>'Plant'<span>. </span><span>APPEND </span>ls_fcat <span>TO </span>p_fieldcat<span>.</span>
    ls_fcat<span>-</span>fieldname <span>= </span>'DISMM'<span>. </span>ls_fcat<span>-</span>seltext_m <span>= </span>'MRP Type'<span>. </span><span>APPEND </span>ls_fcat <span>TO </span>p_fieldcat<span>.</span>
  <span>ENDIF</span><span>.</span>

<span>ENDFORM</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/b1.png" /></p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/what-is-alv-block-list/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>List Reports Vs Grid Reports</title>
		<link>https://www.sapewmhelp.com/question/list-reports-vs-grid-reports/</link>
					<comments>https://www.sapewmhelp.com/question/list-reports-vs-grid-reports/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Thu, 07 Aug 2025 09:23:16 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=list-reports-vs-grid-reports</guid>

					<description><![CDATA[Feature List Report Grid Report (ALV) Output Format Plain text list Interactive grid/table User Interactivity Low High Sorting/Filtering Manual (if needed) Built-in Totals/Subtotals Not available Available Export Options Manual Export to Excel, etc. Development Effort Low Medium to High Modern UI Experience No Yes &#160;]]></description>
										<content:encoded><![CDATA[<table>
<thead>
<tr>
<th>Feature</th>
<th>List Report</th>
<th>Grid Report (ALV)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Output Format</td>
<td>Plain text list</td>
<td>Interactive grid/table</td>
</tr>
<tr>
<td>User Interactivity</td>
<td>Low</td>
<td>High</td>
</tr>
<tr>
<td>Sorting/Filtering</td>
<td>Manual (if needed)</td>
<td>Built-in</td>
</tr>
<tr>
<td>Totals/Subtotals</td>
<td>Not available</td>
<td>Available</td>
</tr>
<tr>
<td>Export Options</td>
<td>Manual</td>
<td>Export to Excel, etc.</td>
</tr>
<tr>
<td>Development Effort</td>
<td>Low</td>
<td>Medium to High</td>
</tr>
<tr>
<td>Modern UI Experience</td>
<td>No</td>
<td>Yes</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/list-reports-vs-grid-reports/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Types of Programs in SAP ABAP</title>
		<link>https://www.sapewmhelp.com/question/types-of-programs-in-sap-abap/</link>
					<comments>https://www.sapewmhelp.com/question/types-of-programs-in-sap-abap/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Thu, 07 Aug 2025 07:30:32 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=types-of-programs-in-sap-abap</guid>

					<description><![CDATA[Program Type Code Purpose Executable? Typical Usage Executable 1 Reports, standalone programs ✅ Yes Reports, jobs, selection screens Include I Reusable code ❌ No Shared FORM routines, definitions Module Pool M Dialog screens, GUI transactions ✅ Yes Custom SAP GUI apps Function Grp F Group of function modules ❌ No BAPIs, reusable logic Subroutine S [&#8230;]]]></description>
										<content:encoded><![CDATA[<table>
<thead>
<tr>
<th>Program Type</th>
<th>Code</th>
<th>Purpose</th>
<th>Executable?</th>
<th>Typical Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Executable</td>
<td><code>1</code></td>
<td>Reports, standalone programs</td>
<td>✅ Yes</td>
<td>Reports, jobs, selection screens</td>
</tr>
<tr>
<td>Include</td>
<td><code>I</code></td>
<td>Reusable code</td>
<td>❌ No</td>
<td>Shared FORM routines, definitions</td>
</tr>
<tr>
<td>Module Pool</td>
<td><code>M</code></td>
<td>Dialog screens, GUI transactions</td>
<td>✅ Yes</td>
<td>Custom SAP GUI apps</td>
</tr>
<tr>
<td>Function Grp</td>
<td><code>F</code></td>
<td>Group of function modules</td>
<td>❌ No</td>
<td>BAPIs, reusable logic</td>
</tr>
<tr>
<td>Subroutine</td>
<td><code>S</code></td>
<td>Collection of FORM routines</td>
<td>❌ No</td>
<td>Old-style code reuse</td>
</tr>
<tr>
<td>Class Pool</td>
<td><code>K</code></td>
<td>Global class definitions</td>
<td>❌ No</td>
<td>OO programming, utility classes</td>
</tr>
<tr>
<td>Interface</td>
<td><code>J</code></td>
<td>Global interface definitions</td>
<td>❌ No</td>
<td>Interface inheritance in OO classes</td>
</tr>
</tbody>
</table>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/types-of-programs-in-sap-abap/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is a Line Type and table type and what is the difference between them?</title>
		<link>https://www.sapewmhelp.com/question/what-is-a-line-type-and-table-type-and-what-is-the-difference-between-them/</link>
					<comments>https://www.sapewmhelp.com/question/what-is-a-line-type-and-table-type-and-what-is-the-difference-between-them/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Wed, 06 Aug 2025 20:03:10 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=what-is-a-line-type-and-table-type-and-what-is-the-difference-between-them</guid>

					<description><![CDATA[A line type defines the structure of a single row in an internal table. · It can be a: Data element (e.g., MATNR) Structure (e.g., SFLIGHT) Custom type created via TYPES Example: TYPES: BEGIN OF ty_line, matnr TYPE matnr, maktx TYPE maktx, END OF ty_line. Here, ty_line is the line type — it represents the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>A line type</strong> defines the structure of a single row in an internal table.</p>
<p>· It can be a:</p>
<ul>
<li>Data element (e.g., MATNR)</li>
<li>Structure (e.g., SFLIGHT)</li>
<li>Custom type created via TYPES</li>
</ul>
<p>Example:</p>
<p>TYPES: BEGIN OF ty_line,</p>
<p>matnr TYPE matnr,</p>
<p>maktx TYPE maktx,</p>
<p>END OF ty_line.</p>
<p>Here,</p>
<p>ty_line is the line type — it represents the structure of a single row.</p>
<p>&nbsp;</p>
<p><strong>A table type</strong> defines the entire internal table, including:</p>
<ul>
<li>Line type</li>
<li>Access method (standard, sorted, hashed)</li>
<li>Unique/non-unique keys</li>
</ul>
<p>Example:TYPES: ty_table TYPE STANDARD TABLE OF ty_line WITH DEFAULT KEY.</p>
<p>Here:</p>
<p>· ty_line is the line type (structure of each row)</p>
<p>· ty_table is the table type (definition of the whole table)</p>
<p><strong>Difference Between Line Type and Table Type</strong></p>
<table>
<thead>
<tr>
<td><strong><span>Feature</span></strong></td>
<td><strong><span>Line Type</span></strong></td>
<td><strong><span>Table Type</span></strong></td>
</tr>
</thead>
<tbody>
<tr>
<td><span>Definition</span></td>
<td><span>Describes a <strong>single row</strong></span></td>
<td><span>Describes the <strong>entire internal table</strong></span></td>
</tr>
<tr>
<td><span>Contains</span></td>
<td><span>Fields/data elements</span></td>
<td><span>Line type + table kind + key definition</span></td>
</tr>
<tr>
<td><span>Use</span></td>
<td><span>Used to define structure of rows</span></td>
<td><span>Used to define the full internal table</span></td>
</tr>
<tr>
<td><span>Declaration</span></td>
<td><span>TYPES: BEGIN OF &#8230; END OF</span></td>
<td><span>TYPES: &#8230; TYPE STANDARD TABLE OF &#8230;</span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/what-is-a-line-type-and-table-type-and-what-is-the-difference-between-them/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Difference between selection screen output and at selection?</title>
		<link>https://www.sapewmhelp.com/question/difference-between-selection-screen-output-and-at-selection/</link>
					<comments>https://www.sapewmhelp.com/question/difference-between-selection-screen-output-and-at-selection/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Sun, 03 Aug 2025 09:06:24 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=difference-between-selection-screen-output-and-at-selection</guid>

					<description><![CDATA[AT SELECTION-SCREEN OUTPUT Purpose:This event is triggered before the selection screen is displayed to the user. Use Case:To modify the selection screen dynamically — for example, to hide/show fields, enable/disable them, or set default values based on conditions. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF p_radio1 = 'X'. IF screen-name = 'P_FIELD2'. screen-active = '0'. [&#8230;]]]></description>
										<content:encoded><![CDATA[<h3 data-start="124" data-end="159"><code>AT SELECTION-SCREEN OUTPUT</code></h3>
<p><strong>Purpose:</strong><br />This event is triggered <strong>before the selection screen is displayed</strong> to the user.</p>
<p><strong>Use Case:</strong><br />To modify the selection screen dynamically — for example, to hide/show fields, enable/disable them, or set default values based on conditions.</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-python" data-lang="Python"><code>AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF p_radio1 = 'X'.
IF screen-name = 'P_FIELD2'.
screen-active = '0'. "Disable the field
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.</code></pre>
<h3 data-start="661" data-end="689"><code>AT SELECTION-SCREEN</code></h3>
<p><strong>Purpose:</strong><br />This event is triggered <strong>after the user has entered data</strong> and pressed <strong>Enter or Execute</strong>.</p>
<p><strong>Use Case:</strong><br />Used for <strong>input validation</strong> and <strong>custom checks</strong> on user input before the report proceeds.</p>
<p><strong>Example:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="overflow-y-auto p-4">
<div class="hcb_wrap">
<pre class="prism line-numbers lang-html" data-lang="HTML"><code>AT SELECTION-SCREEN.
IF p_date &lt; sy-datum.
MESSAGE 'Date cannot be in the past' TYPE 'E'.
ENDIF.
</code></pre>
</div>
</div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/difference-between-selection-screen-output-and-at-selection/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Types of Reports in SAP ABAP</title>
		<link>https://www.sapewmhelp.com/question/types-of-reports-in-sap-abap/</link>
					<comments>https://www.sapewmhelp.com/question/types-of-reports-in-sap-abap/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Sun, 03 Aug 2025 06:59:20 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=types-of-reports-in-sap-abap</guid>

					<description><![CDATA[Reports are a major part of application development used to display data to users. There are three main types of reports: Classical Reports Simplest and most basic report type. Output is in line-by-line format using WRITE statements. Limited formatting, but supports interactive features like AT LINE-SELECTION. Used for: Simple lists, master data overviews, basic reporting. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Reports are a major part of application development used to display data to users. There are three main types of reports:</p>
<h3 data-start="186" data-end="215"><strong>Classical Reports</strong></h3>
<ul>
<li>Simplest and most basic report type.</li>
<li>Output is in line-by-line format using <code>WRITE</code> statements.</li>
<li>Limited formatting, but supports interactive features like <code>AT LINE-SELECTION</code>.</li>
</ul>
<p><strong>Used for:</strong> Simple lists, master data overviews, basic reporting.</p>
<h3 data-start="625" data-end="656"><strong>Interactive Reports</strong></h3>
<ul>
<li>Extension of classical reports.</li>
<li>Allows drill-down capability: click on a row to see detailed data (secondary list).</li>
<li>Can have up to 20 secondary lists.</li>
</ul>
<p><strong>Used for:</strong> Master-detail views, like viewing sales orders from a list of customers.</p>
<p> <em>Key event:</em> <code>AT LINE-SELECTION</code></p>
<h3 data-start="1080" data-end="1122"><strong>ALV Reports (ABAP List Viewer)</strong></h3>
<ul>
<li>Provides a powerful, flexible, and interactive table display.</li>
<li>Includes sorting, filtering, exporting, column formatting, etc.</li>
<li>Can be simple ALV, ALV Grid, or ALV with OO (Object-Oriented) approach.</li>
</ul>
<p><strong>Used for:</strong> Complex and user-friendly reporting.</p>
<p><em>Main function modules/classes:</em></p>
<ul>
<li><code>REUSE_ALV_GRID_DISPLAY</code></li>
<li><code>CL_GUI_ALV_GRID</code></li>
<li><code>CL_SALV_TABLE</code> (for OO ALV)</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/types-of-reports-in-sap-abap/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>List Box in SAP Report.</title>
		<link>https://www.sapewmhelp.com/question/list-box-in-sap-report/</link>
					<comments>https://www.sapewmhelp.com/question/list-box-in-sap-report/#respond</comments>
		
		<dc:creator><![CDATA[DPM125]]></dc:creator>
		<pubDate>Thu, 31 Jul 2025 19:52:05 +0000</pubDate>
				<guid isPermaLink="false">https://www.sapewmhelp.com/?question=list-box-in-sap-report</guid>

					<description><![CDATA[A Listbox in SAP refers to a dropdown list UI element that allows users to select one value from a predefined set of values. *&#38;---------------------------------------------------------------------* *&#38; Report  ZREP_LCLCLASS *&#38; *&#38;---------------------------------------------------------------------* *&#38; *&#38; *&#38;---------------------------------------------------------------------* REPORT zrep_lclclass. PARAMETERS: p_color AS LISTBOX VISIBLE LENGTH 20 USER-COMMAND uc. INITIALIZATION.   DATA: lt_list TYPE vrm_values,         ls_list TYPE vrm_value.   ls_list-key = 'R'.   ls_list-text = 'Red'.   APPEND ls_list TO lt_list.   ls_list-key = 'G'.   ls_list-text = 'Green'.   APPEND ls_list TO lt_list.   ls_list-key = 'B'.   ls_list-text = 'Blue'.   APPEND ls_list TO lt_list.   CALL FUNCTION 'VRM_SET_VALUES'     EXPORTING       id     = 'P_COLOR'       values = lt_list. Output: execute the Code.]]></description>
										<content:encoded><![CDATA[<p>A <strong>Listbox</strong> in SAP refers to a <strong>dropdown list UI element</strong> that allows users to select one value from a predefined set of values.</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-python" data-lang="Python"><code><!--StartFragment --><span><span>*&amp;---------------------------------------------------------------------*</span>
<span>*&amp; Report  ZREP_LCLCLASS</span>
<span>*&amp;</span>
<span>*&amp;---------------------------------------------------------------------*</span>
<span>*&amp;</span>
<span>*&amp;</span>
<span>*&amp;---------------------------------------------------------------------*</span>

<span>REPORT </span>zrep_lclclass<span>.</span>

<span>PARAMETERS</span><span>: </span>p_color <span>AS </span>LISTBOX VISIBLE LENGTH <span>20 </span><span>USER-COMMAND </span>uc<span>.</span>

<span>INITIALIZATION</span><span>.</span>
  <span>DATA</span><span>: </span>lt_list <span>TYPE </span>vrm_values<span>,</span>
        ls_list <span>TYPE </span>vrm_value<span>.</span>

  ls_list<span>-</span><span>key </span><span>= </span>'R'<span>.</span>
  ls_list<span>-</span><span>text </span><span>= </span>'Red'<span>.</span>
  <span>APPEND </span>ls_list <span>TO </span>lt_list<span>.</span>

  ls_list<span>-</span><span>key </span><span>= </span>'G'<span>.</span>
  ls_list<span>-</span><span>text </span><span>= </span>'Green'<span>.</span>
  <span>APPEND </span>ls_list <span>TO </span>lt_list<span>.</span>

  ls_list<span>-</span><span>key </span><span>= </span>'B'<span>.</span>
  ls_list<span>-</span><span>text </span><span>= </span>'Blue'<span>.</span>
  <span>APPEND </span>ls_list <span>TO </span>lt_list<span>.</span>

  <span>CALL </span><span>FUNCTION </span>'VRM_SET_VALUES'
    <span>EXPORTING</span>
      <span>id     </span><span>= </span>'P_COLOR'
      values <span>= </span>lt_list<span>.</span></span> 
</code></pre>
<p>Output:<br />
execute the Code.<br />
<img decoding="async" class="content-img" src="https://www.sapewmhelp.com/wp-content/uploads/2025/08/liatbox.png" /></p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.sapewmhelp.com/question/list-box-in-sap-report/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
