Upload
arun-varshney
View
230
Download
2
Embed Size (px)
DESCRIPTION
werth
Citation preview
10/15/2015 Workflow Display users assigned to Rules Code Gallery SCN Wiki
http://wiki.scn.sap.com/wiki/display/Snippets/Workflow++Display+users+assigned+to+Rules 1/6
Getting Started Newsletters Store
Search the Community
Welcome, Guest Login Register
Products Services & Support About SCN Downloads
Industries Training & Education Partnership Developer Center
Lines of Business University Alliances Events & Webinars Innovation
Code Gallery
Created by Sriramasubramanian S, last modified on Oct 28, 2008
Workflow Display users assigned to Rules
Generic Report to identify users assigned to any workflow rule.
Selection Screen paramaters are Workflow Rule Number, Rule Parameter, User Name .
Rule parameter can be added to the code as defined in the rule. Dyanamic selection screen displays all parameters and required one can be selected from selection screen.
ALV Grid output will contain following fields
Rule Id , Rule Description, Responsibility Id,Responsibility Description,User Organization Chart Position, User id, User Long Name, Rule Parameter, Rule From Value ,Rule To Value, Rule valid from date, Rule valid to date,Rule Changed by, Rule Changed by User
REPORT Z_WORKFLOW_RULE_USER_LIST.*************************************************************************‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐** T A B L E S **‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐*type‐pools: slis.TABLES: HRS1000, HRP1240, Hrp1000,HRP1001,TRDYSE01CM,HRV1218_RO,USR21,ADRP.*‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐** S E L E C T I O N S C R E E N S **‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐*SELECTION‐SCREEN BEGIN OF BLOCK blk1 WITH FRAME.SELECT‐OPTIONS : S_OBJID FOR HRS1000‐OBJID, S_ELEMT FOR hrv1218_ro‐element NO INTERVALS DEFAULT 'AMOUNT', S_USER FOR TRDYSE01CM‐USERNAME.parameters : P_VARI like disvariant‐variant.SELECTION‐SCREEN END OF BLOCK blk1.*‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐** V A R I A B L E S **‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐*DATA : IT_HRS1000 LIKE HRS1000 OCCURS 0 WITH HEADER LINE, IT_HRP1000_TEXT LIKE HRP1000 OCCURS 0 WITH HEADER LINE, IT_HRP1240 LIKE HRP1240 OCCURS 0 WITH HEADER LINE, IT_HRP1001 LIKE HRP1001 OCCURS 0 WITH HEADER LINE, IT_HRP1001_ALIAS LIKE HRP1001 OCCURS 0 WITH HEADER LINE, IT_HRV1218_RO LIKE HRV1218_RO OCCURS 0 WITH HEADER LINE.DATA : IT_HRP1001_USERDAT LIKE HRP1001 OCCURS 0 WITH HEADER LINE.DATA : BEGIN OF IT_FINALOUTPUT OCCURS 0. INCLUDE STRUCTURE HRP1001.DATA : BEGDAT LIKE HRV1218_RO‐BEGDA, ENDDAT LIKE HRV1218_RO‐ENDDA, ELEMENT LIKE HRV1218_RO‐ELEMENT, TYPE LIKE HRV1218_RO‐TYPE, EXPR_LOW LIKE HRV1218_RO‐EXPR_LOW, EXPR_HIGH LIKE HRV1218_RO‐EXPR_HIGH, STEXT LIKE HRP1000‐STEXT, USERID LIKE HRP1001‐SOBID, NAME_FIRST LIKE ADRP‐NAME_FIRST, NAME_LAST LIKE ADRP‐NAME_LAST, NAME_TEXT LIKE ADRP‐NAME_TEXT, CHNGDT LIKE HRP1001‐AEDTM, CHNGBY LIKE HRP1001‐UNAME, MOBJID LIKE HRS1000‐OBJID, MSTEXT LIKE HRS1000‐STEXT, POSTEXT LIKE HRS1000‐STEXT.DATA : END OF IT_FINALOUTPUT.DATA : BEGIN OF IT_HRP1001_TMP OCCURS 0, SOBJID LIKE HRP1001‐SOBID, END OF IT_HRP1001_TMP.
10/15/2015 Workflow Display users assigned to Rules Code Gallery SCN Wiki
http://wiki.scn.sap.com/wiki/display/Snippets/Workflow++Display+users+assigned+to+Rules 2/6
DATA : W_TMPOBJID LIKE HRP1000‐OBJID, g_repid LIKE SY‐REPID, g_save(1), REPTIT TYPE LVC_TITLE.DATA: w_fieldcat TYPE slis_t_fieldcat_alv, w_layout TYPE slis_layout_alv.CONSTANTS : C_SAVE VALUE 'X'.DATA: BEGIN OF fields OCCURS 10. INCLUDE STRUCTURE help_value.DATA: END OF fields.DATA: BEGIN OF valuetab OCCURS 10, line(80),END OF valuetab.*&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐**& Action block *&*&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐*initialization. g_repid = sy‐repid. g_save = 'A'. "The user may save all types of a layout *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐** S T A R T ‐ O F ‐ S E L E C T I O N **‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐*START‐OF‐SELECTION. PERFORM Select_data.*&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐**& Form update_documents*&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐** text*‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐** ‐‐> p1 text* <‐‐ p2 text*‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐*FORM Select_data.Select * from HRS1000 into table IT_HRS1000 where otype = 'AC' AND OBJID IN S_OBJID.REPTIT = IT_HRS1000‐STEXT.Select * from HRP1240 INTO TABLE IT_HRP1240 FOR ALL ENTRIES IN IT_HRS1000 WHERE EXT_OTYPE = 'AC' AND EXT_OBJID = IT_HRS1000‐OBJID.Select * from HRP1000 into table IT_HRP1000_TEXT FOR ALL ENTRIES IN IT_HRP1240 where otype = 'RY' AND OBJID = IT_HRP1240‐OBJID.Select * from HRP1001 INTO TABLE IT_HRP1001 FOR ALL ENTRIES IN IT_HRP1240 WHERE OTYPE = 'RY' AND OBJID = IT_HRP1240‐OBJID.Loop at IT_HRP1001.W_TMPOBJID = IT_HRP1001‐SOBID.Select * from HRP1001 INTO TABLE IT_HRP1001_USERDAT WHERE OTYPE = 'S' AND OBJID = W_TMPOBJID AND SCLAS = 'US' AND SOBID IN S_USER.LOOP AT IT_HRP1001_USERDAT. MOVE‐CORRESPONDING IT_HRP1001_USERDAT TO IT_HRP1001_ALIAS. IT_HRP1001_ALIAS‐OTJID = IT_HRP1001‐OBJID. "Main Object ID ‐ Used on Temporary Field APPEND IT_HRP1001_ALIAS. CLEAR IT_HRP1001_ALIAS.ENDLOOP.CLEAR IT_HRP1001_USERDAT.REFRESH IT_HRP1001_USERDAT.Endloop.LOOP AT IT_HRP1001_ALIAS.CLEAR IT_HRV1218_RO.REFRESH IT_HRV1218_RO.Select * from HRV1218_RO INTO TABLE IT_HRV1218_RO WHERE OTYPE = 'RY' AND OBJID = IT_HRP1001_ALIAS‐OTJID AND
10/15/2015 Workflow Display users assigned to Rules Code Gallery SCN Wiki
http://wiki.scn.sap.com/wiki/display/Snippets/Workflow++Display+users+assigned+to+Rules 3/6
ELEMENT IN S_ELEMT. LOOP AT IT_HRV1218_RO WHERE OBJID = IT_HRP1001_ALIAS‐OTJID. MOVE‐CORRESPONDING IT_HRP1001_ALIAS TO IT_FINALOUTPUT. READ TABLE IT_HRP1000_TEXT WITH KEY OTYPE = 'RY' OBJID = IT_HRP1001_ALIAS‐OTJID. SELECT SINGLE * FROM USR21 WHERE BNAME = IT_HRP1001_ALIAS‐SOBID. SELECT SINGLE * FROM ADRP WHERE PERSNUMBER = USR21‐PERSNUMBER. IT_FINALOUTPUT‐SOBID = IT_HRP1001_ALIAS‐OTJID. "Object Id IT_FINALOUTPUT‐BEGDAT = IT_HRV1218_RO‐BEGDA. IT_FINALOUTPUT‐ENDDAT = IT_HRV1218_RO‐ENDDA. IT_FINALOUTPUT‐ELEMENT = IT_HRV1218_RO‐ELEMENT. IT_FINALOUTPUT‐TYPE = IT_HRV1218_RO‐TYPE. IT_FINALOUTPUT‐EXPR_LOW = IT_HRV1218_RO‐EXPR_LOW. IT_FINALOUTPUT‐EXPR_HIGH = IT_HRV1218_RO‐EXPR_HIGH. IT_FINALOUTPUT‐STEXT = IT_HRP1000_TEXT‐STEXT. IT_FINALOUTPUT‐NAME_FIRST = ADRP‐NAME_FIRST. IT_FINALOUTPUT‐NAME_LAST = ADRP‐NAME_LAST. IT_FINALOUTPUT‐NAME_TEXT = ADRP‐NAME_TEXT. IT_FINALOUTPUT‐CHNGDT = IT_HRP1001_ALIAS‐AEDTM. IT_FINALOUTPUT‐CHNGBY = IT_HRP1001_ALIAS‐UNAME. IT_FINALOUTPUT‐USERID = IT_HRP1001_ALIAS‐SOBID. IT_FINALOUTPUT‐MOBJID = IT_HRV1218_RO‐EXT_OBJID. READ TABLE IT_HRS1000 WITH KEY OBJID = IT_HRV1218_RO‐EXT_OBJID. IT_FINALOUTPUT‐MSTEXT = IT_HRS1000‐STEXT. Select single * from hrp1000 where otype = 'S' and objid = IT_HRP1001_ALIAS‐OBJID AND ENDDA = '99991231'. IT_FINALOUTPUT‐POSTEXT = hrp1000‐STEXT. APPEND IT_FINALOUTPUT.ENDLOOP.ENDLOOP.**LOOP AT IT_FINALOUTPUT.**ENDLOOP.PERFORM summary_field_catalog USING w_fieldcat[]. PERFORM layout_build. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy‐cprog it_fieldcat = w_fieldcat[] i_grid_title = REPTIT is_layout = w_layout I_SAVE = 'A' TABLES t_outtab = IT_FINALOUTPUT EXCEPTIONS program_error = 1 OTHERS = 2. IF sy‐subrc <> 0. PERFORM build_raise_message. ENDIF.ENDFORM. " update_documents FORM layout_build . w_layout‐zebra = 'X'. w_layout‐no_vline = ''. w_layout‐expand_all = 'X'. w_layout‐colwidth_optimize = 'X'. w_layout‐detail_popup = 'X'. w_layout‐detail_initial_lines = 'X'. w_layout‐item_text = 'X'. w_layout‐group_buttons = 'X'.ENDFORM. " layout_build FORM build_raise_message .* Calling standard function module to display the messages. DATA l_msgtext(60) TYPE c VALUE IS INITIAL. CALL FUNCTION 'MESSAGE_TEXT_BUILD' EXPORTING msgid = sy‐msgid msgnr = sy‐msgno msgv1 = sy‐msgv1 msgv2 = sy‐msgv2
10/15/2015 Workflow Display users assigned to Rules Code Gallery SCN Wiki
http://wiki.scn.sap.com/wiki/display/Snippets/Workflow++Display+users+assigned+to+Rules 4/6
msgv3 = sy‐msgv3 msgv4 = sy‐msgv4 IMPORTING message_text_output = l_msgtext. MESSAGE e010 WITH l_msgtext.ENDFORM. " build_raise_message FORM summary_field_catalog USING lt_fldcat TYPE slis_t_fieldcat_alv. DATA: l_field TYPE slis_fieldcat_alv VALUE IS INITIAL. REFRESH lt_fldcat. CLEAR l_field. l_field‐fieldname = 'MOBJID'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Object Type'(001). l_field‐outputlen = 10. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'MSTEXT'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Object Name'(002). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'SCLAS'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Object Type'(003). l_field‐outputlen = 10. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'SOBID'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Object Id'(004). l_field‐outputlen = 10. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'STEXT'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Object Name'(005). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'OTYPE'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'RO Type'(006). l_field‐outputlen = 20. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'OBJID'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Related Obj. Id'(007). l_field‐outputlen = 20. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'USERID'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'User Id'(008). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'NAME_TEXT'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'User Name'(009). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'ELEMENT'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'ELEMENT'(010). l_field‐outputlen = 20. APPEND l_field TO lt_fldcat.
10/15/2015 Workflow Display users assigned to Rules Code Gallery SCN Wiki
http://wiki.scn.sap.com/wiki/display/Snippets/Workflow++Display+users+assigned+to+Rules 5/6
CLEAR l_field. l_field‐fieldname = 'EXPR_LOW'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'From'(011). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'EXPR_HIGH'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'To'(012). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'BEGDAT'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Valid From'(013). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'ENDDAT'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Valid To'(014). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'CHNGDT'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Changed date'(015). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'CHNGBY'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Changed by'(016). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. CLEAR l_field. l_field‐fieldname = 'POSTEXT'. l_field‐tabname = 'IT_FINALOUTPUT'. l_field‐seltext_l = 'Position Name'(017). l_field‐outputlen = 40. APPEND l_field TO lt_fldcat. ENDFORM. at selection‐screen on value‐request for p_vari.DATA : lref_layout type disvariant, spec_layout type disvariant, "specific layout g_exit type c. move g_repid to lref_layout‐report. call function 'LVC_VARIANT_F4' exporting is_variant = lref_layout i_save = g_save importing e_exit = g_exit es_variant = spec_layout exceptions not_found = 1 others = 2. if sy‐subrc ne 0. message id sy‐msgid type sy‐msgty number sy‐msgno with sy‐msgv1 sy‐msgv2 sy‐msgv3 sy‐msgv4. else. if g_exit ne 'X'. p_vari = spec_layout‐variant. endif. endif.
10/15/2015 Workflow Display users assigned to Rules Code Gallery SCN Wiki
http://wiki.scn.sap.com/wiki/display/Snippets/Workflow++Display+users+assigned+to+Rules 6/6
*** Required New parameters assigned in Rule can be added here AT SELECTION‐SCREEN ON VALUE‐REQUEST FOR s_elemt‐low. CLEAR fields. REFRESH fields. CLEAR valuetab. REFRESH valuetab. fields‐tabname = 'HRV1218_RO'. fields‐fieldname = 'ELEMENT'. fields‐selectflag = 'X'. APPEND fields. CLEAR fields. valuetab‐line = 'AMOUNT'. APPEND valuetab. valuetab‐line = 'CURRENCY'. APPEND valuetab. valuetab‐line = 'AUTHLEVEL'. APPEND valuetab. valuetab‐line = 'COMPANYCODE'. APPEND valuetab. valuetab‐line = 'CURRENCY'. APPEND valuetab. valuetab‐line = 'DIVISION'. APPEND valuetab. valuetab‐line = 'GLACCOUNT'. APPEND valuetab. valuetab‐line = 'PAYMENTMETHOD'. APPEND valuetab. valuetab‐line = 'WOREASON'. APPEND valuetab. valuetab‐line = 'MAINTRANSACTION'. APPEND valuetab. valuetab‐line = 'SUBTRANSACTION'. APPEND valuetab. * Call the help value screen CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE' EXPORTING display = space fieldname = 'ELEMENT' tabname = 'HRV1218_RO' titel = 'Window title' IMPORTING select_value = s_elemt‐low TABLES valuetab = valuetab fields = fields.
workflow rule responsibility organization snippet
Follow SCNContact Us SAP Help PortalPrivacy Terms of Use Legal Disclosure Copyright