<?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: PBO  &amp; PAI in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495021#M563395</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PBO stands for PRocess Before Output, So as the name suggests it will be called before the screen is shown to the user. So what ever the code that is related to manipulating the UI has to go in PBO modules. Like LOOP AT SCREEN And modifying the SCREEN table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PAI stands for Process After Input,  so this is the place where you want to validate your data, raise messages, errors etc. Also you can group your fields here and monitor them ON REQUEST and ON INPUT using CHAIN ENDCHAIN and FIELD MODULE statements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Apart from them you have POV which is Process ON Value Request. This is the place to put in your code to provide Value Helps for your screen fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 16 Jul 2007 11:26:59 GMT</pubDate>
    <dc:creator>seshatalpasai_madala</dc:creator>
    <dc:date>2007-07-16T11:26:59Z</dc:date>
    <item>
      <title>PBO  &amp; PAI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495018#M563392</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;GIVE ME EXPLANATION ON PBO &amp;amp; PAI .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 10:50:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495018#M563392</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T10:50:01Z</dc:date>
    </item>
    <item>
      <title>Re: PBO  &amp; PAI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495019#M563393</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Abhi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Heres some explanation..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT (PBO) is automatically triggered after the PAI processing of the previous screen and before the current screen is displayed. You can program the PBO processing of the screen in this block. At the end of the PBO processing, the screen is displayed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS AFTER INPUT (PAI) is triggered when the user chooses a function on the screen. You can program the PAI processing of the screen in this block. At the end of the PAI processing, the system either calls the next screen or carries on processing at the point from which the screen was called.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 10:52:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495019#M563393</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T10:52:57Z</dc:date>
    </item>
    <item>
      <title>Re: PBO  &amp; PAI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495020#M563394</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please check out the link below it will help you in understanding PBO and PAI asspects.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_46c/helpdata/en/fc/eb2d67358411d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_46c/helpdata/en/fc/eb2d67358411d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for PBO of the Selection Screen please check out the below link it will help you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/79/34a234d9b511d1950e0000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/79/34a234d9b511d1950e0000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FOR MORE INFORMATION ON PAI PLEASE CHECK OUT THE LINK BELOW IT WILL HELP YOU&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbabfe35c111d1829f0000e829fbfe/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbabfe35c111d1829f0000e829fbfe/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********&lt;STRONG&gt;please reward points if the information is helpful to you&lt;/STRONG&gt;***************&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:12:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495020#M563394</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T11:12:06Z</dc:date>
    </item>
    <item>
      <title>Re: PBO  &amp; PAI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495021#M563395</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PBO stands for PRocess Before Output, So as the name suggests it will be called before the screen is shown to the user. So what ever the code that is related to manipulating the UI has to go in PBO modules. Like LOOP AT SCREEN And modifying the SCREEN table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PAI stands for Process After Input,  so this is the place where you want to validate your data, raise messages, errors etc. Also you can group your fields here and monitor them ON REQUEST and ON INPUT using CHAIN ENDCHAIN and FIELD MODULE statements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Apart from them you have POV which is Process ON Value Request. This is the place to put in your code to provide Value Helps for your screen fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:26:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495021#M563395</guid>
      <dc:creator>seshatalpasai_madala</dc:creator>
      <dc:date>2007-07-16T11:26:59Z</dc:date>
    </item>
    <item>
      <title>Re: PBO  &amp; PAI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495022#M563396</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hI Abhi , &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;P&gt;PBO ( Process Before Output &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; this is an event which  gets triggered before a screen id displayed in the GUI . you code all your initializations for the screens , assign default values kind of things here . and after the PBO event is processed your screen is displayed to the user .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PAI ( Process After Input &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; This is an event which gets triggered once the user does any action on the screen ( any screen operations,  even a mouse click ) . You code in this area when you want to do something based on the user-interactions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For every screen event a PBO and a PAI is called simultaneously.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope these explanations will be of help !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ranjita&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:27:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495022#M563396</guid>
      <dc:creator>former_member196299</dc:creator>
      <dc:date>2007-07-16T11:27:08Z</dc:date>
    </item>
    <item>
      <title>Re: PBO  &amp; PAI</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495023#M563397</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;Screen Flow Logic&lt;/P&gt; &lt;BR /&gt;Screen flow logic contains the procedural part of a screen. You create it in the flow logic editor in the Screen Painter, which is very similar to the ABAP Editor. The language used to program screen flow logic has a similar syntax to ABAP, but is not part of ABAP itself. It is sometimes referred to as screen language.&lt;BR /&gt;&lt;BR /&gt;Unlike ABAP programs, screen flow logic contains no explicit data declarations. You define screen fields by placing elements on the screen mask. &lt;BR /&gt;&lt;BR /&gt;The screen flow logic is like an ABAP program in that it serves as a container for processing blocks. There are four event blocks, each of which is introduced with the screen keyword PROCESS:&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;P&gt;PROCESS BEFORE OUTPUT.&lt;BR /&gt; ...&lt;BR /&gt;&lt;BR /&gt;PROCESS AFTER INPUT.&lt;BR /&gt; ...&lt;BR /&gt;&lt;BR /&gt;PROCESS ON HELP-REQUEST.&lt;BR /&gt; ...&lt;BR /&gt;&lt;BR /&gt;PROCESS ON VALUE-REQUEST.&lt;/P&gt;&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;As in ABAP, the event block is introduced by the corresponding keyword statement, and it concludes either when the next block is introduced, or at the end of the program. The first two statements are created automatically by the Screen Painter when you create a new screen. The corresponding events are triggered by the runtime environment:&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;P&gt;· PROCESS BEFORE OUTPUT&lt;/P&gt;&lt;/B&gt; (PBO) is automatically triggered after the PAI processing of the previous screen and before the current screen is displayed. You can program the PBO processing of the screen in this block. At the end of the PBO processing, the screen is displayed.&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;P&gt;· PROCESS AFTER INPUT&lt;/P&gt;&lt;/B&gt; (PAI) is triggered when the user chooses a function on the screen. You can program the PAI processing of the screen in this block. At the end of the PAI processing, the system either calls the next screen or carries on processing at the point from which the screen was called.&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;P&gt;· PROCESS ON HELP-REQUEST&lt;/P&gt;&lt;/B&gt; (POH) and &lt;B&gt;&lt;P&gt;PROCESS ON VALUE-REQUEST&lt;/P&gt;&lt;/B&gt; (POV) are triggered when the user requests field help (F1) or possible values help (F4) respectively. You can program the appropriate coding in the corresponding event blocks. At the end of processing, the system carries on processing the current screen.&lt;BR /&gt;&lt;BR /&gt;As is normal with events, you must only program event blocks for the events to which you want the flow logic to react. However, the screen flow logic must contain at least the two statements &lt;B&gt;&lt;P&gt;PROCESS BEFORE OUTPUT and PROCESS AFTER INPUT&lt;/P&gt;&lt;/B&gt; in the correct order.&lt;BR /&gt;&lt;BR /&gt;&lt;B&gt;&lt;P&gt;Example of Flow Logic Example&lt;BR /&gt;The following example shows some use of screen flow logic:&lt;/P&gt;&lt;/B&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*------------------------------------------------

*  Sample Code

*---------------------------------------------------

*Processing Before Screen Output

PROCESS BEFORE OUTPUT.

  MODULE INIT_FIELDS.

* Self-programmed F1 Help

PROCESS ON HELP-REQUEST.

  FIELD GSSG-BUKRG MODULE V-BUKRG.

* Processing after user input

PROCESS AFTER INPUT.

* Lock customer master record

CHAIN.

  FIELD GSSG-KTNRG

     MODULE ENQUEUE_CUSTOMER_MASTER.

* Read customer master record

  MODULE READ_CUSTOMER_MASTER.

* Read business area

  MODULE READ_GSSG.

ENDCHAIN.

* Process function code

FIELD OK-CODE MODULE OKCODE ON INPUT.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward  points  if it is usefull ....&lt;/P&gt;&lt;P&gt;Girish&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2007 11:50:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/pbo-pai/m-p/2495023#M563397</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-16T11:50:56Z</dc:date>
    </item>
  </channel>
</rss>

