<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3442924027074770804</id><updated>2026-10-19T04:12:56.093+05:30</updated><category term="HR ABAP"/><category term="Workflow"/><category term="WebDynpro"/><category term="SAP TM"/><category term="SAP Time Management"/><category term="Search Help"/><category term="Certification"/><category term="MaxAttention"/><category term="SAP"/><category term="t"/><title type='text'>KK&amp;#39;s SAP Technical Blog</title><subtitle type='html'>wandering in the SAP jungle</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-2938314047299996821</id><published>2013-09-20T08:33:00.001+05:30</published><updated>2013-09-22T05:01:05.164+05:30</updated><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
My favorite books on SAP&lt;br /&gt;
1.&lt;a href=&quot;http://www.amazon.com/gp/product/1592294359/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1592294359&amp;linkCode=as2&amp;tag=la0fb-20&quot;&gt;SAP Certified Development Associate ABAP with SAP NetWeaver 7.02&lt;/a&gt;&lt;img src=&quot;http://ir-na.amazon-adsystem.com/e/ir?t=la0fb-20&amp;l=as2&amp;o=1&amp;a=1592294359&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot; /&gt;


This book is a must for ABAP certification. read more about it on my SAP certification Blog.&lt;br /&gt;
&lt;br /&gt;
2.&amp;nbsp;&lt;a href=&quot;http://www.amazon.com/gp/product/1592292631/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1592292631&amp;amp;linkCode=as2&amp;amp;tag=la0fb-20&quot;&gt;Design Patterns in Object-oriented ABAP&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://ir-na.amazon-adsystem.com/e/ir?t=la0fb-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1592292631&quot; style=&quot;border: none !important; margin: 0px !important;&quot; width=&quot;1&quot; /&gt;&lt;br /&gt;
Learn Object Oriented Programming from this book&lt;br /&gt;
&lt;div&gt;
Unlike the other OOPs book, this one helps you to desing your solution based on typical practical problems. Learning it using the design patterns helps you to appreciate the OO concepts much better and helps you to use it in your everyday work.&lt;br /&gt;
&lt;br /&gt;
3. &lt;a href=&quot;http://www.amazon.com/gp/product/1592294316/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1592294316&amp;amp;linkCode=as2&amp;amp;tag=la0fb-20&quot; target=&quot;_blank&quot;&gt;Learn HR ABAP&lt;/a&gt;&lt;br /&gt;
This one is the latest book on HR / HCM ABAP and help you to get you ready working on HCM area&lt;br /&gt;
&lt;br /&gt;
4. &lt;a href=&quot;http://www.amazon.com/gp/product/1592292852/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1592292852&amp;amp;linkCode=as2&amp;amp;tag=la0fb-20&quot; target=&quot;_blank&quot;&gt;Practical Workflow&lt;/a&gt;&lt;br /&gt;
This book is form the Workflow Guru and can act as your working guide for workflow area. This also has a special page for Workflow Administration which is a invaluable guide working in Workflow support projects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm-na.amazon-adsystem.com/e/cm?t=la0fb-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1592292631&amp;amp;ref=qf_sp_asin_til&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/2938314047299996821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2013/09/my-favorite-books-on-sap-sap-abap.html#comment-form' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/2938314047299996821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/2938314047299996821'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2013/09/my-favorite-books-on-sap-sap-abap.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-9117225834021448890</id><published>2012-05-10T13:35:00.000+05:30</published><updated>2012-06-07T15:41:33.766+05:30</updated><title type='text'>Preparing for SAP HCM Certification</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Personnel Administration&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Personnel Area:&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
Defaulting Payroll Area&lt;br /&gt;
Authorizations&lt;br /&gt;
Examples: Bangalore, Hyderabad, Chennai &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Personnel Subarea&lt;/i&gt; &lt;br /&gt;
To specify country grouping&lt;br /&gt;
Country grouping is used for Pay Scale group and Processing of wagetypes&lt;br /&gt;
Groupings for Time Management: restricts Work Schedules, restricts Leave Types&lt;br /&gt;
Generate default Payscale Type and Payscale Area in IT8&lt;br /&gt;
Define Personnel subarea specific wage types&lt;br /&gt;
Public Holiday Calendar is assigned at this level &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Employee Group&lt;/i&gt;&lt;br /&gt;
To default Payroll accounting Area&lt;br /&gt;
Default values in IT8&lt;br /&gt;
Authorizations&lt;br /&gt;
Examples: Active, Retirees, Early Retirees&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Employee Subgroup&lt;/i&gt;&lt;br /&gt;
PCRs are defined at this level&lt;br /&gt;
Grouping for primary wagetypes: restricts validity of wagetypes for an employee group&lt;br /&gt;
Grouping for collective agreement provision: restricts Pay Scale groups for an employee group&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt; &lt;/i&gt;Defaulting Payroll accounting area and other data entry fields&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Other view&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Payroll Accounting Area&lt;/i&gt;&lt;br /&gt;
Can be defaulted by Employee Subgroup&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Payscale Group&lt;/i&gt;&lt;br /&gt;
Restricted by Employee subgroup grouping for collective agreement provision&lt;br /&gt;
&lt;i&gt; &lt;/i&gt;Restricted by Personnel Subarea country grouping&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Scenario for Plan version&lt;br /&gt;
Downsizing&lt;br /&gt;
Restructuring&lt;br /&gt;
Expansion&lt;br /&gt;
Outsourcing&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; While hiring, default values for Personnel Area, Personnel Subarea, Employee group and Employee Subgroup can be given by maintaining Account Assignment Features Infotype (1013) for the position.&lt;br /&gt;
&lt;br /&gt;
Personnel Development&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;E-Recruiting&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;-&lt;/i&gt; Process starts when Requisition is raised. It can be raised by manager or recruiter. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Education Training and Event Management&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Time Management is not directly integrated with OM.&lt;br /&gt;
&lt;b&gt; &lt;/b&gt;All Qualifications are centrally stored in a Catalog&lt;br /&gt;
&lt;br /&gt;
Qualifying Actions are grouped into Development plans &lt;br /&gt;
&lt;br /&gt;
There are four main processes&lt;br /&gt;
1. Business event Preparation:&amp;nbsp; Creation of resources, Times schedules, Locations, Event groups, Event types&lt;br /&gt;
2. Business Event Catalog: Create actual events with dates/resources/locations&lt;br /&gt;
3. Day-to-day Activities: Booking attendance, cancelling attendance, Attendance&lt;br /&gt;
4. Recurring Activities: Booking events, canceling events, Locking and unlocking events&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Multiple Actions on Same day&lt;/b&gt;&lt;br /&gt;
As we know Action infotype stores only one action per day.&lt;br /&gt;
Action Infotype also stores Employment Status, Special Payment Status and Customer defined status in it.&lt;br /&gt;
&lt;br /&gt;
On any day, only one action that &lt;i&gt;changes employee&#39;s status&lt;/i&gt; is allowed. The action which changes employee&#39;s status is stored in IT 0000 and the other actions get stored on IT 0302.&lt;br /&gt;
&lt;br /&gt;
If there is a second action which changes employee&#39;s status is executed, then the original action will be overwritten.&lt;br /&gt;
&lt;br /&gt;
IT 0302 does not have status fields.&lt;br /&gt;
&lt;br /&gt;
Personal File (PA10) shows Actions and Additional Actions together.&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PA-OM Integration is Active =&amp;gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
--&amp;gt; &quot;Position&quot; is available in Action Infotype (PA40) screen&lt;br /&gt;
--&amp;gt; &quot;Position&quot;, &quot;Cost Center&quot;, &quot;Job&quot; cannot be edited in 0001 single screen&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Personnel Subarea&lt;/b&gt;&lt;br /&gt;
--&amp;gt; Personnel Subarea is not available in IGMOD feature (Sequence of Infotypes screens within a infogroup)&lt;br /&gt;
--&amp;gt; Personnel Subarea is not available in NUMKR feature (Number Range)&lt;br /&gt;
--&amp;gt; Personnel Subarea cannot be used for authorization check.&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;ESG Grouping and PSA
Grouping&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;Common groupings&lt;/i&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Primary Wage types and Wage maintenance&lt;/li&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Time Quota Types&lt;/li&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Appraisals&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;i&gt;ESG specific groupings&lt;/i&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;PCRs&lt;/li&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Collective Agreement Provision&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;i&gt;PSA specific groupings&lt;/i&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Absence and Attendance types&lt;/li&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Substitution Types and Availability Types&lt;/li&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Attendance and Absence counting&lt;/li&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Time recording&lt;/li&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Premiums&lt;/li&gt;
&lt;li&gt;-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;Work Schedule&lt;/li&gt;
&lt;/ul&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;b&gt;Allowance grouping &lt;/b&gt;is made of five components&lt;br /&gt;
Payscale type&lt;br /&gt;
Payscale area&lt;br /&gt;
Payscale group&lt;br /&gt;
Payscale level&lt;br /&gt;
ESG grouping for CAP&lt;br /&gt;
&lt;br /&gt;
Allowance grouping is used to indirectly evaluate wagetypes.&lt;br /&gt;
&amp;nbsp;------------------------------------------------------------------------------------------------- &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/9117225834021448890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2012/05/preparing-for-sap-hcm-certification.html#comment-form' title='44 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/9117225834021448890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/9117225834021448890'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2012/05/preparing-for-sap-hcm-certification.html' title='Preparing for SAP HCM Certification'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>44</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-2764144802720680513</id><published>2012-05-08T11:59:00.002+05:30</published><updated>2012-05-08T16:55:21.811+05:30</updated><title type='text'>ABAPer&#39;s guide to SAP CRM</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Let us explore SAP CRM from view point of a core ABAP developer&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;CRM Processes Supported&lt;/b&gt;&lt;br /&gt;
SAP&#39;s CRM software supports 4 broad processes&lt;br /&gt;
1. E-Marketing: Campaign, Customer Loyalty, Personalization, Store Locator&lt;br /&gt;
2. E-Commerce: B2B, B2C, Order-to-Cash&lt;br /&gt;
3. E-Service: Service order, Complaint, Status,  Tracking, Payment, Feedback,&lt;br /&gt;
4. Web Channel Analytics&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Technical Framework&lt;/b&gt;&lt;br /&gt;
BOL and GenIal are the two parts of CRM&#39;s technical framework. Genial (Generic Interaction Layer is a generic concept and BOL is a specific concept related to CRM)&lt;br /&gt;
&lt;br /&gt;
BOL: Business Object Layer: This is where the data is modeled. It contains Structures, Associations, Compositions, Aggregations. I.e. BOL provides a consistent way of data modelling. At run time BOL layer holds data. There are seven different BOL object types.&lt;br /&gt;
&lt;br /&gt;
GenIal: This is a Class which communicates between BOL and DB tables. Contains code which reads the business data and loads BOL objects. They are called as Genial classes.&lt;br /&gt;
&lt;br /&gt;
CRM WebUI: CRM uses BSP technology for the UI. This component is called as CRM Web UI. Software component is BSP_WD_CMPWB.&lt;br /&gt;
&lt;br /&gt;
SAP provides a sample package CRM_GENIL_SAMPLE which can be used for education purpose.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;More on BOL:&lt;/b&gt;&lt;br /&gt;
BOL model can be viewed at Tcode: GENIL_MODEL_BROWSER &lt;br /&gt;
BOL Browser:&amp;nbsp; GENIL_BOL_BROWSER : Here you can test run various queries and operations provided by BOL&lt;br /&gt;
&lt;br /&gt;
BOL can be any of 7 object type. Below is the list with an example each &lt;br /&gt;
A- Root Object&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; : Order&lt;br /&gt;
B- Access Object&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; : Order Item&lt;br /&gt;
C- Dependent Object&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Shipment Data&lt;br /&gt;
D - Search Object&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; : Order Query, Order Item Query&lt;br /&gt;
E - Search Result Object&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;
F - View Object&lt;br /&gt;
G - Dynamic Search Object&lt;br /&gt;
&lt;br /&gt;
BOL layer is closely linked with the presentation layer. The BSP UI contexts are directly linked with the BOL objects.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;More on GenIal:&lt;/b&gt;&lt;br /&gt;
The GenIal class specific to a business a scenario will inherit from root class CL_CRM_GENIL_ABSTR_COMPONENT. This class implements two interfaces, one for retrieving the model and other for getting the data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Let us look at Sample Package to understand more&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/2764144802720680513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2012/05/learning-sap-crm.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/2764144802720680513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/2764144802720680513'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2012/05/learning-sap-crm.html' title='ABAPer&#39;s guide to SAP CRM'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-7700664490758023847</id><published>2011-11-17T13:58:00.001+05:30</published><updated>2011-11-17T14:01:51.834+05:30</updated><title type='text'>Compare WebDynpro and Modulepool Architectures</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
To understand WD better, here is how I would compare WebDynpro architecture componenets with Module Pool architecture.&lt;br /&gt;
&lt;br /&gt;
WD Component&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;gt;&amp;nbsp; Module Pool Program&lt;br /&gt;
WD Views&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;&amp;nbsp; &amp;nbsp;-----&amp;gt; Module Pool Screens&lt;br /&gt;
WD Application (URL&amp;nbsp; )-----&amp;gt; Module Pool Transaction(Tcode)&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/7700664490758023847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/11/compare-webdynpro-and-modulepool.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/7700664490758023847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/7700664490758023847'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/11/compare-webdynpro-and-modulepool.html' title='Compare WebDynpro and Modulepool Architectures'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-4058684439393265827</id><published>2011-11-09T11:10:00.003+05:30</published><updated>2011-11-09T11:11:01.827+05:30</updated><title type='text'>SM30 / SM31 : Capture changes in a Transport Request</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hi friends,&lt;br /&gt;
&lt;br /&gt;
Objective: You have created a custom table and want to ensure that any change happens to the table entries should be captured in a customizing trasnport request.&lt;br /&gt;
&lt;br /&gt;
Solution: One of the option is to manually add the entries into a transport request. This can be tedious if you have to do it repeatedly. Instead you can make the system to ask for transport request every time a change is made.&lt;br /&gt;
&lt;br /&gt;
To make this, go to the table maintenance generator. &lt;br /&gt;
In the below part of the screen, select &quot;no, or user, recording routine&quot;. Save your table maintenenace generator. Now, whenever you change entries using SM30 or SM31, a transport request will capture the changes.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-1trXjyJZUD8/TroSQF9x6jI/AAAAAAAAAq8/lhgDPu04Ao4/s1600/SM31.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;86&quot; ida=&quot;true&quot; src=&quot;http://4.bp.blogspot.com/-1trXjyJZUD8/TroSQF9x6jI/AAAAAAAAAq8/lhgDPu04Ao4/s400/SM31.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Have a nice day. :-)&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/4058684439393265827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/11/sm30-sm31-capture-changes-in-transport.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/4058684439393265827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/4058684439393265827'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/11/sm30-sm31-capture-changes-in-transport.html' title='SM30 / SM31 : Capture changes in a Transport Request'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-1trXjyJZUD8/TroSQF9x6jI/AAAAAAAAAq8/lhgDPu04Ao4/s72-c/SM31.JPG" height="72" width="72"/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-7257735587590761990</id><published>2011-08-16T20:50:00.000+05:30</published><updated>2013-09-22T07:08:03.324+05:30</updated><title type='text'>SAP Workflow Interview Questions &amp; Answers</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;What are the different types of WF Agents?&lt;/b&gt;&lt;br /&gt;
1.Possible Agents&lt;br /&gt;
Users who are authorized to execute the task&lt;br /&gt;
Configured during &lt;b&gt;Task &lt;/b&gt;definition (Org Unit, Position, User, Work Center, Role, Rule)&lt;br /&gt;
If a Task is configured as General Task, then all users become possible users.&lt;br /&gt;
&lt;br /&gt;
2.Responsible Agents&lt;br /&gt;
The users to whom the work item needs to be sent.&lt;br /&gt;
This is set during &lt;b&gt;Step&lt;/b&gt; definition. Note that Possible agents are defined during Task definition.
(Org Unit, Position, User, Work Center, Role, Rule, Container Element)
&lt;br /&gt;
Note: The work item recipients is determined by intersection of Possible Agents and Responsible Agents. &lt;br /&gt;
&lt;br /&gt;
3.Actual Agents&lt;br /&gt;
Actual user who executed the dialog task&lt;br /&gt;
&lt;br /&gt;
4.Excluded Agents&lt;br /&gt;
Users who are not supposed to execute the dialog task (even if they are in possible agents)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;A very good Book for learning and Practicing Workflo&lt;/b&gt;w&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.flipkart.com/practical-workflow-sap-2ed-gatling-2-ed/p/itmdykyghy5bq2cz?pid=9781592292851&amp;affid=krishnakam&quot;&gt;Practical Workflow for Sap 2ed&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What are the agent determination techniques?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Rule Resolution with responsibility: Helpful when a set of static positions are responsible for action.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Rule resolution with Function (FM): Helpful when agents are determined dynamically from business logic.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Rule resolution with OM: Usually used in CRM. Have not used&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Rule resolution with Function, but asynchronously: This is through a class and a method. Initially WI is created in status ready without agent. Later agent is assigned. This is suitable for agent determination having complex logic.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Users: Rarely used.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Role: Ex: ABAP_DEVELOPER&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; OM objects (Position, Org Unit, work center)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Expression: A container element containing the agents.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Containers&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Workflow Container:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Task Container:&lt;br /&gt;
&lt;br /&gt;
SWC_GET_CONTAINER&lt;br /&gt;
SWC_GET_TABLE&lt;br /&gt;
SWC_SET_CONTAINER&lt;br /&gt;
SWC_SET_TABLE&lt;br /&gt;
&lt;br /&gt;
Event Container:&lt;br /&gt;
Method Container:&lt;br /&gt;
Rule Container: For resolving rules&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Business Objects&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Key Fields:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Attributes:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Database: Automatically gets populated by system code&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Virtual: You determine the content and use SWC_SET_CONTAINER to populate&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Methods: Can be created using FM, Transaction, Report, Dialog Module, Other&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Synchronous: Finish execution before handling the control back to the task.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Asynchronous: Return the control back immediately. Cannot have export parameters. They depend on events to return results back to the calling program.&lt;br /&gt;
&lt;br /&gt;
Dialog: Something to user&lt;br /&gt;
Background: Cannot have messages or exceptions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What are the options to implement method of a BO?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; FM&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BAPI&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Tcode&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dialog Module&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Report&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Other (BO program)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How to extend a BO?&lt;/b&gt;&lt;br /&gt;
Got SWO1 and enter a BO that you want to extend. Click on ‘New Subtype’ Give all the details.&lt;br /&gt;
Go back to SW01, enter the BO, and goto Settings Delegate.&lt;br /&gt;
Example:&lt;br /&gt;
BUS7051: Notification,&lt;br /&gt;
BUS1001: Material,&lt;br /&gt;
BUS2012: Purchase Order,&lt;br /&gt;
BUS1065: Employee&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Various status of BO&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Modeled: Not accessible at runtime&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Implemented: Not ready to be used, Internal use only&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Released: For customer to use&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Obsolete: Don’t use anymore&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;b&gt;To change attribute values from methods of a BO&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWC_GET_CONTAINER&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWC_SET_CONTAINER&lt;br /&gt;
&lt;br /&gt;
Events:&lt;br /&gt;
&lt;b&gt;How to create Events?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HR Tables: SWEHR2/3&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ABAP Code user Exit: SWE_EVENT_CREATE&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Change Document: SWEC&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status management:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Message Control:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Event Linkage: SWE2&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Subtype:&lt;/b&gt;&lt;br /&gt;
Key field cannot be created. Methods and attributes can be created.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Delegate:&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; If you want to change the functionality of a method, define a sub type, redefine the method, delegate the parent business object to child object.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;Interface&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Interface is a combination of Attributes, Methods and Events, to reduce the redundancy in definition.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; IFSAP: Common interface for all BOs. It has following methods&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Method: Display&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Method: Existence Check&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Attribute; ObjectType&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Different Workflow Steps activities&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Condition:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Multiple Conditions:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Until Loop:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Fork:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Send Mail:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Container Operations:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Event Creator:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Wait Event:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Process Control&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Different deadline conditions&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Requested Start: When this date is met, only then the work item will start execution, or available for taking action (dialog).&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Latest Start: When a date mentioned here is met, it can send an email, or can be modeled to do something action.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Requested End: Same as Latest Start&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Latest End: Same as Latest Start&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Important Tcodes&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Workflow Toolbox: SWUS&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Simulate Event: SWU0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Business Object Repository: SW01&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Event Trace: SWEL (S)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Workitems per task: SWI2_FREQ&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWUE: Event simulate&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWEL: Event log&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWELS: Set event log ON&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWE2: Linkage between Event and Workflow&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWEHR2: Event linkage in HR&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWU3: Workflow customizing&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWU_OBUF: Synchronize buffers&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWI5: Look into other user’s SBWP&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;What are the Important background Jobs for workflow?:&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWWDHEX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For deadline monitoring&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWWERRE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For error Monitoring &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SWEQSRV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Event Queue Delivery&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;Workflow experience:&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; What are the workflows created by you? Worked upon by you?&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Function Module that creates workflow&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SAP_WAPI_START_WORKFLOW:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SAP_WAPI_CREATE_EVENT&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SAP_WAPI_WORKITEM_RECIPIENTS&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SAP_WAPI_GET_WORKITEM_DETAIL&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;When a infotype action is performed, an event should trigger, and a workflow subsequently. How can I configure it?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Answer: Tcode SWEHR2&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;When a infotype action is performed, an FM should trigger, and a workflow subsequently. How can I configure it?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Answer: Tcode SWEHR2&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Workflow is not triggering... what can be the reason?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; What are the different ways of triggering a workflow?&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Triggering Events, which are set up in SWE2 (generic), SWEHR2 (HR)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SAP_WAPI_START_WORKFLOW&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Workflow triggered, but it did not come to the user, why?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What are the difference between a Business Object and a Class?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How to achieve dynamic parallel processing?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; There are three ways a parallel processing can be implemented&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dynamic parallel processing using a multi-line container element&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fork (3 out of 5)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Work queue&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; In dynamic processing the type of each entry in the table have to be of same type.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Same task will be processed for each line of the multi-line container. It can be a dialog or background task. Deadline monitoring, binding, agent determination will be same for each work item generated To achieve, go to “Miscellaneous” in the activity, and enter the multi line container element.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How to notify a user immediately in R/3 that he has got an email?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark the priority as ‘1’ Express&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How can we debug a workflow?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If it is a dialog task, you can set breakpoint in the method called by the task&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If it is a method that you want to debug, use SWO1, and create a instance of the object and debug the methods&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If it is a background task, and you are in development client, you can do the following. Create an infinite loop in the method you want to debug. Go to SM50 (processes overview) and select the relevant item, and select debug from option.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Huge number of events is getting created in a short duration of time, and thus creating a huge load on the system and making it very slow. Solution?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enable event queue. It will ensure that triggered events are received in a phased manner. This needs to be done while providing event linkages.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Why ‘Process Control’ is used? What are its features?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ‘Process Control’ is used to manipulate another work item of the workflow during runtime.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ‘Process Control’ is usually used to model the workflow when deadlines are reached. SAP offers 4 standard behaviors as part of process control.&lt;br /&gt;
&lt;br /&gt;
Cancel Work item: Target WI is logically deleted. Subsequent tasks are not executed. Precondition is that Process control and the target WI have to be in different branches of the same fork.&lt;br /&gt;
Set Work item to obsolete: The target WI is set to complete, and processing continues in the branch processing obsolete.&lt;br /&gt;
Cancel Workflow: Current workflow is set to ‘Complete’. If this is the sub workflow, then the control goes to super-ordinate workflow.&lt;br /&gt;
Complete (terminate) Workflow: Same as above, but the branch of super-ordinate workflow which contains the current sub-workflow will not be continued.&lt;br /&gt;
Cancel Workflow including all callers: Same as above, but all callers also will be ‘COMPLETE’d.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is the integration point with ESS Portal?&lt;/b&gt;&lt;br /&gt;
Tcode SWFVISU&lt;br /&gt;
Portal config file for UWL&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What are the types of work items?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dialog Work item - W&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Background work item&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Workflow work item&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Work queue work item&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Missed deadline work item: When a deadline is missed a missed deadline workitem with the message appears in inbox&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;What are the different statuses of a work item?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Waiting&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Ready&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Reserved&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Inprocess&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Executed (‘confirm end of processing’ in task definition)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Completed&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Logically deleted&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Error&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;Difference between Asynchronous and Synchronous methods in a task&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; A work item created as part of synchronous in locked until end of the method execution. But in asynchronous, work item is locked only until start of method execution.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; At least one terminating event is required for a task using Asynchronous task&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is the use of secondary methods in an Activity?&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A modal call&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Before work item executing&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; After work item execution&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is the BO method called for the task which calls UWL WD screens? Why?&lt;/b&gt;&lt;br /&gt;
EXTSRV --&amp;gt; PROCESS&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What are Programmer exits? And why are they used?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is the use of “Advance with dialog”?&lt;/b&gt;&lt;br /&gt;
If this indicator is set for an activity, workflow system checks if the processer of current task is also a recipient for next task. If yes, then the next task will be executed immediately.&lt;br /&gt;
&lt;br /&gt;
-----------To be continued--------------------&lt;br /&gt;
&lt;br /&gt;
Meanwhile this is a very good book if you want to learn and practice workflow. The workflow Admin chapter is invaluable if you are working in a support project.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.amazon.com/gp/product/1592292852/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1592292852&amp;amp;linkCode=as2&amp;amp;tag=la0fb-20&quot; target=&quot;_blank&quot;&gt;Practical Workflow for SAP&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/7257735587590761990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/08/sap-workflow-interview-questions.html#comment-form' title='229 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/7257735587590761990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/7257735587590761990'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/08/sap-workflow-interview-questions.html' title='SAP Workflow Interview Questions &amp; Answers'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>229</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-4447057426745048561</id><published>2011-08-02T12:56:00.002+05:30</published><updated>2011-08-02T13:00:01.976+05:30</updated><title type='text'>Hacking SAP (Ethical :)  )</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;YOU ARE RESPONSIBLE FOR ANY LOSSES ARISING OUT OF USING ANY OF THE BELOW CONTENT. USE IT IN YOUR OWN DISCRETION&lt;br /&gt;
&lt;br /&gt;
In my understanding hacking is nothing but getting access which you are not supposed to get. Here I explain various ways of getting access to various things in SAP. This is also an education to SAP Security team, andd they can analyze these loopholes. That is why I call it ethical.&lt;br /&gt;
&lt;br /&gt;
Ensure that you use these techniques only in your development or test systems. Never try in Production.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Execute a unauthorized Tcode ? Use SA38&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;What will you get?&lt;/i&gt;&lt;br /&gt;
To execute a Tcode for which you do not have access&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;What do you need to have?&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
Access to Tcode SA38,&lt;br /&gt;
This applies only to Report Tcodes, not to Module-pool Tcodes&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;How to do it?&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
Login to any system where you have access to the target Tcode. (Example : AL08)&lt;br /&gt;
Go to System --&amp;gt; Status and find the name of the program which is triggered by your target Tcode.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpLRJjkNcMFIVG8V5zs13WJCUkarcT3N1u6Ekb5-2GO04pY96w6SDzGVMPz46mk6xM6eq4WMT0ICF3NyO9kD1AhDJMU6vTGB220TWaeVg2T4SWlEuP4PUBUtDPVzFcC9dsKK9QQ3caZZk/s1600/status.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpLRJjkNcMFIVG8V5zs13WJCUkarcT3N1u6Ekb5-2GO04pY96w6SDzGVMPz46mk6xM6eq4WMT0ICF3NyO9kD1AhDJMU6vTGB220TWaeVg2T4SWlEuP4PUBUtDPVzFcC9dsKK9QQ3caZZk/s400/status.JPG&quot; width=&quot;297&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Now go to SA38 and execute this program. In this case it is RSUSR000.&lt;i&gt; &lt;/i&gt;This hack works because there is no authorization check inside the program. Rather the check is at Tcode level.&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;What is the trail?&lt;/i&gt;&lt;br /&gt;
Unless you are monitored using system trace, there is no trail you will leave behind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b closure_uid_d84p0y=&quot;117&quot; closure_uid_veyer=&quot;108&quot;&gt;Updating contents of a table (SE16 - Classic debugger)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;What will you get?&lt;/i&gt;&lt;br /&gt;
- You can create/edit/delete table entries using SE16. This hack makes use of earlier ability available in SE16 to create/edit/delete entries.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;What do you need to have?&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
- SE16 access&lt;br /&gt;
&lt;div closure_uid_ucyrdd=&quot;118&quot;&gt;- Change access in debug mode &lt;/div&gt;&lt;br /&gt;
&lt;i&gt;How to do it?&lt;/i&gt;&lt;br /&gt;
Go to SE16 --&amp;gt;Display and select the entry you want to delete/edit/copy&lt;i&gt; --&amp;gt;&lt;/i&gt;switch on the debug mode&lt;i&gt; --&amp;gt;&lt;/i&gt;Press F7 --&amp;gt; Switch to Classic debugger (from menu &#39;Debugger&#39;)--&amp;gt;In the classic debugger press F7 --&amp;gt;You see below screen.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1q1rju5iJ8-IczhI9CbJsSswwYBG_fica2DEYPNCaBA6M7Qnn3qZf2Fucl8PsKREXtG8GLmovKGBwKTDl1iBW0doJmazbF3gmFlMykt1xPIE661L2SHPaaTNMAwP2Ec356SEAsV3DhLo/s1600/SE16.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1q1rju5iJ8-IczhI9CbJsSswwYBG_fica2DEYPNCaBA6M7Qnn3qZf2Fucl8PsKREXtG8GLmovKGBwKTDl1iBW0doJmazbF3gmFlMykt1xPIE661L2SHPaaTNMAwP2Ec356SEAsV3DhLo/s320/SE16.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Now change SHOW to EDIT and press F8. You are in the edit mode now. Similarly you can Edit/delete/create entries.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;What is the trail?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Unfortunately this does not leave any trail. So impossible to detect, unless trace is set on the performing user.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Any authorization you want temporarily? table USRBF2&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;What will you get?&lt;/i&gt;&lt;br /&gt;
Any authorization you want. It will remain for around 2 to 3 hours.&amp;nbsp;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;What do you need to have?&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
Change access to table &lt;b&gt;USRBF2&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;How to do it? &lt;/i&gt;&lt;br /&gt;
Find out the authorization object required by you.&lt;br /&gt;
&lt;div closure_uid_ucyrdd=&quot;192&quot;&gt;Create an entry in table USRBF2 using debugging access.&lt;/div&gt;&lt;br /&gt;
&lt;i&gt;What is the trail?&lt;/i&gt;&lt;br /&gt;
Entry in this table will say that you have the access. But this entry will get deleted after 2-3 hours.&lt;br /&gt;
System trace will show that you get the access due to this table.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Want SAP* access? Table USREFUS&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;What will you get?&lt;/i&gt;&lt;br /&gt;
SAP* access, that is ALL the access is the system&lt;i&gt; &lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;What do you need to have?&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;div closure_uid_ucyrdd=&quot;119&quot;&gt;- SE16 access&lt;/div&gt;- Change access in debug mode &lt;br /&gt;
&lt;div closure_uid_ucyrdd=&quot;188&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div closure_uid_ucyrdd=&quot;189&quot; style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;i&gt;How to do it? &lt;/i&gt;&lt;/div&gt;Create an entry like below using the debugging access in SE16&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ48zVfmkRBCTtM4mhFRsZVrzU23dOm7Tv_e8BYazch9FvzMXD3pSffKJPxQxL4ajuI4DMR3rS9HX7HQSgZL356kq_dFBL7drwivWT9r1QdwY085t1Pybxmgj3Y4243gndvb0N4xQMI6k/s1600/userfus.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;115&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ48zVfmkRBCTtM4mhFRsZVrzU23dOm7Tv_e8BYazch9FvzMXD3pSffKJPxQxL4ajuI4DMR3rS9HX7HQSgZL356kq_dFBL7drwivWT9r1QdwY085t1Pybxmgj3Y4243gndvb0N4xQMI6k/s400/userfus.JPG&quot; t$=&quot;true&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;i&gt;What is the trail?&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;div closure_uid_veyer=&quot;129&quot;&gt;- Entry in the table will mean that you have the access. The access will remain as long as the entry remains.&lt;/div&gt;&lt;div closure_uid_veyer=&quot;129&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div closure_uid_veyer=&quot;129&quot;&gt;Hope you enjoyed!&lt;/div&gt;&lt;div closure_uid_veyer=&quot;129&quot;&gt;-KK&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/4447057426745048561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/08/hacking-sap-ethical.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/4447057426745048561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/4447057426745048561'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/08/hacking-sap-ethical.html' title='Hacking SAP (Ethical :)  )'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpLRJjkNcMFIVG8V5zs13WJCUkarcT3N1u6Ekb5-2GO04pY96w6SDzGVMPz46mk6xM6eq4WMT0ICF3NyO9kD1AhDJMU6vTGB220TWaeVg2T4SWlEuP4PUBUtDPVzFcC9dsKK9QQ3caZZk/s72-c/status.JPG" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-648076842162443376</id><published>2011-08-01T18:56:00.019+05:30</published><updated>2011-08-02T12:41:49.543+05:30</updated><title type='text'>Huge SELECTs reuslting in Time out: What is the solution?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div closure_uid_ukrs4j=&quot;121&quot;&gt;&lt;strong&gt;&amp;nbsp;I have an SQL statement which is timing out. It uses primary key and all usual options of tuning have been tried. What do you suggest?&lt;/strong&gt;&lt;/div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Cursors with “Package SIZE” are useful to avoid time-out issues while fetching huge number of records.&lt;br /&gt;
&lt;div closure_uid_ukrs4j=&quot;131&quot;&gt;&lt;br /&gt;
&lt;/div&gt;A SELECT statement transfers entire result set into the application server. Where as when CURSOR is used with PACKAGE SIZE, only the number of rows mentioned in PACKAGE statement is copied in one go. &lt;br /&gt;
&lt;div closure_uid_ukrs4j=&quot;130&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div closure_uid_ukrs4j=&quot;130&quot;&gt;For example if your result set has 5 million records, using a SELECT statement would time-out. This is because in one database fetch, all 5 million records would be tried to transfer into the application server, thus timing out. &lt;/div&gt;&lt;br /&gt;
But if I use a CURSOR with 10,000 as package size, there would be 500 database fetches, but there would not be any time-out since only 10,000 records will be fetched in one go.&lt;br /&gt;
&lt;br /&gt;
But, yes, there is a sacrifice we have done due to 499 extra fetches. What if we use a package size of 1 million?&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/648076842162443376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/08/huge-selects-reuslting-in-time-out.html#comment-form' title='50 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/648076842162443376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/648076842162443376'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/08/huge-selects-reuslting-in-time-out.html' title='Huge SELECTs reuslting in Time out: What is the solution?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>50</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-4758046348590172884</id><published>2011-07-07T21:37:00.000+05:30</published><updated>2011-07-07T21:37:13.284+05:30</updated><title type='text'>Enhancement concept in SAP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;SAP Provides five types of enhancement techniques. These are the ways to deviate/enhance from the SAP provided code/logic.&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;User Exits:&lt;/b&gt; The first type of modification/enhancement technique introduced by SAP. This is predominantly available in SD module and very rare in other modules. This is in fact a modification to SAP code, hence needs &quot;Access Key&quot;.Through user exits changes can be done only to code (thus business logic), not to screens or menus. SAP provides empty FORM - ENDFORM routines, in which programmer can write his code. You can search for a user exit in a program using the key word &quot;USEREXIT&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Customer Exits:&lt;/b&gt; This was the next type of technique provided by SAP after user exit. This is available generally in all modules. Unlike User Exits, this is not a modification, hence you do not require an access key to implement it. In addition to code changes, you have option to enhance screens and menus as well. SAP provides Z includes which get called by standard code. Programmers write the code in this Z include. You can search for a customer exit using the key word &quot;CALL CUSTOMER&quot;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;BADI (SE18)&amp;nbsp; &lt;/b&gt;&lt;br /&gt;
BADI is a relatively new enhancement concept based on OOPs. BADI’s are predefined with an adapter class. Developer’s will create an instance of the adopter class of the BADI.&lt;br /&gt;
BADI will have a standard interface which describes the methods and parameters. A custom class needs to be created which will implement this interface.&lt;br /&gt;
&lt;br /&gt;
Finding a BADI&lt;br /&gt;
a. In Status -&amp;gt; Program search for CL_EXITHANDLER&lt;br /&gt;
b. SPRO -&amp;gt; Business Add in&lt;br /&gt;
&lt;br /&gt;
Multiple implementations possible? (SE19)&lt;br /&gt;
a.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can make create implementations based on filter values. For Example, each country you can create different implementations. The filter value should be linked to a data element which should be linked to a domain. The domain should have fixed values.&lt;br /&gt;
b.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; While defining if you select checkbox ‘Reusable’, then multiple implementations can be created and multiple implementations can be active and called. Else multiple implementations can be created but only one will be active anytime.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Enhancement Spots:&lt;/b&gt;Explicit and Implicit enhancement points&lt;br /&gt;
Implicit are available for all SAP programs at specified generic places. For example, After/Before all standard selection screen declaration, after all subroutines implementation, end of reports, beginning of FORMs, end of FORMs etc.&lt;br /&gt;
An enhancement spot can be two types. 1. Code 2. BADI&lt;br /&gt;
Explicit are SAP provided hooks/places where custom logic can be written.&amp;nbsp; (In addition to Implicit) Two types, SPOT and SECTION&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/4758046348590172884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/07/enhancement-concept-in-sap.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/4758046348590172884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/4758046348590172884'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/07/enhancement-concept-in-sap.html' title='Enhancement concept in SAP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-9199470185404437378</id><published>2011-07-05T20:22:00.001+05:30</published><updated>2011-07-05T20:23:04.423+05:30</updated><title type='text'>PA and OM Integration</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hi friends,&lt;br /&gt;
&lt;br /&gt;
PA-OM integration is one of the complex issues or one of the most &#39;problematic&#39; issue in SAP-HR. Let us look at usual &#39;problems&#39; and solutions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;--&amp;gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Problem: &lt;/b&gt;Updating infotypes Planned Compensation (1005), Account Assignment (1008) and Emp Group/Subgroup (1013), is not flowing into Org assignment (0001).&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt; These three OM infotypes are used to default values or propose valid values for the OM objects. These values can always be overwritten in the PA side. When the integration is active, and the data entered in PA side do not match with the valid/default values mentioned in these infotypes, a warning message will be shown at PA side, and you can still overwrite it.&lt;br /&gt;
As we can understand, with the above functionality, these OM infotypes cannot be expected to flow to PA. See the similar explanation in SAP Note 1429161&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;b&gt;Problem:&lt;/b&gt; The Position/Org unit description were changed in infotype 1000, but the same are not reflecting in IT0001&lt;br /&gt;
Example scenario:&amp;nbsp; Infotype 0001 is from 1/1/2011 to 31/12/9999. The position in this infotype has a record in infotype 1000 from 1/1/2011 to 31/12/9999.&lt;br /&gt;
Now I am going to PP01 and changing the name of the position from XXXXX to YYYYY effective 15/01/2011 and expect this to reflect in infotype 0001.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt; &lt;br /&gt;
--&amp;gt; Any change in to OM attributes do not automatically flow into PA (even with RHINTE*). In such cases it is better to create a record from the same effective date in PA as well (i.e. 15/01/2011). In that case the new changed attributes will be shown in PA side.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;--&amp;gt; &lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Problem:&lt;/b&gt; When bulk updates happens through BDC/LSMW integration does not happen, and we have to run RHINTE* reports for the integration to reflect.&lt;br /&gt;
&lt;b&gt;Solution: &lt;/b&gt;When bulk uploads and BDC sessions, integration is switched off. SAP clarifies this in SAP note as well So after such updates you need to run the RHINTE* reports.&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;b&gt;Problem:&lt;/b&gt; When few updates happen through ABAP code using standard FMs, integration to other module does not happen (Ex: RH_INSERT_INFTY, RH_CUT_INFTY_1001_EXT)&lt;br /&gt;
&lt;b&gt;Solution: &lt;/b&gt;Ensure that in such FMs, vtask = &#39;D&#39;. That is update happening in dialog mode. &lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/9199470185404437378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/07/pa-and-om-integration.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/9199470185404437378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/9199470185404437378'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/07/pa-and-om-integration.html' title='PA and OM Integration'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-3510114450503198429</id><published>2011-06-14T11:54:00.000+05:30</published><updated>2011-06-14T11:54:42.080+05:30</updated><title type='text'>Comparing &quot;Function group&quot; and &quot;Class&quot;</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Function group is considered to be the closest to the OOPs concept in procedural programing. Knowing similarities and difference between &quot;Function group&quot; and a &quot;Class&quot; can help us understand more about OOPs.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Let us look at similarities&lt;/b&gt;&lt;br /&gt;
- Like a Class, FG too has attributes and methods (FMs)&lt;br /&gt;
- The attributes of a FG can only be accessed through FMs. That is data declared in a FM is global to its methods, but not accessible by FMs of other FGs. Similarly, in a class, its private attributes can only be accessed through its methods. This ensures consistency of data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Now let us look at the differences&lt;/b&gt;&lt;br /&gt;
- In a Function group&lt;br /&gt;
Variables(attributes) are always Private&lt;br /&gt;
Function modules are always Public.&lt;br /&gt;
&lt;br /&gt;
- When a FM is called, an instance of FG is created and the FG attributes are loaded into internal session memory. If you call another FM of the same FG, or call the same FM again, no new instance of FG is created. You have only one instance of the FG. That is an ABAP program can work with several instances of a same class (objects), but it cannot work with several instances of a FG.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt; Because of the limitations of FG, it is more often used as a modularization technique not as a OO technique. I.e. A programmer rarely uses a FG to declare variables, rather he declares local variables inside a FM. So data gets stored in the calling program and FM is just used to manipulate it.&lt;br /&gt;
&lt;br /&gt;
I will not compare the other OOPs concepts with FG, since FG does not provide any comparable abilities. Hope this article was useful. Let me know your comments.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/3510114450503198429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/06/comparing-function-group-and-class.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3510114450503198429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3510114450503198429'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/06/comparing-function-group-and-class.html' title='Comparing &quot;Function group&quot; and &quot;Class&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-5763126525697245861</id><published>2011-04-12T22:11:00.000+05:30</published><updated>2011-04-12T22:11:58.742+05:30</updated><title type='text'>Hiding repetitive &#39;Top of Page&#39; and column headers in spool output of a report</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hi team,&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Scenario:&lt;/b&gt; You run a report in background and get the output in a spool, and you have output spanning multiple pages. Since the spool output has multiple pages, there will one page header and one column heading for each page. &lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Problem:&lt;/b&gt; When you download the spool into an spreadsheet, spreadsheet will have multiple headers and column headings, which is unnecessary in the spreadsheet hence needs to be cleaned up. This is a manual intervention and clients usually do not want it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Requirement:&lt;/b&gt;&amp;nbsp; Spool to have only one &#39;top of page&#39;, and only one column header.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution 1: &lt;/b&gt;When you schedule a report in background mode, you will be asked to enter&amp;nbsp; a dummy printer, which will also ask the format of the output.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzb5wcuSmZMJxw44ham4JTMyrA4wnfjgD4bJNnB9PmnSEEexxWnzX6LRkbzzvYHsOF-PSEdTe0VbZWrQ6AqYCGhWIQi-SXiNkCAafodE9Z4YOtYyF5BupccFq3fZGuFNYTZ_RacCl8SSs/s1600/1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;185&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzb5wcuSmZMJxw44ham4JTMyrA4wnfjgD4bJNnB9PmnSEEexxWnzX6LRkbzzvYHsOF-PSEdTe0VbZWrQ6AqYCGhWIQi-SXiNkCAafodE9Z4YOtYyF5BupccFq3fZGuFNYTZ_RacCl8SSs/s320/1.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Click on Properties,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoWt2SY0MdyrEzUAfGqdXdK_Df-w6rLy6hJOt7O43vrzyxdVjX3jkKYSCCnIxRDktbDBs-cnpL8LcY9rvF7yQRmhCy4sff7MlSMiDOPHqO-FzpCgRi6p4vX9GKeeVprc3-3VmVwIn5QIA/s1600/2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoWt2SY0MdyrEzUAfGqdXdK_Df-w6rLy6hJOt7O43vrzyxdVjX3jkKYSCCnIxRDktbDBs-cnpL8LcY9rvF7yQRmhCy4sff7MlSMiDOPHqO-FzpCgRi6p4vX9GKeeVprc3-3VmVwIn5QIA/s320/2.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Note: I have entered 60000 in rows column. That means that spool will create one page for 60000 rows. hence there will be only one Top-of-page and only one column header for 60000 rows. 60000 is the maximum limit with this solution.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution 2:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
This solution is at &quot;Top-of-Page&quot; event.&amp;nbsp; &lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
Here is the code. &lt;br /&gt;
if sy-pagno EQ 1.&lt;br /&gt;
&amp;nbsp; Call the top-of-page event code.&lt;br /&gt;
endif.&lt;b&gt; &lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/5763126525697245861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/04/hiding-repetitive-top-of-page-and.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/5763126525697245861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/5763126525697245861'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/04/hiding-repetitive-top-of-page-and.html' title='Hiding repetitive &#39;Top of Page&#39; and column headers in spool output of a report'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzb5wcuSmZMJxw44ham4JTMyrA4wnfjgD4bJNnB9PmnSEEexxWnzX6LRkbzzvYHsOF-PSEdTe0VbZWrQ6AqYCGhWIQi-SXiNkCAafodE9Z4YOtYyF5BupccFq3fZGuFNYTZ_RacCl8SSs/s72-c/1.JPG" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-3416742184245351193</id><published>2011-03-19T18:33:00.004+05:30</published><updated>2011-03-20T14:28:53.378+05:30</updated><title type='text'>Error messages in ESS Leave application</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hi friends,&lt;br /&gt;
&lt;br /&gt;
Leave is one of the most commonly used application in ESS.&lt;br /&gt;
Standard error messages in ESS Leave application are too technical and average user finds it tough to understand. It is very important to review different error, warning and information messages and make changes to them to make them user friendly. &lt;br /&gt;
&lt;br /&gt;
There are two options.&lt;br /&gt;
&lt;br /&gt;
Option 1: This is the easiest option.&lt;br /&gt;
&lt;br /&gt;
Personnel Management -&amp;gt; Employee Self-Service-&amp;gt;Service specific Settings-&amp;gt;Working Time -&amp;gt; Leave Request -&amp;gt; Processing Processes-&amp;gt; Configure Output of messages &lt;br /&gt;
Here you need to mention the message class, message type and message number of the SAP standard message. Next you need to mention the intended behavior in next columns. If you want to suppress the error message completely, click the check box &quot;Do not show message&quot;. Else if you want to show a warning message instead of a error message, you can enter message type and needed custom message class and numbers as well.&lt;br /&gt;
&lt;br /&gt;
Example: In the below example, &quot;Payroll are IN locked&quot; error message is suppressed. (Error message is in German)&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmEKI0RTjM-UUznYL8cAg4LOsTvlC_v7IPvoq1cZCiLi-EEpR0Pq1e5H9U6YBIJJAkH1u6k5R1tOKUz9G6ccjFCiq_FXP8GtLLB9ZjWdmVKTLIoGYtq3niijVlYMvzCurod6n9CNoXpE/s1600/ESS.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;81&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmEKI0RTjM-UUznYL8cAg4LOsTvlC_v7IPvoq1cZCiLi-EEpR0Pq1e5H9U6YBIJJAkH1u6k5R1tOKUz9G6ccjFCiq_FXP8GtLLB9ZjWdmVKTLIoGYtq3niijVlYMvzCurod6n9CNoXpE/s400/ESS.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Option 2. : If you need complex changes, you can use Enhancement Spot (SE18)&lt;br /&gt;
PT_GEN_REQ, method MODIFY_APPLICATION_MESSAGES&lt;br /&gt;
Note that only one implementation of this Enhancement Spot is possible. Hence check for existing implementation of the Enhancement Spot  in your system. &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/3416742184245351193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/03/error-messages-in-ess-leave-application.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3416742184245351193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3416742184245351193'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/03/error-messages-in-ess-leave-application.html' title='Error messages in ESS Leave application'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmEKI0RTjM-UUznYL8cAg4LOsTvlC_v7IPvoq1cZCiLi-EEpR0Pq1e5H9U6YBIJJAkH1u6k5R1tOKUz9G6ccjFCiq_FXP8GtLLB9ZjWdmVKTLIoGYtq3niijVlYMvzCurod6n9CNoXpE/s72-c/ESS.JPG" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-5377466397219169089</id><published>2011-03-08T18:29:00.003+05:30</published><updated>2011-07-07T20:08:19.950+05:30</updated><title type='text'>Logical Units of Work in ABAP, (LUWs in SAP)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;LUWs are one of the least understood concept in ABAP, even by experienced ABAPers. More over it is one of the most important concept in ABAP.&lt;br /&gt;
&lt;br /&gt;
Knowledge of SAP Transactions, SAP LUW and Database LUW is crucial in ensuring that your database updates does not result in inconsistent data.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Let us take an example:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
Consider a Transaction (ABAP program), where intention is to Debit Rs 50 from account A, and credit those Rs 50 into account B.&lt;br /&gt;
Say debit from account A is successful. But when there was a credit of Rs 50 to account B, an error happens hence crediting did not happen. Bust as you have noticed, debiting from account A is already odne, and now this Rs 50 is lost. ( Neither in Account A, nor in Account B )&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Transaction:&lt;/b&gt; An application transaction, possibly containing multiple screens, where multiple tables need to be updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Database LUW:&lt;/b&gt; System&#39;s approach of updating database. Either an update happens completely or does not happen at all. System has fixed rules, based on which a DB LUW ends/starts.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SAP LUW:&lt;/b&gt; A series of logically related updates. Ideally an SAP LUW should contain only one DB LUW, to enure that data in consistent. If a SAP LUW is spread across several DB LUWs, it can result in inconsistent data.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Rules related to Database LUW&lt;/b&gt;&lt;br /&gt;
Current DB LUW ends, and new one starts:&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
1. While moving form one screen to another screen (as soon a dialog step completes). &lt;br /&gt;
2. While calling a RFC&lt;br /&gt;
3. While exiting from and RFC&lt;br /&gt;
4. When encouters a WAIT statement&lt;br /&gt;
5. When any message is sent to dialogue. (Information, warning, error)&lt;br /&gt;
6. When COMMIT WORK statement is encountered&lt;br /&gt;
7. When &lt;span dir=&quot;LTR&quot;&gt;function module DB_COMMIT is called.&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Example of defective programming.&lt;/b&gt;&lt;br /&gt;
&amp;lt;-------------------------------SAP Transaction-----------------------------------&amp;gt;&lt;br /&gt;
&amp;lt;---------------SAP LUW-------------&amp;gt;&amp;lt;-------------SAP LUW-----------------&amp;gt;&lt;br /&gt;
&amp;lt;--DB LUW--&amp;gt;&amp;lt;--DB LUW--&amp;gt;&amp;lt;--DB LUW--&amp;gt;&amp;lt;--DB LUW--&amp;gt;&amp;lt;--- DB LUW--&amp;gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Example of right programming technique.&lt;/b&gt;&lt;br /&gt;
&amp;lt;-------------------------------SAP Transaction-----------------------------------&amp;gt;&lt;br /&gt;
&amp;lt;---------------SAP LUW-------------&amp;gt;&amp;lt;-------------SAP LUW-----------------&amp;gt;&lt;br /&gt;
&amp;lt;--------------DB LUW---------------&amp;gt;&amp;lt;-----------------DB LUW---------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Why cant I use ROLLBACK statement? &lt;/b&gt;&lt;br /&gt;
ROLLBACK statement scope in only within a DBLUW. I.e. only the changes done within the current DB LUW will be undone. Changes done in previous DB LUWs will not be undone.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How to ensure that an SAP LUW contains only one DB LUW?&lt;/b&gt; &lt;br /&gt;
There are two approaches&lt;br /&gt;
1. Using CALL FUNCTION&amp;nbsp; ............... IN UPDATE TASK statement.&lt;br /&gt;
2. Using PERFORM ....... ON COMMIT statement.&lt;br /&gt;
&lt;br /&gt;
Other approach&lt;br /&gt;
This approach can be specially used/needed in HR Function modules.&lt;br /&gt;
Example: Creating a Org Unit and relationships. Requirement is that either &lt;b&gt;Org Unit and all its relationships&lt;/b&gt; should get created, else &lt;b&gt;nothing&lt;/b&gt; should get created. &lt;br /&gt;
&lt;br /&gt;
In this approach we use FMs that provide option to handle buffers. These FMs have an import parameter VTASK, If VTASK is passed as &#39;B&#39;, update will happen only in buffer, not in DB. Once all update FMs are called with VTASK = B, call the FM RH_UPDATE_DATABASE to update the database.&lt;br /&gt;
&lt;br /&gt;
Hope the article was helpful. Please let me know if you have any questions or comments.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/5377466397219169089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/03/logical-units-of-work-in-abap-luws-in.html#comment-form' title='22 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/5377466397219169089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/5377466397219169089'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/03/logical-units-of-work-in-abap-luws-in.html' title='Logical Units of Work in ABAP, (LUWs in SAP)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>22</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-779888244534596801</id><published>2011-01-05T22:46:00.001+05:30</published><updated>2013-09-19T20:58:08.107+05:30</updated><title type='text'>Another experience of SAP Certification Exam - ABAP C_TAW12_70 SAP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
This experience was contributed by fellow blogger and reader Noha Salah. Thanks Noha for sharing.&lt;br /&gt;
&lt;br /&gt;
Here it is.&lt;br /&gt;
-----------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I studied mainly from the TAWs, I mainly used this book Use this if your are in US and other countries where Amazon is available. (&lt;a href=&quot;http://rcm-na.amazon-adsystem.com/e/cm?t=la0fb-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1592294359&amp;amp;ref=tf_til&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot;&gt;Search in Amazon&lt;/a&gt;) with the topics that were only in TAW 11 which is an online course &amp;amp; unavailable on the internet.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
If you are in India, use the flipkart link &lt;a href=&quot;http://www.flipkart.com/affiliate/displayWidget?affrid=WRID-137960412871676284&quot;&gt;Search In FlipKart&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I also checked practice questions on codeexcellence.com&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
In the exam I spent the first 10 minutes surfing a tutorial that guides me through the rules of the exam.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The passing score was 52% and appears at the beginning of the exam. &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
The questions weren’t like any sample questions I practiced before. They mainly need someone who has a good understanding of all the topics of the syllabus to solve them correctly.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
General notes on the questions:&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpFirst&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
1-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I was asked about Update Modules in SQL includes.&amp;nbsp; 2 q’s&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
2-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I was given a case in web dynpro to analyze it about inbound &amp;amp; outbound plugs.&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
3-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I was asked which table type doesn’t take into consideration the number of entries (Hashed)&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
4-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I was asked about inner joins &amp;amp; help views.&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
5-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The adv. Of Unicode.&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
6-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;In Abap debugger you could: Change contents of internal tables &amp;amp; structures&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
7-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Foreign key table &amp;amp; check table questions given a case.&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
8-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Events in ALV grid control&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
9-&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Field Catalog can do what? &lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
10 &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &lt;/span&gt;Workbench usage: difference between navigation area and tool area&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpMiddle&quot; style=&quot;text-indent: -0.25in;&quot;&gt;
11&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Concentrate on : Netweaver overview, Internal table definition &amp;amp; usage, Table relationships,&lt;/div&gt;
&lt;div class=&quot;ListParagraphCxSpLast&quot;&gt;
SQL stmts &amp;amp; inclusive update strategies.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I hope this helps.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;Sample Q’s&lt;/b&gt; &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
1.&amp;nbsp;&amp;nbsp; During debugging a program you can find that only in certain constellations an error application watchpoint could help you inn&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Several watchpoints can be combined with AND or OR&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A watchpoint can be deferred in abap editor via the menu path Goto-&amp;gt; create watchpoint&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can create watchpoint only from within debugger.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
2.&amp;nbsp;&amp;nbsp; you want to add some fields to standard SAP table using Append. What do you hav to keep in mind about this technique.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The field of&amp;nbsp; append must start with ZZ or YY.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Append structures are not possible for tables containing a long field.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Appen structure must be compared with the SAP original in a release upgrade.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Answers are: A,B&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&amp;nbsp;3.&amp;nbsp; AN SAP programmer has written a standard program in a way that it can call customer coding. What want to implement this coding . what is this technique called?&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Personalization&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Modification&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Correction&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
D.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Repair&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
E.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Enhancement&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Answers: E&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
4. What kind of enhancements badi provide?&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A. screen&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B. menu&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C. functional&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
D. Data element&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
E. table&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Answers : A,B,C.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
5. you want to write an ABAP prog. That makes use of the SAP GUI. Which of the following UI types can you use?&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Selection screen&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Classical screens (ALV)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
D.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ABAP Web Dynpro&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&amp;nbsp;Answer :&amp;nbsp; C,A&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
6. which view type allows a read access?&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Projection view with one table.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Database view with more than one table.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Maintenance view&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Answer: B&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
7. why doesn’t SAP recommend standard SAP Programs.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To avoid performance problems.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To ensure smooth support.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To protect SAP’s intellectual property.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
D.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; To simply upgrades to the new release.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Answers: B,D.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
8. you detect an error in the standard SAP Prog. You need to correct this error in your development system and transport in to your system. What is this called?&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Modification&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hot fix&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Repair&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
D.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Support package.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Answer: A&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
9. you want to implement BADI hat provides functional enhancements. What do you need to do?&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Create a enhancement project with CMOD&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
B.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Define an interface for BADI&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
C.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Implement a class which implements the BADI interface.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
D.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call the BADI.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Answer: C&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
------------------------------------------------------------------------------------------------------------&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Here is another experience of ABAP Certification Exam&lt;br /&gt;
http://learnhrabap.blogspot.com/2010/08/my-experience-of-sap-certification-exam.html &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/779888244534596801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2011/01/another-experience-of-sap-certification.html#comment-form' title='45 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/779888244534596801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/779888244534596801'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2011/01/another-experience-of-sap-certification.html' title='Another experience of SAP Certification Exam - ABAP C_TAW12_70 SAP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>45</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-3084095053070007144</id><published>2010-12-29T22:29:00.000+05:30</published><updated>2010-12-29T22:51:54.882+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="SAP Time Management"/><category scheme="http://www.blogger.com/atom/ns#" term="SAP TM"/><title type='text'>SAP TM - Leave related tables and reports</title><content type='html'>&lt;b&gt;Tables: &lt;/b&gt;&lt;br /&gt;
PTREQ_HEADER:&lt;br /&gt;
Every Leave request will have a 32 character document ID. This will have one entry for every document status and also have a time stamp for each of those entry. This has a 32 character field called &quot;ID of the item list&quot; which will link this table to the next table PTREQ_ITEMS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PTREQ_ITEMS:&lt;br /&gt;
Every leave will have one or more items. Items ar enothing but leave operaitons.&lt;br /&gt;
Example: If it is a new leave, it will have one item for &#39;INS&#39; (inserting) a new leave.&lt;br /&gt;
If it is a deletion leave, there iwll be one item for &#39;DEL&#39; (deletion) of a leave.&lt;br /&gt;
If it is for changing an existing leave, then there will be two items. One for DEL of old leave, another for INS with changed leave values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PTREQ_ATTABSDATA:&lt;br /&gt;
Every item in PTREQ_ITEMS will have one entry in PTREQ_ATTABSDATA giving details of pernr, leave date, type, operation (INS or DEL) etc. The link between these tables is again through a 32 character field ITEM_INS. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Reports: &lt;/b&gt;&lt;br /&gt;
Leave Request &quot;Home page&quot;: Tcode: PTARQ or use the report RPTARQ&lt;br /&gt;
&lt;br /&gt;
Above &quot;Home Page&quot; provides many reports and tools to work with Leaves. They are listed below.&lt;br /&gt;
1. RPTARQDBVIEW: This report allows you to see all leaves applied by a user. You can even use the work item id (top) to fetch a leave request.&lt;br /&gt;
2. RPTARQPOST: Post Leave requests to Infotype 2001&lt;br /&gt;
3. RPTARQDBDEL: Delete a leave request. This should be used carefully in Production. This has a &#39;Test Run&#39; option. This report in Test Run option can be used to view leave requests instead of  RPTARQDBVIEW, which is much slower.&lt;br /&gt;
4. RPTARQUIATEST: This is not released for customers. (That means SAP will not support any problems you face). But a very useful report which can be used to create new leaves, approve/reject existing leaves,</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/3084095053070007144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/12/sap-tm-leave-related-tables-and-reports.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3084095053070007144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3084095053070007144'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/12/sap-tm-leave-related-tables-and-reports.html' title='SAP TM - Leave related tables and reports'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-5289489414995885946</id><published>2010-12-17T23:37:00.002+05:30</published><updated>2010-12-29T20:46:13.384+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Workflow"/><title type='text'>SAP Workflow Reporting</title><content type='html'>Reporting on Workflow data is a skill in itself.&lt;br /&gt;
In addition to ABAP skills, Workflow reporting requires you to have Workflow skills, knowledge of Workflow technical architecture and tables. Here is an effort to quickly equip you with those skills.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;FAQs on Workflow reporting&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;1. Which is the transaction table of ALL work items? &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Answer: SWWWIHEAD is the transaction table of all work items. &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;This table contains one entry for every work item in the system.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;This table also says if the WI is dialog or background, creator of the WI, creation time stamp, and current status of the WI, Parent WI and Top WI.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;2. Where will I get Work Item completion date and time? (Complete / Logically deleted)&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Answer: Table SWWWIRET. This table will also provide any errors occurred for the Work item. SWWVHEARET is a Joint view of SWWWIHEAD and SWWWIRET.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;3. Where can I get different deadline date and time for each work item? &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Answer: SWWWIDEADL will give all the deadline dates for each work item. &lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;4. Which table can give me the dialog work items pending with a user?&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Answer: SWWUSERWI or use the FM SWN_UWL_GET_WORKLIST&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;5. Which table can give me the dialog tasks executed by me?&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Answer: SWW_OUTBOX or use the FM SWN_UWL_GET_OUTBOX&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;6. I have a Notification which triggers a workflow. (I use ISR framework). Where can I see the link between Notification number (QMEL) and the workflow?&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Answer: Use table SWW_WI2OBJ&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;7. Where can I see the entire log for work item? I want to see how it was created? (Triggered by an event?), any one changed its container?&amp;nbsp; Any one changed the deadline? Etc.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;Answer: Use table SWWLOGHIST.&lt;br /&gt;
&lt;br /&gt;
8. Is there any table which will provide container of a work item?&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;SWW_CONT&lt;/b&gt; - Container Contents for Work Item Data Container&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;SWW_CONTOB&lt;/b&gt;- Container Cont. for Work Item Data Container (Only Business Objects&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
For the code refer&lt;br /&gt;
http://learnhrabap.blogspot.com/2010/09/workflow-how-to-read-multi-line.html&lt;br /&gt;
&lt;br /&gt;
Here are other useful books on SAP Workflow topic.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=krisho007&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1592292852&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&amp;nbsp; &lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=krisho007&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=159229006X&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt; &lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=krisho007&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=3642073298&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/5289489414995885946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/12/sap-workflow-reporting.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/5289489414995885946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/5289489414995885946'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/12/sap-workflow-reporting.html' title='SAP Workflow Reporting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-1102625835690335329</id><published>2010-11-19T22:30:00.003+05:30</published><updated>2011-02-03T23:23:56.372+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Workflow"/><title type='text'>Best Practices for SAP Workflow Development</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hi friends,&lt;br /&gt;
&lt;br /&gt;
It is very important to follow few rules while developing new workflows. Once developed and moved into Production, it will be tough to alter the workflows, because of the efforts involved in regression testing all the scenarios.&lt;br /&gt;
&lt;br /&gt;
Here are the Workflow development best practices I learnt from my experience.&lt;br /&gt;
If you have any more points or questions please reply in comment to this blog.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Agent determination&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; As far as possible do not declare tasks as generic tasks. This will ensure that unauthorized people will never get the work item. &lt;br /&gt;
--&amp;gt; If in any case you had to declare a task as generic, ensure that you check the option &quot;Terminate workflow when no agent found&quot;&lt;br /&gt;
--&amp;gt; Ensure that agent determination is through Position instead of using users.&lt;br /&gt;
--&amp;gt; Handling &quot;Agent not found&quot; scenarios. Better to have rules for redirecting work item when no action was taken by the primary agent for a specific period of time.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Emails&lt;/b&gt;&lt;br /&gt;
--&amp;gt; Email subject within 50 chars&lt;br /&gt;
Ensure that emails originating from workflow have only 50 characters in length. Exceeding characters will appear in workflow log, hence they would look fine if you are looking into workflow log.&lt;br /&gt;
&lt;br /&gt;
But if you see in SOST, you see that characters are truncated after 50 characters&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Dialog work items &lt;/b&gt;--&amp;gt; Title of dialog workitems are very important. An end user depends on this to identify the type of work item. It also becomes the subject line of extended notifications. Since this is used by the end-user, it has to be less technical and more user or business friendly.&lt;br /&gt;
&lt;br /&gt;
When you create work item texts, you must take different aspects into account, such as multilingual capability or the user-specific formatting of dates and numbers. See SAP Note 1154835. This would also impact the performance while loading these items in UWL or SAP Inbox.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Extended notification content&lt;br /&gt;
As you know the dialog  task description appears as the email content in extended notifications.  At the time of developing the dialog task ensure that the task  description meets the email (notification) content requirement.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Changing Workflow Template&lt;/b&gt;&lt;br /&gt;
Version is a beautiful concept SAP has for keeping track of Workflow Template changes. Always create a version before you change an existing template. This will help you to refer back to previous template and even switch to old template if the new changes fail.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Errors in Workflow&lt;/b&gt;&lt;br /&gt;
Error happens. Regardless of the care you have taken in designing workflows, error happens in workflow. So It is important to handle these errors and develop strategies to handle error scenarios.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; It is also important to ensure that errors are noticed. To do this you need to ensure workflow is written inside try catch blocks, so that all errors are captured.&lt;br /&gt;
--&amp;gt; There should be a strategy at Organization level to handle such scenarios. Errors can be technical or application errors. It is wise to route application errors to Business Process team. Technical errors can be routed to Workflow administrator for resolving.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Workflow Administration&lt;/b&gt;&lt;br /&gt;
Workflow admins get many routine requests listed as below. It is important to &lt;b&gt;establish business process&lt;/b&gt; for below mentioned actions, thus you are with better terms with auditing people.&lt;br /&gt;
--&amp;gt; forwarding a work item&lt;br /&gt;
--&amp;gt; adding approver to the workflows (to rules or approver tables)&lt;br /&gt;
--&amp;gt; killing a workflow ( might be required in case of a wrong WF template moving into prod)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Generic&lt;/b&gt;&lt;br /&gt;
--&amp;gt; It is mandatory to have a life time for a workflow.&lt;b&gt; &lt;/b&gt;That means, if the workflow is pending for action at an agent, it should not be open/ &#39;live&#39; for indefinite time. There should be time period after which workflow becomes obsolete, thus &#39;kills&#39; the workflow. Thus you can reduce the load on the system from unnecessary workflows.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; How the end user will know the current status / history of actions / actual submitted for of Workflow.. ? If you are using processes and forms and if you are in ECC6.0 Enh 2, then SAP provides this functionality.&lt;br /&gt;
If you happen to be ECC6.0 (without enh pack) or below, you need to have your own reports/custom applications built to read workflows. In this case it is important to have consistent container names and positions (task level? WF level?) across workflows. This ensures that your report program has less hard coding and thus reducing maintenance costs.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Develop a reusable utility class for the WF development : Some functionality in WF that are commonly used and that can be included as methods are listed below.&lt;br /&gt;
A method to read a distribution list,&lt;br /&gt;
Reading value from a particular customizing table, &lt;br /&gt;
Reading manager of an employee,&lt;br /&gt;
Reading a rule,&lt;br /&gt;
Read if employee is locked&lt;br /&gt;
&lt;br /&gt;
That is it for now. Please let me know your thoughts about this article.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/1102625835690335329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/11/best-practices-for-sap-workflow.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/1102625835690335329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/1102625835690335329'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/11/best-practices-for-sap-workflow.html' title='Best Practices for SAP Workflow Development'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-8550307487682841833</id><published>2010-11-18T15:52:00.001+05:30</published><updated>2010-12-30T16:34:39.978+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Search Help"/><title type='text'>Hierarchy of &quot;Search Help&quot; in SAP ABAP</title><content type='html'>Hierarchy of &quot;Search Helps&#39; in SAP&lt;br /&gt;
&lt;br /&gt;
As you already know a search help can be declared at various places in SAP. It becomes a tough task if you want a custom search help for a custom screen field, and wondering where to attach it. Here is the hierarchy of Search helps which determines which search help will pop up the values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Verdana; font-size: 10pt;&quot;&gt;SH at assigned at screen filed&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-family: Verdana; font-size: 10pt;&quot;&gt;|__SH assigned at PBO of the module pool&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana; font-size: 10pt;&quot;&gt;|__SH assigned using check table &lt;span style=&quot;font-size: xx-small;&quot;&gt;( if the filed refers to a database table-filed)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 36pt; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana; font-size: 10pt;&quot;&gt;|__SH assigned using data element&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 72pt; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana; font-size: 10pt;&quot;&gt;|__SH assigned using domain fixed values&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 108pt; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Verdana; font-size: 10pt;&quot;&gt;|__Time/date field&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/8550307487682841833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/11/hierarchy-of-search-help-in-sap-abap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/8550307487682841833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/8550307487682841833'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/11/hierarchy-of-search-help-in-sap-abap.html' title='Hierarchy of &quot;Search Help&quot; in SAP ABAP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-8417988451009218113</id><published>2010-10-06T19:46:00.000+05:30</published><updated>2010-12-29T22:53:24.857+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="HR ABAP"/><title type='text'>What is special in HR ABAP compared to ABAP?</title><content type='html'>What is special in HR-ABAP compared to ABAP?&amp;nbsp; Let us see.&lt;br /&gt;
&lt;br /&gt;
Let us see what is special in HR module compared to other modules, thus requires special tools.&lt;br /&gt;
&lt;br /&gt;
a. First point is that in HR we work with employees, unlike POs, Materials, Sales Orders.&lt;br /&gt;
More over employee data is very confidential and sensitive. Hence needs special care. AUTHORIZATION is an important concept here. Authorizations can be set at Infotype level as well. &lt;br /&gt;
&lt;br /&gt;
b. Employees are Organization&#39;s biggest assets, especially in service and knowledge industries. Hence REPORTing on employees&#39; various attributes is an important need. More over Govt. legislations also require various report from companies. Hence reporting is one of the biggest requirement here. Logical databases (LDB) provide tools to easily create reports.&lt;br /&gt;
&lt;br /&gt;
c. HR module involves huge data. Be it payroll results, time results or change document of infotypes. Hence data is stored in CLUSTERs, not in transparent tables. Hence it is important to understand the ways to update and extract data from clustures. Macros and special FMs are used to fetch data from Clusters.&lt;br /&gt;
&lt;br /&gt;
d. Master data involved with an employee is huge compared to say a material, PO or Sales order. Hence there needs to be screens to view and update the master data. Also employees&#39; master data change with time. Hence time dependent data sorage is necessary. INFOTYPEs provides these.</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/8417988451009218113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/10/what-is-special-in-hr-abap-compared-to.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/8417988451009218113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/8417988451009218113'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/10/what-is-special-in-hr-abap-compared-to.html' title='What is special in HR ABAP compared to ABAP?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-624236923012334645</id><published>2010-10-01T15:06:00.003+05:30</published><updated>2010-12-29T22:53:48.454+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="HR ABAP"/><title type='text'>How to improve the performance of PNP LDB?</title><content type='html'>There has always been a complaint on Logical Databases, that they are slow. Here is a list of startegies to use PNP LDB better.&lt;br /&gt;
&lt;br /&gt;
1. Use macro RP_SET_DATA_INTERVAL in the INITIALIZATION event.&lt;br /&gt;
&lt;a href=&quot;http://learnhrabap.blogspot.com/2008/10/pnp-macro-rpsetdatainterval.html&quot;&gt;Read here on how to use the macro.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2. For Time infotypes (2000, 2001, 2002) use Mode N, so that they are not fetched during GET event. After the GET event use Macro RP_READ_ALL_TIME_ITY for fecthing the time infotypes within a selected data range. Usually there will be huge number of records in Time infotypes. Hence it is better to fetch the required records in the code using macro. &lt;br /&gt;
&lt;br /&gt;
3. Use the INITIALIZATION event to fill the selection screen (Pernr / person selection period) so as to limit the number of employees fetched.&lt;br /&gt;
Example requirement: The report needs to run only for the employees who have an email id in infotype 105.&lt;br /&gt;
Solution: In the INITIALIZATION event fetch all employees who have a valid email ID in IT105. Populate these pernrs in to selection screen pernr field. &lt;br /&gt;
&lt;br /&gt;
4. Skip the employees who have left the company&lt;br /&gt;
Majority of the times you may not need to fetch the employees who have left the company.&lt;br /&gt;
In INITIALIZATION, Use the macro RP-SEL-EIN-AUS-INIT.&lt;br /&gt;
&lt;br /&gt;
5. No SELECT statements within the loop GET Perenr ---- END_OF_SELECTION.&lt;br /&gt;
Try to do all database fetch either before GET Pernr or after END-OF-SELECTION. Doing a SELECT inside GET means that the SELECT executes for every pernr.</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/624236923012334645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/10/how-to-increase-perofrmance-of-pnp-ldb.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/624236923012334645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/624236923012334645'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/10/how-to-increase-perofrmance-of-pnp-ldb.html' title='How to improve the performance of PNP LDB?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-3038630583491479102</id><published>2010-09-24T15:36:00.002+05:30</published><updated>2010-12-29T22:54:24.832+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Workflow"/><title type='text'>SAP Workflow: How to read Multi-Line container of a Work item</title><content type='html'>Here is a sample code for reading multi-line, BOR, Objects in a work item container&lt;br /&gt;
&lt;br /&gt;
* For multi line class attribute of a container&lt;br /&gt;
&amp;nbsp; DATA: lv_wi_handle TYPE REF TO if_swf_run_wim_internal,&lt;br /&gt;
&amp;nbsp; cnt TYPE REF TO if_swf_cnt_container,&lt;br /&gt;
&amp;nbsp; l_req_wf_attribs TYPE REF TO cl_pt_req_wf_attribs.&lt;br /&gt;
&lt;br /&gt;
* Get the instance of the workitem&lt;br /&gt;
&amp;nbsp; CALL METHOD cl_swf_run_wim_factory=&amp;gt;find_by_wiid&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXPORTING&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; im_wiid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = wa_wf_data-wi_id&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RECEIVING&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; re_instance = lv_wi_handle.&lt;br /&gt;
&lt;br /&gt;
* Get the container&lt;br /&gt;
&amp;nbsp; cnt = lv_wi_handle-&amp;gt;get_wi_container( ).&lt;br /&gt;
&lt;br /&gt;
* Get the required attribute from the container&lt;br /&gt;
&amp;nbsp; CALL METHOD cnt-&amp;gt;if_swf_cnt_element_access_1~element_get_value&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXPORTING&lt;br /&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; name&amp;nbsp; = &#39;REQ&#39; &quot; Name of your object&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMPORTING&lt;br /&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; value = l_req_wf_attribs.</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/3038630583491479102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/09/workflow-how-to-read-multi-line.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3038630583491479102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3038630583491479102'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/09/workflow-how-to-read-multi-line.html' title='SAP Workflow: How to read Multi-Line container of a Work item'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-8523270090585721044</id><published>2010-09-21T22:23:00.013+05:30</published><updated>2010-12-29T20:46:50.356+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="WebDynpro"/><title type='text'>What is SAP WebDynpro? Concept of WebDynpro (ABAP centric)</title><content type='html'>Hi friends,&lt;br /&gt;
&lt;br /&gt;
I believe that the concept of WebDynpro is more important than just creating a WebDynpro application. There are enough documents on the net on how to create a WD application. But there are very few documents which will give you the concept of WebDynpro.&lt;br /&gt;
&lt;br /&gt;
I am making an effort here to provide the basics, concept and architecture of WebDynpro, with ABAP in mind.&lt;br /&gt;
&lt;br /&gt;
Pre-requisite assumed: Knowledge of ABAP&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is WebDynpro?&lt;/b&gt;&lt;br /&gt;
WebDynpro is SAP&#39;s model or approach towards web screen design. SAP aims to achieve a clear distinction between UI design and backend code through this model. Dynpro means Dynamic Program, (SAP&#39;s terminology for interactive UI). hence Web Dynpro means Web screen. WebDynpro is also a latest model by SAP. Earlier approaches include ITS (Internet Transaction Sever) and BSP (Business Server Pages).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is the programing language used for WebDynpro?&lt;/b&gt;&lt;br /&gt;
For the WebDynpro both ABAP and Java can be used. ABAP being the latest and also seems to be the future for WebDynpro. View my WebDynpro articles here.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://learnhrabap.blogspot.com/2010/09/future-of-webdynpro-abap-or-java.html&quot;&gt;Future of WebDynpro: ABAP or Java?&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://learnhrabap.blogspot.com/2010/09/story-of-webdynpro-who-is-hero-abap-or.html&quot;&gt;Story of WebDynpro. Who is the hero? ABAP or Java ?&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a View?&lt;/b&gt;&lt;br /&gt;
View is a layout of UI elements. Example of UI elements is Input field, Output Filed, Radio buttons etc.&lt;br /&gt;
View also contains the methods which are local to the view.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a Window?&lt;/b&gt;&lt;br /&gt;
Window is a group of Views. One of the View will be a default View. Navigation to other views of the Window can happen only from the default view.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a inbound/Outbound Plug ? &lt;/b&gt;&lt;br /&gt;
Plugs are used to navigate between Views. Inbound plugs define inbound connections to a view, and Outbound plugs define subsequent View for a View.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a WebDynpro Component ?&lt;/b&gt;&lt;br /&gt;
WebDynpro Component can contain other WD Component, Windows and Views.&lt;br /&gt;
WebDynpro Component is a reusable entity. It can be reused by another component so that re-usability is achieved. &lt;br /&gt;
Hierarchically WD Component is at the highest level within a WD model.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a Interface View ? &lt;/b&gt;&lt;br /&gt;
Every Window is accessed by an Interface view. &lt;br /&gt;
Name of the Interface View will be same as Window.&lt;br /&gt;
Interface View defines inbound and outbound Plugs for a Window.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is WebDynpro Application?&lt;/b&gt;&lt;br /&gt;
WebDynpro Application provides a way to use the functionality built using a WebDynpro component. &lt;br /&gt;
&lt;br /&gt;
A WebDynpro application is defined by following three parameters&lt;br /&gt;
1. A WebDynpro application refers to ONE WebDynpro Component,&lt;br /&gt;
2. A WebDynpro application refers to ONE Interface View (of the above WebDynpro component),&lt;br /&gt;
3. A WebDynpro Application has a URL, so that it can be accessed from a browser.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is the link from a WebDynpro Application till a view?&lt;/b&gt;&lt;br /&gt;
A WebDynpro URL points to a WebDynpro Application.&lt;br /&gt;
A WebDynpro Application points to an Interface View.&lt;br /&gt;
A Interface View points to a Window.&lt;br /&gt;
A Window points to its default View.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a View Context?&lt;/b&gt;&lt;br /&gt;
The data used in a View is stored in a object called View Context.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is an Action?&lt;/b&gt;&lt;br /&gt;
For certain UI elements like Button, you would want some action to happen when the button is pushed. &lt;br /&gt;
So Action is defined at UI element level.&lt;br /&gt;
As soon as a Action gets created, a handler method gets automatically created by name HandleUIEvent_&lt;action name=&quot;&quot;&gt; in the View Controller. In this method you can define the behavior of the action.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a Component Context?&lt;/b&gt;&lt;br /&gt;
The data used in a Component is stored in a object called as Component Context. Component Context is global within a OCmponent.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a View Controller?&lt;/b&gt;&lt;br /&gt;
In SE80, you cannot see any object called as “View Controller”. The code related to View is located in the “Method” tab of the View. This is logically called as a View Controller.  &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a Component Controller?&lt;/b&gt;&lt;br /&gt;
Component Controller has the Programming part of a Component.&lt;br /&gt;
It is an object visible in SE80. It contains the methods which are global within the Component. I.e. These methods can be accessed by all objects within the Component&lt;br /&gt;
&lt;/action&gt;&lt;br /&gt;
&lt;action name=&quot;&quot;&gt;&lt;br /&gt;
&lt;/action&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8K7puwvYUDSTQZZsaY8tBiETYE6jeZGids1oJ5MFSyyhMqcICDkaAJ1mcXHLfozeEVWvZEUkiVf10AlNc5mPA68ekfXskv1N5qpuPwkZx4pViOMJ8a1P1X9BclRcEVax0ofYJUiOsO9c/s1600/WebDynpro.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;340&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8K7puwvYUDSTQZZsaY8tBiETYE6jeZGids1oJ5MFSyyhMqcICDkaAJ1mcXHLfozeEVWvZEUkiVf10AlNc5mPA68ekfXskv1N5qpuPwkZx4pViOMJ8a1P1X9BclRcEVax0ofYJUiOsO9c/s400/WebDynpro.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;action name=&quot;&quot;&gt;&lt;br /&gt;
&lt;/action&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/8523270090585721044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/09/concept-of-webdynpro-abap-centric.html#comment-form' title='338 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/8523270090585721044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/8523270090585721044'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/09/concept-of-webdynpro-abap-centric.html' title='What is SAP WebDynpro? Concept of WebDynpro (ABAP centric)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8K7puwvYUDSTQZZsaY8tBiETYE6jeZGids1oJ5MFSyyhMqcICDkaAJ1mcXHLfozeEVWvZEUkiVf10AlNc5mPA68ekfXskv1N5qpuPwkZx4pViOMJ8a1P1X9BclRcEVax0ofYJUiOsO9c/s72-c/WebDynpro.JPG" height="72" width="72"/><thr:total>338</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-3480427997608060439</id><published>2010-09-20T21:06:00.004+05:30</published><updated>2010-12-29T22:54:50.820+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="SAP Time Management"/><category scheme="http://www.blogger.com/atom/ns#" term="SAP TM"/><title type='text'>What is the difference between &quot;Positive time recording&quot; and &quot;Negative time recording&quot;</title><content type='html'>&lt;b&gt;SAP Time Management&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;What is the difference between positive and negative time recording?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It is common for employees to record their working time periodically. &lt;br /&gt;
&lt;br /&gt;
Consider regular salaried employees, who are supposed to work regularly 8 hours, and it is a common practice among employees to work 8 hours every day. In this case it is better only to record deviation to the work schedule. If there is no deviation to the work schedule, no time sheet will be entered.&lt;br /&gt;
&lt;br /&gt;
Consider another scenario, where it is common for employees to work unspecified number of extra hours, or common to work less than regular hours. In these cases it is better to enter working hours daily so that there is minimum rework at the end of the period.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=krisho007&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1592292291&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Let us consider few simple examples:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Scenario 1:&lt;/b&gt; &lt;br /&gt;
As per Employee&#39;s work schedule she is supposed to work 8 hours every day.&lt;br /&gt;
Employee works only 8 hours every day.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Positive Time recording --&amp;gt;&lt;/i&gt; Enter 8 hours for every day in the time sheet.&lt;br /&gt;
&lt;i&gt;Negative time recording --&amp;gt;&lt;/i&gt; Do not enter anything in the time sheet.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Scenario 2:&lt;/b&gt;&lt;br /&gt;
As per Employee&#39;s work schedule she is supposed to work 8 hours every day.&lt;br /&gt;
On Monday he works 8 hours&lt;br /&gt;
On Tuesday he works 5 hours. ( 3 hours of leave )&lt;br /&gt;
On Wednesday he works 10 hours ( 2 hours of Over time )&lt;br /&gt;
On Thursday he works 12 hours ( 4 hours of Over time )&lt;br /&gt;
On Friday he works 2 hours ( 6 hours of leave)&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Positive Time recording --&amp;gt; &lt;/i&gt;&lt;br /&gt;
Monday - Enter 8 hours of regular work.&lt;br /&gt;
Tuesday - Enter 5 hours of regular work.&lt;br /&gt;
Wednesday - Enter 8 hours of regular work and 2 hours of OT&lt;br /&gt;
Thursday - Enter 8 hours of regular work and 4 hours of OT&lt;br /&gt;
Friday - Enter 2 hours of regular hours.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Negative time recording --&amp;gt;&lt;/i&gt;&lt;br /&gt;
Monday - No time sheet entry&lt;br /&gt;
Tuesday - Enter 3 hours of absence.&lt;br /&gt;
Wednesday - Enter 2 hours of OT.&lt;br /&gt;
Thursday - Enter 4 hours of OT.&lt;br /&gt;
Friday - Enter 6 hours of absence.&lt;br /&gt;
&lt;br /&gt;
Hope it is clear now. If you have any questions leave a comment.</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/3480427997608060439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/09/difference-between-positive-time.html#comment-form' title='29 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3480427997608060439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3480427997608060439'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/09/difference-between-positive-time.html' title='What is the difference between &quot;Positive time recording&quot; and &quot;Negative time recording&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>29</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3442924027074770804.post-3062553313180182898</id><published>2010-09-19T00:43:00.005+05:30</published><updated>2010-12-29T20:46:50.356+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="WebDynpro"/><title type='text'>What is the future of SAP WebDynpro: ABAP or Java?</title><content type='html'>One of the hottest debate in SAP Technology area is that of future of WebDynpro. This quesiton will determine career path of several SAP professionals.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is SAP&#39;s preferred approach?&lt;/b&gt; What is the technology SAP is delivering its current and future WebDynpro applications?&lt;br /&gt;
SAP&#39;s preference matters a lot and can be a key factor in determining the future of WebDynpro. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SAP&#39;s Historical preference&lt;/b&gt;&lt;br /&gt;
SAP&#39;s historical preference was clearly for Java. SAP first came up with Java WebDybpro framework. Java gurus were smitten by this WebDynpro framework and were too eager to develop applications using this user friendly framework. SAP&#39;s move towards Java gave ABAPers nightmares. ABAP professionals started shivering thinking about their careers and expected SE80 to become a history. The huge availability of Java developers meant that SAP&#39;s developer world will soon be baptized in to Java and ABAPers would find themselves out of place.&lt;br /&gt;
&lt;br /&gt;
SAP built several standard applications is WDJ. (ESS and MSS). So ABAPers&#39; nightmare was looking more real.&lt;br /&gt;
&lt;br /&gt;
But all was not yet lost for ABAPers. WDJava still had to use ABAP in the form of RFCs. Core R/3 was still in ABAP and SAP would need to invest significantly if it had to convert its core into Java and this was unrealistic.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Then came the Knight rider for ABAPers.&lt;/b&gt; SAP introduced WebDynpro for ABAP somewhere in 2006. This added to the chaos and confusion althogh it was a light at the end of tunnel for ABAPers. More over, SAP did not provide any official direction on WebDynpro development and the WebDynpro started searching for the SAP insider information. But it turned out that SAP itself was confused. People from Palo Alto labs said Java is the future, but those from Germany labs said ABAP is the future. &lt;br /&gt;
&lt;br /&gt;
Webdynpro Java framework is nearly 18 months mature compared to Webdynpro ABAP. So WDJ had an advantage initially. But It is fading as the time is progressing. Now SAP started delivering its recent standard applications in ABAP. So the balance started tilting towards ABAP. Being part of SAP, ABAP had many advantages compared to Java in building WD. More over Java had many disadvantages when compared with ABAP.&lt;br /&gt;
&lt;br /&gt;
With the advantage ABAP has, currently ABAP seems to be the future of WebDynpro. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://learnhrabap.blogspot.com/2010/09/story-of-webdynpro-who-is-hero-abap-or.html&quot;&gt;View an animated story line of triangular love story between WD, ABAP and Java &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://architectsap.com/blog/sap/sap-netweaver-webdynpro-abap-vs-webdynpro-java/&quot;&gt;Advantages/difference between ABAP and Java WD.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.sapfrontend.com/webdynpro-for-java-or-webdynpro-for-abap/&quot;&gt;Comprehensive Comparison&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here is a valuable SAP Press book on Webdynpro ABAP.&lt;br /&gt;
&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=krisho007&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1592290787&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://learnhrabap.blogspot.com/feeds/3062553313180182898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://learnhrabap.blogspot.com/2010/09/future-of-webdynpro-abap-or-java.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3062553313180182898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3442924027074770804/posts/default/3062553313180182898'/><link rel='alternate' type='text/html' href='http://learnhrabap.blogspot.com/2010/09/future-of-webdynpro-abap-or-java.html' title='What is the future of SAP WebDynpro: ABAP or Java?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry></feed>