ECM - Custom Matrix Methods

Hi
We have a requirement to have a matrix buit for ECM with Performance Ratings and Salary Range as co ordinates.
I'm customising the HRECM000_MATRIX_SEGM BAdI for this.
Has anybody done this kind of implementation , Can you please help me on how to do this ?
Rgds
Aravind

Hi Lita,
The error is always raised when I try to change data on DBDataSource of my custom matrix, with any of the
following commands:
oForm.DataSources.DBDataSources.Item( "@PD_LINE" ).Clear();
error: "Form - Operation is not supported on system form.  [66000-30]"
oSysForm.DataSources.DBDataSources.Item( "@PD_LINE" ).GetValue( "U_Oper", 0 );
works fine: return correct value from matrix column
oSysForm.DataSources.DBDataSources.Item( "@PD_LINE" ).SetValue( "U_Oper", 0, "10" );
error: "Item - The item is not a user-defined item  [66000-8]"
Note: my DBDataSources.Item( "@PD_LINE" ) was added after custom matrix was added to system form.
All columns of custom matrix were bound to DBDataSources.Item( "@PD_LINE" ) columns.
What is the problem?
Thanks,
Manuel Dias

Similar Messages

  • Problem with AddRow() in custom matrix on System Form

    Hello all,
    I'm trying to add 1 row to a custom matrix on a system form (Sales Quotation).
    However I always get a RPC_E_SERVERFAULT exception when calling pMatrix.AddRow() and SBO crashes...
    My code is simple:
            [B1Listener(BoEventTypes.et_CLICK, false)]
            public virtual void OnAfterClick(ItemEvent pVal)
                Form pForm = B1Connections.theAppl.Forms.Item(pVal.FormUID);
                // Add matrix line
                Matrix pMatrix = (Matrix) pForm.Items.Item("MATRIX").Specific;
                pMatrix.AddRow();
                // Set matrix line data
    The matrix shows ok in the system form, inside a new folder.
    What is the problem with my code?
    Is there any way to add rows to a custom matrix in a system form?
    This code runs ok if executed in a custom form...
    Thanks!
    Manuel Dias

    hi.
    R u facing any problem ...
    actually add row and del row both are same.
    in normal customization form and system form matrx...
    Any problem are u facing...

  • How to call a custom controller method from view

    Hi,
    I ve created a simple web service and consumed it in a model. Mapped the input & output parameters to custom controller context which in turn mapped to component controller's context which in turn to view's contexts.
    How to call a custom controller method from view?
    Please explain the syntax.
    Regards,
    Manoj.

    Hi Patralekha,
    Give some idea for the below scenario:
    I ve created a simple web service and consumed it in a model. What I did was
    1) for the input parameters, mapped the node from view->custom controller->model
    2)for the output parameter, mapping from model->custom controller->view.
    It works fine.
    But I don't want to access model nodes directly, rather I want to set the input param in somewhere else (like custom controller) before calling the appropriate method, same for the response also.
    Share me your thoughts.
    Regards,
    Manoj.

  • How to call a custom controller method in a view

    Hi ,
    I am getting the partner no in the custom controller method . I want  to call that method in the view.How is it possible......?

    Hi Masood,
    now i dont want cross compnent navigation ....
    Requirement : Account Identification number in ZVIEW
    My component is  CRMCMP_BPIDENT
    In the custom controller   CRMCMP_BPIDENT/CuCoBuPa  under context node   SEARCHCUSTOMER
    the attribute struct.partner is available 
    in this component  im navigating from  
    CRMCMP_BPIDENT/ObjectCompVs   to   ZCRMCMP_BPIDENT/ZProducts 
    in the layout of   ZCRMCMP_BPIDENT/ZProducts
    TRY .
    lr_cuco ?= controller->get_custom_controller( 'CRMCMP_BPIDENT/CuCoBuPa' ).
    CATCH cx_sy_move_cast_error.
    RETURN.
    ENDTRY.
    check lr_cuco is bound.
    lr_entity ?= lr_cuco->typed_context->SEARCHCUSTOMER->collection_wrapper->get_current( ).
    check lr_entity is bound.
    lv_account_name = lr_entity->get_property_as_string( iv_attr_name = 'BP_NUMBER' ).
    this code is written to get the account identification number but still the same problem
    lr_entity not getting populated .......
    i checked  IF_BSP_WD_HISTORY_STATE_DESCR~IS_RESTORABLE 
    hr rv_result is set to x.....
    any  suggestions....
    Regards,
    Sijo...

  • Creation of Data Control for custom java method  which will return records

    Hi Guys,
    I have a requirement of creating a a custom java method in App module which will return a record set taking an id as input.In case of single return type it works fine but in case of returning record set it is not working.In my case i have to combine two tables and return it as a single entity as a view in Data Control.
    Warm Regards,
    Srinivas.

    Why don't you just create a custom view object? There's even an example or 2 in the docs:
    http://docs.oracle.com/cd/E16162_01/web.1112/e16182/intro_tour.htm#CHDGDIEC (check out "View object on refcursor" example)
    Edit: you are aware that you can create a View Object based on more than one table?
    John

  • Using wildcards in custom find methods with CMP beans

    Hi,
    I'd like to create a custom find method called findByName which accepts a string. I'd typically want to use the string in a '%<name>%' scenario, where the user needn't type in the whole name. Does anybody know what the partial query should look like? I'm not sure how to concatenate the '%' symbol to the string taken in.
    Thanks in advance
    Gillian

    Gillian-
    Bind variables are of the form $1, $2, etc., so try using a query stmt like this:
    select * from YOURTABLE where name like '%$1%'
    Regards,
    -Jon

  • 10.1.3.4 - How to access custom java methods in worklist ?

    We want to invoke a custom java method inside of worklist, when the file attachments are added to the worklist. We are planning to modify the auto-generated jsp page to do the same. We have created the custom jar files, but am not sure where to deploy this jar file ? We are not able to compile the jsp /jar. Does anybody have any idea where the custom jar file goes ?

    The bpel\samples\hw\worklistapp\readme will explain you about how to do this.

  • How to access Custom Controller Methods and context

    Hi
    I have to components (comp1,comp2) in one DC.  I want to use custom controller method of comp1 into comp2 view?
    Thanks
    Prasad

    Hi,
    in order to access comp1 from comp2.
    create Public part for Comp1 and it to the useds DC of Comp2 and as well add the required controllers in Comp2 (in view controller and custome controller where u want to access them).
    PFB link fro example.
    [http://wiki.sdn.sap.com/wiki/display/WDJava/UsecomponentsinbiggerWebDynproprojects+%28componentization%29]
    Regards,
    Govindu

  • Custom finder methods

    I'm tring to deploy an Entity bean (CMP) with custom finder method that gets a parameter.
    I encountered two problems :
    1) defining the query in the deployment descriptor coased the app server to generate the a query without the where cloase - this was fixed by changing manualy the orion-ejb-jar.xml in the application-deployments directory.
    2)the second, and yet unresolved problem, is that OC4J doesn't bind the parameter that the query uses during runtime. I'm recieving an ORA msg that claims that not all the parameters are binded.

    see sample code
    http://otn.oracle.com/sample_code/tech/java/oc4j/htdocs/oc4jsamplecode/oc4j-demo-ejb.html
    also there should be a section in our documentation about cmp custom finder methods. oc4j attempts to generate custome finder methods based on home interface
    <finder-method query="$empNo = $1">
    <method>
                             <ejb-name>EmployeeBean</ejb-name>
                             <method-name>findByEmpNo</method-name>
                             <method-params>
                                  <method-param>java.lang.Integer</method-param>
                             </method-params>
                        </method>
                   </finder-method>

  • Custom toJSON() method is not called for each property

    I'm getting familiar with JSON in ActionScript 3 (FP 11), and experimenting with custom toJSON methods. The Developer's Guide section on Native JSON Support clearly states:
    JSON.stringify() calls toJSON(), if it exists, for each public property that it encounters during its traversal of an object. A property consists of a key-value pair. When stringify() calls toJSON(), it passes in the key, k, of the property that it is currently examining. A typical toJSON() implementation evaluates each property name and returns the desired encoding of its value.
    However, both the subsequent examples on the very same page and my own tests indicate that, on the contrary, toJSON() is only called once for the whole object, and no argument is passed for k. Take the following trivial class:
    public class JSONTest {
        public var firstProperty:int = 1;
        public var secondProperty:String = "Hello world";
        public function toJSON(k:String):* {
            trace("Calling toJSON on key", k);
            return this[k].toString();
    According to the documentation this should cause the following to print:
    Calling toJSON on key firstProperty
    Calling toJSON on key secondProperty
    And the output should basically be the same as without a custom toJSON method:
    { "firstProperty" : 1, "secondProperty" : "Hello world" }
    Instead, this just throws an error because nothing at all is passed as k.
    So, is the documentation wrong and the engine is not supposed to call toJSON for every property, or is the engine incorrectly only calling it once?

    I just figured out what the documentation means. k refers to the name of a property to which the entire instance being stringified is assigned, not to the names of the properties of the instance being stringified. An example is much clearer:
    var wrapper:Object = { prop1 : 1, prop2 : new JSONTest() };
    trace("Stringify result =", JSON.stringify(wrapper));
    Prints:
    k:String = prop2
    Stringify result = {"prop2":{"firstProperty":1,"secondProperty":"Hello world"},"prop1":1}
    So k is the name of the property on wrapper, not on the JSONTest instance. When stringify is called directly on an instance of JSONTest, k is empty because the JSONTest instance is not assigned as a property of another object, it is just all by itself. Either way the value returned by toJSON must be a string or object representing the stringified form of the entire instance.

  • Coding custom business methods in ADF BC Application Module ?

    Dear All,
    Where do i put my custom business methods in ADF BC Application Module ?
    Can anyone point me to a good tutorial which gives a good insight into developing ADF BC Applications ?
    Thanks,
    Raghavendra

    Hi,
    there will be a developer guide out soon. Its written by Steve Muench and provides an indepth walk-through ADF BC.
    To answer your question, custom code is written in Java files on the ApplicationModule, ViewObject and EntityObject level. If you go to the Editor of each of these components there is an option for you to create Impl.java and RowImpl.java files. The first is for generic business logic, the latter for row based logic
    Frank

  • Error in Creating Custom Business Methods using ADF Business Comp. Tutorial

    I've been working with Jdev 10g Preview for a while. Now that we have Jdev 10g, I have to unlearn some of the Preview methods and learn the "real" way of doing things. To that end, I went out to the "Creating Custom Business Methods using ADF Business Components" tutorial. Unfortunately, I've found what I think is a mistake in the example code.
    Specifially, ADF treats the default iterator on View Objects differently than previous BC4J versions. In the older versions, the iterator was positioned before the first row when you first executed a query. In that case, the hasNext() method was used to see if you had any rows at all. In ADF, however, the default iterator is positioned at the first row. So, if your query only returns one row, then the hasNext() method returns false!
    Here's the code posted in the tutorial:
    public Number getDeptSalaryTotal(String dept_id)
    // get a department view object
    DepartmentsViewImpl dept = getDepartmentsView1();
    dept.setWhereClause("DEPARTMENT_ID = " + dept_id);
    dept.executeQuery();
    dept.first();
    EmployeesViewImpl emps = getEmployeesView3();
    Number salaryTotal = new Number(0);
    while (emps.hasNext() )
    Row empsRow = emps.next();
    salaryTotal =
    salaryTotal.add((Number)(empsRow.getAttribute("Salary")));
    return salaryTotal;
    As you can see, this is coded using the pre-10g semantics. It checks hasNext() at the top of the while loop. If there is only one Employee in the Department, hasNext() will return false since the emps View Object will already be positioned at the first and only row. There won't be a next row. So, the salaryTotal will be zero instead of the correct value. Alternatively, if there is more than one row, then hasNext() will be true, but the routine will skip the first row and start totalling salaries from the second row on.
    The routine should be recoded as follows:
    public Number getDeptSalaryTotal(String dept_id)
    // get a department view object
    DepartmentsViewImpl dept = getDepartmentsView1();
    dept.setWhereClause("DEPARTMENT_ID = " + dept_id);
    dept.executeQuery();
    dept.first();
    EmployeesViewImpl emps = getEmployeesView3();
    Number salaryTotal = new Number(0);
    Row empsRow = emps.first(); // Get the first row
    while (empsRow != null ) // while we have a row
    salaryTotal =
    salaryTotal.add((Number)(empsRow.getAttribute("Salary"))); // add in the salary
    empsRow = emps.next(); // get the next row
    return salaryTotal;
    I haven't actually executed this code, so there may be a typo or two in there. However, the basic idea is sound -- I think!
    Please update the tutorial so we don't mislead people right at the start! :-)

    Gary:
    I have two questions for you:
    1) Could you post the preferred code here?
    2) Why is it the preferred method? I would think that creating and destroying another object (the temporary iterator) would be a bad thing.

  • CMP Custom Finder Method Problem

    Hi everybody,
    I have a problem about CMP Custom Finder Method.
    I made CMP Entity Bean and deployed.
    Then, I updated finder section in orion-ejb-jar.xml to add my custom finder query.
    Here is updating finder section in my orion-ejb-jar.xml.
    <finder-method query="(($schStartDate &lt;= TO_DATE($1,'MM-DD-YYYY a HH:MI') and $schEndDate &gt;= TO_DATE($1,'MM-DD-YYYY a HH:MI')) or ($schStartDate &lt;= TO_DATE($2,'MM-DD-YYYY a HH:MI') and $schEndDate &gt;= TO_DATE($2,'MM-DD-YYYY a HH:MI'))) and ($schRoom = $3)">
    <!-- Generated SQL: "......" -->
    <method>
    <ejb-name>RoomSchedule</ejb-name>
    <method-name>findBySchDateAndRoom</method-name>
    <method-params>
    <method-param>java.lang.String</method-param>
    <method-param>java.lang.String</method-param>
    <method-param>java.lang.String</method-param>
    </method-params>
    </method>
    </finder-method>
    <resource-ref-mapping name="jdbc/OracleDS" />
    And, i restarted oc4j. so, oc4j redepoyed CMP bean.
    But, when my client program called CMP Bean, lookup() was ok, but calling findBySchDateAndRoom() was bad.
    I couldn't get any result collection.
    Here is my client code.
    Context ctx = new InitialContext();
    Object ref = ctx.lookup("RoomSchedule");
    roomScheduleHome = (RoomScheduleHome) PortableRemoteObject.narrow(ref, RoomScheduleHome.class);
    String startDT = new String("07-30-2002 am 10:30");
    String endDT = new String("07-30-2002 pm 05:20);
    String roomID = "TEST";
    Collection roomAllSch = roomScheduleHome.findBySchDateAndRoom(startDT, endDT, roomID1);
    Iterator roomSchItr = roomAllSch.iterator();
    int schQty = 0;
    while (roomSchItr.hasNext()) {
    roomSchedule = (RoomSchedule) roomSchItr.next();
    if(roomSchedule.getStatus().equals("A"))
    schQty++;
    After excuting above code, schQty was still zero!!
    Because Collection roomAllSch had not any items.
    But, table ROOMSCHEDULE had 30 records which were same query condition in my database.
    I traced SQL statement using P6Spy Class.
    Here is spy.log.
    1028006337814|10|0|statement|select * from RoomSchedule where ((RoomSchedule.schStartDate <= TO_DATE(?,'MM-DD-YYYY A.M. HH:MI') and RoomSchedule.schEndDate >= TO_DATE(?,'MM-DD-YYYY A.M. HH:MI')) or (RoomSchedule.schStartDate <= TO_DATE(?,'MM-DD-YYYY A.M. HH:MI') and RoomSchedule.schEndDate >= TO_DATE(?,'MM-DD-YYYY A.M. HH:MI'))) and (RoomSchedule.schRoom = ?)|select * from RoomSchedule where ((RoomSchedule.schStartDate <= TO_DATE('7-30-2002 ?@@| 01:00','MM-DD-YYYY A.M. HH:MI') and RoomSchedule.schEndDate >= TO_DATE('7-30-2002 ?@@| 01:00','MM-DD-YYYY A.M. HH:MI')) or (RoomSchedule.schStartDate <= TO_DATE('7-30-2002 ?@HD 12:00','MM-DD-YYYY A.M. HH:MI') and RoomSchedule.schEndDate >= TO_DATE('7-30-2002 ?@HD 12:00','MM-DD-YYYY A.M. HH:MI'))) and (RoomSchedule.schRoom = 'Earth')
    1028006337824|10|0|statement|select RoomSchedule.schTitle, RoomSchedule.schStartDate, RoomSchedule.schEndDate, RoomSchedule.schDayAll, RoomSchedule.status, RoomSchedule.schRoom, RoomSchedule.reqUser, RoomSchedule.apprUser, RoomSchedule.purpose, RoomSchedule.relatoinID, RoomSchedule.schDesc, RoomSchedule.reqDate, RoomSchedule.apprDate from RoomSchedule where (RoomSchedule.schID = ?)|select RoomSchedule.schTitle, RoomSchedule.schStartDate, RoomSchedule.schEndDate, RoomSchedule.schDayAll, RoomSchedule.status, RoomSchedule.schRoom, RoomSchedule.reqUser, RoomSchedule.apprUser, RoomSchedule.purpose, RoomSchedule.relatoinID, RoomSchedule.schDesc, RoomSchedule.reqDate, RoomSchedule.apprDate from RoomSchedule where (RoomSchedule.schID = 0)
    As you see it, two query statement were executed.
    First query statement was ok and got some result records.
    But, second query statement was bad so didn't get any result records.
    I didn't understand why second query statement was executed.
    When roomAllSch.iterator() was being excuted in my client program, second query statment was executed.
    I couldn't believe....
    What's wrong? Please help me....
    OC4J : Version 9 Release 2
    Database : Oracle 8i
    OS : Windows 2000 Professional

    I created CMP of EJB 1.1, I wanted to add a finder
    there, but it didn't work.
    the error message is:
    "AccountEJB_vkbo0d_HomeImpl.java":
    AccountEJB_vkbo0d_HomeImpl should be declared
    abstract; it does not define findBySalary(float) in
    AccountEJB_vkbo0d_HomeImpl at line 11, column 1I think I don't remember CMPs having finder methods anything other than abstract. The code goes in the deployment descriptor. I hope you atleast got that right.
    Richard.

  • Access custom service method

    in a jsf backing bean, i'm getting a reference to the application module (in order to call a custom service method and pass in parameters) in the following way:
    FacesContext fc = FacesContext.getCurrentInstance();
    ValueBinding vb = fc.getApplication().createValueBinding("#{data.LoginServiceDataControl.dataProvider}");
    LoginService service = (LoginService)vb.getValue(fc);
    I find myself rewriting this code over and over to get a reference to the application module. Researching this to find a better way, I saw a thread that suggested using the following code:
    MyAM appModule = (MyAM) getBindings().getDataControl().getApplicationModule();
    I've added the oracle.binding.BindingContainer bindings property to my backing bean, along with getters/setters. However, when i call getBindings(), I do not see getDataControl() as an option with the code insight dialog that pops up. Can someone tell me a clean/efficient way to access a custom service method and pass in appropriate parameters from a backing bean? Thanks.

    Jammer,
    It is not best practice to use the second way you suggest.
    If you are repeating writing code like that, the best thing is to create a helper class.
    For example, I use the helper class that I posted here:
    http://radio.weblogs.com/0118231/stories/2006/12/18/sourceForMyFavoriteElHelperClass.html
    Using that class, I do what you're doing with one line like this:
      LoginService ls = (LoginService)EL.get("#{data.LoginServiceDataControl.dataProvider}}");Alternatively, if you will be doing this a lot in your backing beans, one thing you can consider is creating yourself a base class for all your backing beans to inherit from that can contain helper methods to simply their individual code.
    For example, if you had a class like:
    public class MyBackingBeanBase {
      protected LoginService getLoginService() {
        return (LoginService)EL.get("#{data.LoginServiceDataControl.dataProvider}}");
    }Then any one of your backing beans for a specific page can extend this class and simply call getLoginService() to have typesafe access to the LoginService interface.

  • ADF FACES (10.1.3)---How to create custom service methods?

    Hi,
    I need to put some custom service method in my ADF Faces App. Tried the ways for 9.0.5 but in 10.1.3, there is no Data Action (Servlet, I believe). I was able to expose the method to the client interface, which means I can see the method in the Data Control Palette. When I try to add it to a JSP, it appeas to be either a link or a button.
    Can I bind service methods to a submit button? How to do it? Thank you so much for the help.
    Annie

    hi,
    first of all thank you vry much.its nice to see yours replies.Actually,that was my first post. Well, i got your steps.But still m having a some doubts.
    i'l tell u the scenario.
    i'm using one java class object called CD as complex datatype.i have created ths in separete class from my main class whc i m gng to expose as web service.
    Ths CD complex type has three elements(Basic datatypes)
    label(string),artist(string),price(int)
    i have created xsd file for ths CD data type as u told.
    Now While creating Web Service from java class,in third step of custom mapping
    it asks for three things.
    First is Java class
    (Whc one i should specify...My main java class whc contains methods
    or whc contains jst defination for CD type)
    Second thing is XML qualified name - here i'l specify my schema whc i created
    and Wht is tht third thing
    Serializer Class ????
    Thank you vry much.
    -mishit

Maybe you are looking for

  • Error while calling BAPIs for DMS from Portal

    Hi everybody, We are developing a portal with Web Dynpro and trying to call from our java code BAPIs that deals with DMS: BAPI_DOCUMENT_CREATE2 - to create a new DMS document and checkin an original. CVAPI_DOC_CHECKIN - to checkin an original to an e

  • Wifi no longer working in restaurant

    I have been using the wifi from a restaurant with no problems for abput a year but a few days ago it stopped working.A few seconds after I fired up my macbook air a blue screen would appear asking for the password which I would supply & be connected.

  • In-Process Rework

    Dear All, In My Production order there 5 operations. My Production Order quantity 50 NOs. I have confirmed first 2 operations with confirmed yield 50. In the 3rd operation, Rework qty 10 Nos and confirmed yield is 40 Nos Once i entered the Rework qua

  • Wrong Version of CS6 Bought

    I need an upgraded copy of Photoshop, and I bought the CS6, but I accidentally ordered the Windows version, and I use a Mac. How can I go about getting the Mac version, or the Mac serial code for this to work?

  • Whenever I switch on my iPad Air , I am presented with a full screen of a blue sky, white clouds and stars, which I cannot get out of.  How do I do so?

    Whenever I switch on my iPad Air, I am presented with a full screen piture of a blue sky, stars and white clouds, which I cannot get out of.  How do I do so, please?