ADF :  Value change listener for the whole jsff page

Is there any feature to have a value change listener for the whole jsff page ?
How to know if user has change something in the page i.e. how to know whether the page is dirty ?

User please tell us your jdev version!
Read this blog https://blogs.oracle.com/groundside/entry/ever_wondered_how_uncommitteddatawarning_works
Timo

Similar Messages

  • Problem in getting the current value of the drop down while calling value change listener

    I have 2 drop down list. I am trying to get the value of first drop down from other drop downs value change listener. Initially one drop down contains a default value. First time I got the value while calling the value change listener. But if I change the default value to other in the first drop down and call the value change listener of the second drop down then I got the old value in the bean. Can anyone suggest a process

    If I use the following code it gives me the current index.
                valueChangeEvent.getComponent().processUpdates(FacesContext.getCurrentInstance());
                System.out.println(valueChangeEvent.getNewValue());
    This is also giving me current index.
    BindingContainer container = BindingContext.getCurrent().getCurrentBindingsEntry();
    AttributeBinding attrIdBinding = (AttributeBinding)container.getControlBinding("PersonTypeId1");
    if(attrIdBinding.getInputValue()!=null)
                   System.out.println(attrIdBinding.getInputValue().toString());
    But at last I got some help from Shay Shmeltzer's Weblog.
    BindingContainer bindings =
                    BindingContext.getCurrent().getCurrentBindingsEntry();
                    // Get the sepecific list binding
                    JUCtrlListBinding listBinding =
                    (JUCtrlListBinding)bindings.get("PersonTypeId1");
                    // Get the value which is currently selected
                    Object selectedValue = listBinding.getSelectedValue();
                      long value =0L;
                    if(selectedValue!=null){
                        System.out.println("Sudip.. Person Type using bindings"+selectedValue.toString());
    But this returns "ViewRow [oracle.jbo.Key[300000860721156 ]]"
    300000860721156 is the original value.. Would you please help me to figure it.

  • Changing a color for the whole Application

    Hi,
    Is there a way to change the color, default purple of swing to some other color(say green) for the whole application without using themes? Is it possible through UIManager.put()?
    Regards
    Sridhar

    Thanks Michael,
    I just modified your code to fit my needs.
    import java.awt.*;
    import javax.swing.*;
    import java.util.Enumeration;
    class ApplicationColor
      public ApplicationColor()
        setApplicationColor(new Color(88, 140, 165));
        JFrame frame = new JFrame();
        frame.setLocation(400,300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel jp = new JPanel(new BorderLayout());
        String[] temp = {"abc","123"};
        JComboBox cbo = new JComboBox(temp);
        JButton btn = new JButton("I'm a button");
        jp.add(new JLabel("I'm a label"),BorderLayout.NORTH);
        jp.add(cbo,BorderLayout.CENTER);
        jp.add(btn,BorderLayout.SOUTH);
        frame.getContentPane().add(jp);
        frame.pack();
        frame.setVisible(true);
      public void setApplicationColor(Color color)
        Enumeration enum = UIManager.getDefaults().keys();
        while(enum.hasMoreElements())
          Object key = enum.nextElement();
          Object value = UIManager.get(key);
          Color jfcBlue = new Color(204, 204, 255);
          Color jfcBlue1 = new Color(153, 153, 204);
          if (value instanceof Color)
               if(value.equals(jfcBlue) || value.equals(jfcBlue1)){     
                    UIManager.put(key, color);
      public static void main(String[] args){new ApplicationColor();}
    }Sridhar

  • Copy the values input in input text 1 to input text 2 using value change listener

    Hello ,
    I have two input texts :
    input text 1 & input text 2 .
    I need to copy the values input in input text 1 to input text 2 .
    How do I implement this using value change listener ?
    I did the following steps :
    1) I selected input text 1 and chose Value Change listener --> edit .
       Typed a new bean & class name .
       Which method name should I add ?
    Any help please ?

    Hi,
    Give any name to the method and bind the two input text to manged bean using bindings attribute of InputText. just follow the below given code
    Ex:
    test.java class
        private RichInputText inputVal1;
        private RichInputText inputVal2;
        public Test() {
        public void ValChange(ValueChangeEvent valueChangeEvent) {
            // Add event code here...
            inputVal2.setValue(inputVal1.getValue().toString());
        public void setInputVal1(RichInputText inputVal1) {
            this.inputVal1 = inputVal1;
        public RichInputText getInputVal1() {
            return inputVal1;
        public void setInputVal2(RichInputText inputVal2) {
            this.inputVal2 = inputVal2;
        public RichInputText getInputVal2() {
            return inputVal2;
    test.jspx page
    <af:inputText label="Label 1" id="it1" valueChangeListener="#{backingBeanScope.TestBean.ValChange}"
                                  binding="#{backingBeanScope.TestBean.inputVal1}" autoSubmit="true"/>
                    <af:inputText label="Label 2" id="it2" binding="#{backingBeanScope.TestBean.inputVal2}"
                                  partialTriggers="it1"/>
    Thanks
    nitesh

  • Differentiating HTTP Request through a URL and a value change listener

    Version Details:
    Oracle JDeveloper 11g Release 1 11.1.1.4.0
    Studio Edition Version 11.1.1.4.0
    Build JDEVADF_11.1.1.4.0_GENERIC_101227.1736.5923
    IDE Version: 11.1.1.4.37.59.23
    Product ID: oracle.jdeveloper
    Product Version: 11.1.1.4.37.59.23
    ADF Business Components     11.1.1.59.23
    Java(TM) Platform     1.6.0_21
    Oracle IDE     11.1.1.4.37.59.23
    Versioning Support     11.1.1.4.37.59.23
    Base Details:
    The Product, that a different team is working on (<i><b>which I cannot access, code, touch,...</b></i>), creates reports and essentially generates a URL with a bunch of parameters:
    http://<host>:<port>/myApplication/main.jspx?parameter1=value1&parameter2=value2...When the user clicks on an "Edit" button, a modal popup window is displayed (using jQuery) with an embedded iFrame with its source pointing to the above URL.
    The "myApplication" is an ADF application which brings up an ADF form based on the parameters. Once the user enters the data, validations occur and the data is written into a total of 3 different Tables in the Database. Once the operation is finished, the user closes the popup by clicking on the "X" button of the popup window, which essentially does "popup.*hide()*".
    Limitations:
    <li>Since there are varied combination of parameter values and associated ADF forms, taskflows is not* an option.
    <li>Since the logic of generating the ADF form is not straightforward, ADF BC is not* an option.
    <li>Since validations are based on the value change listeners, the managed bean has to be a session scope_ bean.
    Problem:
    When, for the first time, the user clicks on the Edit button with a particular set of parameter values, the corresponding ADF form is displayed and things work normal. Since the managed bean is under session scope, the form generated for the first popup window stays the same for any subsequent popup windows, even when the URL and its parameters are completely different. As I can not listen to the popup close event, I cannot invalidate my session either.
    I tried using filters in the web.xml to grab the request and apply the business logic. Due to the presence of multiple value change listeners (too many <tt>autosubmit=true</tt>), every value change listener triggers a request and so the business logic gets applied with every value change.
    After some tests, I deduced that the difference between the call from iFrame and the call from value change is the HTTP Request Method - GET for iFrame and POST for value change listener. So in my filter I apply the business logic when there is a GET request and not apply when its a POST request.
    Turns out, that is not a valid enough differentiation between the two requests being made. Sometimes, even the value change listeners are issuing a GET request.
    Question:
    *<font color="red">1</font>*. Is there a way to force the value change listeners to always trigger a POST request?
    *<font color="red">2</font>*. Is there a way to differentiate the requests originating from the other team's Product and those generated by my own value change listeners?
    *<font color="red">3</font>*. Is there a different approach, incorporating the above-mentioned limitations, to clear out the session scope each time when a request is made through iFrame? That is, whenever a request is made through the other team's Product?
    Edited by: user737922 on Apr 13, 2011 10:58 AM

    _(Temporary) Solution_:
    Summary:
    I am using the request parameter <b><tt>_adf.ctrl-state</tt></b> to differentiate between the HTTP requests that my application receives.
    Details:
    When I receive the request from the other team's Product, I receive a <tt>GET</tt> and a <tt>adf.ctrl-state</tt> value which I store into a local variable in my session-scoped managed bean. The <tt>adf.ctrl-state</tt> value stays the same for all requests (<tt>GET</tt> or <tt>POST</tt>) made from within my own application. It changes only when there is a new request from the other team's Product.
    Also, as my application is accessed through an iFrame, there is no possibility of the generated URL being modified by the end-user.
    For now it seems that the solution is appropriate but I am not fully confident if relying on the <tt>_adf.ctrl-state</tt> value is the best approach.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Value change listener method does not refresh value

    Hi Frank,
    According to your documentation ADF Faces: How-to build dependent lists boxes with ADF and ADF Faces I have created dependent list box and it is working properly.
    Now in the similar way I have created a form where one attribute is set as select one choice and it takes value from a lov and this attribute have a value change listener event and when selecting a value for this attribute from lov, in backing bean it will set another attribute of the form and the value will be taken from the other field of the lov for the current row.
    But when I am running this, 1st time when I am selecting a value from lov, the 2nd attribute of the form gets its value but next time when I am selecting another value in LOV, the value in the other attribute is not changing accordingly.
    My original form is (test_date,machine_code,machine_no...)
    I have created LOV for machine_code.
    This LOV is --select machine_code,machine_no from machine_mast;
    This LOV returns machine_code to the machine_code field of my main form.
    For machine_code, I have created a value change listener method and set its autosubmit property to true and for machine_no field I have set its partial trigger property to the ID of machine_code field.
    The value change listener code is
    BindingContainer bindings = this.getBindings();
    DCIteratorBinding itr = (DCIteratorBinding)bindings.get("lov2_sqc0400_1Iterator");
    Row rw = itr.getRowAtRangeIndex(((Integer)valueChangeEvent.getNewValue()).intValue());
    Object machine_no= rw.getAttribute("MchnNo");
    inputText2.setValue(machine_no);
    Please help
    Regards/Thanks
    SK

    Hi All,
    Can anyone please help me?
    Thanks/Regards
    SK

  • Value change listener method on h:selectBooleanCheckbox in h:dataTable

    Hello,
    Does JSF handle value change listeners as expected when they are attached to h:selectBooleanCheckbox components within an h:dataTable?
    In the following example, I have a JSP that has some h:selectBooleanCheckbox components nested in an h:dataTable, and some that aren't. When I bulid and deploy the example to Tomcat 5.5, I can see (using the log4j output) that the value change listener methods for the checkboxes that are NOT in the dataTable are fired, but the ones that are in the dataTable do not get fired.
    I am using Sun's RI of JSF, version 1.1.0.1.
    Thanks,
    Scott
    ----------------------------- JSP:
    <%@ page language="java" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <f:view>
    <h:form>
    <h:dataTable value="#{checkboxBean.beans}" var="thisBean">
         <h:column>
              <h:outputText  value="#{thisBean.id}: " />
         </h:column>
         <h:column>
              <h:selectBooleanCheckbox value="#{thisBean.checked}" valueChangeListener="#{checkboxBean.somethingChanged}" />
         </h:column>
    </h:dataTable>
         <h:panelGrid columns="2">
              <h:outputText value="One:"/>
              <h:selectBooleanCheckbox id="firstOne" valueChangeListener="#{checkboxBean.somethingChanged}" />
              <h:outputText value="Two:"/>
              <h:selectBooleanCheckbox id="secondOne" valueChangeListener="#{checkboxBean.somethingChanged}" />
              <h:panelGroup/>
              <h:commandButton value="Do Stuff" action="#{checkboxBean.doStuff}" />
         </h:panelGrid>
    </h:form>
    </f:view>----------------------------- Beans:
    package workshop;
    import javax.faces.event.ValueChangeEvent;
    import org.apache.log4j.Logger;
    * Test attaching value change listener methods to checkboxes.
    public class CheckboxBean {
        private static final Logger logger = Logger.getLogger(CheckboxBean.class);
        private SomeBean[] beans = null;
        public CheckboxBean() {
            logger.debug("CheckboxBean()");
        public String load() {
            SomeBean[] someBeans = new SomeBean[3];
            someBeans[0] = new SomeBean("firstGuy", false);
            someBeans[1] = new SomeBean("2ndGuy", false);
            someBeans[2] = new SomeBean("third", false);
            this.setBeans(someBeans);
            return null;
        public String doStuff() {
            logger.debug("doStuff()");
            return this.load();
        public void somethingChanged(ValueChangeEvent e) {
            logger.debug("somethingChanged() in component with id " + e.getComponent().getId() );
        public SomeBean[] getBeans() {
            logger.debug("getBeans()");
            return this.beans;
        public void setBeans(SomeBean[] beans) {
            logger.debug("setBeans()");
            this.beans = beans;
    package workshop;
    public class SomeBean {
        private boolean checked = false;
        private String id = null;
        public SomeBean() {
        public SomeBean(String anId, boolean bool) {
            super();
            this.id = anId;
            this.checked = bool;
        public String getId() {
            return this.id;
        public void setId(String id) {
            this.id = id;
        public boolean isChecked() {
            return this.checked;
        public boolean getChecked() {
            return this.checked;
        public void setChecked(boolean checked) {
            this.checked = checked;
    }----------------------------- faces-config.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
      <managed-bean>
        <description>Checkbox bean.</description>
        <managed-bean-name>checkboxBean</managed-bean-name>
        <managed-bean-class>workshop.CheckboxBean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
      </managed-bean>
    </faces-config>----------------------------- log4j config:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender  name="RollingFile" class="org.apache.log4j.RollingFileAppender" >
              <param name="File" value="/Users/scott/workshop/logs/workshop.log"/>
            <param name="Append" value="false"/>
            <param name="MaxFileSize" value="4096KB" />
            <param name="MaxBackupIndex" value="4" />
            <layout class="org.apache.log4j.PatternLayout">
              <param name="ConversionPattern" value="%d{DATE} %-5p %-15c{1} : %m%n"/>
            </layout>
        </appender>
        <category name="workshop" >
          <priority value="debug" />
        </category>
        <root>
            <priority  value="warn" />
            <appender-ref  ref="RollingFile" />
        </root>
    </log4j:configuration>

    I have Just run into the same problem. When using the following code inside a data table the valueChangeListener event is not fired when the checkbox has it's value changed. Is this a bug?
    I created a simple page with just a form and the selectBooleanCheckbox. This time the valueChangeListener event fired OK. It seems the problem only occurs when the check box is inside the dataTable
    here is the code snippet
    <h:form >
    <h:column>
    <f:facet name="header">
         <h:outputText value="Add to Basket"/>
    </f:facet>
    <h:selectBooleanCheckbox immediate="true" valueChangeListener="#{reportsResultHandler.addToBasket}" value="#{reportsResultHandler.addbasketChecked}" onchange="this.form.submit
    ();"/>                              
    </h:column>
    </h:form>

  • Get action or value change listener to be invoked from phaseEvent

    Hi,
    Does a PhaseEvent object has information for which action or value change listener is to be invoked?
    I have implemented a common logging method which has to be called on any action or value change event.
    The method requires the name of the method bound to action or value change listener.
    It is convinient if a phaseEvent object has information for the listener's method name because in that case I don't have to write a code calling the logging method in each action or value change listener but only in PhaseListener.
    Regards,
    Kenji

    Same as my thread...no answers...!

  • Getting a value of another textbox in value change listener

    Hi
    I am associating a value change listener with textbox1. and i need the values of textbox2 inside the listener. So every time, value of textbox1 changes , i want to call a listener which executes a query depending on the value of textbox2 which is constant. But i am not able to get the value of textbox2 inside the listener method.
    Thanks in advance..

    Read on about the JSF lifecycle. The valuechangelistener will be fired at the end of the 3rd phase of the JSF lifecycle (process validations) and the input values will be set in the bean in the 4th phase of the JSF lifecycle (update model values).
    In your case, a complete rewrite of the code may be more useful. If you are actually not interested in the difference between the old value and the new value, then remove the valuechangelistener and put the code logic in the action method of the bean. This will be executed in the 5th phase of the JSF lifecycle (invoke application), after the input values are been set.
    Or, in my opinion better, introduce some AJAX framework and make use of its capabilities. For example Ajax4jsf. It saves you from synchronous form submits on every entered character which may lead to poor user experience.
    This practical article might be helpful in understanding the JSF lifecycle: [http://balusc.blogspot.com/2006/09/debug-jsf-lifecycle.html]

  • Generation of Annual Leave Quota at a time for the whole  year

    Hi All,
    Kindly give some suggestions.
    I am working on Time evaluation. We have a quota , Annual leave which is now given on monthly basis, means lets 12 annual leave are for whole year and employee are getting 1 leave on each month.
    Now  my requirement is to give this quota at a time in the start of every year. That means all the 12 annual leave should be generated in the start of a year.
    When I select the option no pro rata calculation then I am getting all this leave in the start of the year. But when an employee is joined in the mid of the year then also 12 leave is been generated which is not correct.
    Please suggest me how to make this leave as prorated so that for new joinee , this leave is generated taking into account the period and generate the prorate value for the whole year at the time of joining.
    Thanks
    Tanuja.

    Hi Sikinder,
    I am using + time evaluation Status-2. We have to generate quota in PT60 for each period.
    Write now we are getting annual leave quota getting generated in monthly basis. We want to genarate whole quota  for the  year in the 1st month of the year.
    When I have given calender year in the accrual period , i am not getting any quota in the 1st month rather getting the whole quota in the end of the year.
    Please suggest me what to do.
    Regards,
    Tanuja.

  • How to configure multiple listeners to listen for the same instance.

    Hello everyone,
    I am running oracle database 11g and I want information regarding how to configure multiple listeners to listen for the same database instance. Actually I know how to configure more than one listener but the main thing that I am confused about is when we create listener.ora file, do we have to statically register the database instance with both the listeners or the instance will register itself with both the listeners.
    According to my knowledge the instance will register with the listener specified by LOCAL_LISTENER parameter and we cannot have more than one value for this parameter.
    Please only give detailed answers with example as I am tired of simple answers with details that I already know.

    Hello,
    Yes, it can make sense to have several listener for one Oracle instance. For instance you may have one listener for the applications another listener for DBA administration tasks as well as one listener dedicated to dataguard broker. It is not possible to have several listeners listening on the same IP and Port.
    By default the database try to automatically register to a listener on port 1521. To instruct the instance to register to a specifc list of listeners you can add in the init.ora the local_listener parameter with an alias definition:
    i.e
    local_listener=MY_SET_OFF_LISTENERS
    in your tnsname.ora add an entry called:
    MY_SET_OFF_LISTENERS_LOCAL= (ADDRESS_LIST=
    (ADRESS=(PROTOCOL=TCP)(HOST=myhostname)(PORT=1530))
    (ADRESS=(PROTOCOL=TCP)(HOST=myhostname)(PORT=1531))
    (ADRESS=(PROTOCOL=TCP)(HOST=myhostname)(PORT=1532))
    In this sample your instance will register to three listeners listening on respectively port 1530, 1531 and 1532
    If you want your clients can be balanced over the 3 listeners

  • Time Out error problem when i run the report for the whole plant

    Dear all,
    pls find the below coding, when i execute this report for the whole plant , it gives me time out error since it has to process huge database. pls suggest me in which part of my below coding i can improvise or any other better way to fetch the same result.
    pls note that
    i m using Views for querying.pls also note the comments given in Bold to understand the reason behind the coding.
    Views used in are - ZVPOD and ZVPRDCONF.
    START-OF-SELECTION.
      Data: zstat type jest-stat.
      data: stklocaf type mska-lgort.
      data: stklocas type mska-lgort.
    <u><b>To collect the status of the production order by joining the ZVPOD and JEST table.</b></u>
      CLEAR it_ZVPRODDET.
      SELECT DISTINCT ZVPOD~bukrs ZVPOD~aufnr ZVPOD~objnr
      jest~stat ZVPOD~werks ZVPOD~arbpl ZVPOD~J_3AKORD2
      FROM  ZVPOD
      INNER JOIN jest ON ZVPOD~objnr = jest~objnr
      INTO CORRESPONDING FIELDS OF wa_ZVPRODDET where
      plnbez in FGM and arbpl in wc and werks in plant
      and SSAVD in eldate
      and J_3AKORD2 in cups and jest~inact ne 'X'.
        APPEND wa_ZVPRODDET TO it_ZVPRODDET.
      ENDSELECT.
      SORT it_ZVPRODDET BY aufnr stat.
    <u><b>Loop thru Itab to check and delete the records from itab for the specified status.</b></u>
      LOOP AT it_ZVPRODDET INTO wa_ZVPRODDET.
        IF wa_ZVPRODDET-stat = 'I0045' .  " TECO - compl
          DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
        ELSEIF wa_ZVPRODDET-stat = 'I0009' .  " CNF - Confirmed
          DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
        ELSEIF wa_ZVPRODDET-stat = 'I0012' .  " DLV - Delivered
          DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
        ELSEIF wa_ZVPRODDET-stat = 'I0046' .  " CLSD - Closed
          DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
        ELSEIF wa_ZVPRODDET-stat = 'I0076' .  " DLFL - Del Flag
          DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
        ELSEIF wa_ZVPRODDET-stat = 'E0003' .  " SCLS - Short Close
          CLEAR tj30t.
          SELECT SINGLE txt04
          FROM tj30t INTO tj30t-txt04
          WHERE stsma = 'PRDHOLD' AND
                estat = 'E0003' AND
                txt04 = 'SCLS' AND
                spras = 'EN'.
          IF sy-subrc = 0.
            DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
          ENDIF.
        ENDIF.
    *      Condition for Prod Order released - REL
        IF wa_ZVPRODDET-stat = 'I0002'.
          mreleased = 'Y'.
        else.
          mreleased = 'N'.
        endif.
        zstat = wa_ZVPRODDET-stat.
        IF mreleased = 'N'.
          DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr
          and stat = zstat.
        ENDIF.
      ENDLOOP.
    <u><b>Loop thru the filtered ITAB to get all the production order details for the production order number specified in the where clause( zaufnr ) and populate another internal table.</b></u>
          LOOP AT it_ZVPRODDET INTO wa_ZVPRODDET.
            zaufnr = wa_zvproddet-aufnr.
            zarbid = wa_zvproddet-arbid.
            at new aufnr.
              SELECT DISTINCT * INTO CORRESPONDING FIELDS OF  walnpln
              FROM zvpod where plnbez in FGM and arbpl in wc and SSAVD in
             eldate and werks in plant and J_3AKORD2 in cups and aufnr = zaufnr.
                APPEND walnpln TO itablnpln.
              endselect.
            endat.
          endloop.
          clear walnpln.
    <u><b>
    Looping thru Internal table and performs all the following calculations and inner loop
    and also relevant querying.</b></u>
    <u><b>Assume that ITABLNPLN holds appox. 8000 records.</b></u>
    LOOP AT itablnpln  INTO walnpln.
            contot = 0.
            SELECT distinct * INTO CORRESPONDING FIELDS OF TABLE itablnp
            FROM zvprdconf where aufnr = walnpln-aufnr and
            j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
            clear zvprdconf.
            SELECT single isdd
            FROM zvprdconf into  zvprdconf-isdd
            where aufnr = walnpln-aufnr and
            j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
            SELECT single isdz
            FROM zvprdconf into  zvprdconf-isdz
            where aufnr = walnpln-aufnr and
            j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
            IF sy-subrc EQ 0.
              <u><b>Assume that ITABLNP  holds appox. 30 records.</b></u>
              loop at itablnp into walnp.
                contot = contot + walnp-J_3ALMNGA.
                move walnp-J_3ASIZE to walnpln-J_3ASIZE.
                move zvprdconf-isdd to walnpln-zdate.
                move zvprdconf-isdz to walnpln-ztime.
              endloop.
              walnpln-output = contot.
            endif.
            walnpln-wip = walnpln-menge - contot.
            if walnpln-werks = '1000'.
              stklocaf = '1050'.
              stklocas = '1060'.
            elseif walnpln-werks = '2000'.
              stklocaf = '2150'.
              stklocas = '2160'.
            endif.
           select single kunnr into walnpln-ship from vbpa where
           vbeln = walnpln-KDAUF and PARVW = 'WE'.
            zship = walnpln-ship.
            move zship to walnpln-ship.
            select  single kalab into walnpln-zactqty from mska
            where matnr = walnpln-plnbez
            and j_3asize = walnpln-J_3AKORDX and LGORT = stklocaf.
            condense walnpln-kdauf.
            zsales = walnpln-kdauf.
            concatenate zsales 'S' into zso.
            select single kalab into walnpln-zsndqty from mska
            where matnr = walnpln-plnbez
            and j_3asize = walnpln-J_3AKORDX and LGORT = stklocas
            and J_4KSCAT = zso.
            zmatn = walnpln-plnbez.
            zsale = walnpln-KDAUF.
            walnpln-kdauf = zsale.
            walnpln-plnbez = zmatn.
            zcust = walnpln-kunnr.
            walnpln-kunnr = zcust.
            select single bezei into walnpln-season from TVV2T where
            kvgr2 = walnpln-kvgr2 and SPRAS = 'E'.
            select single bezei into walnpln-shipmode from T173T where
            vsart = walnpln-vsart and SPRAS = 'E'.
            STRL = strlen( walnpln-j_3akord2 ).
            if  strl = 4.
              move walnpln-j_3akord2 to walnpln-j_3akord3.
              clear walnpln-j_3akord2.
            endif.
            move zremk to walnpln-remk.
            MODIFY itablnpln FROM  walnpln.
            contot = 0.
            clear itablnp.
          ENDLOOP.
          PERFORM build_fieldcatalog.
          PERFORM build_layout.
          PERFORM display_alv_report.

    Hi raja,
    Plese go through the suggessitions.
    1.avoide the select ...endselect. write the below select
    CLEAR IT_ZVPRODDET.
    SELECT DISTINCT
         ZVPOD~BUKRS
         ZVPOD~AUFNR
         ZVPOD~OBJNR
         JEST~STAT
         ZVPOD~WERKS
         ZVPOD~ARBPL
         ZVPOD~J_3AKORD2
      FROM ZVPOD
      INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
      INTO CORRESPONDING FIELDS TABLE  IT_ZVPRODDET
      WHERE PLNBEZ IN FGM AND
            ARBPL IN WC AND
            WERKS IN PLANT AND
            SSAVD IN ELDATE AND
            J_3AKORD2 IN CUPS AND
            JEST~INACT NE 'X'.
      IF SY-SUBRC = 0.
        SORT TABLE IT_ZVPRODDET.
      ENDIF.
    2..first of all dont delete a record inside the loop. instead use the Field symobols.
    have u obsereved you code in the loop!!!!. wht u r doing..
    u r removing the same record which u in the loop..
    If u wanto delete the entires with check to<b> stat</b>... <b>then.. why dont u put the STAT field in Wher e condition..?</b> by this you reduce the data base select time..
    Now the select query is like the below....
    CLEAR IT_ZVPRODDET.
    SELECT DISTINCT
         ZVPOD~BUKRS
         ZVPOD~AUFNR
         ZVPOD~OBJNR
         JEST~STAT
         ZVPOD~WERKS
         ZVPOD~ARBPL
         ZVPOD~J_3AKORD2
      FROM ZVPOD
      INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
      INTO CORRESPONDING FIELDS TABLE  IT_ZVPRODDET
      WHERE PLNBEZ IN FGM AND
            ARBPL IN WC AND
            WERKS IN PLANT AND
            SSAVD IN ELDATE AND
            J_3AKORD2 IN CUPS AND
            JEST~INACT NE 'X' AND
            ( STAT <> 'I0045' AND
              STAT <> 'I0045' AND
              STAT <> 'I0009' AND
              STAT <> 'I0012' AND
              STAT <> 'I0046' AND
              STAT <> 'I0076' AND
              STAT <> 'E0003' ).
      IF SY-SUBRC = 0.
        SORT TABLE IT_ZVPRODDET.
      ENDIF.
    <b>3.</b> WHT IS MEANING OF THE SELECT
    <b>  CLEAR TJ30T.
      SELECT SINGLE TXT04
      FROM TJ30T INTO TJ30T-TXT04
      WHERE STSMA = 'PRDHOLD' AND
            ESTAT = 'E0003' AND
            TXT04 = 'SCLS' AND
            SPRAS = 'EN'.
      IF SY-SUBRC = 0.
        DELETE IT_ZVPRODDET WHERE AUFNR = WA_ZVPRODDET-AUFNR.
      ENDIF.</b>....... IN WHERE CONDION U R GIven all are constant values right?..
    why u need select it inside the loop.. u can write before the SELECT from ZVPOD..
    that why first checke this field then go for fur thure selects..
    <b>now u r code looks like this....</b>
    CLEAR TJ30T.
    SELECT SINGLE TXT04
      FROM TJ30T INTO TJ30T-TXT04
    WHERE STSMA = 'PRDHOLD' AND
          ESTAT = 'E0003' AND
          TXT04 = 'SCLS' AND
          SPRAS = 'EN'.
    IF SY-SUBRC = 0.
      CLEAR IT_ZVPRODDET.
      SELECT DISTINCT
           ZVPOD~BUKRS
           ZVPOD~AUFNR
           ZVPOD~OBJNR
           JEST~STAT
           ZVPOD~WERKS
           ZVPOD~ARBPL
           ZVPOD~J_3AKORD2
        FROM ZVPOD
        INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
        INTO CORRESPONDING FIELDS TABLE  IT_ZVPRODDET
        WHERE PLNBEZ IN FGM AND
              ARBPL IN WC AND
              WERKS IN PLANT AND
              SSAVD IN ELDATE AND
              J_3AKORD2 IN CUPS AND
              JEST~INACT NE 'X' AND
              JEST~STAT <> 'I0045' AND
              JEST~STAT <> 'I0045' AND
              JEST~STAT <> 'I0009' AND
              JEST~STAT <> 'I0012' AND
              JEST~STAT <> 'I0046' AND
              JEST~STAT <> 'I0076' AND
              JEST~STAT <> 'E0003' ).
        IF SY-SUBRC = 0.
          SORT TABLE IT_ZVPRODDET.
        ENDIF.
      ENDIF.
    there are so many select inside the loop...... please Delete all of them.... write them be for the loop.......using the FOR ALL ENTRIES.....
    THEN LOOP THE TABLE USING THE WHERE CONDITIONS.
    <b>Plese write u updated code here again</b>..

  • Freight cost condition for the whole purchase order (Header relation)

    Maybe you could help me out with the following difficulty regarding freight costs for the whole purchase orders from the mass maintenance transaction MEK1 for pricing conditions.
    I try to have one freight condition for the whole purchase order.
    For instance, I maintained in the transaction MEK1 for the condition FRA1 the key combination vendor and purchasing organization (table 44) and entered an absolute value of X EUR.
    Unfortunately this condition will not pulled as header costs in the purchase order, because I would have had defined an access sequence in the condition type, but this is not allowed for header conditions in general.
    Do you have any workaround to maintain an item condition, which works like a header condition, so that I am allowed to have an access sequence and be able to maintain MEK1?
    Any comments and help are very welcome.
    Many thanks in advance
    Sabrina

    Hi,
    Fright and discount conditions are called supplement conditon type and  they are always matained with main condition type.
    Please check PB00 condition type in m/06 transaction. You will find pricing procedure assinged as RM0002 to PB00 condtion type.
    So you can maintain fra1 and other supplement condtions in main condtion only in MEk1 trasnaction.
    By selecting the line item and then shift + F7 you can maintain fright or discount condtions for PB00 condition types with out having access sequence for supplement condtion types.
    Regards,
    shailesh Mackwan

  • How do the change management for the configuration of the adapters

    Hi all.
    How do the change management for the configuration of the adapters, when i transport the software version component from an development system to production system.
    For example, for to change the url parameters of adapters soap inside the production system. I will need type, the news values in this system?
    Thanks
    Best Regards.

    There is an option to pass all the paramters except those who changes from
    system to system.
    for example,
    if you are reading from a file from the directory: <SYS>\CREMAS_<TS>.XML
    when <SYS> is DEV or QAS or PROD, and <TS> is time stamp,
    you can create channel template that read file with file pattern CREMAS_*.XML,
    this can save you a lot of work, however, parameters that are diffrent in every system, (in this case the directory DEV,QAS,PROD) you must enter manually in every system.

  • PanelBox Disclosure icon is calling only checkbox value change listener

    Hi
    I have a page fragment, where i have a switcher and showing different facets based on condition, in my second facet i have a panel box which has a panel group layout which has one selectbooleancheckbox and one outputtext.
    When i click on the check box, i need to make the outputtext invisible, this i am trying to achieve thru valuchangelistener. I am able to make it visible and invisible based on the value. The same way i have multiple panel boxes, the issue here is when i try to undisclose the panel box, or disclose the other panel boxes, the valuechangeevent is getting called.
    I am using pageFlowScope for the bean and it has so many other value change events for select one choices, but only for the first time the check box value change events are getting called. I can achieve the same using java script, but i am trying to avoid using js.
    I am using JDev 11.1.2.1.0 and the page fragment is in task flow, where i used the task flow as a region in a jspx page. Thanks.
    N.

    I think you're not dealing correctly with the default value of the selectOneMany. Do not let the submitted value be implicit but rather tells exactly what it should be. To manage that add a "noSelection" selectItem and return this value instead of null in from getImageType()
    Thus you might have:
    <h:selectOneMenu id="selectionid"
    value="#{tagGeneratorTagView.imageType}" valueChangeListener="#{imageHandler.changeImageType}"
    onchange="submit();">
      <f:selectItem itemValue="NOVALUE" itemLabel="No value selected"/>
      <f:selectItem .... your items ..
    </h:selectOneMenu>And in getImageType
    public String getImageType()
       //this is not a good example. the default value should be inject
      if(null==imageType)
        return "NOVALUE"
      return imageType
    }

Maybe you are looking for