<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SAP - DEVELOPPEMENT ABAP &#187; ABAP</title>
	<atom:link href="http://www.sapdev.info/tag/abap/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sapdev.info</link>
	<description>SAP - ABAP / QM / SolMan - Julien Mégias</description>
	<lastBuildDate>Fri, 09 Dec 2011 21:12:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>SAP &#8211; SAPGUI_SET_FUNCTIONCODE &#8211; DYNPRO &#8211; OKCODE</title>
		<link>http://www.sapdev.info/2011/12/09/sap-sapgui_set_functioncode-dynpro-okcode/</link>
		<comments>http://www.sapdev.info/2011/12/09/sap-sapgui_set_functioncode-dynpro-okcode/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 21:12:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[ABAP]]></category>

		<guid isPermaLink="false">http://www.sapdev.info/?p=610</guid>
		<description><![CDATA[Cette fonction permet de simuler un code fonction dans un dynpro sans l&#8217;intervention de l&#8217;utilisateur. On peut ainsi déclencher des actions en automatique. Elle peut aussi être utilisée pour rafraichir l&#8217;écran actif et repasser ainsi dans le PBO pour, par exemple, afficher ou masquer des zones. Elle peut, enfin, servir à exécuter un code transaction. [...]]]></description>
			<content:encoded><![CDATA[<p>Cette fonction permet de simuler un code fonction dans un dynpro sans l&#8217;intervention de l&#8217;utilisateur. On peut ainsi déclencher des actions en automatique.</p>
<p>Elle peut aussi être utilisée pour rafraichir l&#8217;écran actif et repasser ainsi dans le PBO pour, par exemple, afficher ou masquer des zones.</p>
<p>Elle peut, enfin, servir à exécuter un code transaction.</p>
<p>Exemples :</p>
<p>&nbsp;</p>
<p>CALL FUNCTION &#8216;SAPGUI_SET_FUNCTIONCODE&#8217;</p>
<p>EXPORTING</p>
<p>functioncode       =    &#8216;VALI&#8217;</p>
<p>&nbsp;</p>
<p>ou</p>
<p>CALL FUNCTION &#8216;SAPGUI_SET_FUNCTIONCODE&#8217;</p>
<p>EXPORTING</p>
<p>functioncode       =    &#8216;/oMM03&#8242;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sapdev.info/2011/12/09/sap-sapgui_set_functioncode-dynpro-okcode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP &#8211; ABAP &#8211; Optimisation &#8211; Partie 2 &#8211; Le WHERE</title>
		<link>http://www.sapdev.info/2010/11/27/sap-abap-optimisation-partie-2-le-where/</link>
		<comments>http://www.sapdev.info/2010/11/27/sap-abap-optimisation-partie-2-le-where/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 13:56:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[ABAP]]></category>
		<category><![CDATA[optimisation]]></category>

		<guid isPermaLink="false">http://www.sapdev.info/?p=562</guid>
		<description><![CDATA[Dans un souci d&#8217;optimisation des accès à la base de données, il faut faire attention aux opérateurs que l&#8217;on utilise dans le &#8220;where&#8221;. On doit privilégier, si possible, les égalités &#8220;=&#8221; Exemple : select qmnum matnr serialnr into table lt_qmel from qmel where qmart = pa_qmart. Dans l&#8217;ordre décroissant des performances, on peut ensuite utiliser [...]]]></description>
			<content:encoded><![CDATA[<p>Dans un souci d&#8217;optimisation des accès à la base de données, il faut faire attention aux opérateurs que l&#8217;on utilise dans le &#8220;where&#8221;.</p>
<p>On doit privilégier, si possible, les égalités &#8220;=&#8221;</p>
<p><span style="text-decoration: underline;">Exemple </span>:</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">select</span> qmnum matnr serialnr<span style="color: #0000ff;"> into table </span>lt_qmel</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">from</span> qmel <a href="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png"><img class="size-full wp-image-560 alignright" title="Plus" src="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png" alt="" width="32" height="32" /></a></p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">where </span>qmart <strong><span style="color: #ff0000;">=</span></strong> pa_qmart.</p>
<p>Dans l&#8217;ordre décroissant des performances, on peut ensuite utiliser les &#8220;IN&#8221;</p>
<p><span style="text-decoration: underline;">Exemple : </span></p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">select </span>qmnum matnr serialnr<span style="color: #0000ff;"> into</span><span style="color: #0000ff;"> table </span>lt_qmel</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">from</span> qmel <a href="../wp-content/uploads/2010/11/ajouter-icone-5107-32.png"><img class="alignright" title="Plus" src="../wp-content/uploads/2010/11/ajouter-icone-5107-32.png" alt="" width="22" height="22" /></a></p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">where </span>qmart <strong><span style="color: #ff0000;">in</span></strong> so_qmart.</p>
<p>On trouve ensuite les &#8220;between&#8221;</p>
<p><span style="text-decoration: underline;">Exemple </span>:</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">select </span>qmnum matnr serialnr <span style="color: #0000ff;">into </span><span style="color: #0000ff;">table</span> lt_qmel</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">from</span> qmel <a href="http://www.sapdev.info/wp-content/uploads/2010/11/moins-rouge-enlevez-icone-8104-32.png"><img class="size-full wp-image-558 alignright" title="moins" src="http://www.sapdev.info/wp-content/uploads/2010/11/moins-rouge-enlevez-icone-8104-32.png" alt="" width="19" height="19" /></a></p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">where</span> qmnum<strong><span style="color: #ff0000;"> between</span> </strong>&#8217;0007000000&#8242; and &#8217;000705000&#8242;.</p>
<p>Il faut éviter les LIKE et surtout les NOT&#8230;</p>
<p><span style="text-decoration: underline;">Exemple</span> :</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">select</span> qmnum matnr serialnr<span style="color: #0000ff;"> into</span> <span style="color: #0000ff;">table</span> lt_qmel</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">from</span> qmel <a href="../wp-content/uploads/2010/11/moins-rouge-enlevez-icone-8104-32.png"><img class="alignright" title="moins" src="../wp-content/uploads/2010/11/moins-rouge-enlevez-icone-8104-32.png" alt="" width="23" height="23" /></a></p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">where</span> qmnum<strong> <span style="color: #ff0000;">like</span></strong> &#8217;0007%&#8217;.</p>
<p>ou</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">select</span> qmnum matnr serialnr<span style="color: #0000ff;"> into</span> <span style="color: #0000ff;">table </span>lt_qmel</p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">from</span> qmel <a href="../wp-content/uploads/2010/11/moins-rouge-enlevez-icone-8104-32.png"><img class="alignright" title="moins" src="../wp-content/uploads/2010/11/moins-rouge-enlevez-icone-8104-32.png" alt="" width="30" height="30" /></a></p>
<p style="padding-left: 30px;"><span style="color: #0000ff;">where</span> <strong><span style="color: #ff0000;">not</span></strong> qmart in ( &#8216;S1&#8242;, &#8216;S2&#8242; ).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sapdev.info/2010/11/27/sap-abap-optimisation-partie-2-le-where/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP &#8211; ABAP &#8211; Optimisation &#8211; Partie 1 &#8211; Le SELECT</title>
		<link>http://www.sapdev.info/2010/11/25/sap-abap-optimisation-partie-1-le-select/</link>
		<comments>http://www.sapdev.info/2010/11/25/sap-abap-optimisation-partie-1-le-select/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 22:52:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[ABAP]]></category>
		<category><![CDATA[optimisation]]></category>

		<guid isPermaLink="false">http://www.sapdev.info/?p=545</guid>
		<description><![CDATA[Ce post marque le début d&#8217;une série d&#8217;articles portant sur l&#8217;optimisation du code ABAP et plus particulièrement des accès à la base de données. 1er principe : La diminution des colonnes à récupérer Il faut si nécessaire (cad si le nombre de colonnes est important) limiter le nombre de colonnes à récupérer, il faut donc [...]]]></description>
			<content:encoded><![CDATA[<p>Ce post marque le début d&#8217;une série d&#8217;articles portant sur l&#8217;optimisation du code ABAP et plus particulièrement des accès à la base de données.</p>
<p><em><span style="color: #000000;"><strong>1er principe : La diminution des colonnes à récupérer<br />
</strong></span></em></p>
<p>Il faut si nécessaire (cad si le nombre de colonnes est important) limiter le nombre de colonnes à récupérer, il faut donc limiter l&#8217;utilisation du <span style="color: #888888;"><strong>SELECT *</strong></span></p>
<p><span style="text-decoration: underline;">Exemple :</span></p>
<p><span style="color: #c0c0c0;">*</span><span style="color: #c0c0c0;">Déclaration des données</span><span style="text-decoration: underline;"><br />
</span></p>
<p><span style="color: #3366ff;">types </span>: <span style="color: #3366ff;">begin of </span>t_qmel1,</p>
<p style="padding-left: 30px;">qmnum <span style="color: #3366ff;">type</span> qmnum,</p>
<p style="padding-left: 30px;">qmart    <span style="color: #3366ff;">type</span> qmart,</p>
<p style="padding-left: 30px;">matnr   <span style="color: #3366ff;">type</span> matnr,</p>
<p style="padding-left: 30px;">serialnr<span style="color: #3366ff;"> type</span> gernr,</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">end of </span>t_qmel1.</p>
<p><span style="color: #3366ff;">types</span> : <span style="color: #3366ff;">begin of</span> t_qmel2,</p>
<p style="padding-left: 30px;">qmnum<span style="color: #3366ff;"> type</span> qmnum,</p>
<p style="padding-left: 30px;">qmart   <span style="color: #3366ff;"> type </span>qmart,</p>
<p style="padding-left: 30px;">matnr  <span style="color: #3366ff;"> type</span> matnr,</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">end of </span>t_qmel2.</p>
<p><span style="color: #3366ff;">data</span> : lt_qmel <span style="color: #3366ff;">type</span> table of qmel,</p>
<p style="padding-left: 30px;">lt_qmel1 <span style="color: #3366ff;">type</span> table of t_qmel1,</p>
<p style="padding-left: 30px;">lt_qmel2<span style="color: #3366ff;"> type</span> table of t_qmel2.</p>
<p style="padding-left: 30px;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">Select</span> * <span style="color: #3366ff;">into</span> <span style="color: #3366ff;">table</span> lt_qmel</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">from</span> qmel</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;"> where</span> qmnum in s_qmnum. <a href="http://www.sapdev.info/wp-content/uploads/2010/11/moins-rouge-enlevez-icone-8104-32.png"><img class="size-full wp-image-558 alignright" title="moins" src="http://www.sapdev.info/wp-content/uploads/2010/11/moins-rouge-enlevez-icone-8104-32.png" alt="" width="32" height="32" /></a></p>
<p style="padding-left: 30px;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">Select</span> qmnum qmart matnr <span style="color: #3366ff;">into corresponding fields of table</span> lt_qmel1</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">from</span> qmel</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;"> where</span> qmnum in s_qmnum.<span style="color: #ff0000;"><a href="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png"><img class="size-full wp-image-560 alignright" title="Plus" src="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png" alt="" width="32" height="32" /></a></span><span style="color: #ff0000;"><a href="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png"><img class="size-full wp-image-560 alignright" title="Plus" src="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png" alt="" width="32" height="32" /></a></span></p>
<p style="padding-left: 30px;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">Select</span> qmnum qmart matnr <span style="color: #3366ff;">into  table</span> lt_qmel2</p>
<p style="padding-left: 30px;"><span style="color: #3366ff;"> from </span>qmel</p>
<p style="padding-left: 270px;"><span style="color: #ff0000;"><a href="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png"><img class="size-full wp-image-560 alignright" title="Plus" src="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png" alt="" width="32" height="32" /></a></span></p>
<p style="padding-left: 30px;"><span style="color: #ff0000;"><a href="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png"><img class="size-full wp-image-560 alignright" title="Plus" src="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png" alt="" width="32" height="32" /></a></span><span style="color: #ff0000;"><a href="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png"><img class="size-full wp-image-560 alignright" title="Plus" src="http://www.sapdev.info/wp-content/uploads/2010/11/ajouter-icone-5107-32.png" alt="" width="32" height="32" /></a></span></p>
<p style="padding-left: 30px;"><span style="color: #3366ff;"> where</span> qmnum in s_qmnum.</p>
<p style="padding-left: 270px;"><span style="color: #ff0000;"> </span></p>
<p style="padding-left: 30px;"><span style="color: #ff0000;"> </span><span style="color: #ff0000;"> </span></p>
<p style="padding-left: 270px;"><span style="color: #ff0000;"> </span></p>
<p style="padding-left: 30px;"><span style="color: #ff0000;"> </span></p>
<p style="padding-left: 270px;">
]]></content:encoded>
			<wfw:commentRss>http://www.sapdev.info/2010/11/25/sap-abap-optimisation-partie-1-le-select/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP &#8211; ABAP &#8211; Tables STANDARD / SORTED / HASHED</title>
		<link>http://www.sapdev.info/2010/11/25/sap-abap-tables-standard-sorted-hashed/</link>
		<comments>http://www.sapdev.info/2010/11/25/sap-abap-tables-standard-sorted-hashed/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 16:03:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[ABAP]]></category>

		<guid isPermaLink="false">http://www.sapdev.info/?p=538</guid>
		<description><![CDATA[Premier post -  d&#8217;une longue série&#8230;  &#8211; sur les différentes sortes de tables internes dans SAP. - Standard - Sorted - Hashed Les accès : (en bleu ce qu&#8217;il faut favoriser) Via Index : Standard et Sorted Via les clés : Standard, Sorted et Hashed L&#8217;unicité des enregistrements: Non-unique : Standard et Sorted Unique : [...]]]></description>
			<content:encoded><![CDATA[<p>Premier post -  d&#8217;une longue série&#8230;  &#8211; sur les différentes sortes de tables internes dans SAP.</p>
<p>- Standard</p>
<p>- Sorted</p>
<p>- Hashed</p>
<p><span style="text-decoration: underline;">Les accès </span>: (<span style="color: #3366ff;">en bleu </span>ce qu&#8217;il faut favoriser)</p>
<p style="padding-left: 30px;">Via Index : <span style="color: #3366ff;"><strong>Standard</strong></span> et Sorted</p>
<p style="padding-left: 30px;">Via les clés : Standard,<span style="color: #3366ff;"><strong> Sorted</strong></span> et <span style="color: #3366ff;"><strong>Hashed</strong></span></p>
<p><span style="text-decoration: underline;">L&#8217;unicité des enregistrements</span>:</p>
<p style="padding-left: 30px;">Non-unique : Standard et Sorted</p>
<p style="padding-left: 30px;">Unique : Sorted et Hashed</p>
<p><span style="text-decoration: underline;">Les performances : </span></p>
<p><span style="text-decoration: underline;"><a href="http://www.sapdev.info/wp-content/uploads/2010/11/graph1.jpg"><img class="alignnone size-full wp-image-541" title="graph1" src="http://www.sapdev.info/wp-content/uploads/2010/11/graph1.jpg" alt="Graphique des performances" width="753" height="560" /></a><br />
</span></p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">
]]></content:encoded>
			<wfw:commentRss>http://www.sapdev.info/2010/11/25/sap-abap-tables-standard-sorted-hashed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Class : CL_GUI_FRONTEND_SERVICES &#8211; FILE_DELETE</title>
		<link>http://www.sapdev.info/2010/09/14/class-cl_gui_frontend_services-file_delete/</link>
		<comments>http://www.sapdev.info/2010/09/14/class-cl_gui_frontend_services-file_delete/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 13:20:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[ABAP]]></category>
		<category><![CDATA[OBJET]]></category>

		<guid isPermaLink="false">http://www.sapdev.info/?p=524</guid>
		<description><![CDATA[Toujours dans la class CL_GUI_FRONTEND_SERVICES, la methode FILE_DELETE permet de supprimer un fichier hors SAP. DATA : wo_execute TYPE REF TO cl_gui_frontend_services, wv_rc TYPE i. CREATE OBJECT wo_execute. CLEAR wv_rc. wo_execute-&#62;file_delete( EXPORTING filename = &#8217;C:\Temp\test.txt&#8217; CHANGING rc = wv_rc ). IF wv_rc &#60;&#62; 0. *  message d&#8217;erreur ELSE. *  On continue le traitement ENDIF.]]></description>
			<content:encoded><![CDATA[<p>Toujours dans la class CL_GUI_FRONTEND_SERVICES, la methode FILE_DELETE permet de supprimer un fichier hors SAP.</p>
<p><span style="color: #3366ff;">DATA</span> : wo_execute <span style="color: #3366ff;">TYPE REF TO</span> cl_gui_frontend_services,<br />
wv_rc <span style="color: #3366ff;">TYPE</span> i.</p>
<p><span style="color: #3366ff;">CREATE OBJECT</span> wo_execute.<br />
<span style="color: #3366ff;">CLEAR </span>wv_rc.<br />
wo_execute-&gt;file_delete(<span style="color: #3366ff;"> EXPORTING</span> filename = &#8217;C:\Temp\test.txt&#8217;<br />
<span style="color: #3366ff;">CHANGING</span> rc = wv_rc ).</p>
<p><span style="color: #3366ff;">IF </span>wv_rc &lt;&gt; 0.<br />
<span style="color: #c0c0c0;">*  message d&#8217;erreur</span><br />
<span style="color: #3366ff;">ELSE</span>.<br />
<span style="color: #c0c0c0;">*  On continue le traitement</span><br />
<span style="color: #3366ff;">ENDIF</span>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sapdev.info/2010/09/14/class-cl_gui_frontend_services-file_delete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

