Scalar function For Identity Or Row Number

Hi
I need to create a scalar Function that works in the same way as Row Number or a Identity column
I've not really used functions before so what would be the best way to do this?
Regards

Well I'm taking over a ETL process for a OLAP cube which is using SQL scripts and views and Not SSIS, any other logic other than what is available in the design mode of the view are done in functions. If i use the built in one I lose the
design view.
If you are making your database design from what you see in some "design mode" you are putting the cart before the horse.
Erland Sommarskog, SQL Server MVP, [email protected]

Similar Messages

  • Create function for ODD or EVEN(NUMBER)  in pls sql

    create function for ODD or EVEN(NUMBER) also
    if number is odd multiply by 5
    if number is even multiply by 10;

    865253 wrote:
    create function for ODD or EVEN(NUMBER) also
    if number is odd multiply by 5
    if number is even multiply by 10;
    create function fn_get_no (n_in in number) return number is
    o_num number;
    begin
    if mod(n_in,2) = 0 then
    o_num := n_in*10;
    else
    o_num := n_in*5;
    end if;
    return o_num;
    end;
    select fn_get_no(5) odd, fn_get_no(4) even from dual;
    ODD EVEN
    25 40 Vivek L

  • How to create a function that returns multiple rows in table

    Dear all,
    I want to create a funtion that returns multiple rows from the table (ex: gl_balances). I done following:
    -- Create type (successfull)
    Create or replace type tp_gl_balance as Object
    PERIOD_NAME VARCHAR2(15),
    CURRENCY_CODE VARCHAR2(15),
    PERIOD_TYPE VARCHAR2(15),
    PERIOD_YEAR NUMBER(15),
    BEGIN_BALANCE_DR NUMBER,
    BEGIN_BALANCE_CR NUMBER
    -- successfull
    create type tp_tbl_gl_balance as table of tp_gl_balance;
    but i create a function for return some rows from gl_balances, i can't compile it
    create or replace function f_gl_balance(p_period varchar2) return tp_tbl_gl_balance pipelined
    as
    begin
    return
    (select gb.period_name, gb.currency_code, gb.period_type, gb.period_year, gb.begin_balance_dr, gb.begin_balance_cr
    from gl_balances gb
    where gb.period_name = p_period);
    end;
    I also try
    create or replace function f_gl_balance(p_period varchar2) return tp_tbl_gl_balance pipelined
    as
    begin
    select gb.period_name, gb.currency_code, gb.period_type, gb.period_year, gb.begin_balance_dr, gb.begin_balance_cr
    from gl_balances gb
    where gb.period_name = p_period;
    return;
    end;
    Please help me solve this function.
    thanks and best reguard

    hi,
    Use TABLE FUNCTIONS,
    [http://www.oracle-base.com/articles/9i/PipelinedTableFunctions9i.php]
    Regards,
    Danish

  • Display Row Number with JTable

    Hi everybody,
    I try to build a spreadsheet with Java and Swing. I use Jdk1.2.2 and I looking for display the row Number on the left (Excel - like). I can't fiugre out how to implement this.
    Anyone can give me some help?
    Bye
    Mirko

    Hi Sciak!
    This is what you are looking for ('Row Header' sample, including source code):
    http://www2.gol.com/users/tame/swing/examples/JTableExamples1.html
    Home page:
    http://www2.gol.com/users/tame/swing/examples/SwingExamples.html
    CU,
    Jan

  • Sequence number - increment one for every 3 rows

    Dear All,
      I want to get a sequence number /group number, which increments 1 for every 3 rows. 
      For Example:
       Seq     Name   
        1          a
        1          b
        1          c
        2          D
        2          E
        2          F
        3          G
        3          H
        3          I
        4          abc
        4          aaa
        4          bbb
    Is there a function to do this?

    Please post DDL, so that people do not have to guess what the keys, constraints, Declarative Referential Integrity, data types, etc. in your schema are. Learn how to follow ISO-11179 data element naming conventions and formatting rules. Temporal data should
    use ISO-8601 formats. Code should be in Standard SQL as much as possible and not local dialect. 
    This is minimal polite behavior on SQL forums. Did you read the header of this forum?? But besides being rude, you are also ignorant.  A table has no ordering, so
    there is no concept of every third row. What are you using for a sort key? What happens when a new row is added to or deleted from this table? 
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Can I use Concatenate function for multiple rows?

    I have a lead list that contains 5000 leads. The format of this list contains address data that is saved in separate columns (ie: address, address 2, city, state, zip). I need this data in 1 column. I tried to use the concatenate function to combine the data for 1 row and it worked perfectly. I tried to do this for multiple rows and the function is greyed out. Is there a work around or way that I can combine this data for all 5000 rows without doing it 1 by one?

    Look at this table;
    In B9, the formula is;
    =B2&" "&C2&" "&D2&" "&E2&" "&B3&" "&C3&" "&D3&" "&E3
    Yvan KOENIG (VALLAURIS, France) dimanche 18 octobre 2009 20:51:47

  • Max function for table having no rows

    Hi All
    I have a table in which initially no rows. I am running max() function for a column and then wnats to add 1.
    But when no rows there below code in not working
    select max(code) into p_maxCode from cms_codedetails where codetypeid=0;
    p_maxCode:=p_maxCode+1;
    dbms_output.PUT_LINE('p_maxCode: '||p_maxCode);
    result is:
    p_maxCode:
    How can I handle the this to get 1 if no rows in the table .

    Hi !
    Max function in yur case returns NULL and then
    null + <anything> ... is still null
    You can do
    p_maxCode:=nvl(p_maxCode,0)+1;
    or
    select nvl(max(code),0) into p_maxCode from cms_codedetails where codetypeid=0;
    Of course if YOU have decide that null in this case can be treated as 0
    T

  • Can i use create function for MSSql scalar and table valude function.

    Hi,
    1) Can i use create function for MSSql scalar and table valued function?
    2) How many type of user defined function are there in oracle 11g express?
    3) And can i reture any "type" form user defined function?
    yourse sincerely

    944768 wrote:
    Q1)That means even if i return predefined types like integer, varchar2 then also PGA is used ?The data type does not determine where the variable is stored. A string (called a varchar2 in Oracle) can be stored in stack space, heap space, on disk, in a memory mapped file, in a shared memory, in an atom table, etc.
    It is the who and what is defining and using that string, that determines where and how it is stored.
    The Oracle sever supports 2 languages in PL/SQL. The PL (Programming Logic) language is a procedural/declarative language. It is NOT SQL. SQL is integrated with it. The PL/SQL engine uses private process memory (PGA). So PL/SQL variables exist in the PGA (but there are exceptions such as LOBs).
    Q2) So please suggest me solution in oracle.Sounds to me you are looking at how to implement a T-SQL style function as an Oracle function, and once implemented, do joins on the function.
    Do not use PL/SQL in SQL in place of a SQL select. It is not T-SQL.
    One cannot use PL/SQL to create functions along the style of T-SQL, where the function executes a SQL using some conditional logic, and then return as if the function was a native SQL select.
    T-SQL is an extension to the SQL language - making it a hybrid and very impure language implementation. PL is based on ADA - part of the Pascal family of languages. The E-SQL (embedded SQL) approach used in languages like C/C++, Cobol and Ada, has been transparently done in PL/SQL. You can write and mix PL code and variables with SQL code. And the PL/SQL engine figures out how to make the call from the PL/SQL engine to the SQL engine.
    But PL/SQL is not "part" of the SQL language and does not "extend" the SQL language in a T-SQL fashion.
    So you need to check your SQL-Server preconcepts in at the door, as they are not only irrelevant in Oracle, they are WRONG in Oracle.
    The correct way in Oracle, in a nutshell - Use the SQL language to do data processing. Use PL/SQL to manage conditional process flow and the handling of errors.

  • Reorder external row number for Service PO

    Hi
    Anyone knows of any FM to reorder the external row number for service PO in table ESLL ?
    Thanks for any advice in advance.
    Edited by: Amelia on Feb 13, 2008 9:37 AM

    hi
    service entry sheet is internally created number ranges.
    please check whether the entry sheet is available in display mode

  • How to set a MessageTextInput to be Read Only for a specific row?

    Hi,
    In Benefits Self Service, particularly the Update Beneficiaries page, it lists all your eligible Beneficiaries including yourself. The table has the following columns displayed for each beneficiary: Beneficiary, Relationship, Social Security Number, Primary %, Contingent %, Clear. This is the page where you allocate the Primary % and the Contingent %. The Primary % and Contingent % are MessageText Input.
    We have a requirement that we wouldn't want an employee to designate himself/herself as a beneficiary. However, the employee is being listed as a beneficiary along with all the other eligible beneficiaries. Oracle says it is an intended functionality to include the employee in the beneficiary. Is there a way thru Controller Object extension to set the Primary % and Contingent % as Read Only but only for the row corresponding to the employee to prevent the employee from accidentally allocating himself/herself as a beneficiary.
    I know there is the SPEL functionality but this requires me to add a transient attribute to the View Object corresponding to that table. But everytime I make a change to the View Object either by adding a transient attribute or some other changes, I end up getting an error on the standard Relation attribute of that view object. The error is something like "Relation set attribute failed for View Object". I cannot get pass this error and I'm not sure what's causing this. I see other people in this forum have encountered the same problem when extending view objects but no specific solution was offered nor any clear explanation of the cause.
    So I thought if there's any way this could be done thru Controller Object extension. If so, please let me know how. The challenge for me I think is finding the bean corresponding to those Message Text Input but only for a specific row in the table.
    Thanks,
    Ronaldo

    Hi,
    I also tried extending the View Object but without changing anything to the SQL so it is exactly the same as the standard view object but I still get the "Attribute set for Relation in view object BeneficiaryPeopleVO1 failed". Based from this, extending the view object whether any change has been made or not affects the standard transient Relation attribute.
    Here is the standard XML definition of the View Object if anyone is curious
    <ViewObject
    Name="BeneficiaryPeopleVO"
    BindingStyle="Oracle"
    CustomQuery="true"
    RowClass="oracle.apps.ben.selfservice.enrollment.server.BeneficiaryPeopleVORowImpl"
    ComponentClass="oracle.apps.ben.selfservice.enrollment.server.BeneficiaryPeopleVOImpl"
    MsgBundleClass="oracle.jbo.common.JboResourceBundle"
    FetchMode="FETCH_AS_NEEDED"
    FetchSize="10"
    UseGlueCode="false" >
    <SQLQuery><![CDATA[
    SELECT pcr.person_id person_id,
    pen.prtt_enrt_rslt_id prtt_enrt_rslt_id,
    con.first_name ||' '||con.last_name || ' ' || con.suffix Beneficiary,
    con.national_identifier Ssn,
    sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) primary_pct,
    sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) contingent_pct,
    con.person_id bnf_person_id,
    con.business_group_id,
    pen.per_in_ler_id,
    pbn.pl_bnf_id pl_bnf_id,
    pbn.object_version_number object_version_number,
    pbn.effective_start_date,
    pcr.contact_type contact_type,
    con.full_name beneficiary_full_name,
    sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) Db_Primary_pct,
    sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) db_contingent_pct,
    DECODE(pbn.pl_bnf_id, null, 'DeleteIconDisabled', 'DeleteIconEnabled') delete_switcher,
    pen.pl_id pl_id,
    pen.oipl_id oipl_id,
    nvl((select 'Y' from dual where (to_date(:1 , 'rrrr/mm/dd') between
              nvl(pcr.date_start,to_date(:2 , 'rrrr/mm/dd')) and
              nvl(pcr.date_end,to_date(:3 , 'rrrr/mm/dd'))) and
              (pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt))), 'N') rel_exists_flag
    FROM per_people_f con,
    per_contact_relationships pcr,
    ben_pl_bnf_f pbn,
    ben_prtt_enrt_rslt_f pen,
         ben_per_in_ler pil
    WHERE pcr.personal_flag = 'Y'
    AND (pbn.pl_bnf_id is not null or
    (to_date(:4 ,'rrrr/mm/dd') between
    nvl(pcr.date_start,to_date(:5 ,'rrrr/mm/dd'))
    AND nvl(pcr.date_end,to_date(:6 ,'rrrr/mm/dd'))
              and pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt)))     --Bug 4297137  
    AND pcr.contact_person_id = con.person_id
    and pen.person_id = pcr.person_id
    AND pbn.bnf_person_id (+) = con.person_id
    AND to_date(:7 ,'rrrr/mm/dd') between pbn.effective_start_date (+)
    AND pbn.effective_end_date (+)
    AND pcr.person_id = :8
    and pen.prtt_enrt_rslt_id = :9
    and to_date(:10 , 'rrrr/mm/dd') between con.effective_start_date and con.effective_end_date
    and to_date(:11 , 'rrrr/mm/dd') between pen.effective_start_date and pen.effective_end_date
    and pil.per_in_ler_id = pen.per_in_ler_id
    and pil.per_in_ler_stat_cd NOT IN('VOIDD', 'BCKDT')
    and pbn.prtt_enrt_rslt_id (+) = :12
    and ((to_date(:13 ,'rrrr/mm/dd') between
    nvl(pcr.date_start,to_date(:14 ,'rrrr/mm/dd')) and
    nvl(pcr.date_end,to_date(:15 ,'rrrr/mm/dd'))) or
    ((pcr.date_start = (select max(pcr2.date_start)
    from per_contact_relationships pcr2
    where pcr2.contact_person_id = pcr.contact_person_id
    and pcr2.person_id = pcr.person_id
    and pcr2.personal_flag = 'Y')) and
    not exists (select null
    from per_contact_relationships pcr3
    where pcr3.contact_person_id = pcr.contact_person_id
    and pcr3.person_id = pcr.person_id
    and pcr3.personal_flag = 'Y'
    and to_date(:16 ,'rrrr/mm/dd') between
    nvl(pcr3.date_start,to_date(:17 ,'rrrr/mm/dd'))
    and nvl(pcr3.date_end,to_date(:18 ,'rrrr/mm/dd')))
    and (pbn.pl_bnf_id is null or
    exists (select null from ben_per_in_ler pil2
    where pil2.per_in_ler_id = pbn.per_in_ler_id
    and pil2.per_in_ler_stat_cd not in ('VOIDD','BCKDT')))
    GROUP BY pcr.person_id,
    pen.prtt_enrt_rslt_id,
    con.last_name,con.first_name,con.suffix,
    con.full_name,
    con.national_identifier,
    pcr.contact_type,
    con.date_of_birth,
    con.person_id,
    con.business_group_id,
    pen.per_in_ler_id,
    pl_bnf_id,
    pbn.object_version_number,
    pbn.effective_start_date,
    pen.pl_id,
    pen.oipl_id,
              pcr.date_start,
              pcr.date_end,
              pil.lf_evt_ocrd_dt,
              con.date_of_death
    union
    SELECT to_number(null) person_id,
    pen.prtt_enrt_rslt_id prtt_enrt_rslt_id,
    con.first_name ||' '||con.last_name || ' ' || con.suffix Beneficiary,
    con.national_identifier Ssn,
    sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) primary_pct,
    sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) contingent_pct,
    con.person_id bnf_person_id,
    con.business_group_id,
    pen.per_in_ler_id,
    pbn.pl_bnf_id pl_bnf_id,
    pbn.object_version_number object_version_number,
    pbn.effective_start_date,
    'SLF' contact_type,
    con.full_name beneficiary_full_name,
    sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) Db_Primary_pct,
    sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) db_contingent_pct,
    DECODE(pbn.pl_bnf_id, null, 'DeleteIconDisabled', 'DeleteIconEnabled') delete_switcher,
    pen.pl_id pl_id,
    pen.oipl_id oipl_id,
    'Y' rel_exists_flag
    FROM per_people_f con,
    ben_pl_bnf_f pbn,
    ben_prtt_enrt_rslt_f pen,
         ben_per_in_ler pil
    WHERE
    pbn.bnf_person_id (+) = con.person_id
    AND to_date(:19 ,'rrrr/mm/dd') between pbn.effective_start_date (+)
    AND pbn.effective_end_date (+)
    AND con.person_id = :20
    and con.person_id = pen.person_id
    and pen.prtt_enrt_rslt_id = :21
    and to_date(:22 , 'rrrr/mm/dd') between con.effective_start_date and con.effective_end_date
    and to_date(:23 , 'rrrr/mm/dd') between pen.effective_start_date and pen.effective_end_date
    and pil.per_in_ler_id = pen.per_in_ler_id
    and pil.per_in_ler_stat_cd NOT IN('VOIDD', 'BCKDT')
    and (pbn.pl_bnf_id is not null or pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt))     --Bug 4297137
    and pbn.prtt_enrt_rslt_id (+) = :24
    and (pbn.pl_bnf_id is null or
    exists (select null from ben_per_in_ler pil2
    where pil2.per_in_ler_id = pbn.per_in_ler_id
    and pil2.per_in_ler_stat_cd not in ('VOIDD','BCKDT')))
    GROUP BY pen.prtt_enrt_rslt_id,
    con.last_name,con.first_name,con.suffix,
    con.full_name,
    con.national_identifier,
    con.date_of_birth,
    con.person_id,
    con.business_group_id,
    pen.per_in_ler_id,
    pl_bnf_id,
    pbn.object_version_number,
    pbn.effective_start_date,
    pen.pl_id,
    pen.oipl_id
    ORDER BY 3,14
    ]]></SQLQuery>
    <DesignTime>
    <Attr Name="_isCodegen" Value="true" />
    <Attr Name="_version" Value="9.0.3.13.75" />
    <Attr Name="_CodeGenFlagNew" Value="36" />
    <Attr Name="_rowSuperClassName" Value="oracle.apps.fnd.framework.server.OAPlsqlViewRowImpl" />
    <Attr Name="_objectSuperClassName" Value="oracle.apps.fnd.framework.server.OAPlsqlViewObjectImpl" />
    </DesignTime>
    <ViewAttribute
    Name="PersonId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PERSON_ID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="PrttEnrtRsltId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PRTT_ENRT_RSLT_ID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="Beneficiary"
    IsQueriable="false"
    IsPersistent="false"
    Precision="332"
    Type="java.lang.String"
    AliasName="BENEFICIARY"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="Ssn"
    IsQueriable="false"
    IsPersistent="false"
    Precision="30"
    Type="java.lang.String"
    AliasName="SSN"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="PrimaryPct"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Type="oracle.jbo.domain.Number"
    AliasName="PRIMARYPCT"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="ContingentPct"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="CONTINGENTPCT"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="BnfPersonId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="BNFPERSONID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="BusinessGroupId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="BUSINESSGROUPID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="PerInLerId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PERINLERID"
    ColumnType="$none$"
    Expression="&#39;See the SQL...&#39;"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="PlBnfId"
    IsQueriable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PL_BNF_ID"
    ColumnType="$none$"
    Expression="PL_BNF_ID"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="ObjectVersionNumber"
    IsQueriable="false"
    IsPersistent="false"
    Precision="9"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="OBJECT_VERSION_NUMBER"
    ColumnType="$none$"
    Expression="OBJECT_VERSION_NUMBER"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="EffectiveStartDate"
    IsQueriable="false"
    IsPersistent="false"
    Type="oracle.jbo.domain.Date"
    AliasName="EFFECTIVE_START_DATE"
    ColumnType="$none$"
    Expression="EFFECTIVE_START_DATE"
    SQLType="DATE" >
    </ViewAttribute>
    <ViewAttribute
    Name="ContactType"
    IsQueriable="false"
    IsPersistent="false"
    IsNotNull="true"
    Precision="30"
    Type="java.lang.String"
    AliasName="CONTACT_TYPE"
    ColumnType="$none$"
    Expression="CONTACT_TYPE"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="30" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="BeneficiaryFullName"
    IsQueriable="false"
    IsPersistent="false"
    Precision="240"
    Type="java.lang.String"
    AliasName="BENEFICIARY_FULL_NAME"
    ColumnType="$none$"
    Expression="BENEFICIARY_FULL_NAME"
    SQLType="VARCHAR" >
    <DesignTime>
    <Attr Name="_DisplaySize" Value="240" />
    </DesignTime>
    </ViewAttribute>
    <ViewAttribute
    Name="DbPrimaryPct"
    IsQueriable="false"
    IsPersistent="false"
    Type="oracle.jbo.domain.Number"
    AliasName="DB_PRIMARY_PCT"
    ColumnType="$none$"
    Expression="DB_PRIMARY_PCT"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="DbContingentPct"
    IsQueriable="false"
    IsPersistent="false"
    Type="oracle.jbo.domain.Number"
    AliasName="DB_CONTINGENT_PCT"
    ColumnType="$none$"
    Expression="DB_CONTINGENT_PCT"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="Relation"
    IsQueriable="false"
    IsPersistent="false"
    Type="java.lang.String"
    AliasName="Relation"
    ColumnType="$none$"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="DeleteSwitcher"
    IsPersistent="false"
    Precision="30"
    Type="java.lang.String"
    AliasName="DeleteSwitcher"
    ColumnType="VARCHAR2"
    Expression="DeleteSwitcher"
    SQLType="VARCHAR" >
    </ViewAttribute>
    <ViewAttribute
    Name="PlId"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="PlId"
    ColumnType="VARCHAR2"
    Expression="PlId"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="OiplId"
    IsUpdateable="false"
    IsPersistent="false"
    Precision="15"
    Scale="0"
    Type="oracle.jbo.domain.Number"
    AliasName="OiplId"
    ColumnType="VARCHAR2"
    Expression="OiplId"
    SQLType="NUMERIC" >
    </ViewAttribute>
    <ViewAttribute
    Name="RelExistsFlag"
    IsQueriable="false"
    IsPersistent="false"
    Precision="30"
    Type="java.lang.String"
    AliasName="REL_EXISTS_FLAG"
    ColumnType="VARCHAR2"
    Expression="REL_EXISTS_FLAG"
    SQLType="VARCHAR" >
    </ViewAttribute>
    </ViewObject>
    Thanks,
    Ronaldo

  • How to give a checkbox the value "row number" (like [row selector])

    I like to define a checkbox with htmldb_item.checkbox and give the checkbox the value 'row number'.
    It has to be the row number as displayed. Therefore I cannot use rownum or row_number() because the htmldb sorting functionality change the sequence after the row numbers are given.
    How can I give the checkbox this value, or as alternative how can I get the current row (checkbox element) in javascript from the checkbox onclick event.

    Vikas,
    Thanks a lot.
    This works.
    I use this number also to construct javascript and I walk in problems which are also solved now.
    therefore for anyone else who also want to use '#ROWNUM#'. keep in mind that for the sql #ROWNUM# is just a string and should be treated as a string therefore use quotes around it. The #ROWNUM# string is translated after executing the query, when the page is constructed from the result of the query.
    Fred.

  • Open system form and select a row number on matrix by click on button

    Hi experts,
    I have to open the purchase order form and select a specific row number from the matrix by clicking a button on sales order form.
    is it possible ?
    can anyone help me to achieve it?
    Thanks in advance.
    Best regards
    Andrea

    Andrea,
    To Do? Clicking on a Button on Sales Order -> Opens a PO form, and selects the row?
    In the eventhandler of a button click if the PO is not linked to SO by SAP B1 standard functionality
    step 1. call ActivateMenu ("2305") of Sbo_application , this opens the PO form
    step 2. Change the form to Find mode
    step 3. enter po number to the Item UID "8" which is the document number.
    step 4. Send enter key, or Clikc On button UID "1" which finds the PO
    step 5.read the value from SO form, from matrix "38" line where you selected
    step 6. use the code above to locate the line in PO (use # column for position numbers which UID is 0)
    at step 5, i think you should select a line from SO matrix which you would like to open.
    IN sales order, If you used PO chekcbox on logistics tab to create the PO, you can find a direct link between PO and SO (only in docentries are linked not positions) on sales order,  Column UID 158 field name: potrgnum.  If this connection is exists, you have an easy way:
    SO form, when a user clicks on COlumn 158 (po number), you can implement an eventhandler, which
    step 1.read the value from SO form, from matrix "38" line where you selected
    step 2. use the code above to locate the line in PO (use # column for position numbers which UID is 0)
    By processing theses steps, you can build up you solution.
    Regards
    János

  • How to extract row number of geoRaster as number ?

    Hi all,
    I need to get the row (or similarly column and band) number of a georaster as number. Some approach that i have explored :
    (a)
    Using SDO_GEOR.getSpatialDimSizes, which return an sdo_Number_array. For example SDO_NUMBER_ARRAY(211, 725) means 211 rows by 725 columns.
    But then how to get the 211 (or 725) as a number ? Any command for extracting the value ? substring clearly helpless.
    (b)
    Using metadata extract in PL/SQL. An example is
    create or replace function dimRaster
    (gr sdo_georaster)
    return number as
    total_dim number;
    begin
    total_dim := gr.metadata.extract('/georasterMetadata/rasterInfo/totalDimensions/text()',
    'xmlns=http://xmlns.oracle.com/spatial/georaster').getNumberVal();
    dbms_output.put_line('Total dimesnion'||CHR(9)||': '||total_dim);
    return null;
    end;-----------------
    The above works fine. It extracts the value in rasterInfo>totalDimensions as NUMBER. But the following isn't working:
    dim_row number;
    dim_row_Str := gr.metadata.extract('/georasterMetadata/rasterInfo/dimensionSize type="ROW"/size/text()',
    'xmlns=http://xmlns.oracle.com/spatial/georaster').getStringVal();
    I get the following error message
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00601: Invalid token in: '/georasterMetadata/rasterInfo/dimensionSize type="ROW"/size/text()'
    The number that i need to extract is in rasterInfo> dimensionSize type="ROW"> size.
    Please advise.
    cheers,
    =Damon

    Here is a function to do it. Since a function can only return one value, I created an object type for it.
    If this was going onto my production system, I would validate the metadata before running the procedure on a georaster object.
    Hope this helps:
    -- gr_dims object holds # rows, # columns, and # bands
    create or replace type gr_dims as object (
      r number,
      c number,
      b number);
    create or replace function georaster_size (geor sdo_georaster)
    return gr_dims deterministic is
    rowcols sdo_number_array := new sdo_number_array();
    result gr_dims := new gr_dims(null,null,null);
    begin
      rowcols.extend(3);
      rowcols  := SDO_GEOR.getSpatialDimSizes(geor);
      result.r := rowcols(1);
      result.c := rowcols(2);
      result.b := SDO_GEOR.getBandDimSize(geor);
      return result;
    end;
    select georaster_size(georaster) from map_rasters where georid=1;
    --GEORASTER_SIZE(GEORASTER)(R, C, B)
    --GR_DIMS(5117, 3748, 1)
    select g.gr.r, g.gr.c, g.gr.b
    from (select georaster_size(georaster) gr from map_rasters where georid=1) g;
    --      GR.R       GR.C       GR.B
    --      5117       3748          1

  • Function runs slower when rows affected are lesser

    Dear All,
    I have a stored function which accepts about 9 parameters and returns a number (1 or 0)
    the function can be executed as a check for security or access control along with any select query from the database
    Say i have 4 lakh entries in the database.
    if the function returns a 1 for only one row. then the query takes a lot of time to execute( about 5 mins) and results are displayed.
    but if the function returns 1 for , say 1 lakh entries . then execution happens in the fraction of a second.
    Is the delay die to a full table scan.... how can this be avoided????
    i tried using an indexed row in the table as reference and passing it along with the function , but the delay persists....
    please help..... looking forward to active response from you guys.

    please help..... looking forward to active response from you guys.Sigh. You tell us, obliquely, what the function does, but give us absolutely no clues about teh structure of the query. How the heck are we supposed to provide "active response" when you don't give us the basic information we need to answer your question.
    Regards, APC

  • Get row number of record in Interactive Report

    I am using an interactive report and want to be able to modify a field and if the value already exists in the database change it back to what it was originally. I am selecting data using the select statement below and I'm calling the javascript CheckExists function when the value changes. All this is working but I need to figure out how to get the row number so I can change the value back to what is in f03 in the same row. Does anyone know how to access the row number or know how I can do this?
    select apex_item.checkbox(1, RESOURCE_TYPE_ID, 'onchange="CheckUsed(this, this.value);"', ':') "Delete",
    apex_item.text(2, RESOURCE_TYPE, 20, 100, 'onchange="CheckExists(this, this.value);"' ) "RESOURCE_TYPE",
    RESOURCE_TYPE_ID,
    apex_item.text(3, RESOURCE_TYPE, 20, 100) "orig_resource_type"
    from resource_types
    order by RESOURCE_TYPE

    Scott,
    I was not able to find anything like using #ROWNUM# that would give me the current row number but I was able to get it if I looped through all the records until I found the record I was currently on. It is not really what I wanted to do but it works. I have included the code below.
    Thanks a lot for your help I appreciate it.
    Steve
    *** Interactive Report Select statement ***
    select apex_item.checkbox(1, RESOURCE_TYPE_ID, 'onchange="CheckUsed(this);"', ':') "Delete",
    apex_item.text(2, RESOURCE_TYPE, 20, 100, 'onchange="CheckExists(this);"' ) RESOURCE_TYPE,
    RESOURCE_TYPE_ID,
    apex_item.text(3, RESOURCE_TYPE, 20, 100) ORIG_RESOURCE_TYPE
    from resource_types
    order by RESOURCE_TYPE
    *** Javascript ***
    function CheckUsed (pResourceType)
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=ResourcesResourceTypeExists',0);
    get.add('TEMPORARY_ITEM', pResourceType.value);
    gReturn = get.get();
    if (gReturn > 0)
    alert('Resource records exist using the Resource Type; Unable to delete.');
    pResourceType.checked=false;
    function CheckExists (pResourceType)
    // Get the current row number.
    var lResourceTypeId = document.getElementsByName("f01");
    var lResourceType = document.getElementsByName("f02");
    var lOrigResourceType = document.getElementsByName("f03");
    var j;
    for (j = 0; j < lResourceType.length; j++)
    if (lResourceType[j].value == pResourceType.value)
    if (lResourceType[j].value != lOrigResourceType[j].value)
    break;
    } // if (lResourceType[j].value != lOrigResourceType[j].value)
    } // if (lResourceType[j].value == pResourceType.value)
    } // for (j = 0; j < lResourceType.length; j++)
    // Check if the Resource Type already exists.
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=ResourceTypeExists',0);
    get.add('TEMPORARY_ITEM', pResourceType.value);
    gReturn = get.get();
    if (gReturn > 0)
    // Reset the Resource Type to the original Resource Type.
    get.add('lResourceType[j]', lOrigResourceType[j].value);
    doSubmit('SUBMIT');
    else
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=UpdateResourceType',0);
    get.add('TEMPORARY_ITEM', pResourceType.value);
    get.add('TEMPORARY_ITEM_2', lResourceTypeId[j].value);
    gReturn = get.get();
    alert(gReturn );
    }

Maybe you are looking for