{"id":1073,"date":"2013-10-30T15:40:07","date_gmt":"2013-10-30T14:40:07","guid":{"rendered":"http:\/\/blog.devportfolio.net\/?p=1073"},"modified":"2020-08-14T23:12:17","modified_gmt":"2020-08-14T21:12:17","slug":"mettre-au-point-une-requete-sql-sans-creer-de-programme","status":"publish","type":"post","link":"https:\/\/devportfolio.net\/wp-dev-blog\/mettre-au-point-une-requete-sql-sans-creer-de-programme\/","title":{"rendered":"Mettre au SAP : point une requ\u00eate SQL sans cr\u00e9er de programme"},"content":{"rendered":"<p>Si vous n\u2019avez pas acc\u00e8s \u00e0 la base de donn\u00e9es, il est parfois fastidieux de cr\u00e9er un programme juste pour tester ou mettre au point une requ\u00eate SQL.<\/p>\n<p>Pour ce faire lancer la transaction ST04, puis double-cliquez sur \u00ab\u00a0SQL Command Editor\u00a0\u00bb dans l\u2019arborescence \u00ab\u00a0Performance\/Additional Functions\u00a0\u00bb :<\/p>\n<p><a href=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/SQL-Command-Editor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1076\" alt=\"SQL Command Editor\" src=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/SQL-Command-Editor-192x300.jpg\" width=\"192\" height=\"300\" \/><\/a><\/p>\n<p>\u00c0 droite de l\u2019\u00e9cran apparait alors une zone dans laquelle vous allez pouvoir \u00e9crire votre requ\u00eate\u00a0:<\/p>\n<p><a href=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/Zone-de-saisie-de-la-requ\u00eate.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1079\" alt=\"Zone de saisie de la requ\u00eate\" src=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/Zone-de-saisie-de-la-requ\u00eate-300x248.jpg\" width=\"300\" height=\"248\" \/><\/a><\/p>\n<p>Attention cependant la syntaxe n&rsquo;est pas celle appliqu\u00e9e en ABAP. Le symbole \u00ab\u00a0~\u00a0\u00bb n&rsquo;est pas utilisable (\u00e0 remplacer par \u00ab\u00a0.\u00a0\u00bb) et il faut pr\u00e9ciser le mandant car SAP n&rsquo;intervient pas sur la requ\u00eate comme en ABAP. La\u00a0syntaxe avec la clause\u00a0INNER JOIN (et certainement d&rsquo;autres) ne semble pas support\u00e9e. Il faut donc lier les tables dans la clause WHERE.<\/p>\n<p>Exemple :<\/p>\n<p><a href=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/Exemple-de-requ\u00eate.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1083\" alt=\"Exemple de requ\u00eate\" src=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/Exemple-de-requ\u00eate-300x117.jpg\" width=\"300\" height=\"117\" \/><\/a><\/p>\n<p>Pressez \u00ab\u00a0F7\u00a0\u00bb pour v\u00e9rifier la syntaxe. Une fois la syntaxe correcte, appuyez sur \u00ab\u00a0F8\u00a0\u00bb pour lancer l&rsquo;ex\u00e9cution. Le r\u00e9sultat apparait\u00a0alors dans un ALV :<\/p>\n<p><a href=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/R\u00e9sultat-requ\u00eate1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1089\" alt=\"R\u00e9sultat requ\u00eate\" src=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/R\u00e9sultat-requ\u00eate1-300x118.jpg\" width=\"300\" height=\"118\" \/><\/a><\/p>\n<p>\u00a0Il est possible de mettre\u00a0des commentaires, mais attention \u00e0 l&rsquo;impact de ceux ci : il faut utiliser les caract\u00e8res \u00ab\u00a0<strong>&#8212;<\/strong>\u00a0\u00bb comme dans l&rsquo;exemple ci-dessous, mais attention cela emp\u00eache par la m\u00eame occasion l&rsquo;ex\u00e9cution de la deuxi\u00e8me requ\u00eate sur la table MARA (la transaction ST04 n&rsquo;ex\u00e9cute de toute fa\u00e7on qu&rsquo;une seule requ\u00eate). Si l&rsquo;on supprime le commentaire, une erreur BDD survient.<\/p>\n<p><a href=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/ST04-commentaire.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1112\" alt=\"ST04 commentaire\" src=\"https:\/\/devportfolio.net\/wp-dev-blog\/wp-content\/uploads\/2013\/10\/ST04-commentaire-300x102.jpg\" width=\"300\" height=\"102\" \/><\/a><\/p>\n<p>Remarque : cette\u00a0transaction ne permet\u00a0pas d&rsquo;ex\u00e9cuter des ordres UPDATE ou DELETE.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si vous n\u2019avez pas acc\u00e8s \u00e0 la base de donn\u00e9es, il est parfois fastidieux de cr\u00e9er un programme juste pour tester ou mettre au point une requ\u00eate SQL. Pour ce faire lancer la transaction ST04, puis double-cliquez sur \u00ab\u00a0SQL Command Editor\u00a0\u00bb dans l\u2019arborescence \u00ab\u00a0Performance\/Additional Functions\u00a0\u00bb : \u00c0 droite de l\u2019\u00e9cran apparait alors une zone dans [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[41,42,43],"class_list":["post-1073","post","type-post","status-publish","format-standard","hentry","category-sap","tag-requete","tag-sql","tag-st04"],"_links":{"self":[{"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/posts\/1073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/comments?post=1073"}],"version-history":[{"count":1,"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/posts\/1073\/revisions"}],"predecessor-version":[{"id":2454,"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/posts\/1073\/revisions\/2454"}],"wp:attachment":[{"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/media?parent=1073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/categories?post=1073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devportfolio.net\/wp-dev-blog\/wp-json\/wp\/v2\/tags?post=1073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}