Add a large number of columns to a shape

Is there an easier way to add a large number of columns to a form of how I do it?
What happens in general I find that a bunch of columns must be added to the table, what I do in the database. So I need to get these
columns added to an existing form. As I do that is to create a new block in the form of referencing the same table, just like the old block.
Delete all the columns in the new block that were in the old block.
Move all the triggers of old block of the old block to the new block. Move old items to the old block of the newblock.
Search for old block properties where clauses or whatever and who recreate in the new block...
and then delete the old block and rename the new block to the old name of block.
Phew! A lot of potential for error here.
I need to possibly adjust the canvas for items and of course to reorganize things.

Is there a better way?

(BTW it's forms 11.1.1.4)

Published by: Lake on May 5, 2011 10:15

Published by: Lake on May 5, 2011 10:20

Maybe create a routine of jdapi to compare the elements of a block known based on a table with the data dictionary ( user_tab_cols )? As each piece of information is given in the database (data type, the column name,...) should not be too difficult to implement.

http://www.Oracle.com/technetwork/Developer-Tools/Forms/documentation/jdapi904019-131445.zip

see you soon

Tags: Oracle Development

Similar Questions

  • CRUD for tables with large number of columns

    Hello

    I work for a government agency in Colombia, and we do a poll with about 1200 variables. Our database model has few paintings, but they have a large number of columns. Our Oracle 11 g database is, and we do not use Oracle APEX. I've read about APEX and it seems to be useful to generate quick forms and reports. However, I would like to know if it is possible to generate CRUD for tables with many columns, and that would be the best way to do it.

    Thanks in advance.

    Carlos.

    With the help of 250 point on a single page is actually really bad for the user experience. I would probably be it cut into pieces and using several pages to guide the customer through it as a workflow.

    You could also add some pop-up windows which includes some elements of your table, just saved on other pages. But I probably don't like that.

    Tobias

  • How to recover the large number of columns for all items at once

    I have a table (T1) with a large number of columns (50). I am building a page on which I would like to consolidate these columns in some regions:

    Region: has
    Items i1 - i10

    Region: B
    I11 - i20 items

    Region: C
    I21 elements - i30

    Etc.

    The majority of the articles on this page are extracted from the same table (T1). So far, the type of each source element has the value SQL query and each item has the motion of the source is defined as:

    SELECT column1 FROM t1 WHERE t1id =: global_item

    What is the best practical approach to retrieve values for all items on this page? Is there a way to retrieve all the columns point at the same time, something like:

    SELECT column1, Column2, Column3, column50 FROM t1 WHERE t1id is: global_item

    Instead of:

    I1 point source:
    SELECT column1 FROM t1 WHERE t1id =: global_item

    Point source i2:
    SELECT Column2 FROM t1 WHERE t1id =: global_item

    Point i3 source:
    Column3 SELECT FROM t1 WHERE t1id =: global_item

    Item i50 source:
    SELECT column50 FROM t1 WHERE t1id =: global_item

    For each item on this page, when they are displayed?

    Thank you for your time.

    Daniel

    Set the source of static assignment type item and delete individual values of source of SQL query. Create a process before the header PL/SQL along the lines of

    begin
    
      select
                column1
              , column2
              , column3
                ...
              , column50
      into
                :i1
              , :i2
              , :i3
                ...
              , :i50
      from
                t1
      where
                t1id = :global_item;
    
    end;
    

    OR

    Create an automated process line go through the wizard for the table T1, then set the Source Type of the database column and the source values for each item in the name of the corresponding column in the T1.

  • Reading a CSV with a large number of columns

    Hello

    I tried to read data from files large csv with 38 columns by reading a line using readline and scan using the scan linebuffer.

    The file size can be up to 100 MB.

    Scan does not seem to support the large number of areas.

    Suggestions to the comma separated fields 38 reading. There is a header row in the file.

    Thank you

    Have you considered the use of the modifier "rep"? You can find examples in help, search for 'chain with real table ASCII Comma-separated numbers '.

  • How to add the large number of RoboHelp docs to SharePoint version control

    I'm on RH11 and some versions of SharePoint, which I'm not sure. I am able to add a document to both HR SharePoint Versioning (file > Version control), but I must have about 49 000 with version control in RoboHelp.  I was able to get the files in SharePoint, but now I have to get RoboHelp to be managing the large number of files.

    How can I get RoboHelp to give version control a large number of documents at a time?

    Are - you're talking about individual files or projects? I guess that the individual, since 49 000 project files can be a bit heavy.

    If you add a project to version control, RoboHelp will add all the files in SharePoint. This will take a little time (set HR to add it before you go out for lunch or before going home). At the end of the day, you can check in the entire project in a single click. Or you see something else?

    You can still manipulate the files .apj of HR to very quickly add loads of files to a project. If you have files in SharePoint, you can update the FPJ files (use the following script: missing subject Fixer). Then remove the CPD and start the project.

  • How can I add a 'Record number' column in a folder that contains the music?

    How can I add a 'Record number' column for my music files?  It does not appear as a column I add when I right click on the folder in its display of details.  Zune program uses this file attribute.

    I learned from this thread (http://social.technet.microsoft.com/Forums/en/w7itpromedia/thread/47e46e5a-63c0-4a92-b39d-64ea9a07953e) Windows Media Player 12 IS NOT only an attribute of disc number!  Incredible.  Zune has it, and it works fine.   Come on Microsoft, please join us in THIS century it please?

  • editing a table to add the number of columns fails with ORA-01792

    I'm editing a table to add columns, and ORA-01792 receiver: maximum number of columns in a table or view is 1000. The table of the altar will be no more than 1000 columns. The environment is RHE5 Oracle 11.2. ALTER statement adds a lot of columns in the table, but when I do a manual change to add a dummy column it works, after that, if I run the original the change works!

    What is a table compressed with unused columns?

    This may explain the error with the limit of 1000.

  • How can I restore iTunes a large number of items currently in the Recycle Bin?

    How can I restore iTunes a large number of items currently in the Recycle Bin?

    See if the menu in iTunes to undo option is available.  If it is not, go to the Recycle Bin and drag the files into the folder automatically add to iTunes.  iTunes 9: understanding the "Automatically add to iTunes" folder - http://support.apple.com/kb/HT3832 - files placed in this folder are actually moved from this folder to the correct location in the iTunes Media folder.

  • I tried to view my tabs on other computers and received this message: XML Parsing Error: undefined entity location: on: sync-tabs line number 7, column 1: the window id = "tabs-display" ^ How can I fix?

    "Error message has been: XML Parsing Error: undefined entity location: on: sync-tabs line number 7, column 1: window (weeks =" "3 =" "4 =" "5 =" "7 =" "< =" "^ =" "a =" "Add - on. =" "it y =" ' am = "" a = "" and = "" are = "" avg = "" believe = "" time = "" but = "" impossible = "" some = "" computers = "" firefox = "" for = "" I = "" I = "" id = 'tabs-view' in = "" installed.. = "" it = "" months) = "" = "" on. "" "" "" "" = "" or = "" other = "" p = "" paid = "" remember = "" running = "" sometimes = "" sync = "" tabs = "" version = "" look a = "" was = "" we = "" some = "" when = "" windows = "" worked = "" > < / window > "

    Hello!

    Can you give us some details? When this message display? Is in your phone or your computer? What is your language? More information you can give us the best.

    You use the add-on and Firefox 4? If so, I'll ask you to disable and remove the add-on: Sync is now part of the Firefox browser and you don't need the add-on. [https://bugzilla.mozilla.org/show_bug.cgi?id=644894 some users solved this problem by uninstalling the add-on.]
    ]

  • How can I play files CSV lines with a different number of columns?

    Hi all

    I am trying to load CSV with DIAdem 2014 files, and I found there is a great tool, "use".

    However, with the CSV use tool, there are critical problem with my data files. (See photo)

    As you can see the CSV file attached, it includes a lot of lines with different columns.

    And here, use read the number of columns of 1st line (e.g.: 4 columns) and set it as the number of columns to read.

    So I can not load all of the data (e.g.: 53 columns) if first row data were lower than columns.

    Can anyone recommend any approach, please?

    Kind regards

    Young

    Admin 24/03/16 Note: files deleted by request of the user

    I just add a few lines of script and fix the related use. (I just added the code to get a direct look).

    The uri of the file will appear as a new kind of load in the dialog file tiara is intalled by double click

    Would be nice if you could provide some information, how the data was created. Maybe we can it add as official of our web page to use plugin.

    Option Explicit

    Void ReadStore (File)

    File.Formatter.Delimiters = «»
    File.Formatter.LineFeeds = \n
    File.Formatter.DecimalPoint = '. '.

    Dim startLine: startLine = file. GetNextLine()
    <>InStr (startLine, ' [Tenergy Bus Log Data] "" ") then
    call RaiseError()
    end if

    And that not File.Position = File.Size
    Dim groupName: groupName = file. GetNextStringValue (eString)
    If it isn't root. ChannelGroups.Exists (groupName) then
    root. ChannelGroups.Add (groupName)
    end if
    Dim grp: set grp = root. ChannelGroups (groupName)
    Dim i: i = 1
    do for real
    Dim val: val = file. GetNextStringValue (eR64)
    If isempty (val) then
    Exit
    end if
    < i="">
    dial the grp. Channels.Add ("Brand" & I, eR64)
    end if
    protected chObj: set chObj = grp. Channels (i)
    chObj.Values (chObj.Size + 1) = val
    i = i + 1
    loop
    Call File.SkipLine)
    Wend

    End Sub

  • Approach to analyze the large number of XML files in the relational table.

    We are studying the possibility of XML DB to treat a large number of files from same day.
    The goal is to parse the XML file and store it in several relational tables. Once in the relational table don't care us about the XML file.
    The file cannot be stored on the file server and must be stored in a table before analysing because of security concerns. A third-party system will send the file and it will store in the XML database.
    The file size can be between 1 MB to 50MB and high performance is very that much is expected of other wise men, that the solution will be discarded.
    Although we have no of XSD, the XML file is well structured. We are 11g Release 2.

    Based on the reading, that's what my approach.
    1. CREATE THE DONNEES_XML TABLE
    (xml_col XMLTYPE)
    XMLTYPE xml_col STORE AS BINARY XML NAVIGATION;

    2. third will store the data in the donnees_xml table.
    3. create XMLINDEX on the unique XML element
    4 create XMLTYPE views
    CREATE OR REPLACE FORCE VIEW (V_XML_DATA)
    SType,
    Mtype,
    MNAME,
    ROT
    )
    AS
    SELECT x."Stype"
    x."Mtype."
    x."Mname"
    x."ROT".
    OF data_table t,.
    XMLTABLE)
    ' / SectionMain'
    PASSAGE t.data
    COLUMNS Stype VARCHAR2 (30) PATH "Stype"
    Mtype VARCHAR2 (3) path "Mtype."
    MNAME VARCHAR2 (30) PATH "MNAME"
    ROT VARCHAR2 (30) PATH "OID") x;

    5. loading mass analysis of data in the staging table based on the column in the index.

    Please comment on the process that precedes any suggestions that can improve the performance.

    Thank you
    AnuragT

    PASSAGE t.xml_col<--WHAT will="" passing="" here="" since="" no="">

    If you are using an XMLType Table, instead of an XMLType column reference, you are referring to the contents of XMLType while using the NICKNAME "OBJECT_VALUE" column

    If--> t.object_value

  • 11g - change number of columns in the chart legend

    In 10g, we could define the number of columns in a chart on additional graphical Options legend... Tab legend. 11 g, I can not simply find this option anywhere in the graph properties. Has it been removed in 11g, or am I just blind?

    Yes this option is over now. Only option is to add the legend display and place accordingly. Hope replied.

  • Procedure with a variable number of columns

    Hi, I have a procedure that looks like this:

    PROCEDURE PROC (p_cursor sys_refcursor OUTPUT)

    In the procedure, I build query dynamically and the number of columns varies during execution.

    In the end I do

    OPEN for REQUEST P_cursor


    Then I do call it,.

    call PROC (?)

    My question is, how could I go on the running query of this procedure, and then adding lines or by modifying the existing results, then return the changed data?

    I want to do is add a new rank based on a condition, so I still need to return any number of columns, but I need to modify the results before I return them.

    Is it possible to do? I need to do some calculations on columns (variable columns), create a new line, insert in the result set and return this new set of results.

    A sys_refcursor is ideal to return to a front end gui such as .NET or Java, which can then use this cursor to retrieve data.

    In PL/SQL, there is no point in using a sys_refcursor unless you know, at the time of the design/build the columns returned are going to be.

    If the columns resulting are dynamic, so you have no choice but to use the package DBMS_SQL, where you can analyze and run any SQL statement you like and then use the package DBMS_SQL to describe what are the columns that result and how they are. From this, you can reference the columns by position, rather than by name.

    for example

    CREATE OR REPLACE PROCEDURE run_query(p_sql IN VARCHAR2) IS
      v_v_val     VARCHAR2(4000);
      v_n_val     NUMBER;
      v_d_val     DATE;
      v_ret       NUMBER;
      c           NUMBER;
      d           NUMBER;
      col_cnt     INTEGER;
      f           BOOLEAN;
      rec_tab     DBMS_SQL.DESC_TAB;
      col_num     NUMBER;
      v_rowcount  NUMBER := 0;
    BEGIN
      -- create a cursor
      c := DBMS_SQL.OPEN_CURSOR;
      -- parse the SQL statement into the cursor
      DBMS_SQL.PARSE(c, p_sql, DBMS_SQL.NATIVE);
      -- execute the cursor
      d := DBMS_SQL.EXECUTE(c);
      --
      -- Describe the columns returned by the SQL statement
      DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
      --
      -- Bind local return variables to the various columns based on their types
      FOR j in 1..col_cnt
      LOOP
        CASE rec_tab(j).col_type
          WHEN 1 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000); -- Varchar2
          WHEN 2 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_n_val);      -- Number
          WHEN 12 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_d_val);     -- Date
        ELSE
          DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);  -- Any other type return as varchar2
        END CASE;
      END LOOP;
      --
      -- Display what columns are being returned...
      DBMS_OUTPUT.PUT_LINE('-- Columns --');
      FOR j in 1..col_cnt
      LOOP
        DBMS_OUTPUT.PUT_LINE(rec_tab(j).col_name||' - '||case rec_tab(j).col_type when 1 then 'VARCHAR2'
                                                                                  when 2 then 'NUMBER'
                                                                                  when 12 then 'DATE'
                                                         else 'Other' end);
      END LOOP;
      DBMS_OUTPUT.PUT_LINE('-------------');
      --
      -- This part outputs the DATA
      LOOP
        -- Fetch a row of data through the cursor
        v_ret := DBMS_SQL.FETCH_ROWS(c);
        -- Exit when no more rows
        EXIT WHEN v_ret = 0;
        v_rowcount := v_rowcount + 1;
        DBMS_OUTPUT.PUT_LINE('Row: '||v_rowcount);
        DBMS_OUTPUT.PUT_LINE('--------------');
        -- Fetch the value of each column from the row
        FOR j in 1..col_cnt
        LOOP
          -- Fetch each column into the correct data type based on the description of the column
          CASE rec_tab(j).col_type
            WHEN 1  THEN DBMS_SQL.COLUMN_VALUE(c,j,v_v_val);
                         DBMS_OUTPUT.PUT_LINE(rec_tab(j).col_name||' : '||v_v_val);
            WHEN 2  THEN DBMS_SQL.COLUMN_VALUE(c,j,v_n_val);
                         DBMS_OUTPUT.PUT_LINE(rec_tab(j).col_name||' : '||v_n_val);
            WHEN 12 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_d_val);
                         DBMS_OUTPUT.PUT_LINE(rec_tab(j).col_name||' : '||to_char(v_d_val,'DD/MM/YYYY HH24:MI:SS'));
          ELSE
            DBMS_SQL.COLUMN_VALUE(c,j,v_v_val);
            DBMS_OUTPUT.PUT_LINE(rec_tab(j).col_name||' : '||v_v_val);
          END CASE;
        END LOOP;
        DBMS_OUTPUT.PUT_LINE('--------------');
      END LOOP;
      --
      -- Close the cursor now we have finished with it
      DBMS_SQL.CLOSE_CURSOR(c);
    END;
    /
    
    SQL> exec run_query('select empno, ename, deptno, sal from emp where deptno = 10');
    -- Columns --
    EMPNO - NUMBER
    ENAME - VARCHAR2
    DEPTNO - NUMBER
    SAL - NUMBER
    -------------
    Row: 1
    --------------
    EMPNO : 7782
    ENAME : CLARK
    DEPTNO : 10
    SAL : 2450
    --------------
    Row: 2
    --------------
    EMPNO : 7839
    ENAME : KING
    DEPTNO : 10
    SAL : 5000
    --------------
    Row: 3
    --------------
    EMPNO : 7934
    ENAME : MILLER
    DEPTNO : 10
    SAL : 1300
    --------------
    
    PL/SQL procedure successfully completed.
    
    SQL> exec run_query('select * from emp where deptno = 10');
    -- Columns --
    EMPNO - NUMBER
    ENAME - VARCHAR2
    JOB - VARCHAR2
    MGR - NUMBER
    HIREDATE - DATE
    SAL - NUMBER
    COMM - NUMBER
    DEPTNO - NUMBER
    -------------
    Row: 1
    --------------
    EMPNO : 7782
    ENAME : CLARK
    JOB : MANAGER
    MGR : 7839
    HIREDATE : 09/06/1981 00:00:00
    SAL : 2450
    COMM :
    DEPTNO : 10
    --------------
    Row: 2
    --------------
    EMPNO : 7839
    ENAME : KING
    JOB : PRESIDENT
    MGR :
    HIREDATE : 17/11/1981 00:00:00
    SAL : 5000
    COMM :
    DEPTNO : 10
    --------------
    Row: 3
    --------------
    EMPNO : 7934
    ENAME : MILLER
    JOB : CLERK
    MGR : 7782
    HIREDATE : 23/01/1982 00:00:00
    SAL : 1300
    COMM :
    DEPTNO : 10
    --------------
    
    PL/SQL procedure successfully completed.
    
    SQL> exec run_query('select * from dept where deptno = 10');
    -- Columns --
    DEPTNO - NUMBER
    DNAME - VARCHAR2
    LOC - VARCHAR2
    -------------
    Row: 1
    --------------
    DEPTNO : 10
    DNAME : ACCOUNTING
    LOC : NEW YORK
    --------------
    
    PL/SQL procedure successfully completed.
    
    SQL>
    

    11 g, you can create a sys_refcursor and the DBMS_SQL package then allows you to convert this refcursor in a DBMS_SQL cursor so that you can get the description of results and do the same thing. It is not available before 11 g well.

    However_ before any of this, you should really ask yourself if there is a real need to create queries dynamically. There is rarely a need to do and if you find that it is common in your application, then it is often a sign of poor design or bad defined the needs of the business (leaving the technical side to try to be 'flexible' and hence leading to unmaintainable code etc..).

  • Performance of the ADG number of columns?

    Hi all

    I was wondering if there is a correlation between the time it takes for an ADG update itself after the modification of the data and the number of columns. I want to know in case it's just my bad code :-). For example, I noticed that the ADG is much slower under 31 columns as 15 for this simple example. I'm a beginner at this so I guess I don't know what I'm doing, but the difference in speed is an order of magnitude different.

    "" < mx:AdvancedDataGrid xmlns:mx = ' http://www.adobe.com/2006/mxml ' rowHeight = "25" sortItemRenderer = "SortItemHider".
    "creationComplete =" init () ' allowMultipleSelection = 'true' selectionMode = "single-celled" itemClick = "setStart (event)" xmlns:local = "" * ">"

    < mx:columns >
    < mx:AdvancedDataGridColumn dataField = 'task' id = "task" headerText = "task" width = "60" textAlign = "center" resizable = "true" / >
    < / mx:columns >

    ...

    private function initColumns (): void //This function creates a lot of dynamic columns and adds them to the adg
    {
    var test1:Array = This.colonnes;
    var test2:ArrayCollection = new ArrayCollection (test1);
    test2. RemoveAll();
    for (var int index = 0; index < this.columns.length; index ++)
    {
    test2. AddItem (this.) Columns [index]);
    }
    defaultColumns = test2.length - 1;
    for (var x: int = 0; x < MAX_COLS; x ++)
    {
    var newColumn:AdvancedDataGridColumn = new AdvancedDataGridColumn ("day" +(x+1));
    newColumn.dataField = "day" + (x + 1);
    newColumn.setStyle ("textAlign", "Center");
    var day: Number = todaysDate.getDate ();
    newColumn.headerText = String (x);
    test2. AddItem (newColumn);
    }
    This.colonnes = test1;
    }

    ...

    private void setStart(event:ListEvent):void //when you click on a cell that is not the first, it will create data in the ADG
    {
    task of the var: String = event.itemRenderer.data.task;

    var selectedRow:int = dataArray.getItemIndex (event.itemRenderer.data);
    var selectedItem:Object = dataArray [selectedRow];

    var totalHours:int = selectedItem.unscheduled;
    selectedItem.unscheduled = 0;
    var startDay:int = this.selectedColumnIndex - defaultColumns;
    If (startDay > 0 & & selectedRow! = - 1).
    {
    var HoursPerDay:int = 8;
    var dailyHours:int = totalHours / HoursPerDay;
    var leftoverHours:int = totalHours HoursPerDay %;
    var days: int = dailyHours + (leftoverHours! = 0? 1: 0);
    var endDay:int = startDay + days;
    selectedItem.start = startDay;
    Void var;
    for (var int index = startDay; index < endDay; index ++)
    {
    columnName = 'day' + index;
    if(index < This.Columns.Length)
    {
    If (index == endDay-1 & & leftoverHours > 0)
    {
    selectedItem [columnName] = leftoverHours;
    return;
    }
    selectedItem [columnName] = HoursPerDay;
    }
    }
    }
    }
    }

    Sorry, wrong forum

  • Number of columns in the region

    Hi all
    I organize my regions in 14columns...

    but I see that the maximum columns available as '9 '...

    is it possible to increase the number of columns...

    I also have a small matter to organize my regions in any of columns...

    example of application is to:

    workspace: bi_development
    United Nations and pwd: apexforum
    Appl: test

    Thank you
    you're really healpful.

    Hello

    First of all, you can not go higher than 9 columns. You would need to adjust the page template somehow to put two regions-by-side and then use columns 1 to 9 in the first one and 1-5 in the second to get all 14 columns in. It may be possible with a style

    For you, 2 x 2 reports - you can do this by adding a div around the content of the report. Header area the region add in something like:

    <div style="height:100px;">
    

    and then close the div in region Footer area:

    </div>
    

    I created a new page in your application that does this. But here's another example to do the same thing (but with a height of 300px): [http://apex.oracle.com/pls/otn/f?p=267:28]

    Andy

Maybe you are looking for