Parameter in the select query

Hi,
I am having a function which accepts a String parameter. And based on that a query forms inside. I tried my level best and unable to achieve. Can anybody give a big hand in this. Here it goes..
create or replace function f1(enames varchar2) return varchar2 is
TYPE REC_TABS IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
V_ID_TAB REC_TABS;
V_STR_ROLEID VARCHAR2(4000);
begin
SELECT ID BULK COLLECT INTO V_ID_TAB FROM
SELECT TO_NUMBER(P_ID) ROLE_ID FROM ROLES START WITH ID IN (SELECT ID FROM ROLES WHERE ROLENAME IN (enames))
CONNECT BY PRIOR P_ID= ID
UNION ALL
SELECT ID FROM ROLES WHERE ROLENAME IN (enames)
IF V_ID_TAB.COUNT=0 THEN
RETURN;
ELSE
FOR J IN V_ID_TAB.FIRST .. V_ID_TAB.LAST LOOP
V_STR_ROLEID:= V_ROLEID_TAB(J)||','||V_STR_ROLEID;
END LOOP;
V_STR_ROLEID:=SUBSTR(V_STR_ROLEID,1,LENGTH(V_STR_ROLEID)-1);
V_STR_ROLEID:='('||V_STR_ROLEID||')';
END IF;
END IF;
end;
sho err
i pass enames like 'blake,smith,john' as parameter to my function. Its not working what shall i do? Please help me out to resolve the issue..
select * from f1('blake,smith,john') from dual
Help me out.
Thanks

 
Hi,
In report parameter, you can use multi-valued parameter. These are some suggestions in the following document.
Creating Report Parameters and Setting Report Parameter Properties
http://msdn.microsoft.com/en-us/library/aa337234(SQL.90).aspx
Please refer the following tutorial to use parameter for querying.
Lesson 2: Adding Cascading Parameters to a Report
http://msdn.microsoft.com/en-us/library/aa337426(SQL.90).aspx
In addition, if you want to know more information, please check below document.
Integrating Analysis Services with Reporting Services
http://msdn.microsoft.com/en-us/library/aa902647.aspx
Hope this helps.
Garsy Liang - MSFT

