Module component based on pl/sql procedure....

Hi everyone,
could anybody help me with step by step instructions on how to generate module component which is based on PL/SQL procedure and how the procedure must look like.
Well, I make it in Forms Builder but I want to build it in oracle designer too, just to have consistent state of all forms in designer.
Well, what to say at the end... thanks a lot for help,
Zlatko

I'm a user of the Web PL/SQL generator, not the Forms generator, so I was hoping that someone else would step in with some help for you. Seeing as no-one else gave this a try, here is my two cents worth:
As far as I know, the module components based on a procedure expect to use the Table API (TAPI) packages, and I think they can optionally use the Module API (MAPI) packages. I think MAPI calls TAPI, so if you use MAPI, you must also generate TAPI. These are generated from the Design Editor, TAPI from the Table Definition. The Web PL/SQL generator REQUIRES the TAPI, so I'm very familiar with them. The on-line help has some good descriptions of TAPI.
The advantage of using TAPI/MAPI instead of direct table updates from your Form is that TAPIs can enforce business rules at the database level, no matter how your table is updated, whether with Forms, Web PL/SQL or even SQL*Plus. They can also do trigger-like actions that would not be possible with actual database triggers (can you say, mutating table?) You might also want to use TAPI if you have both Forms modules and Web PL/SQL modules against the same table.
Now - if someone with more Forms generator experience than I wants to chime in with a better answer, please do, especially if anything I said is wrong.

