Reg - pl sql conditional compilation

Version details
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production
create or replace package r_dummy_pkg
is
     procedure proc_table_doesnt_exist;
     procedure proc_valid;
end;
/

show err;

create or replace package body r_dummy_pkg
is
     procedure proc_table_doesnt_exist
     is
          l_count number;
     begin
          select count(*)
          into l_count
          from doesnt_exist_tbl;
     
     end proc_table_doesnt_exist;
     
     procedure proc_valid
     is
     begin
          dbms_output.put_line('Fine');
     end proc_valid;
end;
/

show err;
SQL> @"H:\Raghu\INDEX\cc.sql"

Package created.

No errors.

Warning: Package Body created with compilation errors.

Errors for PACKAGE BODY R_DUMMY_PKG:
7/3      PL/SQL: SQL Statement ignored
9/8      PL/SQL: ORA-00942: table or view does not exist
SQL>
Updated the my code using conditional Compilation and she got well compiled
create or replace package r_dummy_pkg
is
     $if $$rgh_cc $then
     procedure proc_table_doesnt_exist;
     $end
     procedure proc_valid;

end;
/

show err;

create or replace package body r_dummy_pkg
is
     $if $$rgh_cc $then
     procedure proc_table_doesnt_exist
     is
          l_count number;
     begin
          select count(*)
          into l_count
          from doesnt_exist_tbl;
     
     end proc_table_doesnt_exist;
     $end
     
     procedure proc_valid
     is
     begin
          dbms_output.put_line('Fine');
     end proc_valid;
end;
/

show err;
SQL> @"H:\Raghu\INDEX\cc.sql"

Package created.

No errors.

Package body created.

No errors.
SQL>
I tried activation conditioning block, but I don't understand how
SQL> alter package r_dummy_pkg compile plsql_ccflags='rgh_cc:true';

Warning: Package altered with compilation errors.

SQL> show err
ERROR:
ORA-00907: missing right parenthesis


SQL> alter package r_dummy_pkg compile body plsql_ccflags='rgh_cc:true';

Warning: Package Body altered with compilation errors.

SQL> show err
ERROR:
ORA-00907: missing right parenthesis
Is something wrong with the alter, I published? How to make part of the compiled code?

First of all I don't know how you get:

SQL> alter package r_dummy_pkg compile plsql_ccflags='rgh_cc:true';

Warning: Package altered with compilation errors.

SQL> show err
ERROR:
ORA-00907: missing right parenthesis

I can't reproduce on 10.2.0.4.0 and 11.2.0.1.0:

SQL> alter package r_dummy_pkg compile plsql_ccflags='rgh_cc:true';

Warning: Package altered with compilation errors.

SQL> show err
SP2-0564: Object "r_dummy_pkgplsql_ccflags='rgh_cc:true'" is INVALID, it may not be described.
SQL> 

For errors you need:

SQL>  select  text
  2    from  user_errors
  3    where name = 'R_DUMMY_PKG'
  4  /

TEXT
-------------------------------------------------------------
PL/SQL: ORA-00942: table or view does not exist
PL/SQL: SQL Statement ignored

SQL> 

Now ' is something wrong with the alter, I published? How to make part of the compiled code? ».

There is nothing wrong with the ALTER statement. Since when the package was compiled for the first time $$ rgh_cc has not been set to TRUE proc_table_doesnt_exist procedure was not part of compilation - just part of the source code. But as soon as you issue ALTER that defines $$ rgh_cc was true package is recompiled and procedure proc_table_doesnt_exist becomes a part of the compilation. Obviously the compilation fails because the proc_table_doesnt_exist procedure reference table while no.

SY.

Tags: Database

