cancel
Showing results for 
Search instead for 
Did you mean: 

GAF steps in "Carry out sourcing"

matteo_montalto
Contributor
0 Kudos

Hi all gurus,

kind of technical question; I'm working on GAF FPM framework in "Carry Out Sourcing" in SRM 7.02.

I'd like to know if there's a way, in:

/SAPSRM/WDC_DO_SOCO_GAF_2

-> view V_AO_SOCO_GAF_2

method WDDOMODIFYVIEW

to understand the view is going to be refreshed after passing from GAF's step 1 to step 2.

IF FIRST_TIME = 'X' clause is not effective as FIRST_TIME is set to abap_true only the very first time the view is triggered; if the user goes from Step1 to Step2, then come back to Step1 and again switch to Step2 ... first_type is empty.

I need to trigger some custom action each time the user comes from another step to step2.

Thanks again for any help or suggestion you'll give me

Accepted Solutions (1)

Accepted Solutions (1)

konstantin_anikeev
Active Contributor
0 Kudos

Hi Matteo,

you can try following.

1. Create a Z-class with STATIC attribute.

2. Make a pre- enhancement in the method /SAPSRM/CL_FPM_OVRIDE_GAF

There you can determine event and navigation step. Probably you have to handle 3 events:

a) Next from 1st Step

b) Prev. from 3rd Step

c) Click on 2nd step in the navigation area.

If it is your case - set a static attribute of your Z-class to 'X'.

3. In the WDDOMODIFYVIEW, if Z-class attribute = 'X' perform you actions  and clear an attribute

Regards

K

P.S. Warning!!!

/SAPSRM/CL_FPM_OVRIDE_GAF works for all GAF applications. You can check typeof(me) it will be /SAPSRM/CL_FPM_OVRIDEGAF_SOCO. Actually you can make an enhancement there.

matteo_montalto
Contributor
0 Kudos

Thanks Konstantin,

your solution would surely work; I could even make a Zclass with static attribute (a string) that I could set on each WDDOMODIFYVIEW in each GAF step.. that would be even more simple.

However, I'm quite disappointed that it seems SAP did not provide such a mechanism to retrieve previous & current step phase. I'm quite a newbie on the argument, but it seems there's no way to achieve such a runtime information other than using your workaround.

konstantin_anikeev
Active Contributor
0 Kudos

Hi Matteo,

SAP provides this info, but not in WDDOMODIFYVIEW - hier the navigation is already done.

Too late to get this info.

Could you provide your requirement in details. What want you do by the navigation? Message? Popup? Filter Items? Hide buttons?

Regards

Konstantin

matteo_montalto
Contributor
0 Kudos

Hi Konstantin,

I simply need to perform some rendering operation that has got to be made on a certain step component ONLY if the user come into the view via GAF navigation.


Suppose we're dealing with SRM Sourcing GAF procedure (in 4 steps):

I need to perform some rendering action (e.g. filling some custom entries in result table) on STEP 2 only when the user access it.

So:

- adding unconditionally the code to WDDOMODIFYVIEW will lead to execute my logic everytime an event is triggered in the view... quite resource-consuming;

- adding the code in the IF FIRST_TIME clause will satisfy my requirement only in the very first access to the view by the user. In example, if user passes from step 1 to step 2, then my logic would be executed and everything goes fine. If then the user goes back to step 1 and again to step 2, then the logic will not be triggered anymore.

Hope the requirement is a lil bit clearer

Regards

former_member219762
Contributor
0 Kudos

Hi,

we can get run time information as below

DATA: LO_FPM TYPE REF TO IF_FPM,

        LS_FPM_INFO TYPE  FPM_S_RUNTIME_INFO.

DATA: LO_OIF_INFO TYPE REF TO IF_FPM_GAF_INFO,

        LS_CURRENT_STATE TYPE FPM_S_GAF_INFO,

        LS_TARGET_STATE TYPE FPM_S__GAF_INFO,

  LO_FPM = CL_FPM=>GET_INSTANCE( ).

  LS_FPM_INFO = LO_FPM->GET_RUNTIME_INFO( ).

LO_GAF_INFO ?= LS_FPM_INFO-FLOORPLAN_INFO.

  LS_TARGET_STATE = LO_GAF_INFO->GET_TARGET_STATE( ).

LS_current_STATE = LO_GAF_INFO->GET_CURRENT_STATE( ).

I hope this will help

Regards,

Sreenivas.

Answers (0)