<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Programatically Creating Profiles via ABAP in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/programatically-creating-profiles-via-abap/m-p/1616799#M276213</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you put it in a user exit to create personalized profiles on the fly when the user accesses the transaction for the first time? There have already been a few posts here looking for this sort of stuff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your break-point refers to a BAPI which implies that the user themself (or another on their behalf) possibly needs authorizations to assign profiles to users. Or did you do that dynamically?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Interesting topic...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Julius&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 23 Sep 2006 08:23:54 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-09-23T08:23:54Z</dc:date>
    <item>
      <title>Programatically Creating Profiles via ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/programatically-creating-profiles-via-abap/m-p/1616798#M276212</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm posting this little "prototype" that I've been researching to see if anyone has done something similiar.  Also hoping that someone will let me know what I've missed in my thought process.  This is something I put together for a CRM project but applies to all basis systems(4.6C to Netweaver 2004s).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's my code, self explanatory(se38 program):&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  Z_PFCG_AUTOMATION_HACK                                      *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;  Test security program to create a copy of a Profile, then create   *&lt;/P&gt;&lt;P&gt;*&amp;amp;  the authorization profile, and finally set the value and generate  *&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_PFCG_AUTOMATION_HACK                  .&lt;/P&gt;&lt;P&gt;DATA I_PROF LIKE PT1016 OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;data: AGR_PROF type table of AGR_PROF with header line.&lt;/P&gt;&lt;P&gt;data: s_agr_define like agr_define.&lt;/P&gt;&lt;P&gt;data: my_agr_define like agr_define.&lt;/P&gt;&lt;P&gt;data: my_bp_number type STRING.&lt;/P&gt;&lt;P&gt;data: P_G_PROFILE like agr_1016-profile.&lt;/P&gt;&lt;P&gt;data: PROFILE_TEXT like agr_prof-ptext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Establish some fake values to work with&lt;/P&gt;&lt;P&gt;s_agr_define-agr_name = 'CRM1:11111'.&lt;/P&gt;&lt;P&gt;my_agr_define-agr_name = 'CRM1:22222'.&lt;/P&gt;&lt;P&gt;my_bp_number = '11111'.&lt;/P&gt;&lt;P&gt;P_G_PROFILE = 'TESTING123'.&lt;/P&gt;&lt;P&gt;PROFILE_TEXT = 'testing123'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Step 1: Copy an existing role into a new role&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_COPY_AGR'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    SOURCE_AGR                     = my_agr_define-agr_name&lt;/P&gt;&lt;P&gt;    TARGET_AGR                     = s_agr_define-agr_name&lt;/P&gt;&lt;P&gt;    DISTRIBUTE_SINGLE_ROLE         = ' '&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    TARGET_AGRNAME_NOT_FREE        = 1&lt;/P&gt;&lt;P&gt;    SOURCE_AGR_NOT_EXISTS          = 2&lt;/P&gt;&lt;P&gt;    NO_AUTHORITY_FOR_USER_INSERT   = 3&lt;/P&gt;&lt;P&gt;    NO_AUTHORITY_FOR_TCODES_INSERT = 4&lt;/P&gt;&lt;P&gt;    NO_AUTHORITY_FOR_OBJECT_INSERT = 5&lt;/P&gt;&lt;P&gt;    NO_AUTHORITY_FOR_SROLE_INSERT  = 6&lt;/P&gt;&lt;P&gt;    NO_AUTHORITY_FOR_SROLE_SHOW    = 7&lt;/P&gt;&lt;P&gt;    FLAG_NOT_EXISTING              = 8&lt;/P&gt;&lt;P&gt;    ACTION_CANCELLED               = 9&lt;/P&gt;&lt;P&gt;    NO_AUTH_FOR_OBJECTS_AND_USERS  = 10&lt;/P&gt;&lt;P&gt;    NO_AUTH_FOR_SROLES_AND_USERS   = 11&lt;/P&gt;&lt;P&gt;    OTHERS                         = 12.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*Step 2: Create the authorization profile&lt;/P&gt;&lt;P&gt;CLEAR AGR_PROF.&lt;/P&gt;&lt;P&gt;AGR_PROF-MANDT    = SY-MANDT.&lt;/P&gt;&lt;P&gt;AGR_PROF-AGR_NAME = s_agr_define-agr_name.&lt;/P&gt;&lt;P&gt;AGR_PROF-PROFILE = P_G_PROFILE.&lt;/P&gt;&lt;P&gt;AGR_PROF-PTEXT   = PROFILE_TEXT.&lt;/P&gt;&lt;P&gt;AGR_PROF-LANGU   = SY-LANGU.&lt;/P&gt;&lt;P&gt;if AGR_PROF-PROFILE is initial.&lt;/P&gt;&lt;P&gt;  delete agr_prof.&lt;/P&gt;&lt;P&gt;  exit.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;  APPEND AGR_PROF.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;I_PROF-PROFILE = P_G_PROFILE.&lt;/P&gt;&lt;P&gt;I_PROF-GENERATED = 'X'.&lt;/P&gt;&lt;P&gt;CLEAR: I_PROF-VARIANT, I_PROF-PSTATE.&lt;/P&gt;&lt;P&gt;APPEND I_PROF.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_1016_SAVE_PROFILE_NAME'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ACTIVITY_GROUP = AGR_PROF-AGR_NAME&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    I_PROF         = I_PROF&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    OTHERS         = 1.&lt;/P&gt;&lt;P&gt;*These two function calls are necessary to commit the change&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_UPDATE_DATABASE'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    OTHERS = 1.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_CLEAR_BUFFER'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    OTHERS = 1.&lt;/P&gt;&lt;P&gt;*Must also do a generate to have it active before changing&lt;/P&gt;&lt;P&gt;*Do the Generate!&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SUPRN_PROFILE_BATCH'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ACT_OBJID             = AGR_PROF-AGR_NAME&lt;/P&gt;&lt;P&gt;    ENQUEUE               = 'X'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    OBJID_NOT_FOUND       = 1&lt;/P&gt;&lt;P&gt;    NO_AUTHORIZATION      = 2&lt;/P&gt;&lt;P&gt;    GENERATION_NOT_ACTIVE = 3&lt;/P&gt;&lt;P&gt;    EMPTY_AUTHORIZATIONS  = 4&lt;/P&gt;&lt;P&gt;    ENQUEUE_FAILED        = 5&lt;/P&gt;&lt;P&gt;    NOT_GENERATED         = 6&lt;/P&gt;&lt;P&gt;    OTHERS                = 7.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*Step 3: Modify the person responsible- Table AGR_1251&lt;/P&gt;&lt;P&gt;data: my_auth_data type table of PT1250 with header line.&lt;/P&gt;&lt;P&gt;*Returns the Profile Name for the Role, don't actually use this&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'PRGN_1250_READ_AUTH_DATA'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ACTIVITY_GROUP    = AGR_PROF-AGR_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   AUTH_DATA         = my_auth_data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NO_DATA_AVAILABLE = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS            = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;data: my_field_values type table of PT1251 with header line.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_1251_READ_FIELD_VALUES'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ACTIVITY_GROUP    = AGR_PROF-AGR_NAME&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    FIELD_VALUES      = my_field_values&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    NO_DATA_AVAILABLE = 1&lt;/P&gt;&lt;P&gt;    OTHERS            = 2.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*Change the value of the Person Responsible here!(agr_1251)&lt;/P&gt;&lt;P&gt;*my_bp_number has the value of the new person responsible&lt;/P&gt;&lt;P&gt;data: my_itab type table of PT1251 with header line.&lt;/P&gt;&lt;P&gt;read table my_field_values with key object = 'CRM_TPMRES'&lt;/P&gt;&lt;P&gt;FIELD = 'MKTPL_RESP' into my_itab.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;  my_itab-LOW = my_bp_number.&lt;/P&gt;&lt;P&gt;  modify my_field_values from my_itab INDEX sy-tabix TRANSPORTING LOW.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_1251_SAVE_FIELD_VALUES'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ACTIVITY_GROUP = AGR_PROF-AGR_NAME&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    FIELD_VALUES   = my_field_values.&lt;/P&gt;&lt;P&gt;*Not sure if this is necessary but seems to work so better be safe&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_UPDATE_DATABASE'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    OTHERS = 1.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_CLEAR_BUFFER'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    OTHERS = 1.&lt;/P&gt;&lt;P&gt;*Step 4: Generate the profile so that it's active&lt;/P&gt;&lt;P&gt;*Could use SUPRN_PROFILE_GENERATOR but it has a SAPGUI,&lt;/P&gt;&lt;P&gt;*you'd have to click the icon to generate it, maybe good to show the&lt;/P&gt;&lt;P&gt;*data to security&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Check to see if you have authority to perform the generate!&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_AUTH_ACTIVITY_GROUP'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ACTIVITY_GROUP  = AGR_PROF-AGR_NAME&lt;/P&gt;&lt;P&gt;    ACTION_GENERATE = 'X'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    NOT_AUTHORIZED  = 1&lt;/P&gt;&lt;P&gt;    OTHERS          = 2.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Do the Generate to make sure the profile is ready for user compare!&lt;/P&gt;&lt;P&gt;*This is like clicking the "Generate" button in PFCG.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SUPRN_PROFILE_BATCH'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ACT_OBJID             = AGR_PROF-AGR_NAME&lt;/P&gt;&lt;P&gt;    ENQUEUE               = 'X'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    OBJID_NOT_FOUND       = 1&lt;/P&gt;&lt;P&gt;    NO_AUTHORIZATION      = 2&lt;/P&gt;&lt;P&gt;    GENERATION_NOT_ACTIVE = 3&lt;/P&gt;&lt;P&gt;    EMPTY_AUTHORIZATIONS  = 4&lt;/P&gt;&lt;P&gt;    ENQUEUE_FAILED        = 5&lt;/P&gt;&lt;P&gt;    NOT_GENERATED         = 6&lt;/P&gt;&lt;P&gt;    OTHERS                = 7.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*Step 5: Add the user to the role using the BAPI&lt;/P&gt;&lt;P&gt;break-point.&lt;/P&gt;&lt;P&gt;*Didn't bother to put in this code since we know the BAPI works!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Step 6: perform the user compare to get the green light for the role.&lt;/P&gt;&lt;P&gt;*This can only be called after the profile exists!!&lt;/P&gt;&lt;P&gt;*Not sure if this is really necessary but I like that everything is&lt;/P&gt;&lt;P&gt;*green afterwords&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'PRGN_ACTIVITY_GROUP_USERPROF'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ACTIVITY_GROUP                = AGR_PROF-AGR_NAME&lt;/P&gt;&lt;P&gt;    EXPERT_MODE_WITHOUT_UPDATE    = ' '&lt;/P&gt;&lt;P&gt;    HR_MODE                       = ' '&lt;/P&gt;&lt;P&gt;    ACTION_INSERT                 = 'X'&lt;/P&gt;&lt;P&gt;    ACTION_DELETE                 = 'X'&lt;/P&gt;&lt;P&gt;    DISPLAY_MESSAGES              = 'X'&lt;/P&gt;&lt;P&gt;    DELETE_INVALID_PROFILES       = 'X'&lt;/P&gt;&lt;P&gt;    ONLY_IMPORTANT_MESSAGES       = ' '&lt;/P&gt;&lt;P&gt;    ONLY_DISTRIBUTE_USERS         = ' '&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    NO_AUTHORITY_FOR_USER_COMPARE = 1&lt;/P&gt;&lt;P&gt;    AT_LEAST_ONE_USER_ENQUEUED    = 2&lt;/P&gt;&lt;P&gt;    AUTHORITY_INCOMPLETE          = 3&lt;/P&gt;&lt;P&gt;    NO_PROFILES_AVAILABLE         = 4&lt;/P&gt;&lt;P&gt;    TOO_MANY_PROFILES_IN_USER     = 5&lt;/P&gt;&lt;P&gt;    CHILD_AGR_ENQUEUED            = 6&lt;/P&gt;&lt;P&gt;    OTHERS                        = 7.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*All Done!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 19:46:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/programatically-creating-profiles-via-abap/m-p/1616798#M276212</guid>
      <dc:creator>alexander_schuchman</dc:creator>
      <dc:date>2006-09-22T19:46:57Z</dc:date>
    </item>
    <item>
      <title>Re: Programatically Creating Profiles via ABAP</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/programatically-creating-profiles-via-abap/m-p/1616799#M276213</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you put it in a user exit to create personalized profiles on the fly when the user accesses the transaction for the first time? There have already been a few posts here looking for this sort of stuff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your break-point refers to a BAPI which implies that the user themself (or another on their behalf) possibly needs authorizations to assign profiles to users. Or did you do that dynamically?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Interesting topic...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;Julius&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 23 Sep 2006 08:23:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/programatically-creating-profiles-via-abap/m-p/1616799#M276213</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-23T08:23:54Z</dc:date>
    </item>
  </channel>
</rss>

