I am unable to find the direction to solve this issue.
My problem is : I have make a non-editable field editable and trying to change the value there,as soon as I change the value the previous value is again replaced over the newone i gave.
For Ex : I have made the Organisation tabs Division as editable (at item level Org). I changed the Value of Division from PS to SM thn again when i press enter it shows me PS.
I am unable to understand why is it so,I need u all's guidance.
I can not say for sure in your case. A good place to start looking is in the BOL implementation class of the object you are using.
From business transactions I know that the STATUS field in the StatusSet is not changeable as it is always calculated within the BOL/GenIL. Using the ACT_STATUS field will update the STATUS correctly.
Maybe it is the same for your case. Have you looked for a field with a similar name? Otherwise get the GenIL implementation class and start your debugging
I went through with wht u said,but i am not successful in tht.Let me tell u tht its nothing with the status.
In my case, I have Organisation tab in which i have division at header level and also at item level.Once I have entered the Item and go to edit of tht item ,i cam taken into a new screen where i get the Organisation tab,same as at header level,but in only display mode.
To make tht division as editable I changed the GET_I_DIVISION,where i just made the condition of rv_disable as false.
Now in tht field based on tht item i get division as PS but sometimes we need to change it to something else,which i made it as SM. but it again became PS.
I feel tht the dref value is not changing after set_division
Can u through some light here.
Here are the details of the component and view.
Component -- BTORGSET
View -- OrgSetData
Context node -- BTORGSET
attribute -- STRUCT.DIVISION
In the get_i_division i have made the rv_disabled as false and hence i was able to make it editable...but after changing the value its value is not getting changed.It replaces its own value again.
Edited by: Saurabh Agrawal on Oct 21, 2008 2:11 PM
I had a look in our system.
SAP is providing a valuehelp for this field. This means it should be editable by default.
I opened up the WebClient with an Opportunity. There is the assignmentblock Organisational Data showing the field DIVISION. When I use the F4 Help or change the value manually everything works fine.
If the organisational data is not becoming editable in editmode, I suppose you are facing another issue. Just making the I-Getter return true will not give you a BOL entity behind the UI field for storing the information.
What about the otherfields SalesOrg, Channel, etc. are they editable?
Did you check if you have got an OrgSet present? Can be done very easily in the BOL browser.
I am inside the service bussiness role and i feel tht it has been made non editable in service for the item level organisation details.
Becoz i wanted just division as editable i just changed the get_i method of division reast are still non editable.
Can it be possible for u to tell me more abt wht u said-- Did you check if you have got an OrgSet present? Can be done very easily in the BOL browser.
And how it can be done through BOL browser.
You start TX GENIL_BOL_BROWSER and use component set ONEORDER
Find BTQOpp and search for an opportunity that should have organisation data assigned to it.
After you have got the result navigate along the structure using the relations. BTAdminH should have some link named like "BTOrgmanSetRel". When you click on this link there should be an entity in the area below the relations. If not then there is no organisation data present by default (missing Customizing?). I suppose you can simple add an entity by pressing the "Create Entity" button and then enter all the data you want i.e. put something in the DIVISION field.
On the UI I noticed that there is a dependence between the organisation data fields (salesorg, distr. channle, division,..)
Try to change and save the data using the BOL Browser. You can afterwards open the Opportunity in the WebClient again and try there.
Creating an entity for the orgset in coding is rather easy as it is a direct dependend node of the BTAdminH
lr_entity = lr_entity->create_related_entity( iv_relation_name = '/theSalesOrgRelation/' ).
I have implemented a similar functionality in the past of loading the Org Attributes by default when a Service request is created.
There is no need to modify the GET_I method. It won't help because you cant modify the GENIL properties of these attributes by just redefining the GET_I method.
Make sure you are modifying the BOL Core after setting the properties in the attributes.
lr_core = cl_crm_bol_core=>get_instance( ). CHECK F lr_core IS BOUND. lr_core->modify( ).
If the Org attributes you are trying to set are invalid, you should see an error in UI.