cancel
Showing results for 
Search instead for 
Did you mean: 

FPM OIF - Edit and display mode

matteo_montalto
Contributor
0 Kudos

Hi gurus,

I'm dealing with a tricky task and would like to discuss with you about possible and feasible solutions.

First of all, the argument covers both WD and FPM in my opinion so forgive if a similar thread has been opened on the ABAP WD section; in the following I would however point out the problem from the specific FPM point of view.

The question is, shortly; given that FPM provides as standard a solution for switching from Display to Edit mode and viceversa when dealing with a WD Application (specifically, an SRM one, e.g. the one used to create/modify/view a purchase order)....

is it possible to open some fields for modifications (obviously, under certain assumptions) even though the application is in DISPLAY mode?

Back to the requirement in order to clarify the task.
Standard application assumes that once in EDIT mode, any modification made on the document will result (once the button SAVE is pressed) in a modification on the document itself; that is to say that:

  • a new version of the document will be created;
  • a status update on the document will be performed.

We need instead that, under specific assumptions (e.g., the document has been released), the document could be partially modified (some custom fields should be editable) and such modifications should be transferred directly at DB level on the same document version, without triggering a status update (in the example, the document still remains as "released").

From the ABAP WD perspective, if I could open the fields for modifications, then the rest of the process should be quite straightforward; I could define a button for COMMIT which gets the updated fields and proceed to a db update.

What I found out till now is that there's no way to open for modification a field is we're in DISPLAY mode; I tried accessing properties of the specific custom file, but DISPLAY mode seems to override and specific setting (or maybe, I'm doing it wrong.. any suggestion on how to change the "editable" property of an UIElement?)

Any suggestion is highly appreciated; please forgive the noobyness on FPM arguments, as I'm approaching this task with enthusiasm but with poor knowledge on the basis (tried also with older post to understand a bit more but it's kinda frustrating as I have noone that could clarify me some aspects and the cookbook is quite challenging )

Accepted Solutions (0)

Answers (1)

Answers (1)

matteo_montalto
Contributor
0 Kudos

Does anyone has any clue/hint on the issue?

What I forgot to mention is that each custom field is added in the view dynamically (dynamic programming), so there's no "explicit" way to use the BINDING property of each UIElement... I have to make everything via coding.

I tried to:

-1- set the ENABLED property for the specific UIElement ( or, by casting, each UIElement subtype).

Specifically;

DATA: lo_wd_input_field TYPE REF TO CL_WD_INPUT_FIELD,

            lo_ui_element_attr TYPE REF TO cl_wd_uielement,

....

*assuming lo_ui_element_attr contains the specifc input field.

lo_wd_input_field   ?=  lo_ui_element_attr.

CALL METHOD LO_WD_INPUT_FIELD->SET_ENABLED

   EXPORTING

     VALUE  = 'X' .

but without success; when in DISPLAY mode, it seems this call doesn't make the field editable.

-2- create a binding with a context attribute, say FIELD_EDITABLE:

CALL METHOD LO_WD_INPUT_FIELD->BIND_ENABLED

   EXPORTING

     PATH   = 'FIELD_EDITABLE'.

which is set to "X" by a button press ("Enable editing"), and then calls an FPM_REFRESH in order to process WDDOMODIFYVIEW again.

This also doesn't work . And I'm trying to understand if I'm doing it wrong or if the cause is that the DISPLAY mode overrides any change I make,

Could anyone provide me an hint or suggestions, maybe examples of code, to manage the task?

Thanks in advance.

Former Member
0 Kudos

Hi

Former Member
0 Kudos

Did you try with the configuration under Extensions and Field Control (Personalization) ->Configure Field Control??