{"id":7579,"date":"2025-08-24T02:00:13","date_gmt":"2025-08-23T20:30:13","guid":{"rendered":"https:\/\/www.sapewmhelp.com\/?question=working-with-internal-tables-work-areas-and-custom-data"},"modified":"2025-08-24T02:03:36","modified_gmt":"2025-08-23T20:33:36","slug":"working-with-internal-tables-work-areas-and-custom-data","status":"publish","type":"question","link":"https:\/\/www.sapewmhelp.com\/?question=working-with-internal-tables-work-areas-and-custom-data","title":{"rendered":"Working with Internal Tables, Work Areas, and Custom Data"},"content":{"rendered":"<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code><!--StartFragment --><span><span>*&amp;---------------------------------------------------------------------*<\/span>\r\n<span>*&amp;\u00a0Report\u00a0\u00a0ZTEST_PROGRAM_2<\/span>\r\n<span>*&amp;<\/span>\r\n<span>*&amp;---------------------------------------------------------------------*<\/span>\r\n<span>*&amp;<\/span>\r\n<span>*&amp;<\/span>\r\n<span>*&amp;---------------------------------------------------------------------*<\/span>\r\n\r\n<span>REPORT\u00a0<\/span>ztest_program_2<span>.<\/span>\r\n\r\n<span>TYPES\u00a0<\/span><span>:\u00a0<\/span><span>BEGIN\u00a0<\/span><span>OF\u00a0<\/span>lty_student<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0name\u00a0<span>TYPE\u00a0<\/span>string<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>id\u00a0<\/span><span>TYPE\u00a0<\/span>zstudent_id_01<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0departid\u00a0<span>TYPE\u00a0<\/span>zdep_id<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0departmentname\u00a0<span>TYPE\u00a0<\/span>string<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>END\u00a0<\/span><span>OF\u00a0<\/span>lty_student<span>.<\/span>\r\n\r\n\r\n<span>\"\u00a0internal\u00a0table<\/span>\r\n<span>DATA\u00a0<\/span>lt_student\u00a0<span>TYPE\u00a0<\/span><span>TABLE\u00a0<\/span><span>OF\u00a0<\/span>lty_student<span>.<\/span>\r\n\r\n<span>\"\u00a0work\u00a0area.<\/span>\r\n<span>DATA\u00a0<\/span>ls_student\u00a0<span>TYPE\u00a0<\/span>lty_student<span>.<\/span>\r\n<span>DATA\u00a0<\/span>ls_department\u00a0<span>TYPE\u00a0<\/span>zdepartment_1<span>.<\/span>\r\n\r\n<span>\"\u00a0assign\u00a0\u00a0--&gt;<\/span>\r\n<span>\"\u00a0unassig\u00a0\u00a0--&gt;\u00a0directly\u00a0access\u00a0the\u00a0place\u00a0where\u00a0the\u00a0data\u00a0is\u00a0stored.<\/span>\r\n\r\n\r\n<span>START-OF-SELECTION<\/span><span>.<\/span>\r\n\r\n\u00a0\u00a0<span>SELECT\u00a0<\/span>studentname\u00a0studentid\u00a0departmentid\u00a0<span>FROM\u00a0<\/span>zstudent_2\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span>INTO\u00a0<\/span><span>TABLE\u00a0<\/span>lt_student<span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"using\u00a0workarea.<\/span>\r\n\u00a0\u00a0<span>clear<\/span><span>:\u00a0<\/span>ls_Student<span>.<\/span>\r\n\u00a0\u00a0ls_student<span>-<\/span><span>id\u00a0<\/span><span>=\u00a0<\/span>'2'<span>.<\/span>\r\n\u00a0\u00a0ls_student<span>-<\/span>name\u00a0<span>=\u00a0<\/span>'RAM'<span>.<\/span>\r\n\u00a0\u00a0ls_student<span>-<\/span>departid\u00a0<span>=\u00a0<\/span>'4'<span>.<\/span>\r\n\u00a0\u00a0ls_student<span>-<\/span>departmentname\u00a0<span>=\u00a0<\/span>'CSE'<span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"\u00a0append<\/span>\r\n\u00a0\u00a0\u00a0<span>append\u00a0<\/span>ls_Student\u00a0<span>to\u00a0<\/span>lt_Student<span>.<\/span>\r\n\r\n\u00a0\u00a0\u00a0\u00a0<span>\"using\u00a0workarea.<\/span>\r\n\u00a0\u00a0<span>clear<\/span><span>:\u00a0<\/span>ls_Student<span>.<\/span>\r\n\u00a0\u00a0ls_student<span>-<\/span><span>id\u00a0<\/span><span>=\u00a0<\/span>'3'<span>.<\/span>\r\n\u00a0\u00a0ls_student<span>-<\/span>name\u00a0<span>=\u00a0<\/span>'RAM'<span>.<\/span>\r\n\u00a0\u00a0ls_student<span>-<\/span>departid\u00a0<span>=\u00a0<\/span>'5'<span>.<\/span>\r\n\u00a0\u00a0ls_student<span>-<\/span>departmentname\u00a0<span>=\u00a0<\/span>'CSE'<span>.<\/span>\r\n\r\n\u00a0\u00a0<span>\"\u00a0append<\/span>\r\n\u00a0\u00a0\u00a0<span>insert\u00a0<\/span>ls_Student\u00a0<span>into\u00a0<\/span>lt_Student<span>.<\/span>\r\n\r\n\r\n\r\n\u00a0\u00a0<span>LOOP\u00a0<\/span><span>AT\u00a0<\/span>lt_student\u00a0<span>INTO\u00a0<\/span>ls_student<span>.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0ls_student<span>-<\/span>name<span>,\u00a0<\/span>ls_student<span>-<\/span><span>id<\/span><span>,\u00a0<\/span>ls_student<span>-<\/span>departid<span>,\u00a0<\/span>ls_Student<span>-<\/span>departmentname<span>.<\/span>\r\n\u00a0\u00a0<span>ENDLOOP<\/span><span>.<\/span><\/span> <\/code><\/pre>\n<p>\u00a0 This ABAP report <code>ZTEST_PROGRAM_2<\/code> is a beginner-friendly example that demonstrates how to work with <strong>internal tables, work areas, and database records<\/strong>. It starts by defining a custom structure <code>lty_student<\/code> to hold student details such as ID, name, department ID, and department name. An internal table <code>lt_student<\/code> and a work area <code>ls_student<\/code> are then declared to store and process this data. The program first fetches existing records from the custom database table <code>zstudent_2<\/code> into the internal table using a <code>SELECT ... INTO TABLE<\/code> statement. After that, new student entries are created manually by filling values into the work area and adding them to the internal table using both <code>APPEND<\/code> and <code>INSERT<\/code>. Finally, the program loops through the internal table and displays each student\u2019s details on the output screen. Overall, the code provides a simple but practical illustration of how internal tables can combine database data with additional records and then be processed for reporting in ABAP.<\/p>\n<p><img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/ss1.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/ss2.png\" \/><\/div>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","question-category":[158],"question_tags":[178,357,177,358],"class_list":["post-7579","question","type-question","status-publish","hentry","question-category-abap","question_tags-abap","question_tags-internal-table","question_tags-sap","question_tags-work-area"],"_links":{"self":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question\/7579","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=7579"}],"wp:attachment":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7579"}],"wp:term":[{"taxonomy":"question-category","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion-category&post=7579"},{"taxonomy":"question_tags","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion_tags&post=7579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}