<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Substring in join or where clause in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850200#M1685053</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like a code like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;select distinct t1~obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;ti_tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;from &lt;/SPAN&gt;tadir &lt;SPAN class="L0S52"&gt;as &lt;/SPAN&gt;t1 &lt;SPAN class="L0S52"&gt;join &lt;/SPAN&gt;tadir &lt;SPAN class="L0S52"&gt;as &lt;/SPAN&gt;t2 &lt;SPAN class="L0S52"&gt;on &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000;"&gt;t1~obj_name+1&lt;/SPAN&gt; = t2~obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;where &lt;/SPAN&gt;t1~pgmid = &lt;SPAN class="L0S33"&gt;'R3TR' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1~object = &lt;SPAN class="L0S33"&gt;'PROG' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1~obj_name &lt;SPAN class="L0S52"&gt;like &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'Z%'&lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;Error: Field&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000;"&gt;t1~obj_name+1&lt;/SPAN&gt; is unknown.&lt;/P&gt;&lt;P&gt;Is there a function that get the substring of column? Do I have to use a native sql?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I could specify this condition in the query, much of the code below would not be needed.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Default Sans Serif,Verdana,Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;SPAN class="L0S52"&gt;REPORT&amp;nbsp; YYLE_COPIAS.&lt;BR /&gt; &lt;BR /&gt; types: &lt;SPAN class="L0S52"&gt;begin &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj_name&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;tadir-obj_name,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;end &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ty_tadir.&lt;BR /&gt; &lt;BR /&gt; data: ti_tadir &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;standard &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ti_tadir_ok &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;standard &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wa_tadir &lt;SPAN class="L0S52"&gt;like &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;line &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ti_tadir.&lt;BR /&gt; &lt;BR /&gt; start-of-selection.&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;select &lt;/SPAN&gt;obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;ti_tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;from &lt;/SPAN&gt;tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;where &lt;/SPAN&gt;pgmid = &lt;SPAN class="L0S33"&gt;'R3TR' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object = &lt;SPAN class="L0S33"&gt;'PROG' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj_name &lt;SPAN class="L0S52"&gt;like &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'Z%'&lt;/SPAN&gt;.&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;loop &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;at &lt;/SPAN&gt;ti_tadir &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;wa_tadir.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; wa_tadir-obj_name = wa_tadir-obj_name+1.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;modify &lt;/SPAN&gt;ti_tadir &lt;SPAN class="L0S52"&gt;from &lt;/SPAN&gt;wa_tadir.&lt;BR /&gt; endloop.&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;select &lt;/SPAN&gt;obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;ti_tadir_ok&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;from &lt;/SPAN&gt;tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;for &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;all &lt;/SPAN&gt;entries &lt;SPAN class="L0S52"&gt;in &lt;/SPAN&gt;ti_tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;where &lt;/SPAN&gt;pgmid = &lt;SPAN class="L0S33"&gt;'R3TR' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object = &lt;SPAN class="L0S33"&gt;'PROG' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj_name = ti_tadir-obj_name.&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;loop &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;at &lt;/SPAN&gt;ti_tadir_ok &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;wa_tadir.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;concatenate &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'Z' &lt;/SPAN&gt;wa_tadir-obj_name &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;wa_tadir-obj_name.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; write: / wa_tadir-obj_name.&lt;BR /&gt; endloop.&lt;/SPAN&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Default Sans Serif,Verdana,Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Default Sans Serif,Verdana,Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;Leandro.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Jun 2012 16:43:12 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2012-06-28T16:43:12Z</dc:date>
    <item>
      <title>Substring in join or where clause</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850200#M1685053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like a code like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;select distinct t1~obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;ti_tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;from &lt;/SPAN&gt;tadir &lt;SPAN class="L0S52"&gt;as &lt;/SPAN&gt;t1 &lt;SPAN class="L0S52"&gt;join &lt;/SPAN&gt;tadir &lt;SPAN class="L0S52"&gt;as &lt;/SPAN&gt;t2 &lt;SPAN class="L0S52"&gt;on &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000;"&gt;t1~obj_name+1&lt;/SPAN&gt; = t2~obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;where &lt;/SPAN&gt;t1~pgmid = &lt;SPAN class="L0S33"&gt;'R3TR' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1~object = &lt;SPAN class="L0S33"&gt;'PROG' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1~obj_name &lt;SPAN class="L0S52"&gt;like &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'Z%'&lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;Error: Field&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #ff0000;"&gt;t1~obj_name+1&lt;/SPAN&gt; is unknown.&lt;/P&gt;&lt;P&gt;Is there a function that get the substring of column? Do I have to use a native sql?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I could specify this condition in the query, much of the code below would not be needed.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Default Sans Serif,Verdana,Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;SPAN class="L0S52"&gt;REPORT&amp;nbsp; YYLE_COPIAS.&lt;BR /&gt; &lt;BR /&gt; types: &lt;SPAN class="L0S52"&gt;begin &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj_name&amp;nbsp; &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;tadir-obj_name,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;end &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ty_tadir.&lt;BR /&gt; &lt;BR /&gt; data: ti_tadir &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;standard &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ti_tadir_ok &lt;SPAN class="L0S52"&gt;type &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;standard &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wa_tadir &lt;SPAN class="L0S52"&gt;like &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;line &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;of &lt;/SPAN&gt;ti_tadir.&lt;BR /&gt; &lt;BR /&gt; start-of-selection.&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;select &lt;/SPAN&gt;obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;ti_tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;from &lt;/SPAN&gt;tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;where &lt;/SPAN&gt;pgmid = &lt;SPAN class="L0S33"&gt;'R3TR' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object = &lt;SPAN class="L0S33"&gt;'PROG' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj_name &lt;SPAN class="L0S52"&gt;like &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'Z%'&lt;/SPAN&gt;.&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;loop &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;at &lt;/SPAN&gt;ti_tadir &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;wa_tadir.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; wa_tadir-obj_name = wa_tadir-obj_name+1.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;modify &lt;/SPAN&gt;ti_tadir &lt;SPAN class="L0S52"&gt;from &lt;/SPAN&gt;wa_tadir.&lt;BR /&gt; endloop.&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;select &lt;/SPAN&gt;obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;table &lt;/SPAN&gt;ti_tadir_ok&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;from &lt;/SPAN&gt;tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;for &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;all &lt;/SPAN&gt;entries &lt;SPAN class="L0S52"&gt;in &lt;/SPAN&gt;ti_tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;where &lt;/SPAN&gt;pgmid = &lt;SPAN class="L0S33"&gt;'R3TR' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object = &lt;SPAN class="L0S33"&gt;'PROG' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;and&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj_name = ti_tadir-obj_name.&lt;BR /&gt; &lt;BR /&gt; &lt;SPAN class="L0S52"&gt;loop &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;at &lt;/SPAN&gt;ti_tadir_ok &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;wa_tadir.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;concatenate &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'Z' &lt;/SPAN&gt;wa_tadir-obj_name &lt;SPAN class="L0S52"&gt;into &lt;/SPAN&gt;wa_tadir-obj_name.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; write: / wa_tadir-obj_name.&lt;BR /&gt; endloop.&lt;/SPAN&gt; &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Default Sans Serif,Verdana,Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: Default Sans Serif,Verdana,Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;Leandro.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2012 16:43:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850200#M1685053</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-06-28T16:43:12Z</dc:date>
    </item>
    <item>
      <title>Re: Substring in join or where clause</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850201#M1685054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't think this is possible. Moreover I don't think you will gain something in term of performance... well, unless you have billion of Z reports &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/825/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You code looks pretty fine to me. You have already move a select out of a loop, maybe you could also leave that MODIFY and use a field symbol instead...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;loop &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;at &lt;/SPAN&gt;ti_tadir assigning&lt;SPAN class="L0S52"&gt; &amp;lt;&lt;/SPAN&gt;wa_tadir&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;lt;wa_tadir&amp;gt;-obj_name = &amp;lt;wa_tadir&amp;gt;-obj_name+1.&lt;/P&gt;&lt;P&gt; endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Otherwise I think I would leave the code as is... Do you face any issue with it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Manu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2012 17:32:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850201#M1685054</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-06-28T17:32:46Z</dc:date>
    </item>
    <item>
      <title>Re: Substring in join or where clause</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850202#M1685055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for the field-symbol tip! &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/825/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not facing any issue. It's because the code would be cleaner.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2012 18:28:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850202#M1685055</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-06-28T18:28:10Z</dc:date>
    </item>
    <item>
      <title>Re: Substring in join or where clause</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850203#M1685056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well... clean does not obligatory mean a minimum of lines &lt;SPAN __jive_emoticon_name="wink" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/825/images/emoticons/wink.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The way you are trying to join a table to itself is a good try but does not look so clean to me &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_macro_emoticon jive_emote" src="https://community.sap.com/825/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This beeing said, I think this is possible with other languages by using some buit-in functions (like subtring( ) in abap)... Maybe in a future release? &lt;SPAN __jive_emoticon_name="confused" __jive_macro_name="emoticon" class="jive_macro jive_macro_emoticon jive_emote" height="1" src="https://community.sap.com/825/images/emoticons/confused.gif" width="1"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Manu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2012 18:39:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850203#M1685056</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-06-28T18:39:55Z</dc:date>
    </item>
    <item>
      <title>Re: Substring in join or where clause</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850204#M1685057</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I agree with Manu! &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/825/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;clean does not obligatory mean a minimum of lines&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Suggestion: Since you used FOR ALL ENTRIES, it is better to check if itab is not empty. Check this link : &lt;A class="active_link" href="http://wiki.sdn.sap.com/wiki/display/Snippets/Learn+For+All+Entries+-+Things+to+consider+before+use" title="Learn For All Entries - Things to consider before use"&gt;Learn For All Entries - Things to consider before use.&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you insist to make your codes in minimum lines,&amp;nbsp; I made some other way of coding. Feel free to try. &lt;SPAN __jive_emoticon_name="wink" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/825/images/emoticons/wink.gif"&gt;&lt;/SPAN&gt; Please observe the modification made. &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/825/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt; TYPES: &lt;SPAN class="L0S52"&gt;BEGIN &lt;SPAN class="L0S52"&gt;OF &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj_name&amp;nbsp; &lt;SPAN class="L0S52"&gt;TYPE &lt;/SPAN&gt;tadir-obj_name,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;END &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;OF &lt;/SPAN&gt;ty_tadir.&lt;BR /&gt; &lt;BR /&gt; DATA: ti_tadir &lt;SPAN class="L0S52"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;STANDARD &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TABLE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;OF &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ti_tadir_ok &lt;SPAN class="L0S52"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;STANDARD &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TABLE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;OF &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wa_tadir &lt;SPAN class="L0S52"&gt;LIKE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;LINE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;OF &lt;/SPAN&gt;ti_tadir.&lt;BR /&gt; &lt;BR /&gt; FIELD-SYMBOLS: &amp;lt;fs_tadir&amp;gt; &lt;SPAN class="L0S52"&gt;TYPE &lt;/SPAN&gt;ty_tadir,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;fs_tadir_ok&amp;gt; &lt;SPAN class="L0S52"&gt;TYPE &lt;/SPAN&gt;ty_tadir.&lt;BR /&gt; &lt;BR /&gt; START-OF-SELECTION.&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;SELECT &lt;/SPAN&gt;obj_name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;INTO &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TABLE &lt;/SPAN&gt;ti_tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;FROM &lt;/SPAN&gt;tadir&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;WHERE &lt;/SPAN&gt;pgmid = &lt;SPAN class="L0S33"&gt;'R3TR' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;AND&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object = &lt;SPAN class="L0S33"&gt;'PROG'&lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;IF sy-subrc &lt;SPAN class="L0S52"&gt;EQ &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0.&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ti_tadir_ok = ti_tadir. " pass the data to second table&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;DELETE &lt;/SPAN&gt;ti_tadir &lt;SPAN class="L0S52"&gt;WHERE &lt;/SPAN&gt;obj_name &lt;SPAN class="L0S52"&gt;NP &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'Z*'&lt;/SPAN&gt;. " delete data whose obj_name does not 'Z%' &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;LOOP &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;AT &lt;/SPAN&gt;ti_tadir &lt;SPAN class="L0S52"&gt;ASSIGNING &lt;/SPAN&gt;&amp;lt;fs_tadir&amp;gt;.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;READ &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TABLE &lt;/SPAN&gt;ti_tadir_ok &lt;SPAN class="L0S52"&gt;ASSIGNING &lt;/SPAN&gt;&amp;lt;fs_tadir_ok&amp;gt; &lt;SPAN class="L0S52"&gt;WITH &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;KEY &lt;/SPAN&gt;obj_name = &amp;lt;fs_tadir&amp;gt;-obj_name+1.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;IF &lt;/SPAN&gt;sy-subrc &lt;SPAN class="L0S52"&gt;EQ &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WRITE:/ &amp;lt;fs_tadir&amp;gt;-obj_name.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDIF.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDLOOP.&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; ENDIF.&lt;/SPAN&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jake&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Jun 2012 03:55:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850204#M1685057</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2012-06-29T03:55:18Z</dc:date>
    </item>
    <item>
      <title>Re: Substring in join or where clause</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850205#M1685058</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got it with new open SQL Syntax avalaible from enhancement 740.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Table ZHR_EXAMPLE_TABLE2 has the column ID_EMPLEADO with 6 characters instead of 8 like PERNR in table ZHR_EXAMPLE_TABLE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT&lt;/P&gt;&lt;P&gt;T0~COLUMN1, T0~COLUMN2, T0~COLUMN3, T0~COLUM4, T1~COLUMN1 AS COLUMRESULT, T1~PERNR&lt;/P&gt;&lt;P&gt;FROM ZHR_EXAMPLE_TABLE1 AS T0&lt;/P&gt;&lt;P&gt;INNER JOIN ZHR_EXAMPLE_TABLE2 AS T1 ON &lt;STRONG&gt;SUBSTRING( T1~PERNR,3,6 ) = T0~ID_EMPLEADO&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;WHERE T0~IDPARTE = @ZIDPARTE AND T1~BEGDA LE T0~FECHA AND T1~ENDDA GE T0~FECHA&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE @ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;your code with the internal table itab&amp;gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead of "&lt;SPAN style="font-size: 13.3333px;"&gt;INTO CORRESPONDING FIELDS OF TABLE @ITAB&lt;/SPAN&gt;"&amp;nbsp; you can use "INTO TABLE @DATA(result)". With result no declarated before, the result of the select will be in the that table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it can be useful for someone.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Julian.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Oct 2016 07:04:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/substring-in-join-or-where-clause/m-p/8850205#M1685058</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-10-03T07:04:09Z</dc:date>
    </item>
  </channel>
</rss>

