{"id":1066,"date":"2014-09-26T10:17:16","date_gmt":"2014-09-26T09:17:16","guid":{"rendered":"http:\/\/oprsteny.cz\/?p=1066"},"modified":"2014-09-26T11:26:32","modified_gmt":"2014-09-26T10:26:32","slug":"abap-multiple-implementations-of-a-signle-implementation-only-badi","status":"publish","type":"post","link":"https:\/\/oprsteny.cz\/?p=1066","title":{"rendered":"ABAP &#8211; Multiple implementations of a &#8220;Single implementation only BAdI&#8221;"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"358\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=358\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/SAP.jpg\" data-orig-size=\"44,50\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;Picasa&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1365690880&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"SAP\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/SAP.jpg\" class=\"size-full wp-image-358 alignleft\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/SAP.jpg\" alt=\"SAP\" width=\"44\" height=\"50\" \/>It is a problem when you need to have multiple implementations of a BAdI which does not implicitly allow multiple implementations by its definition. How to bypass this limitation? <!--more-->I&#8217;ll show sample solution on an SRM BAdI called BBP_CREATE_BE_PO_NEW.<\/p>\n<h2>1. Check BAdI specification<\/h2>\n<p>In SE18 open BAdI BBP_CREATE_BE_PO_NEW and check that checkbox &#8220;Multiple use&#8221; is not selected. This means the BAdI can have only ONE active implementation.<\/p>\n<p><a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_01.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1067\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=1067\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_01.png\" data-orig-size=\"691,432\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"BAdI specification\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_01.png\" class=\"alignnone size-medium wp-image-1067\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_01-300x187.png\" alt=\"BAdI specification\" width=\"300\" height=\"187\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_01-300x187.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_01-479x300.png 479w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_01.png 691w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>2. Create the real BAdI implementation and implementation class<\/h2>\n<p>Create single BAdI implementation ZBBP_CREATE_BE_PO_NEW with its implementation class called ZCL_IM_BBP_CREAT_BE_PO_NEW<\/p>\n<p><a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_02.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1068\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=1068\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_02.png\" data-orig-size=\"714,560\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"BAdI Implementation and its Implementation class\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_02.png\" class=\"alignnone size-medium wp-image-1068\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_02-300x235.png\" alt=\"BAdI Implementation and its Implementation class\" width=\"300\" height=\"235\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_02-300x235.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_02-382x300.png 382w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_02.png 714w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>3. Create supporting Z-structure<\/h2>\n<p>Create Z-structure\u00a0ZBBP_BE_PO_TRANSFER_PROVIDER containing just one field with type of the BAdI Interface IF_EX_BBP_CREATE_BE_PO_NEW<\/p>\n<p><a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_03.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1069\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=1069\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_03.png\" data-orig-size=\"844,264\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Supporting Z-structure\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_03.png\" class=\"alignnone size-medium wp-image-1069\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_03-300x93.png\" alt=\"Supporting Z-structure\" width=\"300\" height=\"93\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_03-300x93.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_03-500x156.png 500w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_03.png 844w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>4. Implementation class container for pseudo-implementations<\/h2>\n<p>In the implementation class create private attribute &#8211; internal table MT_BE_PO_TRANSFER of the Z-structure ZBBP_BE_PO_TRANSFER_PROVIDER<\/p>\n<p><a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_08.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1074\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=1074\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_08.png\" data-orig-size=\"852,214\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Class private internal table\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_08.png\" class=\"alignnone size-medium wp-image-1074\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_08-300x75.png\" alt=\"Class private internal table\" width=\"300\" height=\"75\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_08-300x75.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_08-500x125.png 500w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_08.png 852w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>5. Create <em>pseudo-implementations<\/em><\/h2>\n<p>Create new Z-classes &#8211; one Z-class per each of your required <em>psuedo-implementations<\/em>. In each class, add the same interface as used in the main implementation class into the <em>Interfaces<\/em> tab. In our case we created Z-class ZCL_BBP_CREAT_BE_PO_DELV_ADDR which will handle delivery address manipulation.<\/p>\n<p><a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_04.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1070\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=1070\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_04.png\" data-orig-size=\"684,229\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Pseudo-implementation class\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_04.png\" class=\"alignnone size-medium wp-image-1070\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_04-300x100.png\" alt=\"Pseudo-implementation class\" width=\"300\" height=\"100\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_04-300x100.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_04-500x167.png 500w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_04.png 684w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>6. Implement class constructor and register <em>pseudo-implementations<\/em><\/h2>\n<p>Create main implementation class constructor and add programatically as many entries in the class attribute (itab) as you need &#8211; one for each Z-class, each with type of the specific Z-class<\/p>\n<p><a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_05.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1071\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=1071\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_05.png\" data-orig-size=\"797,379\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Registering pseudo-implementations in constructor\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_05.png\" class=\"alignnone size-medium wp-image-1071\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_05-300x142.png\" alt=\"Registering pseudo-implementations in constructor\" width=\"300\" height=\"142\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_05-300x142.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_05-500x237.png 500w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_05.png 797w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>7. Distribute the interface method calls to pseudo-implementation&#8217;s methods<\/h2>\n<p>In all interface methods of the main implementation class loop over your class attribute (itab) and call the same method with the same parameters for each line.<\/p>\n<p><a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_06.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1072\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=1072\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_06.png\" data-orig-size=\"918,674\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Distributing method calls\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_06.png\" class=\"alignnone size-medium wp-image-1072\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_06-300x220.png\" alt=\"Distributing method calls\" width=\"300\" height=\"220\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_06-300x220.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_06-408x300.png 408w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_06.png 918w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>8. Implement interface methods in your pseudo-implementations<\/h2>\n<p>In each of your Z-classes implement the necessary interface methods. Each Z-class interface method will now handle just the part of data manipulation that is required.<\/p>\n<p><a href=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_07.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1073\" data-permalink=\"https:\/\/oprsteny.cz\/?attachment_id=1073\" data-orig-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_07.png\" data-orig-size=\"1028,670\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Pseudo-implementation class method contents\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_07-1024x667.png\" class=\"alignnone size-medium wp-image-1073\" src=\"http:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_07-300x195.png\" alt=\"Pseudo-implementation class method contents\" width=\"300\" height=\"195\" srcset=\"https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_07-300x195.png 300w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_07-1024x667.png 1024w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_07-460x300.png 460w, https:\/\/oprsteny.cz\/wp-content\/uploads\/BADI_MULTIPLE_IMPLEMENTATIONS_07.png 1028w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It is a problem when you need to have multiple implementations of a BAdI which does not implicitly allow multiple implementations by its definition. How to bypass this limitation?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"ABAP - Multiple implementations of a \"Signle implementation only BAdI\"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[16,233,4,9],"tags":[446,57,324,221,325,326],"class_list":["post-1066","post","type-post","status-publish","format-standard","hentry","category-abap","category-customizing","category-design-patterns","category-development","tag-abap","tag-badi","tag-implementation-class","tag-oo-abap","tag-se18","tag-se19"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3nYbe-hc","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/posts\/1066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1066"}],"version-history":[{"count":3,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/posts\/1066\/revisions"}],"predecessor-version":[{"id":1077,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=\/wp\/v2\/posts\/1066\/revisions\/1077"}],"wp:attachment":[{"href":"https:\/\/oprsteny.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oprsteny.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}