Enter in EEWB component of BP_HEAD

Hello All,
I have added EEWB table component  in BP_HEAD component. When i Enter New row in EEWB table and press SAVE button, the record is saving. But when i Enter record and Press ENTER it is giving following Exception
CX_BOL_EXCEPTION - Access Previously Deleted Entity, Method: CL_CRM_BOL_CORE=>REREAD_ENTITY.
Pleas let me know how to solve this.
Thanks & Regards
Dinesh

Solved My self.
We have to read current record in GET_DETAIL Method.
I forget to do it when i created the the Class.

Similar Messages

  • EEWB enhancement destroyed BP_HEAD ??

    Hi there,
    I did an EEWB enhancement for the objecttype BUPA. I added some new fields and a table as assignementblock. I followed the steps explained in the SAP help and in SAP Note # 1069791.
    What happens now is that I get following dumps opening an account overview:
    Cannot display view MainWindow of UI Component BP_HEAD_MAIN
    An exception has occurred Exception Class  CX_BSP_WD_INCORRECT_IMPLEMENT - The view controller or custom controller "" was implemented incorrectly  
    Method:  CL_BSP_WD_COMPONENT_USAGE=>IF_BSP_WD_COMPONENT_USAGE~BIND_CONTEXT_NODE  
    Source Text Row:  24
    An exception occurred during the activation of target view Overview.MainWindow for the navigation
    An exception has occurred Exception Class  CX_BSP_WD_RUNTIME_ERROR -  
    Method:  CL_BSP_WD_VIEW_CONTROLLER=>BIND_VIEW  
    Source Text Row:  165
    And actually there is no longer the context node MESSAGEFILTER in the Runtime Repository Editor in the context of the interface controller of the component interface but BUILCONTACTPERSON and BUILRELATIONSHIP.
    I'm a bit worried how to get the coding back except doing a system reset (which is obviously not the best solution)
    Regards,
    Thea

    Hi all,
    I think the problem is related with the eewb enhancement I did. I've created a table extension for the component BUPA. While doing the postprocessing step BP_EEW_REPOSITORY I did not only extend the component BP_HEAD but also the component BP_DATA.
    I assume this step changed the ropository.xml in my enhancementset and my assigned BSP application (Z_BP_DATA). Now the repository.xml of Z_BP_DATA includes also the BP_EEW component views.
    At the moment I solved the error by adapting the assigned BSP application for the component BP_DATA in my Z-Enhancementset via the viewcluster BSPWDVC_CMP_EXT in the sm34. Now we use again the standard BSP application BP_DATA including the standard repository.xml instead of the Z_BP_DATA  BSP application.
    Does anybody know how to undo the EEWB postprocessing step?
    Hope you can understand the steps.
    Regards,
    Thea

  • Deleting EEWB Component Records

    Hi,
    We are facing a challenge trying to delete component records that have been created on the CRM order using EEWB.  Where there is only one record to delete we have found that a call to CRM_ORDER_MAINTAIN works when we set the mode in the extension to 'D', but this doesn't work when there are multiple records to delete. 
    Has anyone done this successfully?  If so, please share your knowledge and code with us.
    Many thanks,
    Martin.

    Hi Martin,
    If my understanding is correct, you wanted to delete the value tht is present in the EEWB field but not the entire Order right...
    If so, use FM BAPI_BUSPROCESSND_CHANGEMULTI to change the field value of multiple order at one time/..
    If you wanted to delete multiple Orders at one time, please use FM
    BAPI_BUSPROCESSND_DELETEMULTI specifying the mode to be 'D'.\
    Shud help u...
    Siva

  • Af:inputListOfValues sets value of first item in result set when using enter key or tab and component set to autosubmit=true

    I'm using JDev 11.1.1.6 and when I type a value into an af:inputListOfValues component and hit either the enter key or the tab key it will replace the value I entered with the first item in the LOV result set. If enter a value and just click out of the af:inputListOfValues component it works correctly. If I use the popup and search for a value it works correctly as well. I have a programmatic view object which contains a single transient attribute (this is the view object which is used to create the list of value component from) and then I have another entity based view object which defines one of its attributes as a list of value attribute. I tried using an entity based view object to create the LOV from and everything works as expected so I'm not sure if this is a bug when using programmatic view objects or if I need more code in the VOImpl. Also, it seems that after the first time of the value being replaced by the first value in the result set that it will work correctly as well. Below are some of the important code snippets.
    Also, it looks like it only doesn't work if the text entered in the af:inputListOfValues component would only have a single match returned in the result set. For instance given the result set in the code: Brad, Adam, Aaron, Fred, Charles, Charlie, Jimmy
    If we enter Cha, the component works as expected
    If we enter A, the component works as expected
    If we enter Jimmy, the component does not work as expected and returns the first value of the result set ie. Brad
    If we enter Fred, the component does not work as expected and returns the first value of the result set ie. Brad
    I also verified that I get the same behavior in JDev 11.1.1.7
    UsersVOImpl (Programmatic View Object with 1 transient attribute)
    import java.sql.ResultSet;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import oracle.adf.share.logging.ADFLogger;
    import oracle.jbo.JboException;
    import oracle.jbo.server.ViewObjectImpl;
    import oracle.jbo.server.ViewRowImpl;
    import oracle.jbo.server.ViewRowSetImpl;
    // ---    File generated by Oracle ADF Business Components Design Time.
    // ---    Wed Sep 18 15:59:44 CDT 2013
    // ---    Custom code may be added to this class.
    // ---    Warning: Do not modify method signatures of generated methods.
    public class UsersVOImpl extends ViewObjectImpl {
        private static ADFLogger LOGGER = ADFLogger.createADFLogger(UsersVOImpl.class);
        private long hitCount = 0;
         * This is the default constructor (do not remove).
        public UsersVOImpl () {
         * executeQueryForCollection - overridden for custom java data source support.
        protected void executeQueryForCollection (Object qc, Object[] params, int noUserParams) {
             List<String> usersList = new ArrayList<String>();
             usersList.add("Brad");
             usersList.add("Adam");
             usersList.add("Aaron");
             usersList.add("Fred");
             usersList.add("Charles");
             usersList.add("Charlie");
             usersList.add("Jimmy");
             Iterator usersIterator = usersList.iterator();
             setUserDataForCollection(qc, usersIterator);
             hitCount = usersList.size();
             super.executeQueryForCollection(qc, params, noUserParams);
        } // end executeQueryForCollection
         * hasNextForCollection - overridden for custom java data source support.
        protected boolean hasNextForCollection (Object qc) {
             Iterator usersListIterator = (Iterator)getUserDataForCollection(qc);
             if (usersListIterator.hasNext()) {
                 return true;
             } else {
                 setFetchCompleteForCollection(qc, true);
                 return false;
             } // end if
        } // end hasNextForCollection
         * createRowFromResultSet - overridden for custom java data source support.
        protected ViewRowImpl createRowFromResultSet (Object qc, ResultSet resultSet) {
             Iterator usersListIterator = (Iterator)getUserDataForCollection(qc);
             String user = (String)usersListIterator.next();
             ViewRowImpl viewRowImpl = createNewRowForCollection(qc);
             try {
                 populateAttributeForRow(viewRowImpl, 0, user.toString());
             } catch (Exception e) {
                 LOGGER.severe("Error Initializing Data", e);
                 throw new JboException(e);
             } // end try/catch
             return viewRowImpl;
        } // end createRowFromResultSet
         * getQueryHitCount - overridden for custom java data source support.
        public long getQueryHitCount (ViewRowSetImpl viewRowSet) {
             return hitCount;
        } // end getQueryHitCount
        @Override
        protected void create () {
             getViewDef().setQuery(null);
             getViewDef().setSelectClause(null);
             setQuery(null);
        } // end create
        @Override
        protected void releaseUserDataForCollection (Object qc, Object rs) {
             Iterator usersListIterator = (Iterator)getUserDataForCollection(qc);
             usersListIterator = null;
             super.releaseUserDataForCollection(qc, rs);
        } // end releaseUserDataForCollection
    } // end class
    <af:inputListOfValues id="userName" popupTitle="Search and Select: #{bindings.UserName.hints.label}" value="#{bindings.UserName.inputValue}"
                                                  label="#{bindings.UserName.hints.label}" model="#{bindings.UserName.listOfValuesModel}" required="#{bindings.UserName.hints.mandatory}"
                                                  columns="#{bindings.UserName.hints.displayWidth}" shortDesc="#{bindings.UserName.hints.tooltip}" autoSubmit="true"
                                                  searchDesc="#{bindings.UserName.hints.tooltip}"                                          
                                                  simple="true">
                              <f:validator binding="#{bindings.UserName.validator}"/>                      
    </af:inputListOfValues>

    I have found a solution to this issue. It seems that when using a programmatic view object which has a transient attribute as its primary key you need to override more methods in the ViewObjectImpl so that it knows how to locate the row related to the primary key when the view object records aren't in the cache. This is why it would work correctly sometimes but not all the time. Below are the additional methods you need to override. The logic you use in retrieveByKey would be on a view object by view object basis and would be different if you had a primary key which consisted of more than one attribute.
    @Override
    protected Row[] retrieveByKey (ViewRowSetImpl viewRowSetImpl, Key key, int i) {
        return retrieveByKey(viewRowSetImpl, null, key, i, false);
    @Override
    protected Row[] retrieveByKey (ViewRowSetImpl viewRowSetImpl, String string, Key key, int i, boolean b) {
        RowSetIterator usersRowSetIterator = this.createRowSet(null);
        Row[] userRows = usersRowSetIterator.getFilteredRows("UserId", key.getAttribute(this.getAttributeIndexOf("UserId")));
        usersRowSetIterator.closeRowSetIterator();
        return userRows;
    @Override
    protected Row[] retrieveByKey (ViewRowSetImpl viewRowSetImpl, Key key, int i, boolean b) {
        return retrieveByKey(viewRowSetImpl, null, key, i, b);

  • BADI for Updating work order component data

    Hi,
    I need to update the field special stock indicator for the work order component data when it is saved. I am using the BADI WORKORDER_UPDATE for the same, but when I implemented the ZWORKORDER_UPDATE_IM using the standard defenition  WORKORDER_UPDATE , the code does not allow me to change the it_component internal table belonging to the BEFORE_UPDATE method. Could you please help me in this.
    Basically if we are implementing a standard defenition how to change the parameters of the methods in it.
    Regards,
    Prabaharan.G

    Hi ,
    It is giving the below dump. The parameter is importing parameter and it does not allow to change even using field symbol. Is there any other way. Is there an user exit which will be called when pressing enter button in component screen. The exit EXIT_SAPLCOBT_001 did not work for this.
    Error analysis                                                                     
        The program tried to assign a new value to the field "<F_FS1>" even though     
        it is protected against changes.                                                                               
    The following objects are protected:                                           
        - Character or numeric literals                                                
        - Constants (CONSTANTS)                                                        
        - Parameters of the category IMPORTING REFERENCE for functions                 
          and methods                                                                  
        - Untyped field symbols to which a field has not yet been assigned             
          using ASSIGN                                                                 
        - TABLES parameters if the corresponding actual parameter is protected         
          against changes                                                              
        - USING reference parameters and CHANGING parameters for FORMs if              
          the actual parameter for this is protected against changes    
    Regards,
    Prabaharan.G

  • SOLAR02-replace logical component

    Dear Friends,
      I am working with Solution Manager 4.0, patch level SP12. In SOLAR01 i have finalised my business structure. Now in SOLAR02, i have assigned some logical component to link to satellite systems. i am having about 500 transactions in SOLAR02. Later point of time i realized that i have wrongly assigned the logical components to my 500 transactions. Now i want to replace my existing logical component with new one.
    In Sol Man, i am having the option to mass replacement of logical component.
    (Ths path is,  Edit---Replace logical component)
    Here, i am entering, Log. Component to be Replaced &  Replace with logical component. If i do the consistency check, i am getting message that , " Log component SAPR3 can be replaced with ZSAPR3".
    But if i save, i am getting following error.
    <b>The requested object is locked by another transaction</b>
    <b>The details of the error is below:</b>
    The requested object is locked by another transaction
    Message no. MC602
    Diagnosis
    A lock requested by calling an ENQUEUE function module cannot be provided because the object in question has already been locked by its own transaction.
    Technical Information: The C_ENQUEUE routine returns the following values:
    COLLISION_OBJECT =  ESOLARTAB
    COLLISION_UNAME = ZS933SENTHIL
    System Response
    The ENQUEUE function module triggers an appropriate exception. If this exception was not intercepted by the application program, it leads automatically to the active SAP transaction being cancelled.
    Procedure
    Once the ENQUEUE function module is called, the application program should intercept this exception and react to it appropriately.
    Message Text
    The requested object is locked by another transaction
    Technical Data
    Message type__________ E (Error)
    Message class_________ MC (Aggregate: views, matchcodes, lock objects)
    Message number________ 602
    Message variable 1____ ZS933SENTHIL
    Message variable 2____ ESOLARTAB
    Message variable 3____ ZS933SENTHIL
    Message variable 4____ 
    Message Attributes
    Level of detail_______ 
    Problem class_________ 
    Sort criterion________ 
    Number________________ 1
    Please guide me to solve this problem.
    Regards
    senthil

    Hi Senthil,
    you have selected a tab that can contain logical components and then started the replace functionality. Select a tab that does not contain logical components (e. g. the gen. Documentation tab).
    Best regards,
    Michael

  • Regarding Train component, view is lost when navigating to next train stop

    Hi,
    I require a train component for my application. I have created a bounded taskFlow contianing 3 JSF pages with each page representing a trainStop.
    I added train component to each of the pages as told in "Fusion Developer Guide" .
    Now I add this taskFlowDefn.xml in my main.jspx as a region. The train is visible and working but the problem that I face is as follows:-
    I am having 2 input fields in my 1st jsf page represented by the 1st stop in the train. If I enter something in the input text
    and move on to another stop(which is also a different jsf page) and again go back to previous jsf page, the value in the input text gets cleared from the screen.
    These input text are not bounded with View Object attributes. The JSFFs are desgined without binding.
    How can I save/retain the view of the previous page , I mean how to retain the values on the page that were entered, as train component itself provides the
    functionality of moving back and forth. Alll the 3 jsf pages and the main.jspx (which contains the bounded taskFlowDefinition as region) have backingBeanScope.
    Please reply if you know wat I have missed or wat I need to do for this.
    Thx in advacne
    Tarun.

    adf009, please read the post I posted the link to in my previous replay. The old code format tag don't work in the new forum!
    Still the same error. The stack trace still points to it, you only need to read it carefulle
    javax.faces.el.EvaluationException: java.lang.NullPointerException
        at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)
    Caused by: java.lang.NullPointerException
        OrgDetails.showSelectedOrg(OrgDetails.java:2456)
    The origin is
    method.execute();
    and the real reason is
    MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51);
    What does it tell you?
    Timo

  • How do I replace a component in several BOMs at once?

    I need to replace an item that appears in several BOMs. Rather than go into each BOM separately and remove the old component and then go back in and add the replacement component, is there a way to find and replace several (all) at once?

    You have fist to create a Change type :
    Bill of materials > Setup > Change types
    Open the BOM Mass update form, enter the Change type , enter the selection criteria for the Assemblies.
    In the Changes window, select the Change type 'Update'. On the first line (Update), enter the Component to change. On the second line (New), enter the new component.If necessary, enter component information.
    On the main screen, select Report and submit : will display all the changes that will be performed.
    Select Implement and submit : will apply the changes.

  • Restrict a textInput component to accept only numbers from 0 to 250

    I want to restrict a textInput component to accept only
    numbers from 0 to 250. I know I can use restrict to some degree but
    all I can do is restrict it to 0-9 and use maxChars to 3 which
    allows any number from 000-999.
    I believe I could use the TextEvent.TEXT_INPUT and then write
    some code that will convert that event's text (i.e. the text
    entered into textInput component before it is actually added to the
    textInput component's text value) such that I do not allow values
    greater than 250 but I'm not sure what that code would be. Does
    anyone know an easier way to do this?

    use the change event to monitor the input value and if it's
    greater than 250 (after typing the text property as a number),
    assign the text property to be "250".

  • Component Qty Stored where?

    Hello all
    I am looking to run a report to show all the component quantities for a particular component. I see in the BOM where this field is displayed but I am having a hard time finding where that data is stored.
    I have data element KMPMG
    Domain MENGV13
    Ref. field RC29P & MEINS
    Field name MENGE
    But I still cannot seem to find the correct table name. I tried a where used any then put those table names in SE16 but none allow me to enter one particular component.
    Any ideas?

    It probably calculated dynamically based on diffirent parameters..
    Debug the program and have a look how he has populated the Structure
    santhosh RC29P

  • Getting a value of an input text component in backing bean

    I have created an input text component on a page where I will be entering a number, setting Autosubmit feature as true. ValueChangeListener property is set as #{test.displayTable} where displayTable is a method defined in test managed bean.
    Now I know to fetch the value entered in input text component by creating a RichInputText variable in Advanced property.
    But in case the Advanced property is blank, then how will I be able to retrieve the value of it? This is the code. I am not able to get the value entered in the component. I can't even find any getvalue method for it.
    FacesContext facesContext = FacesContext.getCurrentInstance();
    UIViewRoot root = facesContext.getViewRoot();
    RichInputText inputText = (RichInputText) root.findComponent("it1");  // it1 is the id of the input text component
    System.out.println("inputText: "+inputText);On using sop statement, this is the output which is getting generated, while I had entered 90.
    inputText: RichInputText[UIXEditableFacesBeanImpl, id=it1]

    One more thing. Once the VO is getting refreshed, I am able to display an inline message saying that 'Table refreshed Successfully!' (refer the code)
    But in case if the user doesn't enter anything, and press TAB button, I want to display an error message exactly besides the input text component, saying that 'Please Enter an Integer.' According to my understanding, if the user enters a null value then while casting string to Integer, it will throw an exception, so I will be writing the code in the catch part. Any suggestions?
    public void displayTable(ValueChangeEvent valueChangeEvent) {
            BindingContext bctx = BindingContext.getCurrent();
            BindingContainer bindings = bctx.getCurrentBindingsEntry();
            OperationBinding method = (OperationBinding)bindings.get("displayEmployeeTable");
            try {
                Integer getValue = Integer.valueOf(valueChangeEvent.getNewValue().toString());
                System.out.println("getValue: " + getValue);
                method.getParamsMap().put("deptId", getValue);
            } catch (Exception e) {
            method.execute();
            FacesMessage message = new FacesMessage("Table refreshed Successfully!");
            message.setSeverity(FacesMessage.SEVERITY_INFO);
            FacesContext fc = FacesContext.getCurrentInstance();
            fc.addMessage(null, message);
        }Edited by: Sonull on Jan 12, 2013 3:56 PM

  • Subcontracting Component Dropship

    Hi,
    Here is my scenario:
    1. Finished Product M requires components X, Y and Z.
    2. Vendor A provides component X and ships it directly to subcontractor B.
    3. On this PO, on the Delivery address tab we have entered subcontractor B as the vendor and set the 'SC vend' checkbox.
    4. When the GR for the drop-ship PO is performed, the quantity is rightly posted to 'stock provided to subcontractor B'.
    5. Components Y and Z are shipped to B from existing inventory via regular subcontract PO.
    The problem is, when GR for the subcontract PO is performed, the system does not post an automatic goods issue for component X (this is not surprising since component X is not entered as a component on the subcontract PO). As a result component X stays in 'stock provided to subcontractor'... and the value of component X does not get included in the value of the finished product M when the GR for it is posted.
    What am I missing? Should the drop-ship PO be linked to the subcontract PO somehow? How does the system know that component X also needs to be issued when the GR for the subcontract PO is performed?
    Please advise.
    Thanks!
    Anisha.

    M1 is a interim assembly part # for costing purpose which comprises of
    Raw material cost of X + subcon charges of Vendor B + price of Y + Price of Z
    you will create a PO on vendor B for M1
    when you will enter the GR for M1 all three component will get consumed 543 and your finish prod costing will also be correct in that case.
    How we can mapped this , pl read below-
    I have created a BOM for Finish prod A
    A - Finsih prod
    ---M - assembly
    M1- interim assembly
    R2- machined forged part
    R1- forged componenet
    Y - bearing
    Z -pin
    I am sending Forging(X) R1 directly to vendor B for machining. After machining , finish part is R2
    At the same time I am sending Bearing (Y) and Pin (Z)
    Vendor B, assembles R 2 + Bearing + Pin and send to me as assembly part (M1)

  • Step by Step - Adding a field to a component

    Dear Experts,
    When adding a field for Business Partner Role (BUT!100) to the component BP_CONT/ContactQuickCreateEF, what are the steps for the wizard with regards to the selection of attributes on the context node?
    Please provide step by step and which attribute on which Node.
    Thanks!!!

    Hi Fakhan,
    SAP provides flexibility of adding additional roles to Contact Person also, once you create Contact Person using the Quickcreate view you can go to the Contact person main view and add as many roles using the Roles Assignment block. That is an easy and the correct way to do so.
    If you still want the Role field in the Quickcreate view you can add a model attribute to context node BUILHEADER with BOL entity as BuilHeader and BOL attribute as  BP_Role. Once it is done copy the similar code of GET, SET, GET_V, GET_M, GET_I methods from Component/view : BP_HEAD/AccountDetails , CTXT HEADER, attribute BP_Role.
    But you need to check if it will really setting the value from that view. Try it and check
    Regards,
    Shobhit

  • Applying default movie in component

    I am helping a friend design a website for his independent
    film. I was easily able to create 4 buttons to play vaious clips
    from the movie in the FLVPlayback component. Now I would like to
    add a fifth flv file that is the default movie listing the dates
    and times of the movies.
    There must be some kind of default "onLoad" type function in
    action script for this.
    Thanks ahead of time.
    Clyde

    Yes, but material masters are not always specified at the componenet level.  Many times, special request type items are hand entered in the component line.  In this case, the maintenance plant defaults in.
    Thank you for your help.  I appreciate it.

  • UI Execution Code in Listbox field

    Hello experts.
      I have two listbox fields in a BSP enhancement and I'm trying to select a list for a second field when selecting the value in the first field.  ¿Is it possible? The component is BP_HEADER.
      Everything goes OK if an "Enter" is pushed on any field after selecting the first field and the BSP is loaded again, but I'd like the listbox generate a function code automatically or launch any event. ¿How can I do it?
      I tried to create a "On_new_focus" Method in mi Extension Class but I couldn't.
      ¿May anyone help me?
    Thanks in advance.
    Fernando

    Problem solved.
    In GET_P method I have made a call to an event (Code copied from GET_P_PARTNERROLE :-D) and I have created that event in the Context Event Handler making a "SUBMITONENTER".
    Kind regards.
    Edited by: Fernando Adán on Sep 18, 2008 9:33 AM

Maybe you are looking for

  • Need to join two queries A/R statemet and Activity report

    I have two  separate queries that need to be one. I have an A/R statement where I want to add notes next to each invoice. Currently these are two separate reports. How can I link the activity Report to the A/R Statement. Below are the two separate re

  • Report on related section linked with opportunity Id

    Hi, I created a report with opportunity Id is prompted as filter. I would like to display my report in a related information section of my opportunity record. This is the URL of my report : https://secure-ausomxgva.crmondemand.com/OnDemand/user/Repor

  • Soap Receiver Adapter problem. very urgent..

    Hi, When I am sending data from XI to CRM through soap receiver communication channel I am getting error: Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/PARSING/ADAP

  • Is the SAP HANA Predictive Analysis Library used within UDF?

    Hello Everyone, I am an intern at SAP Belfast currently looking at UDF and DDF, and I was wondering if you could answer a few questions for me? Is the HANA Predictive Analysis Library (PAL) used within UDF? I know that UDF uses regression analysis, a

  • Access deinied error in browser while accessing bsp application in Portal

    Hi All, I'm integrating SRM in to Enterprise portal using SRM business package,in which i access CCM iviews which were buit using BSP  Application. EP in one host, and BSP Application resides in another host, so there are 2 different hosts. I define