Need help with a SELECT statement

Dear forumers,
I'm a newbie in ABAP and I'm trying to figure out what the following line means (in bold letters):-
SELECT SINGLE STAT2 FROM PA0000 INTO PA0000-STAT2
WHERE PERNR = ITAB_DATA-STAFF_NO.
Does this mean that the single data from the STAT2 field is selected and then placed back into the same field (doesn't quite makes sense, right)?
Please help and many thanks in advance!

SELECT SINGLE STAT2 FROM PA0000 INTO PA0000-STAT2
WHERE PERNR = ITAB_DATA-STAFF_NO.
Does this mean that the single data from the STAT2 field is selected and then placed back into the same field (doesn't quite makes sense, right)?
it sense very much right.
have you heared about table buffer concept?
here this concept exactly comes.
try with this below code:
TABLES:pa0000."tables must be decleare
SELECT SINGLE STAT2 FROM PA0000 INTO PA0000-STAT2.
  write:PA0000-STAT2.
and since you are using select single than you should be use much key as much possible for getting accurate data.other wise system will pick first data which match your where condition.
Amit.

Similar Messages

  • I need help with a SELECT query - help!

    Hello, I need help with a select statement.
    I have a table with 2 fields as shown below
    Name | Type
    John | 1
    John | 2
    John | 3
    Paul | 1
    Paul | 2
    Paul | 3
    Mark | 1
    Mark | 2
    I need a query that returns everything where the name has type 1 or 2 but not type 3. So in the example above the qery should bring back all the "Mark" records.
    Thanks,
    Ian

    Or, if the types are sequential from 1 upwards you could simply do:-
    SQL> create table t as
      2  select 'John' as name, 1 as type from dual union
      3  select 'John',2 from dual union
      4  select 'John',3 from dual union
      5  select 'Paul',1 from dual union
      6  select 'Paul',2 from dual union
      7  select 'Paul',3 from dual union
      8  select 'Paul',4 from dual union
      9  select 'Mark',1 from dual union
    10  select 'Mark',2 from dual;
    Table created.
    SQL> select name
      2  from t
      3  group by name
      4  having count(*) <= 2;
    NAME
    Mark
    SQL>Or another alternative if they aren't sequential:
    SQL> ed
    Wrote file afiedt.buf
      1  select name from (
      2    select name, max(type) t
      3    from t
      4    group by name
      5    )
      6* where t < 3
    SQL> /
    NAME
    Mark
    SQL>Message was edited by:
    blushadow

  • Need help with the session state value items.

    I need help with the session state value items.
    Trigger is created (on After delete, insert action) on table A.
    When insert in table B at least one row, then trigger update value to 'Y'
    in table A.
    When delete all rows from a table B,, then trigger update value to 'N'
    in table A.
    In detail report changes are visible, but the trigger replacement value is not set in session value.
    How can I implement this?

    You'll have to create a process which runs after your database update process that does a query and loads the result into your page item.
    For example
    SELECT YN_COLUMN
    FROM My_TABLE
    INTO My_Page_Item
    WHERE Key_value = My_Page_Item_Holding_Key_ValueThe DML process will only return key values after updating, such as an ID primary key updated by a sequence in a trigger.
    If the value is showing in a report, make sure the report refreshes on reload of the page.
    Edited by: Bob37 on Dec 6, 2011 10:36 AM

  • Need Help With A Select Staement

    This is my data set.
    OPEN_DATE CLOSE_DATE
    02-JAN-08 02-JAN-08
    02-JAN-08 02-JAN-08
    02-JAN-08 02-JAN-08
    02-JAN-08 03-JAN-08
    04-JAN-08 04-JAN-08
    05-JAN-08
    07-JAN-08
    07-JAN-08 07-JAN-08
    07-JAN-08 07-JAN-08
    08-JAN-08 08-JAN-08
    08-JAN-08
    02-JAN-08
    02-JAN-08
    08-JAN-08
    09-JAN-08
    I'm need totals for those that are opened and closed per day. Here is what I'm trying to achieve...
    Status Value DATE
    Open 6 02-JAN-08
    Closed 3 02-JAN-08
    Open 0 03-JAN-08
    Closed 1 03-JAN-08
    Open 1 04-JAN-08
    Closed 1 04-JAN-08
    Open 0 05-JAN-08
    Closed 1 05-JAN-08
    Open 3 07-JAN-08
    Closed 2 07-JAN-08
    Open 3 08-JAN-08
    Closed 1 08-JAN-08
    Open 1 09-JAN-08
    Close 0 09-JAN-08
    This select statement gets me close but the problem is how to get the ones that should have a Value of 0
    select 'Open' "Status", count(*) "Value", to_char(open_date, 'DD-MON-YY') "DATE"
    from usar_log2
    where open_date IS NOT NULL and
    to_char(open_date, 'MON-YY') = to_char(sysdate, 'MON-YY')
    and (USAR_status like 'CLOSED' or usar_status like 'OPENED' or USAR_Status like 'WORKING')
    group by to_char(open_date, 'DD-MON-YY')
    UNION
    select 'Closed' "status", count(*) "Close", to_char(close_date, 'DD-MON-YY')
    from usar_log2
    where close_date is not null and
    to_char(close_date, 'MON-YY') = to_char(sysdate, 'MON-YY')
    and (USAR_status like 'CLOSED' or usar_status like 'OPENED' or USAR_Status like 'WORKING')
    group by to_char(close_date, 'DD-MON-YY')
    order by 3, 1 desc;
    The above select statement's results...
    Status Value DATE
    Open 6 02-JAN-08
    Closed 3 02-JAN-08
    Closed 1 03-JAN-08
    Open 1 04-JAN-08
    Closed 1 04-JAN-08
    Closed 1 05-JAN-08
    Open 3 07-JAN-08
    Closed 2 07-JAN-08
    Open 3 08-JAN-08
    Closed 1 08-JAN-08
    Open 1 09-JAN-08
    But I need this instead...
    Status Value DATE
    Open 6 02-JAN-08
    Closed 3 02-JAN-08
    <----- Open 0 03-JAN-08
    Closed 1 03-JAN-08
    Open 1 04-JAN-08
    Closed 1 04-JAN-08
    <----- Open 0 05-JAN-08
    Closed 1 05-JAN-08
    Open 3 07-JAN-08
    Closed 2 07-JAN-08
    Open 3 08-JAN-08
    Closed 1 08-JAN-08
    Open 1 09-JAN-08
    <----- Close 0 09-JAN-08
    Any help would be more appreciative.

    Thank you...You all are great. While I'm still
    looking at the various ways you all provided, from
    what I have looked at so far, they don't address
    05-JAN-08 which has a null open date. There are
    three possiblities, maybe four. Does 05-JAN-08 have a null open date in the data you supplied?
    You showed us:
    OPEN_DATE CLOSE_DATE
    02-JAN-08 02-JAN-08
    02-JAN-08 02-JAN-08
    02-JAN-08 02-JAN-08
    02-JAN-08 03-JAN-08
    04-JAN-08 04-JAN-08
    05-JAN-08
    07-JAN-08
    07-JAN-08 07-JAN-08
    07-JAN-08 07-JAN-08
    08-JAN-08 08-JAN-08
    08-JAN-08
    02-JAN-08
    02-JAN-08
    08-JAN-08
    09-JAN-08
    which looks like they all have open dates.
    Perhaps, if there was null open dates you should have used [code][/code] or [pre][/pre] tags around your data so it looked something like
    OPEN_DATE CLOSE_DATE
    02-JAN-08 02-JAN-08
    02-JAN-08 02-JAN-08
    02-JAN-08 02-JAN-08
    02-JAN-08 03-JAN-08
    04-JAN-08 04-JAN-08
              05-JAN-08
    07-JAN-08
    07-JAN-08 07-JAN-08
    07-JAN-08 07-JAN-08
    08-JAN-08 08-JAN-08
    08-JAN-08
    02-JAN-08
    02-JAN-08
    08-JAN-08
    09-JAN-08And then it would have required the ANSI outer join in my query to allow for outer joining on more than one column...
    SQL> ed
    Wrote file afiedt.buf
      1  WITH t as (SELECT to_date('02-JAN-2008','DD-MON-YYYY') as open_date, to_date('02-JAN-2008','DD-MON-YYYY') as closed_date from dual union all
      2             SELECT to_date('02-JAN-2008','DD-MON-YYYY'), to_date('02-JAN-2008','DD-MON-YYYY') from dual union all
      3             SELECT to_date('02-JAN-2008','DD-MON-YYYY'), to_date('02-JAN-2008','DD-MON-YYYY') from dual union all
      4             SELECT to_date('02-JAN-2008','DD-MON-YYYY'), to_date('03-JAN-2008','DD-MON-YYYY') from dual union all
      5             SELECT to_date('04-JAN-2008','DD-MON-YYYY'), to_date('04-JAN-2008','DD-MON-YYYY') from dual union all
      6             SELECT NULL, to_date('05-JAN-2008','DD-MON-YYYY') from dual union all
      7             SELECT to_date('07-JAN-2008','DD-MON-YYYY'), NULL from dual union all
      8             SELECT to_date('07-JAN-2008','DD-MON-YYYY'), to_date('07-JAN-2008','DD-MON-YYYY') from dual union all
      9             SELECT to_date('07-JAN-2008','DD-MON-YYYY'), to_date('07-JAN-2008','DD-MON-YYYY') from dual union all
    10             SELECT to_date('08-JAN-2008','DD-MON-YYYY'), to_date('08-JAN-2008','DD-MON-YYYY') from dual union all
    11             SELECT to_date('08-JAN-2008','DD-MON-YYYY'), NULL from dual union all
    12             SELECT to_date('02-JAN-2008','DD-MON-YYYY'), NULL from dual union all
    13             SELECT to_date('02-JAN-2008','DD-MON-YYYY'), NULL from dual union all
    14             SELECT to_date('08-JAN-2008','DD-MON-YYYY'), NULL from dual union all
    15             SELECT to_date('09-JAN-2008','DD-MON-YYYY'), NULL from dual)
    16      ,all_dates as (select minod+rownum-1 as dt
    17                     from   dual, (select min(open_date) minod, max(open_date) maxod from t)
    18                     connect by rownum <= maxod-minod+1)
    19      ,stat as (select 'open' as status from dual union all select 'closed' from dual)
    20  -- END OF DATA
    21  select all_dates.dt, stat.status, sum(decode(decode(stat.status, 'open', t.open_date, t.closed_date), all_dates.dt, 1, 0)) as cnt
    22  from   stat JOIN all_dates ON (1=1)
    23         LEFT OUTER JOIN t ON (NVL(t.open_date, NVL(t.closed_date, all_dates.dt)) = all_dates.dt)
    24  group by all_dates.dt, stat.status
    25* order by 1,2 desc
    SQL> /
    DT        STATUS        CNT
    02-JAN-08 open            6
    02-JAN-08 closed          3
    03-JAN-08 open            0
    03-JAN-08 closed          0
    04-JAN-08 open            1
    04-JAN-08 closed          1
    05-JAN-08 open            0
    05-JAN-08 closed          1
    06-JAN-08 open            0
    06-JAN-08 closed          0
    07-JAN-08 open            3
    07-JAN-08 closed          2
    08-JAN-08 open            3
    08-JAN-08 closed          1
    09-JAN-08 open            1
    09-JAN-08 closed          0
    16 rows selected.
    SQL>Make your requirements clear in the future.

  • Help with a select statement from a SQL Server within a DTS !!

    Hello Gurus!
    I help with the script bellow, when I run it within DTS (in SQL Sever 2000), I got the error Invalid number/or not a valid month.
    Please bellow with the WHERE CLASUE '08/01/2001' AND '03/09/2002'
    And in the other hand I change this forma to '01-AUG-01' AND
    '03-MAR-2002', the DTS start and run witha successful messages, but it does not returns row, which is wrong.
    Somebady please help!
    Thanks Gurus!
    GET Total ANIs with Trafic By Area Code
    select
         substr(b.ct_num, 0,3) as Area_Codes,
         COUNT(DISTINCT B.CT_NUM) AS ANIS
    from
         wasabi.v_trans A,
         wasabi.V_Sur_Universal B,
         wasabi.V_Sub C,
         wasabi.V_Trans_Typ D
    where
         D.Trans_typ = A.Trans_Typ AND
         A.Sur_ID = B.Sur_ID AND
         C.Sub_ID = A.Sub_ID AND
         a.trans_stat != 'X' AND     
         a.Trans_DTTM >= '08/01/2001'AND
         a.Trans_DTTM < '03/09/2002 AND
         B.AMA3 = 'PHONE1'
         AND C.SUB_ID not in (100117)
    GROUP BY
         substr(b.ct_num, 0,3)
    ORDER BY
         Area_Codes

    I think that you need a "to_date" function eg
    change '08/01/2001' to to_date('08/01/2001','dd/mm/yyyy')

  • Can you please help with this select statement.

    The following code has a result, I need to modify the select somehow which only gives me the rows which are common between all PLSTS.
    Any suggestions?
    Thank you
    SELECT DISTINCT P.PLST, P.MENU, I,PNL, P.ACCESS
    FROM AUTHITEM P, I.MENUITEM
    WHERE P.MENU = I.MENU
    AND P.PNL = I.PNL
    AND P.MENU IN ('MSN, CPP')
    AND P.ACESS >= 8
    GROUP BY P.PLST, PMENU, I.PNL, P.ACCESS
    HAVING COUNT (*) >=2
    ORDER BY 2,3,4,1
    This is the result with having count > = 1, and if I add having count > =1 I get the following result
    PLST     MENU     PNL     ACCESS
    C001     MSN     LNAME     14
    C002     MSN     LNAME     14
    B008     MSN     LNAME     14
    B005     MSN     FNAME     14
    M009     MSN     LNAME     14
    C001     MSN     GNAME     14
    C002     MSN     GNAME     14
    B008     MSN     LNAME     14
    C001     MSN     FNAME     14
    C002     MSN     FNAME     14
    k008     CPP     MNAME     14
    I need this result
    PLST     MENU     PNL     ACCESS
    C001     MSN     LNAME     14
    C002     MSN     LNAME     14
    C001     MSN     GNAME     14
    C002     MSN     GNAME     14
    C001     MSN     FNAME     14
    C002     MSN     FNAME     14

    why bother with DISTINCT ?
    have a look at the results of :
    SELECT P.PLST, P.MENU, I.PNL, P.ACCESS , COUNT(*) ZCOUNT
      FROM AUTHITEM P, I.MENUITEM
    WHERE P.MENU    = I.MENU
       AND P.PNL     = I.PNL
       AND P.MENU  IN ('MSN, CPP')
       AND P.ACCESS >= 8
    GROUP BY P.PLST, P.PMENU, I.PNL, P.ACCESS
    ORDER BY 2,3,4,1
    ;and then apply HAVING COUNT(*) >= ...

  • Need help with db select

    As usual I have been stuck for a while on what is probably a very simple solution so perhaps someone can help me, thanks.
    I have a portfolio page to which I post a url to filter the portfolio type (0, 1 or 2) and display the results.
    It works ok except that I can't get the url right to show all records. I have tried things like
    /portfolio.php?websitetype=1&2
    and
    /portfolio.php?websitetype=*
    /portfolio.php?websitetype>0
    Perhaps I need to change my select?
    $query_portfolio = "SELECT * FROM portfoliodb WHERE portfoliodb.websitetype='". $_GET['websitetype'] ."'  AND portfoliodb.visible = 1 ORDER BY portfoliodb.portfolio_id DESC";

    bikeman01 wrote:
    Ok I've now got it working as suggested so that's a big improvement, thanks but it's not quite what I was after. What I want is for all records to be retrieved by default when there is no url suffix and not require ?websitetype=ALL
    That is not what your OP asked for!
    It works ok except that I can't get the url right to show all records. I have tried things like
    /portfolio.php?websitetype=1&2
    and
    /portfolio.php?websitetype=*
    /portfolio.php?websitetype>0
    // determine if the URL parameter for websitetype is set.
    if (isset($_GET['websitetype'])) {
                   // run a query to filter only selected types
                   // based off value of URL parameter
                        $query_portfolio = "SELECT *
                        FROM portfoliodb
                        WHERE portfoliodb.websitetype='". $_GET['websitetype'] ."'
                        AND portfoliodb.visible = 1
                        ORDER BY portfoliodb.portfolio_id DESC";
    // else if the URL parameter for websitetype is not set.
    } else {
                        //  run query to display ALL types
                        $query_portfolio = "SELECT *
                        FROM portfoliodb
                        ORDER BY portfoliodb.portfolio_id DESC";
    // end condition if the URL parameter for websitetype is set.

  • Quick help with a select statement...

    Hello all,
    I will try to lay this out as simply as possible.  I have the following table in my code:
    TYPES: BEGIN OF ty_table,
        vbeln TYPE likp-vbeln,
        lfdat TYPE likp-lfdat,
        lfart TYPE likp-lfart,
        wadat_ist TYPE likp-wadat_ist,
        vstel TYPE likp-vstel,
        route TYPE likp-route,
        vsbed TYPE likp-vsbed,
        inco1 TYPE likp-inco1,
        inco2 TYPE likp-inco2,
        kunnr TYPE likp-kunnr,
        kunag TYPE likp-kunag,
        brgew TYPE lips-brgew,
        matnr TYPE lips-matnr,
        arktx TYPE lips-arktx,
        meins TYPE lips-meins,
        lgmng TYPE lips-lgmng,
        vgbel TYPE lips-vgbel,
        name2 TYPE adrc-name2,
        street TYPE adrc-street,
        city1 TYPE adrc-city1,
        region TYPE adrc-region,
        post_code1 TYPE adrc-post_code1,
        lifnr  TYPE lfa1-lifnr,
        name1 TYPE adrc-name1,
        so_vbeln TYPE vbak-vbeln,
        erdat TYPE vbak-erdat,
      END OF ty_table.
    DATA: it_table TYPE TABLE OF ty_table.
    I then run through a select statement as follows:
    * Get data from LIKP and LIPS.
      SELECT a~vbeln a~lfdat a~lfart a~wadat_ist a~vstel a~route a~vsbed b~brgew a~inco1 a~inco2 a~kunnr a~kunag
               b~matnr b~meins b~lgmng b~vgbel b~arktx INTO CORRESPONDING FIELDS OF TABLE it_table
               FROM likp AS a
                INNER JOIN lips AS b ON b~vbeln = a~vbeln
                WHERE a~vstel IN so_vstel
                AND a~wadat_ist IN so_wadat
                AND b~mtart IN so_mtart.
    That works fine.  The next statement, in the report, is the following select.  When this next select runs it clears all of the fields except for vbeln and erdat.  I want c~vbeln to go into it_table-so_vbeln.  Now it is going into it_table-vbeln.
    * Get Sales order info from VBAK
      SELECT c~vbeln c~erdat INTO CORRESPONDING FIELDS OF TABLE it_table
          FROM lips AS a
            INNER JOIN vbap AS b ON b~vbeln = a~vgbel
            AND b~posnr = a~vgpos
              INNER JOIN vbak AS c ON c~vbeln = b~vbeln
              FOR ALL ENTRIES IN it_table
                WHERE a~vgbel = it_table-vgbel.
    I then tried to write the select statement by takign out "into corresponding fields" like the following but it gives my a syntax error on (it_table-so_vbeln , it_table-erdat).
    * Get Sales order info from VBAK
      SELECT c~vbeln c~erdat INTO (it_table-so_vbeln , it_table-erdat)
        FROM lips AS a
          INNER JOIN vbap AS b ON b~vbeln = a~vgbel
          AND b~posnr = a~vgpos
            INNER JOIN vbak AS c ON c~vbeln = b~vbeln
            FOR ALL ENTRIES IN it_table
              WHERE a~vgbel = it_table-vgbel.
    Is there a way to write the second select (the select that is pulling data from VBAK) so that it will not clear the other entries in the table?  Also, is there a way to combine the two selects into one join? 
    Regards,
    Davis

    Following is the entire report, if that makes it easier:
    *& Report  Z_TRANS_EVAL
    REPORT  z_trans_eval.
    TABLES: likp, lips, adrc, vbpa.
    TYPE-POOLS: truxs.
    TYPES: BEGIN OF ty_table,
        vbeln TYPE likp-vbeln,
        lfdat TYPE likp-lfdat,
        lfart TYPE likp-lfart,
        wadat_ist TYPE likp-wadat_ist,
        vstel TYPE likp-vstel,
        route TYPE likp-route,
        vsbed TYPE likp-vsbed,
        inco1 TYPE likp-inco1,
        inco2 TYPE likp-inco2,
        kunnr TYPE likp-kunnr,
        kunag TYPE likp-kunag,
        brgew TYPE lips-brgew,
        matnr TYPE lips-matnr,
        arktx TYPE lips-arktx,
        meins TYPE lips-meins,
        lgmng TYPE lips-lgmng,
        vgbel TYPE lips-vgbel,
        name2 TYPE adrc-name2,
        street TYPE adrc-street,
        city1 TYPE adrc-city1,
        region TYPE adrc-region,
        post_code1 TYPE adrc-post_code1,
        lifnr  TYPE lfa1-lifnr,
        name1 TYPE adrc-name1,
        so_vbeln TYPE vbak-vbeln,
        erdat TYPE vbak-erdat,
      END OF ty_table.
    DATA: it_table TYPE TABLE OF ty_table,
          wa_table LIKE LINE OF it_table,
          it_table_csv TYPE truxs_t_text_data.
    DATA : lv_tabix LIKE sy-tabix.
    DATA temp_string TYPE string.
    DATA w_adrnr TYPE vbpa-adrnr.
    DATA: w_adrnr_sp TYPE vbpa-adrnr.
    * Selction criteria
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-004.
    SELECT-OPTIONS: so_vstel FOR likp-vstel,
                    so_wadat FOR likp-wadat_ist,
                    so_mtart FOR lips-mtart.
    SELECTION-SCREEN END OF BLOCK b2.
    * CSV output filename
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (16) text-002 FOR FIELD p_file.
    PARAMETERS: p_file(30) TYPE c.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b3.
    START-OF-SELECTION.
    * Get data from LIKP and LIPS.
      SELECT a~vbeln a~lfdat a~lfart a~wadat_ist a~vstel a~route a~vsbed b~brgew a~inco1 a~inco2 a~kunnr a~kunag
               b~matnr b~meins b~lgmng b~vgbel b~arktx INTO CORRESPONDING FIELDS OF TABLE it_table
               FROM likp AS a
                INNER JOIN lips AS b ON b~vbeln = a~vbeln
                WHERE a~vstel IN so_vstel
                AND a~wadat_ist IN so_wadat
                AND b~mtart IN so_mtart.
    * Get Sales order info from VBAK
      SELECT c~vbeln c~erdat INTO CORRESPONDING FIELDS OF TABLE it_table
          FROM lips AS a
            INNER JOIN vbap AS b ON b~vbeln = a~vgbel
            AND b~posnr = a~vgpos
              INNER JOIN vbak AS c ON c~vbeln = b~vbeln
              FOR ALL ENTRIES IN it_table
                WHERE a~vgbel = it_table-vgbel.
    * Get internal address number for ship to party
      LOOP AT it_table INTO wa_table.
        lv_tabix = sy-tabix.    "update counter.
        SELECT SINGLE adrnr FROM vbpa INTO w_adrnr WHERE
        vbeln = wa_table-vgbel
        AND parvw = 'WE'.
        SELECT SINGLE lifnr FROM vbpa INTO wa_table-lifnr WHERE
          vbeln = wa_table-vbeln
          AND parvw = 'SP'
          AND  posnr = '000000'.
        SELECT SINGLE name1 FROM lfa1 INTO wa_table-name1 WHERE
          lifnr = wa_table-lifnr.
    * Get address data from VBPA
        SELECT city1 region post_code1 INTO CORRESPONDING FIELDS OF wa_table
        FROM adrc WHERE
        addrnumber = w_adrnr.
        ENDSELECT.
    * Update the internal table
        MODIFY  it_table INDEX lv_tabix FROM wa_table.
      ENDLOOP.
    END-OF-SELECTION.
    * Call correct display procedure(s).
      IF p_file <> ''.
    * Save a CSV file
        PERFORM display_csv.
      ELSE.
    *Display in ALV
        PERFORM display_alv.
      ENDIF.
    *&      Form  display_alv
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM display_alv .
      DATA: gr_alv TYPE REF TO cl_salv_table,
            gr_func TYPE REF TO cl_salv_functions,
            gr_columns TYPE REF TO cl_salv_columns_table,
            gr_column TYPE REF TO cl_salv_column_table,
            gr_error TYPE REF TO cx_salv_error.
      TRY.
          CALL METHOD cl_salv_table=>factory
            IMPORTING
              r_salv_table = gr_alv
            CHANGING
              t_table      = it_table.
        CATCH cx_salv_msg INTO gr_error.
      ENDTRY.
      gr_func = gr_alv->get_functions( ).
      gr_func->set_all( abap_true ).
      gr_alv->display( ).
    ENDFORM.                    " display_alv
    *&      Form  display_csv
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM display_csv .
      DATA: w_filename TYPE string.
      CONCATENATE p_file temp_string INTO w_filename.
      CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
        EXPORTING
          i_field_seperator    = ';'
        TABLES
          i_tab_sap_data       = it_table
        CHANGING
          i_tab_converted_data = it_table_csv
        EXCEPTIONS
          conversion_failed    = 1
          OTHERS               = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename = w_filename
        TABLES
          data_tab = it_table_csv
        EXCEPTIONS
          OTHERS   = 1.
      PERFORM display_alv.
    ENDFORM.                    " display_csv

  • Need help with cursor selection in control panels

    I can't get my cursor to work in the control panel at the top of the screen, for example, when I select text and want to change the font size, etc.  It won't even select to change from font to paragraph mode.  Other issues are trying to choose the selection tool, which I can only do with the "V" shortcut tool--escape doesn't work, nor does the cursor choose the  icons.  Help!

    Windows? see InDesign tools and panels don't respond to mouse clicks (Windows 7/Vista)

  • Need help with **** Invalid Cursor State ****

    Hi,
    can someone tell me why am i getting this error....
    //******java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state
    Any help is greatly appreciated.....
    Thanks in advance.
    //***********this is the output on servlet side**************//
    Starting service Tomcat-Standalone
    Apache Tomcat/4.0.3
    Starting service Tomcat-Apache
    Apache Tomcat/4.0.3
    init
    DBServlet init: Start
    DataAccessor init: Start
    Accessor init: Loading Database Driver: sun.jdbc.odbc.JdbcOdbcDriver
    DataAccessor init: Getting a connection to - jdbc:odbc:SCANODBC
    username SYSDBA
    password masterkey
    DataAccessor init: Preparing searchPolicy
    DataAccessor init: Prepared policySearch
    DataAccessor init: Prepared ssnSearch
    DataAccessor init: End
    After the myDataAccessor
    Database Connection...
    in doGet(...)
    SSSSSSSGetpolicynumber
    In GetPolicyInformation
    b05015195
    Getting Policy Informaton for = b05015195
    okay, building vector for policy
    in GetPolicyInformation for = b05015195
    starting query... policy Information
    finishing query... Policy Information
    Inside the while(next) loop
    sun.jdbc.odbc.JdbcOdbcResultSet@4db06e
    sun.jdbc.odbc.JdbcOdbcResultSet@4db06e
    b05015195
    policy information constructor with resultset
    java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6031)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6188)
    at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3266)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:
    5398)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:326)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:383)
    at viewscreenappletservlet.policyinformation.<init>(policyinformation.ja
    va:56)
    at viewscreenappletservlet.DatabaseAccessor.getPolicyInformation(Databas
    eAccessor.java:145)
    at viewscreenappletservlet.Servlet.policyDisplay(Servlet.java:108)
    at viewscreenappletservlet.Servlet.doGet(Servlet.java:91)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServl
    et.java:446)
    at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java
    :180)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:193)
    at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:213)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:193)
    at filters.ExampleFilter.doFilter(ExampleFilter.java:149)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:213)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:243)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:190)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:566)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
    torBase.java:475)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
    2343)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:180)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:566)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
    rValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:564)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:564)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
    468)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:174)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
    .java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
    a:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
    r.java:1012)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
    va:1107)
    at java.lang.Thread.run(Thread.java:484)
    result set closed
    1
    sending response
    Sending policy vector to applet...
    Data transmission complete.

    1) JDBC-ODBC driver is buggy
    2) Some drivers (truly speaking most of them) doesn't
    support cursors or supports them in a wrong way
    Paul

  • Need help with Advanced Selection in MSA

    Hi,
    Has anyone managed to identify how to create additional
    advanced selection criteria using links to existing combo engines ? Documentation on Mobile system maint is limited so looking for some additional help. Some criteria you can run the check against but not all why ? What should go in the hierachy fields and how do you select the choice list values ?
    Thanks in advance
    M

    Hi,
    Thanks,my issue is I want to use the combo box so the user can select from the drop down the relevant code from the choice list. Not rocket science really.
    Example of sql generated for profession whch is kna1 field.
    select  KNA1.TITLE,KNA1.SFAKNA2,KNA1.SFAKNA1,KNA1.PROFRESSION as PROFESSION,KNA1.PAFKT,KNA1.NAME2,KNA1.NAME1,KNA1.KVTGRP,KNA1.KVCPPOS,KNA1.KUNNR,KNA1.KTOKD,KNA1.BPACT,KNA1.ANRED,KNA1.ABTNR,ADRC.TELNR_LONG,ADRC.STREET,ADRC.POST_CODE1,ADRC.CITY1,ADRC.ADRCDFLT,ADDR.SFAKNBP , (KNA1.PROFESSION ='MIC') as ReturnValue1 from SMOKNA1 KNA1,SMOADRC ADRC,CDBD_ADDREXT ADDR where kna1.deleted='0' and KNA1.Source='CON' and ADRC.deleted='0' and ADDR.deleted = '0' and (ADRC.ADRCDFLT='S' or ADRC.ADRCDFLT='P') and (1=1) and kna1.sfakna1=adrc.sfakna1 and adrc.sfaadrc = addr.sfaadrc order by kna1.name1
    Code fails !
    I have set VAR1 as a free Combo with Bdoc as Choice, segment as Choice List with fields chkey/Textx so hiearchy fields looks like this //*/Profession hiearchy params being mandt/spras/list
    It will not check is this because there is an error in this definition ?
    Regards
    MM

  • Need help with Order by statement

    I have a report which has an order by statement to order a varchar2 field in ascending order.
    The report sorts the records correctly but if I rerun the report, the records with the same values in the column that I order by, do not maintain the same order as was in the report's 1st run.
    The records will still be sorted in ascending order but those records that have the same values interchange positions each time I run the report.
    Is this ok or is there a way of making records with same values maintain the same order in all the report runs? Please assist. Thanks.

    user8655468 wrote:
    but those records that have the same values interchange positions each time I run the report.
    Is this ok or is there a way of making records with same values maintain the same order in all the report runs? Please assist. Thanks.Hello,
    It's normal those are same values may interchange at each run. you can add another column in order by clause. That
    Order by column1,column2 may add another column3 -- this will maintain always same but column 1,2,3 have same value , it will may interchange.
    Hope this helps
    Hamid

  • Need help with special select case

    Oracle DB 12c, I think 12.1.2
    drop table person_tests;
    create table person_tests (
    person_id number,
    test_type_id varchar2(1),
    test_date date
    insert into person_tests (person_id,test_type_id,test_date) values (1,'A',to_date('01012000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (1,'A',to_date('01022000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (1,'B',to_date('01032000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (1,'B',to_date('01042000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (1,'C',to_date('01052000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (2,'C',to_date('01062000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (3,'A',to_date('01072001','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (3,'A',to_date('01082000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (3,'B',to_date('01092000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (3,'B',to_date('01102000','MMDDYYYY'));
    insert into person_tests (person_id,test_type_id,test_date) values (3,'C',to_date('01102000','MMDDYYYY'));
    Persons as participating in certain tests: A, B and C where each test is tagged with a date when done.
    I need to output only people that completed 2 tests of type A, 2 tests of type B and 1 test of type C. I have to display the test type and the date of the most recent of those tests. In the example above, desired output would be
    1 C            05-JAN-00
    3 A            07-JAN-01
    Hope this problem definition makes sense

    Hi,
    Sorry, I missed the requirement about showing the most recent test_type_id.
    Assuming the date to be shown is the date the minimum requirements were fulfilled (whether of not gratutitous tests came afterwrds), you can do something like this:
    WITH    got_r_num    AS
        SELECT  person_id, test_type_id, test_date
        ,       ROW_NUMBER () OVER ( PARTITION BY  person_id, test_type_id
                                     ORDER BY      test_date
                                   )   AS r_num
        FROM    person_tests
        WHERE   test_type_id  IN ('A', 'B', 'C')
    SELECT    person_id
    ,         MIN (test_type_id) KEEP (DENSE_RANK LAST ORDER BY  test_date)  AS last_test_type
    ,         MAX (test_date)                                                AS last_test_date
    FROM      got_r_num
    WHERE     r_num  <= CASE  test_type_id
                            WHEN  'A'  THEN  2
                            WHEN  'B'  THEN  2
                            WHEN  'C'  THEN  1
                        END
    GROUP BY  person_id
    HAVING    COUNT (*)  = 5  -- 2 'A's  +  2 'B's  +  1 'C'
    What test_type_id would you want to display in case of a tie for the latest test?
    I just saw your post saying that a person with 3 or more type 'A' tests should be excluded.  In that case, my original solution (with = in the main WHERE clause) is what you want; only used LAST to get the latest test_type_id.  The solution in this message is for the situation where you don't care if someone had 3 or more 'A's, but you want to ignore all but the first 2.

  • PSE8 - Need help with bizarre selection problem with spot healing and clone tools

    In using clone stamp and spot healing brush--. When I Alt click for my sample I get entire image---acting as if I'm moving a layer---whether I'm working on a single or multi-layer image.  This is PSE8 3 gig ram windows ----Lenovo Core II duo  P8400  @ 2.26 GHZ  with ATI 256 meg graphics
    This sure is fun!!!
    I'm trying to get rid of an old numbering imprint on a film(not digital) image.

    Actually the overlay option is helpful. It shows the region that you are copying - and i dont think thats causing the issue.
    The issue is because you dont have the clip option checked along with Overlay.
    Just make sure you have both Overlay and Clipped options checked and you would not see this problem anymore.
    Regards,
    Pri
    (Attached an image of the settings)

  • Need Help With A Case Statement.

    Apex 3.2
    I currently have a report with the sql
    select oid oid,
    APEX_ITEM.MD5_CHECKSUM(oid, jobid, gdc, status)||
    apex_item.hidden(2,oid)||
    apex_item.display_and_save(3,jobid) jobid,
    apex_item.display_and_save(4,gdc) gdc,
    apex_item.display_and_save(5,bday) bday,
    num_rows num_rows,
    status current_status,
    APEX_ITEM.SELECT_LIST_FROM_LOV(6,status,'WORKLOAD_STATUS_FULL_LIST',null,'YES',null,'-Select-') new_status,
    case
        when status in ('TO_TABLE','ERROR_TABLE') then 'PREPARED'
        when status in ('TO_FILE','ERROR_FILE') then 'IN_TABLE'
        when status like '%SEND%' and status <> 'SEND_RENAME_OK' then 'IN_FILE'
        when trim(translate(status,'-1234567890',' ')) is null then to_char(jobid)
        else status
      end status_if_reset
    from scp_workload
    where jobid = :P28_JOBIDWhat I want to do is, if the result of status_if_reset column
    is not in ('PREPARED','EMPTY_FILE','IN_FILE','SEND_RENAME_OK','DEPRICIATED')
    then the new_status status column should be the APEX_ITEM.SELECT_LIST_FROM_LOV.
    If not it should just be status (normal report column)
    Hope I have explained properly
    Gus

    Your function had errors but maybe that was copy paste. The way you wrote your code is way to complicated. This should work for you:
    CREATE OR REPLACE FUNCTION fn_28_get_status (p_status IN VARCHAR2)
       RETURN NUMBER
    AS
       v_status   NUMBER;
    BEGIN
       IF    p_status IN
                ('TO_TABLE', 'ERROR_TABLE', 'TO_FILE', 'ERROR_FILE',
                 'SEND_RENAME_OK')
          OR p_status LIKE '%SEND%'
       THEN
          v_status := 1;
       ELSE
          v_status := 0;
       END IF;
       RETURN v_status;
    END fn_28_get_status;
    SELECT OID OID,
              apex_item.md5_checksum (OID, jobid, gdc, status)
           || apex_item.hidden (2, OID)
           || apex_item.display_and_save (3, jobid) jobid,
           apex_item.display_and_save (4, gdc) gdc,
           apex_item.display_and_save (5, bday) bday, num_rows num_rows,
           status current_status,
           CASE
              WHEN fn_28_get_status (status) = 1
                 THEN apex_item.select_list_from_lov
                                         (9,
                                          status,
                                          'WORKLOAD_STATUS_FULL_LIST',
                                          NULL,
                                          'YES',
                                          NULL,
                                          '-Select-'
              ELSE status
           END new_status
      FROM scp_workload
    WHERE jobid = :p28_jobidYou should not expect the others will debug you code. They don't have your objects to test.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    https://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

Maybe you are looking for