{"id":47,"date":"2023-12-04T04:13:43","date_gmt":"2023-12-04T04:13:43","guid":{"rendered":"https:\/\/sapabap.dwimansolution.com\/?p=47"},"modified":"2023-12-04T04:14:37","modified_gmt":"2023-12-04T04:14:37","slug":"create-sap-abap-restful-web-service","status":"publish","type":"post","link":"https:\/\/sapabap.dwimansolution.com\/index.php\/2023\/12\/04\/create-sap-abap-restful-web-service\/","title":{"rendered":"Create SAP ABAP RESTFUL Web Service direct via SICF"},"content":{"rendered":"\n<p>Berikut cara untuk membuat RESTFUL Web Service ABAP atau biasa kita sebut inbound service (SAP sebagai host).<\/p>\n\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"521\" height=\"201\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/Untitled-Diagram.drawio.png\" alt=\"\" class=\"wp-image-49\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/Untitled-Diagram.drawio.png 521w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/Untitled-Diagram.drawio-300x116.png 300w\" sizes=\"(max-width: 521px) 100vw, 521px\" \/><\/figure><\/div>\n\n\n<p class=\"has-text-align-center\">gambar 1. skema request SAP ABAP RESTFUL Web Service<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Untuk langkah testing nanti kita akan menggunakan aplikasi POSTMAN sebagai client \/ 3rd party. Jadi pastikan teman-teman sudah menginstall POSTMAN ya. Jika belum , berikut link download nya  <a href=\"https:\/\/www.postman.com\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.postman.com\/downloads\/<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>CREATE CLASS REST HANDLER<\/strong><\/p>\n\n\n\n<ol>\n<li>Go to tcode : SE24<\/li>\n\n\n\n<li>Create class baru dengan nama bebas (dalam contoh ini ZCL_REST_HANDLER)<\/li>\n\n\n\n<li>gunakan superclass CL_REST_HTTP_HANDLER <\/li>\n\n\n\n<li>pilih instance generation &#8220;Public&#8221; dan centang checkbox &#8220;Final&#8221;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"664\" height=\"203\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-3.png\" alt=\"\" class=\"wp-image-52\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-3.png 664w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-3-300x92.png 300w\" sizes=\"(max-width: 664px) 100vw, 664px\" \/><\/figure>\n\n\n\n<p>5. ke tab &#8220;Method&#8221;<\/p>\n\n\n\n<p>6. pilih method &#8220;IF_REST_APPLICATION~GET_ROOT_HANDLER&#8221; -&gt; klik &#8220;Redefine&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"283\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-4-1024x283.png\" alt=\"\" class=\"wp-image-53\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-4-1024x283.png 1024w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-4-300x83.png 300w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-4-768x212.png 768w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-4-850x235.png 850w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-4.png 1196w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>7. gunakan contoh code berikut ke method tersebut<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    DATA(lo_router) = NEW cl_rest_router( ).\n    lo_router-&gt;attach( iv_template = '\/hello' iv_handler_class = 'ZCL_REST_RESOURCE' ). \n    ro_root_handler = lo_router.\n    <\/code><\/pre>\n\n\n\n<p>maka URL yang akan digunakan adalah <strong>&lt;HOST&gt;\/hello<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>CREATE SERVICE<\/strong> <strong>INSTANCE<\/strong><\/p>\n\n\n\n<ol>\n<li>Go to tcode : SICF<\/li>\n\n\n\n<li>Create instance (contoh: gateway) . notes : semakin dalam path servicenya, akan semakin panjang URL nya.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"961\" height=\"426\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image.png\" alt=\"\" class=\"wp-image-48\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image.png 961w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-300x133.png 300w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-768x340.png 768w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-850x377.png 850w\" sizes=\"(max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>3. Double click instance yang sudah dibuat.<\/p>\n\n\n\n<p>4. Setting logon data seperti data di bawah, untuk logon data user nya bisa menyesuaikan dengan logon data masing-masing<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"774\" height=\"740\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-1.png\" alt=\"\" class=\"wp-image-50\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-1.png 774w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-1-300x287.png 300w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-1-768x734.png 768w\" sizes=\"(max-width: 774px) 100vw, 774px\" \/><\/figure>\n\n\n\n<p>5. masukkan class yang sudah dibuat sebelumnya<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"724\" height=\"597\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-2.png\" alt=\"\" class=\"wp-image-51\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-2.png 724w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-2-300x247.png 300w\" sizes=\"(max-width: 724px) 100vw, 724px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>TESTING<\/strong><\/p>\n\n\n\n<ol>\n<li>dapatkan URL service yang sudah kita buat dengan cara berikut:<\/li>\n\n\n\n<li>go to tcode : SICF <\/li>\n\n\n\n<li>klik kanan service yang sudah kita buat<\/li>\n\n\n\n<li>pilih &#8220;Test Service&#8221;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"955\" height=\"635\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-5.png\" alt=\"\" class=\"wp-image-59\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-5.png 955w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-5-300x199.png 300w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-5-768x511.png 768w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-5-850x565.png 850w\" sizes=\"(max-width: 955px) 100vw, 955px\" \/><\/figure>\n\n\n\n<p>6. akan muncul popup seperti di bawah ini, URL nya saya sensor ya, tapi teman-teman pasti akan mendapatkan URL tersebut di bagian yang saya sensor<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"574\" height=\"240\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-6.png\" alt=\"\" class=\"wp-image-60\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-6.png 574w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-6-300x125.png 300w\" sizes=\"(max-width: 574px) 100vw, 574px\" \/><\/figure>\n\n\n\n<p>atau teman-teman bisa juga mendapatkannya di browser<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"717\" height=\"51\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-7.png\" alt=\"\" class=\"wp-image-62\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-7.png 717w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-7-300x21.png 300w\" sizes=\"(max-width: 717px) 100vw, 717px\" \/><\/figure>\n\n\n\n<p>7. Buka aplikasi POSTMAN Copy URL tersebut ke  POSTMAN bagian <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"563\" src=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-8-1024x563.png\" alt=\"\" class=\"wp-image-63\" srcset=\"https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-8-1024x563.png 1024w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-8-300x165.png 300w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-8-768x422.png 768w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-8-1536x844.png 1536w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-8-850x467.png 850w, https:\/\/sapabap.dwimansolution.com\/wp-content\/uploads\/2023\/05\/image-8.png 1558w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Berikut cara untuk membuat RESTFUL Web Service ABAP atau biasa kita sebut inbound service (SAP sebagai host). gambar 1. skema request SAP ABAP RESTFUL Web Service Untuk langkah testing nanti kita akan menggunakan aplikasi POSTMAN sebagai client \/ 3rd party. Jadi pastikan teman-teman sudah menginstall POSTMAN ya. Jika belum , berikut link download nya https:\/\/www.postman.com\/downloads\/&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/posts\/47"}],"collection":[{"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":9,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"predecessor-version":[{"id":136,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/posts\/47\/revisions\/136"}],"wp:attachment":[{"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sapabap.dwimansolution.com\/index.php\/wp-json\/wp\/v2\/tags?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}