PLSQL Beautifier: CASE..END formatting issue

aqua

Member²
The following statement is executable, but cannot be formatted:

Code:
SELECT

 CASE
    WHEN dummy = 'A' THEN
       CASE
          WHEN dummy IS NOT NULL THEN
             dummy
          WHEN dummy IS NULL AND dummy IN ('X', 'Y') THEN
             nvl(dummy, dummy)
          WHEN dummy IS NULL AND dummy NOT IN ('A', 'B') THEN
             dummy
          ELSE
             NULL
       END
    WHEN dummy = 'X' THEN
       CASE
          WHEN dummy IS NOT NULL THEN
             dummy
          ELSE
             nvl(dummy, dummy)
       END
    ELSE
       NULL
 END AS x

FROM dual
Trying to format I get dialog box: The beautifier caused an error. Please send...

PLSQDEV version: 7.0.3.1123

P.S. Even if nested CASE..END statements can be formatted, they look absolutely unreadable:

Code:
SELECT

 CASE
    WHEN dummy = 'A' THEN
       CASE
          WHEN dummy IS NOT NULL THEN
             dummy
          WHEN dummy IS NULL AND dummy IN ('X', 'Y') THEN
             nvl(dummy, dummy)
          WHEN dummy IS NULL AND dummy NOT IN ('A', 'B') THEN
             dummy
          ELSE
             NULL
       END
    ELSE
       NULL
 END AS x

FROM dual
formatted like:

Code:
SELECT CASE
          WHEN dummy = 'A' THEN
           CASE
          WHEN dummy IS NOT NULL THEN
           dummy
          WHEN dummy IS NULL AND dummy IN ('X', 'Y') THEN
           nvl(dummy, dummy)
          WHEN dummy IS NULL AND dummy NOT IN ('A', 'B') THEN
           dummy
          ELSE
           NULL
       END ELSE NULL END AS x
  FROM dual
 
Back
Top