Ordering the records prior to select

I have a table 'orderlines' with columns line_id, ship_flag, service_flag, bom_order.
I need to generate the order line number in the following way
select the orderlines order by bom_order
for the first line the line number is 1.0
for the next line if ship_flag is 'Y' then line_number is 1.1 else the line number is 2.0
for the next line if the previous line ship_flag was ' Y' and service_flag is 'Y' then line number is 1.1.1 else
if ship_flag is 'Y' then line number is 1.2, else 3.0
so we have a package UTIL and function get_number where there is a global variable to capture the previous numbers (line number, ship number and service number) and based on the flag increment appropriate number and generate the line number as varchar2.
I create a view
create or replace view order_with_lineno is
select line_id,
util.get_number(ship_flag, service_flag) as line_number,
from orderlines order by bom_order;
This view doesnot give me the correct line_number, becaue the sorting happen after the line_number generation is done.
can someone give me a solution for this?

This is making some assumptions about how your flags are set, but if the data looks like the following, you can use a query for this:
create table orderlines
bom_order number,
line_id number,
ship_flag varchar2(1),
service_flag varchar2(1)
delete from orderlines;
insert into orderlines values (1000,10,'N','N');
insert into orderlines values (1000,20,'Y','N');
insert into orderlines values (1000,30,'N','Y');
insert into orderlines values (1000,40,'N','Y');
insert into orderlines values (1000,50,'Y','N');
insert into orderlines values (1000,60,'N','Y');
insert into orderlines values (1000,70,'N','Y');
insert into orderlines values (1000,80,'N','Y');
insert into orderlines values (2000,10,'N','N');
insert into orderlines values (2000,20,'Y','N');
commit;
SELECT bom_order,
       line_id,
       l1||'.'||l2||decode(l3,0,'','.'||l3) new_line_id
