Clarity

  • 1.  NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Jan 22, 2016 02:53 PM

    I am trying to modify one of the portlets in the PMO accelerator without much success.

     

    One of the avenues is to XOG out the portlet and modify the xml. That part goes well,.

    The problem is I cannot XOG back the xml file, furhter I cannot XOG back the xml file as read without any modifactions.

    I get the same error in both cases.

    I take the out indicates that the command line client in v13.3 is working OK.

     

    Is there a trick to that?

    <XOGOutput xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/status.xsd">

      <Object type="contentPack"/>

      <Status elapsedTime="0.1 seconds" state="FAILURE"/>

      <Statistics failureRecords="1" insertedRecords="-1" totalNumberOfRecords="1" updatedRecords="1"/>

      <Records>

      <Record>

      <KeyInformation>

      <column name="externalSource">NIKU</column>

      <column name="source">customer</column>

      <column name="code">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</column>

      </KeyInformation>

      <ErrorInformation>

      <Severity>FATAL</Severity>

      <Description>XOG-3052: Query record has not been inserted com.niku.union.persistence.nsql.NSQLSyntaxException: NSQL Syntax exception: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    at com.niku.union.persistence.nsql.NSQLQuery.checkSyntax(NSQLQuery.java:117)

    at com.niku.union.persistence.nsql.NSQLQuery.initialize(NSQLQuery.java:220)

    at com.niku.union.persistence.nsql.NSQLQuery.&lt;init&gt;(NSQLQuery.java:315)

    at com.niku.union.persistence.nsql.NSQLController.getQueryForUpdate(NSQLController.java:124)

    at com.niku.npt.xblhandlers.GGNSQLHandler.xogStoreQuery(GGNSQLHandler.java:773)

    at com.niku.npt.xblhandlers.GGNSQLHandler.postProcess(GGNSQLHandler.java:111)

    at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1411)

    at com.niku.union.xml.dom.DOMWalker.postProcess(DOMWalker.java:210)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:94)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:384)

    at com.niku.xql2.handlers.LoopHandler.processSet(LoopHandler.java:255)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:212)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:384)

    at com.niku.xql2.handlers.LoopHandler.processSet(LoopHandler.java:255)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:212)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:384)

    at com.niku.xql2.handlers.LoopHandler.processSet(LoopHandler.java:255)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:212)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:384)

    at com.niku.xql2.handlers.LoopHandler.processSet(LoopHandler.java:255)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:212)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.TryHandler.preProcess(TryHandler.java:50)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

    at com.niku.xog.service.XOGXBLHandler.processXBL(XOGXBLHandler.java:260)

    at com.niku.xog.service.XOGXBLHandler.process(XOGXBLHandler.java:167)

    at com.niku.xog.service.ObjectHandler.processRequest(ObjectHandler.java:197)

    at com.niku.xog.service.ObjectHandler.process(ObjectHandler.java:99)

    at com.niku.xog.service.XOGDispatch.processMessage(XOGDispatch.java:133)

    at com.niku.xog.service.XOGSOAPServlet.processMessage(XOGSOAPServlet.java:599)

    at com.niku.xog.service.XOGSOAPServlet.doPost(XOGSOAPServlet.java:359)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

    at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:193)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

    at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:190)

    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2442)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2431)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

    at java.lang.Thread.run(Thread.java:722)</Description>

      <Exception><![CDATA[

    com.niku.union.persistence.nsql.NSQLSyntaxException: NSQL Syntax exception: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    at com.niku.union.persistence.nsql.NSQLQuery.checkSyntax(NSQLQuery.java:117)

    at com.niku.union.persistence.nsql.NSQLQuery.initialize(NSQLQuery.java:220)

    at com.niku.union.persistence.nsql.NSQLQuery.<init>(NSQLQuery.java:315)

    at com.niku.union.persistence.nsql.NSQLController.getQueryForUpdate(NSQLController.java:124)

    at com.niku.npt.xblhandlers.GGNSQLHandler.xogStoreQuery(GGNSQLHandler.java:773)

    at com.niku.npt.xblhandlers.GGNSQLHandler.postProcess(GGNSQLHandler.java:111)

    at com.niku.xql2.XQLVisitor.postProcess(XQLVisitor.java:1411)

    at com.niku.union.xml.dom.DOMWalker.postProcess(DOMWalker.java:210)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:94)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:384)

    at com.niku.xql2.handlers.LoopHandler.processSet(LoopHandler.java:255)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:212)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:384)

    at com.niku.xql2.handlers.LoopHandler.processSet(LoopHandler.java:255)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:212)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:384)

    at com.niku.xql2.handlers.LoopHandler.processSet(LoopHandler.java:255)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:212)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:384)

    at com.niku.xql2.handlers.LoopHandler.processSet(LoopHandler.java:255)

    at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:212)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

    at com.niku.xql2.handlers.TryHandler.preProcess(TryHandler.java:50)

    at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1377)

    at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

    at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

    at com.niku.xog.service.XOGXBLHandler.processXBL(XOGXBLHandler.java:260)

    at com.niku.xog.service.XOGXBLHandler.process(XOGXBLHandler.java:167)

    at com.niku.xog.service.ObjectHandler.processRequest(ObjectHandler.java:197)

    at com.niku.xog.service.ObjectHandler.process(ObjectHandler.java:99)

    at com.niku.xog.service.XOGDispatch.processMessage(XOGDispatch.java:133)

    at com.niku.xog.service.XOGSOAPServlet.processMessage(XOGSOAPServlet.java:599)

    at com.niku.xog.service.XOGSOAPServlet.doPost(XOGSOAPServlet.java:359)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

    at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:193)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

    at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:190)

    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2442)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2431)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

    at java.lang.Thread.run(Thread.java:722)

    ]]></Exception>

      </ErrorInformation>

      </Record>

      </Records>

    </XOGOutput>



  • 2.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Jan 22, 2016 06:58 PM

    The error types are indicating you have introduced a SQL or NSQL error.

    <Description>XOG-3052: Query record has not been inserted com.niku.union.persistence.nsql.NSQLSyntaxException: NSQL Syntax exception:

    ## but I don't know exactly what the error is sorry ##

    at com.niku.union.persistence.nsql.NSQLQuery.checkSyntax(NSQLQuery.java:117)

    at com.niku.union.persistence.nsql.NSQLQuery.initialize(NSQLQuery.java:220)

    at com.niku.union.persistence.nsql.NSQLQuery.&lt;init&gt;(NSQLQuery.java:315)

    Don't focus on "NSQL_SYNTAX_ERROR_TEXT_EMPTY" that is just a label and it's indicating an "unexpected error without an error message to display"

     

    I suggest you inspect the modified SQL/NSQL particularly the bits you have introduced, that is most likely to be the cause.

     

    To verify the NSQL could create a new query (using the UI) and paste in the NSQL from your xog file (just the NSQL of course, no xml) then once you have that NSQL working update your XOG file with the correct code.

     

     



  • 3.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Jan 23, 2016 03:59 AM

    Thanks paul.maxwell

    I could understand that if I had made modifications to the query or the xml file, but I am trying to XOG in the file which I get when I read out the functioning portlet.

    I managed to Export the portlet and write it back which fixed the issued with the filters I had.

    So there is something fishy in the original query.



  • 4.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY
    Best Answer

    Posted Oct 04, 2016 05:47 AM

    Just to restate the problem

    I am trying to modify one of the portlets in the PMO accelerator without much success.

     

    One of the avenues is to XOG out the portlet and modify the xml. That part goes well,.

    The problem is I cannot XOG back the xml file,

     

    I take the out indicates that the command line client in v13.3 is working OK.

     

    That assumption proved to be incorrect.

    There is something fundamentally wrong with the XOG client if you cannot XOG back without modification what you XOGed out. (I could live with the unformatted output and dropping out the first line).

    If the client is not working no manipulation of the xml file will help.

    XOG Bridge had no problem.



  • 5.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Oct 04, 2016 07:54 AM

    Moi Martti,

    The client provided with 13.3 when using with portlet queries just doesn't work due to a defect.  (CLRT-73978)

    It tries to load the sql in one block, i.e. SELECTNAMEFROMINV_INVESTMENTS

     

    The work around is to add a space to the end of every line that contains NSQL  

     

    Or just use a different XOG tool!



  • 6.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Oct 04, 2016 08:42 AM

    Thank you kindly Andrew. I wish somebody had made me aware of this a year ago.

    That certainly has not penetrated my awareness.

    Where would I find the details now.

    Would you happen to know if there is or was a bug fix for 13.3. and which other versions does that affect?



  • 7.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Oct 04, 2016 08:55 AM

    This problem was supposedly fixed for 13.3, but clearly isn't.

    Believe it was patch 2, when they added a fix for it.

     

    Works in 14.1

     

    Knowledge Base Articles 



  • 8.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Oct 04, 2016 09:15 AM

    Thanks again am1 



  • 9.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Mar 29, 2018 11:45 AM

    Hello, 

     

    I have the same issue the reason was about empty rows between <nsql> tag and nsql text.

     

    Code with problems 

     

    <nsql dbId="Niku" dbVendor="all">
    <![CDATA[select @SELECT:DIM:USER_DEF:IMPLIED:pr_critical:odf.odf_pk:proj_id@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.name:name@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:st.name:status_indicator@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.planned_cst_total:plannedcost@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.planned_roi:planned_roi@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.PRASOF:as_of@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.schedule_start:start_date@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.schedule_finish:finish@,
    @select:Dim_prop:user_def:implied:pr_critical:s.full_name:manager_name@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.baseline_start:baseline_start@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.baseline_finish:baseline_finish@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.status_indicator:status_indic@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.status_comment:status_comment@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.percent_complete:percent_complete@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.status_indicator:status_ind_number@
    from odf_project_v2 odf
    left join cmn_lookups_v st
    on st.LOOKUP_ENUM = odf.status_indicator
    AND st.lookup_type= 'INVESTMENT_STATUS_INDICATOR'
    AND st.language_code=@where:param:language@
    left join srm_resources s
    on s.user_id = odf.manager
    where odf.status_indicator=3 and odf.is_active=1 and odf.is_program <>1 and odf.is_template <>1
    and is_approved=1
    and @filter@]]>
    </nsql>

     

     

    Fix

     

    <nsql dbId="Niku" dbVendor="all"><![CDATA[select @SELECT:DIM:USER_DEF:IMPLIED:pr_critical:odf.odf_pk:proj_id@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.name:name@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:st.name:status_indicator@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.planned_cst_total:plannedcost@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.planned_roi:planned_roi@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.PRASOF:as_of@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.schedule_start:start_date@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.schedule_finish:finish@,
    @select:Dim_prop:user_def:implied:pr_critical:s.full_name:manager_name@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.baseline_start:baseline_start@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.baseline_finish:baseline_finish@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.status_indicator:status_indic@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.status_comment:status_comment@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.percent_complete:percent_complete@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:pr_critical:odf.status_indicator:status_ind_number@
    from odf_project_v2 odf
    left join cmn_lookups_v st
    on st.LOOKUP_ENUM = odf.status_indicator
    AND st.lookup_type= 'INVESTMENT_STATUS_INDICATOR'
    AND st.language_code=@where:param:language@
    left join srm_resources s
    on s.user_id = odf.manager
    where odf.status_indicator=3 and odf.is_active=1 and odf.is_program <>1 and odf.is_template <>1
    and is_approved=1
    and @filter@]]></nsql>



  • 10.  Re: NSQL_SYNTAX_ERROR_TEXT_EMPTY

    Posted Nov 07, 2018 03:23 PM

    This issue is documented in KB000004348 (see link A dynamic lookup XOG in action fails after the xml - CA Knowledge ).

    Apparently will not be fixed. 

    The only alternative seems to be the workaround: keep the <nsql> tag and the begining of the nsql text  <![CDATA[   in the same line.