{"id":10016,"date":"2026-04-14T02:58:03","date_gmt":"2026-04-14T07:58:03","guid":{"rendered":"https:\/\/innovapps.net\/?p=10016"},"modified":"2026-04-21T01:24:15","modified_gmt":"2026-04-21T06:24:15","slug":"easiest-clean-core-first-step-abap","status":"publish","type":"post","link":"https:\/\/innovapps.net\/en\/blog\/easiest-clean-core-first-step-abap\/","title":{"rendered":"The Clean Core first step: Let AI discover your Z ABAP Jungle"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"10016\" class=\"elementor elementor-10016\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-45b761f e-con-full e-flex e-con e-parent\" data-id=\"45b761f\" data-element_type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-df3343d elementor-widget elementor-widget-text-editor\" data-id=\"df3343d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>How many Z programs does your SAP system have? And how many of them could someone on your team explain \u2014 in detail, without hesitation \u2014 right now?<\/p>\n<p>If the honest answer is \u201cI\u2019m not sure\u201d or \u201conly Maria knows that,\u201d you\u2019ve just identified one of the most underestimated technical risks in any organization running SAP ECC or S\/4HANA.<\/p>\n<p>Companies invest millions implementing SAP. They document standard processes, map business flows, train end users. But there\u2019s a corner of almost every SAP system where critical logic hides in plain sight: the \u201cZ world.\u201d Hundreds or thousands of custom-built objects that nobody thought to document, that everyone relies on, and that \u2014 sooner or later \u2014 become the bottleneck of every migration, support escalation, or modernization project.<\/p>\n<p>According to ASUG research, the average SAP ECC system carries <strong>more than 30,000 custom extensions<\/strong>. And between 40% and 70% of that code is never used. The organizations paying to maintain it often have no idea it even exists.<\/p>\n<p>This article is about why a complete inventory of your SAP non-standard objects isn\u2019t just a technical housekeeping task \u2014 it\u2019s a strategic decision. And why the longer you wait, the more it costs.<\/p>\n<h2>The \u201cZ World\u201d: The Corner of SAP That Everyone Uses and Nobody Documents<\/h2>\n<p>In SAP, objects prefixed with Z or Y \u2014 or those belonging to a custom namespace like \/COMPANY\/ \u2014 are proprietary developments: code that didn\u2019t come from SAP AG, but was created or commissioned by your organization to fill the gaps between the standard and your operational reality.<\/p>\n<p>And there are always gaps.<\/p>\n<p>No SAP implementation covers 100% of a company\u2019s real processes. Industries have their own rules. Operations have nuances that no software vendor can anticipate. So, over the years, productive SAP systems accumulate:<\/p>\n<ul>\n<li><strong>Z programs<\/strong>: reports, interfaces, mass processing jobs, integrations with external systems.<\/li>\n<li><strong>Custom Function Modules and Classes<\/strong>: reusable business logic built in-house.<\/li>\n<li><strong>Implemented Enhancements and BAdIs<\/strong>: subtle modifications to SAP\u2019s standard behavior.<\/li>\n<li><strong>Z Tables, Structures, and Data Elements<\/strong>: to persist information SAP doesn\u2019t natively support.<\/li>\n<li><strong>Custom SmartForms, SAPscripts, and Adobe Forms<\/strong>: printed documents like purchase orders, labels, invoices.<\/li>\n<li><strong>Custom transactions, user menus, and authorization objects<\/strong>: the entire access layer built to spec.<\/li>\n<\/ul>\n<p>In a mid-sized company with several years of productive SAP, this can represent hundreds or thousands of objects. Large enterprises or organizations with long SAP histories routinely exceed 5,000 or 10,000 active non-standard objects.<\/p>\n<p>The problem isn\u2019t that they exist. The problem is they\u2019re almost never documented.<\/p>\n<p>They get created to solve a specific problem. They work. They get forgotten. A year later, someone modifies them to solve another problem. And so it goes for a decade \u2014 until nobody knows exactly what each one does, what it depends on, or whether it\u2019s still needed at all.<\/p>\n<h2>The Real Risk: When Knowledge Lives in People, Not Systems<\/h2>\n<p>There\u2019s a concept in software engineering called the <strong>\u201cbus factor\u201d<\/strong>: how many people on your team would have to be hit by a bus for critical system knowledge to disappear?<\/p>\n<p>In most SAP environments, that number is one. Or two.<\/p>\n<p>There\u2019s the ABAP consultant who\u2019s been on the project for ten years and \u201cknows the system.\u201d She knows that program ZFACT_EXPORT_EDI has a special exception for customers in Group X. She knows the WMS interface doesn\u2019t use the standard BAPI \u2014 it uses a custom function module someone wrote in 2011 because the BAPI had a bug. She knows why there\u2019s a Z table with 400,000 records that nobody purges.<\/p>\n<p>When she leaves \u2014 and eventually she will \u2014 that knowledge leaves with her.<\/p>\n<p>What remains is a support ticket that takes three days to resolve because the current team has to read a 2,000-line program with no comments, line by line, to understand what\u2019s failing. Or a migration project delayed by months because nobody can say with certainty which Z objects are active, which are obsolete, and which are business-critical.<\/p>\n<p><strong>ASUG research found that 45% of organizations say their most valuable custom code was deployed six or more years ago<\/strong> \u2014 meaning the people who built it have most likely moved on. Meanwhile, 29% of companies cite maintaining knowledgeable staff as a top challenge, and 33% struggle to find the expertise needed to maintain and enhance their custom developments.<\/p>\n<p>SAP\u2019s own Custom Code Migration documentation puts it plainly: <em>\u201cThe code has been implemented many years ago, often expands over multiple pages, has very little or no documentation, the author of the code is not available anymore for questions.\u201d<\/em><\/p>\n<p>That\u2019s not a technical limitation. That\u2019s institutional amnesia \u2014 and it\u2019s one of the most expensive silent costs in enterprise IT.<\/p>\n<h2>Clean Core in SAP S\/4HANA: Without a Map, There Is No Route<\/h2>\n<p>If you\u2019re running SAP ECC or planning a move to S\/4HANA, you\u2019ve almost certainly heard about <strong>Clean Core<\/strong>. It\u2019s no longer a recommendation \u2014 at SAP Sapphire 2024, SAP leadership made clear that Clean Core is essentially mandatory for any modern ERP strategy.<\/p>\n<p>SAP defines Clean Core as keeping the S\/4HANA environment as close as possible to standard, with all extensions built externally through approved frameworks \u2014 primarily SAP Business Technology Platform (BTP) and ABAP Cloud. The guiding principle: any customization must be decoupled from the core so that upgrades remain stable, processes stay agile, and innovation can be adopted without friction.<\/p>\n<p>In August 2025, SAP formalized this into a four-level maturity classification for custom code:<\/p>\n<ul>\n<li><strong>Level A (Fully Compliant):<\/strong> Uses only publicly released, stable SAP interfaces. The gold standard for all new development.<\/li>\n<li><strong>Level B (Compliant):<\/strong> Meets Level A criteria but also uses classic APIs (BAPIs, IDocs, RFCs). Generally upgrade-stable.<\/li>\n<li><strong>Level C (Partially Compliant):<\/strong> Accesses SAP internal objects. Carries upgrade risk. Must be on a documented remediation roadmap.<\/li>\n<li><strong>Level D (Non-Compliant):<\/strong> Uses explicitly prohibited patterns \u2014 direct modifications, write access to SAP tables, implicit enhancements. Must be eliminated.<\/li>\n<\/ul>\n<p>The ABAP Test Cockpit (ATC) automates this classification, and in S\/4HANA 2025, Clean Core checks are delivered natively. The enforced policy is unambiguous: <strong>no new D-level code; all C-level code must have a refactoring plan.<\/strong><\/p>\n<p>Here\u2019s the catch: <strong>to classify your custom code, you first need to know it exists.<\/strong><\/p>\n<p>You can\u2019t remediate what you haven\u2019t inventoried. You can\u2019t prioritize what to refactor, what to move to BTP, what to eliminate, and what to keep \u2014 if you don\u2019t have a complete, accurate map of your Z landscape.<\/p>\n<p>Organizations arriving at S\/4HANA migration projects without that map face predictable consequences. A 2025 Horv\u00e1th Partners study of 200 companies found that <strong>60% of S\/4HANA projects exceeded budget<\/strong>, and <strong>only 8% completed transformation on schedule<\/strong>. The leading culprit, consistently cited across multiple independent studies: undocumented and unmanaged custom code.<\/p>\n<p><strong>The custom code is usually not the enemy. The lack of visibility into it is.<\/strong><\/p>\n<h2>Why a Manual Inventory Is Never Enough<\/h2>\n<p>The typical approach looks like this: a project kickoff meeting, a spreadsheet shared on SharePoint, an email to the ABAP team asking them to \u201cdocument their programs,\u201d a few weeks of half-hearted entries, and a file nobody updates after go-live.<\/p>\n<p>It fails for predictable reasons:<\/p>\n<p><strong>First, it\u2019s not exhaustive.<\/strong> Teams document the programs they remember or use most often. The long-tail of objects \u2014 legacy integrations, one-time reports that were never decommissioned, enhancement implementations from three consultants ago \u2014 never makes it into the spreadsheet.<\/p>\n<p><strong>Second, it goes stale immediately.<\/strong> SAP systems aren\u2019t static. New objects get created, existing ones get modified, some get abandoned. A point-in-time manual inventory is outdated within weeks.<\/p>\n<p><strong>Third, it doesn\u2019t capture dependencies.<\/strong> Knowing that ZREPORT_ORDERS exists is different from knowing that it calls function module ZFUNC_PRICING, which reads table ZCUST_MARGINS, which is updated by a batch job that runs every night. Manual documentation almost never captures this graph of dependencies.<\/p>\n<p><strong>Fourth, it doesn\u2019t serve AI.<\/strong> As organizations move toward AI-assisted support and development, the format of documentation matters. A free-text Word document describing what a program \u201csort of does\u201d isn\u2019t useful for an AI agent that needs structured, indexed, vectorized knowledge to reason accurately about code.<\/p>\n<p>The gap between \u201cwe have something documented\u201d and \u201cwe have real visibility\u201d is enormous \u2014 and expensive.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-10030 size-full\" src=\"https:\/\/innovapps.net\/wp-content\/uploads\/clean-core-first-step.jpeg\" alt=\"clean core first step\" width=\"910\" height=\"641\" srcset=\"https:\/\/innovapps.net\/wp-content\/uploads\/clean-core-first-step.jpeg 910w, https:\/\/innovapps.net\/wp-content\/uploads\/clean-core-first-step-300x211.jpeg 300w, https:\/\/innovapps.net\/wp-content\/uploads\/clean-core-first-step-768x541.jpeg 768w\" sizes=\"(max-width: 910px) 100vw, 910px\" \/><\/p>\n<h2>Clean Core Starts Before the Migration: The Hidden Cost of Unmanaged Z Code<\/h2>\n<p>The financial reality of unmanaged custom code is striking.<\/p>\n<p>ASUG research found companies spend an <strong>average of $815,857 per year<\/strong> to maintain their most valuable SAP custom code. For 37% of organizations, this represents up to 50% of annual IT spend. And custom code support, across the customer base, can add <strong>33% on top of standard SAP maintenance costs<\/strong> \u2014 before a single enhancement request is opened.<\/p>\n<p>When migration begins, the costs accelerate. Implementation services \u2014 including custom code analysis, remediation, and adaptation \u2014 represent <strong>40\u201360% of total S\/4HANA migration cost<\/strong> (Tachyon Technologies). Panaya estimates custom code work accounts for approximately <strong>40% of migration effort<\/strong>. And 43% of organizations in a 2025 SAPinsider benchmark cited remediating custom code as their top migration obstacle.<\/p>\n<p>These numbers aren\u2019t a reason to panic. They\u2019re a reason to prepare. The organizations that manage migration costs effectively are the ones that started with a complete, current inventory \u2014 knowing exactly what they had, what was still used, and what could be retired before the migration clock started running.<\/p>\n<p>In fact, a SAP Community case study documented one company retiring <strong>nearly 10% of their custom code before migration<\/strong> simply by identifying unused objects through usage analysis \u2014 objects that would have been carried forward, analyzed, adapted, and tested at significant cost if they hadn\u2019t been identified first.<\/p>\n<h2>\u201cJoule Knows SAP. It Doesn\u2019t Know Your SAP.\u201d<\/h2>\n<p>At this point, a reasonable question arises: can\u2019t SAP\u2019s own AI tools handle this?<\/p>\n<p>SAP Joule is genuinely impressive. SAP built a purpose-specific large language model trained on <strong>250 million lines of ABAP code and 30 million lines of CDS code<\/strong>, plus extensive SAP technical documentation. It can generate code, explain programs, write unit tests, suggest S\/4HANA adaptations, and navigate ABAP Cloud development \u2014 all within the IDE.<\/p>\n<p>But there\u2019s an architectural boundary that Joule cannot cross: <strong>it has zero knowledge of your company\u2019s specific Z\/Y code.<\/strong><\/p>\n<p>SAP is explicit about this: customer data is never used for training, and it\u2019s never shared with any third party. The ABAP LLM was trained on SAP\u2019s own standard code \u2014 not on the custom function modules your team wrote in 2009, not on the Z tables that hold your pricing exceptions, not on the enhancement framework implementations that modify standard purchasing behavior in ways that only two consultants ever understood.<\/p>\n<p>Joule can analyze a specific custom object when a developer manually selects it in the IDE and asks for an explanation. But that\u2019s a single-object interaction \u2014 it doesn\u2019t give Joule any systemic awareness of your custom landscape. It can\u2019t proactively tell you which Z transactions are actively used. It can\u2019t map the dependencies between your custom objects. It can\u2019t explain why a specific customization was built or what business logic it encodes, unless that logic happens to be documented in code comments (which it almost never is).<\/p>\n<p>As SAP partner Arvato Systems puts it: <em>\u201cIn the case of standard solutions, SAP Joule is simply available at the touch of a button. For customized developments, on the other hand, providing the AI assistant can be quite challenging.\u201d<\/em><\/p>\n<p>This isn\u2019t a criticism of Joule \u2014 it\u2019s a structural reality. General-purpose and standard-code AI tools are powerful within their domain. They cannot substitute for a knowledge base built from your specific code.<\/p>\n<p>Joule knows SAP better than any tool ever has. It doesn\u2019t know your SAP. That distinction matters enormously.<\/p>\n<h2><a href=\"https:\/\/innovapps.net\/mkt\/descubre-sidoc\/\" target=\"_blank\">SiDOC: From Chaos to a Complete Map of Your SAP Custom Code \u2014 in Under 10 Days<\/a><\/h2>\n<p>This is the problem that <strong>SiDOC<\/strong>, developed by <strong>Innova Apps<\/strong>, was built to solve.<\/p>\n<p>SiDOC is a three-step solution that automatically inventories, documents, and activates the knowledge contained in your SAP custom code \u2014 turning your Z landscape from a liability into a queryable, AI-ready knowledge asset.<\/p>\n<h3>Step 1 \u2014 Extract: Complete Inventory in Minutes<\/h3>\n<p>An ABAP program (delivered as a standard SAP transport) is installed in the customer\u2019s system and automatically extracts every non-standard object: programs, function modules, classes, tables, structures, data elements, domains, table types, transactions, enhancements, SmartForms, search helps, and authorization objects. It generates organized output files containing source code, metadata, and a complete object list. Filters by package, date, and object type give teams the flexibility to scope the extraction precisely.<\/p>\n<p>The result isn\u2019t just a list \u2014 it\u2019s a structured, complete map of everything that exists in your Z landscape, generated automatically and free of human omission bias.<\/p>\n<h3>Step 2 \u2014 Document: AI-Generated Documentation Built for Humans and Machines<\/h3>\n<p>An AI-powered processing layer consumes the extracted objects and generates structured Markdown documentation for each one: purpose, inputs, outputs, step-by-step processing logic, business rules, dependencies, and authorization requirements. Front-end objects (JavaScript, TypeScript, UI5, Fiori) are also documented if they exist.<\/p>\n<p>Critically, this documentation isn\u2019t built for a filing cabinet. It\u2019s built for intelligence. The documentation layer applies the practices that make AI retrieval accurate and reliable:<\/p>\n<ul>\n<li><strong>Indexing and mapping<\/strong>: cross-referencing objects, dependencies, and business contexts so that queries return relevant, connected results \u2014 not isolated fragments.<\/li>\n<li><strong>Precision through chunking<\/strong>: breaking documentation into semantically coherent fragments that can be retrieved with precision, without losing context.<\/li>\n<li><strong>Embedding and vectorization<\/strong>: structuring the knowledge base for semantic search so that natural-language queries return accurate, grounded answers.<\/li>\n<\/ul>\n<p>For an ABAP package with ~1000 ABAP objects, this entire process runs automatically in 1 hour. No consultant required. No manual effort.<\/p>\n<h3>Step 3 \u2014 RAG Intelligence: Ask Questions, Get Answers About Your Own Code<\/h3>\n<p>The documented knowledge base connects to an AI agent that understands your specific SAP environment \u2014 the one your team actually built, not a generic approximation of it. This agent can:<\/p>\n<ul>\n<li><strong>Support ABAP teams<\/strong>: when a bug is reported, the agent identifies which programs and function modules are involved, explains the logic, and proposes the likely root cause \u2014 without the consultant having to spend hours reading legacy code they\u2019ve never seen.<\/li>\n<li><strong>Generate technical specifications<\/strong>: for new development requests, the agent produces specs that follow your existing coding standards, reuse documented logic where applicable, and flag conflicts with existing functionality.<\/li>\n<li><strong>Accelerate new development<\/strong>: by surfacing relevant existing objects, the agent prevents developers from reinventing logic that already exists \u2014 a surprisingly common and expensive problem in large SAP environments.<\/li>\n<li><strong>Answer business questions about code<\/strong>: roles like IT managers, functional consultants, and project managers can ask in natural language what a specific Z transaction does, what tables it reads, and what business rules it applies \u2014 without opening the ABAP editor.<\/li>\n<\/ul>\n<p>The delta function ensures the knowledge base stays current: when objects are modified, only the changed components are reprocessed. Your documentation doesn\u2019t become a snapshot that ages into irrelevance \u2014 it stays alive.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-10028 size-full\" src=\"https:\/\/innovapps.net\/wp-content\/uploads\/Z-ABAP-Jungle.jpeg\" alt=\"z abap jungle\" width=\"1024\" height=\"540\" srcset=\"https:\/\/innovapps.net\/wp-content\/uploads\/Z-ABAP-Jungle.jpeg 1024w, https:\/\/innovapps.net\/wp-content\/uploads\/Z-ABAP-Jungle-300x158.jpeg 300w, https:\/\/innovapps.net\/wp-content\/uploads\/Z-ABAP-Jungle-768x405.jpeg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h2>The Strategic Payoff: Three Dimensions of Value<\/h2>\n<p>The benefits of a complete, AI-ready custom code inventory compound across three dimensions that matter to different stakeholders.<\/p>\n<h3>For CIOs and IT Leadership: Clean Core Readiness with Real Data<\/h3>\n<p>Instead of walking into an S\/4HANA migration planning conversation with estimates and assumptions, your team arrives with a complete, classified map of the Z landscape. Every object identified. Usage patterns analyzed. A-D classification applied. Remediation scope quantified. Budget estimates are grounded in real object counts. Scope discussions are based on actual complexity, not ballpark percentages. And the Clean Core roadmap \u2014 what to refactor, what to move to BTP, what to retire \u2014 is driven by facts, not guesswork.<\/p>\n<h3>For ABAP Teams and Support: Stop Paying for Archaeology<\/h3>\n<p>Every hour an ABAP consultant spends reverse-engineering legacy code they\u2019ve never seen is an hour that didn\u2019t go toward solving the business problem. With SiDOC, the understanding is already there. This doesn\u2019t replace ABAP expertise. It amplifies it. A team of three consultants with SiDOC operates more effectively than a team of five without it, because the institutional knowledge that used to live in a departing consultant\u2019s head is now accessible to everyone.<\/p>\n<h3>For Project Teams: Migration Planning Without the Surprises<\/h3>\n<p>Nothing derails a migration project faster than discovering undocumented complexity mid-stream. SiDOC eliminates that category of surprise. By the time the migration project starts, every Z object is known, documented, and classified. The work is scoped accurately from day one.<\/p>\n<h2>From Black Box to Strategic Asset: A Different Way to Think About Custom Code<\/h2>\n<p>There\u2019s a persistent instinct in SAP organizations to treat custom code as a liability \u2014 \u201ctechnical debt\u201d to be minimized, hidden, or eventually eliminated. That framing misses something important.<\/p>\n<p>Your Z landscape exists because your business processes are genuinely different from the SAP standard. Those customizations encode years of operational learning: exceptions, rules, integrations, and edge cases that make your system work for your business. In many cases, they represent genuine competitive process advantages.<\/p>\n<p>The problem was never the customization. The problem was the invisibility.<\/p>\n<p>A documented, inventoried, AI-indexed custom code landscape isn\u2019t a liability. It\u2019s an asset \u2014 one that can be governed, maintained, evolved, and leveraged. The same logic that makes your Z code difficult to manage today makes it valuable once it\u2019s understood.<\/p>\n<p>The goal isn\u2019t to eliminate the Z world. The goal is to stop being afraid of it.<\/p>\n<h2>You Can Have It in Under 10 Days<\/h2>\n<p>One more thing worth saying clearly.<\/p>\n<p>The gap between \u201cwe don\u2019t know what\u2019s in our SAP system\u201d and \u201cwe have a complete, AI-ready knowledge base of every custom object\u201d is not a six-month project. It\u2019s not a major consulting engagement. It doesn\u2019t require a dedicated project team or a lengthy requirements phase.<\/p>\n<p>With SiDOC, the extraction runs in a couple of hours. The AI documentation layer completes in 3\u20134 hours. The RAG agent is operational from day one. For most organizations, the entire process \u2014 from zero visibility to full, queryable inventory \u2014 takes fewer than 10 days from installation to active use.<\/p>\n<p>The investment is a fraction of what most teams spend in a single week of ABAP support hours trying to understand legacy code that should have been documented years ago.<\/p>\n<p>Your SAP system has been accumulating custom knowledge for years. It\u2019s time to make that knowledge work for you.<\/p>\n<p><em>Interested in seeing what SiDOC would find in your SAP system? <\/em><a href=\"https:\/\/innovapps.net\/en\/schedule-demo\/\"><em>Book a conversation with the Innova Apps team<\/em><\/a><em> \u2014 no commitment, no setup required.<\/em><\/p>\n<h3><strong>About Innova Apps<\/strong><\/h3>\n<p>Innova Apps specializes in developing applications that optimize supply chain processes for companies running SAP ECC and SAP S\/4HANA. <em>\u201cYour SAP processes, made easier.\u201d<\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>How many Z programs does your SAP system have? And how many of them could someone on your team explain \u2014 in detail, without hesitation \u2014 right now? If the honest answer is \u201cI\u2019m not sure\u201d or \u201conly Maria knows that,\u201d you\u2019ve just identified one of the most underestimated technical risks in any organization running [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":10035,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[],"class_list":["post-10016","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/posts\/10016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/comments?post=10016"}],"version-history":[{"count":29,"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/posts\/10016\/revisions"}],"predecessor-version":[{"id":10145,"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/posts\/10016\/revisions\/10145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/media\/10035"}],"wp:attachment":[{"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/media?parent=10016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/categories?post=10016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/innovapps.net\/en\/wp-json\/wp\/v2\/tags?post=10016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}