Similar Messages

  • How to generate a form based on PL/SQL-procedures instead of tables?

    Hi all,
    I'm trying to generate a form based on a package, which has procedures for insert/update/delete/select. In Forms, this is no problem. It is unclear to me how to do this in Oracle Designer (10g). Online Help of Designer doesn't clear things up a lot, it seems I have to generate a table API and a module component API. But when I do this, these are generated as file and no definitions are created in Designer. So what do I base my block on?
    Can somebody assist me in this?
    Kind regards,
    Ronald

    Hi:
    Thank you for reply to my question.
    I have tried your codes and apply them the following the form. However, I always got the following error:
    Error: (WWV-00000)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    My codes is:
    declare
    request_no number;
    blk varchar2(30) := 'DEFAULT';
    l_url varchar2(4000);
    begin
    request_no := p_session.get_value_as_NuMBER(
    p_block_name => blk,
    p_attribute_name => 'A_WORK_REQUEST_ID');
    l_url := 'portal30.wwa_app_module.link?p_arg_names=_moduleid&p_arg_values=11880470335&p_arg_names=_sessionid&p_arg_values=&p_arg_names=work_request_id&p_arg_values='||request_no;
    portal30.wwa_app_module.set_target(l_url,'call');
    end;
    then,
    I created another form which has two fields and the dattype of pk is varchar2 and change manually put the pk's p_arg_value into the url.
    e.g.
    l_url:='PORTAL30.wwa_app_module.link?p_arg_names=_moduleid&p_arg_values=9029417810&p_arg_names=WORK_AREA_CD&p_arg_values=APP';
    portal30.wwa_app_module.set_target(l_url,'call');
    However, I still get the error message as below:
    Error: (WWV-00000)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    No conversion performed for type INTEGER, value . (WWC-49102)
    Your help would be highly appreciated.
    Wei Ye

  • Generating webform based on pl/sql procedures

    Who can tell me to solve the following problem with trigger-event 'QUERY_PROCEDURE':
    I want te generate een webform base on pl/sql-procedures in stead of tables or views. In my module only query is allowed.
    In order to implement the module I created a MAPI and a TAPI.
    When i run the form i notice that my enter-query argument doesn't has any effect. All the records are shown instead of one. The fill of the 'default_where' clause has has no effect.
    In formsbuilder i notice that only parameter 'bk_data' is given. The where_clause has been erased.
    How can i run the MAPI-procedure 'qry' including a 'where_clause' on runtime?

    Dear All,
    This thread helped me a lot since I was facing the same problem and had a doubt that QBE is not supported by stored procedures (MAPI) and this thread confirms it.
    BUT what about module components based on Queries (i.e. FROM clause) ?
    It says in the Designer Forms Generation training material that is also does not support QBE, BUT forms supports QBE for blocks based on Queries is support in the Forms Developer.
    When I added a WHERE restriction the designer generates this inside the FROM Clause property of the block rather than in the WHERE Clause property of the block, and so i receiver an error ORA-01008 not all variables bound.
    Can anybody tell me how can i force designer to generate the WHERE restriction in the WHERE Clause property of the block rather than the FROM Clause property of the block?

  • Block based on PL/SQL Procedure

    Hello,
    I have been thinking about building an architecture with
    database views to support block querying and stored procedures
    for DML. By doing this I keep the forms entirely seperated from
    the table model, which is good maintenance. Changes to the data
    model will affect the views and the stored procedures, not so
    much the forms. Another advantage is that block-fields that come
    from lookup-tables will be queryable and updateable without too
    much programming. And of course perfomance is good since all SQL
    is server-processed.
    Does anyone know where to look for documenation on basing a
    block on stored procedures ? The online help does not contain
    too much on this.
    Has anyone used this technique successfully and can tell me
    about a few advantages of it ? Disadvantages ?
    Regards
    /Stefan Nilsson, Sigma
    null

    Yes, I've tried that since Forms 5.0. I remember 3 possible
    sources for the block, FROM CLAUSE SUBQUERY, TRANSACTIONAL
    TRIGGERS , and PROCEDURES.
    Advantages,
    It is now easier to design screen with any functionality, like
    blocks where you are going to manipulate columns from different
    tables. Exactly what you have in mind when you mentioned about
    views.
    It also supports sources other than relational tables .like
    the object tables or even non-Oracle data sources.
    All you have to code are procedures to support the SELECT,
    LOCK, INSERT, DELETE, and UPDATE functions.
    Disadvantages,
    You have to code advanced PL/SQL procedures. Price to pay for
    excellent functionality.
    I can't exactly remember the documentation, but there is a
    book titlted Advanced Developers or domething...
    Stefan Nilsson (guest) wrote:
    : Hello,
    : I have been thinking about building an architecture with
    : database views to support block querying and stored procedures
    : for DML. By doing this I keep the forms entirely seperated from
    : the table model, which is good maintenance. Changes to the data
    : model will affect the views and the stored procedures, not so
    : much the forms. Another advantage is that block-fields that
    come
    : from lookup-tables will be queryable and updateable without too
    : much programming. And of course perfomance is good since all
    SQL
    : is server-processed.
    : Does anyone know where to look for documenation on basing a
    : block on stored procedures ? The online help does not contain
    : too much on this.
    : Has anyone used this technique successfully and can tell me
    : about a few advantages of it ? Disadvantages ?
    : Regards
    : /Stefan Nilsson, Sigma
    null

  • ViewObject based on PL/SQL procedure

    Hi there,
    I'm using JDeveloper 11.1.1.6.0.
    I'm wondering if i can base my ViewObject on a PL/SQL procedures out parameter instead of a SQL query?
    It is also ok when the view object is not updateable.
    Is there a way to achieve this? perhaps directly over the ViewObject, or otherwise over an EntityObject?
    Thanks in advance.

    Hi,
    its quite a time ago but there are some information from Avrom
    http://www.avromroyfaderman.com/framework-for-database-api-based-adf-bc/
    The sourcecode was hosted on samplecode.oracle.com which seems not to be available....
    Nevertheless you might find some usefull information on an older version
    http://www.avromroyfaderman.com/framework-for-database-api-based-adf-bc/framework-for-package-api-based-adf-business-components/
    Andreas.

  • Function Activity based on PL/SQL procedure

    Hi All
    I have a function activity in a workflow, which is based on a PL/SQL procedure. When I make any changes to the package or the stored procedure, workflow gives "Could not find package or program unit" error, even though the status of the package is valid in database.
    Essentially everytime I re-apply the package, I get this error. I then drop the package and then recreate it. Even then the error is not resolved immediately. Does this requires Apache bounce? Is there any other step that I am missing when we make changes to database packages that are based on workflow activities?
    It would be of great help if someone can throw light on the above.
    Many thanks in advance
    cheers
    Murari

    Hi,
    Have you tried searching this forum for the error message? There are plenty of posts about it here, on the WorkflowFAQ forum, and also in my blog about the issue, why it happens, and how you can avoid it.
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://thoughts.workflowfaq.com ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • N level tree based on PL/SQL procedure

    Hi everyone,
    I want to display a tree of n levels of employees (n is not known in advance) :
    Root(Boss)
    | Employee1
    | Employee11
    ......... | Employee1NN...
    | Employee12
    | EmployeeN
    .....| EmployeeNN..
    The problem is that I don't have access to tables containing the employees. For each employee I get the "sub-employees" list by calling a PL/SQL stored procedure getEmployees(masterEmployeeName).
    So is there a way in ApEx to create a n level and sublevel tree, each level corresponding to a PL/SQL procedure ?
    Best regards,
    Othman.

    Hi Othman,
    I haven't tried this for a while, the last time I had to do anything like this was to construct a folder structure starting from a root folder.
    Assuming that you can retrieve ID's and employee names in your function, the principle would be something like:
    1 - Create two collections - one for the Tree (to hold ID, Name and Parent ID) and one to hold a list of Employee IDs
    2 - Into the Tree collection, create a new member and insert 0, Root, null (Where 0 is the ID for the top boss and Root is whatever name you need to give this), into c001, c002 and c003
    3 - Into the Employee collection, create a new member and insert 0 into column c001
    4 - Now create a loop to run while the Employee collection contains at least one member
    5 - In the loop:
    5 A) Get the value from c001 in the first member in the collection (this will be the "Parent ID")
    5 B) run your function to retrieve a list of employees relating to that Parent ID, if any
    5 C) Loop through the list and insert a member into the Tree collection: ID, Name, Parent ID and insert the employee's ID into the Employee collection
    5 D) Delete the first member from the Employee collection and resequence the collection (to give you a new member number 1)
    6 - Eventually, you will have no members left in the Employee Collection - your loop should terminate
    7 - You should now have a complete structure in the Tree collection which can be used on the page
    Regards
    Andy

  • Reports based on PL/SQL Procedure/Function

    Hi all,
    After some serious Google and forum searches, it appears as if this is something that just isn't possible (or easy to do).
    I've been charged with creating an APEX application that displays reports. There are a series of Procedures that will be written to return a result set, updated to take into account some filters that a user would provide. The key here is that the report won't be displayed until AFTER a user inputs some filters on a form and hits a Submit button. The project requires this functionality - allowing the report to be displayed and THEN filtered using the APEX IR Control is not desired (not my decision).
    There doesn't seem to be an easy way to define a report in this manner. It appears that the query for a report query needs to be known ahead of time.
    So, with that setup - is there a way to define an APEX report based on the return result of a PL/SQL function? OR is there a way to define a report using a SQL Query that is built based on user inputs?
    Any help would be appreciated.
    - Pedro

    Hi,
    Check if this post help you.
    Dynamic html table
    And normal reports can be also created from select that function is returning.
    http://www.oracle.com/technology/products/database/application_express/howtos/dynamic_report.html
    Br, Jari
    Edit:
    Maybe useful
    http://www.apex-blog.com/oracle-apex/dynamic-report-regions-tutorial-32.html
    http://www.oracleapplicationexpress.com/2009/02/interactive-report-based-on-plsql.html
    Edited by: jarola on Sep 9, 2009 5:14 PM

  • Headstart prevents using Module components based on IOTs

    I want to build a module component based on an index-organized
    table. The following Designer + Headstart behaviour prevents
    correct functioning of such a block:
    - Block property 'Enforce Primary Key' must be set
    - Block Property 'Key mode' must be set to 'Non Updatable'
    - 'Primary Key' property of PK items must be set
    - The event ON-LOCK calls qms$record.unlock, which calls
    the lock_record built-in. This should not be done for an IOT.
    Solutions:
    - I have made new source objects for IOT Block and PK items,
    and assign these to the MC and bound items when applicable.
    - I modified the ON-LOCK event to not include the lock_record.
    The qms$record.unlock procedure is obsolete anyhow, since it
    is a workaround for an old (solved) bug.
    Headstart Team:
    I recommend you include these workarounds in the standard object
    library and pl/sql library.

    Peter,
    Thanks for your feedback. I have posted an enhancement request
    for the next release of Headstart.
    Regards,
    Lauri

  • Should ADT create module components based on views?

    I have a function (representing a report) with Read usage on two entities, and one entity is implemented by a table and the other implemented by a view. When I run the Application Design Transformer, the resulting module has a module component based on the table, but no component based on the view. This happens in our new configuration (9iDS/10g Database), as well as in our old one (Designer 2.1/8i Database). Is this expected behavior for the ADT, or should I see a component based on the view?

    Peter,
    Thanks for your feedback. I have posted an enhancement request
    for the next release of Headstart.
    Regards,
    Lauri

  • CDR-21605: Failed while processing Module Component % in function c

    I'm generating a form with designer 6i (status 6.5.69.1.0 configuration 4.012). My form is a tabular form, every tab has the subcomponents that refer to previous tab.
    When I create the last subcomponent, exactly the 5th, and I generate, designer give me this message:
    Message
    CDR-21605: Failed while processing Module Component B_JRRP_01 in function cfbfkg_fk_missing_message() :2943 BOF Not in a BoF
    Cause
    The generator failed due to an unexpected error - the
    error indicates the object the generator was processing
    when it failed.
    Action
    When I remove the subcomponent that refer to this module designer generate all.
    I didn't found nothing in metalink, there is someone who can help me?
    Thanks a lot.
    Federica

    Hi
    We seems to have the same problem with all modules based on a certain table definition. If the module component based on the table is removed from the module, we don't get the error. But we have no idea what is wrong with the table definition.
    Anker Møller

  • How to pass multiple parameters while calling a pl/sql procedure based serv

    Hi,
    I have a pl/sql procedure based service that needs to be invoked from the bpel console for testing purpose. This procedure accepts multiple input values which are of varchar2,boolean and datetime data types. How can I get the bpel console to throw a UI where I can enter these values --in other words where(which file and where) can I specify that these are the input parameters that need to be entered along with their types.
    Thanks for yr help!

    Change the payload of the request 'Process WSDL' message type. Change the element of the payload for the RequestMessage to be 'InputParameters' from the XSD generated by the DB Adapter wizard.
    Edit the payload (Element) - Choose 'Project Schema Files'. Select 'InputParameters' from the XSD.
    You can also change the ResponseMessage by doing the same thing, except that you select 'OutputParameters' from the XSD.

  • Dynamic sql and block based on a stored procedure

    Hi!
    I'm triying to generate a block based on a stored procedure. I want the stored procedure to execute a dynamic sql, but I'm having getting the error "PLS-00455 cursor 'AULOCASLATE' cannot be used in dynamic SQL OPEN statement".
    I have the following code:
    CREATE OR REPLACE package pkg_f0015 is
    type rClieInstSlate is record
    (clie_id CMS_CLIENTS.ID%type
    ,client_nm varchar2(1000)
    ,cs_no CMS_CLIENTS.CS_NO%type
    ,dob CMS_CLIENT_NAMES.BIRTH_DT%type);
    type tClieInstSlate is table of rClieInstSlate;
    type uClieInstSlate is ref cursor return rClieInstSlate;
    procedure prLocationSlateQry(
    auLocaSlate in out uClieInstSlate,                anCsNo in CMS_CLIENTS.CS_NO%type,
    avClieNm in varchar2,
    avSearchType in varchar2,
    avLotyCd in CMS_LOCATION_TYPES.CD%type);
    end pkg_f0015;
    CREATE OR REPLACE PACKAGE BODY pkg_cms_f0015 is
    procedure PRLocationSlateQry( auLocaSlate in out uClieInstSlate,
    anCsNo in CMS_CLIENTS.CS_NO%type,
    avClieNm in varchar2,
    avSearchType in varchar2,
    avLotyCd in CMS_LOCATION_TYPES.CD%type) IS
    vSelect varchar2(5000);
    vAddCond varchar2(1000);
    vSupLevel varchar2(50);
    begin
    vSelect := 'select clie.ID,'||
    ' CLIENT_NAME,'||
    ' clie.CS_NO,'||
    ' clna.BIRTH_DT dob'
    ' from CMS_CLIENT_NAMES clna,'||
    'CMS_CLIENTS clie'||
    ' where clna.CLIE_ID = clie.ID';
    if avSearchType= 'C' then
    vAddCond := ' and clie.CS_NO = nvl('||anCsNo||',clie.CS_NO)';
    vSelect := vSelect || vAddCond;
    open auLocaSlate for vSelect;
    end if;
    end PRLocationSlateQry;
    end;
    I wonder if what I want is possible

    OK,
    Now it works. Previously we had the parameter p_guid declared as RAW, which obviously is not any good. :)
    Radovan
    Edited by: biciste on Apr 28, 2009 4:57 PM

  • Include Button that executes PL/SQL procedure to SQL query based region

    I would like to add two columns to a SQL query region.
    These columns would not be sourced from the query, but rather would be used to execute a PL/SQL procedure.
    For example, I would like to have a manager approve or deny adding an additional employee to the department.
    There would be one button for APPROVE. And, one button for DENY.
    The PL/SQL procedure would execute to perform the required DML based upon the selected action (either APPROVE or DENY).
    A sample output would look like this:
    <APPROVE>, <DENY>, John Doe, Accountant
    <APPROVE>, <DENY>, Jane Doe, Accountant
    Is there any way to add a button to a SQL Query based report region where that button executes a stored proc? If so, what is the basic process for doing this?
    Thanks!
    -Reid

    Is there any way to add a button to a SQL Query based report region where that button executes a stored proc? If so, what is the basic process for doing this?Conditional page item? You can associate processes with buttons on a page

  • Send String[][] type to pl/sql procedure from function in App.module

    Hi,
    I use jdveloper 11.1.1.3.0
    I have a pl/sql procedure. the input type argument is 2-dimensional array(TAR) :
    types:
    create or replace TYPE ARRAYWEB as varray(160) of VARCHAR2(200);
    create or replace TYPE TAR as table of ARRAYWEB;
    Procedure:
    PROCEDURE testi(info IN TAR )
    I want to send type String[][] to this procedure from a function in Application module:
    1: String[][] str;
    2: CallableStatement plsqlBlock = null;
    3: String statement = "BEGIN testi(:1); END;";
    4: plsqlBlock = getDBTransaction().createCallableStatement(statement, 0);
    5: plsqlBlock.setArray(1, str); //get error
    6: plsqlBlock.executeUpdate();
    but in line 5 I don't know what type I should use, and this type(Array) doesn't work
    Habib

    Maybe this can help: http://www.devx.com/tips/Tip/22034
    Dario

Maybe you are looking for

  • How can I remove icloud from my iphone as I don't want my whole mailbox on it?

    Is it possible to only receive email without having my whole mailbox downloaded?  If not, how do I remove icloud from my devices?

  • Show Thumbnail of all files in a folder and its subfolders

    Hi Guys, I want to set the Filter Panel (Adobe Bridge CS3) to "show all items in this folder and all its subfolders" through Java script on windows. From UI it is possible by clicking on icon buton present in the filter panel and content panel shows

  • Interactive movie controls

    Hi, Sorry if this a silly question or not appropriate for Premiere. I am creating a presentation for my company, a corporate looking one. I built one in Flash, which was fine, but a bit fidly, as the presentation was very long (about ten minutes) and

  • EPM workspace 11.1.2.(x) - usage tracking for Financial REports?

    hi all! have a simple question - is it now possible to enable usage tracking in FR objects in Workspace 11.1.2? could not enable any relevant MIME types, so I guess it is not possible, right? or can I enable FR MIME types somehow? many thanks Michael

  • Document update date

    Hi Experts, How can I find out when a document e.g. Production is last updated from the system? Just wonder if there is a way to find out the metadata from the system that when a field get changed. There is a status field on Production Order Header t