SB - red X remains after successful compile

Tree view, rt-click on package body, select Compile-compile body only, compile is successful but red X remains on package node and body node.

This (or something very similar) happened in a previous version’s beta, but I thought it was fixed (haven’t tested specifically in 12.8).

It works fine for me. This is what I did:

  1. create table copy_of_dba_tables as select * from dba_tables where 0=1;

  2. found the table in SB-Tables. Rt-click, create DML procedures.

  3. drop and recreate the table to make the package invalid but without errors.

  4. found the package, rt-click on package body, select compile->Compile body only.

  5. for me, the SB now shows that the package is valid.

  1. expand package node to see spec and body nodes

  2. rename table used by body only

  3. rt-click compile->compile

  4. all 3 nodes have red X (spec has no error -shouldn’t have red X?)

  5. rt-click compile->compile spec – red x disappears from spec node

  6. rename table back to original name

  7. rt-click body compile->compile body only

  8. results are inconsistent. Sometime red X disappears for package and body, sometime it disappears for package only, sometimes is stays on both package and body. I can find no pattern to this behavior (and believe me, I’ve tried).

3b) rt-click body compile->compile body

4b) package node has red X, body node does not (usually! again not always consistent behavior, but seems more consistent than the above behavior).

The only way that I can get all 3 nodes to go red is when the spec really goes invalid because it has something like SCHEMA.TABLE.COLUMN%TYPE in it somewhere. When I took those out, the spec never went invalid for me. You can check the status of both package and package body in dba_objects or all_objects to verify.

So far the only problem I’ve seen is that if the SB shows everything valid, but then I drop the table, and go back to SB and recompile body (without refreshing SB first), the “body” node will go red but the icon does not change to an X until I do a refresh.

I’ll fix that and keep looking though.

Give it a try next beta. I think the problem that I fixed may have contributed to what you were seeing.