{"id":8424,"date":"2025-05-14T17:22:40","date_gmt":"2025-05-14T15:22:40","guid":{"rendered":"https:\/\/sapinnov.com\/?p=8424"},"modified":"2025-05-14T17:42:05","modified_gmt":"2025-05-14T15:42:05","slug":"fonction-imports-actions-functions-segw-rap-cap-partie-1","status":"publish","type":"post","link":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/","title":{"rendered":"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1)"},"content":{"rendered":"\n<p>Apr\u00e8s avoir travaill\u00e9 sur plusieurs projets SAP, j\u2019ai remarqu\u00e9 une tendance r\u00e9currente : une multitude de projets SEGW remplis de fonction imports qui sont g\u00e9n\u00e9ralement mal utilis\u00e9s ou inutiles. Fort de mon exp\u00e9rience \u2014 et apr\u00e8s avoir \u00e9tudi\u00e9 la documentation SAP \u2014 j\u2019ai d\u00e9cid\u00e9 d\u2019\u00e9crire ce blog afin de faire la lumi\u00e8re sur les fonction imports. J\u2019expliquerai ce qu\u2019ils sont, \u00e0 quoi ils servent, quand les utiliser et quand il vaut mieux les \u00e9viter. Je le ferai non seulement pour les projets SAP SEGW, mais aussi pour leurs \u00e9quivalents dans les frameworks plus r\u00e9cents que sont SAP RAP et CAP \u2014 car je m\u2019investis activement dans ces approches de d\u00e9veloppement modernes et je travaille sur des projets m\u00e9tiers qui les exploitent.<br>Pour rendre cela plus concret, je pr\u00e9senterai un exemple pratique, que j\u2019ai mis \u00e0 disposition sur GitHub.<\/p>\n\n\n\n<p>\u00c9claircissons cette confusion ensemble. Alors, attrapez votre caf\u00e9 et plongeons dans le sujet !<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Contexte SAP SEGW<\/h2>\n\n\n\n<p>Une fonction imports dans OData est un moyen de d\u00e9finir et d\u2019appeler des op\u00e9rations personnalis\u00e9es dans un service, qui vont au-del\u00e0 des actions standards de gestion des donn\u00e9es \u2014 comme la cr\u00e9ation, la lecture, la mise \u00e0 jour ou la suppression d\u2019enregistrements (CRUD). Ces actions standard sont g\u00e9n\u00e9ralement prises en charge via les m\u00e9thodes HTTP POST, GET, PUT\/MERGE et DELETE<\/p>\n\n\n\n<p>Cependant, si vous devez effectuer une t\u00e2che plus sp\u00e9cifique qui ne rentre pas parfaitement dans les op\u00e9rations CRUD classiques, vous pouvez cr\u00e9er un fonction imports dans votre mod\u00e8le de donn\u00e9es \u00e0 l\u2019aide de Service Builder. Ces op\u00e9rations personnalis\u00e9es peuvent ensuite \u00eatre d\u00e9clench\u00e9es via les m\u00e9thodes HTTP GET ou POST.<\/p>\n\n\n\n<p>Mais d\u2019abord, un petit mot de prudence : ces fonction imports sp\u00e9cifiques ne doivent \u00eatre utilis\u00e9s que pour des actions impossibles \u00e0 r\u00e9aliser avec les op\u00e9rations CRUD traditionnelles. Si la t\u00e2che peut \u00eatre accomplie via une cr\u00e9ation, lecture, mise \u00e0 jour ou suppression standard, alors une fonction imports n\u2019est pas n\u00e9cessaire.<\/p>\n\n\n\n<p>Voyons un exemple pour mieux comprendre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple : syst\u00e8me de gestion des vols avec op\u00e9rations CRUD et personnalis\u00e9es<\/h2>\n\n\n\n<p><em><strong>Op\u00e9rations CRUD de base :<\/strong><\/em><\/p>\n\n\n\n<p>Ces op\u00e9rations couvrent les besoins fondamentaux de gestion des donn\u00e9es pour les enregistrements de vols :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cr\u00e9er : Ajouter un nouveau vol (par ex. : POST \/flight avec origine, destination, heure de d\u00e9part, arriv\u00e9e\u2026).<\/li>\n\n\n\n<li>Lire : R\u00e9cup\u00e9rer un vol existant (par ex. : GET \/flight\/{id}).<\/li>\n\n\n\n<li>Mettre \u00e0 jour : Modifier un vol (par ex. : PUT \/flight\/{id} pour ajuster l\u2019heure de d\u00e9part).<\/li>\n\n\n\n<li>Supprimer : Supprimer un vol annul\u00e9 (par ex. : DELETE \/flight\/{id}).<\/li>\n<\/ul>\n\n\n\n<p><strong><em>Op\u00e9rations personnalis\u00e9es :<\/em><\/strong><\/p>\n\n\n\n<p>Il s\u2019agit d\u2019op\u00e9rations sp\u00e9cifiques au m\u00e9tier, qui vont au-del\u00e0 du CRUD standard :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Imprimer les d\u00e9tails : G\u00e9n\u00e9rer et imprimer des informations compl\u00e8tes sur le vol (par ex. : planning, appareil, disposition des si\u00e8ges).<\/li>\n\n\n\n<li>G\u00e9n\u00e9rer un rapport : Cr\u00e9er des rapports op\u00e9rationnels ou statistiques sur les vols dans une plage de dates donn\u00e9e.<\/li>\n\n\n\n<li>\u2026<\/li>\n<\/ul>\n\n\n\n<p>Les op\u00e9rations personnalis\u00e9es sont s\u00e9par\u00e9es du CRUD car elles encapsulent des comportements propres au domaine m\u00e9tier, qui ne peuvent pas \u00eatre g\u00e9r\u00e9s simplement par de la manipulation de donn\u00e9es.<br>Alors que les op\u00e9rations CRUD se concentrent sur la cr\u00e9ation, la lecture, la mise \u00e0 jour ou la suppression d\u2019enregistrements, les actions personnalis\u00e9es r\u00e9alisent souvent des calculs, d\u00e9clenchent des workflows ou appliquent des r\u00e8gles m\u00e9tier sur plusieurs entit\u00e9s.<\/p>\n\n\n\n<p>Cette distinction permet une architecture plus claire et plus facile \u00e0 maintenir \u2014 o\u00f9 le CRUD g\u00e8re la persistance des donn\u00e9es de base, tandis que les op\u00e9rations personnalis\u00e9es prennent en charge la logique m\u00e9tier plus fine et sp\u00e9cifique \u00e0 l\u2019application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple d\u2019impl\u00e9mentation<\/h2>\n\n\n\n<p>Voici un exemple d\u2019impl\u00e9mentation de l\u2019appel \u00e0 une fonction imports d\u00e9fini dans SEGW.<\/p>\n\n\n\n<p>C\u00f4t\u00e9 front-end, une fonction imports est d\u00e9clench\u00e9 via une requ\u00eate OData en utilisant callFunction(), par exemple :<br>\/sap\/opu\/odata\/SERVICE_NAME\/FunctionImportName(\u2026)<\/p>\n\n\n\n<p>C\u00f4t\u00e9 back-end, cela est g\u00e9r\u00e9 en red\u00e9finissant la m\u00e9thode EXECUTE_ACTION dans la classe *_DPC_EXT.<br>Dans cette m\u00e9thode, le param\u00e8tre iv_action_name permet d\u2019identifier la fonction sp\u00e9cifique appel\u00e9e. Les param\u00e8tres d\u2019entr\u00e9e sont accessibles via la table it_parameter, et la logique m\u00e9tier correspondante est alors impl\u00e9ment\u00e9e en cons\u00e9quence.<\/p>\n\n\n\n<p>Code front-end :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let oModel = this.getView().getModel();\nlet mParameters = {\n  FlightID: \"12345\"\n};\n\noModel.callFunction(\"\/PrintFlightDetails\", {\n  method: \"POST\",\n  urlParameters: mParameters,\n  success: function(oData, response) {\n    MessageToast.show(oData.Message);\n  },\n  error: function(oError) {\n    MessageToast.show(\"Error printing flight details\");\n  }\n});<\/code><\/pre>\n\n\n\n<p>Code back-end :<br>(En supposant que nous avons pr\u00e9alablement d\u00e9fini la fonction imports dans le projet SEGW, ainsi qu\u2019une classe ABAP orient\u00e9e objet pour g\u00e9rer l\u2019objet m\u00e9tier Flight)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>METHOD execute_action.\n  \n  \" Check if the action name is 'PrintFlightDetails'\n  IF iv_action_name = 'PrintFlightDetails'.\n    \" Retrieve input parameter\n    READ TABLE it_parameter INTO DATA(ls_parameter) WITH KEY name = 'FlightID'.\n    IF sy-subrc = 0.\n      DATA(lv_flightid) = ls_parameter-value.\n    ELSE.\n      \" Manage error\n    ENDIF.\n\n    \" Instantiate the flight manager class\n    DATA(lo_flight) = NEW zcl_flight( lv_flightid ).\n\n    \" Call the method to update the flight status\n    DATA(lv_message) = lo_flight-&gt;print_flight_details( ).\n\n    ...\n\n  ENDIF.\nENDMETHOD.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Les fonction imports sont un outil puissant, mais comme tout outil, ils doivent \u00eatre utilis\u00e9s avec discernement. Dans SEGW, il est pr\u00e9f\u00e9rable de les r\u00e9server aux op\u00e9rations qui ne s\u2019int\u00e8grent pas naturellement dans le CRUD. Un mauvais usage peut entra\u00eener des services surcharg\u00e9s, peu clairs, et inutilement complexes.<\/p>\n\n\n\n<p>Dans la prochaine partie de cette s\u00e9rie, j\u2019explorerai comment des cas d\u2019usage similaires sont g\u00e9r\u00e9s dans RAP et CAP \u2014 avec un projet GitHub pour illustrer tout cela en pratique.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s avoir travaill\u00e9 sur plusieurs projets SAP, j\u2019ai remarqu\u00e9 une tendance r\u00e9currente : une multitude&#8230;<\/p>\n","protected":false},"author":6,"featured_media":8428,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42],"tags":[85,84,86,89,54,88,87,44],"class_list":{"0":"post-8424","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-sap-fiori","8":"tag-actions","9":"tag-function-imports","10":"tag-functions","11":"tag-sap-cap","12":"tag-sap-fiori","13":"tag-sap-rap","14":"tag-sap-segw","15":"tag-sapui5"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1) - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP<\/title>\n<meta name=\"description\" content=\"Sortir du CRUD avec OData, \u00e7a peut vite devenir flou\u2026 Function Imports, Actions, Functions : comment s\u2019y retrouver ? On compare, on illustre, on vous guide \u00e0 travers les diff\u00e9rentes stacks !\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1) - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\" \/>\n<meta property=\"og:description\" content=\"Sortir du CRUD avec OData, \u00e7a peut vite devenir flou\u2026 Function Imports, Actions, Functions : comment s\u2019y retrouver ? On compare, on illustre, on vous guide \u00e0 travers les diff\u00e9rentes stacks !\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/\" \/>\n<meta property=\"og:site_name\" content=\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-14T15:22:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-14T15:42:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sapinnov.com\/wp-content\/uploads\/2025\/05\/FunctionImportsCRUD.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Valentin Cadart\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Valentin Cadart\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/\"},\"author\":{\"name\":\"Valentin Cadart\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/person\\\/617aad3694012e3d32e0cff660459fd2\"},\"headline\":\"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1)\",\"datePublished\":\"2025-05-14T15:22:40+00:00\",\"dateModified\":\"2025-05-14T15:42:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/\"},\"wordCount\":907,\"publisher\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/FunctionImportsCRUD.png\",\"keywords\":[\"actions\",\"function imports\",\"functions\",\"SAP CAP\",\"sap fiori\",\"SAP RAP\",\"SAP SEGW\",\"sapui5\"],\"articleSection\":[\"SAP Fiori\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/\",\"name\":\"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1) - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/FunctionImportsCRUD.png\",\"datePublished\":\"2025-05-14T15:22:40+00:00\",\"dateModified\":\"2025-05-14T15:42:05+00:00\",\"description\":\"Sortir du CRUD avec OData, \u00e7a peut vite devenir flou\u2026 Function Imports, Actions, Functions : comment s\u2019y retrouver ? On compare, on illustre, on vous guide \u00e0 travers les diff\u00e9rentes stacks !\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/FunctionImportsCRUD.png\",\"contentUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/FunctionImportsCRUD.png\",\"width\":1024,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/2025\\\/05\\\/14\\\/fonction-imports-actions-functions-segw-rap-cap-partie-1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/sapinnov.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#website\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/\",\"name\":\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP\",\"description\":\"Des applications SAP utiles, agr\u00e9ables et performantes\",\"publisher\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sapinnov.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#organization\",\"name\":\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori et SAP BTP\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/logo-sapinnov.png\",\"contentUrl\":\"https:\\\/\\\/sapinnov.com\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/logo-sapinnov.png\",\"width\":736,\"height\":145,\"caption\":\"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori et SAP BTP\"},\"image\":{\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/sapinnov\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sapinnov.com\\\/#\\\/schema\\\/person\\\/617aad3694012e3d32e0cff660459fd2\",\"name\":\"Valentin Cadart\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g\",\"caption\":\"Valentin Cadart\"},\"url\":\"https:\\\/\\\/sapinnov.com\\\/index.php\\\/author\\\/vcadart\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1) - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","description":"Sortir du CRUD avec OData, \u00e7a peut vite devenir flou\u2026 Function Imports, Actions, Functions : comment s\u2019y retrouver ? On compare, on illustre, on vous guide \u00e0 travers les diff\u00e9rentes stacks !","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:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/","og_locale":"fr_FR","og_type":"article","og_title":"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1) - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","og_description":"Sortir du CRUD avec OData, \u00e7a peut vite devenir flou\u2026 Function Imports, Actions, Functions : comment s\u2019y retrouver ? On compare, on illustre, on vous guide \u00e0 travers les diff\u00e9rentes stacks !","og_url":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/","og_site_name":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","article_published_time":"2025-05-14T15:22:40+00:00","article_modified_time":"2025-05-14T15:42:05+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/sapinnov.com\/wp-content\/uploads\/2025\/05\/FunctionImportsCRUD.png","type":"image\/png"}],"author":"Valentin Cadart","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Valentin Cadart","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/#article","isPartOf":{"@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/"},"author":{"name":"Valentin Cadart","@id":"https:\/\/sapinnov.com\/#\/schema\/person\/617aad3694012e3d32e0cff660459fd2"},"headline":"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1)","datePublished":"2025-05-14T15:22:40+00:00","dateModified":"2025-05-14T15:42:05+00:00","mainEntityOfPage":{"@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/"},"wordCount":907,"publisher":{"@id":"https:\/\/sapinnov.com\/#organization"},"image":{"@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/#primaryimage"},"thumbnailUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2025\/05\/FunctionImportsCRUD.png","keywords":["actions","function imports","functions","SAP CAP","sap fiori","SAP RAP","SAP SEGW","sapui5"],"articleSection":["SAP Fiori"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/","url":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/","name":"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1) - SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","isPartOf":{"@id":"https:\/\/sapinnov.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/#primaryimage"},"image":{"@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/#primaryimage"},"thumbnailUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2025\/05\/FunctionImportsCRUD.png","datePublished":"2025-05-14T15:22:40+00:00","dateModified":"2025-05-14T15:42:05+00:00","description":"Sortir du CRUD avec OData, \u00e7a peut vite devenir flou\u2026 Function Imports, Actions, Functions : comment s\u2019y retrouver ? On compare, on illustre, on vous guide \u00e0 travers les diff\u00e9rentes stacks !","breadcrumb":{"@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/#primaryimage","url":"https:\/\/sapinnov.com\/wp-content\/uploads\/2025\/05\/FunctionImportsCRUD.png","contentUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2025\/05\/FunctionImportsCRUD.png","width":1024,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/sapinnov.com\/index.php\/2025\/05\/14\/fonction-imports-actions-functions-segw-rap-cap-partie-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/sapinnov.com\/"},{"@type":"ListItem","position":2,"name":"SAP SEGW vs RAP vs CAP : Tirer le meilleur parti des fonction imports, des actions et des fonctions (Partie 1)"}]},{"@type":"WebSite","@id":"https:\/\/sapinnov.com\/#website","url":"https:\/\/sapinnov.com\/","name":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori &amp; SAP BTP","description":"Des applications SAP utiles, agr\u00e9ables et performantes","publisher":{"@id":"https:\/\/sapinnov.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sapinnov.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/sapinnov.com\/#organization","name":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori et SAP BTP","url":"https:\/\/sapinnov.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/sapinnov.com\/#\/schema\/logo\/image\/","url":"https:\/\/sapinnov.com\/wp-content\/uploads\/2022\/07\/logo-sapinnov.png","contentUrl":"https:\/\/sapinnov.com\/wp-content\/uploads\/2022\/07\/logo-sapinnov.png","width":736,"height":145,"caption":"SAPINNOV - Conseil et d\u00e9veloppement SAP Fiori et SAP BTP"},"image":{"@id":"https:\/\/sapinnov.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/sapinnov\/"]},{"@type":"Person","@id":"https:\/\/sapinnov.com\/#\/schema\/person\/617aad3694012e3d32e0cff660459fd2","name":"Valentin Cadart","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a3172bdd9e306b06c5bd41a6694e92495f10821862effeecac58fcef405b1aa2?s=96&d=mm&r=g","caption":"Valentin Cadart"},"url":"https:\/\/sapinnov.com\/index.php\/author\/vcadart\/"}]}},"_links":{"self":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/comments?post=8424"}],"version-history":[{"count":2,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8424\/revisions"}],"predecessor-version":[{"id":8434,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/posts\/8424\/revisions\/8434"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/media\/8428"}],"wp:attachment":[{"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/media?parent=8424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/categories?post=8424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sapinnov.com\/index.php\/wp-json\/wp\/v2\/tags?post=8424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}