Initial vale in a Query  for Transient Query

I need to set the value of a transient attribute of my view object when when query execute. PorDesc = 1-(NewPrice/OldPrice*100).
how can i do it? how can i set value in a query execution of the viewObject?
my jdeveloper version is 11.1.2.3
<ViewAttribute
Name="ProdNum"
PrecisionRule="true"
EntityAttrName="ProdNum"
EntityUsage="eoProductos"
AliasName="PROD_NUM"/>
<ViewAttribute
Name="OldPrice"
PrecisionRule="true"
EntityAttrName="OldPrice"
EntityUsage="ListaPrecioDetalle"
AliasName="OLD_PRICE">
<Properties>
<SchemaBasedProperties>
<LABEL
ResId="model.vo.voListaPrecioDetalle.PrecioLista_LABEL"/>
</SchemaBasedProperties>
</Properties>
</ViewAttribute>
<ViewAttribute
Name="NewPrice"
PrecisionRule="true"
EntityAttrName="NewPrice"
EntityUsage="ListaPrecioDetalle"
AliasName="NEWPRICE">
<Properties>
<SchemaBasedProperties>
<LABEL
ResId="model.vo.voListaPrecioDetalle.Precio_LABEL"/>
</SchemaBasedProperties>
</Properties>
</ViewAttribute>
<ViewAttribute
Name="PorDesc"
IsQueriable="false"
IsPersistent="false"
PrecisionRule="true"
EntityAttrName="PorDesc"
EntityUsage="PrecioDetalle"
AliasName="$none$">
<Properties>
<SchemaBasedProperties>
<LABEL
ResId="model.vo.voListaPrecioDetalle.PorDesc_LABEL"/>
</SchemaBasedProperties>
</Properties>
</ViewAttribute>

Hi.
In the VO editor, click on your transient attribute. In the « details » tab, go to the « default value » section and select the « expression » radio button. Click the pen icon, and type 1-(NewPrice/OldPrice*100) as the expression (NewPrice and OldPrice must be the attribute names). At the bottom of the dialog, select NewPrice and OldPrice as the dependent attributes, which will ensure proper integrity for the value of the transient attribute.
Best Regards,
Frédéric.

