cancel
Showing results for 
Search instead for 
Did you mean: 

Custom expression

Former Member
0 Kudos

Hi experts,

I have a scenario where I need to check the value of a custom field (this field is incorporated in the screen for the object already) to fomulate the condition in the expression which is used for the Process Schema evaluation. How do I do that?

I am new to SRM workflow. From my understanding I assume it has to be thru a custom expression. Do I need to create the expression using Implemeting Class - 0CF001 and attach a function module to get the value of that field from the object.

Thanks in advance.

If anyone has a sample code, please share it.

Thanks & regards,

SV.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi SV,

Expression is a rule to evaluate the event.

The process flows like this :

SRM Application  Triggers the Event (attached to the application class SRM_WF)  Triggers the Process Schema +with the help of custom expression+  Triggers the Process level  Process level will be evaluated by the Evaluation ID  If the process is true process level is executed else will go to next process level.

Since the field is a custom field, need to know whether it is in Header level or item level. You can check the field value details from BBP_PD transaction. Using the FM: BBP_PD_XX_GETDETAIL get the item and header details by passing the document GUID by using the standard expression (E.g.: For RFX:0V_RQ_STATUSOBJNR).

Pseudo Code for the higlighted part(To evaluate the process schema):

  • Get the GUID & Creator ID of the RFX document

LOOP AT it_expressions INTO wa_expression.

IF wa_expression-param_ref = c_usrnam.

v_userid = wa_expression-result_value+0(12).

ENDIF.

IF wa_expression-param_ref = c_objnr.

v_guid = wa_expression-result_value+0(32).

ENDIF.

ENDLOOP.

  • FM to fetch the document header values

CALL FUNCTION 'BBP_PD_BID_GETDETAIL'

EXPORTING

i_guid = v_guid

IMPORTING

e_header = wa_header.

If wa_header-customfield = u2018Xu2019.

ev_type = c_evtype.

CLEAR ev_currency.

ev_output_length = 32.

ev_length = 32.

ev_decimals = 0.

ev_value = u201CProcess Schema value needs to be passedu201D.

Endif.

Regards

Kannaiah

Answers (0)