Similar Messages

  • Using case when statement in the select query to create physical table

    Hello,
    I have a requirement where in I have to execute a case when statement with a session variable while creating a physical table using a select query. let me explain with an example.
    I have a physical table based on a select table with one column.
    SELECT 'VALUEOF(NQ_SESSION.NAME_PARAMETER)' AS NAME_PARAMETER FROM DUAL. Let me call this table as the NAME_PARAMETER table.
    I also have a customer table.
    In my dashboard that has two pages, Page 1 contains a table with the customer table with column navigation to my second dashboard page.
    In my second dashboard page I created a dashboard report based on NAME_PARAMETER table and a prompt based on customer table that sets the NAME_ PARAMETER request variable.
    EXECUTION
    When i click on a particular customer, the prompt sets the variable NAME_PARAMETER and the NAME_PARAMETER table shows the appropriate customer.
    everything works as expected. YE!!
    Now i created another table called NAME_PARAMETER1 with a little modification to the earlier table. the query is as follows.
    SELECT CASE WHEN 'VALUEOF(NQ_SESSION.NAME_PARAMETER)'='Customer 1' THEN 'TEST_MART1' ELSE TEST_MART2' END AS NAME_PARAMETER
    FROM DUAL
    Now I pull in this table into the second dashboard page along with the NAME_PARAMETER table report.
    surprisingly, NAME_PARAMETER table report executes as is, but the other report based on the NAME_PARAMETER1 table fails with the following error.
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 16001] ODBC error state: S1000 code: 1756 message: [Oracle][ODBC][Ora]ORA-01756: quoted string not properly terminated. [nQSError: 16014] SQL statement preparation failed. (HY000)
    SQL Issued: SET VARIABLE NAME_PARAMETER='Novartis';SELECT NAME_PARAMETER.NAME_PARAMETER saw_0 FROM POC_ONE_DOT_TWO ORDER BY saw_0
    If anyone has any explanation to this error and how we can achieve the same, please help.
    Thanks.

    Hello,
    Updates :) sorry.. the error was a stupid one.. I resolved and I got stuck at my next step.
    I am creating a physical table using a select query. But I am trying to obtain the name of the table dynamically.
    Here is what I am trying to do. the select query of the physical table is as follows.
    SELECT CUSTOMER_ID AS CUSTOMER_ID, CUSTOMER_NAME AS CUSTOMER_NAME FROM 'VALUEOF(NQ_SESSION.SCHEMA_NAME)'.CUSTOMER.
    The idea behind this is to obtain the data from the same table from different schemas dynamically based on what a session variable. Please let me know if there is a way to achieve this, if not please let me know if this can be achieved in any other method in OBIEE.
    Thanks.

  • How to optimize the select query that is executed in a cursor for loop?

    Hi Friends,
    I have executed the code below and clocked the times for every line of the code using DBMS_PROFILER.
    CREATE OR REPLACE PROCEDURE TEST
    AS
       p_file_id              NUMBER                                   := 151;
       v_shipper_ind          ah_item.shipper_ind%TYPE;
       v_sales_reserve_ind    ah_item.special_sales_reserve_ind%TYPE;
       v_location_indicator   ah_item.exe_location_ind%TYPE;
       CURSOR activity_c
       IS
          SELECT *
            FROM ah_activity_internal
           WHERE status_id = 30
             AND file_id = p_file_id;
    BEGIN
       DBMS_PROFILER.start_profiler ('TEST');
       FOR rec IN activity_c
       LOOP
          SELECT DISTINCT shipper_ind, special_sales_reserve_ind, exe_location_ind
                     INTO v_shipper_ind, v_sales_reserve_ind, v_location_indicator
                     FROM ah_item --464000 rows in this table
                    WHERE item_id_edw IN (
                             SELECT item_id_edw
                               FROM ah_item_xref --700000 rows in this table
                              WHERE item_code_cust = rec.item_code_cust
                                AND facility_num IN (
                                       SELECT facility_code
                                         FROM ah_chain_div_facility --17 rows in this table
                                        WHERE chain_id = ah_internal_data_pkg.get_chain_id (p_file_id)
                                          AND div_id = (SELECT div_id
                                                          FROM ah_div --8 rows in this table
                                                         WHERE division = rec.division)));
       END LOOP;
       DBMS_PROFILER.stop_profiler;
    EXCEPTION
       WHEN NO_DATA_FOUND
       THEN
          NULL;
       WHEN TOO_MANY_ROWS
       THEN
          NULL;
    END TEST;The SELECT query inside the cursor FOR LOOP took 773 seconds.
    I have tried using BULK COLLECT instead of cursor for loop but it did not help.
    When I took out the select query separately and executed with a sample value then it gave the results in a flash of second.
    All the tables have primary key indexes.
    Any ideas what can be done to make this code perform better?
    Thanks,
    Raj.

    As suggested I'd try merging the queries into a single SQL. You could also rewrite your IN clauses as JOINs and see if that helps, e.g.
    SELECT DISTINCT ai.shipper_ind, ai.special_sales_reserve_ind, ai.exe_location_ind
               INTO v_shipper_ind, v_sales_reserve_ind, v_location_indicator
               FROM ah_item ai, ah_item_xref aix, ah_chain_div_facility acdf, ah_div ad
              WHERE ai.item_id_edw = aix.item_id_edw
                AND aix.item_code_cust = rec.item_code_cust
                AND aix.facility_num = acdf.facility_code
                AND acdf.chain_id = ah_internal_data_pkg.get_chain_id (p_file_id)
                AND acdf.div_id = ad.div_id
                AND ad.division = rec.division;ALSO: You are calling ah_internal_data_pkg.get_chain_id (p_file_id) every time. Why not do it outside the loop and just use a variable in the inner query? That will prevent context switching and improve speed.
    Edited by: Dave Hemming on Dec 3, 2008 9:34 AM

  • How can i use index in select query.. facing problem with the select query.

    Hi Friends,
    I am facing a serious problem in one of the select query. It is taking a lot of time to fetch data in Production Scenario.
    Here is the query:
      SELECT * APPENDING CORRESPONDING FIELDS OF TABLE tbl_summary
        FROM ztftelat LEFT JOIN ztfzberep
         ON  ztfzberep~gjahr = st_input-gjahr
         AND ztfzberep~poper = st_input-poper
         AND ztfzberepcntr  = ztftelatrprctr
        WHERE rldnr  = c_telstra_accounting
          AND rrcty  = c_actual
          AND rvers  = c_ver_001
          AND rbukrs = st_input-bukrs
          AND racct  = st_input-saknr
          AND ryear  = st_input-gjahr
          And rzzlstar in r_lstar                            
          AND rpmax  = c_max_period.
    There are 5 indices present for Table ZTFTELAT.
    Indices of ZTFTELAT:
      Name   Description                                               
      0        Primary key( RCLNT,RLDNR,RRCTY,RVERS,RYEAR,ROBJNR,SOBJNR,RTCUR,RUNIT,DRCRK,RPMAX)                                          
      005    Profit (RCLNT,RPRCTR)
      1        Ledger, company code, account (RLDNR,RBUKRS, RACCT)                                
      2        Ledger, company code, cost center (RLDNR, RBUKRS,RCNTR)                           
      3        Account, cost center (RACCT,RCNTR)                                        
      4        RCLNT/RLDNR/RRCTY/RVERS/RYEAR/RZZAUFNR                        
      Z01    Activity Type, Account (RZZLSTAR,RACCT)                                        
      Z02    RYEAR-RBUKRS- RZZZBER-RLDNR       
    Can anyone help me out why it is taking so much time and how we can reduce it ? and also tell me if I want to use index number 1 then how can I use?
    Thanks in advance.

    Hi Shiva,
    I am using two more select queries with the same manner ....
    here are the other two select query :
    ***************1************************
    SELECT * APPENDING CORRESPONDING FIELDS OF TABLE tbl_summary
        FROM ztftelpt LEFT JOIN ztfzberep
         ON  ztfzberep~gjahr = st_input-gjahr
         AND ztfzberep~poper = st_input-poper
         AND ztfzberepcntr  = ztftelptrprctr
        WHERE rldnr  = c_telstra_projects
          AND rrcty  = c_actual
          AND rvers  = c_ver_001
          AND rbukrs = st_input-bukrs
          AND racct  = st_input-saknr
          AND ryear  = st_input-gjahr
          and rzzlstar in r_lstar             
          AND rpmax  = c_max_period.
    and the second one is
    *************************2************************
      SELECT * APPENDING CORRESPONDING FIELDS OF TABLE tbl_summary
        FROM ztftelnt LEFT JOIN ztfzberep
         ON  ztfzberep~gjahr = st_input-gjahr
         AND ztfzberep~poper = st_input-poper
         AND ztfzberepcntr  = ztftelntrprctr
        WHERE rldnr  = c_telstra_networks
          AND rrcty  = c_actual
          AND rvers  = c_ver_001
          AND rbukrs = st_input-bukrs
          AND racct  = st_input-saknr
          AND ryear  = st_input-gjahr
          and rzzlstar in r_lstar                              
          AND rpmax  = c_max_period.
    for both the above table program is taking very less time .... although both the table used in above queries have similar amount of data. And i can not remove the APPENDING CORRESPONDING. because i have to append the data after fetching from the tables.  if i will not use it will delete all the data fetched earlier.
    Thanks on advanced......
    Sourabh

  • Problem in the "select" query....Just check out and help me

    Hi there !!
    I am getting the following errors while trying to execute the "select" query from JSP page:
    java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state
    My code is :
    String reg_no=(String)session.getAttribute("reg_no");
    ResultSet rs=stmt.executeQuery("SELECT * FROM reg WHERE regno = "+reg_no);
    (Note: the "regno" in the database is of numeric datatype)
    Try to help me...
    Thanx,
    Ram.

    Just so everyone knows:
    Ram Mohan joined the forum on 7-Sep-2003 and received
    his 25 Dukes for joining.
    Since then, he's posted three questions, each one
    promising 5-10 Dukes, and never once awarded them.
    His strategy seems to be to wave Dukes, ask his
    hit-and-run question, and then bolt.
    Answer his questions if you wish, but don't do it
    expecting Dukes. - MODDuffy, you're getting just as cranky as I have. See what hanging around these forums does to oneself? :)

  • Parameter on the selection screen

    Hi All,
    I have a check box and a parameter on the selection screen. If the checkbox is initial, the paramter shouldn't be editable but if the checkbox is ticked, the parameter should be made mandatory to be enetered with value. How can this be done ?
    Thanks in advance.

    Hi,
    Refer to the following code.In this change radiobuttons with the checkbox.
    SELECTION-SCREEN BEGIN OF BLOCK B1.
    parameters: p_erdat like zirpactivity-erdat modif id SC1 ,
                r1 radiobutton group RAD1 user-command ABC default 'X',
                r2 radiobutton group RAD1.
    SELECTION-SCREEN END OF BLOCK B1.
    AT SELECTION-SCREEN.
      check sy-ucomm = 'ABC'.
      check sy-ucomm = 'F8'.
    AT SELECTION-SCREEN OUTPUT.
      loop at screen.
        if  r1 = 'X' and screen-group1 = 'SC1' .
          screen-input = 0.
        ENDIF.
        IF r2 = 'X'.
               screen-group1 = 'SC1'  .
          screen-input = 1.
        endif.
        modify screen.
      endloop.
    Hope this helps.
    Reward if helpful.'
    Regards,
    Sipra

  • Need some help with the Select query.

    Need some help with the Select query.
    I had created a Z table with the following fields :
    ZADS :
    MANDT
    VKORG
    ABGRU.
    I had written a select query as below :
    select single vkorg abgru from ZADS into it_rej.
    IT_REJ is a Work area:
    DATA : BEGIN OF IT_REJ,
            VKORG TYPE VBAK-VKORG,
            ABGRU TYPE VBAP-ABGRU,
           END OF IT_REJ.
    This is causing performance issue. They are asking me to include the where condition for this select query.
    What should be my select query here?
    Please suggest....
    Any suggestion will be apprecaiated!
    Regards,
    Developer

    Hello Everybody!
    Thank you for all your response!
    I had changes this work area into Internal table and changed the select query. PLease let me know if this causes any performance issues?
    I had created a Z table with the following fields :
    ZADS :
    MANDT
    VKORG
    ABGRU.
    I had written a select query as below :
    I had removed the select single and insted of using the Structure it_rej, I had changed it into Internal table 
    select vkorg abgru from ZADS into it_rej.
    Earlier :
    IT_REJ is a Work area:
    DATA : BEGIN OF IT_REJ,
    VKORG TYPE VBAK-VKORG,
    ABGRU TYPE VBAP-ABGRU,
    END OF IT_REJ.
    Now :
    DATA : BEGIN OF IT_REJ occurs 0,
    VKORG TYPE VBAK-VKORG,
    ABGRU TYPE VBAP-ABGRU,
    END OF IT_REJ.
    I guess this will fix the issue correct?
    PLease suggest!
    Regards,
    Developer.

  • Restricting record in the select query

    Is there any way to restrict the number of search (e.g 10) records in the SELECT query ?

    Hi,
    You can use as below:
    select <fieldname> up to 10 rows from <tablename> into itab.
    Thanks,
    Sriram Ponna.

  • Performance of the select query

    i want to know wheter the conversion of  the select query
    SELECT  * FROM mchb                        
            WHERE matnr EQ mch1-matnr
            AND   charg EQ mch1-charg
            AND   werks EQ plant-werks.
            itab-lgort = mchb-lgort.
            itab-clabs = mchb-clabs.
            APPEND itab.
          ENDSELECT.
    into following pattern
    select lgort clabs
           from mchb
           into corresponding fields of itab
           WHERE matnr EQ mch1-matnr
           AND   charg EQ mch1-charg
           AND   werks EQ plant-werks.
           ENDSELECT.
    will give  the same results ?

    Hi,
    It will results in performance issue because of end select statement.
    select lgort clabs
         from mchb
            into table itab
            WHERE matnr EQ mch1-matnr
                  AND charg EQ mch1-charg
                  AND werks EQ plant-werks.
    Use like this you will get the values of lgort and clabs in the internal table itab.
    Then use loop statement to use that values further.
    Dont use end select it will be a performance issue.
    In this code there is no need to use of ENDSELECT and use corresponding fields of table itab.
    select lgort clabs
    from mchb
    into corresponding fields of itab
    WHERE matnr EQ mch1-matnr
    AND charg EQ mch1-charg
    AND werks EQ plant-werks.
    ENDSELECT.
    Thanks,
    Sakthi

  • How to insert the select query result into table?

    How to insert the select query result into table?
    SELECT  top 20 creation_time  
            ,last_execution_time 
            ,total_physical_reads
            ,total_logical_reads  
            ,total_logical_writes
            , execution_count 
            , total_worker_time
            , total_elapsed_time 
            , total_elapsed_time / execution_count avg_elapsed_time
            ,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
             ((CASE statement_end_offset 
              WHEN -1 THEN DATALENGTH(st.text)
              ELSE qs.statement_end_offset END 
                - qs.statement_start_offset)/2) + 1) AS statement_text
    FROM sys.dm_exec_query_stats AS qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
    ORDER BY total_elapsed_time / execution_count DESC;
    Thanks,
    Tirumala

    1. SELECT INTO
    Below method will create table when data is inserted from one table to another table. Its useful when you need exactly same datatype as source table.
    Use AdventureWorks2008R2;
    Go
    ---Insert data using SELECT INTO
    SELECT AddressLine1, City
    INTO BothellAddresses
    FROM Person.Address
    where City = 'Bothell';
    GO
    ---VERIFY DATA
    Select AddressLine1, City
    FROM BothellAddresses
    ---DROP TABLE
    DROP TABLE BothellAddresses
    GO
    2. INSERT INTO SELECT
    Below method will need table to be created prior to inserting data. Its really useful when table is already created and you want insert data from
    another table.
    Use AdventureWorks2008R2;
    Go
    ---Create Table
    CREATE TABLE BothellAddresses (AddressLine1 NVARCHAR(60), City NVARCHAR(30))
    ---Insert into above table using SELECT
    INSERT INTO BothellAddresses(AddressLine1, City)
    SELECT AddressLine1, City
    FROM Person.Address
    where City = 'Bothell';
    ---VERIFY DATA
    Select AddressLine1, City
    FROM BothellAddresses
    ---DROP TABLE
    DROP TABLE BothellAddresses
    GO
    Regards,
    Vishal Patel
    Blog: http://vspatel.co.uk
    Site: http://lehrity.com

  • Parameter in the select

    hi,
    SELECT hp.party_name CustomerName,
      csi.incident_number SRNumber,
      csi.incident_date SRDate,
      csi.close_date SRCloseDate,
      mtl.concatenated_segments SRItemName,
      csi.summary Summary,
      csi.problem_code,
      csi.incident_address SRAddress,
      csi.INCIDENT_COUNTRY SRCountry,
      COUNT ( * ) over () cnt,
      cis.name,
      COUNT(
      CASE
        WHEN cis.name='Low'
        THEN 1
      END) over () Low,
      COUNT(
      CASE
        WHEN cis.name='Medium'
        THEN 1
      END) over () Medium,
      COUNT(
      CASE
        WHEN cis.name='High'
        THEN 1
      END) over () High1
    FROM hz_parties hp,
      hz_cust_accounts hca,
      hz_contact_points hc,
      cs_incidents_all_b csi,
      ar_lookups arl,
      cs_incident_severities_b cis,
      mtl_system_items_kfv mtl
    WHERE hca.cust_account_id   =csi.account_id
    AND hp.party_type          IN ('PERSON','ORGANIZATION')
    AND hp.status               ='A'
    AND hp.party_id             = hca.party_id
    AND hca.status              ='A'
    AND hp.party_id             =hc.owner_table_id(+)
    AND hc.owner_table_name(+)  ='HZ_PARTIES'
    AND hp.party_id             =hca.cust_account_id
    AND hc.contact_point_type(+)='PHONE'
    AND hc.primary_flag(+)      ='Y'
    AND hc.status(+)            ='A'
    AND arl.lookup_type(+)      = 'PHONE_LINE_TYPE'
    AND arl.lookup_code(+)      = hc.phone_line_type
    AND hp.party_name LIKE :partyName
    AND csi.incident_date BETWEEN to_date('01-JAN-2000','DD-MON-YYYY') AND to_date(:fromsrdate,'DD-MON-YYYY')
    AND cis.incident_severity_id=csi.incident_severity_id
    AND mtl.inventory_item_id=csi.inventory_item_id
    GROUP BY hp.party_name,
      csi.incident_number,
      csi.incident_date,
      csi.close_date,
      csi.summary,
      csi.problem_code,
      csi.incident_address,
      cis.name,
      csi.INCIDENT_COUNTRY,
      mtl.concatenated_segmentsi want this :fromsrdate parameter in the query for example after running the query with parameter :fromsrdate i want the parameter in the query select
    anyone help me

    variable fromsrdate date;
    SELECT hp.party_name CustomerName,
      csi.incident_number SRNumber,
      csi.incident_date SRDate,
      csi.close_date SRCloseDate,
      mtl.concatenated_segments SRItemName,
      csi.summary Summary,
      csi.problem_code,
      csi.incident_address SRAddress,
      csi.INCIDENT_COUNTRY SRCountry,
      fromsrdate RunReportDate,
      COUNT ( * ) over () cnt,
      cis.name,
      COUNT(
      CASE
        WHEN cis.name='Low'
        THEN 1
      END) over () Low,
      COUNT(
      CASE
        WHEN cis.name='Medium'
        THEN 1
      END) over () Medium,
      COUNT(
      CASE
        WHEN cis.name='High'
        THEN 1
      END) over () High1
    FROM hz_parties hp,
      hz_cust_accounts hca,
      hz_contact_points hc,
      cs_incidents_all_b csi,
      ar_lookups arl,
      cs_incident_severities_b cis,
      mtl_system_items_kfv mtl
    WHERE hca.cust_account_id   =csi.account_id
    AND hp.party_type          IN ('PERSON','ORGANIZATION')
    AND hp.status               ='A'
    AND hp.party_id             = hca.party_id
    AND hca.status              ='A'
    AND hp.party_id             =hc.owner_table_id(+)
    AND hc.owner_table_name(+)  ='HZ_PARTIES'
    AND hp.party_id             =hca.cust_account_id
    AND hc.contact_point_type(+)='PHONE'
    AND hc.primary_flag(+)      ='Y'
    AND hc.status(+)            ='A'
    AND arl.lookup_type(+)      = 'PHONE_LINE_TYPE'
    AND arl.lookup_code(+)      = hc.phone_line_type
    AND hp.party_name LIKE :partyName
    AND csi.incident_date BETWEEN to_date('01-JAN-2000','DD-MON-YYYY') AND to_date(:fromsrdate,'DD-MON-YYYY')
    AND cis.incident_severity_id=csi.incident_severity_id
    AND mtl.inventory_item_id=csi.inventory_item_id
    GROUP BY hp.party_name,
      csi.incident_number,
      csi.incident_date,
      csi.close_date,
      csi.summary,
      csi.problem_code,
      csi.incident_address,
      cis.name,
      csi.INCIDENT_COUNTRY,
      mtl.concatenated_segmentsit says invalid sqlstatment i am working on OAF i have to put that in VO
    its not correct solution for me Ravi help me

  • Using order by in the select query

    Hi All,
    I have query in which I need the latest record. To get the latest record, I can
    1) Select all entries into an internal table and sort them descending and get the first one
    2) Select all entries into an internal table and order by in the select statement itself.
    Then read the first one.
    Which approach should be better as for as the performance is concern.
    The query is on MKPF table and I have the material document number. I need the latest entry.
    Regards,
    Shahu

    Hi,
    The first one would be better.At the most we should not use order by in select statement bcoz it directly sorts the data according to that in database itself reverting performance issues.
    Otherwise you can use select max* if records are less.
    Reward points if helpful.
    Thanks,
    Ponraj.s.

  • Input help required for parameter on the selection screen

    hi all,
    i have created two parameters on the selection screen.
    1. deptno
    2.empname
    so my requirement is if i input any deptno then i should get all
    the empname corresponding to that deptno in the parameter empname
    ie for deptno 10 there should be f4 help for empname.
    here i am pasting my code plz check where i am doing wrong--
    *& Report  ZTEST10
    *& Developer
    *& Date:   &DATE
    REPORT  ZTEST10.
    tables: zemployee1.
    parameters: p_deptno like zemployee1-deptno,
                p_empnam like zemployee1-empname.
    Data: begin of itab occurs 0,
           deptno like zemployee1-deptno,
           empname like zemployee1-empname,
           empno like zemployee1-empno,
           end of itab.
    At selection-screen on value-request for p_empnam.
    select empname
            from zemployee1
            into corresponding fields of table itab
            where deptno = p_deptno.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
          EXPORTING
          DDIC_STRUCTURE         = ' '
            retfield               = 'empname'
          PVALKEY                = ' '
           DYNPPROG               = sy-repid
           DYNPNR                 = sy-dynnr
          DYNPROFIELD            = 'p_empnam'
          STEPL                  = 0
          WINDOW_TITLE           =
          VALUE                  = ' '
          VALUE_ORG              = 'C'
          MULTIPLE_CHOICE        = ' '
          DISPLAY                = ' '
          CALLBACK_PROGRAM       = ' '
          CALLBACK_FORM          = ' '
          MARK_TAB               =
        IMPORTING
          USER_RESET             =
          tables
            value_tab              = itab
          FIELD_TAB              =
          RETURN_TAB             =
          DYNPFLD_MAPPING        =
        EXCEPTIONS
          PARAMETER_ERROR        = 1
          NO_VALUES_FOUND        = 2
          OTHERS                 = 3
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
       ENDIF.
    I will award ur efforts.
    Thanks
    sanjeev

    Hi Sanjeev,
    If you input any deptno and you should get all the empname corresponding then first you need to use CALL FUNCTION 'DYNP_VALUES_READ'.
    EXPORTING
        DYNAME                         = sy-repid
        DYNUMB                         = sy-dynnr
      TRANSLATE_TO_UPPER             = ' '
       REQUEST                        = 'A'
      PERFORM_CONVERSION_EXITS       = ' '
      PERFORM_INPUT_CONVERSION       = ' '
      DETERMINE_LOOP_INDEX           = ' '
      TABLES
        DYNPFIELDS                     = gt_dynp
    declare: DATA : gt_dynp LIKE dynpread OCCURS 0.
    loop at gt_dynp into wt_dynp where fieldname = 'P_SUPRID-LOW'.
      lv_low = wt_dynp-fieldvalue.
      endloop.
    Then while selecting use this p_superid-low instead of p_deptno.
    Then :
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    After this funtion module:
    write:
      IF sy-subrc = 0.
        READ TABLE itab
    INDEX 1.
        'p_empnam' = return_tab-fieldval.
    Declare return_tab as:
        DATA: return_tab   LIKE ddshretval OCCURS 0 WITH HEADER LINE.
    Thanks,
    Shweta
      ENDIF.

  • Ho to disabled the parameter on the selection screen

    Hi all,
    I have a parameter (p_matnr)  and two radiobutton b1 and b2 on the selection screen. Now what the requirement is if user selects radio button b2, the parameter should get disabled. I know it can be done by <b>loop at screen</b> and then modifying the screen but in this case start-of-seection is to be called. In my case as the user selects the radio button b2 the parameter should be appear disabled. the code which is given below will work in that case where user selects the b2 and then press F8. Bu i don't want the user to pres F8. He will only select the b2 and will find the parameter (p_matnr) disabled.
    Please suggest something.
    AT SELECTION-SCREEN outpu.
    IF b2 = 'X'.
    LOOP AT SCREEN.
    IF screen-name cs 'p1' .
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    Thanks,
    Annup.

    Hi,
    Try this i have used this in my code
    SELECTION-SCREEN BEGIN OF BLOCK b_0 WITH FRAME TITLE text-002.
    SELECTION-SCREEN BEGIN OF BLOCK b_1 WITH FRAME TITLE text-000.
    PARAMETERS:      rb_img    RADIOBUTTON GROUP rad1 user-command rad.
    PARAMETERS:      rb_invo   RADIOBUTTON GROUP rad1.
    SELECTION-SCREEN BEGIN OF BLOCK b_2 WITH FRAME TITLE text-001.
    *PARAMETERS:      rb_img    RADIOBUTTON GROUP rad1.
    PARAMETERS:      p_from    like bkpf-bldat modif id gr2,
                     p_to      like bkpf-bldat modif id gr2.
    SELECT-OPTIONS:  s_arobj  FOR   toa01-ar_object modif id gr2.
    SELECTION-SCREEN END OF BLOCK b_2.
    SELECTION-SCREEN BEGIN OF BLOCK b_3 WITH FRAME TITLE text-001.
    *PARAMETERS:      rb_invo   RADIOBUTTON GROUP rad1.
    SELECT-OPTIONS:  s_bukrs   FOR bkpf-bukrs modif id gr1,
                     s_belnr   FOR bkpf-belnr modif id gr1,
                     s_gjahr   FOR bkpf-gjahr modif id gr1,
    SELECTION-SCREEN END OF BLOCK b_3.
    SELECTION-SCREEN END OF BLOCK b_0.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF screen-group1 = 'GR1'.   "Name field
          IF rb_invo  = space.
            screen-active = 0.
          ELSE.
            screen-active = 1.
          ENDIF.
          MODIFY SCREEN.
        ELSEIF screen-group1 = 'GR2'.
          IF rb_invo  = c_x.
            screen-active = 0.
          ELSE.
            screen-active = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    START-OF-SELECTION.
    Thanks & Regards,
    Judith.

  • Using/calling  a parameter in the SQL Query!

    Hi
    How do I use or call a parameter from the parameterform in my SQL query in Reports ??
    Thanks in advange *S
    /Stig :-)

    If you have user parameters of P_BEGINDATE and P_ENDDATE, in your query you would reference them by the following:
    FROM auditlog
    WHERE (eventtimestamp between :P_BEGINDATE and :P_ENDDATE
    or :P_BEGINDATE IS NULL)
    If you are using the report through Oracle Applications Concurrent Manager make sure the Token (when setting up parameters for the concurrent program)matches the user parameter exactly.
    - Rob

Maybe you are looking for

  • How to do a manual uninstall of Adobe Acrobat 9 Pro (9.4.4) on my Mac?

    Hi Adobe Acrobat experts, Can someone walk me through the steps I need to take in order to perform a manual uninstall of Adobe Acrobat 9 Pro on my mac? I just got Adobe Acrobat 11 on my mac and don't want to accidentally uninstall that in the process

  • Sax parser problem

    hi, i am assuming the problem is with sax parser but i cant be sure. I am parsing a xml file (about 1.4MB) with some data in it. the parser i have created reads the xml file correctly for the most part but when at some point the "public void characte

  • App Store wants me to sign in as someone else?

         I'm using a pre-owned computer, but with no identity problems until now: I restarted my computer and when I opened App Store later and tried to update a couple apps, it required me to sign in with the Apple ID of the previous owner. Strangely, I

  • Why does my snapchat keep force closing?

    my snapchat keeps closing everytime i try to open it i already delelted it and tried to re-install it but its not working, any suggestions?

  • Safari screen is grayed out, only thing I can type is control bar

    What should I do to be able to control screen again?