Similar Messages

  • VO Auto Refresh error - Unsupported query for Continuous Query Notification

    I created a read only view object and set the auto refresh property to true. According to the documentation that was all that need to be done in order to enable auto-refresh for a view instance of a shared application module (which I am using to retrieve reference data). When I run a test, I get the following error:
    [371] DCBindingContainer.reportException :oracle.jbo.SQLStmtException
    [372] oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT
    CCIPO_REF_SENSITIVITY_LEVEL.SENSITIVITY_ID SENSITIVITY_ID,
    CCIPO_REF_SENSITIVITY_LEVEL.SENSITIVITY_DESC SENSITIVITY_DESC
    FROM
    CCIPO_REF_SENSITIVITY_LEVEL
         at oracle.jbo.server.BaseSQLBuilderImpl.processException(BaseSQLBuilderImpl.java:3721)
         at oracle.jbo.server.OracleSQLBuilderImpl.processException(OracleSQLBuilderImpl.java:4722)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1386)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:928)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:6968)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1183)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1037)
         at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2774)
         at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2751)
         at oracle.jbo.server.ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1580)
         at oracle.jbo.server.ViewRowSetImpl.first(ViewRowSetImpl.java:3500)
         at oracle.jbo.server.ViewObjectImpl.first(ViewObjectImpl.java:9943)
         at oracle.adf.model.binding.DCIteratorBinding.setupRSIstate(DCIteratorBinding.java:779)
         at oracle.adf.model.binding.DCIteratorBinding.refreshControl(DCIteratorBinding.java:679)
         at oracle.jbo.uicli.binding.JUIteratorBinding.refreshControl(JUIteratorBinding.java:474)
         at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4437)
         at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:347)
         at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1605)
         at oracle.jbo.jbotester.panel.BindingPanel.setBindingContext(BindingPanel.java:116)
         at oracle.jbo.jbotester.panel.BindingPanel.<init>(BindingPanel.java:88)
         at oracle.jbo.jbotester.panel.BindingPanel.<init>(BindingPanel.java:71)
         at oracle.jbo.jbotester.form.BindingForm.createMasterPanel(BindingForm.java:63)
         at oracle.jbo.jbotester.form.BindingForm.init(BindingForm.java:98)
         at oracle.jbo.jbotester.form.JTForm.<init>(JTForm.java:72)
         at oracle.jbo.jbotester.form.BindingForm.<init>(BindingForm.java:50)
         at oracle.jbo.jbotester.form.FormType$1.createForm(FormType.java:63)
         at oracle.jbo.jbotester.form.FormType.createForm(FormType.java:199)
         at oracle.jbo.jbotester.form.FormType.createTab(FormType.java:270)
         at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:248)
         at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:207)
         at oracle.jbo.jbotester.form.FormType.showForm(FormType.java:203)
         at oracle.jbo.jbotester.tree.ObjTreeNode.showForm(ObjTreeNode.java:140)
         at oracle.jbo.jbotester.tree.ObjTreeNode.showForm(ObjTreeNode.java:123)
         at oracle.jbo.jbotester.tree.Tree.processTreeMouseClicked(Tree.java:728)
         at oracle.jbo.jbotester.tree.Tree.access$100(Tree.java:96)
         at oracle.jbo.jbotester.tree.Tree$TreeMouseListener.mouseClicked(Tree.java:141)
         at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
         at java.awt.Component.processMouseEvent(Component.java:6292)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6054)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4652)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4482)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
         at java.awt.EventQueue.access$000(EventQueue.java:85)
         at java.awt.EventQueue$1.run(EventQueue.java:603)
         at java.awt.EventQueue$1.run(EventQueue.java:601)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:617)
         at java.awt.EventQueue$2.run(EventQueue.java:615)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Caused by: java.sql.SQLException: ORA-29983: Unsupported query for Continuous Query Notification
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
         at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)
         at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
         at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
         at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:924)
         at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1261)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1419)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3806)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1667)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1262)
         ... 65 more
    The query is selecting two varchar2 columns and according to the criteria in the documentation is valid to be registered for QRCN in Guaranteed Mode. Any thoughts?
    JDev version: JDeveloper 11.1.1.5.0.

    Well, could be a DB bug. I seem to remember that there was a bug in that area in an older version of 11g.
    Or you could use jnettrace to trace the calls made by the driver to the DB. That should show you what's going wrong.
    Sascha

  • ORA-29983: Unsupported query for Continuous Query Notification

    Hi, i'm having a LOV with auto refresh. If i add "Order by " to the LOV query , the following exception is thrown.
    SQL error during statement preparation. Statement: SELECT * FROM (SELECT DISTINCT XXXX FROM YYYY) QRSLT ORDER BY "XXXX"
    Error     ORA-29983: Unsupported query for Continuous Query Notification
    I tried to override the create method of the VO, with "this.setNestedSelectForFullSql(false);" .. But this one disables the auto referesh property...
    Could some one help to solve this. Thanks .

    Hi, i looked into the ADF run-time source code and i can see that , the connection object " OracleDatabaseChangeListenerWrapper" class setting the mode as "BEST_EFFORT".
    I would assume , by default adf run-time using the best effort mode , not the guaranteed mode.
    The data base doc also says in best effort mode "order by" clause as well as key word "like" can be used for continuous query notification. But still i'm getting "ORA-29983".
    Could some one clarify me. Thanks .

  • Unsupported query for Continuous Query Notification

    Hi all,
    I'm following an application which supports ADS(Active Data Service). http://www.consideringred.com/files/oracle/2011/ActiveDataServiceADFBCApp-v0.02.zip
    I build the application and it works well.
    Then I created a ViewCriteria for the same VO. Then added a search panel through that ViewCriteria.
    Now when I change data at database it shows the data change (ADS works).
    But when I search for data through that search boxes it gives me the following error.
    java.sql.SQLException: ORA-29983: Unsupported query for Continuous Query NotificationHow can I overcome this error....??
    Thanks,
    Dinuka.

    Here it is Mr.John..,
    >
    <ADFLogger> <begin> Execute query
    <ViewObjectImpl> <closeStatementsResetRowSet> [7421] ViewObject: [########.client.views.TestVO]ClientAM.TestVO1 close prepared statements...
    <ViewObjectImpl> <getPreparedStatement> [7422] ViewObject: [########.client.views.TestVO]ClientAM.TestVO1 Created new QUERY statement
    <ViewObjectImpl> <buildQuery> [7423] TestVO1>#q computed SQLStmtBufLen: 2911, actual=2823, storing=2853
    <ViewObjectImpl> <buildQuery> [7424] SELECT * FROM (SELECT
    ClientsEO.ADDED_BY,
    ClientsEO.APPROVAL_STATUS,
    ClientsEO.CHANGED_BY,
    ClientsEO.CLIENT_PREFIX,
    ClientsEO.CLIENT_SUFFIX,
    ClientsEO.CLIENT_TYPE,
    ClientsEO.COUNTRY_OF_RESIDENCE,
    ClientsEO.CUSTODIAN_NUMBERED_ACC,
    ClientsEO.DATE_ADDED,
    ClientsEO.DATE_CHANGED,
    ClientsEO.DATE_OF_INCORPORATION,
    ClientsEO.DATE_STATUS_CHANGED,
    ClientsEO.DISPOSAL_INSTRUCTIONS,
    ClientsEO.DIVIDEND_DISP_TYPE,
    ClientsEO.ENTITLEMENT_TO_UNASSIGNED,
    ClientsEO.ENTITLEMENT_UNASSIGNED,
    ClientsEO.GENDER,
    ClientsEO.INITIALS,
    ClientsEO.LOCAL_CLIENT_ID,
    ClientsEO.MEMBER_CODE,
    ClientsEO.MEMBER_TYPE,
    ClientsEO.NATIONALITY,
    ClientsEO.OTHER_NAMES,
    ClientsEO.REMARKS,
    ClientsEO.STATUS,
    ClientsEO.STATUS_CHANGE_REASON_CODE,
    ClientsEO.STATUS_CHANGED_BY,
    ClientsEO.SURNAME,
    ClientsEO.TAX_CODE_DEBT,
    ClientsEO.TAX_CODE_EQT,
    ClientsEO.TITLE,
    CS.DESCRIPTION STATUS_DESCRIPTION,
    CT.DESCRIPTION TYPES_DESCRIPTION,
    ClientsEO.CLIENT_SUFFIX as Client_Suff,
    DECODE(ClientsEO.GENDER, 'M', 'MALE', 'F', 'FEMALE', 'N/A') CLIENT_GENDER,
    CASE
    WHEN CSF.COMPANY = 'Y' THEN ClientsEO.SURNAME
    ELSE ClientsEO.TITLE || ' ' || ClientsEO.OTHER_NAMES || ' ' || ClientsEO.SURNAME
    END Name,
    C.COUNTRY_NAME,
    C.NATIONALITY COUNTRY_NATIONALITY,
    CSF.DESCRIPTION SUFFIX_DESCRIPTION,
    DECODE(ClientsEO.MEMBER_TYPE,'',' ',(SELECT MT.DESCRIPTION FROM MEMBER_TYPES MT WHERE MT.MEMBER_TYPE=ClientsEO.MEMBER_TYPE )) MEM_TYPE_DESCRIPTION,
    DECODE(ClientsEO.TAX_CODE_DEBT,'',' ',(SELECT TS.TAX_DESCRIPTION FROM TAX_STATUS_CODES TS WHERE TS.TAX_CODE=ClientsEO.TAX_CODE_DEBT )) TAX_DEBT_DESCRIPTION,
    DECODE(ClientsEO.TAX_CODE_DEBT,'',' ',(SELECT TS.TAX_RATE FROM TAX_STATUS_CODES TS WHERE TS.TAX_CODE=ClientsEO.TAX_CODE_DEBT )) TAX_DEBT_RATE,
    DECODE(ClientsEO.TAX_CODE_EQT,'',' ',(SELECT TS.TAX_DESCRIPTION FROM TAX_STATUS_CODES TS WHERE TS.TAX_CODE=ClientsEO.TAX_CODE_EQT )) TAX_EQT_DESCRIPTION,
    DECODE(ClientsEO.TAX_CODE_EQT,'',' ',(SELECT TS.TAX_RATE FROM TAX_STATUS_CODES TS WHERE TS.TAX_CODE=ClientsEO.TAX_CODE_EQT )) TAX_EQT_RATE,
    DECODE(ClientsEO.DIVIDEND_DISP_TYPE, 'C', 'CASH','B' , 'BANK','') DIVIDEND_DISP_DESCRIPTION ,
    DECODE(ClientsEO.STATUS_CHANGE_REASON_CODE,'','',(SELECT SR.REASON FROM SUSPENDING_REASONS SR WHERE SR.REASON_CODE=ClientsEO.STATUS_CHANGE_REASON_CODE )) STATUS_CHANGE_REASON
    FROM
    CLIENTS ClientsEO,
    CLIENT_STATUS CS,
    CLIENT_TYPES CT,
    COUNTRIES C,
    CLIENT_SUFFIXES CSF
    WHERE
    ClientsEO.CLIENT_TYPE = CT.CLIENT_TYPE AND ClientsEO.STATUS = CS.STATUS AND ClientsEO.COUNTRY_OF_RESIDENCE = C.COUNTRY_CODE(+) AND ClientsEO.CLIENT_SUFFIX = CSF.CLIENT_SUFFIX) QRSLT WHERE ( ( (UPPER(CLIENT_PREFIX) = UPPER(:vc_temp_1) ) ) )
    <ViewObjectImpl> <bindParametersForCollection> [7425] Bind params for ViewObject: [########.client.views.TestVO]ClientAM.TestVO1
    <OracleSQLBuilderImpl> <bindParamValue> [7426] Binding param "vc_temp_1": 325
    <ADFLogger> <addContextData> Execute query
    MyOracleDatabaseChangeListenerWrapper.getRegistrationProperties() : vProperties = {DCN_QUERY_CHANGE_NOTIFICATION=true, DCN_NOTIFY_ROWIDS=true, DCN_BEST_EFFORT=true}
    <ADFLogger> <addContextData> Execute query
    <ViewObjectImpl> <freeStatement> [7427] ViewObject: [########.client.views.TestVO]ClientAM.TestVO1 close single-use prepared statements
    <QueryCollection> <buildResultSet> [7428] QueryCollection.executeQuery failed...
    <QueryCollection> <buildResultSet> [7429] java.sql.SQLException: ORA-29983: Unsupported query for Continuous Query Notification
    >
    I think this is the query you asked for.
    thanks for paying attention Mr.John.
    Dinuka.
    Edited by: dinuka on Jul 25, 2011 12:18 PM
    some package names removed due to company rules and regulations.

  • Af:query for transients attribute in VC and NO DATA after RowMatch

    Hi,
    I have a VO having two transient attributes (example, JoinDate, DeptName) out of which DeptName defined as LOV. I have a VC VC which run on 'database' mode and DeptName present in this VC and having default value like 'Computer'. VC configured to run automatically so that on page load data should display.
    Next, I have a af:query from this VC on jasff page. Before page load programatically we define query criteria and on page load query runs fine and data display on UI.
    Issue here is,
    When we add one more transient attribute JoinDate from 'Add Fields' (without adding any data) and click on submit we don't get data even if page load query is same as this query. Change is only a new attribute added from Add Fields and it not having any value.
    The changes observed in log is that, when we add one more criterion attribute JoinDate OR DeptName we find below entry in the log.
    VCs converted to RowMatch: ( (UPPER(DeptName) LIKE UPPER(vc_type1) ) )
    This means after query execution framework doing RowMatch for transient attribute WHICH IS PRESENT IN VC. Here freamework passing vc_type1 as null. So we are not getting any rows.
    I have tried like
    before VO executeQuery, setRowMatch(null) but NO luck.
    before VO executeQuery, setRowMatch("DeptName='Computer'") but NO luck.
    So please suggest me How Can we avoid RowMatch execution after execute query ?
    If not, how to get data which we got from executeQuery ?

    Please suggest.

  • Query for Info Provider

    How to create query for infoprovider ? I have selection criteria, calculation and result screen for queries taken from one reference query. I am new to this part so dont know which transaction we will use to create query. Is it APO part or BI/BW part ?

    I have to create queries for info provider. I have one reference query. I have to create similar selection screen as that of reference query for new query. Calculation which needs to be included in query is provided also result screen for query is given.
    how to create query in APO using above input? Which transaction do we use to create query ?
    I heard about BEx query analyzer which is there in BI for query creation . Is similar BEx functionality is available in APO ? If yes , what is t-code used for that? I know one tcode - RSRT with which I can see existing reference query selection? Is there similar tcode for query creation also in APO?

  • For Update Query

    Hi All,
    I having block level 8000 records, I Scroll down from First record to last record it is takeing more time.
    I Observed tkproof while scrolling two select statments are running..
    1) pre-query block level
    2) For update query
    For update query -> How is is forming? Any Property or some else?
    I am not able to find the second query..where it is forming..How to restrict the second query.
    Query Array size - 10
    Number of records buffered - 10
    Number of records Displayed - 10
    Query all records - No
    Locking mode - Immediate
    Key mode - Automatic
    Version - Oracle 10g
    Plz ........any

    The for update -query is generaetd by forms when its locking the record. If you didn't change anything in the record "by hand", check if there is some code in the POST-QUERY-trigger which forces the record to be locked. if its the POST-QUERY you can issue the following command to avoid the lock at the end of the POST-QUERY:
    SET_RECORD_PROPERTY(:SYSTEM.TRIGGER_BLOCK, :SYSTEM.TRIGGER_RECORD, STATUS, QUERY_STATUS);

  • Passing parameters for a query throught XML and capturing response in the same

    Hi All,
    I have defined a RequestParameters object and i am passing paramerts for a query through XML and trying to capture the result in the same and send back to the source. In this case i am send XML from excel.
    Below is my XML format.
    <?xml version="1.0" encoding="utf-8"?>
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Insert xmlns="http://tempuri.org/">
    <dataContractValue>
    <dsRequest>
    <dsRequest>
    <SOURCE></SOURCE>
    <ACTION>Insert</ACTION>
    <RequestParams>
    <RequestParams>
    <ACC_NO>52451</ACC_NO>
    <EMP_CITY>HYD</EMP_CITY>
    <EMP_NAME>RAKESH</EMP_NAME>
    <EMP_CONTACT>99664</EMP_CONTACT>
    <EMP_JOM>NOV</EMP_JOM>
    <EMP_SALARY>12345</EMP_SALARY>
    </RequestParams>
    <RequestParams>
    <ACC_NO>52452</ACC_NO>
    <EMP_CITY>HYD</EMP_CITY>
    <EMP_NAME>RAKESH</EMP_NAME>
    <EMP_CONTACT>99664</EMP_CONTACT>
    <EMP_JOM>NOV</EMP_JOM>
    <EMP_SALARY>12345</EMP_SALARY>
    </RequestParams>
    </RequestParams>
    </dsRequest>
    <dsRequest>
    <SOURCE></SOURCE>
    <ACTION>Update</ACTION>
    <RequestParams>
    <RequestParams>
    <ACC_NO>52449</ACC_NO>
    <EMP_CITY>HYD1</EMP_CITY>
    <EMP_NAME>RAKESH1</EMP_NAME>
    <EMP_SALARY>1345</EMP_SALARY>
    </RequestParams>
    <RequestParams>
    <ACC_NO>52450</ACC_NO>
    <EMP_CITY>HYDer</EMP_CITY>
    <EMP_NAME>RAKEH</EMP_NAME>
    <EMP_SALARY>1235</EMP_SALARY>
    </RequestParams>
    </RequestParams>
    </dsRequest>
    </dsRequest>
    </dataContractValue>
    </Insert>
    </s:Body>
    </s:Envelope>
     Where i have a List of dsRequest and RequestParams, where i can send any number of requests for Insert,Update. I have two a XML element defined in RequestParams "RowsEffected","error" where the result will be caputred and is updated
    to the response XML.
    I have 6 defined in RequestParams
    EMP_SALARY(int),ACC_NO(int),EMP_CITY(string),EMP_NAME(string),EMP_CONTACT(string),EMP_JOM(string)
    My Question is:
    When i am trying to build response XML with the following code, the parameters which are not given in the Request XML are also appearing in the Response.
                    ResponseParams.Add(
    newdsResponse()
                        ACTION = OriginalParams[a].ACTION,
                        SOURCE = OriginalParams[a].SOURCE,
                        Manager = OriginalParams[a].Manager,
                        RequestParams = OriginalParams[a].RequestParams
    Where the OriginalParams is dsRequest
    Ex: In my update query i will only send three parameters, but in my response building with ablove code, i am getting all the variables defined as INT in the RequestParameters.
    Is there any way i can avoid this and build response with only the parameters given in the Request ??
    Appreciate ur help..Thanks
    Cronsey.

    Hi Kristin,
    My project is, User will be giving the parameters in the excel, and using VBA, the values are captured and an XML is created in the above mentioned format and is send to web service for the Insert/Update.
    I created a webservice which reads the values from <datacontract> and it consist of list of <dsRequests> where any number of Insert/Upate commands can be executed, with in which it contains a list of <RequestParams> for multiple insertion/Updation.
    //function call
    OriginalParams = generator.Function(query, OriginalParams);
    where OriginalParams is List<dsRequest>
    //inside function
    command.Parameters.Add()// parameters adding
    int
    val = command.ExecuteNonQuery();
    after the execution,an XML element is added for the response part.and it is looped for all the RequestParams.
    OriginalParams[i].Result.Add(
    newResult()
    { ERROR = "No Error",
    ROWS_EFFECTEFD = 1 });
    //once all the execution is done the response building part
    for(inta
    = 0; a < OriginalParams.Count; a++)
                    ResponseParams.Add(
    newdsResponse()
                      Result = OriginalParams[a].Result
    QUEST: When i am trying to build response XML with the following code, the parameters which are not given in the Request XML are also appearing in the Response.
    Ex: In my update query i will only send three parameters, but in my response building with ablove code, i am getting all the variables defined as INT in the RequestParameters.
    Is there any way i can avoid this and build response with only the parameters given in the Request ??
    Appreciate ur help..Thanks
    Cronsey.

  • How to use dynamic query for this ??

    hi , i am new to ABAP. i got a requirement to write  dynamic query for the following code.
    kindly address. two set of queries are same.but condition is different.
    .IF p_psd EQ ' '.
    *C--End of change DF 1232137- (Transport # :CIDK980530 )
    *C--FETCH THE Deliverd Quantiity and Material Number
        SELECT aufnr "ORDER number
               wemng "Quantity of goods received for the order item
               matnr "MATERIAL NUMBER
               pwerk "PLANT
               dauat "Order Type
               FROM afpo
               INTO TABLE t_afpo
               WHERE aufnr IN s_order
               AND   wemng IN s_dqt
               AND   matnr IN s_matnr
               AND   pwerk IN s_plant
               AND   dauat = c_ro.
        IF sy-subrc = 0.
          SORT t_afpo BY aufnr matnr pwerk.
    *C--FETCH THE OBJECT NUMBER
          SELECT aufnr "ORDER number
                 objnr "Object number
                 FROM aufk
                 INTO TABLE t_aufk
                 FOR ALL ENTRIES IN t_afpo
                 WHERE aufnr = t_afpo-aufnr.
          IF sy-subrc = 0.
            SORT t_aufk BY aufnr objnr.
    *C--FETCH THE Target Quantiity
            SELECT aufnr "ORDER number
                   gamng "Total order quantity target quantity
                   FROM afko
                   INTO TABLE t_afko
                   FOR ALL ENTRIES IN t_afpo
                   WHERE aufnr = t_afpo-aufnr
                   AND   gamng IN s_tqt.
            IF sy-subrc = 0.
              SORT t_afko BY aufnr .
            ENDIF.
          ENDIF.
        ELSE.
          MESSAGE text-e03 TYPE c_s. " No data for the selection criteria
          LEAVE LIST-PROCESSING.
        ENDIF.
    *C--Begin of change DF 1232137- (Transport # :CIDK980530 )
      ENDIF.
      IF p_psd EQ c_x.
        SELECT aufnr "ORDER number
               wemng "Quantity of goods received for the order item
               matnr "MATERIAL NUMBER
               pwerk "PLANT
               dauat "Order Type
               FROM afpo
               INTO TABLE t_afpo
               WHERE aufnr IN s_order
               AND   wemng > 0
               AND   matnr IN s_matnr
               AND   pwerk IN s_plant
               AND   dauat = c_ro.
    if sy-subrc = 0.
    *C--FETCH THE OBJECT NUMBER
        IF  NOT t_afpo[] IS INITIAL.
          SORT t_afpo BY aufnr matnr pwerk.
          SELECT aufnr "ORDER number
                 objnr "Object number
                 FROM aufk
                 INTO TABLE t_aufk
                 FOR ALL ENTRIES IN t_afpo
                 WHERE aufnr = t_afpo-aufnr.
          IF sy-subrc = 0.
            SORT t_afko BY aufnr gamng.
          ELSE.
            MESSAGE text-e03 TYPE c_s. " No data for the selection criteria
            LEAVE LIST-PROCESSING.
          ENDIF.
        ENDIF.
        IF NOT t_afpo[] IS INITIAL.
    *C--FETCH THE Target Quantiity
          SELECT aufnr "ORDER number
                 gamng "Total order quantity target quantity
                 FROM afko
                 INTO TABLE t_afko
                 FOR ALL ENTRIES IN t_afpo
                 WHERE aufnr = t_afpo-aufnr
                 AND   gamng <> t_afpo-wemng .
          IF sy-subrc = 0.
            SORT t_afko BY aufnr gamng.
          ELSE.
            MESSAGE text-e03 TYPE c_s. " No data for the selection criteria
            LEAVE LIST-PROCESSING.
          ENDIF.
        ENDIF.
      ELSE.
        MESSAGE text-e03 TYPE c_s. " No data for the selection criteria
        LEAVE LIST-PROCESSING.
      ENDIF.
    Edited by: Thomas Zloch on Jan 5, 2011 1:30 PM please use code tags

    Hi friend,
    Try using MACRO and dynamic WHERE condition.
    Group simialr Select statements under a Macro.
    Build a dynamic where by checking conditions
    Call macro passing dynamic where condition.
    TABLES afpo.
    DATA: str TYPE string.
    *Macro definition
    DEFINE operation.
      select single *
           from afpo into afpo
           where (&1).    " Dynamic condition
    END-OF-DEFINITION.
    *Build dynamic WHERE by checking some conditions
    *If conditon 
    CONCATENATE 'AUFNR = ''000000700008''' 'AND POSNR = ''0001''' INTO str SEPARATED BY space.
    *Else
    CONCATENATE 'AUFNR = ''000000700008''' 'AND POSNR = ''0002''' INTO str SEPARATED BY space.
    *Endif.
    *Call Macro passing dynamic WHERE condition
    operation str.

  • Query for data

    Hi all, i am trying to write a query for a specific scenario using analytic functions.
    i have a table that has data in week basis. here is some sample data
    id date value
    1 1/4/10 A
    1 1/11/10 B
    1 1/18/10 C
    2 ....
    2 ....
    each date represent the beginning of the week. i have another table that contains calendar dates that include day of the week excluding weekends and holidays.
    example data
    id date
    1 1/4/10
    1 1/5/10
    1 1/6/10
    1 1/7/10
    1 1/8/10
    1 1/11/10
    1 ...... SO ON
    as you can see 1/1/10, 1/2, 1/3 are not present because they are either holidays or weekends.
    what i want to do is join this two tables by id and the output should be the following
    1 1/4/10 A
    1 1/5/10 A
    1 1/6/10 A
    1 1/7/10 A
    1 1/8/10 A
    1 1/11/10 B
    1 1/12/10 B
    1 1/13/10 B
    1 1/14/10 B
    1 1/15/10 B
    and so on. so as you can see. i am converting the week table (first table) into day basis. i tried to use analytic function but i was not very successful since i am new to them. any help will be appricatiate. provide sample query if possible. thanks a lot

    Hi,
    What if the week crosses over 2 months.
    Fo example March the last week starts on 29 and has 1st apr and 2nd apr in the same week.Would you consider those?
    If not here is one way of doing it.
    with t1 as (
                select 1 id,DATE '2010-03-01' dt,'A' val from dual union all
                select 1,DATE '2010-03-08','B' from dual union all
                select 1,DATE '2010-03-15','C' from dual UNION ALL
                select 1,DATE '2010-03-22','D' from dual    UNION ALL
                select 1,DATE '2010-03-29','E' from dual  
         t2 as (
                select 1 id,DATE '2010-03-01' dt from dual union all
                select 1,DATE '2010-03-02' from dual union all
                select 1,DATE '2010-03-03' from dual union all
                select 1,DATE '2010-03-04' from dual union all
                select 1,DATE '2010-03-05' from dual union all
                select 1,DATE '2010-03-08' from dual union all
                select 1,DATE '2010-03-09' from dual union all
                select 1,DATE '2010-03-10' from dual union all
                select 1,DATE '2010-03-11' from dual union all
                select 1,DATE '2010-03-12' from dual UNION ALL
                select 1,DATE '2010-03-15' from dual UNION ALL
                select 1,DATE '2010-03-16' from dual UNION ALL           
                select 1,DATE '2010-03-17' from dual UNION ALL
                select 1,DATE '2010-03-18' from dual UNION ALL
                select 1,DATE '2010-03-19' from dual UNION ALL
                select 1,DATE '2010-03-22' from dual UNION ALL
                select 1,DATE '2010-03-23' from dual UNION ALL                                               
                select 1,DATE '2010-03-24' from dual UNION ALL                                                           
                select 1,DATE '2010-03-25' from dual UNION ALL                                                           
                select 1,DATE '2010-03-26' from dual UNION ALL                                                         
                select 1,DATE '2010-03-29' from dual UNION ALL
                select 1,DATE '2010-03-30' from dual UNION ALL
                select 1,DATE '2010-03-31' from dual UNION ALL
                select 1,DATE '2010-04-01' from dual UNION ALL  
                select 1,DATE '2010-04-01' from dual                                )
               SELECT DISTINCT a.ID,b.dt,a.val,to_char(b.dt,'IW') FROM t1 a,t2 b WHERE a.ID=b.ID
               AND to_char(a.dt,'MON')=to_char(b.dt,'MON')
               AND to_char(a.dt,'IW')=to_char(b.dt,'IW')
               ORDER BY val,dtCheers!!!
    Bhushan

  • Create dynamic report or query for piece count

    Hi abaper's
    This is a very straight forward requirement. so please give me code
    First you have to get the corresponding plant from table T320 for the given warehouse numbers in the selection screen. 
    1.     Get the sum of order qty of sales orders from the sales order tables      for the given warehouse(Plant), distribution channel and the give date      range.
    2.     Get the confirmed transfer orders qty from the TO master table where      TO confirmation date is in the given date range and WH number.
    3.     Get the total PGIed qty from the delivery master table where PGI'ed      date in the given date range, shipping point is in the corresponding      plant of the WH and for the given distribution channel.
    As you are going to use the major tables please try to write the select commands effectively to avoid further performance issues.

    How to improve the performance fo this code.....this very urgent.
    & Issue Number          : 22199                                    &
    & Programmer            : Anjaneyulu.Pabba                         &
    & Transport Number      : D01K962471                               &
    & Date of Creation      : 19/03/2008                               &
    & Description           : Dynamic report or query for piece count  &
    & Requested By          : Parvati.Polisetty                        &
    REPORT  ZR_SD_PIECE_COUNT_ALV no standard page heading
                                  line-size 255
                                  line-count 65.
                          TABLES DECLARATION
    *TABLES: T320,   "Assignment IM Storage Location to WM Warehouse Number
          VBAK,   "Sales Document: Header Data
          VBAP,   "Sales Document: Item Data
          TVKOV,  "Org. Unit: Distribution Channels per Sales Organization
          LTAK,   "WM transfer order header
          LTAP,   "Transfer order item
          LIKP,   "SD Document: Delivery Header Data
          LIPS.   "SD document: Delivery: Item data
                          TYPE-POOLS DECLARATION
    TYPE-POOLS: SLIS .
         Internal Table Declaration
    DATA : BEGIN OF TY_T320,
            WERKS TYPE WERKS_D,
            LGNUM TYPE LGNUM,
           END OF TY_T320.
    DATA : BEGIN OF TY_VBAK,
            VBELN  TYPE VBELN_VA,
            VTWEG  TYPE VTWEG,
            WERKS  TYPE WERKS_D,
            KWMENG TYPE KWMENG,
            VSTEL  TYPE VSTEL,
           END OF TY_VBAK.
    DATA : BEGIN OF TY_LTAK,
            LGNUM TYPE LGNUM,
            TANUM TYPE TANUM,
            VISTA TYPE LTAP_VISTA,
           END OF TY_LTAK.
    DATA : BEGIN OF TY_LIKP,
            VBELN TYPE VBELN_VL,
            WERKS TYPE WERKS_D,
            LFIMG TYPE LFIMG,
           END OF TY_LIKP.
    DATA : BEGIN OF TY_ITAB ,
    LGNUM  TYPE LGNUM,    "Warehouse Number / Warehouse Complex
    WERKS  TYPE WERKS_D,  "Plant
    VBELN  TYPE VBELN_VA, "Sales Document
    VTWEG  TYPE VTWEG,   "Distribution Channel
    KWMENG TYPE KWMENG,  "Cumulative order quantity in sales units
    TANUM  TYPE TANUM ,     "Transfer Order Number
    VISTA  TYPE LTAP_VISTA, "Source actual quantity in alternative
                                                 unit of measure
    LFIMG  TYPE LFIMG,  "Actual quantity delivered (in sales units)
    END OF TY_ITAB .
    DATA: T_T320 LIKE STANDARD TABLE OF TY_T320 INITIAL SIZE 0 WITH HEADER
                                                                   LINE,
          T_VBAK LIKE STANDARD TABLE OF TY_VBAK INITIAL SIZE 0 .
    DATA: T_LTAK LIKE STANDARD TABLE OF TY_LTAK INITIAL SIZE 0 WITH HEADER
                                                                    LINE.
    DATA :T_LIKP LIKE STANDARD TABLE OF TY_LIKP INITIAL SIZE 0 WITH HEADER
                                                                    LINE.
    DATA:T_ITAB LIKE STANDARD TABLE OF TY_ITAB INITIAL SIZE 0 WITH HEADER
                                                                   LINE .
    *&      Fieldcatalog Declaration
    DATA : T_FCAT TYPE SLIS_T_FIELDCAT_ALV,
           W_FCAT TYPE SLIS_FIELDCAT_ALV.
    DATA : W_LAYOUT TYPE SLIS_LAYOUT_ALV.
    ********Global Data Declaration***
    DATA :G_REPID        LIKE SY-REPID,
         G_EXIT(1)      TYPE C,
         GX_VARIANT     LIKE DISVARIANT,
         X_SAVE,                          "for Parameter I_SAVE
         GS_VARIANT TYPE DISVARIANT.      "for parameter IS_VARIANT
    data: g_lgnum type t320-lgnum,
          g_vtweg type vbak-vtweg,
          g_erdat type vbak-erdat.
    *&      Selection-Screen
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_LGNUM FOR  g_lgnum, "Warehouse Number
                    S_VTWEG FOR g_vtweg, "Distribution Channel
                    S_ERDAT FOR g_erdat ."Date on which the record was
    **********"created
    SELECTION-SCREEN END OF BLOCK B1 .
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
    PARAMETER: P_VARI LIKE DISVARIANT-VARIANT.  "Layout
    SELECTION-SCREEN END OF BLOCK B2.
    *&       INITIALIZATION EVENT
    INITIALIZATION.
      CLEAR GS_VARIANT.
    'gs_variant' must at least contain the report-id to allow
    saving a variant.
      G_REPID = SY-REPID.
    § 2.At least field REPORT of this structure has to be filled!
      GS_VARIANT-REPORT = G_REPID.
    § 3.Determine saving options.
      X_SAVE = 'A'.   "The user may save all types of variants
    *******Validating selection-screen values**********************
    getting F4 value for display variant field
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
      PERFORM F4_FOR_VARIANT.
    ****validation of F4 value of display variant
    AT SELECTION-SCREEN.
      PERFORM PAI_OF_SELECTION_SCREEN.
    *&      Start-Of-Selection
    START-OF-SELECTION.
    *****Subroutine to  select Plant from T320
      PERFORM FIND_PLANT .
    *****Subroutine to select Order Quantity from VBAP
      PERFORM ORDER_QUANTITY .
    *****Subroutine to select Transfer Order Quantity from LTAK and LTAP
      PERFORM TRANSFER_ORDER_QUANTITY.
    *****Subroutine to select TDelivery Quantity from  LIKP and LIPS
      PERFORM DELIVERY_QUANTITY.
    *&      End-Of-Selection
    END-OF-SELECTION.
    *****Subroutine for Fieldcatalog
      PERFORM FIELDCATALOG .
    *****Subroutine for Final Output
      PERFORM DISPLAY_OUTPUT .
    *&     Subroutine Implementaion
    *&      Form  FIND_PLANT
          text
    -->  p1        text
    <--  p2        text
    FORM FIND_PLANT .
      SELECT  WERKS
              LGNUM
              FROM T320
              INTO  TABLE T_T320
              WHERE LGNUM IN S_LGNUM.
    ENDFORM.                    " FIND_PLANT
    *&      Form  order_quantity
          text
    -->  p1        text
    <--  p2        text
    FORM ORDER_QUANTITY .
      SELECT VK~VBELN
             VK~VTWEG
             VP~WERKS
             VP~KWMENG
             VP~VSTEL
             INTO TABLE T_VBAK FROM VBAK AS VK
             INNER JOIN  VBAP AS VP
             ON VKVBELN = VPVBELN
             FOR ALL ENTRIES IN T_T320
             WHERE VK~VTWEG IN S_VTWEG
             AND   VK~ERDAT IN S_ERDAT
             AND   VP~WERKS = T_T320-WERKS.
    ENDFORM.                    " order_quantity
    *&      Form  Transfer_order_quantity
          text
    -->  p1        text
    <--  p2        text
    FORM TRANSFER_ORDER_QUANTITY .
      SELECT LK~LGNUM
             LK~TANUM
             LP~VISTA
             INTO TABLE T_LTAK FROM LTAK AS LK
             INNER JOIN LTAP AS LP
             ON LKLGNUM = LPLGNUM
             WHERE LK~KQUIT = 'X'
             AND   LK~BDATU IN S_ERDAT
             AND   LK~LGNUM IN S_LGNUM.
    ENDFORM.                    " Transfer_order_quantity
    *&      Form  Delivery_QUANTITY
          text
    -->  p1        text
    <--  p2        text
    FORM DELIVERY_QUANTITY .
      SELECT  VBELN WERKS LFIMG FROM LIPS
              INTO TABLE T_LIKP
              FOR ALL ENTRIES IN T_T320
              WHERE WERKS = T_T320-WERKS
              AND ERDAT IN S_ERDAT
              AND VTWEG IN S_VTWEG.
    ENDFORM.                    " Delivery_QUANTITY
    *&      Form  fieldcatalog
          text
    -->  p1        text
    <--  p2        text
    FORM FIELDCATALOG .
      W_FCAT-COL_POS       = '1' .
      W_FCAT-FIELDNAME     = 'LGNUM' .
      W_FCAT-REF_TABNAME   = 'T320'.
      W_FCAT-REF_FIELDNAME = 'LGNUM' .
      APPEND W_FCAT TO T_FCAT.
      CLEAR W_FCAT.
      W_FCAT-COL_POS       = '2' .
      W_FCAT-FIELDNAME     = 'VTWEG' .
      W_FCAT-REF_TABNAME   = 'VBAK'.
      W_FCAT-REF_FIELDNAME = 'VTWEG' .
      APPEND W_FCAT TO T_FCAT.
      CLEAR W_FCAT.
      W_FCAT-COL_POS       = '3' .
      W_FCAT-FIELDNAME     = 'KWMENG' .
      W_FCAT-REF_TABNAME   = 'VBAP'.
      W_FCAT-REF_FIELDNAME = 'KWMENG' .
    *w_fcat-seltext_m     = '# of Orders'.
      APPEND W_FCAT TO T_FCAT.
      CLEAR W_FCAT.
      W_FCAT-COL_POS       = '4' .
      W_FCAT-FIELDNAME     = 'VISTA' .
      W_FCAT-REF_TABNAME   = 'LTAP'.
      W_FCAT-REF_FIELDNAME = 'VISTA' .
    *w_fcat-seltext_m     = '# of Pcs Picked'.
      APPEND W_FCAT TO T_FCAT.
      CLEAR W_FCAT.
      W_FCAT-COL_POS       = '5' .
      W_FCAT-FIELDNAME     = 'LFIMG' .
      W_FCAT-REF_TABNAME   = 'LIPS'.
      W_FCAT-REF_FIELDNAME = 'LFIMG' .
    *w_fcat-seltext_m     = '# of Pcs Shipped'.
      APPEND W_FCAT TO T_FCAT.
      CLEAR W_FCAT.
    W_FCAT-COL_POS       = '6' .
    W_FCAT-FIELDNAME     = 'TANUM' .
    W_FCAT-REF_TABNAME   = 'LTAK'.
    W_FCAT-REF_FIELDNAME = 'TANUM' .
    **w_fcat-seltext_m     = '# of Pcs Shipped'.
    APPEND W_FCAT TO T_FCAT.
    CLEAR W_FCAT.
    W_FCAT-COL_POS       = '7' .
    W_FCAT-FIELDNAME     = 'WERKS' .
    W_FCAT-REF_TABNAME   = 'T320'.
    W_FCAT-REF_FIELDNAME = 'WERKS' .
    **w_fcat-seltext_m     = '# of Pcs Shipped'.
    APPEND W_FCAT TO T_FCAT.
    CLEAR W_FCAT.
    ENDFORM.                    " fieldcatalog
    *&      Form  display_output
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLAY_OUTPUT .
      LOOP AT T_T320 INTO TY_T320.
        TY_ITAB-WERKS = TY_T320-WERKS.
        TY_ITAB-LGNUM = TY_T320-LGNUM.
        READ TABLE T_VBAK INTO TY_VBAK WITH KEY WERKS = TY_T320-WERKS.
        IF SY-SUBRC = 0.
        TY_ITAB-VBELN  = TY_VBAK-VBELN.
        TY_ITAB-VTWEG  = TY_VBAK-VTWEG.
        TY_ITAB-KWMENG = TY_VBAK-KWMENG + ty_itab-kwmeng.
        ENDIF.
        READ TABLE T_LTAK INTO TY_LTAK WITH KEY LGNUM = TY_T320-LGNUM.
        IF SY-SUBRC = 0.
        TY_ITAB-TANUM = TY_LTAK-TANUM.
        TY_ITAB-VISTA = TY_LTAK-VISTA + ty_itab-vista.
        ENDIF.
        READ TABLE T_LIKP INTO TY_LIKP WITH KEY WERKS = TY_T320-WERKS.
        IF SY-SUBRC = 0.
        TY_ITAB-LFIMG = TY_LIKP-LFIMG + ty_itab-lfimg.
        ENDIF.
        APPEND TY_ITAB TO T_ITAB.
      ENDLOOP.
    Function Module for Displaying Final Output ********
      W_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM = SY-CPROG
          IS_LAYOUT          = W_LAYOUT
          IT_FIELDCAT        = T_FCAT[]
        TABLES
          T_OUTTAB           = T_ITAB.
    ENDFORM.                    " display_output
    *&      Form  f4_for_variant
          text
    -->  p1        text
    <--  p2        text
    FORM F4_FOR_VARIANT .
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
        EXPORTING
          IS_VARIANT = GS_VARIANT
          I_SAVE     = X_SAVE
        IMPORTING
          E_EXIT     = G_EXIT
          ES_VARIANT = GX_VARIANT
        EXCEPTIONS
          NOT_FOUND  = 2.
      IF SY-SUBRC = 2.
        MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF G_EXIT = SPACE.
          P_VARI = GX_VARIANT-VARIANT.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f4_for_variant
    *&      Form  pai_of_selection_screen
          text
    -->  p1        text
    <--  p2        text
    FORM PAI_OF_SELECTION_SCREEN .
      IF NOT P_VARI IS INITIAL.
        MOVE GS_VARIANT TO GX_VARIANT.
        MOVE P_VARI TO GX_VARIANT-VARIANT.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
          EXPORTING
            I_SAVE     = X_SAVE
          CHANGING
            CS_VARIANT = GX_VARIANT.
        GS_VARIANT = GX_VARIANT.
      ELSE.
        PERFORM VARIANT_INIT.
      ENDIF.
    ENDFORM.                    " pai_of_selection_screen
    *&      Form  variant_init
          text
    -->  p1        text
    <--  p2        text
    FORM VARIANT_INIT .
      CLEAR GS_VARIANT.
      GS_VARIANT-REPORT = G_REPID.
    ENDFORM.                    " variant_init

  • Applying functions to database fields when querying for a form field

    Hi,
    how is it possible to apply trim() or another method to the content of a database field when a query is initiated?
    The actual problem is that there are entries in the database which are entailed by a blank and, because the user is not aware of this fact, he cannot be forced to add a blank or % to the form field he is querying.
    Does anyone have an idea how to solve this issue?
    Thank you very much in advance.
    Message was edited by:
    user492074
    null

    The where clause is built that way:
    WHERE (ETN.trim(ETN_PLZ)=:1)
    The error message:
    ORA-00904: "ETN"."TRIM": invalid identifier
    Actually, I guess that the trim statements should surround ETN.ETN_PLZ but that is obviously not the case.
    Apart from that I did not enter 1 as the value to query for.
    Nevertheless, thank you for your help. Forms version is 10.1.2 by the way.

  • How to use the same POWL query for multiple users

    Hello,
    I have defined a POWL query which executes properly. But if I map the same POWL query to 2 portal users and the 2 portal users try to access the same page simultaneously then it gives an error message to one of the users that
    "Query 'ABC' is already open in another session."
    where 'ABC' is the query name.
    Can you please tell me how to use the same POWL query for multiple users ?
    A fast reply would be highly appreciated.
    Thanks and Regards,
    Sandhya

    Batch processing usually involves using actions you have recorded.  In Action you can insert Path that can be used during processing documents.  Path have some size so you may want to only process document that have the same size.  Look in the Actions Palette fly-out menu for insert path.  It inserts|records the current document work path into the action being worked on and when the action is played it inserts the path into the document as the current work path..

  • Error while creating a query for my custom infotype

    Hi,
    I have created a custom infotype with fields currency amount and currency field .
    While I am creating a query for it its giving an error
    Message no. AQ_AD_HOC221 Error when generating the report(see long text )
    I tried to execute the standard program RPUMS40CCI but still I am facing same error .
    I have also maintained table T777i for my infotype but still problem exists.
    Please help.
    P

    Hi
    Check in PM01

  • Error while running query for psoting period as varaible

    hello,
    I am running a query and posting period is variable single entry mandatory and when I run the query it gives me this error.
    Variable 0I_PCURR could not be replaced.
    Variable 0I_PCURR could not be replaced.
    What might be the issue here ?
    Thanks,

    Hi KM,
    When you want to use a fiscal period, you need to say whick fiscal variant you'll be using.
    This fiscal variant, depends on the company code you are using.
    You might find out with some FI person how many fiscal variants are using at your company. If it's only one (or at least only one applies for this query), add 0FISCVARNT infoobject in your query and select the fiscal variant you were told.
    But, as you are using a BC variable, maybe this variable needs to use 0comp_code infoobject to determine automatically the fiscal variant.
    So,
    1. try selecting a fiscal variant in filters.
    2. try adding 0comp_code to your query.
    hope this helps!
    Regards,
    Diego

Maybe you are looking for

  • Help need in Table control

    Hi guys,        I am new to dialog programming , I have the following requirement in table control.    I have to be displayed 4 fields in Table control 1. Mara-MATNR (Match code) 2.Mara-BISMT 3. Mara-MATKL 4. Makt-MAKTX         Based on Material numb

  • Auto clearing of documents posted through VF11

    Hello Experts We'r working on ECC 6.0. I'am not able to understand that while billing is being cancelled, both the original billing & excise documents are getting cleared automatically with their reversals while doing VF11. We've not executed even au

  • Some webcams will not play

    I have 2 laptops runing Firefox 30 in a Linux/Ubuntu setup. In one, all live streaming from webcams functions perfectly. In the other many webcams are grey'd out with the meassage "Video format or MIME not supported" or there is simply a blank area o

  • What to do next? Is it advisable to go towards SEM?

    Hi I would like to know whether it is advisable go towards SEM after 4 years of FICO experience. Pls let me know your advise. Thanks Sridevi

  • 3 or 4 Phase power?

    does anyone know whether they use 3 or 4 phase power on the k8n neo? usually they state it in reviews, but i can't seem to find it mentioned at all anywhere. can anyone relay anything about this? ta.