Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

create authorization data by abap with bapis without using pfcg

0 Likes
1,714

Hi all,

i would like to know how to create roles and its authorization objects from a program using BAPIs without using tx pfcg.

any idea?

thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,057

Hi Gunar,

What I have here for now (that I found sometime ago) is showed below.

I used this FM on my last client and worked fine...

CALL FUNCTION 'PRGN_ACTIVITY_GROUP_ENQUEUE'

    EXPORTING

      activity_group          = i_agr_name

    EXCEPTIONS

      foreign_lock            = 1

      transport_check_problem = 2

      OTHERS                  = 3.

  IF sy-subrc NE 0.

    exit.

  ENDIF.

  CALL FUNCTION 'PRGN_RFC_CREATE_ACTIVITY_GROUP'

    EXPORTING

      ACTIVITY_GROUP                      = i_agr_name

     ACTIVITY_GROUP_TEXT                 = i_agr_text

  •   COMMENT_TEXT_LINE_1                 = ' '
  •   COMMENT_TEXT_LINE_2                 = ' '
  •   COMMENT_TEXT_LINE_3                 = ' '
  •   COMMENT_TEXT_LINE_4                 = ' '

     PROFILE_NAME                        = i_profile

  •   PROFILE_TEXT                        = ' '

     ORG_LEVELS_WITH_STAR                = ''     NO_DIALOG                           = 'X'

  •   UNMAINTAINED_FIELDS_WITH_STAR       = ''

   TEMPLATE                            = ''

  •   ONLY_TCODE_ASSIGNMENT               = ' '
  • TABLES
  •   TCODES                              =
  •   HIERARCHY_NODES                     =
  •   HIERARCHY_TEXTS                     =
  • EXCEPTIONS
  •   ACTIVITY_GROUP_ALREADY_EXISTS       = 1
  •   ACTIVITY_GROUP_ENQUEUED             = 2
  •   NAMESPACE_PROBLEM                   = 3
  •   ILLEGAL_CHARACTERS                  = 4
  •   ERROR_WHEN_CREATING_ACTGROUP        = 5
  •   PROFILE_NAME_EXISTS                 = 6
  •   PROFILE_NOT_IN_NAMESPACE            = 7
  •   NO_AUTH_DATA_SELECTED               = 8
  •   ILLEGAL_TCODES                      = 9
  •   NOT_AUTHORIZED                      = 10
  •   PROFGEN_TABLES_NOT_UPDATED          = 11
  •   ERROR_WHEN_GENERATING_PROFILE       = 12
  •   OTHERS                              = 13

            .  IF SY-SUBRC <> 0.    exit.  ENDIF.    ls_auth_data-object = 'S_RS_AUTH'.  ls_auth_data-field = 'BIAUTH'.  ls_auth_data-low = i_bi_auth.  ls_auth_data-modifier = 'U'.   append ls_auth_data to lt_auth_data.    CALL FUNCTION 'SUPRN_DARK_MANIPULATE_PROFILE'    EXPORTING      ACTIVITY_GROUP                      = i_agr_name      PROFILE_NAME                        = i_profile     USE_EXTERNAL_TEMPLATE_DATA          = 'X'

  •   AUTH_TEMPLATE_TO_ADD                = ' '
  •   FILL_ORGS_WITH_STAR                 = ' '
  •   FILL_FIELDS_WITH_STAR               = 'X'

      NO_DIALOG                           = 'X'

  •   REBUILD_AUTH_DATA                   = 'X'
  •   GENERATE_PROFILE                    = 'X'
  • IMPORTING
  •   PROFILE_TORSO                       =

   TABLES

  •   TCODES                              =

     EXTERNAL_TEMPLATE_DATA              = lt_auth_data

  • EXCEPTIONS
  •   PROFILE_NOT_IN_NAMESPACE            = 1
  •   PROFILE_NAME_EXISTS                 = 2
  •   NO_AUTH_FOR_ROLE_CHANGE             = 3
  •   NO_AUTH_FOR_PROF_CREATION           = 4
  •   NO_AUTH_FOR_AUTH_MAINT              = 5
  •   NO_AUTH_FOR_GEN                     = 6
  •   NO_AUTHS                            = 7
  •   OPEN_AUTHS                          = 8
  •   TOO_MANY_AUTHS                      = 9
  •   ERROR_WHEN_GENERATING_PROFILE       = 10
  •   OTHERS                              = 11

            .  IF SY-SUBRC <> 0.    exit.  ENDIF. 

  •   Dequeue

  CALL FUNCTION 'PRGN_ACTIVITY_GROUP_DEQUEUE'

    EXPORTING

      activity_group = i_agr_name.

  e_ok = 'X'.

After that the Role will be created.

Save the authorizations using FM RSEC_MODIFY_AUTH.

4 REPLIES 4
Read only

Former Member
0 Likes
1,057

Hi Gunar,

