cancel
Showing results for 
Search instead for 
Did you mean: 

SAP GRC Access Control (Create Z WebDynpro for Approval)

Former Member
0 Kudos

Dear all.

I have already read this thread about how to perform a change at WebDynpro level for all the users:

http://scn.sap.com/community/grc/blog/2013/09/04/customizing-access-request-and-approval-screens-in-...

I am really interested in how to modify the Approval screen not the Request Screen. And my requirement is modify Approval Screen for only certain users.

What i want is when a user open their tasks the new pop-up window opened is the Z screen Approval.

So what i have done is i have created a new Z application for GRFN_POWL_INBOX and then i put this application into a Link for my Launchpad.

I have also created a Z application for the Approval screen. The i have a Z screen for Work Inbox and another Z screen for Approval screen. The problem is i don't know how to link this new Approval screen with the Work Inbox screen. I want when i push the button over a task the Z window is called instead of the standar one as you can see into the image below:

Kind regards and thank you.

Sara.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Sara,

As you mentioned that you've copied the exisiting application to custom application. If so, have you tried to run that application independently( i.e direclty ) in explorer by giving the URL?

I think you have given COMPONENT CONFIGURATION instead of APPLICATION CONFIGURATION in launchpad.

Pls let me know the update so that i can guide you,.

Thanks

KH

Former Member
0 Kudos

Hi Katrice.

Yes i have copy both application:

  • GRFN_POWL_INBOX into a new one
  • and GRAC_OIF_REQUEST_APPROVAL into a new


So what i want now is when i access to ZGRFN_POWL_INBOX if i push in a new task then my ZGRAC_OIF_REQUEST_APPROVAL application is called instead of the standard one.


I dont know how to link the Z inbox created with the Z window created for the approval.


Kind regards and thank you.


Sara.

Former Member
0 Kudos

Hi all.

Any additional idea?

Kind regards and thank you.

Former Member
0 Kudos

Hi Sara,

Better you can go with new development of custom inbox. Because AFAIK we cannot push workitems from standard into Z-Inbox.

I have came across the same scenario.But i've developed new custom workinbox with all required modifications.

For this,you can use method IF_POWL_FEEDER~GET_OBJECTS( ) of class CL_GRFN_POWL_INBOX.

And following is the code

DATA: obj                      TYPE REF TO cl_grfn_powl_inbox.
DATA : lw_visible_fields  TYPE powl_visible_cols_sty.
DATA: it_visible_fields    TYPE powl_visible_cols_tty,
          lt_results               TYPE grfn_t_unified_powl,
          lw_results             TYPE grfn_s_unified_powl,
          lt_messages          TYPE powl_msg_tty.

     CONSTANTS lc_subject          TYPE string VALUE 'Subject'.
    CONSTANTS lc_due_date         TYPE string VALUE 'Due Date'.
    CONSTANTS lc_created_by       TYPE string VALUE 'Created By'.
    CONSTANTS lc_created_on       TYPE string VALUE 'Created On'.
    CONSTANTS lc_status               TYPE string VALUE 'Status'.
    CONSTANTS lc_req_type         TYPE string VALUE 'Request Type'.
    CONSTANTS lc_created_by_fld   TYPE char30 VALUE 'CREATED_BY'.
    CONSTANTS lc_created_on_fld   TYPE char30 VALUE 'CREATED_ON'.
    CONSTANTS lc_due_date_fld     TYPE char30 VALUE 'DUE_DATE'.
    CONSTANTS lc_status_desc_fld  TYPE char30 VALUE 'STATUS_DESC'.
    CONSTANTS lc_subject_fld      TYPE char30 VALUE 'SUBJECT'.
    CONSTANTS lc_subject_fld1     TYPE string VALUE 'SUBJECT'.


lw_visible_fields-colid = lc_created_by_fld ."'CREATED_BY'.
    APPEND lw_visible_fields TO it_visible_fields.

    CLEAR lw_visible_fields.
    lw_visible_fields-colid = lc_created_on_fld ."'CREATED_ON'.
    APPEND lw_visible_fields TO it_visible_fields.

    lw_visible_fields-colid = lc_due_date_fld." 'DUE_DATE'.
    APPEND lw_visible_fields TO it_visible_fields.

    CLEAR lw_visible_fields.
    lw_visible_fields-colid = lc_status_desc_fld."'STATUS_DESC'.
    APPEND lw_visible_fields TO it_visible_fields.

    CLEAR lw_visible_fields.
    lw_visible_fields-colid = lc_subject_fld . "'SUBJECT'.
    APPEND lw_visible_fields TO it_visible_fields.


*----->data retrieval for represented object type
    CREATE OBJECT obj.

    CALL METHOD obj->if_powl_feeder~get_objects
      EXPORTING
        i_username       = sy-uname
        i_applid         = 'GRFN_INBOX'
        i_type           = 'GRFN_INBOX'
        i_selcrit_values = lt_selcrit_values
        i_langu          = sy-langu
        i_visible_fields = it_visible_fields
      IMPORTING
        e_results        = lt_results
        e_messages       = lt_messages.

Thanks

KH

Former Member
0 Kudos

Hi Katrice.

Many thanks for your help. I am not an expert over ABAP programming and i would like to indicate in my functional design as many details as i could.

You mean for example create a Z get_objects  and then use it into the if_powl_feeder


CALL METHOD obj->if_powl_feeder~zget_objects


Kind regards and thank you again.


Sara.

Former Member
0 Kudos

Hi Sara,

If you use that method in your z-development, you'll get all work items of logged in user into his z-inbox.

There you can proceed as per your requirement.Pls let me know if you need futher assistance.Always happy to help you.

Thanks

KH

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi all.

Any idea about this topic?

Kind regards and thank you.

Sergio.