How to write a hierarchical query so that only the child nodes are displayed?

Hi all

I have a hierarchical query that I use in an area of tree demand APEX and there are nodes that have no children and I am trying to find a way to not display these nodes. Essentially if the user does not have to develop a lot of knots to know that nothing exists at the most detailed level.

The data are based on the Oracle Fusion FND tables but for example purposes here is enough data to illustrate my question:


create table APPL_TAXONOMY_HIERARCHY (SOURCE_MODULE_ID varchar2(30), TARGET_MODULE_ID varchar2(30));
create table APPL_TAXONOMY_TL (module_id varchar2(30), description varchar2(100), user_module_name varchar2(30), language varchar2(5));
create table APPL_TAXONOMY (MODULE_ID    varchar2(30),    MODULE_NAME    varchar2(30), MODULE_TYPE varchar2(10),    MODULE_KEY varchar2(30));
create table TABLES (table_name varchar2(30), module_key varchar2(30));

insert into APPL_TAXONOMY_TL values ('1', null, 'Oracle Fusion', 'US' );
insert into APPL_TAXONOMY_TL values ('2', null, 'Financials', 'US' );
insert into APPL_TAXONOMY_TL values ('3', null, 'Human Resources', 'US' );
insert into APPL_TAXONOMY_TL values ('20', null, 'Accounts Payable', 'US' );
insert into APPL_TAXONOMY_TL values ('10', null, 'General Ledger', 'US' );

insert into APPL_TAXONOMY_HIERARCHY values ('1', 'DDDDDDDD');
insert into APPL_TAXONOMY_HIERARCHY values ('2', '1');
insert into APPL_TAXONOMY_HIERARCHY values ('3', '1');
insert into APPL_TAXONOMY_HIERARCHY values ('4', '1');
insert into APPL_TAXONOMY_HIERARCHY values ('10', '2');
insert into APPL_TAXONOMY_HIERARCHY values ('20', '2');

insert into APPL_TAXONOMY values ('1', 'Fusion', 'PROD', 'Fusion');
insert into APPL_TAXONOMY values ('2', 'Financials', 'FAMILY', 'FIN');
insert into APPL_TAXONOMY values ('10', 'GL', 'APP', 'GL');
insert into APPL_TAXONOMY values ('3', 'Human Resources', 'FAMILY', 'HR');
insert into APPL_TAXONOMY values ('20', 'AP', 'APP', 'AP');

insert into tables values ('GL_JE_SOURCES_TL','GL');
insert into tables values ('GL_JE_CATEGORIES','GL');

My hierarchical query is as follows:

with MODULES as
(
SELECT h.source_module_id, b.user_module_name, h.target_module_id
      FROM APPL_TAXONOMY_HIERARCHY H,
      APPL_TAXONOMY_TL B,
APPL_TAXONOMY VL
where H.source_module_id = b.module_id
and b.module_id = vl.module_id
and vl.module_type not in ('PAGE', 'LBA')
UNION ALL
select distinct table_name, table_name,  regexp_substr(table_name,'[^_]+',1,1) 
from TABLES --needed as a link between TABLES and APPL_TAXONOMY
union all
select module_key as source_module_id, module_name as user_module_name, module_id as target_module_id  from appl_taxonomy VL where VL.module_type = 'APP')
SELECT  case when connect_by_isleaf = 1 then 0
            when level = 1             then 1
            else                           -1
       end as status,
LEVEL,
user_module_name as title,
null as icon,
ltrim(user_module_name, ' ') as value,
null as tooltip,
null as link
      FROM MODULES
      START WITH source_module_id = '1'
      CONNECT BY PRIOR source_module_id = target_module_id
ORDER SIBLINGS BY user_module_name;

In Oracle APEX, this gives a tree with the appropriate data, you can see here:

https://Apex.Oracle.com/pls/Apex/f?p=32581:29 (username: guest, pw: app_1000);

The SQL of the query results are:

STATUSTITLE LEVELVALUE

---------- ---------- ------------------------------ ------------------------------

11 oracle FusionOracle Fusion
-12 financial tablesFinancials
-13 accounts payableAccounts payable
04 APAP
-1General Accounting 3General Accounting
-14 GLGL
05 GL_JE_CATEGORIESGL_JE_CATEGORIES
05 GL_JE_SOURCES_TLGL_JE_SOURCES_TL
02 human resourcesHuman resources

