2 Replies Latest reply: Nov 21, 2012 9:13 AM by Patrick Wolf-Oracle RSS

    Compute Dependencies parse error. Objects to missing ";" t/ parser removes.

    Howard (... in Training)
      When I click Home > Application Builder > Application > ##### > Utilities > Database Object Dependencies
      and then click Compute Dependencies and then click Parsing Errors below the
      table, I see parse errors. They are from a page with a line chart. The Query Source Type for the Chart Series is set as "Function Returning SQL Query".

      For the code, we have an anonymous block beginning with DECLARE. The application is executing as expected with no other indications of errors/problems. Had I not stumbled upon this, I would never have know there was anything amiss.

      I've reduce the code to a trivial BEGIN END block with a similar result. The parse error is now -- in one long, long line:
      line=6 errm=PLS-00103: Encountered the symbol "BEGIN" when expecting one of the following: ( - + case mod new not null select <an identifier> <a double-quoted delimited-identifier> <a bind variable> continue avg count current exists max min prior sql stddev sum variance execute forall merge time timestamp interval date <a string literal with character set specification> <a number> <a single-quoted SQL string> pipe <an alternatively-quoted string literal with character set specification> <an al line=11 errm=PLS-00103: Encountered the symbol ")" when expecting one of the following: ; <an identifier> <a double-quoted delimited-identifier> current delete exists prior <a single-quoted SQL string>

      The Code is now
      BEGIN
          RETURN 'SELECT NULL LINK, MEAS_DT LABEL, 
                 DATA_OFF_DIR_SZ/2 "Data Office Directory Size"
                     FROM DMCODB_DIR_SZ';
      END;
      Do we have something wrong? Or is this something extaneous?

      From the messages and generated code, it seems to me that the final ";" is being removed. Then the parser complains that it ";" is missing before the ) of the () which is placed around "BEGIN ... END;" So it adds it back. Dah!

      Kind regards,
      Howard