<?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: RE: Abap Code Flow for Multiple Authorization checks in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759660#M1116077</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sun,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here are answers to your questions:-&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; Q1. I know that ABAP programmers will put Authority check in ABAP code and when program was executed Authority-check will compare whether user has access to this object or not.&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; for EX take some tcode ZXYY&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; i activated 3 objects out of some 20 objects for this tcode in SU24.&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; Authority checks are placed in the program.&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; when this tcode was executed and started the ABAP code, then i think it will do the authority check for the first object and if user has the profile to it then it will go for the second authority-check for which if user does not had profile ( i made inactive in role)  will the code terminate  and throw some error there it self or will it go for the for 3rd object for which again user has access. (user got access to this 3rd object)&lt;/P&gt;&lt;P&gt;&amp;gt; can any explain?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Answer: What needs to be done after an authority check is entirely the choice of the developer. Right after the statement AUTHORITY-CHECK, the developers check the value of system variable "SY-SUBRC". Normally if the value is NOT EQUAL to ZERO, means that AUTHORITY CHECK has FAILED. Thus the developer may choose not to continue further.&lt;/P&gt;&lt;P&gt;But if the failure of AUTHORITY-CHECK is not so important, then the developer may even choose to continue further. Thus its more of developer's choice what he/she needs to do after the Success/Failure of the AUTHORITY-CHECK statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; Q2. Should the activities be same as in Authority-check.&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; I mean in Authority check if you give activities 02 and 03  and in user profile if i give only 02 will it work or not?&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; thanks,&lt;/P&gt;&lt;P&gt;&amp;gt; Sun&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Answer: Yes this will work fine, provided the allowed activities for the Field ACTVT is 02 and 03 both. So even if one is true, the AUTHORITY-CHECK returns SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 17 Nov 2008 18:42:01 GMT</pubDate>
    <dc:creator>raviprakash</dc:creator>
    <dc:date>2008-11-17T18:42:01Z</dc:date>
    <item>
      <title>RE: Abap Code Flow for Multiple Authorization checks</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759658#M1116075</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am basically a security person, but i have some doubts on Authority-check in ABAP code. so i thought this is best place to understand the execution of ABAP code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Q1. I know that ABAP programmers will put Authority check in ABAP code and when program was executed Authority-check will compare whether user has access to this object or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for EX take some tcode ZXYY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i activated 3 objects out of some 20 objects for this tcode in SU24.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Authority checks are placed in the program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when this tcode was executed and started the ABAP code, then i think it will do the authority check for the first object and if user has the profile to it then it will go for the second authority-check for which if user does not had profile ( i made inactive in role)  will the code terminate  and throw some error there it self or will it go for the for 3rd object for which again user has access. (user got access to this 3rd object)&lt;/P&gt;&lt;P&gt;can any explain?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Q2. Should the activities be same as in Authority-check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I mean in Authority check if you give activities 02 and 03  and in user profile if i give only 02 will it work or not?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Sun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Nov 2008 18:19:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759658#M1116075</guid>
      <dc:creator>Sri_S1</dc:creator>
      <dc:date>2008-11-17T18:19:15Z</dc:date>
    </item>
    <item>
      <title>Re: RE: Abap Code Flow for Multiple Authorization checks</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759659#M1116076</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sun&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Q1: it depends on issue of the program: it can use the authority-check for two main reasons:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- A) To check if the user can do something: so if he can't, the program should be stopped&lt;/P&gt;&lt;P&gt;- B) To check if the user can see something: so if he can't, the program don't display a certain data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So if the authorizations have a certain hierarchy, I can suppose the the first authority-check fails, the program shouldn't test the others, but try to elaborate the next data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;LOOP AT ITAB.
  
   AUTHORITY-CHECK OBJECT &amp;lt;OBJ&amp;gt;
      ID &amp;lt;FIELD&amp;gt; FIELD &amp;lt;VALUE&amp;gt;.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    CONTINUE. " Check next record
  ELSE.
        AUTHORITY-CHECK OBJECT &amp;lt;OBJ2&amp;gt;
      ID &amp;lt;FIELD&amp;gt; FIELD &amp;lt;VALUE&amp;gt;.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this situation it's very important the user has all authorization objects of course.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Q2) In AUTHORITY-CHECK OBJECT statament only one value can be checked: so or It checks if the user has 02 or 03, not both together.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So if you give 02, the autority-check will work for 02 only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anway the developer can skip the check for a certain fields of a an authority object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;AUTHORITY-CHECK OBJECT &amp;lt;OBJ&amp;gt;
        ID ........................................
        ID ACTIVITY FIELD DUMMY.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this situation the autority-check is not dependent on value of activity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Max&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Nov 2008 18:40:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759659#M1116076</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-17T18:40:54Z</dc:date>
    </item>
    <item>
      <title>Re: RE: Abap Code Flow for Multiple Authorization checks</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759660#M1116077</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sun,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here are answers to your questions:-&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; Q1. I know that ABAP programmers will put Authority check in ABAP code and when program was executed Authority-check will compare whether user has access to this object or not.&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; for EX take some tcode ZXYY&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; i activated 3 objects out of some 20 objects for this tcode in SU24.&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; Authority checks are placed in the program.&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; when this tcode was executed and started the ABAP code, then i think it will do the authority check for the first object and if user has the profile to it then it will go for the second authority-check for which if user does not had profile ( i made inactive in role)  will the code terminate  and throw some error there it self or will it go for the for 3rd object for which again user has access. (user got access to this 3rd object)&lt;/P&gt;&lt;P&gt;&amp;gt; can any explain?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Answer: What needs to be done after an authority check is entirely the choice of the developer. Right after the statement AUTHORITY-CHECK, the developers check the value of system variable "SY-SUBRC". Normally if the value is NOT EQUAL to ZERO, means that AUTHORITY CHECK has FAILED. Thus the developer may choose not to continue further.&lt;/P&gt;&lt;P&gt;But if the failure of AUTHORITY-CHECK is not so important, then the developer may even choose to continue further. Thus its more of developer's choice what he/she needs to do after the Success/Failure of the AUTHORITY-CHECK statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; Q2. Should the activities be same as in Authority-check.&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; I mean in Authority check if you give activities 02 and 03  and in user profile if i give only 02 will it work or not?&lt;/P&gt;&lt;P&gt;&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;gt; thanks,&lt;/P&gt;&lt;P&gt;&amp;gt; Sun&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Answer: Yes this will work fine, provided the allowed activities for the Field ACTVT is 02 and 03 both. So even if one is true, the AUTHORITY-CHECK returns SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Nov 2008 18:42:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759660#M1116077</guid>
      <dc:creator>raviprakash</dc:creator>
      <dc:date>2008-11-17T18:42:01Z</dc:date>
    </item>
    <item>
      <title>Re: RE: Abap Code Flow for Multiple Authorization checks</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759661#M1116078</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks for your help&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Nov 2008 19:25:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759661#M1116078</guid>
      <dc:creator>Sri_S1</dc:creator>
      <dc:date>2008-11-17T19:25:09Z</dc:date>
    </item>
    <item>
      <title>Re: RE: Abap Code Flow for Multiple Authorization checks</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759662#M1116079</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks for your help&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Nov 2008 19:25:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759662#M1116079</guid>
      <dc:creator>Sri_S1</dc:creator>
      <dc:date>2008-11-17T19:25:30Z</dc:date>
    </item>
    <item>
      <title>Re: RE: Abap Code Flow for Multiple Authorization checks</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759663#M1116080</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Refer Below Code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;IF &lt;/SPAN&gt;SY&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;TCODE &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'CJ40'&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;AUTHORITY-CHECK &lt;/SPAN&gt;OBJECT &lt;SPAN class="L0S33"&gt;'ZPS_VERSN'&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="L0S31"&gt;"'ZWMM_WERK'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'VERSN' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;bpdy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;VERSN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'ACTVT' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'01'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'ACTVT' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'02'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'ACTVT' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'03' &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;IF &lt;/SPAN&gt;SY&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;SUBRC &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN class="L0S31"&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;elseif &lt;/SPAN&gt;SY&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;SUBRC &amp;lt;&amp;gt; &lt;SPAN class="L0S32"&gt;0&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;AUTHORITY-CHECK &lt;/SPAN&gt;OBJECT &lt;SPAN class="L0S33"&gt;'ZPS_VERSN'&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="L0S31"&gt;"'ZWMM_WERK'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'VERSN' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;bpdy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;VERSN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'ACTVT' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'01'&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;IF &lt;/SPAN&gt;sy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;subrc &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN class="L0S31"&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTINUE.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ELSEIF &lt;/SPAN&gt;sy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;subrc &amp;lt;&amp;gt; &lt;SPAN class="L0S32"&gt;0&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;AUTHORITY-CHECK &lt;/SPAN&gt;OBJECT &lt;SPAN class="L0S33"&gt;'ZPS_VERSN'&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="L0S31"&gt;"'ZWMM_WERK'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'VERSN' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;bpdy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;VERSN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'ACTVT' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'02'&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;IF &lt;/SPAN&gt;sy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;subrc &lt;SPAN class="L0S52"&gt;eq &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0 &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN class="L0S31"&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTINUE.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ELSEIF &lt;/SPAN&gt;sy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;subrc &amp;lt;&amp;gt; &lt;SPAN class="L0S32"&gt;0 &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;AUTHORITY-CHECK &lt;/SPAN&gt;OBJECT &lt;SPAN class="L0S33"&gt;'ZPS_VERSN'&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="L0S31"&gt;"'ZWMM_WERK'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'VERSN' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;bpdy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;VERSN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'ACTVT' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'03'&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;IF &lt;/SPAN&gt;sy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;subrc &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; versn &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;bpdy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;versn&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v_proj &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;proj&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;pspid&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wbs &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;PRPS&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;POSID&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;set &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;PARAMETER &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'PSP' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD&amp;nbsp; &lt;/SPAN&gt;v_proj&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;set &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;PARAMETER &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'BP2' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD&amp;nbsp; &lt;/SPAN&gt;VERSN&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;set &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;PARAMETER &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;ID &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'PRO' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIELD&amp;nbsp; &lt;/SPAN&gt;wbs&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;LEAVE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TO &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TRANSACTION &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'CJ41' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;AND &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;SKIP &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FIRST &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;SCREEN&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ELSEIF &lt;/SPAN&gt;sy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;subrc &lt;SPAN class="L0S52"&gt;ne &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;MESSAGE &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'You are not authorised for this version.' &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'E'&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Nov 2013 07:24:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/re-abap-code-flow-for-multiple-authorization-checks/m-p/4759663#M1116080</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-11-21T07:24:24Z</dc:date>
    </item>
  </channel>
</rss>