The lowest level is the name of the table to level 5. HR is not any level under level 2, in the same way, "AP" (level 4) has nothing below, i.e. no level 5 and that's why I don't want to show these nodes. Is this possible with the above query?

Thanks in advance for your suggestions!

John

Hello

The following query will include only the nodes of level = 5 and their ancestors (or descendants):

WITH modules LIKE

(

SELECT h.source_module_id

b.user_module_name AS the title

h.target_module_id

To appl_taxonomy_hierarchy:

appl_taxonomy_tl b

appl_taxonomy vl

WHERE h.source_module_id = b.module_id

AND b.module_id = vl.module_id

AND vl.module_type NOT IN ('PAGE', "LBA")

UNION ALL

SELECT DISTINCT

table-name

table_name

, REGEXP_SUBSTR (table_name, ' [^ _] +')

From the tables - required as a link between the TABLES and APPL_TAXONOMY

UNION ALL

SELECT module_key AS source_module_id

AS user_module_name module_name

module_id AS target_module_id

Of appl_taxonomy vl

WHERE vl.module_type = 'APP '.

)

connect_by_results AS

(

SELECT THE CHECK BOX

WHEN CONNECT_BY_ISLEAF = 1 THEN 0

WHEN LEVEL = 1 THEN 1

OF ANOTHER-1

The END as status

LEVEL AS lvl

title

-, NULL AS icon

, LTRIM (title, "") AS the value

-, NULL as ToolTip

-, Link AS NULL

source_module_id

SYS_CONNECT_BY_PATH (source_module_id - or something unique

, ' ~' - or anything else that may occur in the unique key

) || ' ~' AS the path

ROWNUM AS sort_key

Modules

START WITH source_module_id = '1'

CONNECT BY PRIOR Source_module_id = target_module_id

Brothers and SŒURS of ORDER BY title

)

SELECT the status, lvl, title, value

-, icon, tooltip, link

OF connect_by_results m

WHEN THERE IS)

SELECT 1

OF connect_by_results

WHERE the lvl = 5

AND the path AS ' % ~' | m.source_module_id

|| '~%'

)

ORDER BY sort_key

;

You may notice that subqueries modules and the connect_by_results are essentially what you've posted originally.  What was the main request is now called connect_by_results, and it has a couple of additional columns that are necessary in the new main request or the EXISTS subquery.

However, I am suspicious of the 'magic number' 5.  Could you have a situation where the sheets you are interested in can be a different levels (for example, some level = 5 and then some, into another branch of the tree, at the LEVEL = 6, or 7 or 4)?  If so, post an example.  You have need of a Query of Yo-Yo, where you do a bottom-up CONNECT BY query to get the universe of interest, and then make a descendant CONNECT BY query on this set of results.

Tags: Database