FROM   (
        SELECT bom_order,
               line_id,
               l1,
               l2,
               sum(decode(service_flag,'Y',1,0)) OVER (PARTITION BY bom_order,l2 ORDER BY line_id  ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) l3
        FROM
                SELECT bom_order,
                       line_id,
                       service_flag,
                       dense_rank() OVER (ORDER BY bom_order) l1,
                       sum(decode(ship_flag,'Y',1,0)) OVER (PARTITION BY bom_order ORDER BY line_id  ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) l2
                FROM   orderlines
BOM_ORDER    LINE_ID NEW_LINE_ID
      1000         10 1.0
      1000         20 1.1
      1000         30 1.1.1
      1000         40 1.1.2
      1000         50 1.2
      1000         60 1.2.1
      1000         70 1.2.2
      1000         80 1.2.3
      2000         10 2.0
      2000         20 2.1Greg Pike
http://www.singlequery.com
Message was edited by:
gfpike
Had a raw data error.

Similar Messages

  • Checkbox taking all the records irrespective of selection

    HI All,
    This is my code
    for i in 1..htmldb_application.g_f02.count
    loop
    insert into nam values(htmldb_application.g_f02(i));
    end loop;
    Here i'm trying to insert the selected things but its taking all the records whatever is displaying in the report
    Kindly help me to get rid of the issue
    And guide me how cai insert only checked in records

    hi
    I'm not a pro but maybe I can share some experience.
    First I would create a textfield for debugging.
    This helps to find out what data you are really working with.
    My textfield's name is "PX_SELECTED_ITEMS"
    I filled the textbox with a process in "On submit - After Computations and Validations"
    BEGIN 
      :PX_SELECTED_ITEMS :=
        HTMLDB_UTIL.TABLE_TO_STRING(HTMLDB_APPLICATION.G_F01);
    END;I'm not sure how your values are seperated.
    In my application I hat to replace the seperator from ':' to ','
    Therefore I created another textfield "PX_SELECTED_ITEMS_replaced"
    and added following code to the process:
    :PX_SELECTED_ITEMS_replaced := replace(:PX_SELECTED_ITEMS,':',',');Now I have two textfields wich should contain your selection.
    The second one ("PX_SELECTED_ITEMS_replaced") with the comma seperated data should be good for a "where-filter" in an SQL statement.
    Here is the PL-SQL-syntax I used for a standard SQL report:
    declare
      v_sql varchar2(32767);
    begin
      v_sql := 'select * from  my_table';
      if :PX_SELECTED_ITEMS_replaced is not null then
        v_sql := v_sql ||' where My_ID in ('||:PX_SELECTED_ITEMS_replaced||')';
      else
        v_sql := v_sql ||' where 1=0';
      end if;
      return v_sql;
    end;This Report should contain your selected items.
    Note: This does NOT work with Interacive Reports.
    I hope this helps you finding the issue.
    Edited by: pAT on Nov 26, 2010 4:45 AM

  • Need to process the records that are selected using checkbox in an ALV

    Hi ..
    I am displaying some data in an ALV using the Parent-child relation, the parent records has a check box which is input enabled.
    On click of a button on the toolbar, i need the checked records to be fetched and processed.
    Please help me on how to fetch the records that are checked..
    Thanks,
    Derek

    Hello Derek,
    Is ALV created using OOPS or using conventional FM?
    If you are making use of OOPS technique, then call this method:
    CALL METHOD <grid_name>->get_selected_rows.
    BR,
    Vishal.

  • Designating a Record as a BIND Record for Population Selection Use

    Hi All,
    I am working on a population selection custom process, but I have hit a fork in the road because of the fact that I do not know how PeopleSoft actually recognizes a Bind records as a Bind record. Meaning I have created the record, but Population Selection does not recognize it as pop select type bind record. Thus, I am currently forced to use one of the delivered record even though the record is not really associated with my process.
    Does anyone have any ideas about how I can associate a custom record with Population Selection?
    Thanks.

    Matt, you can set a form parameter to the domain value and use it in your record
    group query:
    SELECT rv_id,
           rv_descn
      FROM   curr_refval
      WHERE  rv_domain = :Parameter.domainParameters are not affected by clear_block and clear_form operations, so I like them
    better for use as bind variables for SQL issued from within a form.
    Using a database package variable is a pain, since you cannot access them directly
    from Forms. You would have to create the package with the variable, then create a
    function or procedure call in the package that would set the variable.
    I sure wish you would fix that long Ask Tom link so the text in this thread
    would word-wrap properly

  • Retrieve the Purchase Order Condition Records Table

    Hallo!
    I have found this code right here:
    http://www.sap-basis-abap.com/sapab025.htm
    It is very useful particular for purposes which I need. Please can somebody
    try to fix the error to get it working. There is an internal table missing.
    Regards
    Ilhan
    Retrieve the Purchase Order Condition Records Table
    select * from ekko.
           select * from konv where knumv = ekko-knumv
               "Get all the condition records for the purchase order
           endselect.
    endselect.
    * Get the info record conditions record
    * First declare the record structure for the key
    data: begin of int_konp,
                 txt1(5),
                 lifnr(5),
                 matnr(18),
                 txt2(4),
                 txt3(1),
            end of int_konp.
    clear: konh, konp, int_konp.
    * data for the record key konh-vakey
    int_konp-txt1    = '00000'.
    int_konp-lifnr    = ekko-lifnr+5(5).
    int_konp-matnr = ekpo-matnr(18).
    int_konp-txt2    = 'ALL'.
    int_konp-werks = ekpo-werks.
    int_konp-txt3    = '0'.
    select * from konh where      kschl = 'PB00'            "Conditions (Header)
                                         and datab => p_datum.       "valid from date
          if konh-vakey = int_konp.                                  "Conditions (Item)
                 select single * from konp where knumh = konh-knumh.
                 continue.
          endif.
    endselect.

    Hi flora
    Just get through the sequence .
    see the table fields ...
    1. From EKKO table take an entry which is having pricing conditions.
    Now in the fields list check out for field EKKO-KNUMV(document condition number).
    2.Take this condition number and now goto table KONV.
    Give the document condition number in the field  KONV-KNUMV and execute .
    This will lead to a list of document condition numbers and some other fields .
    3.Now check for field KONV-KNUMH ,KONV-KAWRT(quantity) and note the value KONV-KWERT  .
    (Remember this is at header level).
    This is ur condition record number.
    **comments
    Now from document condition number we got the condition record number (KNUMH).
    4. now since u want the item level tax procedure go to table KONP and give the condition record number and execute .
    This will give u a list of details .
    Now concentrate on KONV-KAWRT (scale quantity) KONP-KBETR(rate) as this table will store “Pricing  per UNIT “ so product of these two will give u the total pricing tax, for a particular condition type say PR00  .
    For that particular condition item .
    Check the pricing procedure .
    See t-code VK13 and check the pricing procedure .
    From me23 check the same PO num select the item and check the pricing conditions applicable .
    Select a particular pricing and goto condition->analysis->analysis pricing  ,
    Better take help of a SD functional consultant in the process.
    regards,
    vijay.

  • Order of records in o/p  of select statement

    Hi all
    I have doubt regarding the select statement. I need to execute a select statement (with out any order ie with out "order by") which searchs a table. I want to know whether in any
    circumstances the order of the records of the select statement is different.
    sample select statement which I need to execute
    select emp_no from emplyees where designation = 'programer'
    in one word order of records of in the o/p of a select statement will be unique ?
    (provided same query same, table,)
    can u plz quote the link to get more information
    regards
    Renjith

    Hi,
    YES, you can
    Do Order By Without Using Order By Clause
    in your select statement.
    I assume that you have unique data ( e.g. emp_no in Emp Table ) and you you do not want to use Order by clause.
    Solution 1:
    Select Emp_no
    from Emp
    group by Emp_no;
    the o/p will be in the sorted in the Ascending order.
    Solution 2: ( Only for columns holding Numeric Values )
    Select Emp_No
    From Emp
    Where 99999 - Emp_no in ( Select 99999 - Emp_no from Emp );
    Again this will sort the result will be in the Descending Order. you can use any big number instead of 99999 but it should be greater than Emp_no value.
    Note: You Should only use this method on not very large tables coz of performance issue.
    Hope this will solve your problem.
    Any Comment on this, any body.
    Thanks and Regards
    There is always a solution to the problem, And if there is no solution of a problem then problem is not a problem.

  • Select most recent record prior to a target date

    Let's say I have a set of unique records with the following dates:
    11/15/08
    11/30/08
    Is it possible to select only the most recent record prior to a user-entered target date (e.g., 12/1/08)?  So in this case, only the record dated 11/30/08 would be selected for the report.

    Use the record selection formula like this
    {Date field}<={?Date Parameter}
    And also wrtite the group selection formula like this
    {Date field}=maximum({Date field})
    This returns the recent value nearer to the date entered in the prompt.
    Regards,
    Raghavendra

  • Limit the records return by a select query

    I have select query as follows
    select id,name,designation from emlpoyyee;
    it is returning 20 rows.Is there any way to limit the records from a range to another range. eg -first 10 records. or 10-20 records e.t.c
    Thanks for any help

    For the case of first 10 or 20 row u can use
    select * from <table> where rownum <=<number>;
    select * from emp where rownum <=20;
    For the case of 10-20 record of something of range , there need to use partition on select as :
    select * from ( select <your_columnns1>, <your_columnns2>, row_number() over (partition by null order by null) sequence from <your_table>) where sequence between <lower_limit> and <upper_limit>;
    select * from ( select empno, empname row_number() over (partition by null order by null) sequence from emp) where sequence between 10 and 20;
    Try it and reply in case of any issue.

  • Reading the record and displaying when u select it using checkbox

    hi,
           how to read the particilar record and display it in a popup screen when u select it using checkbox and then press 'DISP' button in alv(normal alv not with oops concepts).
    like i select a row which is checked (checkbox) it and i have to read that particular record and display (value of keyfield say vbeln) details in a popup screen.

    hi,
    go through the faloowing code.
    this for normal popup.
    *& Report  ZGS_ALV_POPUP_2_SELECT
    REPORT  ZGS_ALV_POPUP_2_SELECT.
    TYPE-POOLS: slis.
    PARAMETERS: p_title TYPE sy-title default 'Sales Document:item data'.
    DATA: itab TYPE vbap OCCURS 0 WITH HEADER LINE,
          selfield TYPE slis_selfield.
    START-OF-SELECTION.
      SELECT *
        FROM vbap
        INTO TABLE itab
        UP TO 20 ROWS.
      CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
           EXPORTING
                i_title                 = p_title
    *           I_SELECTION             = 'X'
               I_ZEBRA                 = 'X '
    *           I_SCREEN_START_COLUMN   = 0
    *           I_SCREEN_START_LINE     = 0
    *           I_SCREEN_END_COLUMN     = 0
    *           I_SCREEN_END_LINE       = 0
    *           I_CHECKBOX_FIELDNAME    =
    *           I_LINEMARK_FIELDNAME    =
    *           I_SCROLL_TO_SEL_LINE    = 'X'
                i_tabname               = 'ITAB'
                i_structure_name        = 'VBAP'
    *           IT_FIELDCAT             =
    *           IT_EXCLUDING            =
    *           I_CALLBACK_PROGRAM      =
    *           I_CALLBACK_USER_COMMAND =
    *            is_private              =
         IMPORTING
                es_selfield             = selfield
    *            e_exit                  =
           TABLES
                t_outtab                = itab
           EXCEPTIONS
                program_error           = 1
                OTHERS                  = 2.
      IF sy-subrc <> 0.
        MESSAGE i000(8I) WITH sy-subrc.
      ENDIF.
      WRITE:
             /  'Table Index : ', 20 selfield-tabindex,
            /  'Table Name  : ', 15 selfield-tabname,
            /  'Field Name  : ', 15 selfield-fieldname,
            /  'Table-Field : ', 15 selfield-sel_tab_field,
            /  'Field Value : ', 15 selfield-value.
    the falowing code is for how to put checkbox and how to display the selected recods.you combine both codes.
    *& Report  ZRP_SALES
    REPORT  ZRP_SALES NO STANDARD PAGE HEADING.
    DATA: TEMP_DATE_STR TYPE STRING.
    *DATA: TEMP_NETP LIKE VBAK-NETWR.
    DATA: TEMP_NETWR(10).
    *DATA: TEMP_VBELN LIKE VBAK-VBELN.
    DATA: CHECK TYPE C VALUE ' '.
    *DATA: WA_VBELN LIKE VBAK-VBELN.
    DATA: TEMP_DATE LIKE VBAK-ERDAT.
    *DATA: TEMP_NETP_STR TYPE STRING.
    DATA:FNAM(20), FVAL(20).
    TYPES: BEGIN OF MY_VBAK,
           VTWEG TYPE VTWEG,
           VKORG TYPE VKORG,
           SPART TYPE SPART,
           NETWR TYPE NETWR_AK,
           VBELN TYPE VBELN_VA,
           ERDAT TYPE ERDAT,
           END OF MY_VBAK.
    DATA: IT_VBAK TYPE MY_VBAK OCCURS 0 WITH HEADER LINE.
    DATA: WA_VBAK TYPE MY_VBAK.
    DATA: V_VBELN TYPE VBELN,
          V_ERDAT TYPE ERDAT.
    SELECT-OPTIONS:S_VBELN FOR V_VBELN,
                   S_ERDAT FOR V_ERDAT.
    AT SELECTION-SCREEN.
    *Check for Sales Order number to be non-initial.
      IF  S_VBELN IS INITIAL.
    *Checking for Date to be non-nitial.
        IF  S_ERDAT IS INITIAL.
          MESSAGE E003(ZRP_MSG). " Please enter either SO number or Date.
        ELSE.
    *Validating the right low values for Date select option
          SELECT SINGLE ERDAT
                 FROM VBAK INTO TEMP_DATE
                 WHERE VBELN EQ S_VBELN-LOW OR ERDAT EQ S_ERDAT-LOW.
          IF SY-SUBRC NE 0.
            MESSAGE E004(ZRP_MSG).
          ENDIF.
    *Validating the right high values for Date select option
          SELECT SINGLE ERDAT
                  FROM VBAK INTO TEMP_DATE
                  WHERE ERDAT EQ S_ERDAT-HIGH OR VBELN EQ S_VBELN-HIGH.
          IF SY-SUBRC NE 0.
            MESSAGE E005(ZRP_MSG).
          ENDIF.
        ENDIF.
      ELSE.
    *Checking for Date to be non-nitial.
        IF  S_ERDAT IS NOT INITIAL.
          MESSAGE E003(ZRP_MSG). " Please enter either SO number or Date.
        ENDIF.
    *Validating the right low values
        SELECT SINGLE VBELN
               FROM VBAK INTO S_VBELN
               WHERE VBELN EQ S_VBELN-LOW.
        IF SY-SUBRC NE 0.
          MESSAGE E001(ZRP_MSG).
        ENDIF.
    *Validating the right high values
        IF S_VBELN-HIGH IS NOT INITIAL.
          SELECT SINGLE VBELN
                  FROM VBAK INTO S_VBELN
                  WHERE VBELN EQ S_VBELN-HIGH.
          IF SY-SUBRC NE 0.
            MESSAGE E002(ZRP_MSG).
          ENDIF.
        ENDIF.
      ENDIF.
    START-OF-SELECTION.
    *First Screen.
      SET PF-STATUS 'DISP'.
      IF S_VBELN IS NOT INITIAL.
        SELECT   VTWEG VKORG SPART NETWR VBELN ERDAT
               FROM VBAK
               INTO TABLE IT_VBAK
               WHERE VBELN IN S_VBELN.
      ENDIF.
      IF S_ERDAT IS NOT INITIAL.
        SELECT  VTWEG VKORG SPART NETWR VBELN ERDAT
               FROM VBAK
               INTO TABLE IT_VBAK
               WHERE ERDAT IN S_ERDAT.
      ENDIF.
      SORT IT_VBAK BY VKORG VTWEG SPART.
    END-OF-SELECTION.
      LOOP AT IT_VBAK.
        MOVE IT_VBAK-NETWR TO TEMP_NETWR.
        MOVE IT_VBAK-ERDAT TO TEMP_DATE.
        WRITE:/6 CHECK AS CHECKBOX.
        FORMAT COLOR 1.
        WRITE: IT_VBAK-VBELN UNDER 'SALES ORDER NO.' .
        WRITE: IT_VBAK-ERDAT UNDER 'DATE'.
        FORMAT COLOR OFF.
        FORMAT COLOR 2.
        WRITE: TEMP_NETWR UNDER 'NET PRICE'.
        FORMAT COLOR OFF."TEMP_NETWR,
        FORMAT COLOR 3.
        WRITE:IT_VBAK-VKORG UNDER 'SALES ORG',
              IT_VBAK-VTWEG UNDER 'DIST CHANNEL',
              IT_VBAK-SPART UNDER 'DIVISION'.
        FORMAT COLOR OFF.
        SKIP 1.
    *FOR SUBTOTALS
        AT END OF SPART.
          SUM.
          FORMAT COLOR 5.
          WRITE:/6 'SUB TOTOAL OF NET PRICE IS :  '.
          WRITE: 32 IT_VBAK-NETWR CURRENCY 'INR'.
          FORMAT COLOR OFF.
          SKIP 2.
        ENDAT.
    *FOR GRAND TOTALS
        AT LAST.
          SUM.
          FORMAT COLOR 6.
          WRITE:/6 'GRAND TOTOAL OF NET PRICE IS :  ',
          32 IT_VBAK-NETWR CURRENCY 'INR'.
          FORMAT COLOR 6.
        ENDAT.
      ENDLOOP.
    TOP-OF-PAGE.
      FORMAT COLOR  6.
      WRITE:/8    'SALES ORDER NO.',
           27   'DATE',
           42   'NET PRICE',
           57   'SALES ORG',
           70   'DIST CHANNEL',
           87   'DIVISION'.
      FORMAT COLOR OFF.
      SKIP 1.
    *WHEN SALES ORDER IS SELECTED
    AT LINE-SELECTION.
      CASE :SY-LSIND.
        WHEN '2'.
          GET CURSOR FIELD FNAM VALUE FVAL.
          IF FNAM <> 'WA_VBAK-VBELN'.
            MESSAGE E006(ZRP_MSG).
          ELSE.
            SET PARAMETER ID 'MAT' FIELD FVAL.
            CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
      ENDIF.
        ENDCASE.
    *WHEN CLICKED ON PUSH BUTTON IN THE APPLICATION BAR
    AT USER-COMMAND.
      CASE:SY-UCOMM.
        WHEN 'DISP'.
          DO.
            CLEAR CHECK.
            CLEAR: WA_VBAK,TEMP_DATE_STR.
            READ LINE SY-INDEX FIELD VALUE CHECK
               IT_VBAK-VTWEG INTO WA_VBAK-VTWEG
    *           IT_VBAK-NETWR INTO TEMP_NETP_STR
               IT_VBAK-VBELN INTO WA_VBAK-VBELN
               IT_VBAK-ERDAT INTO TEMP_DATE_STR
               IT_VBAK-VKORG INTO WA_VBAK-VKORG
               IT_VBAK-SPART INTO WA_VBAK-SPART.
            IF SY-SUBRC <> 0.
              EXIT.
            ELSEIF CHECK = 'X'.
              FORMAT COLOR 1.
              WRITE: 8 WA_VBAK-VBELN HOTSPOT. "UNDER 'SALES ORDER NO'
              WRITE: 25 TEMP_DATE_STR." UNDER 'DATE'.
              FORMAT COLOR OFF.
    *       FORMAT COLOR 2.
    *                   WRITE: 44 TEMP_NETP_STR." UNDER 'NET PRICE'.
    *       FORMAT COLOR OFF.
              FORMAT COLOR 3.
              WRITE:44 WA_VBAK-VKORG," UNDER 'SALES ORG',
             59 WA_VBAK-VTWEG," UNDER 'DIST CHANNEL',
             72  WA_VBAK-SPART." UNDER 'DIVISION'.
              FORMAT COLOR OFF.
              SKIP 1.
            ENDIF.
          ENDDO.
      ENDCASE.
    TOP-OF-PAGE DURING LINE-SELECTION.
      CASE:SY-LSIND.
        WHEN 1.
          FORMAT COLOR  6.
          WRITE:/8    'SALES ORDER NO.',
                 25   'DATE',
    *       44   'NET PRICE',
                 44   'SALES ORG',
                 58   'DIST CHANNEL',
                 72   'DIVISION'.
          SKIP 1.
          FORMAT COLOR  OFF.
    <b>if helpful reward some points.</b>
    Message was edited by:
            suredarreddy pulimamidi

  • I upgraded to yosemite and iOS 8 in order to record with quicktime. But when I select Record a new movies I immediately get an Operation Could not be completed error.

    I upgraded to yosemite and iOS 8 in order to record with quicktime. But when I select Record a new movies I immediately get an Operation Could not be completed error. When I choose record audio or screenshots, I get a little further, but as soon as I select my ipad as the source I get the same error message.

    You don't need to be a developer for this to work. I get the same error. Just one more thing on the list that make me upset more and more with Apple. Things just don't work out of the box like they used to.
    This new feature was to be included with iOS 8 and Yosemite.

  • How to delete the record in the table without using lead selection?

    hi,
    I have added the separate column "delete" to the table uielement and so for each record or row of the table the appropriate "delete" link to action will be there................the code below works when the particular row is selected through lead selection only.......
    help me how to delete without using lead selection.....
      DATA:
      NODE_MODULE                         TYPE REF TO IF_WD_CONTEXT_NODE,
      ELEM_MODULE                         TYPE REF TO IF_WD_CONTEXT_ELEMENT,
      STRU_MODULE                         TYPE IF_V_MODULE=>ELEMENT_MODULE .
       data itab TYPE TABLE OF zac_modules.
      navigate from <CONTEXT> to <MODULE> via lead selection
      NODE_MODULE = WD_CONTEXT->GET_CHILD_NODE( NAME = `MODULE` ).
      get element via lead selection
      ELEM_MODULE = NODE_MODULE->GET_ELEMENT(  ).
      get all declared attributes
      ELEM_MODULE->GET_STATIC_ATTRIBUTES(
        IMPORTING
          STATIC_ATTRIBUTES = STRU_MODULE ).
    NODE_MODULE->GET_STATIC_ATTRIBUTES_TABLE(
        IMPORTING
         TABLE  = itab )
    DELETE itab WHERE zmodule_id = STRU_MODULE-zmodule_id.
    CALL METHOD NODE_MODULE->BIND_TABLE
        EXPORTING
          NEW_ITEMS            = itab
       SET_INITIAL_ELEMENTS = ABAP_TRUE
       INDEX                =
    ENDMETHOD.

    Hi  ,
    The onclick event provides you with a standard paramater "CONTEXT_ELEMENT" which has the element from which the event is triggered.
    so you can declare this in the handler(if it is not there) and use it as follows.
    CONTEXT_ELEMENT  TYPE REF TO IF_WD_CONTEXT_ELEMENT  an importing paramater.
    DATA:
    NODE_MODULE TYPE REF TO IF_WD_CONTEXT_NODE,
    ELEM_MODULE TYPE REF TO IF_WD_CONTEXT_ELEMENT,
    STRU_MODULE TYPE IF_V_MODULE=>ELEMENT_MODULE .
    data itab TYPE TABLE OF zac_modules.
    CONTEXT_ELEMENT->GET_STATIC_ATTRIBUTES(
    IMPORTING
    STATIC_ATTRIBUTES = STRU_MODULE ). "Using the context_element paramater to get the static attributes.
    NODE_MODULE->GET_STATIC_ATTRIBUTES_TABLE(
    IMPORTING
    TABLE = itab )   "getting all the data.
    DELETE itab WHERE zmodule_id = STRU_MODULE-zmodule_id. "deleting the particular row from the table and binding it.
    CALL METHOD NODE_MODULE->BIND_TABLE
    EXPORTING
    NEW_ITEMS = itab
    * SET_INITIAL_ELEMENTS = ABAP_TRUE
    * INDEX =
    thanks,
    Aditya.

  • How to delete same name records from datagrid,while i am selecting one of the record and delete

    hi friends,
    i am working in flex 4 mxml web application with action script....i am using a data grid and one delete button outside the gird.
    i have two records in the same name in grid, when i click one record from the grid and click delete means that time ,both records will delete from that grid
    which record having the same name..
    how to do this?
    any useful suggesssion or snippets code for this..
    Thanks in advance,
    B.venkatesan.

    hello,
    first get the length of the datagrid.
    suppose your datagrid id is db and you want to delete the the row which have same name .....
    first get the selected row and from that name of the selcted row.
    supoose selected name is
    var index:int=db.selectedindex;
    var selname:string =bd.dataprovide.getItemAt(index).name;(name id datafield of the column).
    now you got the selected name search for the same rows in datagrid.
    var totallen:int=(db.dataprovider).length;
    for(var i:int=0;i<totallen;i++)
        var  checkduplicate:string=bd.dataprovide.getItemAt(i).name;
       if(checkduplicate==selname)
         db.dataProvider.removeItemAt(i);
    this will delete all the row which are with same name with selected row name...
    Gajanan Hiroji | [email protected] | www.isacglobal.com

  • WHY does the finder insist on rearranging the files in a folder in alphabetical order even when I have selected "none" in the preferences for file organization?

    WHY does the finder insist on rearranging the files and/or documents in a folder in alphabetical order even when I have selected "none" in the preferences for file organization? Even after I numbered the documents/folders to keep them in my preferred order, it will still displace them occasionally. This is becoming increasingly frustrating!
    Is this a "Pages" issue or "FInder"? The vast majority of documents I use are in Pages, but there are also Numbers, PDFs, jpegs and a few other applications involved. This never happened before I upgraded to Mountain Lion; in Tiger, the documents (mostly Appleworks) and files stayed where I wanted them to be.
    I am visually oriented, and prefer to arrange items in a folder in an order that makes them easier for me to access, which is often NOT alphabetical.
    Can anyone suggest a solution? Please??
    Thank you.
    Sara

    nbar,
    Thank you for your reply.
    However, I do not understand what you mean by "user account." I am the only user, and can find no options for "user" or "guest." The parental controls have always been off, as there are no other people who have access to my computer.
    Frank,
    Thank you for your reply.
    All my documents, files and folders are in icon view, Arranged By: none in both view and view options. This arbitrary rearranging does not happen all the time, only when I make a substantial change to one of the documents in the file or folder. I'm not sure what you mean by "column heading."
    MichaelLAX,
    Thank you for your reply.
    I know, to my sorrow, that Appleworks does not work with Mountain Lion. I spent at least three months converting approximately 2,000 Appleworks documents to Pages, Numbers, Bento (for databases) and Touchdraw (for drawings). So this is not the problem; but as I said, I did not have this rearranging problem with Appleworks - the icons stayed where I wanted them to be. I still miss the ease and reliability of Appleworks, darn it!
    Frank,
    Thank you for your second reply.
    I do have the Sort By: in view options as well as in view set to "none."   The finder still insists on rearranging, but only when I have made a substantial change to a document in that file or folder.
    Any futher thoughts?
    xdab, 
    Thank you for your reply.
    "Are you are using icon view, but for some reason the finder moves files around? is that the problem?"
    YES!! This is exactly the problem.
    "If this operation is successful then erase the original and rename the new one to the name originally chosen by the user."
    This seems like a lot of trouble, especially as I often work on several documents at the same time.
    "By the way, the finder has a "clean up by" menu that rearranges icons in one of the standard orders, there are shortcuts that produce the same effect, for example <option><cmd>1 sorts them by name. Is it possible that this shortcut was typed by mistake without you noticing?"
    I do know about this "clean up by" option, and avoid it like the plague! So I doubt this is the issue, and I infrequently use keyboard shortcuts like this anyway.
    Thanks all who replied. None of the suggestions seem to work, however. Any others out there?
    Regards,
    Sara

  • ORA-01785: ORDER BY item must be the number of a SELECT-list expression

    I have a dynamic SQL on a page. The SQL is dynamic because there are 3 LOV fields from which the user may make selections, and those field values are used in the WHERE clause. Also, the 2nd LOV field is populated with AJAX based on the 1st LOV's selection. And, the SQL joins to another table. The report has 7 sortable columns. The main table the SQL runs over has about 1,000 rows in it.
    The 2nd table has about 500 rows. (Sorry, I'm not sure what information you might need to help me, so I listed several details.)
    The application, and page, have been working flawlessly for several weeks. Then, yesterday the page was being used and the user received the "ORA-01785: ORDER BY item must be the number of a SELECT-list expression" error. The error just appeared out of the blue, so to speak. After weeks of of usage this is the first time this error has appeared. The application had not been changed, but they had been entering data into the main table and the table joined to in the SQL. The application is in production, so I can't put the application into DEBUG, etc. to see what SQL is being built.
    Anyway, I was trying to debug the page today and was doing selections and seeing what would display, then as suddenly as the page quit working it started working correctly. No code changes made, no server changes made (to my knowledge), and no data changes made.
    I'm new to both Oracle and Apex, and am not a SQL, Oracle or Apex expert. So, I am very perplexed and don't have any idea of what could be happening.
    I don't know if it's an issue with the SQL, AJAX not loading the select fields properly, a corrupted table, a server load issue, or something else all together.
    Any suggestions?
    Also, I'm not familiar with Oracle error messages. Can they be red herrings sometimes? Because, I don't programmaticly code the ORDER BY of the SQL. Apex appends that part. So, how could that aspect quit working. And, then suddenly start working.
    Sorry, but I'm extremely confused. :-) Any suggestions or help will be greatly appreciated.
    Thanks, Tony

    Hi Dan,
    Thanks for the feedback. I'm not going to be dogmatic about possible cause, but it has myself and another Oracle developer (who writes SQL and PL/SQL in his sleep) stumped. He doesn't think it's the SQL. Your suggestion was one of the first things we thought of considering the error message we got, but from Scott's reply that it could be a red herring, and after additional testing we've ruled the SQL out for now.
    I understand what you're saying, but the SQL selects all the columns (about 40 columns are selected) that are sortable columns on the report. I've sorted by all the columns by clicking on them and that aspect works without error.
    The SQL is created dynamically and is quite large. I've included below just for information purposes.
    Thanks, Tony
    = = = = = = =
    DECLARE
    q VARCHAR2 (4000);
    BEGIN
    q := 'select ';
    q := q || 'hd."ID", hd."MODEL", hd."YEAR", hd."HIN", hd."BOAT_STATUS", hd."SPECIAL_ACTIVITY", hd."PARTIAL_KIT_VALUE",
    hd.OPTION_NUMBER || '' - '' || e.DESCRIPTION OPTION_NUMBER,
    hd."OPTIONS_HOURS", hd."OPTIONS_MATERIAL", hd."STATION", hd."ACTIVITY_COMMENT", hd."BI_EQUIV_MATERIAL",
    hd."BI_EQUIV_LABOR", hd."EI_EQUIV_MATERIAL", hd."EI_EQUIV_LABOR", hd."BASE_BOAT", hd."SA_ENGINES",
    hd."SA_OPTIONS", hd."DY_STANDARD_MATERIAL", hd."DY_STANDARD_LABOR", hd."DY_STANDARD_OVERHEAD",
    hd."DY_STANDARD_ENGINE", hd."DY_ENGINE_ENGINEUP", hd."DY_ENGINE_MATERIAL", hd."DY_ENGINE_LABOR",
    hd."DY_ENGINE_OVERHEAD", hd."DY_OPTIONS_MATERIAL", hd."DY_OPTIONS_LABOR", hd."DY_OPTIONS_OVERHEAD", hd."EI_STANDARD_UNITS", hd."EI_STANDARD_MATERIAL", hd."EI_STANDARD_LABOR", hd."EI_STANDARD_OVERHEAD", hd."EI_STANDARD_ENGINE", hd."EI_ENGINE_ENGINEUP", hd."EI_ENGINE_MATERIAL", hd."EI_ENGINE_LABOR", hd."EI_ENGINE_OVERHEAD", hd."EI_OPTIONS_MATERIAL", hd."EI_OPTIONS_LABOR", hd."EI_OPTIONS_OVERHEAD",
    htmldb_item.hidden(50,hd.ID) idalias ';
    q := q || 'from "PLP_HIN_DETAIL" hd , "PLP_ENGINES" e ';
    IF
    :P10_SEARCH_MODEL IS NOT NULL
    AND :P10_SEARCH_MODEL <> '%null%'
    AND :P10_SEARCH_YEAR IS NOT NULL
    AND :P10_SEARCH_YEAR <> '%null%'
    AND :P10_SEARCH_STATUS IS NOT NULL
    AND :P10_SEARCH_STATUS <> '%null%'
    THEN
    q := q || 'WHERE
    (instr(upper(hd.MODEL),upper(nvl(:P10_SEARCH_MODEL,hd.MODEL))) > 0
    AND instr(upper(hd.YEAR),upper(nvl(:P10_SEARCH_YEAR,hd.YEAR))) > 0
    AND instr(upper(hd.BOAT_STATUS),upper(nvl(:P10_SEARCH_STATUS,hd.BOAT_STATUS))) > 0)
    AND e.OPTION_NUMBER (+) = hd.OPTION_NUMBER and e.YEAR (+) = hd.YEAR AND e.MODEL (+) = hd.MODEL AND e.PLP_ID (+) = hd.PLP_ID';
    ELSE
    IF
    :P10_SEARCH_MODEL IS NOT NULL
    OR :P10_SEARCH_YEAR IS NOT NULL
    OR :P10_SEARCH_STATUS IS NOT NULL
    THEN
    q := q || 'WHERE
    (instr(upper(hd.MODEL),upper(nvl(:P10_SEARCH_MODEL,hd.MODEL))) > 0
    AND instr(upper(hd.YEAR),upper(nvl(:P10_SEARCH_YEAR,hd.YEAR))) > 0
    or instr(upper(hd.BOAT_STATUS),upper(nvl(:P10_SEARCH_STATUS,hd.BOAT_STATUS))) > 0)
    AND e.OPTION_NUMBER (+) = hd.OPTION_NUMBER and e.YEAR (+) = hd.YEAR AND e.MODEL (+) = hd.MODEL AND e.PLP_ID (+) = hd.PLP_ID';
    else
    q := q || 'WHERE e.option_number = hd.option_number and e.year = hd.year and e.model = hd.model and e.plp_id = hd.plp_id';
    END IF;
    END IF;
    q := q || ' AND :P0_PLP_ID = hd.PLP_ID';
    return q;
    END;

  • How to select and duplicate the records and update some column values using cursor

    I have a table with 920 records, we need to update the end date to 6/30/2014 for 920 records and I need to create all 920 records with start date is 7/1/2014 and update the external value to
    CCC.
    Note: the table primary key is not auto increment, but I have sp to get the latest key for that.
    Existing table.  
    ID
    Source Name
    Internal value
    External value
    Start date
    End date
    1
    XXX
    AAA
    BBB
    1/1/2013
    6/30/2015
    Create new records
    ID
    Source Name
    Internal value
    External value
    Start date
    End date
    921
    XXX
    AAA
    CCC
    7/1/2013
    12/30/2015

    Hi ManuGT
    If I understand what you need then you ask for:
    1. updating all current rows (920 rows in the table now)
    2. insert new rows which are duplicates of the preiviews rows, but with value 'CCC' insteade of 'BBB'
    If so, there is not reason to use a cursor and it is highly NOT RECOMMENDED to use ant type of loop.
    You should work with SET and do it all in 2 simple queries:
    -- first we duplicate the existing rows,
    -- but we use the values 'CCC" and '20140107' for the new rows values
    INSERT test (SourceName, InternalValue, ExternalValue, StartDate, EndDate)
    select SourceName, 'CCC', ExternalValue, '20140107' , EndDate
    from test
    where
    -- You can use any filter that you need if you dont want to update all rows
    InternalValue = 'AAA' and ExternalValue = 'BBB' and StartDate = '20140101' and EndDate = '20140630'
    -- Now we update the old rows (check the filter! I get only the old rows since I filter the new rown out)
    UPDATE test
    SET EndDate = '20140107' -- I use date in format yyyymmdd, You can use other formats as well
    where
    -- You can use any filter that you need if you dont want to update all rows
    InternalValue = 'AAA' and ExternalValue = 'BBB' and StartDate = '20140101' and EndDate = '20140630'
    Unfortunately you did not post DDL+DML! Therefore we cant see your table structure and the data sample and we can only guess. I used Saeid's post as the basic DDL+DML.
    Please next time post DDL+DML
    here is the full code with the DDL+DML that i used:
    -- This is our DDL - A create table query:
    create table test
    ( id int identity(1,1) primary key,
    SourceName nvarchar(3),
    InternalValue nvarchar(3),
    ExternalValue nvarchar(3),
    StartDate date,
    EndDate date
    go
    -- This is our DML - A query that insert some sample data
    declare @i int = 1 ;
    while @i < 921
    begin
    insert test (SourceName, InternalValue, ExternalValue, StartDate, EndDate)
    values ('XXX', 'AAA', 'BBB', '1/1/2014', '6/30/2014' ) ;
    set @i += 1 ;
    end ;
    GO
    -- Here is the solution for the problem as I understood your needs:
    -- first we duplicate the existing rows,
    -- but we use the values 'CCC" and '20140107' for the new rows values
    INSERT test (SourceName, InternalValue, ExternalValue, StartDate, EndDate)
    select SourceName, 'CCC', ExternalValue, '20140107' , EndDate
    from test
    where
    -- You can use any filter that you need if you dont want to update all rows
    InternalValue = 'AAA' and ExternalValue = 'BBB' and StartDate = '20140101' and EndDate = '20140630'
    -- Now we update the old rows (check the filter! I get only the old rows since I filter the new rown out)
    UPDATE test
    SET EndDate = '20140107' -- I use date in format yyyymmdd, You can use other formats as well
    where
    -- You can use any filter that you need if you dont want to update all rows
    InternalValue = 'AAA' and ExternalValue = 'BBB' and StartDate = '20140101' and EndDate = '20140630'
    -- Here we just check how the result look like :-)
    select *
    from test ;
    -- And since we do not realy need this table in our server... Here we clean the DDL (you probaby DO NOT WANT TO EXECUTE THIS!)
    DROP table test
    GO
    I hope this was useful :-)
    [Personal Site] [Blog] [Facebook]

Maybe you are looking for

  • How to get exact query of sql in oracle?

    Hi all, Hope doing well, sir i was using one query of sql that is here: Declare @nshiftmax datetime set @nshiftmax=convert(time,DATEADD(N,1439,0)) print @nshiftmax so it is retreiving the result 1/1/1900 11:59 p.m and one more query is there Declare

  • SOAP Sender Adatper - Read custom http header field

    Hello, i try to read a custom http header into the dynamic configuration of a message - but it is not working as expected - in ASMA i configured to get the value of MYHEADER1 into XHEADERNAME1 - when testing with a MYHEADER1 value, the value is not p

  • Using Illustrator CS6, how to preserve drawn colors when Save For Web to PNG?

    Using Illustrator CS6 on Mac OSX 10.9.1: step 1. I open a new file for Web profile. step 2. I verify that File > Document Color Mode is RGB. step 3. I draw a square and set it's color to 0,103,197 (decimal). step 4. I click File > Save For Web step 5

  • Archived Log is not shifting from Primary to DR

    we have increase the table size without taking care of DR, so sapdata1 becomes 100% at DR site after that applying archived had stopped at DR, after that i manually added datafile using following commands, select * from v$recover_file where error lik

  • Movement type from restricted to block

    Dear ALL, I have a scenario of Deadline Monitoring, in which one the material date get expired it went to restricted stock and from there directly to block stock..So which movement type should i used for such scenario.We used presently QA05 T-Code. R