Similar Questions

  • Conditional compilation: "If the $$id cannot be set to a value, then the PLW-6003 warning message is reported.

    Hello

    So according to the documentation:

    Conditional Directives of Compilation using survey

    The directive of inquiry is used to check the compilation environment. The directive of inquiry is of the form:

    inquiry_directive ::= $$id

    A directive of inquiry can be preset as described in 'predefined help investigation with Conditional Compilation Directives' or be defined by the user. The following describes the order of the processing flow during conditional compilation is trying to solve a directive of inquiry:

    1. The id is used as a guideline for investigation in the form $$ id for the search key.
    2. Re-encoding algorithm is as follows: the string in the PLSQL_CCFLAGS initialization parameter is scanned from right to left, the search with id for a matching name (case sensitive); if it's recognized. The predefined survey guidelines are sought after; Done if found.
    3. Si le $$ id cannot be resolved to a value, then the PLW-6003 warning message is sent if the original text is not wrapped. The literal NULL is substituted as the value for undefined investigation guidelines. Note that if the PL/SQL code is wrapped, then the warning message is disabled so that the directive of inquiry not defined is not revealed.

    I take this means, if you $IF $$xxx.00 = $5 THEN... $END but have not set a $$xxx.00 with "alter session set plsql_ccflags" then you should expect an error.

    But I am unable to make this trigger, a warning, or an error, either by

    ALTER session set plsql_warnings = ' error: 06003. "

    or

    ALTER session set plsql_warnings = ' enable: all ';

    test configuration:

    SCOTT@ORCL> alter session set plsql_ccflags = '';
    Session altered.
    SCOTT@ORCL> alter session set plsql_warnings = 'enable:all', 'error:06003';
    Session altered.
    BEGIN
        $IF $$DEBUGON $THEN
            dbms_output.put_line('debug is on');
        $ELSIF NOT $$DEBUGON $THEN
            dbms_output.put_line('debug is NOT on');
        $ELSE
            dbms_output.put_line('debug is neither on nor off - DEBUGON IS NOT SET!');
        $END
       
    END;
    /
    show errors
    
    debug is neither on nor off - DEBUGON IS NOT SET!
    
    
    PL/SQL procedure successfully completed.
    
    
    No errors.
    SCOTT@ORCL>
    
    

    Miss me something; It is late after all; Thank you

    Jason

    The compiler warnings do not seem to work for anonymous blocks, only for named objects:

    dev1 > alter session set plsql_ccflags = ";

    Modified session.

    dev1 > alter session set plsql_warnings = ' enable: all ';

    dev1 > create or replace procedure p as
    2 start
    $3 $IF $DEBUGON $THEN
    4 dbms_output.put_line ('debug is on ');
    5 $ELSIF $ $DEBUGON $THEN NO
    6 dbms_output.put_line ("' debugging is NOT on");
    7 $END
    8 dbms_output.put_line (' ' in the procedure ');
    9 end;
    10.

    SP2-0804: Procedure created with compilation warnings

    dev1 > view the error
    P: PROCEDURAL errors

    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    3/8 PLW-06003: directive of unknown inquiry ' $$DEBUGON '
    5/15 PLW-06003: directive of unknown inquiry ' $$DEBUGON '

    John

  • Cannot generate webhelp, using a conditional compilation expression

    Background

    • RoboHelp 7 HTML (I know it's old)
    • Windows 7
    • Project still has conditional text - webhelp update / generated successfully about 4 months ago.
    • Other projects of mine who have conditional text are still working fine - which means that I can generate webhelp successfully, using an expression of conditional compilation for all my other projects.

    Problem

    When I try to generate webhelp for this specific project, RoboHelp crashes during the progress "update files" message. The only way out is to entirely close HR. Successfully, I can generate webhelp for this specific project if I don't use ANY conditional compilation expression.

    What I tried

    • As stated above, I can generate webhelp for this project if I do not use a conditional compilation expression.
    • I tried the following in different combinations: removed all conditions and conditional text tags, removed the .pss file, which is deleted the file .cpd, looked at table formatting, created new conditions with new names.  Result is always the same: HR crashes if I use a conditional compilation expression.

    Things I noticed

    • The project root file has many temporary files in Robohelp after the failure of the generate. If I generate thereafter with no expression of conditional compilation, temporary files are gone.  This is probably normal behavior HR.
    • After I deleted all the conditions and conditional text on every topic references, I added a new condition.  I did NOT mark any conditional text.  I have added a conditional compilation expression.  Generate crashes.

    Any ideas would be appreciated!

    Hello! I had the same problem. It turns out that it was a problem with one subject! Talk about a needle in a Hay stack! Specifically, it was a problem with a cell that had a condition applied (the last cell of a table).

    Note: The way in which this table was split and merged and had conditions applied (on certain columns, others not)... I'm not surprised, that there was a problem.

    Action taken:

    1. Created a new project. (you wanted to see if it was a problem with my project might be corrupted or if it was something with the files and/or conditions).
    2. Imported from all subjects, recreated WebHelp SSL, tried to regenerate, he hooked (good news: not my bad news of project.: I have to dig further).
    3. Created another new project.
    4. Import a file that had all my conditions in there so that I can recreate my WebHelp SSL (with conditions having been imported into the new project).
    5. I generated the WebHelp unconditionally excluded. Worked.
    6. I generated the WebHelp with the same exclusions defined as I had in my original draft. Worked.
    7. I imported the 5 themes of my original topic and regenerated. Worked.
    8. I continued to repeat topics 5 both importers and regeneration until it didn't work.
    9. Remove the last 5 years (generated after the deletion, just to make sure it was ok), then imported one at a time until the generation has failed and the project was not admissible.
    10. Once I identified the subject that created the issue (did not know what the problem would be even), I have started another project and imported the topic problem ONLY. Then, I removed 3/4 of the subject and regenerated. Worked. Any new topic (replacing the stripped down in the topic) and this time I deleted less content. Regenerated. Did not work. This helped me to identify the specific area that was causing the problem which, in my case, was the construction tag closing after the table tag.

    If it's the same problem, you may save time and find this string to identify: " "

    I hope this helps! Good luck

    -c

  • Which file in RoboHelp 11 is used to store settings for conditional compilation tags

    We share a RoboHelp 11 project between two authors and have noticed that the conditional compilation tags defined by an author are not detected by the second author that accesses this project through version control. I think that the file containing the details of the tags conditional build has not been added to version control, and thus the second author cannot see these details. Does anyone know what this file is called, so I can add it to version control?

    Thank you very much.

    The PSS file gets overwritten if you put it in the source code control, you will get very strange results. You can copy the PSS file between computers, so I would go that route.

    Also have the other author define the same expressions in the preview. Once you have done that, the project will remember them.

  • RoboHelp 2015 - batch generate with conditional compilation tags broken?

    Hello everyone.

    My company has recently upgraded to Technical Communication Suite 2015 and today we try to generate online help for the first time with RoboHelp 2015. We have been batch generating (rhcl.exe) for about a year with no problems... and today I have problems in conditional tag of major works. I'll try to be as detailed as possible, in the hope that the community can tell me if I'm doing something wrong.

    System: RoboHelp 2015 on Windows 7 64 bit. WebHelp layout. Upgraded project of HR 11 a week ago.


    Setting up a project

    In most of the topics, we have a 'See also' section at the end, with a few links. This section is tagged with the 'Online' CBT (so that we can exclude the PDF output).

    There are 4-5 CBT by module.

    My conditional compilation expression is: NOT print AND NO risk AND NO WIP. The expression is named Test. This conditional compilation expression is stored in a WebHelp SSL called VALUE. The 'Online' tag appears correctly under tags available and it is certainly not excluded.

    The problem

    I use the following command;

    "C:\Program Files (x 86) \Adobe\Adobe RoboHelp 2015\RoboHTML\rhcl.exe ' 'D:\technical_documentation\my_project\my_project.xpj'-l 'Test' o 'D:\help_builds\my_master\mergedProjects\my_project '.

    In the output, all the content that is tagged with Online is not visible, even if the tag was not excluded!

    I tried a few other scenarios and the results are even more confusing to me. I scored some random text with some other tags ('link', 'afds' and 'value') - labeled content 'link' and 'afds' is not visible, but the content labeled 'Value' is... Although none of these tags have been excluded!

    If I generate RoboHelp, not with the lot, everything works fine, without changes in the SSL settings.

    Am I right in thinking this is a new bug? Perhaps rhcl.exe support incorrectly the improvements in tag conditional compilation in HR 2015? I will record a bug if this is the case, but I would like some opinions firstly thank you!

    Adobe have studied this problem and managed to reproduce it.

    I suggest that report you it as a bug so that Adobe can contact you if they need more information.

    Please follow this link.

    http://www.Adobe.com/cfusion/mmForm/index.cfm?name=wishform&product=38

    See www.grainge.org for creating tips and RoboHelp

    @petergrainge

  • How to remove a tag of conditional compilation

    I write here, because the link to the General discussion seems to be broken.

    I want to remove the conditional compilation tags that come with RoboHelp 11. For RoboHelp online help (accessible by clicking on the?) Help button in the dialog tag to build conditional) says:

    «To remove the tags conditional build of a project, click project.» Expand the folder for conditional Build tags, click a tag, and select Remove. And then click OK. »

    I haven't used RoboHelp for a while, so forgive my ignorance, but where exactly "click Project? I seem to remember that the conditional Build tags folder used to reside in the project files folder in the project manager pod. But he's not here.

    Thank you!

    Carol

    Hi Carol

    Try clicking on View > pods > conditional build tags.

    See you soon... Rick

  • I need help with RoboHelp 10 conditional compilation tag option

    I need assistance with the option of conditional compilation tag. I want to apply CBT to the contents of a field. I looked at the help topics and believes that I applied the function correctly. However, it does not work as you wish. In the 2nd sentence below, I want the text highlighted in blue to appear only to the printed output and printed in purple text to appear only to the .htm / output online. Help, please.

    There are common tasks for managing files and folders in the browser

    in the grid of BBS files viewer. For more information on these common tasks see help

    and support in the successful business. click on the links below.

    Hello

    With the help of marking is a two part process.

    First part

    You create and apply tags for the information you want to order.

    Second part

    You create a create an Expression that is used when you generate your output. The Expression of build usually reads something like: NO Tag1 (or whatever the name of your tag)

    Then when generate you and use the Expression to build, the information containing the tag is not included in the build.

    See you soon... Rick

  • RoboHelp captures together tags conditional compilation for tables

    My FrameMaker 9 tagged conditional text tables is not captured by RoboHelp 8.

    My tests show conditional text for tables in FrameMaker when imported in RoboHelp gives me a table with no tag of conditional compilation at all. If I have, in addition, the value of conditional text for the content in the table I find myself alone with an empty table. IOW, I have to "man-handle" all tables in RoboHelp... sucks big time!

    My RoboHelp settings are fine as I can see all build tags in FrameMaker in RoboHelp (they are not automatically applied to the tables). Applying the compilation conditional tags before importing FrameMaker files is never a good idea because it is not working properly. From my experience, you must always set the same conditions of generation in RoboHelp as you do in FrameMaker. IOW, repeat!

    Everyone has the same problems, or I'm doing something wrong here?

    Adobe confirms that this is a bug!

  • conditional compilation

    I use flashbuilder 4.5 (on windows) and for some reason any I can't get conditional compilation to work trying to pass in strings.

    I tried the examples in this link http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_21.html and to pass boolean values, it works fine, but trying to pass a string in and runs aground (gives of errors).

    Now I've done it before (quite a ago now) and I remember that it just worked so would work something like this (from the previous link)

    -define += BUILD::TEST, 'Blue' (this placed in the additional compiler arguments under Properties box)

    then in the code

    BUILD::TEST

    public var testString: String;

    then would the word 'Blue '.

    But what I get is errors like below

    Mistakes like "1008: attribute is not valid."

    or

    "The initializer of a configuration value must be a compile time constant."

    All the ideas that I am missing or is it does not work correctly now in flashbuilder 4.5?

    The doc said it should look like:

    public const testString:String = BUILD::TEST

  • Conditional compilation tags or phrases in the table of contents

    Hi all

    I meet another problem with my conversion, this time with the tags and conditional compilation expressions.
    Everything seems to go well in my subjects, but not in my table of contents.

    Some of my topic titles have words with conditional text applied in the source FrameMaker document.

    These subject titles also appear in the table of contents that are automatically generated when I connect my framework book in Robohelp.

    I put the conditional compilation expression in the Webhelp settings dialog box and then save and build.

    These topic titles appear to pick up the correct conditional compilation expression in the subjects themselves, but the title of the table of contents displays several conditions (including the condition that I set myself to 'Exclude').

    Thus, for example, if the title of my topic is

    "Conventions in this documentonline help."

    WHERE
    -----
    document > should appear in PDF format only
    and
    online help > must only appear in Webhelp

    I can get the Webhelp topic to use the title "Conventions in this online help.

    but the corresponding TOC header looks like this:
    "Conventions in this documentonline help.

    Any ideas?

    Thank you.
    What

    Conditional compilation tags are not imported to the table of contents of the FrameMaker content. However, you can follow another approach to achieve this. We can manage the conditional compilation expression in FrameMaker itself and import the content of filterted in RoboHelp. In order to achieve this, set the conditional compilation expression in FrameMaker. Enable the setting in RoboHelp to 'apply FrameMaker text building conditional Expression '. [File->-> import-> Edit (FrameMaker settings)-> other settings of project settings]

    This way of RoboHelp will import only the content filtered with conditional tags build resolved according to the expression applied in FrameMaker.

    MILIN

  • Encoded text with conditional compilation still tags appear in TOC even if the label is "excluded".

    I use TCS2, Windows XP.

    After you have created a book in FM and coding with conditional compilation tags, I imported HR. When I generate, I output the value tag:

    NOT NoOUtput AND NOT internal AND NOT printed - I want to generate my external, webhelp online help. And it works like a charm. Except that:

    • In the table of contents, I can still see the stars for the things that are "internal" - when I click on it, they're not going anywhere... but I don't want them to appear in the table of contents!

    It seems to exclude from the index and search. I don't know that miss me just a step, or something...


    Browsing the forums I found this... http://forums.Adobe.com/message/751847#751847 -I don't know if it is still applicable, because it seems to allude to RH6 (which is a bit far from the 8 HR that I use)...

    Any help is appreciated!

    TIA,

    Adriana

    @Daggins - that's what I was talking about! I knew it was there somewhere ;>)

    @adrianaharper - if it doesn't work properly in PDF files that you create on the FM band; what the TOC looks like FM? You're just pulling in HR when you import/link right? If the faulty internal topics are appearing in the table of contents of the FM, then expect them to appear in HR too. You must kill them, FM or kill them in HR.

  • Tags of conditional compilation with numbered lists

    Hi, I use conditional compilation tags to create a separate version of our help file of product for a cut of the version of the software. In our help instructions we use numbered task to explain how to run a process.

    When measures are not mandatory for the coupe version, the numbering is not auto-update accordingly - is there a way to fix this?

    Thank you
    Richard.

    Sorry I was talking rubbish. If this can be deleted please go ahead.

  • Are SQLs form compiled in PLSQL?

    Hi all

    After the right amount of discussion with a number of developers, I'm posting this question.

    Are SQL statements in the PLSQL stored in compiled form, procedure as procedural statements or SQLs are compiled in a stored procedure is called?

    Thanks in advance.

    Kind regards
    Alex

    Ateet Mehta wrote:

    This means, the entrance to the sql engine is exactly the same for 1) static sql fired from 2) static sql and sqlplus inside plsql... ?

    We can confirm that static SQL, when compiled in PL/SQL, does not create a cursor pool shared, but that cursor is created only at run time.

    Cannot therefore a ' + create cursor + "call to the engine SQL pass a struct already validated/analyze/semantically analyzed, instead of SQL source code?

    Don't know how to confirm or deny that the use of tables in v$. I would not say that I can not remember ever having seen such a structure or call the OCI (Oracle Call Interface). It would also be a dangerous and risky interface to the SQL engine to support - that it should rely on the appellant to a valid structure. In addition, what concurrency? The SQL engine to use this structure and the objects referred to in this document, to the shared locks on these objects to prevent any change/withdrawal between where the struct validated/analyze/semantically analyzed was created by the caller (for example, PL/SQL) and received for processing by the SQL engine. If the appellant must also required locks put on the data dictionary.

    This approach seems not very reliable for me. She relies heavily on the appellant to spend a working structure for the SQL engine and change the State of the database accordingly to maintain the integrity of the structure for the SQL engine to use.

    And even in this case, the SQL engine will always have to use the CBO to determine an execution plan for this struct has received.

    So exactly what is the percentage of run time was saved by the presence of the appellant passing this structure to the SQL engine, instead of a source code structure?

    If the motor input sql is exactly the same, what is the importance to generate pcode for static sql plsql inside?

    Because of things like bind variables. The static SQL in PL/SQL is often not "pure" SQL It contains references to structures and PL/SQL variables. This requires for example bind calls (take a look at the DBMS_SQL package that illustrates the basic principles of the OIC well enough).

    which, in my view, is there not any need for syntax and semantic analysis for sql static writtein in plsql, when they are sent to the static sql, unlike sql engine from sqlplus or client application.

    I have to disagree on that. I do not see a real performance benefit of such an approach - and IMO it will be not very strong either.

  • Conditional compilation tags do not work for printed documents

    Hi all

    I'm working on the huge aid project, a unique project for several clients. I use conditional compilation tag features to determine what topics, links, images, text, etc. should be included or excluded the CHM for the appropriate client file.

    When I tried to generate printed documentation (DOC and PDF) for a conditional build tag, I was upset by the fact that conditional construction used in TOC label do not work... The output document contains all the themes of the project help, despite the good create a conditional Expression defined for this schema of the source.

    "Nobody knows how the correct subjects can automatically participate in the layout of chapter (see page 'Printed Documentation' Setup Assistant ' Presentation of the Document Print') in accordance with the conditional Build Expression in the 'print general Document' Wizard page"Printed Documentation"settings defined)?
    If it works? I think Yes, because this is the absurd, if I need to compare subjects with the table of contents and manually select them :(

    Please, help me...
    Olga

    You do not apply the tag the right way. Applying to the table of contents only excludes the topic to the table of contents online.

    Apply the tag to the section in the project manager, and it will work as you want.

    No bug.

  • remove the conditional compilation expressions

    I created a RH7 project, and it has expanded to become the sole source of our company for the documentation of the user. It's a good thing. However, as I added information to different audiences, I'm done with a number of conditional compilation expressions I need is no longer. I would like to delete, so I don't have to search a long list on the general screen of WebHelp.
    I searched the forum and didn't see any information on the removal of the conditional compilation expressions (tags, yes; expressions, no). Can someone tell me how to proceed?
    Thanks for your help!

    Thank you! It did exactly what I had, so I'll mark this message as answered. Appreciate the quick response and all the information you have made available through the forum, as well as on your site!

Maybe you are looking for

  • Why is my empty recent projects?

    Since the upgrade to el capitan, logic pro x is no longer automatically opens the last song of early and recent projects folder is always empty - is - anyone know why? I have not changed my structure of folder or something like that

  • Display Manager does not start after Satellite A210-117 wakes up from his sleep

    Hello I have some difficulty with a Satellite A210-117 PSAELE-00E00MFR. I installed W7 x 64 professional and display driver ATI Catalyst to Radeon HD 2400. My graphics card appears in Device Manager as an ATI Mobility Radeon HD 2400 with the current

  • iCloud do not work

    Please my iphone and ipad do not work with icloud for 5 months Please help me

  • Windows live essential does not install

    Windows live mail does not open

  • Brother Control Center uninstall

    My wife has Control Center 3 arise one year after not using his brother printer (she has windows xp). When she tried to remove the brother of his computer program, he told her to restart to complete the process. She hit restart, and now the computer