Have you tried using FM PRGN_RFC_CREATE_ACTIVITY_GROUP?

Regards.

Read only

0 Likes
1,057

hi rodolfo

could you send me an example (abap code).

thanks in advance

Read only

Former Member
0 Likes
1,058

Hi Gunar,

What I have here for now (that I found sometime ago) is showed below.

I used this FM on my last client and worked fine...

CALL FUNCTION 'PRGN_ACTIVITY_GROUP_ENQUEUE'

    EXPORTING

      activity_group          = i_agr_name

    EXCEPTIONS

      foreign_lock            = 1

      transport_check_problem = 2

      OTHERS                  = 3.

  IF sy-subrc NE 0.

    exit.

  ENDIF.

  CALL FUNCTION 'PRGN_RFC_CREATE_ACTIVITY_GROUP'

    EXPORTING

      ACTIVITY_GROUP                      = i_agr_name

     ACTIVITY_GROUP_TEXT                 = i_agr_text

  •   COMMENT_TEXT_LINE_1                 = ' '
  •   COMMENT_TEXT_LINE_2                 = ' '
  •   COMMENT_TEXT_LINE_3                 = ' '
  •   COMMENT_TEXT_LINE_4                 = ' '

     PROFILE_NAME                        = i_profile

  •   PROFILE_TEXT                        = ' '

     ORG_LEVELS_WITH_STAR                = ''     NO_DIALOG                           = 'X'

  •   UNMAINTAINED_FIELDS_WITH_STAR       = ''

   TEMPLATE                            = ''

  •   ONLY_TCODE_ASSIGNMENT               = ' '
  • TABLES
  •   TCODES                              =
  •   HIERARCHY_NODES                     =
  •   HIERARCHY_TEXTS                     =
  • EXCEPTIONS
  •   ACTIVITY_GROUP_ALREADY_EXISTS       = 1
  •   ACTIVITY_GROUP_ENQUEUED             = 2
  •   NAMESPACE_PROBLEM                   = 3
  •   ILLEGAL_CHARACTERS                  = 4
  •   ERROR_WHEN_CREATING_ACTGROUP        = 5
  •   PROFILE_NAME_EXISTS                 = 6
  •   PROFILE_NOT_IN_NAMESPACE            = 7
  •   NO_AUTH_DATA_SELECTED               = 8
  •   ILLEGAL_TCODES                      = 9
  •   NOT_AUTHORIZED                      = 10
  •   PROFGEN_TABLES_NOT_UPDATED          = 11
  •   ERROR_WHEN_GENERATING_PROFILE       = 12
  •   OTHERS                              = 13

            .  IF SY-SUBRC <> 0.    exit.  ENDIF.    ls_auth_data-object = 'S_RS_AUTH'.  ls_auth_data-field = 'BIAUTH'.  ls_auth_data-low = i_bi_auth.  ls_auth_data-modifier = 'U'.   append ls_auth_data to lt_auth_data.    CALL FUNCTION 'SUPRN_DARK_MANIPULATE_PROFILE'    EXPORTING      ACTIVITY_GROUP                      = i_agr_name      PROFILE_NAME                        = i_profile     USE_EXTERNAL_TEMPLATE_DATA          = 'X'

  •   AUTH_TEMPLATE_TO_ADD                = ' '
  •   FILL_ORGS_WITH_STAR                 = ' '
  •   FILL_FIELDS_WITH_STAR               = 'X'

      NO_DIALOG                           = 'X'

  •   REBUILD_AUTH_DATA                   = 'X'
  •   GENERATE_PROFILE                    = 'X'
  • IMPORTING
  •   PROFILE_TORSO                       =

   TABLES

  •   TCODES                              =

     EXTERNAL_TEMPLATE_DATA              = lt_auth_data

  • EXCEPTIONS
  •   PROFILE_NOT_IN_NAMESPACE            = 1
  •   PROFILE_NAME_EXISTS                 = 2
  •   NO_AUTH_FOR_ROLE_CHANGE             = 3
  •   NO_AUTH_FOR_PROF_CREATION           = 4
  •   NO_AUTH_FOR_AUTH_MAINT              = 5
  •   NO_AUTH_FOR_GEN                     = 6
  •   NO_AUTHS                            = 7
  •   OPEN_AUTHS                          = 8
  •   TOO_MANY_AUTHS                      = 9
  •   ERROR_WHEN_GENERATING_PROFILE       = 10
  •   OTHERS                              = 11

            .  IF SY-SUBRC <> 0.    exit.  ENDIF. 

  •   Dequeue

  CALL FUNCTION 'PRGN_ACTIVITY_GROUP_DEQUEUE'

    EXPORTING

      activity_group = i_agr_name.

  e_ok = 'X'.

After that the Role will be created.

Save the authorizations using FM RSEC_MODIFY_AUTH.

Read only

0 Likes
1,057

thank you very much , i will try it...

in case of doubts i will post you