{"id":4608,"date":"2023-05-11T10:53:43","date_gmt":"2023-05-11T08:53:43","guid":{"rendered":"https:\/\/www.js-soft.com\/an-introduction-to-abap\/"},"modified":"2025-11-06T15:49:50","modified_gmt":"2025-11-06T14:49:50","slug":"an-introduction-to-abap","status":"publish","type":"post","link":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/","title":{"rendered":"An Introduction to ABAP based on a Prime Factors Example"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The following exercises will help you understand some basic concepts in ABAP.&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\" id=\"block-f1db4246-11d2-41f1-8d21-c60ccad8e49c\"><strong>&nbsp;\u201cTell me and I forget, teach me and I may remember, involve me and I learn.\u201d<\/strong><\/p>\n<cite>Benjamin Franklin<\/cite><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">On exercism.org you will find 40 ABAP exercises. These are common programming exercises such as Word Count, Tic-Tac-Toe, Scrabble Score and so on that you will probably come across in one way or another when learning a programming language. We recommend that you register there and start doing all these exercises to build up your knowledge of programming and ABAP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What our blog series Introduction to ABAP will do for you:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-base-font-size\">Discuss the task and the considerations you need to make to solve the exercise without having to look up a published solution.<\/li>\n\n\n\n<li class=\"has-base-font-size\">Randomly show you some ABAP peculiarities that come up in each exercise, so that you understand ABAP better and better.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Learn by example: Prime Factors  <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/exercism.org\/tracks\/abap\/exercises\/prime-factors\">https:\/\/exercism.org\/tracks\/abap\/exercises\/prime-factors<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. The job.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Work out the prime factors of a given natural number.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A prime number is only evenly divisible by itself and 1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note that 1 is not a prime number. Some more useful school knowledge: Factors are the numbers you multiply together to get another number. For example: Factor 2 * Factor 3 = 6. &#8220;Prime factorisation&#8221; is working out which prime numbers can be multiplied together to make the original number.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. An example to help you understand in depth.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">What are the prime factors of 147?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s best to start with the smallest prime, which is 2, so let&#8217;s see:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Can we divide 147 exactly by 2? 147 \u00f7 2 = 73\u00bd<br>No, you can&#8217;t. The answer should be an integer, and 73\u00bd is not an integer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s try the next prime number, 3: 147 \u00f7 3 = 49<br>That worked, now we try to factor 49.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The next prime number, 5, does not work. But 7 does, so we get 49 \u00f7 7 = 7.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is as far as we need to go, because all the factors are prime numbers.<br>147 = 3 \u00d7 7 \u00d7 7<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now you have a better understanding of this problem. Have you?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. What are the constraints of the task?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There is no need to scroll up to see the task again. Here it is: <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Calculate the prime factors of a given natural number.<br>A prime number is only evenly divisible by itself and 1.<br>Note that 1 is not a prime.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now let&#8217;s look at the details:<br>What is your input? What is your output?<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Input:<br>natural numbers<\/td><td><strong>BLACK BOX<\/strong><\/td><td>Output:<br>Prime factor(s)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>line of code<\/strong><\/td><td><strong>constraint<\/strong><\/td><td><strong>coding<\/strong><\/td><\/tr><tr><td>1<\/td><td>an input (natural number) is given.<\/td><td><strong>input (natural number)<\/strong><\/td><\/tr><tr><td>2<\/td><td>there will be an output of prime factor(s)<\/td><td><strong>output<\/strong><\/td><\/tr><tr><td>3<\/td><td>The smallest prime is 2, that is why we will start prime factorization with divisor 2.<\/td><td><strong>divisor = 2<\/strong><\/td><\/tr><tr><td>4<\/td><td>How do you get only evenly divisible numbers?<br>Answer: by using the modulo operation (&#8220;MOD&#8221; or &#8220;%&#8221; in many programming languages). <br>The modulo operation is the remainder of the division.<br>&nbsp;<br>For example, 5 mod 3 = 2, which means that 2 is the remainder when you divide 5 by 3.<br>If there is a remainder, the number hasn&#8217;t been divided equally.<br>For our problem, we would need 5 mod 5 = 0. No remainder, so evenly divisible.<br>&nbsp;<br>More generally:<br>Input MOD divisor &lt; &gt; 0, tells us that the input is not evenly divisible by this divisor and therefore we can&#8217;t proceed, we need to change the divisor.<\/td><td><strong>if input MOD divisor &lt; &gt; 0<\/strong><\/td><\/tr><tr><td>5<\/td><td>We try the next possible divisor, so add 1 to it and try again.<\/td><td><strong>do divisor + 1, start again at line 3<\/strong><\/td><\/tr><tr><td>6<\/td><td>If input MOD divisor = 0, store divisor as prime factor in our output or in other words: if line 3 of the code is not true (else) store divisor as prime factor in our output<\/td><td><strong>else write divisor as prime factor in our output<\/strong><\/td><\/tr><tr><td>7<\/td><td>Since we have found a prime factor, we can proceed, so we actually divide the given input by the divisor: input = input DIV divisor, starting again with the &#8220;new&#8221; input at line 3.<\/td><td><strong>input DIV divisor<\/strong><br><strong>start again at line 3<\/strong><\/td><\/tr><tr><td>8<\/td><td>When do we need to stop this loop?<br>&nbsp;<br>As you can see, our first input (line 1) is getting smaller and smaller. It has to stop when there is no prime factor left. That is, when the input is equal to 1.<br>&nbsp;<br>Stop this calculation block when the input is 1. Right? If you reverse this constraint:<br>Run as long as input is greater 1.&nbsp;<\/td><td><strong>start again until input &gt; 1<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once you understand this, it is actually quite simple. 8 lines of code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Okay, you&#8217;re right, we&#8217;re not done yet. Actually, we need 12 lines of code to translate our reflections into ABAP. As you can see here:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Our solution translated in ABAP.<\/h3>\n\n\n\n<figure class=\"wp-block-image size-medium is-resized\"><img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"233\" src=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-01-18-122625-300x233.jpg\" alt=\"Screenshot\" class=\"wp-image-4461\" style=\"width:600px\" srcset=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-01-18-122625-300x233.jpg 300w, https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-01-18-122625.jpg 402w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Note: On exercism.org you will find solutions using classes and methods to calculate prime factors. As our blog series is aimed at complete programming beginners, we skipped the object-oriented programming (for now) and wrote a simple ABAP report.<br><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Basic ABAP knowledge you need to know to understand the ABAP code above.<\/h3>\n\n\n\n<h2 class=\"wp-block-heading\">ABAP Syntax<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Typically, an ABAP statement starts with a keyword and ends with a period. For example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" width=\"248\" height=\"18\" src=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Bild1.png\" alt=\"line 3 parameters input type i.\" class=\"wp-image-4469\" style=\"width:200px\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Unlike other languages such as Java or C#, ABAP is not case-sensitive. This means that you can use the ABAP keywords and identifiers in uppercase or lowercase.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"248\" height=\"18\" src=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Bild1.png\" alt=\"line 3 parameters input type i.\" class=\"wp-image-4469\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Data declaration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A typical procedural ABAP program consists of type definitions and data declarations. The data declarations describe the data structure that the program uses when it runs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"281\" height=\"61\" src=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Bild3.png\" alt=\"type definitions and data declarations\" class=\"wp-image-4474\"\/><figcaption class=\"wp-element-caption\">Above is the data declaration part of our example. <\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Parameters are components of a selection screen that are assigned a global elementary data object in the ABAP program and an input field on the selection screen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, after running our example. In a SAP GUI system or in eclipse you would have to press F8 to run a program, before you should have saved (Ctrl + s) and activated (Ctrl + F3) your program. After these three steps, you will see that parameters is a data declaration that opens an additional screen (dynpro) in the SAP GUI that receives your input variable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ABAP has three main types of data: elementary types, complex types and reference types. In our example, only elementary types are used. Therefore, we will only give a brief overview of them in the following table:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Data Type<\/strong><\/td><td><strong>Description<\/strong><\/td><td><strong>Initial Size<\/strong><\/td><td><strong>Valid Size<\/strong><\/td><td><strong>Initial Value<\/strong><\/td><\/tr><tr><td>C<\/td><td>Alphanumeric characters<\/td><td>1 character<\/td><td>1 &#8211; 65,535 characters<\/td><td>space<\/td><\/tr><tr><td>N<\/td><td>Digits 0-9<\/td><td>1 character<\/td><td>1 &#8211; 65,535 characters<\/td><td>Character zero<\/td><\/tr><tr><td>D<\/td><td>Data character YYYYMMDD<\/td><td>8 characters<\/td><td>8 characters<\/td><td>Character zeros<\/td><\/tr><tr><td>T<\/td><td>Time character HHMMSS<\/td><td>8 characters<\/td><td>8 characters<\/td><td>Character zeros<\/td><\/tr><tr><td>X<\/td><td>Hexadecimal field<\/td><td>1 byte<\/td><td>1 &#8211; 65,535 bytes<\/td><td><\/td><\/tr><tr><td>P<\/td><td>Packed Numbers<\/td><td>8 bytes<\/td><td>1 &#8211; 16 bytes<\/td><td>0<\/td><\/tr><tr><td>I<\/td><td>Integers Range 2^31-1 to 2^31<\/td><td>4 bytes<\/td><td>4 bytes<\/td><td>0<\/td><\/tr><tr><td>F<\/td><td><\/td><td>8 bytes<\/td><td>8 bytes<\/td><td>0<\/td><\/tr><tr><td>STRING<\/td><td>Like C, but has a variable length<\/td><td><\/td><td><\/td><td><\/td><\/tr><tr><td>XSTRING<\/td><td>Like X, but has a variable length<\/td><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Overview elementary types in ABAP<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">DO\/ENDDO and WHILE\/ENDWHILE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In ABAP there are two loops that could have helped us solve our prime factor exercise: while\/endwhile or do\/enddo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DO\/ENDDO: Unconditional and indexed loops:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The block of statements between DO and ENDDO is executed continuously until the loop is exited using exit statements such as EXIT. Specify the maximum number of loop passes, otherwise you may get an infinite loop.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"402\" height=\"312\" src=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-01-18-122625.jpg\" alt=\"Screenshot\" class=\"wp-image-4461\" srcset=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-01-18-122625.jpg 402w, https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/Screenshot-2023-01-18-122625-300x233.jpg 300w\" sizes=\"(max-width: 402px) 100vw, 402px\" \/><figcaption class=\"wp-element-caption\">1: Mandatory first line of every ABAP report.         \n\n3: Data declaration is mandatory for each variable used.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">WHILE\/ENDWHILE: Header-controlled loops<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The statement block between WHILE and ENDWHILE is executed until the specified condition is no longer true. The condition is always checked before the statement block is executed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"412\" height=\"120\" src=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/while.jpg\" alt=\"Header-controlled loops\" class=\"wp-image-4603\" srcset=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/while.jpg 412w, https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/while-300x87.jpg 300w\" sizes=\"(max-width: 412px) 100vw, 412px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">WRITE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One of the very basic ABAP statements used to display data on the screen is the WRITE statement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In our example, the backslash starts a new line for each output number.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"192\" height=\"19\" src=\"https:\/\/www.js-soft.com\/app\/uploads\/2023\/05\/Bild6-1.png\" alt=\"\" class=\"wp-image-4595\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Additional information.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For additional information, see the SAP keyword documentation:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">English: <a href=\"https:\/\/help.sap.com\/doc\/abapdocu_752_index_htm\/7.52\/en-us\/abenabap.htm\">https:\/\/help.sap.com\/doc\/abapdocu_752_index_htm\/7.52\/en-us\/abenabap.htm<\/a><br>German: <a href=\"https:\/\/help.sap.com\/doc\/abapdocu_752_index_htm\/7.52\/de-de\/index.htm\">https:\/\/help.sap.com\/doc\/abapdocu_752_index_htm\/7.52\/de-de\/index.htm<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Our blog series for complete ABAP beginners. This blog article is for you if you are completely new to ABAP and need some insights into the general logic behind it.<\/p>\n","protected":false},"author":10,"featured_media":14139,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[176],"tags":[177,178,179,180,181],"class_list":["post-4608","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-abap-en","tag-abap-en","tag-beginners-en","tag-examples-en","tag-learning-abap-en","tag-prime-factors-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>An Introduction to ABAP based on a Prime Factors Example - j&amp;s-soft<\/title>\n<meta name=\"description\" content=\"Learning ABAP is a step-by-step process. First reflections, insights and exercises can be found here. Read more.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An Introduction to ABAP based on a Prime Factors Example - j&amp;s-soft\" \/>\n<meta property=\"og:description\" content=\"Learning ABAP is a step-by-step process. First reflections, insights and exercises can be found here. Read more.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/\" \/>\n<meta property=\"og:site_name\" content=\"j&amp;s-soft\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-11T08:53:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-06T14:49:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/ABAP-Prime-Factors-.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1860\" \/>\n\t<meta property=\"og:image:height\" content=\"1084\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Barbara Hensel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Barbara Hensel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"An Introduction to ABAP based on a Prime Factors Example - j&amp;s-soft","description":"Learning ABAP is a step-by-step process. First reflections, insights and exercises can be found here. Read more.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/","og_locale":"en_US","og_type":"article","og_title":"An Introduction to ABAP based on a Prime Factors Example - j&amp;s-soft","og_description":"Learning ABAP is a step-by-step process. First reflections, insights and exercises can be found here. Read more.","og_url":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/","og_site_name":"j&amp;s-soft","article_published_time":"2023-05-11T08:53:43+00:00","article_modified_time":"2025-11-06T14:49:50+00:00","og_image":[{"width":1860,"height":1084,"url":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/ABAP-Prime-Factors-.png","type":"image\/png"}],"author":"Barbara Hensel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Barbara Hensel","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/#article","isPartOf":{"@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/"},"author":{"name":"Barbara Hensel","@id":"https:\/\/www.js-soft.com\/en\/#\/schema\/person\/503a4fb561f407d4c5d023649409b427"},"headline":"An Introduction to ABAP based on a Prime Factors Example","datePublished":"2023-05-11T08:53:43+00:00","dateModified":"2025-11-06T14:49:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/"},"wordCount":1286,"publisher":{"@id":"https:\/\/www.js-soft.com\/en\/#organization"},"image":{"@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/#primaryimage"},"thumbnailUrl":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/ABAP-Prime-Factors-.png","keywords":["abap","beginners","examples","learning ABAP","prime factors"],"articleSection":["ABAP"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/","url":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/","name":"An Introduction to ABAP based on a Prime Factors Example - j&amp;s-soft","isPartOf":{"@id":"https:\/\/www.js-soft.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/#primaryimage"},"image":{"@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/#primaryimage"},"thumbnailUrl":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/ABAP-Prime-Factors-.png","datePublished":"2023-05-11T08:53:43+00:00","dateModified":"2025-11-06T14:49:50+00:00","description":"Learning ABAP is a step-by-step process. First reflections, insights and exercises can be found here. Read more.","breadcrumb":{"@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/#primaryimage","url":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/ABAP-Prime-Factors-.png","contentUrl":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2023\/05\/ABAP-Prime-Factors-.png","width":1860,"height":1084,"caption":"ABAP Prime Factor Example"},{"@type":"BreadcrumbList","@id":"https:\/\/www.js-soft.com\/en\/an-introduction-to-abap\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/www.js-soft.com\/en\/"},{"@type":"ListItem","position":2,"name":"An Introduction to ABAP based on a Prime Factors Example"}]},{"@type":"WebSite","@id":"https:\/\/www.js-soft.com\/en\/#website","url":"https:\/\/www.js-soft.com\/en\/","name":"j&amp;s-soft","description":"IT-Unternehmensberatung f\u00fcr SAP","publisher":{"@id":"https:\/\/www.js-soft.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.js-soft.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.js-soft.com\/en\/#organization","name":"j&amp;s-soft","url":"https:\/\/www.js-soft.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.js-soft.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2022\/03\/Logo-js-soft.png","contentUrl":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2022\/03\/Logo-js-soft.png","width":2560,"height":544,"caption":"j&amp;s-soft"},"image":{"@id":"https:\/\/www.js-soft.com\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.js-soft.com\/en\/#\/schema\/person\/503a4fb561f407d4c5d023649409b427","name":"Barbara Hensel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2025\/11\/BarbaraHensel-96x96.jpg","url":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2025\/11\/BarbaraHensel-96x96.jpg","contentUrl":"https:\/\/www.js-soft.com\/wp-content\/uploads\/2025\/11\/BarbaraHensel-96x96.jpg","caption":"Barbara Hensel"},"description":"ABAP developer and SAP HCM specialist with deep expertise in H4S4. also supporting customers with hands-on solutions."}]}},"_links":{"self":[{"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/posts\/4608","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/comments?post=4608"}],"version-history":[{"count":12,"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/posts\/4608\/revisions"}],"predecessor-version":[{"id":14157,"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/posts\/4608\/revisions\/14157"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/media\/14139"}],"wp:attachment":[{"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/media?parent=4608"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/categories?post=4608"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.js-soft.com\/en\/wp-json\/wp\/v2\/tags?post=4608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}