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:
-
create table copy_of_dba_tables as select * from dba_tables where 0=1;
-
found the table in SB-Tables. Rt-click, create DML procedures.
-
drop and recreate the table to make the package invalid but without errors.
-
found the package, rt-click on package body, select compile->Compile body only.
-
for me, the SB now shows that the package is valid.
-
expand package node to see spec and body nodes
-
rename table used by body only
-
rt-click compile->compile
-
all 3 nodes have red X (spec has no error -shouldn’t have red X?)
-
rt-click compile->compile spec – red x disappears from spec node
-
rename table back to original name
-
rt-click body compile->compile body only
-
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.