Similar Questions

  • How to write a pl/sql procedure that checks the remote db?

    Hi all

    I have one criticism PROD remote database I want to check every 10 minutes for its connectivity. If the connection fails then an email and a text Message is sent to me.
    My question is what is the best way to check if the remote database is running?

    Can I use sqlplus system/manager@PROD? But sometimes this has taken so long and suspended. I want the best response time?

    How can I write a pl/sql procedure control connection? What do something like the ff:

    I created a table for my tnsname.ora entries.
    cursor is c1 select dbname from tnsnames_tbl;
    begin
        connect system/[email protected];
        print c1.dbname || 'DB Connection OK';
        exception
           when others;
            print c1.dbname || 'DB Connection Not OK';
        end;
    end;
    Something like that?

    Thank you
    Kinz

    Not really feasible at the level of PL/SQL.

    The reason is that the greatest strength of TCP's robustness. TCP will try as hard as possible to succeed, before failing. It was designed to still work on the severely damaged or broken communication as a result of nuclear infrastructure. A TCP connection can take up to 15 minutes, maybe even more, before failing. It can be as slow as a turtle-, but he's wearing a hardshell. (unlike the UDP, which is the opposite)

    So if you want to test the TCP connectivity, you must design your own custom code to implement your assumptions about the latency of packets, earthquakes and drops and so on.

    Otherwise, you will need to use a standard TCP socket, set a time limit, try to login - and hope for the best.

    This approach, I have demonstrated in {message identifier: = 10111306}.

    If the TCP test works, it means that the listener is in place. Does not mean that the database itself is in place. Which means then using a database link to be tested. And this in turn can hang due to problems with archive record being stuck, not enough idle servers shared, etc..

  • Mr President, how can I enter two rows at the same time with different default values that only the first line to use see?

    Mr President.

    My worm jdev is 12.2.1

    How to enter two rows at the same time with different default values that only the first line to use see?

    Suppose I have a table with four fields as below

    "DEBIT" VARCHAR2(7) , 
      "DRNAME" VARCHAR2(50),
      "CREDIT" VARCHAR2(7) , 
      "CRNAME" VARCHAR2(50),
    

    Now I want that when I click on a button (create an insert) to create the first line with the default values below

    firstrow.png

    So if I click on the button and then validate the second row with different values is also inserted on commit.

    The value of the second row are like the picture below

    tworows.png

    But the second row should be invisible. It could be achieved by adding vc in the vo.

    The difficult part in my question is therefore, to add the second row with the new default values.

    Because I already added default values in the first row.

    Now how to add second time default values.

    Concerning

    Mr President

    I change the code given by expensive Sameh Nassar and get my results.

    Thanks once again dear Sameh Nassar .

    My code to get my goal is

    First line of code is

        protected void doDML(int operation, TransactionEvent e) {    
    
            if(operation != DML_DELETE)
                 {
                     setAmount(getPurqty().multiply(getUnitpurprice()));
                 } 
    
            if (operation == DML_INSERT )
                       {
                               System.out.println("I am in Insert with vid= " + getVid());
                           insertSecondRowInDatabase(getVid(),getLineitem(),"6010010","SALES TAX PAYABLE",
                            (getPurqty().multiply(getUnitpurprice()).multiply(getStaxrate())).divide(100));      
    
                           }
    
            if(operation == DML_UPDATE)
                              {                                                    
    
                                 System.out.println("I am in Update with vid= " + getVid());
                             updateSecondRowInDatabase(getVid(),
                                 (getPurqty().multiply(getUnitpurprice()).multiply(getStaxrate())).divide(100));      
    
                              }                      
    
            super.doDML(operation, e);
        }
        private void insertSecondRowInDatabase(Object value1, Object value2, Object value3, Object value4, Object value5)
                  {
                    PreparedStatement stat = null;
                    try
                    {
                      String sql = "Insert into vdet (VID,LINEITEM,DEBIT,DRNAME,AMOUNT) values " +
                 "('" + value1 + "','" + value2 + "','" + value3 + "','" + value4 + "','" + value5 + "')";  
    
                      stat = getDBTransaction().createPreparedStatement(sql, 1);
                      stat.executeUpdate();
                    }
                    catch (Exception e)
                    {
                      e.printStackTrace();
                    }
                    finally
                    {
                      try
                      {
                        stat.close();
                      }
                      catch (Exception e)
                      {
                        e.printStackTrace();
                      }
                    }
                  }  
    
                  private void updateSecondRowInDatabase(Object value1, Object value5)
                  {
                    PreparedStatement stat = null;
                    try
                    {
                      String sql = "update vdet set  AMOUNT='"+ value5+"' where VID='" + value1 + "'";                     
    
                      stat = getDBTransaction().createPreparedStatement(sql, 1);  
    
                      stat.executeUpdate();
                    }
                    catch (Exception e)
                    {
                      e.printStackTrace();
                    }
                    finally
                    {
                      try
                      {
                        stat.close();
                      }
                      catch (Exception e)
                      {
                        e.printStackTrace();
                      }
                    }                  
    
                  }
    

    Second line code is inside a bean method

        public void addNewPurchaseVoucher(ActionEvent actionEvent) {
            // Add event code here...
    
            BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
                   DCIteratorBinding dciter = (DCIteratorBinding) bindings.get("VoucherView1Iterator");
                   RowSetIterator rsi = dciter.getRowSetIterator();
                   Row lastRow = rsi.last();
                   int lastRowIndex = rsi.getRangeIndexOf(lastRow);
                   Row newRow = rsi.createRow();
                   newRow.setNewRowState(Row.STATUS_NEW);
                   rsi.insertRowAtRangeIndex(lastRowIndex +1, newRow);
                   rsi.setCurrentRow(newRow);
    
                   BindingContainer bindings1 = BindingContext.getCurrent().getCurrentBindingsEntry();
                   DCIteratorBinding dciter1 = (DCIteratorBinding) bindings1.get("VdetView1Iterator");
                   RowSetIterator rsi1 = dciter1.getRowSetIterator();
                   Row lastRow1 = rsi1.last();
                   int lastRowIndex1 = rsi1.getRangeIndexOf(lastRow1);
                   Row newRow1 = rsi1.createRow();
                   newRow1.setNewRowState(Row.STATUS_NEW);
                   rsi1.insertRowAtRangeIndex(lastRowIndex1 +1, newRow1);
                   rsi1.setCurrentRow(newRow1);
        }
    

    And final saveUpdate method is

        public void saveUpdateButton(ActionEvent actionEvent) {
            // Add event code here...
    
            BindingContainer bindingsBC = BindingContext.getCurrent().getCurrentBindingsEntry();      
    
                   OperationBinding commit = bindingsBC.getOperationBinding("Commit");
                   commit.execute(); 
    
            OperationBinding operationBinding = BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("Commit");
            operationBinding.execute();
            DCIteratorBinding iter = (DCIteratorBinding) BindingContext.getCurrent().getCurrentBindingsEntry().get("VdetView1Iterator");// write iterator name from pageDef.
            iter.getViewObject().executeQuery();  
    
        }
    

    Thanks for all the cooperation to obtain the desired results.

    Concerning

  • hierarchical query of VO in the ofa page

    Hello

    I try to use the hierarchical query in VO for the display of all levels of supervisors for employee and want to display in populist:

    This is the query

    REPLACE SELECT distinct (mgx.full_name, "',' ') supervisor_full_name;

    XPP. Employee_number

    OF per_assignments_x pax,.

    per_people_x ppx,

    per_people_x mgx,

    per_positions pp,

    per_jobs pj,

    per_position_definitions ppd

    WHERE ppx.person_id = pax.person_id

    AND ppx.current_employee_flag = 'Y '.

    AND mgx.person_id = pax.supervisor_id

    AND pp.position_id = pax.position_id

    AND pj.job_id = pax.job_id

    AND ppd.position_definition_id = pp.position_definition_id

    START WITH ppx.employee_number =: 1

    CONNECT BY PRIOR MGX.employee_number = ppx.employee_number AND LEVEL < 6

    I'm trying to get this VO implemented PR when I run the page in jdeveloper with parameter binding, it's getting error.

    oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: 27122 Houston: SQL error in the preparation of the statement.

    I would like to delete the parameter binding and executing CO VO past these two statements may be:

    START WITH ppx.employee_number =: 1

    CONNECT BY PRIOR MGX.employee_number = ppx.employee_number AND LEVEL < 6

    How can I do?

    Thank you

    MK

    has worked?

  • How to write a script for date get to the Clipboard

    Hi experts,

    How to write a script for date get to the Clipboard.

    the date format will be like this:

    05 - may

    respect of

    John

    Thanks guys, thanks Sanon

    I finally use the .bat doc

    like this:

    @@echo off
    for /f "delims =" % in (' wmic OS Get localdatetime ^ | find ".") "") Set "dt = %% a"
    the value "YYYY = % dt: ~ 0, 4%.
    the value "MM = % dt: ~ 4, 2%.

    If MM % is 01 set MM = January
    If % MM == 02 set MM = February
    If MM % is MM value = March 03
    If MM % is 04 MM value = April
    If MM % is 05 MM value = may
    If MM % is 06 MM value = June
    If MM % == 07 set MM = July
    If MM % is MM value = August 08
    If MM % is MM value = September 09
    If MM % is 10 MM value = October
    If MM % is 11A set MM = November
    If MM % is game MM 12 = December

    the value "DD = % dt: ~ 6, 2%.
    the value "HH = % dt: ~ 8, 2%.
    the value "Min = % dt: ~ 10, 2%.
    Set "s = % dt: ~ 12, 2%.

    Echo DD - MM HH % %% % Min | Clip

    It works

    respect of

    John

  • Please wait while Windows configures FAX"... this process stops and I get another message that says:"the component you are trying to use is on a CD-ROM or another removable disk that is not available. "

    Original title: widows installation problem

    I have Windows XP Professional running on a desktop older.  I cleaned the disk and I would use it only as a 'internet '.  It works well and response times are pretty fast, but when I connect I get a box that says "Please wait while Windows configures FAX"... this process stops and I get another message that says "the component you are trying to use is on a CD-ROM or another removable disk that is not available", "put the 'FAX' disk and click OK. , "" Use Source: '1' "»

    The first question is I do not use a fax application and never did, I have tried every disk I can think of to complete the process, but I get the same message with each one 'the path '1' is not found. "Make sure you have access to this place and try gain or find the installation 'FAX, MSI' package in a folder from which you can install the FAX product." .. then "error 1706 - FAX." Valid any source not found for the FAX product.  Windows Installer cannot continue. »

    This will take place two or three times at the beginning upward.  How can I prevent Windows Setup tries to install something that I do not use or do not seem to have?  I deleted any fax program, that I could find on the computer, and nothing seems to work.

    Hello

    1. have you done any change in software on the computer lately?
    2. are you able to install other applications and programs successfully?

    Check to see if the problem exists in Safe Mode, if the computer works as expected in mode without failure, then we can solve the problem in the clean boot state. There is an application which is set to start when you start the computer and which launches the installer of Windows.
    a. refer to the article below for the procedure safe mode in Windows XP
    A description of the options to start in Windows XP Mode
    http://support.Microsoft.com/kb/315222

    b. you need to perform a clean boot to find the program that is causing and then disable or remove.
    How to configure Windows XP to start in a "clean boot" State
    http://support.Microsoft.com/kb/310353/en-us
    Note: When you are finished troubleshooting, follow the steps as explained in the article to reset the computer to start as usual.

    I hope this helps.

    Thank you, and in what concerns:
    Shekhar S - Microsoft technical support.

    Visit our Microsoft answers feedback Forum and let us know what you think.
    If this post can help solve your problem, please click the 'Mark as answer' or 'Useful' at the top of this message. Marking a post as answer, or relatively useful, you help others find the answer more quickly.

  • How do I configure backup so it retains only the 3 most recent backup games?

    How do I configure backup so it retains only the 3 most recent backup games?

    > don

    Original title: Windows backup

    Hi Don,

    Welcome to the Microsoft community where you can find all the answers related to Windows.

    According to the description, you are having problems with Windows backup utility.

    Unfortunately, you cannot set a number for the amount of backup sets that you can keep. Once you perform a backup it will overwrite the existing backup.

    Meet us if you encounter problems with Windows backup or any Windows question, and we would be happy to help you.

    Good day!

    Hope this information helps.

  • Filter analysis so that only the latest version of a record appears...

    Hello

    Can someone tell me how can I filter an OBIEE analysis so that only the latest version of a record is displayed (using the column ID and Version)? Take the below as an example of value data:

    ID Version country value
    TS331GB3433565
    TS441U.S..34124
    TS511Japan4563506
    TS332GB3443365
    TS333GB546654
    TS512Japan995647

    The OBIEE report should filter this data set and display an analysis as follows:

    ID Version country value
    TS333GB546654
    TS441U.S..34124
    TS512Japan995647

    Any help anyone can offer is appreciated.

    Thank you

    Feddinga

    Would be useful that the latest Version is identified by the ETL and a filter is created in the analysis.

    However, in the analysis criteria tab.

    1. Sort Ascending ' ID' column.

    2 Add more sorting: sort descending on the 'Version '.

    3 create a formula of 'formula_name' with 'RCOMPTE '. For example, "RCOMPTE (Version BY Id)".

    4 create a filter on the form (for example, "formula_name = 1')

    5 hide column "formula_name."

    6. run the analysis.

    HTH.

    Kind regards

    Maury.

  • Try to install Service Pack 2 for Windows Vista and it says this "one or more system components that require the service pack are missing" need help?

    Try to install Service Pack 2 for Windows Vista and it says this "one or more system components that require the service pack are missing" need help?

    Hi, Mksethompson,

    What is your model of computer?

    Error message when you try to install Windows Vista Service Pack 2: "one or more system components that require the service pack are missing."

    http://support.Microsoft.com/kb/968279

    Dell issue

    http://en.community.Dell.com/support-forums/software-OS/f/3524/t/19278096.aspx

  • How should I do to don't see only the tools-plan when I start Dc Acrobat?

    How should I do to don't see only the tools-plan when I start Dc Acrobat?

    Hey Peter,

    If you use the player, then you can do the same thing in preferences as I mentioned above.

    Or, if you have Acrobat, then you can hide the tool by key pane by pressing (SHIFT + F4), enable option 'Restore last view settings... ' under ' Edit > Preferences > Documents.

    Close Acrobat and then relaunch it.

    Kind regards

    Ana Maria

  • Is it possible that only DPS buyed holders are able to connect to IPAD Content Viewer App?

    Is it possible that only DPS buyed holders are able to connect to IPAD Content Viewer App?

    Connect to digitalpublishing.acrobat.com with this ID, and then try again.

    Bob

    grafikerorg.de <> [email protected]>

    Tuesday, April 2, 2013 10:41

    >

    Re: Is it possible that only DPS buyed holders are able to

    connect on IPAD Content Viewer App?

    created by grafikerorg.de

    http://forums.Adobe.com/people/grafikerorg.de> in/Digital Publishing

    Suite /-see complete discussion

    http://forums.Adobe.com/message/5199071#5199071

  • How to write better my query

    Hello

    on 11.2.0.4

    I have two tables:

    creation scripts are attached.

    Capture.PNG

    And I wrote a query to search for the students in which all their friends are in different qualities of themselves. Return the students names and ranks.

    Here's my query and it works fine. But can it be written better? More effectively?

    Select friend f, h1 highschooler, f.id1, h1.name, h1.grade, f.id2, h2.name, h2.grade

    H2 highschooler where h1.id = f.id1 and h2.id = f.id2 and h1.grade <>h2.grade and f.id1 not in

    (by selecting f1.id1 in friend f1, h3 highschooler,

    highschooler h4 where h3.id = f1.id1 and h4.id = f1.id2 and h3.grade = h4.grade)

    Thank you and best regards.

    Step has)

    count(*) over(partition by id1) cnt
    

    It counts how many ID2 are there in each ID1

    Step B)

    count(decode(h.grade, h1.grade, null, 1)) over(partition by id1) f1
    

    This does 2 things

    Step 1

    decode(h.grade, h1.grade, null, 1)
    

    If grade ID1 is equal to the rank of ID2 return NULL otherwise if its different 1 return

    Note: COUNTY does not have the value NULL. This is the reason for return null.

    Step 2

    count() over(partition by id1) f1
    

    This is essentially considered how ID2 can have a different category than for each ID1 ID1

    When we filter for step A is equal to step B, then it will give ID1 which all ID2 are in a different category

  • How to write a procedure to call and run the custom package backend

    Hi all

    Oracle 10g
    Oracle Apps R12

    I work with here oracle order management, we have a package called (Pick Release) to customize. Due to a problem, we have this concurrent program execution manually giving Route_id as parameter. The route_id comes from the road to the Table. By using this query

    Select distinct route@DB_LINK_APPS_TO_ROADSHOW route_id
    When trunc (route_date) = trunc (sysdate + 2).

    on a daily basis, we have almost 42 routes and we run this simultaneous program manually close times.

    so now how to write a procedure for this

    Step 1 make the route to the routing table. (By cursor we can get the route_id accordingly)

    Step 2 How to trigger custom backend package and run accordingly to this output of the cursor (route_id)

    If 40 routes of cursor get is - that the simultaneous program runs 40 times according to this route_id.


    can some could provide the steps to do this


    Thanks and greetings

    Srikkanth.M

    To submit a competing request from the back - end:

    FND_REQUEST. SUBMIT_REQUEST (Client or server)

    Summary

    function FND_REQUEST. SUBMIT_REQUEST

    (application IN varchar2 default NULL,

    program IN varchar2 NULL by default,

    Description IN varchar2 default NULL,

    start_time IN varchar2 default NULL,

    sub_request IN default boolean FALSE

    Argument1,

    argument2,..., argument99.

    Return to argument100 number);

    Description

    Submits a competing treatment by a simultaneous Manager. If the query is successful, this function returns the ID of the concurrent request; Otherwise, it returns 0.

    ATTENTION: FND_REQUEST needs to know information about the user and accountability whose application is submitted. Therefore, this feature works of concurrent programs or forms within the Oracle Applications.

    The FND_REQUEST. SUBMIT_REQUEST function returns the ID of the concurrent application after successfully. It is up to the caller to issue a commit to complete the application.

    Your code should retrieve and handle the error message generated if there is a problem of presentation (the ID of the concurrent request returned is 0). Use FND_MESSAGE. RETRIEVE and FND_MESSAGE. ERROR to retrieve and display the error (if the application is made on the client side).

    Related essays: overview of the Message dictionary (see page)

    You must call FND_REQUEST. SET_MODE before calling FND_REQUEST. SUBMIT_REQUEST of a database trigger.

    If FND_REQUEST. SUBMIT_REQUEST fails to go anywhere but a database trigger, database changes are cancelled until the time of the function call.

    After a call to the FND_REQUEST. SUBMIT_REQUEST function, installation of all parameters are reset to their default values.

    Arguments (input)

    short name of the application associated with the concurrent request for enforcement.
    short simultaneous program (not the executable) name of the program for which the application must be made.
    Description Description of the application that appears in the form of concurrent requests (optional).
    start_time time during which demand is expected to start running in the (optional) HH24 or HH24:MI:SS format.
    sub_request set to TRUE if the request is made by another application and should be treated as a subquery.
    From version 11, this parameter can be used if you submit requests for in a concurrent program of PL/SQL stored procedure.
    argument1... 100 arguments for the concurrent request; up to 100 arguments are allowed. If the Oracle Forms submitted, you must specify all arguments of 100.

  • How I write more specific instruction of if at the same time!

    I'm trying to use an IF / formula of EELS in JavaScript for autopopulate a text field in a table, but I get a syntax error.

    Could someone please help?

    and I want to write a specific text on the cells of a table, but before I want to check if this cell was empty or not, if it's empty (this cell1.rawValue = 'text') silt must go in the cell 2 silt and piloted at the other. And so on.

    Tabel1

    1Yes
    2None

    tabel2 |

    cell1"text".
    cell2
    cell3
    cell4

    something close with that can help you understand me more: (it's not really in the code)

    If tabel1.rawValue = 1

    and if tabel2.cell1.rawValue is nothing then

    tabel2.cell1.RawValue = "text".

    on the other

    If tabel2.cell2.rawValue == null then

    tabel2.cell2.rawValue = "text".

    Silt

    If tabel2.cell3.rawValue == null then

    tabel2.cell3.rawValue = "text".

    Silt

    If tabel2.cell4.rawValue = null then

    tabel2.cell4.rawValue = "text".

    Silt

    {

    xfa.host.messageBox ("there is no space in the table!");

    }

    Thnak you! I wish you can help me!

    Hello

    before understanding in JavaScript syntax, there are databases, you need to understand with operators

    JavaScript operators:

    the use of "=" is to assign a value to the value of the left side of the operator (this operator should not be in an if statement)

    the use of "is" is to compare the 2 values

    for another explanation on operators, search for 'Operators JavaScript' on google

    JavaScript syntax:

    "then" is omitted in JavaScript and {} is used instead

    don't forget to put the end of line (semicolon) on each line (excluding statements (if, switch, otherwise ElseIf, etc...))

    If (tabel2.cell1.rawValue == null) {}

    tabel2.cell1.RawValue = 'text ';

    } Else if (tabel2.cell2.rawValue == null) {}

    tabel2.cell2.RawValue = 'text ';

    } Else if (tabel2.cell3.rawValue == null) {}

    tabel2. CELL3. RawValue = "text";

    } Else if (tabel2.cell4.rawValue == null) {}

    tabel2.cell4.RawValue = 'text ';

    } else {}

    xfa.host.messageBox ("there is no space in the table!");

    }

    To help you understand how to fix your JavaScript syntax, you can use the validator to syntax like, Esprima: validator for syntax

    More information on the syntax JavaScript can be found on google, W3Schools is a good start

    I hope this will help you!

  • How can I make sure that only the Web site that sets the cookie can read it?

    I want some websites to be able to store cookies and use them, but I don't want other sites to use these same cookies.
    I know how enable/allow per session/block and I have same cookie manage extensions.
    What I can't find anywhere is information on who can read the cookies once they are defined.

    Only website (server or domain) that sets a cookie can read this cookie, but it can be an iframe embedded with another domain that defines the so called third-party cookies.

    You can disable third-party cookies.

Maybe you are looking for