<div dir="ltr"><div><br></div>On 7 April 2016 at 20:00, Luiz Americo Pereira Camara <span dir="ltr"><<a href="mailto:luizamericop@gmail.com" target="_blank">luizamericop@gmail.com</a>></span> wrote:<div>> <span style="font-size:12.8px">Is there any code that given a SQL Template would generate the second filter when paramy is available and keep blank when not available?</span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Nope, or at least I don't think so.  I've spent a long time looking as well.  Been meaning to bring up the discussion either here or in the forum</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I ended up implementing my own "Macro" functionality.  Unfortunately I've broken a few rules and tied the functionality to the UI, making it hard to share.</span></div><div>I need this all the time.  My primary usage is in Master-Detail relationships, where I always want the Master to contain an "ALL" option.  To achieve I write SQL's like... </div><div><br></div><div><div>   Select Incident_Type As "Incident_Type",</div><div>           Description As "Description",</div><div>           'Where Incident_Type=''' || Incident_Type || '''' As "Filter_ID"</div><div>    From PIG</div><div>    Union</div><div>    Select</div><div>         '(ALL)' As "Incident_Type",</div><div>         'All Types' As "Description",</div><div>         '' As "Filter_ID"</div><div>    From DUAL   </div></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">The first Select returns the Master Table, the second Select appends my ALL.  Note that "Filter_ID" contains my full SQL Where clause.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Over in my Detail SQL, I can write stuff like</span></div><div><span style="font-size:12.8px"><br></span></div><div><div style=""><span style="font-size:12.8px">    Select *</span></div><div style=""><span style="font-size:12.8px">    From Incident</span></div><div style=""><span style="font-size:12.8px">    :Filter_ID</span></div><div style=""><span style="font-size:12.8px">    Order By Incident_Type, Incident   </span></div></div><div style=""><span style="font-size:12.8px"><br></span></div><div style=""><span style="font-size:12.8px">I implement the detail refresh myself (easy), and I implement the Macro substitution myself before executing the Detail SQL.  (Any SQL field ending in _ID is automatically hidden in my code)</span></div><div style=""><span style="font-size:12.8px"><br></span></div><div style=""><span style="font-size:12.8px">I use this so often, and in so many different ways (Macro's don't have to contain Where clauses, they can be any SQL elements, including simple data), that I cannot consider SQL development without it.  And as such, I've often wondered how do others deal with this...</span></div><div style=""><span style="font-size:12.8px"><br></span></div><div style="">Mike</div></div></div>