Parametric view

Are there any way how to create parametric view?
Or will be it in the future versions?
Anything as create view v_test (col1,:col_par) as select col1 from test where col2=:col_par
and use it as select * from v_test(par)
This is very simple view, but for more complex view it can save many of query time. Now I use instance specific variable for this view, but it must call package function to get value and value must be set before select.

Hi,
Even I tried to enable the check box "Is Parametric" in my custom view on cerain fields , but it doesn't seem to get me the results when I apply them in my Inbox. I'm confused if this is bug in my version (Version: 10.3.1.0) or am I missing something.
Regards,
Sri lakshmi.
Edited by: Sri Lakshmi on 09-Jun-2010 02:36

Similar Messages

  • Parametric View Issue

    Hi,
    I have a project where I want to put a Parametric View.
    One of the project variables for this view is a date that is not established in the first step of the process so until that point where it is established it is null. In the parametric view I have a between condition based on this date. My expectation was that the requests with the date to null would come when applying the filter, in other words if it is null the condition is not consider in the filter, but they do not appear.
    I do not know if this is how it is supposed to work or it is a bug.
    If it is not a bug has somebody else faced this problem and has a solution for the same?
    Thank you very much
    Kind regards

    Hi,
    Even I tried to enable the check box "Is Parametric" in my custom view on cerain fields , but it doesn't seem to get me the results when I apply them in my Inbox. I'm confused if this is bug in my version (Version: 10.3.1.0) or am I missing something.
    Regards,
    Sri lakshmi.
    Edited by: Sri Lakshmi on 09-Jun-2010 02:36

  • XSODATA for Parametrized view

    Hi Friends
    I have a parametrized view (using place holders), which i need to expose it with xsodata.
    I tried with different options. But none worked. Could someone guide, how to expose a parametrized view using XSODATA?
    Regards
    Giri

    Hi Giri,
    Have you read this blog:
    REST your Models on SAP HANA XS
    At the end there is an appendix for exposing a calculation view with input parameters, I followed and it worked, can you explain more in details how are you proceeding?
    Appendix
    Calculation View with a Single Input Paramater:
    service  {
          "copa::PLANNED_ACTUAL_SALES " as "PlannedvsActualCalcView"
          keys generate local "ID"
          aggregates always
          parameters via entity; 
    http://server:port/copaxs/odata/PlannedvsActualCalcView.xsodata/
    PlannedvsActualCalcViewWithInputParamsParameters(‘.20’)/ Results?$select=salesorg,material,anetrevn&$filter=startswith(material,’DPC')
    Calculation View with multiple Input Paramaters:
    service  {
          "copa::PLANNED_ACTUAL_SALES " as "PlannedvsActualCalcView"
          keys generate local "ID"
          aggregates always
          parameters via entity "InputParams";
    http://server:port/copaxs/odata/PlannedvsActualCalcView.xsodata/
    InputParams(ip_discount=’.20’,ip_region=’NW’)/Results?$select=salesorg,material,anetrevn&$filter=startswith(material,'DPC')&$format=json

  • Create view with variables

    Is there any way of create a view that asks for the value of some parameters?
    something like...
    CREATE VIEW "VIEW1" AS
    SELECT NOMBRE
    FROM EPTABLA_01
    WHERE NOMBRE = ??? WITH READ ONLY

    The method below won't "ask" for a value, but if you set the variable, this will work as a parametrized view.
    SQL> create context my_ctx using my_proc
      2  /
    Context is aangemaakt.
    SQL> create procedure my_proc (p_nombre in number)
      2  is
      3  begin
      4    dbms_session.set_context('my_ctx','my_nombre',to_char(p_nombre));
      5  end;
      6  /
    Procedure is aangemaakt.
    SQL> create table eptabla_01 as select l nombre from (select level l from dual connect by level <= 10)
      2  /
    Tabel is aangemaakt.
    SQL> create view view1
      2  as
      3  select nombre
      4    from eptabla_01
      5   where nombre = sys_context('my_ctx','my_nombre')
      6    with read only
      7  /
    View is aangemaakt.
    SQL> exec my_proc(5)
    PL/SQL-procedure is geslaagd.
    SQL> select * from view1
      2  /
                                    NOMBRE
                                         5
    1 rij is geselecteerd.
    SQL> exec my_proc(8)
    PL/SQL-procedure is geslaagd.
    SQL> select * from view1
      2  /
                                    NOMBRE
                                         8
    1 rij is geselecteerd.Regards,
    Rob.

  • Get variable values from a stored procedure

    I am using SQL 2008R2 and I want to replace a view inside a stored procedure with a new stored procedure to return multiple variable values. Currently I am using the code below to get values for 4 different variables.  I would rather get the 4 variables
    from a stored procedure (which returns all of these 4 values and more) but not sure how to do so.  Below is the code for getting the 4 variable values in my current sp.
    DECLARE @TotalCarb real;
    DECLARE @TotalPro real;
    DECLARE @TotalFat real;
    DECLARE @TotalLiquid real;
    SELECT @TotalCarb = ISNULL(TotCarb,0),
    @TotalPro = ISNULL(TotPro,0),
    @TotalFat = ISNULL(TotFat,0),
    @TotalLiquid = ISNULL(TotLiq,0)
    FROM dbo.vw_ActualFoodTotals
    WHERE (MealID = @MealID);

    You can replace the view with inline table valued user-defined function:
    http://www.sqlusa.com/bestpractices/training/scripts/userdefinedfunction/
    See example: SQL create  INLINE table-valued function like a parametrized view
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Design & Programming
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Union on store procedure

    Is it possible to have union on a store procedure and an sql within an application like
    create or replace
    PACKAGE BODY MyStoredProc AS
    PROCEDURE DeparmentName (ColumnA IN VARCHAR2,
    wPO OUT curUsr) IS
    BEGIN
    OPEN wPO FOR
    exec MyStoredProcedure 1
    union
    SELECT distinct departmentName
    FROM "schemaNAME".Department d
    WHERE d.ColumnA='5000'
    END;

    Hi Suzie,
    please take a look at [url https://forums.oracle.com/forums/thread.jspa?threadID=886365&tstart=0]Understanding Ref Cursors.
    The entry "1. What is a ref cursor and how is the data fetched" shows some examples of ref-cursors. How they may work or may fail.
    (pointer to data not* container of data, ...)
    The next entry "2. How can we use a ref cursor in a SQL query?"
    describes how they can be used in SQL.
    The last entry "3. What is
    the point of ref cursors?" helps when to use or not to use ref-cursors.
    Bye
    stratmo
    Added:*
    Sadly I don't know java.
    If you are looking for a "parametrized view" then ...
    create or replace
    Package Pipeline_Func_Replace
    As
       Gcc_Context       Varchar2(32767) := NULL;
       Function    Get_Context Return Varchar2 ;
       procedure   Set_Context(Pic_Context In Varchar2);
       function    Set_Context(Pic_Context In Varchar2) return integer;
    End Pipeline_Func_Replace;
    create or replace
    Package Body Pipeline_Func_Replace
    as
       function get_context
       return varchar2
       as
       begin
          return gcc_context;
       end get_context;
       procedure set_context(pic_context in varchar2)
       as
       begin
          gcc_context := pic_context;
       end set_context;
       function set_context(pic_context in varchar2)
       return integer
       as
       begin
          set_context(pic_context);
          return 1;
       end set_context;
    end pipeline_func_replace;
    create or replace view restricted_emps
    as
    select a.*
    from hr.employees a
    where a.manager_id = Pipeline_Func_Replace.get_context; -- the parameter
    -- one can set the context with
    select Pipeline_Func_Replace.set_context('101') from dual;
    -- or with
    begin
       Pipeline_Func_Replace.set_context(pic_context => 101);
    end;
    /... is a possibility.
    Edited by: stratmo on Dec 20, 2012 11:58 PM

  • ADF BC / parametrized where clause in view object

    Did something change is this area ?
    I testing using bind variables (as parameters) definition in my view object but i got this error during execution in the component browser
    (oracle.jbo.expr.JISyntaxError) Variable to_number not recognized
    Some of my variables are defined with default value as expression to_number( null ).

    The easiest way to set an entity attribute as the current date is to mark the attribute as a history attribute, and choose createdOn as the history type.
    If you want to use a groovy expression, you can use:
    DBTransaction.currentDbTime
    to reference the current database time.
    Or, the simplest way currently to reference the current JVM time in the correct format for an oracle.jbo.domain.Date to accept it as a default would be to create a class like:
    import java.sql.Timestamp;
    import oracle.jbo.domain.Date;
    public class ADF {
      public static Date getCurrentDate() {
        return new Date(Date.getCurrentDate());
      public static Date getCurrentDateWithTime() {
        return new Date(new Timestamp(System.currentTimeMillis()));   
    }and then use the groovy expression:
    ADF.currentDate
    or
    ADF.currentDateWithTime
    of course you can do the same thing "in-line" in the Groovy string, but it is less terse.
    We're considering adding some built-in methods to make some common operations like this easy from Groovy, but they are not in there currently.

  • Problem to view a report into a JSP

    Hi, I wrote the following code for a JSP Taglib, to generate a PDF from a .jasper file. No problem with the generation of a PDF file, unable to view it in streaming instead. Can you help me?
    Thank you in advantage,
    AleX
    package com.tag;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import net.sf.jasperreports.engine.*;
    import net.sf.jasperreports.engine.export.*;
    import net.sf.jasperreports.engine.util.*;
    import net.sf.jasperreports.view.*;
    import java.sql.*;
    import org.apache.commons.logging.*;
    import java.io.*;
    import java.util.*;
    public class GeneratePDF extends TagSupport
    private String sourceFileName = "C:\\default.jasper";
    private String destinationFileName = "C:\\default.pdf";
    public void setSourceFileName(String sourceFileName)
    this.sourceFileName = sourceFileName;
    public void setDestinationFileName(String destinationFileName)
    this.destinationFileName = destinationFileName;
    public int doStartTag()
    return SKIP_BODY;
    public int doEndTag()
    try
    //Passaggio parametri da passare al jasper.
    Map parameters = new HashMap();
    parameters.put("param1", new Integer(1));
    //Preparazione del file da stampare (in questa fase si esegue la query e si inseriscono
    //i valori estratti dalla query)
    JasperPrint jasperPrint=JasperFillManager.fillReport(sourceFileName, parameters, getConnection());
    //Creazione del file PDF
    JasperExportManager.exportReportToPdfFile(jasperPrint, destinationFileName);
    //Streaming a video del PDF
    pageContext.getOut().print(JasperExportManager.exportReportToPdf(jasperPrint));
    catch(Exception e)
    return EVAL_PAGE;
    /**Metodo per creare la connessione al DB*/
    private static Connection getConnection() throws ClassNotFoundException, SQLException { 
    //Change these settings according to your local configuration
    String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String connectString = "jdbc:odbc:gecoware";
    String user = "admin";
    String password = "password";
    Class.forName(driver);
    Connection conn = DriverManager.getConnection(connectString, user, password);
    return conn;
    }

    I don't think you should be doing this as a JSP but rather as a Servlet.
    The first problem i see is that pageContext.getOut() is a PrintWriter which only handles character data. You probably want to use the ServletOutputStream which means you want to use a Servlet.
    The second problem I see is that you need to set the context-type to the correct value for a pdf.

  • Error while compiling a view

    Hi Gurus ,
    Your help is greatly appreciated .
    Am trying to create the below view and getting an error  -- [Error] Execution (26: 116): ORA-00911: invalid character
    please let me know if am missing something here .
    CREATE OR REPLACE VIEW PROD.TERM_DIAL_ACCESS_PHNE_NUMS
    (TERMINAL_ID,
      TERM_DIAL_ACCESS_SEQUENCE,
      HOST_ID,
      SUPPRESS_1_PREFIX,
      PHONE_PREFIX,
      PHONE_SUFFIX,
      DIAL_ACCESS_PHONE_NUMBER,
      DESCRIPTION,                
      BLOCKED_FLAG,
      BLOCK_REASON,
      DATE_BLOCKED,
      BLOCKED_USER
    AS
       SELECT TERMINAL_ID,TERM_DIAL_ACCESS_SEQUENCE,HOST_ID,SUPPRESS_1_PREFIX,PHONE_PREFIX,PHONE_SUFFIX,
               DIAL_ACCESS_PHONE_NUMBER,DESCRIPTION,BLOCKED_FLAG,BLOCK_REASON,DATE_BLOCKED,BLOCKED_USER
       FROM TABLE (CAST(PROD.TERM_RELATED_REF_DATA.TERM_DIAL_ACCESS_PHNE_NUMS AS  PROD.TERM_DIAL_ACCESS_PHNE_NUMS_TAB));
    PROD.TERM_RELATED_REF_DATA  --is a package

    Hi Frank,
    I wanted to pass along a big thanks relating to some advice and code you gave regarding using a CONNECT BY statement. I further developed it for use in a chart in APEX and parametrized an input for minutes to get a breakdown count on different time intervals. This is based on having a start and end time and counting how many whatever fall into that interval.
    Sorry if this isn't the best place to post this but didn't know how to contact you personally on the Community.
    Regards,
    Steve
    WITH
    all_mins     
    AS
    SELECT
    min_min + ((LEVEL - 1) / :P12_TIME_INTER)
    AS period
    min_min + (LEVEL  
    / :P12_TIME_INTER)
    AS next_period
    FROM
    SELECT  TRUNC(TO_DATE(:P12_DATE_PICK,'DD-MON-YY HH24:MI'))
    AS min_min
    TRUNC(TO_DATE(:P12_DATE_PICK,'DD-MON-YY HH24:MI')) + (1-1/60/24)
    AS max_min
    FROM
    DUAL
    --WHERE CSTART_TIME = :P12_DATE_PICK
    --AND TO_CHAR(CEND_TIME, 'DD-MON-YY HH24:MI') = TO_CHAR(:P12_DATE_PICK + 1-1/60/24, 'DD-MON-YY HH24:MI' )
    CONNECT BY
    LEVEL <= 1 + (:P12_TIME_INTER * (max_min - min_min))
    Select
    null link
    --HOUR_MINUTE||' - '||WORKGROUP AS HOUR_MINUTE_WORKGROUP
    --, FULL_DATE
    --, HOUR
    , HOUR_MINUTE label
    --, WORKGROUP
    , RESOURCE_COUNT value1
    --, SUM(RESOURCE_COUNT) OVER (PARTITION BY HOUR, WORKGROUP) RESOURCE_COUNT_HOUR
    FROM
    SELECT
    W.CNAME AS WORKGROUP
    TO_CHAR(a.period, 'DD-MON-YY') AS FULL_DATE
    TO_CHAR(a.period, 'HH24') as HOUR
    TO_CHAR(a.period, 'HH24:MI') as HOUR_MINUTE
    COUNT (u.ROWID)
    AS RESOURCE_COUNT
    FROM     
    all_mins
    a
    LEFT OUTER JOIN
    CSHIFT_DM
    u
    ON
    a.period
    <= u.CEND_TIME
    AND
    u.CSTART_TIME
    <  a.next_period
    INNER JOIN CWORKGROUP_DM W
    ON u.CWORKGROUP_RID = W.RID
    GROUP BY  a.period, W.CNAME
    ORDER BY  a.period, W.CNAME
    --group by HOUR_MINUTE, RESOURCE_COUNT, HOUR, WORKGROUP, FULL_DATE
    WHERE WORKGROUP = :P12_WORKGROUP
    --AND TO_DATE(FULL_DATE) = :P12_DATE_PICK
    ORDER BY HOUR_MINUTE;

  • Parametrized BIP report integration on OBIEE 11g dashboard

    HI Experts,
    I have created BIP Report using SQL as source for my Dataset in Datamodel.Also, the report is parametrized with date value.
    SELECT * FORM EMP
    WHERE DEPT_NO=:DEPT_NO
    AND HIRE_DATE<=:FROMDATE
    AND HIRE_DATE>=:TODATE
    DEPTNO : List of value (Select DEPTNO  from DEPARTMENTS) and the Parameter is created as Menu type
    FROMDATE: List of vale(select day from Date_table) and the parameter is created as Date type
    TODATE: List of vale(select day from Date_table) and the parameter is created as Date type.
    The Report is working fine in BI Publisher portal.. Now I want to integrate this report onto the dashboard. For, that I have created 3 dashboard prompts (column prompts) and set the values to presentation variables DEPT_NO and FROMDATE and TODATE respectively...
    Now when I run my dashboard after choosing all the prompts the report is not getting generated. Instead, it is throwing below error.
    oracle.xdo.XDOException: java.lang.reflect.InvocationTargetException.
    I don't have an idea what is causing this issue and  i verified LOG Viewer form Enterprise manager.. But, no use.. I couldn't figure out the issue..
    Can any body help me how to resolve this issue..
    Regards
    Ramarao

    Hi Ramarao,
    There's many possible reasons why you're getting the error 'oracle.xdo.XDOException: java.lang.reflect.InvocationTargetException'. Because it's an XDO error, I'm stewing more towards your template that you're using.
    I would propose the following:
    print the whole error that you retrieved
    Change the SQL script from * to the specific column names and ensuring that maps correctly to your template
    Hope this gets the ball rolling and one step closer to resolving the issue
    Regards,
    Daniel

  • OK, what is the best way to lower specific frequencies in edit view

    Listen guys, yes I do happen to know about "frequencies" and that you can't fully remove an instrument without effecting another in that same file that plays at the same time, this is pretty basic stuff.
    However, partially removing frequencies is one of the main things AA3 is intended for: "editing" the sound is it's main function.
    There must be some better answers out there about the best way of going about this in AA3.
    Do people use the spectral analysis with the different colors representing different frequencies? I have no idea how to use this.
    Do most people not get into this type of stuff?  I don't get it, seems like this is what the program was designed for (partially) so there must be more techniques out there.

    As mentioned, using the Graphic EQ or Parametric EQs, are the most common tools to adjust the energy around specific frequencies.
    The Graphic EQ provides between 10-30 bands and uses fixed values and widths.  (A slider for 1000 Hz will adjust the sound around 1000 Hz +/- a few hundred Hz in both directions.)
    The Parametric EQ offers fewer bands, but allows for greater control over the frequencies being adjusted and the affect on surrounding frequencies.
    The Notch Filter allows very tight, specific adjustments and is best used for removing artifacts like a 50/60Hz hum or high-pitched buzz.
    Spectral Frequency View makes it easy to see the frequency patterns and find precise frequencies of problem audio.  The editing tools allow you to perform many of the same functions mentioned, but visually in a paint-style application.  The frequency range of the file is displayed vertically, with 1Hz at the bottom and 22KHz (for a 44.1K file) at the top.  Each column represents a particular slice of time and displays the energy level of each frequency band via brightness and color.  The brighter a particular blob is, the louder that frequency range is at that particular point in time.
    There are other spectral views that give different viewpoints of your audio.  For example, the Spectral Pan Display shows a sort of birds-eye view of the audio's stereo-field.  Instruments that are panned further to the left, for example, will display brighter blobs on the left.  Using the selection tools, you can isolate these sounds from the rest of the stereo field and remove, copy, or add effects to the selection without affecting the rest of the audio.

  • Adding intensity to 3d parametric graph

    I am trying to find a way to add intensity to a 3d parametric graph. I want to use the newest 3d parametrc graph in labview 8.6. So basically, i have my X, Y, and Z data, but i want to be able to change the color depending on values from a 4th input.  The Plot Parametric sub vi has an input labled color matrix, but i cant find any information on what this does. Anyone know?  I also though i could use the surface color map property node option, but not sure what format it is expecting and if this will work.  Anyone have any suggestions?
    much appreciated, thanks!!!

    sufu wrote:
    Can you post an example or more details.  Basically, I have an antenna pattern plotted as a 3D surface and I want to create an "intensity" view where the magnitude is mapped to different colors.
    - Sufu
    "There is nothing new under the sun." Eclesiastes
    See this thread starting at post # 7 I offered a series of posts that serve as a worse case tutorial.
    All of the code is included.
    Here are some previews.
    Again these are just previews. See that thread for the example code and to read how it was done.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Work scheduling view-material master

    Hi, wht is meant by lot size depenedent parameters and lot size independent parametrs? how to use that data in manufacturing industry? pls advise.

    Dear Yadav,
    case1: If you have maintained the Inhouse production time for any product in the MRP2 view,this get's automatically reflected
    in Work scheduling view as lot size independent Inhouse production time.
    At this point if basic scheduling is carried out during MRP then the date calculation will be based upon this number of days
    irrespective of the order quantity.
    case2:Once after maintaining the operation timings in the routing,you can update the same using CA97,for the relevant task list
    type ,group and group counter no and include the check box for update material master directly,you can find the timings
    maintained on hour basis in the setup,processing and inter operation (This calculation is based on the timings maintained in the
    routing and also your work center capacity details,like the number of hours this capacity will be available for a day).
    Once after performing this,even if you have maintained the inhouse production time in days,that value gets removed.
    This time will be considered for basic scheduling purpose during MRP.
    So in my understanding this will be helpful during the scheduling purpose for the date calculation.
    Check and revert back with your further queries.
    Regards
    Mangalraj.S

  • Parametrized Application Module instance jbo:ApplicationModule

    Hi,
    I need to create a parametrized instance of an ApplicationModule within a JSP because I need separate caches of View Objects for a parallel navigation in a web app
    I have tried :
    <jbo:ApplicationModule id="<%=control.getInstanceName%>" configname="<%=control.getConfigName()%>" releasemode="Stateful" />
    but the compiled error is :
    Error(63): Attirbute not valid in jbo:ApplicationModule verified by class oracle.jbo.html.jsp.datatags.ApplicationModuleTag.
    How can I do that OR how can I have separate cache in the same AM ?
    THX

    Hi,
    I need to create a parametrized instance of an ApplicationModule within a JSP because I need separate caches of View Objects for a parallel navigation in a web app
    I have tried :
    <jbo:ApplicationModule id="<%=control.getInstanceName%>" configname="<%=control.getConfigName()%>" releasemode="Stateful" />
    but the compiled error is :
    Error(63): Attirbute not valid in jbo:ApplicationModule verified by class oracle.jbo.html.jsp.datatags.ApplicationModuleTag.
    How can I do that OR how can I have separate cache in the same AM ?
    THX

  • Application View - Dynamic

    The application views in the context of using as Service in DBMS Adapter, have static
    SQL definitions including the where clause.
    At runtime, the input schema data is filled in.
    This technique wont work for dynamic queries in which case, the where clause is filled
    dynamically based on which input parameters the data was entered - typical case is
    a parametric search from web.
    Is it possible to implement this using Application Views ?

    In article <[email protected]>, "Praby says...
    >
    >
    The application views in the context of using as Service in DBMS Adapter, have
    static
    SQL definitions including the where clause.
    At runtime, the input schema data is filled in.
    This technique wont work for dynamic queries in which case, the where clause is
    filled
    dynamically based on which input parameters the data was entered - typical case
    is
    a parametric search from web.
    Is it possible to implement this using Application Views ?Yes, you will need to redefine the application view interaction such that the
    schema of the document it expects supports parameters such as you describe. How
    much you do in the workflow and how much you do in the adapter is up to you, it
    may be you pass the entire SQL statement from the workflow or perhaps just a
    query type and some parameters. Not being familiar with the DBMS adapter its
    hard to say where the changes need to be made but InteractionImpl is a good
    place to start as this is where the workflow meets the adapter.
    HTH

Maybe you are looking for

  • Thumbnails will not open in iphoto

    Thumbnails will no open in iphoto

  • Still no news on how to disable the sender's ID on the notification banner in locked screen?

    Still looking for some more help on this, since I've got no answer from Apple yet. Maybe never gave it a thought, although all my friends complain about the same thing... I'll say it again, it is annoying to have the 3rd party ID on plain sight: my c

  • I need to reinstall Java 1.6.0.35. Help!

    I am a teacher who uses PowerSchool. I have OS 10.6.8 and Java updated to the new 11 version which Powerschool does not support. I cannot acces my powerschool gradebook anymore. Is there anyway to reinstall Java update 11 (1.6.0.35)?

  • JSP and PHP ?!

              is it possible to include a php file into a JSP with the include tag?           infos:           the php file is on another server as the jsp file.           the php server doens'nt support jsp and vice versa.           hope anyone can help

  • Contact Groups are showing as "null"

    On my iPhone5 and iPad some of my Contact Groups are showing as "null".  This is new.  It didn't start until yesterday.  iCloud.com does not reflect this.  Everythings seems to be okay there.  What can I do to change this?