cancel
Showing results for 
Search instead for 
Did you mean: 

IC WebClient - Added Field Not Found in DO_HANDLE_DATA

brad_bohn
Active Contributor
0 Kudos

I tried adding an input field to the BuPaSelectCustomer view and also to a custom view added to the IdentifyCustomer viewset just below the BuPaSelectCustomer view. In both cases, the field populates and displays correctly when the views are rendered. However, the name of the field is not available in the DO_HANDLE_DATA method (after clicking a button), nor is it available in the topmost controller field list where DISPATCH_INPUT is called. In both views, there is a corresponding page attribute with the same name. What could be wrong?

Thanks,

Brad

Accepted Solutions (1)

Accepted Solutions (1)

brad_bohn
Active Contributor
0 Kudos

Thanks, but I don't think that will be useful -- like I said, SET_MODELS works fine because the input field is populated correctly when the page is first rendered. In DO_HANDLE_DATA, there's nothing wrong with my code that reads the FORM_FIELDS table; the input field key-value pair just isn't there. My input field id, page attribute, and controller class attribute all have the same name. I have debugged as far as possible (to the system call to get the fields from the request in DISPATCH_INPUT) without finding any clues.

former_member181879
Active Contributor
0 Kudos

If the field is not in the form_fields table, we have one of two situations:

(1) The formfield was never send back from the browser. This will typically happen when then inputfield was readonly. In such cases the browser does not return the value. In CRM case, there one addition very special situation you have to be aware of: they use an optimization inside the browser (special JavaScript code) to disable ann unchanged inputfields, so as to save upstream bandwidth. Try changing the value. The best approach to verify this is to use a HTTP proxy tool and monitor the trafic between browser and server.

(2) You did not encode the the id of the control on rendering. All the ids of tags are automatically prefixed with the controller id during rendering, so that the correct inputfields can be returned to the correct controller. Check the HTML in the browser to ensure that the name attribute (NAME and not ID is important) is prefixed with the controller id.

brad_bohn
Active Contributor
0 Kudos

Thanks, Brian. #1 was the trick. I never would have guessed about the Javascript optimization. I'll just have to add some code in DO_HANDLE_DATA to account for the missing entry based on an unchanged value.

Former Member
0 Kudos

Hello Brian,

I am having a similar problem where data for unchanged fields is not coming back from the browser. Is there any way we can turnoff the JavaScript for certain pages.

I am currently working with CRM 4.0 SP6. I am trying to get the survey displayed on the IC web client. It is a whole lot difficult for me to add to some coding to remember the value of the different fields on the survey page as these are generated dynamically.

So I think if I can switch off the JavaScript optimization for the particular page then the problem could be solved.

Thanks and regards

Murli Rao

Answers (2)

Answers (2)

brad_bohn
Active Contributor
0 Kudos

No, it's not a database field added via the EEWB. It's just a view input field that has a value in it. The user may populate the value of the field or it may be populated from a field on the Search view via the SET_MODELS method. I need to get the value of that field when the user clicks a button. As I understand it, this should be a simple process of reading the provided table in method DO_HANDLE_DATA of the controller class and then setting the value of an attribute in the controller class to make it available in the method called by the button event.

Thanks,

Brad

Former Member
0 Kudos

Hi Brad,

Try to paste (relevant parts of) your SET_MODELS and DO_HANDLE_DATA code. Maybe someone has an idea.

Johnnie

Former Member
0 Kudos

Brad, first clearance we need to have is how did you add this field? Did you use the EEW or did you use another method? Tiest.