{"id":7224,"date":"2025-08-01T01:36:49","date_gmt":"2025-07-31T20:06:49","guid":{"rendered":"https:\/\/www.sapewmhelp.com\/?question=pass-by-value-vs-pass-by-reference-in-sap-abap"},"modified":"2025-08-01T01:37:48","modified_gmt":"2025-07-31T20:07:48","slug":"pass-by-value-vs-pass-by-reference-in-sap-abap","status":"publish","type":"question","link":"https:\/\/www.sapewmhelp.com\/?question=pass-by-value-vs-pass-by-reference-in-sap-abap","title":{"rendered":"Pass by Value VS Pass by Reference in SAP ABAP"},"content":{"rendered":"<p>In SAP ABAP, pass by value and pass by reference are two methods of passing data to methods, function modules, or forms. They determine how the data is handed over and whether changes to the data affect the original variable.<\/p>\n<table data-start=\"1929\" data-end=\"2441\">\n<thead>\n<tr>\n<th data-start=\"1929\" data-end=\"1949\" data-col-size=\"sm\">Aspect<\/th>\n<th data-start=\"1949\" data-end=\"1980\" data-col-size=\"sm\">Pass by Value<\/th>\n<th data-start=\"1980\" data-end=\"2013\" data-col-size=\"sm\">Pass by Reference<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Memory<\/td>\n<td>More (copies data)<\/td>\n<td>Less (passes reference)<\/td>\n<\/tr>\n<tr>\n<td>Speed<\/td>\n<td>Slower<\/td>\n<td>Faster<\/td>\n<\/tr>\n<tr>\n<td>Original Changed?<\/td>\n<td>\u00a0No<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td>Syntax<\/td>\n<td><code>VALUE(...)<\/code><\/td>\n<td>Default or <code>REFERENCE(...)<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code><!--StartFragment --><span><span>REPORT\u00a0<\/span>zrep_lclclass<span>.<\/span>\r\n\r\n<span>DATA<\/span><span>:\u00a0<\/span>lv_val\u00a0<span>TYPE\u00a0<\/span><span>i\u00a0<\/span><span>VALUE\u00a0<\/span><span>5<\/span><span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0lv_ref\u00a0<span>TYPE\u00a0<\/span><span>i\u00a0<\/span><span>VALUE\u00a0<\/span><span>5<\/span><span>.<\/span>\r\n\r\n<span>CLASS\u00a0<\/span>zcl_pass_test\u00a0<span>DEFINITION<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>PUBLIC\u00a0<\/span><span>SECTION<\/span><span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span>METHODS<\/span><span>:<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0pass_by_value\u00a0<span>IMPORTING\u00a0<\/span><span>value<\/span><span>(<\/span>iv_num<span>)\u00a0<\/span><span>TYPE\u00a0<\/span><span>i<\/span><span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0pass_by_ref\u00a0\u00a0\u00a0<span>CHANGING\u00a0\u00a0<\/span>cv_num\u00a0<span>TYPE\u00a0<\/span><span>i<\/span><span>.<\/span>\r\n<span>ENDCLASS<\/span><span>.<\/span>\r\n\r\n\u00a0\u00a0<span>CLASS\u00a0<\/span>zcl_pass_test\u00a0<span>IMPLEMENTATION<\/span><span>.<\/span>\r\n\r\n\u00a0\u00a0<span>METHOD\u00a0<\/span>pass_by_value<span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0iv_num\u00a0<span>=\u00a0<\/span>iv_num\u00a0+\u00a0<span>10<\/span><span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'Inside\u00a0pass_by_value<span>:\u00a0<\/span>'<span>,\u00a0<\/span>iv_num<span>.<\/span>\r\n\u00a0\u00a0<span>ENDMETHOD<\/span><span>.<\/span>\r\n\r\n\u00a0\u00a0<span>METHOD\u00a0<\/span>pass_by_ref<span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0cv_num\u00a0<span>=\u00a0<\/span>cv_num\u00a0+\u00a0<span>10<\/span><span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'Inside\u00a0pass_by_ref<span>:\u00a0<\/span>'<span>,\u00a0<\/span>cv_num<span>.<\/span>\r\n\u00a0\u00a0<span>ENDMETHOD<\/span><span>.<\/span>\r\n\r\n<span>ENDCLASS<\/span><span>.<\/span>\r\n\r\n<span>START-OF-SELECTION<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>DATA<\/span><span>(<\/span>lo_pass_test<span>)\u00a0<\/span><span>=\u00a0<\/span><span>NEW\u00a0<\/span>zcl_pass_test<span>(\u00a0<\/span><span>)<\/span><span>.<\/span>\r\n\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'Before\u00a0pass_by_value<span>:\u00a0<\/span>'<span>,\u00a0<\/span>lv_val<span>.<\/span>\r\n\u00a0\u00a0lo_pass_test<span>-&gt;<\/span>pass_by_value<span>(\u00a0<\/span>iv_num\u00a0<span>=\u00a0<\/span>lv_val\u00a0<span>)<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'After\u00a0pass_by_value<span>:\u00a0<\/span>'<span>,\u00a0<\/span>lv_val<span>.\u00a0<\/span><span>\"\u00a0Unchanged<\/span>\r\n\r\n\u00a0\u00a0<span>SKIP<\/span><span>.<\/span>\r\n\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'Before\u00a0pass_by_ref<span>:\u00a0<\/span>'<span>,\u00a0<\/span>lv_ref<span>.<\/span>\r\n\u00a0\u00a0lo_pass_test<span>-&gt;<\/span>pass_by_ref<span>(\u00a0<\/span><span>CHANGING\u00a0<\/span>cv_num\u00a0<span>=\u00a0<\/span>lv_ref\u00a0<span>)<\/span><span>.<\/span>\r\n\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'After\u00a0pass_by_ref<span>:\u00a0<\/span>'<span>,\u00a0<\/span>lv_ref<span>.\u00a0<\/span><span>\"\u00a0Changed<\/span><\/span> <\/code><\/pre>\n<p>Output:<\/p><\/div>\n<div class=\"hcb_wrap\"><img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/reference-vs-value.png\" \/><\/div>\n<p>&nbsp;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","question-category":[158],"question_tags":[178,216,215,214,177],"class_list":["post-7224","question","type-question","status-publish","hentry","question-category-abap","question_tags-abap","question_tags-abap-programming","question_tags-pass-by-reference","question_tags-pass-by-value","question_tags-sap"],"_links":{"self":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question\/7224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question"}],"about":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/types\/question"}],"author":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7224"}],"wp:attachment":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7224"}],"wp:term":[{"taxonomy":"question-category","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion-category&post=7224"},{"taxonomy":"question_tags","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion_tags&post=7224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}