<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>ABAP Development</title>
    <link>http://scn.sap.com/community/abap/blog</link>
    <description>With SAP NetWeaver and SAP NetWeaver Composition Environment (CE), developers can take advantage of powerful design and runtime tools to build business applications using standards-based Java. Developers can leverage Java's strengths to design user interfaces, handle XML-based messages, use web services for greater flexibility, and increase interoperability across a heterogeneous environment.&#xD;
'</description>
    <pubDate>Tue, 21 May 2013 05:29:08 GMT</pubDate>
    <generator>Jive SBS 5.0.1.1  (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2013-05-21T05:29:08Z</dc:date>
    <item>
      <title>Adding custom fields to the Purchase Order transaction ME21N HEADER &amp; ITEM LEVEL.</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/21/adding-custom-fields-to-the-purchase-order-transaction-me21n-header-item-level</link>
      <description>&lt;!-- [DocumentBodyStart:38952e06-56e7-4e8e-a07a-09e1d357fa12] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I&amp;#160; searched for Enhancements for ME21N to add custom fields&amp;#160; . I found lot of examples unfortunately i didn't come across complete Step by Step Process.So i decided to give a elaborate document. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Enhancement used for ME21N , ME22N , ME23N is &lt;span style="font-size: 10.0pt; font-family: Arial;"&gt;&lt;strong&gt;MM06E005.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Arial;"&gt;1) If we know the Enhancement name we can directly use it or&amp;#160; we can search it in &lt;strong&gt;SMOD &lt;/strong&gt;Transaction.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219731/pastedImage_6.png"&gt;&lt;img class="jiveImage" height="381" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219731/341-381/pastedImage_6.png" style="width: 341px; height: 381px;" width="341"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;2) T code to implement Enhancement Project is &lt;strong&gt;CMOD.&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219733/pastedImage_8.png"&gt;&lt;img class="jiveImage" height="330" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219733/387-330/pastedImage_8.png" style="width: 387px; height: 330px;" width="387"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Give Project name and click CREATE push button.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219734/pastedImage_9.png"&gt;&lt;img class="jiveImage" height="350" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219734/544-350/pastedImage_9.png" style="max-width: 1200px; max-height: 900px;" width="544"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Give short text&amp;#160; and select &lt;strong&gt;COMPONENTS&lt;/strong&gt; push button.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219767/pastedImage_63.png"&gt;&lt;img class="jiveImage" height="319" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219767/620-319/pastedImage_63.png" style="width: 798px; height: 411px;" width="620"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160; In this screen we can find Function Exit, Screen Exit and Include tables.&lt;/p&gt;&lt;p&gt; &lt;strong&gt;For HEADER LEVEL - For adding Custom Tabs, Custom fields in Header level .&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160; &lt;strong&gt;EXIT_SAPMM06E_006 - &lt;/strong&gt;Export Data to Customer Sub screen for Purchasing Document Header (PBO) &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; This Function Exit is PBO (Process before output). We can add custom logic in this Exit.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; Process : Double click on &lt;strong&gt;EXIT_SAPMM06E_006 &lt;/strong&gt;Go to &lt;strong&gt;SOURCE CODE &lt;/strong&gt;tab and you will find &lt;strong&gt;INCLUDE file&lt;/strong&gt; . double click the INCLUDE file and add your &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; custom code.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;&lt;strong&gt;INCLUDE ZXM06U36 &lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160; &lt;strong&gt;EXIT_SAPMM06E_007 - &lt;/strong&gt;Export Data to Customer Sub screen for Purchasing Document Header (PAI)&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; This Function Exit is PBO (Process before output). We can add custom logic in this Exit.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Process : Double click on &lt;strong&gt;EXIT_SAPMM06E_007 &lt;/strong&gt;Go to &lt;strong&gt;SOURCE CODE &lt;/strong&gt;tab and you will find &lt;strong&gt;INCLUDE file&lt;/strong&gt; . double click the INCLUDE file and add your &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; custom code.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;&lt;span class="L0S52"&gt;INCLUDE ZXM06U38 .&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span class="L0S52"&gt;For ITEM LEVEL &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;- For adding Custom Tabs, Custom fields in Item level .&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;strong&gt;EXIT_SAPMM06E_016 : Export Data to Customer Sub screen for Purchasing Document Item (PBO).&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;EXIT_SAPMM06E_018 : Import Data from Customer Sub screen for Purchasing Document Item&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Before Creating Screen.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Create STRUCTURE with Required Fields in &lt;span style="font-size: 10pt; font-family: Arial;"&gt; custom&amp;#160; includes CI_EKKODB and CI_EKPODB&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;strong&gt;CI_EKKODB - Header Data.&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219742/pastedImage_43.png"&gt;&lt;img class="jiveImage" height="249" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219742/620-249/pastedImage_43.png" style="width: 642px; height: 258px;" width="620"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;strong&gt;CI_EKPODB-Item Data.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219752/pastedImage_44.png"&gt;&lt;img class="jiveImage" height="247" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219752/620-247/pastedImage_44.png" style="width: 628px; height: 251px;" width="620"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span class="L0S52"&gt;---&amp;gt; &lt;/span&gt;&lt;/strong&gt;&lt;span class="L0S52"&gt;Now in &lt;/span&gt;&lt;strong&gt;&lt;span class="L0S52"&gt;Screen Exit &lt;/span&gt;&lt;/strong&gt;&lt;span class="L0S52"&gt;Section.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span class="L0S52"&gt;use &lt;/span&gt;&lt;strong&gt;SAPMM06E &lt;/strong&gt;this is Program Name. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Go to SE38-- Create Program by giving name &lt;strong&gt;SAPMM06E.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Go to SE51-- Create Sub-Screen with Screen Number &lt;strong&gt;0111 ( &lt;/strong&gt;Check Sub-Screen Box&lt;strong&gt;) .&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219753/pastedImage_45.png"&gt;&lt;img class="jiveImage" height="229" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219753/615-229/pastedImage_45.png" style="width: 615px; height: 229px;" width="615"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt; ----Now Adding Required Code----&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Function Exit :&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;EXIT_SAPMM06E_016&amp;#160;&amp;#160;&amp;#160; - PBO &lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Include File:&lt;/strong&gt;&lt;br/&gt;&lt;strong&gt;&lt;span class="L0S52"&gt;INCLUDE ZXM06U41 .&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219754/pastedImage_51.png"&gt;&lt;img class="jiveImage" height="81" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219754/414-81/pastedImage_51.png" style="width: 414px; height: 81px;" width="414"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Function Exit :&lt;/strong&gt;&lt;/p&gt;&lt;p&gt; &lt;strong&gt;EXIT_SAPMM06E_018&amp;#160; - PAI&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Include File:&lt;/strong&gt;&lt;br/&gt;&lt;span class="L0S52"&gt;&lt;strong&gt;INCLUDE ZXM06U40 .&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;This code is to Update Data Base Table &lt;strong&gt;EKPO.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219758/pastedImage_54.png"&gt;&lt;img class="jiveImage" height="54" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219758/327-54/pastedImage_54.png" style="width: 327px; height: 54px;" width="327"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Now Coding Part is Completed.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Go to &lt;strong&gt;ME21N&lt;/strong&gt;&amp;#160; - In &lt;strong&gt;ITEM LEVEL&lt;/strong&gt; You will find &lt;strong&gt;CUSTOMER DATA&lt;/strong&gt; Tab. In that Tab you will find &lt;strong&gt;COST CENTER&lt;/strong&gt; Field.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219760/pastedImage_56.png"&gt;&lt;img class="jiveImage" height="132" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219760/620-132/pastedImage_56.png" style="width: 1134px; height: 243px;" width="620"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span class="L0S52"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span class="L0S52"&gt;&lt;strong&gt;EKPO TABLE : CHECK THE DATA.&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85559-219766/pastedImage_62.png"&gt;&lt;img class="jiveImage" height="99" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85559-219766/620-99/pastedImage_62.png" style="width: 740px; height: 119px;" width="620"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Same Steps you can follow for adding FIELDS in HEADER LEVEL .&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:38952e06-56e7-4e8e-a07a-09e1d357fa12] --&gt;</description>
      <pubDate>Tue, 21 May 2013 05:29:08 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/21/adding-custom-fields-to-the-purchase-order-transaction-me21n-header-item-level</guid>
      <dc:creator>Prudhvi Choudary</dc:creator>
      <dc:date>2013-05-21T05:29:08Z</dc:date>
      <clearspace:dateToText>4 hours, 17 minutes ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/adding-custom-fields-to-the-purchase-order-transaction-me21n-header-item-level</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=85559</wfw:commentRss>
    </item>
    <item>
      <title>Global Data in ABAP OO Programs</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/21/global-data-in-abap-oo-programs</link>
      <description>&lt;!-- [DocumentBodyStart:f540a265-5890-459a-a7b7-960e39904dac] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I decided to spend a bit of time looking at some of the blogs being published out on SCN as I found myself with a bit of time.&amp;#160; Unfortunately I found a lot of examples of poor quality coding, obsolete techniques and non-nonsensical use of OO programming.&amp;#160; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;As many people are pushing to learn the latest technologies, unfortunately there are many who have not yet grasped many of the fundamental principles of good quality coding.&amp;#160; More often than not I have found that having a solid understanding of the syntax and the basic design principles outlined by the good old gang of four has helped me to quickly get up to speed with new advances in technology.&amp;#160; There is no point trying to run, before you can&amp;#160; walk and eventually it shows in the work you deliver.&amp;#160; &lt;span style="font-size: 10pt;"&gt;Testament to this is the WebDynpro developers that embed business logic in the Views of their WebDynpro components or the OO Developers that use classes in the same way they used to use function modules or subroutines.&amp;#160; &lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;If you think you are in the above category, then I urge you to go back and learn the basics.&amp;#160; There is nothing to be ashamed of.&amp;#160; I recently did it myself.&amp;#160; Having been persecuted for so many years for trying to use OO techniques that I learnt at university (as it was not fair to other developers who could not code in OO) , I brushed off my old books and gemmed up.&amp;#160; &lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;One of the key principles in programming is called the "&lt;a class="jive-link-external-small" href="http://en.wikipedia.org/wiki/Separation_of_concerns"&gt;Separation of Concerns&lt;/a&gt;".&amp;#160; So one of the first things that breaks this principle is the use of global data.&amp;#160; I'm sure you have come across a piece of code in a massive program in a huge subroutine and had a mental breakdown deciphering what the impact of your change is going to be.&amp;#160; Well if you modularise your code, preferably in OO, you have a lot less to worry about.&amp;#160; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The time for using global program variables (yes and even in report writing) can and should pretty much come to an end.&amp;#160; Below is a little template report you can use in your day to day ABAP reporting requirements, which I think exemplifies the usage of passing references and minimal use of the global reference.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p&gt;&lt;span class="L0S31"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp; Report&amp;#160; ZKP_TEMPLATE_REPORT&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp; A very simple MVC template for creating reports.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp; Note the distinct lack of global variables in the main program and&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp; even in my classes. It is far better to pass references into methods,&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp; then keep track of everything globally.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;REPORT&amp;#160; &lt;/span&gt;zkp_template_report&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS zcl_report_model DEFINITION&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* This is a really simplistic model but you could work with your own&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* model objects and better incorporate inheritance if required,&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* to better encapsulate your business logic&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;CLASS &lt;/span&gt;zcl_report_model &lt;span class="L0S52"&gt;DEFINITION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;PUBLIC &lt;/span&gt;&lt;span class="L0S52"&gt;SECTION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" Shared type elements that are reused globally in my application&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" are placed here in the model&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPES&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;ty_carrid&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;RANGE &lt;span class="L0S52"&gt;OF &lt;/span&gt;s_carr_id&lt;span class="L0S55"&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ty_currcode &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;RANGE &lt;span class="L0S52"&gt;OF &lt;/span&gt;s_currcode&lt;span class="L0S55"&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; tty_scarr&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;&lt;span class="L0S52"&gt;STANDARD &lt;/span&gt;&lt;span class="L0S52"&gt;TABLE &lt;/span&gt;&lt;span class="L0S52"&gt;OF &lt;/span&gt;scarr &lt;span class="L0S52"&gt;WITH &lt;/span&gt;&lt;span class="L0S52"&gt;KEY &lt;/span&gt;carrid&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;METHODS&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;get_data &lt;span class="L0S52"&gt;IMPORTING &lt;/span&gt;im_carrid&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;zcl_report_model&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;ty_carrid&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; im_currcode&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;zcl_report_model&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;ty_currcode&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; RETURNING &lt;span class="L0S52"&gt;value&lt;/span&gt;&lt;span class="L0S55"&gt;(&lt;/span&gt;re_scarr&lt;span class="L0S55"&gt;) &lt;/span&gt;&lt;span class="L0S52"&gt;TYPE &lt;/span&gt;tty_scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;PRIVATE &lt;/span&gt;&lt;span class="L0S52"&gt;SECTION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" This is the only piece of global data I use in my application&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" it exists only as long as I have a reference to an instance of&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" this class in my program&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;DATA&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;gt_scarr &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;tty_scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;ENDCLASS&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"zcl_report_model DEFINITION&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS zcl_report_view DEFINITION&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* Your view is really how you intend to present the information. This&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* class is abstract and so is the method implying you need to redefine&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* it.&amp;#160; (Hence no implementation required)&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* You may want to render your view in different ways ALV, FILE, EMAIL&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;CLASS &lt;/span&gt;zcl_report_view &lt;span class="L0S52"&gt;DEFINITION &lt;/span&gt;ABSTRACT&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;PUBLIC &lt;/span&gt;&lt;span class="L0S52"&gt;SECTION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;METHODS&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;display_data ABSTRACT &lt;span class="L0S52"&gt;IMPORTING &lt;/span&gt;im_scarr &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;zcl_report_model&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;tty_scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;ENDCLASS&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"zcl_report_view DEFINITION&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS zcl_report_view_alv DEFINITION&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* So here is my new class that will implement the display method&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* using an ALV.&amp;#160; You can do a lot here with the SALV class for&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* displaying data, but this will be very simple.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;CLASS &lt;/span&gt;zcl_report_view_alv &lt;span class="L0S52"&gt;DEFINITION &lt;/span&gt;FINAL &lt;span class="L0S52"&gt;INHERITING &lt;/span&gt;&lt;span class="L0S52"&gt;FROM &lt;/span&gt;zcl_report_view&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;PUBLIC &lt;/span&gt;&lt;span class="L0S52"&gt;SECTION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;METHODS&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;display_data &lt;span class="L0S52"&gt;REDEFINITION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;ENDCLASS&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"zcl_report_v&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS zcl_report_controller DEFINITION&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* This class will be used to handle the flow of the program. Passing&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* information from the views and requesting data from the model.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;* No business logic should be placed here&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;CLASS &lt;/span&gt;zcl_report_controller &lt;span class="L0S52"&gt;DEFINITION &lt;/span&gt;ABSTRACT FINAL&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;PUBLIC &lt;/span&gt;&lt;span class="L0S52"&gt;SECTION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" Import all the report selection variables into the controller method&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" for executing the report&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;CLASS-METHODS&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;execute_report&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;IMPORTING &lt;/span&gt;im_carrid&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;zcl_report_model&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;ty_carrid&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; im_currcode &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;zcl_report_model&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;ty_currcode&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;ENDCLASS&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"zcl_report_controller DEFINITION&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" I need a global data statement for my selection option&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" I could create a generic select-option by adding the&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" name in brackets, however I lose the benefits from the data dictionary&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" Search helps etc in my selection screen&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" Beyond this I will not use this reference again.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" It's not ideal but reporting was never going to be 100% OO&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;DATA&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;gt_scarr &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" Replace these with your report variables&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;SELECT-OPTIONS&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;s_carrid &lt;span class="L0S52"&gt;FOR &lt;/span&gt;gt_scarr&lt;span class="L0S70"&gt;-&lt;/span&gt;carrid&lt;span class="L0S55"&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; s_curcod &lt;span class="L0S52"&gt;FOR &lt;/span&gt;gt_scarr&lt;span class="L0S70"&gt;-&lt;/span&gt;currcode&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;START-OF-SELECTION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" Now kick off the report logic&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; zcl_report_controller&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;execute_report&lt;span class="L0S55"&gt;( &lt;/span&gt;im_carrid&amp;#160;&amp;#160; &lt;span class="L0S55"&gt;= &lt;/span&gt;s_carrid[]&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; im_currcode &lt;span class="L0S55"&gt;= &lt;/span&gt;s_curcod[] &lt;span class="L0S55"&gt;)&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS zcl_report_controller IMPLEMENTATION&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;CLASS &lt;/span&gt;zcl_report_controller &lt;span class="L0S52"&gt;IMPLEMENTATION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;METHOD &lt;/span&gt;execute_report&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;DATA&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;lo_model&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;&lt;span class="L0S52"&gt;REF &lt;/span&gt;&lt;span class="L0S52"&gt;TO &lt;/span&gt;zcl_report_model&lt;span class="L0S55"&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lt_scarr&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;zcl_report_model&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;tty_scarr&lt;span class="L0S55"&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lo_disp&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;&lt;span class="L0S52"&gt;REF &lt;/span&gt;&lt;span class="L0S52"&gt;TO &lt;/span&gt;zcl_report_view&lt;span class="L0S55"&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lo_disp_alv &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;&lt;span class="L0S52"&gt;REF &lt;/span&gt;&lt;span class="L0S52"&gt;TO &lt;/span&gt;zcl_report_view_alv&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;CREATE &lt;/span&gt;OBJECT lo_model&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" Execute the model method to retrieve the data I need for my report&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lt_scarr &lt;span class="L0S55"&gt;= &lt;/span&gt;lo_model&lt;span class="L0S70"&gt;-&amp;gt;&lt;/span&gt;get_data&lt;span class="L0S55"&gt;( &lt;/span&gt;im_carrid&amp;#160;&amp;#160; &lt;span class="L0S55"&gt;= &lt;/span&gt;im_carrid&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; im_currcode &lt;span class="L0S55"&gt;= &lt;/span&gt;im_currcode &lt;span class="L0S55"&gt;)&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;CREATE &lt;/span&gt;OBJECT lo_disp_alv&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" Now output the data via the view&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" The reason I have assigned the specialised ALV class reference to the&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" generalised view class reference is purely overkill in this example.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" However I can very quickly create a new view class and assign this&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" perhaps using a case statement to determine which view to output.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lo_disp &lt;span class="L0S55"&gt;= &lt;/span&gt;lo_disp_alv&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lo_disp&lt;span class="L0S70"&gt;-&amp;gt;&lt;/span&gt;display_data&lt;span class="L0S55"&gt;( &lt;/span&gt;im_scarr &lt;span class="L0S55"&gt;= &lt;/span&gt;lt_scarr &lt;span class="L0S55"&gt;)&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;ENDMETHOD&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"execute_report&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;ENDCLASS&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"zcl_report_controller IMPLEMENTATION&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS zcl_report_view IMPLEMENTATION&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;CLASS &lt;/span&gt;zcl_report_view_alv &lt;span class="L0S52"&gt;IMPLEMENTATION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;METHOD &lt;/span&gt;display_data&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;DATA&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;lo_salv_tab &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;&lt;span class="L0S52"&gt;REF &lt;/span&gt;&lt;span class="L0S52"&gt;TO &lt;/span&gt;cl_salv_table&lt;span class="L0S55"&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lx_salv_msg &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;&lt;span class="L0S52"&gt;REF &lt;/span&gt;&lt;span class="L0S52"&gt;TO &lt;/span&gt;cx_salv_msg&lt;span class="L0S55"&gt;,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lt_scarr&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;zcl_report_model&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;tty_scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lt_scarr &lt;span class="L0S55"&gt;= &lt;/span&gt;im_scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;TRY&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" The SALV classes are excellent for quickly generating output for display&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" The factory method here generates a new instance based on my input data.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;" I could manipulate the output further prior to display if I need&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cl_salv_table&lt;span class="L0S70"&gt;=&amp;gt;&lt;/span&gt;factory&lt;span class="L0S55"&gt;( &lt;/span&gt;&lt;span class="L0S52"&gt;IMPORTING &lt;/span&gt;r_salv_table &lt;span class="L0S55"&gt;= &lt;/span&gt;lo_salv_tab&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;CHANGING&amp;#160; &lt;/span&gt;t_table&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S55"&gt;= &lt;/span&gt;lt_scarr &lt;span class="L0S55"&gt;)&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lo_salv_tab&lt;span class="L0S70"&gt;-&amp;gt;&lt;/span&gt;display&lt;span class="L0S55"&gt;( &lt;/span&gt;&lt;span class="L0S55"&gt;)&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;CATCH &lt;/span&gt;cx_salv_msg &lt;span class="L0S52"&gt;INTO &lt;/span&gt;lx_salv_msg&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" You should use better exception handling here.&amp;#160; Possibly raise it up&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S31"&gt;" to the controller class and deal with an appropriate action there&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;MESSAGE &lt;/span&gt;e000&lt;span class="L0S55"&gt;(&lt;/span&gt;zkp&lt;span class="L0S55"&gt;) &lt;/span&gt;&lt;span class="L0S52"&gt;WITH &lt;/span&gt;&lt;span class="L0S33"&gt;'An error occurred rendering the results'&lt;/span&gt;&lt;span class="L0S55"&gt;(&lt;/span&gt;&lt;span class="L0S32"&gt;001&lt;/span&gt;&lt;span class="L0S55"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S33"&gt;'as an ALV'&lt;/span&gt;&lt;span class="L0S55"&gt;(&lt;/span&gt;&lt;span class="L0S32"&gt;002&lt;/span&gt;&lt;span class="L0S55"&gt;)&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;ENDTRY&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;ENDMETHOD&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"display_data&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;ENDCLASS&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"zcl_report_view IMPLEMENTATION&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CLASS zcl_report_model IMPLEMENTATION&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S31"&gt;*----------------------------------------------------------------------*&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;CLASS &lt;/span&gt;zcl_report_model &lt;span class="L0S52"&gt;IMPLEMENTATION&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;METHOD &lt;/span&gt;get_data&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;DATA&lt;/span&gt;&lt;span class="L0S55"&gt;: &lt;/span&gt;lt_scarr &lt;span class="L0S52"&gt;TYPE &lt;/span&gt;tty_scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;IF &lt;/span&gt;gt_scarr &lt;span class="L0S52"&gt;IS &lt;/span&gt;&lt;span class="L0S52"&gt;NOT &lt;/span&gt;&lt;span class="L0S52"&gt;INITIAL&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; re_scarr &lt;span class="L0S55"&gt;= &lt;/span&gt;gt_scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;ENDIF&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;SELECT &lt;/span&gt;*&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;FROM &lt;/span&gt;scarr&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;INTO &lt;/span&gt;&lt;span class="L0S52"&gt;TABLE &lt;/span&gt;lt_scarr&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;WHERE &lt;/span&gt;carrid&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;IN &lt;/span&gt;im_carrid&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;AND&amp;#160;&amp;#160; &lt;/span&gt;currcode &lt;span class="L0S52"&gt;IN &lt;/span&gt;im_currcode&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;IF &lt;/span&gt;sy&lt;span class="L0S70"&gt;-&lt;/span&gt;subrc &lt;span class="L0S55"&gt;= &lt;/span&gt;&lt;span class="L0S32"&gt;0&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; re_scarr &lt;span class="L0S55"&gt;= &lt;/span&gt;gt_scarr &lt;span class="L0S55"&gt;= &lt;/span&gt;lt_scarr&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;ENDIF&lt;/span&gt;&lt;span class="L0S55"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;span class="L0S52"&gt;ENDMETHOD&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"get_data&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span class="L0S52"&gt;ENDCLASS&lt;/span&gt;&lt;span class="L0S55"&gt;.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span class="L0S31"&gt;"zcl_report_model IMPLEMENTATION&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;At this point I won't be mentioning singleton classes in the context of global data, but they do have their place.&amp;#160; And there is a pretty good blog out there discussing this in ABAP.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:f540a265-5890-459a-a7b7-960e39904dac] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">beginner</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">design_patterns</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap_oo</category>
      <pubDate>Tue, 21 May 2013 02:19:59 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/21/global-data-in-abap-oo-programs</guid>
      <dc:creator>Katan Patel</dc:creator>
      <dc:date>2013-05-21T02:19:59Z</dc:date>
      <clearspace:dateToText>7 hours, 26 minutes ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/global-data-in-abap-oo-programs</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=85555</wfw:commentRss>
    </item>
    <item>
      <title>MACROS in ABAP</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/20/macros-in-abap</link>
      <description>&lt;!-- [DocumentBodyStart:4f7a269c-915c-4a16-b0c2-791ea35cd7c0] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Well, it is a very old methodology but still useful in some cases..... for those who are not aware....&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Macro is just like Sub-routine BUT.... it has some differences.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;MACROS needs to be declared before usage, Sub-routines can be called and defined later below in the program.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;A macro can be used when we want to use the same set of statement multiple times.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;A macro is either local and can be defined as :&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;DEFINE macro_name.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160;&amp;#160; statements&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;END-OF-DEFINITION.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The maximum number of parameters that can be passed in a macro are 9.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;One of the possible example I could think is easy to understand is field catalog.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;DEFINITION.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;DEFINE Build_FCat.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160;&amp;#160;&amp;#160; itfieldcat-fieldname&amp;#160; = &amp;amp;1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160;&amp;#160;&amp;#160; itfieldcat-col_pos&amp;#160;&amp;#160;&amp;#160;&amp;#160; = &amp;amp;2.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160;&amp;#160;&amp;#160; itfieldcat-seltext_l&amp;#160;&amp;#160;&amp;#160; = &amp;amp;3.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160;&amp;#160;&amp;#160; itfieldcat-emphasize = &amp;amp;4.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160;&amp;#160;&amp;#160; itfieldcat-outputlen&amp;#160;&amp;#160; = &amp;amp;5.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160;&amp;#160;&amp;#160; append itfieldcat to itfieldcat.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160;&amp;#160;&amp;#160; clear itfieldcat.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;END-OF-DEFINITION.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;USAGE.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160; Build_FCat 'EBELN'&amp;#160;&amp;#160; '01'&amp;#160; 'PO Number'&amp;#160;&amp;#160; 'X' 10.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160; Build_FCat 'EBELP'&amp;#160;&amp;#160; '02'&amp;#160; 'PO Item'&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ' ' 05.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;#160; Build_FCat 'MAKTX'&amp;#160;&amp;#160;&amp;#160; '03' 'Description'&amp;#160;&amp;#160;&amp;#160; ' ' 25.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;A macro can be GLOBAL and the best example is the BREAK statement of ABAP.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Global macros are defined in table TRMAC in SAP and can be used as you use the BREAK statement.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-85501-219286/macro+SM30.png"&gt;&lt;img alt="macro SM30.png" class="jive-image" height="214" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-85501-219286/493-214/macro+SM30.png" width="493"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Now,&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Macros don't belong to the definition part of the program. So you cannot debug them and they don't appear also in the debugger.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The best use would be to put logic that are complex calculations that you don't want to be disturbed in debug mode &lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Some checks which you want to over ride etc.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;But in generalized way if used can save you lot of stuffs like using in QCI calculations for OIL material quantities to group it and get the table directly &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Note : SAP recommends to use MACROS only in EXCEPTIONAL cases.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:4f7a269c-915c-4a16-b0c2-791ea35cd7c0] --&gt;</description>
      <pubDate>Mon, 20 May 2013 08:02:35 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/20/macros-in-abap</guid>
      <dc:creator>Mohammed Yakub Shah</dc:creator>
      <dc:date>2013-05-20T08:02:35Z</dc:date>
      <clearspace:dateToText>1 day, 1 hour ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/macros-in-abap</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=85501</wfw:commentRss>
    </item>
    <item>
      <title>Screen cast of Open XML documents Contents read</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/16/screen-cast-of-open-xml-documents-contents-read</link>
      <description>&lt;!-- [DocumentBodyStart:1aaa57e1-a804-4ddb-8443-83f91959d870] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hello.&lt;/p&gt;&lt;p&gt;This&amp;#160; is a &lt;strong&gt;screen-cast&lt;/strong&gt; showing&lt;/p&gt;&lt;p&gt;Reading Contents of MS-Word documents ( Open XML documents )&lt;/p&gt;&lt;p&gt;form outside the SAP &lt;/p&gt;&lt;p&gt;into SAP content.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.youtube.com/watch?v=Ratcsce-8qE"&gt;http://www.youtube.com/watch?v=Ratcsce-8qE&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Open XML documents are manipulated on the SAP server&lt;/p&gt;&lt;p&gt;without using&amp;#160; MS-Word application.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;this is done by ABAP objects using Open XML specification.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; Ronen Almog&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:1aaa57e1-a804-4ddb-8443-83f91959d870] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">sap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">xml</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">open</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">docx</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">xlsx</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">ooxml</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">open_xml</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">sap_open_xml</category>
      <pubDate>Thu, 16 May 2013 21:43:36 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/16/screen-cast-of-open-xml-documents-contents-read</guid>
      <dc:creator>Ronen Almog</dc:creator>
      <dc:date>2013-05-16T21:43:36Z</dc:date>
      <clearspace:dateToText>4 days, 12 hours ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/screen-cast-of-open-xml-documents-contents-read</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=85352</wfw:commentRss>
    </item>
    <item>
      <title>Posting a Goods Movement Document in IS-OIL</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/14/posting-a-goods-movement-document-is-is-oil</link>
      <description>&lt;!-- [DocumentBodyStart:7b10d74b-6cc7-454d-bdf0-6100f1a7d64d] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;This blog illustrates the method to post goods movement in IS-OIL.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Almost every one of us have used &amp;ldquo;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;BAPI_GOODSMVT_CREATE&amp;#8221; &lt;/span&gt;to post a material goods movement in SAP. But when we are working in IS-Oil material this BAPI does not work and we end up trying different ways to do the same.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Well SAP has another BAPI for this and I will try to post a 311 movement with the same. I hope this helps in other postings as well.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The BAPI is &lt;span style="color: black; font-size: 10pt; background: white; font-family: 'Courier New';"&gt;&lt;strong&gt;BAPI_GOODSMVT_CREATE_OIL.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;h2&gt;Data Declaration :&lt;/h2&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="font-size: 10pt;"&gt;DATA &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;: &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TYPE &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;bapioil2017_gm_itm_crte_01&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TYPE &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;bapioil2017_gm_itm_crte_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_header&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TYPE &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;bapioil2017_gm_head_create&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_doc_no&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TYPE &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;mkpf&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;mblnr&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lt_item&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TYPE TABLE OF &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;bapioil2017_gm_itm_crte_01&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lt_item_param &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TYPE TABLE OF &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;bapioil2017_gm_itm_crte_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lt_return&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TYPE TABLE OF &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;bapiret2&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;h2&gt;Passing the Data.&lt;/h2&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Now most data passing will be similar to our standard way.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Material Document Header.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&amp;#160;&amp;#160;&amp;#160; lw_header&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;pstng_date &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;sy&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;datum&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; lw_header&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;doc_date&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;sy&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;datum&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Material Document Item.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;material&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_g_odet&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;matnr&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;move_mat&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_g_odet&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;matnr&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;plant&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;plant&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;stge_loc&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;sloc&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;batch&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_oijnomi&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;charg_o&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;val_type&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lc_vatyp&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;move_plant&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;plant&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;move_stloc&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lc_vsloc&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;move_batch&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_oijnomi&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;charg_o&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;move_val_type &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lc_vatyp&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;move_type&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'311'&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent: 0.5in;"&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;entry_qnt&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;tag_value&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;entry_uom&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;tag_uom&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;h3&gt;Posting the Additional Quantities&lt;/h3&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Now this is the major difference between normal goods movement and IS-Oil goods movement.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In the declared &lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lt_item_param &lt;/span&gt;there are two control parameters for posting items with additional quantities:&lt;/p&gt;&lt;p style="text-indent: -0.25in; padding-left: 45px;"&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span class="pasted-list-info"&gt;&amp;sect;&amp;#160; &lt;/span&gt;&lt;/span&gt;CALCULATEMISSING&lt;/p&gt;&lt;p style="text-indent: -0.25in; padding-left: 45px;"&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span class="pasted-list-info"&gt;&amp;sect;&amp;#160; &lt;/span&gt;&lt;/span&gt;USEDEFAULTPARAMETERS&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;There are QCI [Quantity Conversion Interface] parameters which are default specified in configuration if you want to use them you put the USEDEFAULTPARAMETERS parameter value as &amp;#8216;X&amp;rsquo;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Extract from SAP FM Documentation for understanding.&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;If the value you enter for the CALCULATEMISSING parameter differs from the default value, the system determines all all necessary units of measure for this posting item and calculates the missing quantities. Otherwise you must ensure that the system can access all quantities in all required units of measure through the interface.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;We are going to provide values.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;For some materials the Air Buoyancy indicator is also a parameter for conversion that can be received from MARC.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="font-size: 10pt;"&gt;SELECT SINGLE &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;umrsl abfac &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;FROM &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;marc&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;INTO &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;(&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;conversiongroup&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;airbuoyancyconstant &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;)&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;WHERE &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;matnr &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_g_odet&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;matnr&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;AND &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;werks &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;span style="color: #000000; font-family: 'Courier New';"&gt;werks&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;IF &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;sy&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;subrc &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;IS INITIAL&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;IF &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;airbuoyancyconstant &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;IS NOT INITIAL&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;airbuoyancyindicator &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'X'&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;ENDIF&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;ENDIF&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;calculatemissing&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'X'&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;testtemperature_density &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'15.00'&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;testtemp_density_uom&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'CEL'&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;basedensity&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;tag_value&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;basedensityuom&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;tag_uom&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;testdensity&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;tag_value&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;testdensity_uom&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;tag_uom&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;materialtemperature&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;tag_value&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;materialtemperature_uom &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_tankm&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;tag_uom&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="l0s551"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span class="l0s551"&gt;&lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;h3&gt;Another important point&lt;/h3&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;There is a mapping between the item and item_param that is line_id they should be same for the item for which the parameter is passed.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="font-size: 10pt;"&gt;ADD &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;1 &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TO &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item_count&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;line_id &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;line_id &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item_count&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="font-size: 10pt;"&gt;APPEND &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TO &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lt_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;APPEND &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item_param &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TO &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lt_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="font-size: 10pt;"&gt;CLEAR &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;: &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_item&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;,&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lw_item_param&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span class="l0s551"&gt;&lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;h2&gt;Calling the BAPI&lt;/h2&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Finally we will call the BAPI to post the Document.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="padding-left: 45px;"&gt;&lt;span style="font-size: 10pt;"&gt;CALL FUNCTION &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'BAPI_GOODSMVT_CREATE_OIL'&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;EXPORTING&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; goodsmvt_header&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_header&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; goodsmvt_code&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'04'&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;IMPORTING&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; materialdocument&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_doc_no&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TABLES&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; goodsmvt_item_01&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lt_item&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; goodsmvt_item_param &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lt_item_param&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;return&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lt_return&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;IF &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lt_return &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;IS INITIAL&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;AND &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_doc_no &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;IS NOT INITIAL&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;CALL FUNCTION &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'BAPI_TRANSACTION_COMMIT' &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;MESSAGE &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;s110 &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;WITH &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lw_doc_no&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;ELSE&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;CALL FUNCTION &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;'POPUP_WITH_TABLE_DISPLAY_OK'&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;EXPORTING&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; endpos_col&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;150&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; endpos_row&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;15&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; startpos_col &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;5&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; startpos_row &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;5&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; titletext&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;text&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;-&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;002&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;TABLES&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; valuetab&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;= &lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;lt_return&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;span style="font-family: 'Courier New'; background: white; color: black; font-size: 10pt;"&gt;&lt;br/&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;ENDIF&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:7b10d74b-6cc7-454d-bdf0-6100f1a7d64d] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">bapi_goodsmvt_create</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">bapi_goodsmvt_create_oil</category>
      <pubDate>Tue, 14 May 2013 12:48:10 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/14/posting-a-goods-movement-document-is-is-oil</guid>
      <dc:creator>Mohammed Yakub Shah</dc:creator>
      <dc:date>2013-05-14T12:48:10Z</dc:date>
      <clearspace:dateToText>6 days, 20 hours ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/posting-a-goods-movement-document-is-is-oil</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=85096</wfw:commentRss>
    </item>
    <item>
      <title>Create new batch characteristics with values checked and suggested by a function module</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/14/create-new-batch-characteristics-with-values-checked-and-suggested-by-a-function-module</link>
      <description>&lt;!-- [DocumentBodyStart:56953248-71db-40a3-be3d-e8441ed5895c] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;In this example I'll try to show you how to create new characteristics for a material batch. This will include the following steps:&lt;/p&gt;&lt;ol style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0 0 1.625em 2.5em;"&gt;&lt;li&gt;Creation of a function module to check characteristics value (optional)&lt;/li&gt;&lt;li&gt;Creation of a function module to suggest characteristics value - search help (optional)&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Nimbus Sans L', sans-serif;"&gt;Creation of new characteristics (CT04)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Nimbus Sans L', sans-serif;"&gt;Creation/modification of a class (CL02)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Nimbus Sans L', sans-serif;"&gt;Object/Class assignment to a class (CL24N or CL20N)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Batch modification with our new characteristics (MCS2N)&lt;/li&gt;&lt;/ol&gt;&lt;h1 style="color: #000000; font-size: 15px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0 0 0.8125em;"&gt;1. Creation of a function module to check characteristics value&lt;/h1&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;In the following code you can see very basic check which can of course be much more complex for your specific scenario.&lt;/p&gt;&lt;pre&gt;FUNCTION Z_CHECK_050.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"&amp;#160; IMPORTING
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(CHARACT_NO) TYPE&amp;#160; CABN-ATINN
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(CHARACT) TYPE&amp;#160; CABN-ATNAM
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(VALUE) TYPE&amp;#160; CAWN-ATWRT
*"&amp;#160; EXCEPTIONS
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NOT_FOUND
*"----------------------------------------------------------------------

" Allow empty value
&amp;#160; check value is NOT INITIAL.

" Just for demonstration purposes we check for fixed values
&amp;#160; if value &amp;lt;&amp;gt; 1 and 
&amp;#160;&amp;#160;&amp;#160;&amp;#160; value &amp;lt;&amp;gt; 2 and
&amp;#160;&amp;#160;&amp;#160;&amp;#160; value &amp;lt;&amp;gt; 3.
&amp;#160;&amp;#160;&amp;#160; RAISE NOT_FOUND.
&amp;#160; endif.
ENDFUNCTION.&lt;/pre&gt;&lt;h1 style="color: #000000; font-size: 15px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0 0 0.8125em;"&gt;2. Creation of a function module to suggest characteristics value&lt;/h1&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;In the following code I'll create my own field catalog for selection grid to be displayed. We will need a checkbox column (called CHK) which will inform about which values (multiple allowed) are selected&lt;/p&gt;&lt;pre&gt;FUNCTION z_check_050_f4.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"&amp;#160; IMPORTING
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(CHARACT_NO) TYPE&amp;#160; CABN-ATINN
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(CHARACT) TYPE&amp;#160; CABN-ATNAM
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(DISPLAY)
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(ADDITIONAL_VALUES) TYPE&amp;#160; CABN-ATSON
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(MULTIPLE_VALUES) TYPE&amp;#160; RCTMV-ATLIS
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(LANGUAGE) TYPE&amp;#160; SY-LANGU
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160; REFERENCE(DISPLAY_WITH_LANGUAGE)
*"&amp;#160; TABLES
*"&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; VALUES STRUCTURE&amp;#160; RCTVALUES
*"----------------------------------------------------------------------
&amp;#160; TYPE-POOLS : slis.

&amp;#160; CONSTANTS:
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c_werks(50) TYPE c VALUE '(SAPLCHRG)DFBATCH-WERKS'.

&amp;#160; types:
&amp;#160;&amp;#160;&amp;#160; BEGIN OF ty_data,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; chk(1) type c,
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; value type c,&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 
&amp;#160;&amp;#160;&amp;#160; END OF ty_data.

&amp;#160; DATA:
&amp;#160;&amp;#160;&amp;#160; lt_values type TABLE OF ty_data,
&amp;#160;&amp;#160;&amp;#160; l_werks TYPE&amp;#160; dfbatch-werks,
&amp;#160;&amp;#160;&amp;#160; lt_fieldcat TYPE slis_t_fieldcat_alv.

&amp;#160; FIELD-SYMBOLS:
&amp;#160;&amp;#160;&amp;#160; &amp;lt;fs_value&amp;gt; type ty_data,
&amp;#160;&amp;#160;&amp;#160; &amp;lt;fs_werks&amp;gt;,
&amp;#160;&amp;#160;&amp;#160; &amp;lt;fs_rctvalue&amp;gt; TYPE rctvalues,
&amp;#160;&amp;#160;&amp;#160; &amp;lt;fs_fcat&amp;gt; type slis_fieldcat_alv.

&amp;#160; ASSIGN (c_werks) TO &amp;lt;fs_werks&amp;gt;.
&amp;#160; IF sy-subrc EQ 0.
&amp;#160;&amp;#160;&amp;#160; l_werks&amp;#160; = &amp;lt;fs_werks&amp;gt;.
&amp;#160; ENDIF.

&amp;#160; CHECK l_werks IS NOT INITIAL.

&amp;#160; APPEND INITIAL LINE TO lt_values ASSIGNING &amp;lt;fs_value&amp;gt;.
&amp;#160; &amp;lt;fs_value&amp;gt;-value = '1'.
&amp;#160; APPEND INITIAL LINE TO lt_values ASSIGNING &amp;lt;fs_value&amp;gt;.
&amp;#160; &amp;lt;fs_value&amp;gt;-value = '2'.
&amp;#160; APPEND INITIAL LINE TO lt_values ASSIGNING &amp;lt;fs_value&amp;gt;.
&amp;#160; &amp;lt;fs_value&amp;gt;-value = '3'.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 

&amp;#160; APPEND INITIAL LINE TO lt_fieldcat ASSIGNING &amp;lt;fs_fcat&amp;gt;.
&amp;#160; &amp;lt;fs_fcat&amp;gt;-fieldname&amp;#160; = 'CHK'.
&amp;#160; &amp;lt;fs_fcat&amp;gt;-seltext_m&amp;#160; = ''.
&amp;#160; &amp;lt;fs_fcat&amp;gt;-ddictxt(1) = 'M'.

&amp;#160; APPEND INITIAL LINE TO lt_fieldcat ASSIGNING &amp;lt;fs_fcat&amp;gt;.
&amp;#160; &amp;lt;fs_fcat&amp;gt;-fieldname&amp;#160; = 'VALUE'.
&amp;#160; &amp;lt;fs_fcat&amp;gt;-seltext_m&amp;#160; = 'Value'.
&amp;#160; &amp;lt;fs_fcat&amp;gt;-outputlen&amp;#160; = 10.
&amp;#160; &amp;lt;fs_fcat&amp;gt;-ddictxt(1) = 'M'.

&amp;#160; loop at lt_values ASSIGNING &amp;lt;fs_value&amp;gt;.
&amp;#160;&amp;#160;&amp;#160; READ TABLE values with KEY value = &amp;lt;fs_value&amp;gt;-value TRANSPORTING NO FIELDS.
&amp;#160;&amp;#160;&amp;#160; if sy-subrc = 0.
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;fs_value&amp;gt;-chk = 'X'.
&amp;#160;&amp;#160;&amp;#160; ENDIF.
&amp;#160; ENDLOOP.

&amp;#160; CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
&amp;#160;&amp;#160;&amp;#160; EXPORTING
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; i_title&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 'Allowed values'
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; i_selection&amp;#160;&amp;#160; = 'X'
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; i_zebra&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 'X'
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; i_checkbox_fieldname = 'CHK'
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; i_tabname&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 'LT_VALUES'
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; it_fieldcat&amp;#160;&amp;#160; = lt_fieldcat
&amp;#160;&amp;#160;&amp;#160; TABLES
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; t_outtab&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = lt_values
&amp;#160;&amp;#160;&amp;#160; EXCEPTIONS
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; program_error = 1
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; OTHERS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 2.

&amp;#160; LOOP AT lt_values ASSIGNING &amp;lt;fs_value&amp;gt; where chk = 'X'.
&amp;#160;&amp;#160;&amp;#160; READ TABLE values with KEY value = &amp;lt;fs_value&amp;gt;-value TRANSPORTING NO FIELDS.
&amp;#160;&amp;#160;&amp;#160; if sy-subrc = 0.
*&amp;#160;&amp;#160;&amp;#160;&amp;#160; selected value had already been assigned - no action needed
&amp;#160;&amp;#160;&amp;#160; else.
*&amp;#160;&amp;#160;&amp;#160;&amp;#160; new value selected -&amp;gt; add it to the list
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; APPEND INITIAL LINE TO values ASSIGNING &amp;lt;fs_rctvalue&amp;gt;.
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;fs_rctvalue&amp;gt;-value = &amp;lt;fs_value&amp;gt;-value.
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;fs_rctvalue&amp;gt;-status = 'I'.
&amp;#160;&amp;#160;&amp;#160; ENDIF.
&amp;#160; endloop.

&amp;#160; LOOP AT values ASSIGNING &amp;lt;fs_rctvalue&amp;gt; where status &amp;lt;&amp;gt; 'I'.
&amp;#160;&amp;#160;&amp;#160; READ TABLE lt_values with KEY
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; value = &amp;lt;fs_rctvalue&amp;gt;-value
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; chk&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 'X'
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TRANSPORTING NO FIELDS.
&amp;#160;&amp;#160;&amp;#160; if sy-subrc &amp;lt;&amp;gt; 0.
*&amp;#160;&amp;#160;&amp;#160;&amp;#160; value was de-selected - we have to delete it
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;fs_rctvalue&amp;gt;-status = 'D'.
&amp;#160;&amp;#160;&amp;#160; endif.
&amp;#160; ENDLOOP.

ENDFUNCTION.&lt;/pre&gt;&lt;h1 style="color: #000000; font-size: 15px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0 0 0.8125em;"&gt;3. Creation of new characteristics&lt;/h1&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Run Transaction CT04, enter name of new batch and press &lt;span style="color: inherit;"&gt;&lt;em&gt;CREATE&lt;/em&gt;&lt;/span&gt; icon&lt;a href="http://oprsteny.com/wp-content/uploads/img_5192171c03f61.png"&gt;&lt;img class="alignleft jiveImage" height="213" src="http://oprsteny.com/wp-content/uploads/img_5192171c03f61.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em; margin-right: 1.625em; margin-bottom: 1.625em;" title="New characteristics" width="637"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Enter description of the characteristics, set Status to Released, in Format section select your desired format (we'll create multiple values, character type of length 15)&lt;a href="http://oprsteny.com/wp-content/uploads/img_519226bb0bb07.png"&gt;&lt;br/&gt;&lt;img class="size-full alignleft jiveImage" height="423" src="http://oprsteny.com/wp-content/uploads/img_519226bb0bb07.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em; margin-right: 1.625em; margin-bottom: 1.625em; float: none;" title="New characteristics - details" width="556"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Now we need to assign our check function module to the characteristics - Go to tab &lt;span style="color: inherit;"&gt;&lt;em&gt;Values&lt;/em&gt;&lt;/span&gt;, click on &lt;span style="color: inherit;"&gt;&lt;em&gt;Other Value Check &lt;/em&gt;&lt;/span&gt;and select radio with label &lt;span style="color: inherit;"&gt;&lt;em&gt;Funct. module&lt;br/&gt;&lt;/em&gt;&lt;/span&gt;&lt;a href="http://oprsteny.com/wp-content/uploads/img_519218ed97e66.png"&gt;&lt;img class="size-full alignleft jiveImage" height="227" src="http://oprsteny.com/wp-content/uploads/img_519218ed97e66.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em; margin-right: 1.625em; margin-bottom: 1.625em;" title="Assigning FM to check values" width="569"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;When prompted, enter name of our check FM - &lt;span style="color: inherit;"&gt;&lt;em&gt;Z_CHECK_050&lt;/em&gt;&lt;/span&gt;.&lt;a href="http://oprsteny.com/wp-content/uploads/img_519221c4ef767.png"&gt;&lt;img class="size-full alignleft jiveImage" height="135" src="http://oprsteny.com/wp-content/uploads/img_519221c4ef767.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em; margin-right: 1.625em; margin-bottom: 1.625em;" title="Enter FM name" width="575"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;&lt;span style="color: inherit;"&gt;&lt;em&gt;Note:&lt;/em&gt;&lt;/span&gt; The search help function module &lt;span style="color: inherit;"&gt;&lt;em&gt;Z_CHECK_050_F4&lt;/em&gt;&lt;/span&gt; is assigned automatically&lt;/p&gt;&lt;h1 style="color: #000000; font-size: 15px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0 0 0.8125em;"&gt;4. Creation/modification of a class&lt;/h1&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Run TCode CL02 and create new or edit existing class for class type 022 (Batch). Enter some description (for new class), go to tab &lt;span style="color: inherit;"&gt;&lt;em&gt;Char. &lt;/em&gt;&lt;/span&gt;and assign our new characteristics ZBM_0050 to class.&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;&lt;a href="http://oprsteny.com/wp-content/uploads/img_51922455969e3.png"&gt;&lt;img class="alignnone size-full jiveImage" height="244" src="http://oprsteny.com/wp-content/uploads/img_51922455969e3.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em;" title="Assignment of characteristics to a class" width="510"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;h1 style="color: #000000; font-size: 15px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0 0 0.8125em;"&gt;5. Object/Class assignment to a class&lt;/h1&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Run TCode CL24N select class you used in previous step (B0001), class type 022&lt;/p&gt;&lt;ul&gt;&lt;li&gt;for new class without existing assignments click on button &lt;span style="color: inherit;"&gt;&lt;em&gt;Only new assignments&lt;/em&gt;&lt;/span&gt; and select &lt;span style="color: inherit;"&gt;&lt;em&gt;Material&lt;br style="color: inherit; font-style: inherit;"/&gt;&lt;a href="http://oprsteny.com/wp-content/uploads/img_5192234c72788.png"&gt;&lt;img class="alignnone jiveImage" height="424" src="http://oprsteny.com/wp-content/uploads/img_5192234c72788.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px;" title="New class/object assignment to Class" width="591"/&gt;&lt;/a&gt;&lt;br style="color: inherit; font-style: inherit;"/&gt;&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;for class with existing assignments just press enter&lt;a href="http://oprsteny.com/wp-content/uploads/img_519225418474f.png"&gt;&lt;img class="size-full alignleft jiveImage" height="583" src="http://oprsteny.com/wp-content/uploads/img_519225418474f.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-right: 1.625em; margin-bottom: 1.625em;" title="Class/Object assignment to Class" width="597"/&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 style="color: #000000; font-size: 15px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 0 0 0.8125em;"&gt;6. Batch modification with our new characteristics&lt;/h2&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Run TCode MSC2N and change a batch for given material. You can see that our new characteristics is available&lt;a href="http://oprsteny.com/wp-content/uploads/img_5192260a50569.png"&gt;&lt;img class="size-full alignleft jiveImage" height="480" src="http://oprsteny.com/wp-content/uploads/img_5192260a50569.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em; margin-right: 1.625em; margin-bottom: 1.625em;" title="New characteristics is available for batch" width="611"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Try to enter some value different from 1,2 or 3 (values defined in our check FM) and press enter&lt;br style="color: inherit; font-style: inherit;"/&gt;&lt;a href="http://oprsteny.com/wp-content/uploads/img_5192264c43d71.png"&gt;&lt;img class="size-full alignnone jiveImage" height="124" src="http://oprsteny.com/wp-content/uploads/img_5192264c43d71.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em;" title="Manually typed wrong characteristics value" width="450"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Press F4 and select some values&lt;br style="color: inherit; font-style: inherit;"/&gt;&lt;a href="http://oprsteny.com/wp-content/uploads/img_519226733969c.png"&gt;&lt;img class="size-full alignnone jiveImage" height="211" src="http://oprsteny.com/wp-content/uploads/img_519226733969c.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em; float: none;" title="Select multiple characteristics" width="256"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;&lt;a href="http://oprsteny.com/wp-content/uploads/img_519227f65ccd7.png"&gt;&lt;img class="size-full alignleft jiveImage" height="272" src="http://oprsteny.com/wp-content/uploads/img_519227f65ccd7.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em; margin-right: 1.625em; margin-bottom: 1.625em; float: none;" title="Selected characteristics are displayed" width="535"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Press F4 again and check that your previously selected values are already checked.&lt;br/&gt;&lt;a href="http://oprsteny.com/wp-content/uploads/img_51922838bfa55.png"&gt;&lt;img class="size-full alignnone jiveImage" height="210" src="http://oprsteny.com/wp-content/uploads/img_51922838bfa55.png" style="color: inherit; font-style: inherit; border-color: #dddddd; padding: 6px; margin-top: 0.4em; float: none;" title="Previously selected values are checked" width="254"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="color: #333333; font-size: 15.454545021057129px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; margin-bottom: 1.625em;"&gt;Now you can just save your batch - we are DONE &lt;img height="16px" src="http://scn.sap.com/1434/images/emoticons/happy.gif" width="16px"/&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:56953248-71db-40a3-be3d-e8441ed5895c] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">batch</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">class</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">assignment</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">ct04</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">msc2n</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">characteristics</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">cl24n</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">cl02</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">cl20n</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">batch_class</category>
      <pubDate>Tue, 14 May 2013 12:37:09 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/14/create-new-batch-characteristics-with-values-checked-and-suggested-by-a-function-module</guid>
      <dc:creator>Miroslav Oprsteny</dc:creator>
      <dc:date>2013-05-14T12:37:09Z</dc:date>
      <clearspace:dateToText>6 days, 17 hours ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/create-new-batch-characteristics-with-values-checked-and-suggested-by-a-function-module</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=85095</wfw:commentRss>
    </item>
    <item>
      <title>Finding Actual function module for a Function Exit</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/10/finding-actual-function-module-for-a-function-exit</link>
      <description>&lt;!-- [DocumentBodyStart:c76657a7-73e7-4419-91e8-c8412b5a76c3] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p align="justify"&gt;It is common to find customer exits in SAP&amp;rsquo;s code and Function modules, to accommodate customer specific business rules in SAP provided applications. These exits sometimes are in the form:&lt;/p&gt;&lt;p align="justify" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p align="justify"&gt;Call Customer-Function &amp;#8216;xxx&amp;rsquo;, where &amp;#8216;xxx&amp;rsquo; is usually a number. So, how do we know what the actual function module is, where we should put our custom code? &lt;/p&gt;&lt;p align="justify" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p align="justify"&gt;Here is a screen shot of a function module with customer exit:&lt;/p&gt;&lt;p align="justify" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84782-215333/Customer_Function_exit.png"&gt;&lt;img alt="Customer_Function_exit.png" class="jive-image" height="234" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84782-215333/527-234/Customer_Function_exit.png" width="527"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="justify" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p align="justify"&gt;To find out the actual function module, we will need to know what the main program name is. You can go to the main program using the menu item GO TO &amp;ndash;&amp;gt; Main Program&lt;/p&gt;&lt;p align="justify" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84782-215334/Customer_Function_exit_menu.png"&gt;&lt;img alt="Customer_Function_exit_menu.png" class="jive-image" height="291" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84782-215334/431-291/Customer_Function_exit_menu.png" width="431"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="justify" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p align="justify"&gt;Now, our customer exit name would be:&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong style="color: #808000;"&gt;EXIT_&amp;lt;Progam Name&amp;gt;_&amp;lt;XXX&amp;gt;,&lt;/strong&gt;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p align="justify"&gt;Where&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;lt;Program_Name&amp;gt; is the main program name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;lt;XXX&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; is the number next to &amp;ldquo;Customer-Function&amp;#8221;&lt;/p&gt;&lt;p align="justify" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="justify"&gt; In this example function module, the main program was : &lt;strong&gt;&lt;em&gt;SAPLHRBEN00GENERAL.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;Hence, our customer exit will be&amp;#160;&amp;#160; &lt;br/&gt;&lt;span style="color: #808000;"&gt;&lt;strong&gt;&lt;em&gt;EXIT_SAPLHRBEN00GENERAL_022&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:c76657a7-73e7-4419-91e8-c8412b5a76c3] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">beginner</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">sap_developer_network</category>
      <pubDate>Fri, 10 May 2013 07:04:46 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/10/finding-actual-function-module-for-a-function-exit</guid>
      <dc:creator>Gopal Nair</dc:creator>
      <dc:date>2013-05-10T07:04:46Z</dc:date>
      <clearspace:dateToText>1 week, 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/finding-actual-function-module-for-a-function-exit</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84782</wfw:commentRss>
    </item>
    <item>
      <title>Common Developer tools - what do you use ?</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/09/important-concepts-for-all-sap-techies</link>
      <description>&lt;!-- [DocumentBodyStart:df446add-dc89-4ca8-aa00-ad9eedc7e5bc] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt;&lt;strong&gt;Hello&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt;This is my first SCN blog and given below are some common developer tools used by most of the technical consultants in SAP.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="WIDTH: 256px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="xl64" height="17" style="border:0px solid black;" width="256"&gt;Developer tools&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Data dictionary objects &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Reports&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Module pool&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;BDC&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Scripts&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Smartforms &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Classes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Function modules&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Bapi&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Lsmw&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Customer exits&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Badi &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Implicit and enhancements &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;BTE &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Validations &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Substitutions &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Custom infotypes &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Workflow&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Adobe forms&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="xl63" height="17" style="border:0px solid black;"&gt;Query&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt;I would like to know if you do use some other new tools for development.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt;Any suggestions are always welcome.&amp;#160; &lt;img height="16px" src="http://scn.sap.com/1434/images/emoticons/happy.gif" width="16px"/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt;Thanks and Regards,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt;Gautham Vangaveti.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:df446add-dc89-4ca8-aa00-ad9eedc7e5bc] --&gt;</description>
      <pubDate>Thu, 09 May 2013 07:02:11 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/09/important-concepts-for-all-sap-techies</guid>
      <dc:creator>Gautham Vangaveti</dc:creator>
      <dc:date>2013-05-09T07:02:11Z</dc:date>
      <clearspace:dateToText>1 week, 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>9</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/important-concepts-for-all-sap-techies</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84690</wfw:commentRss>
    </item>
    <item>
      <title>Screen cast of Open XML documents Generation</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/08/screen-cast-of-open-xml-documents-generation</link>
      <description>&lt;!-- [DocumentBodyStart:0b7273eb-a87f-4068-b277-f3d92ef3bd68] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&amp;#160; Hello.&lt;/p&gt;&lt;p&gt;&amp;#160; this&amp;#160; is&amp;#160; a screen cast of how to&amp;#160; generate&lt;/p&gt;&lt;p&gt;&amp;#160; Word&amp;#160; Ooxml&amp;#160; documents directly from SAP WAS&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&amp;#160; without any Office Installation!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;&amp;#160; &lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;a class="jive-link-external-small" href="http://youtu.be/DPg2AYORNjU"&gt;http://youtu.be/DPg2AYORNjU&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; Enjoy!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160; Ronen Almog&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:0b7273eb-a87f-4068-b277-f3d92ef3bd68] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">sap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">xml</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">open</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">docx</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">xlsx</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">ooxml</category>
      <pubDate>Wed, 08 May 2013 19:06:50 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/08/screen-cast-of-open-xml-documents-generation</guid>
      <dc:creator>Ronen Almog</dc:creator>
      <dc:date>2013-05-08T19:06:50Z</dc:date>
      <clearspace:dateToText>1 week, 5 days ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/screen-cast-of-open-xml-documents-generation</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84664</wfw:commentRss>
    </item>
    <item>
      <title>Frustrating!</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/08/frustrating</link>
      <description>&lt;!-- [DocumentBodyStart:305daa44-b63c-483b-8ba4-7c833a13a895] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Why do SAP Support take so long to provide the simplest of fixes?&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Back in January I debugged an issue for a client involving the transfer of delivery documents from R/3 to GTS.&amp;#160; After an hour or so I found the issue and told the client that 1 additional line of code was needed.&amp;#160; They decided to log the issue with SAP and included my detailed description of the problem and fix to help speed up the correction.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Fast forward three months and SAP have finally provided a solution and guess what, it's exactly the same solution I provided 3 months earlier.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Very frustrating!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:305daa44-b63c-483b-8ba4-7c833a13a895] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">sap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">support</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap</category>
      <pubDate>Wed, 08 May 2013 11:13:49 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/08/frustrating</guid>
      <dc:creator>Mike Kerrigan</dc:creator>
      <dc:date>2013-05-08T11:13:49Z</dc:date>
      <clearspace:dateToText>1 week, 5 days ago</clearspace:dateToText>
      <clearspace:replyCount>11</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/frustrating</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84608</wfw:commentRss>
    </item>
    <item>
      <title>Parallel Cursor : Performance for Nested Loops</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/08/parallel-cursor-performance-for-nested-loops</link>
      <description>&lt;!-- [DocumentBodyStart:72777a9b-0774-4c20-852a-dbd605ecaa78] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;In a lot of scenarios we come across where nesting loops is the only option we have to achieve what we want.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;They can be hazardous if not tuned properly and can result in time out dumps and heavy processing time. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The solution : PARALLEL Cursor.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Lets assume a scenario where we are having 3 internal tables one with following structure.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;KNA1&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Kunnr &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Name1 SORTED TABLE by KUNNR&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;VBRK&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Vbeln&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Kunag [Sold to will be equal to kunnr].&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;VBRP&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vbeln&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; posnr&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; matnr&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; netwr [SORTED TABLE by VBELN]&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Now it becomes tricky as we want to link KNA1 to VBRK and VBRK to VBRP.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Note : This is just to explain a three level nested loop if exact case is considered a read on KNA1 will be better.&lt;/em&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Some thumb rules for Parallel Cursor&lt;/p&gt;&lt;p&gt;1. SORTING should be on the field which will part of where clause if you are not using.&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Like in this case KNA1 will be on KUNNR&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; VBRK will be on KUNAG&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; and VBRP will be on VBELN.&lt;/p&gt;&lt;p&gt;2. Recommended : use of variables to store tabix of the loop process.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Now the solution :&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;DATA : lv_vbrk_tabix&amp;#160; TYPE sy-tabix,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lv_vbrp_tabix&amp;#160; TYPE sy-tabix.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;SORT it_vbrk BY kunag.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;lv_vbrk_tabix = 1.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;LOOP AT it_kna1 INTO wa_kna1.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WRITE:/5 'Name : ' , &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;wa_kna1-name1&lt;/span&gt;&lt;span style="font-family: 'courier new', courier; font-size: 10pt;"&gt; , ' | ' , &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;wa_kna1-kunnr.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ULINE.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LOOP AT it_&lt;span style="font-family: 'courier new', courier;"&gt;vbrk&lt;/span&gt; INTO wa_&lt;span style="font-family: 'courier new', courier;"&gt;vbrk FROM &lt;span style="font-family: 'courier new', courier;"&gt;lv_vbrk_tabix&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF &lt;span style="font-family: 'courier new', courier;"&gt;wa_kna1-kunnr&lt;/span&gt; GT &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;wa_&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;vbrk-kunag.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lv_vbrk_tabix&lt;/span&gt;&lt;span style="font-family: 'courier new', courier; font-size: 10pt;"&gt; = sy-tabix.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EXIT.&amp;#160; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ENDIF.&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CHECK &lt;span style="font-family: 'courier new', courier;"&gt;wa_kna1-kunnr&lt;/span&gt; = &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;wa_&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;vbrk-kunag.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt; &lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WRITE:/10 &lt;span style="font-family: 'courier new', courier;"&gt;wa_vbrk-vbeln , &lt;span style="font-family: 'courier new', courier;"&gt;wa_vbrk-&lt;/span&gt;fkdat.&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; READ TABLE &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;it_&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;vbrp WITH TABLE KEY &lt;span style="font-family: 'courier new', courier;"&gt;vbeln = wa_vbrk-vbeln&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TRANSPORTING NO FIELDS.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;* AS IT_VBRP is a sorted table on VBELN default BINARY SEATCH will be used.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF sy-subrc IS INITIAL.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; lv_vbrp_tabix&lt;/span&gt; = sy-tabix.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ELSE.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CONTINUE.&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ENDIF.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; LOOP AT it_&lt;span style="font-family: 'courier new', courier;"&gt;vbrp&lt;/span&gt; INTO wa_&lt;span style="font-family: 'courier new', courier;"&gt;vbr&lt;/span&gt;p FROM &lt;span style="font-family: 'courier new', courier;"&gt;lv_vbrp_tabix&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;wa_&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;vbrk-vbeln NE wa_vbrp-vbeln.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EXIT.&amp;#160; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ENDIF.&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WRITE:/15 &lt;span style="font-family: 'courier new', courier;"&gt;wa_vbrp-&lt;/span&gt;matnr , 50 &lt;span style="font-family: 'courier new', courier;"&gt;wa_vbrp-&lt;/span&gt;netwr.&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ENDLOOP.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ENDLOOP.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;ENDLOOP.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;These are the 2 possible ways of parallel cursor.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;Do comment if any issues or there is a better way... &lt;img height="16px" src="http://scn.sap.com/1434/images/emoticons/happy.gif" width="16px"/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;BINARY SEARCH Removed and SORTED TABLE added Thanks for the input "Mathew Sir"&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:72777a9b-0774-4c20-852a-dbd605ecaa78] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">performance</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">nested</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">loop</category>
      <pubDate>Wed, 08 May 2013 10:19:28 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/08/parallel-cursor-performance-for-nested-loops</guid>
      <dc:creator>Mohammed Yakub Shah</dc:creator>
      <dc:date>2013-05-08T10:19:28Z</dc:date>
      <clearspace:dateToText>1 week, 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>11</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/parallel-cursor-performance-for-nested-loops</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84601</wfw:commentRss>
    </item>
    <item>
      <title>What about the good old Dynpro?</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/07/what-about-the-good-old-dynpro</link>
      <description>&lt;!-- [DocumentBodyStart:cde5a41e-df45-4d9f-bc9d-5e283a8a93e4] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Call me conservative, call me old-fashioned, call me unprogressive - but I still don't get it! I'm talking about SAPs User Interface Roadmap and/or Strategy - especially regarding development in and for SAP ERP - the system environment I am most familiar with, so with this disclaimer let's start with some thoughts on UIs, business processes and custom development.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;A couple of years ago, the SAP world for its customers and users was so simple! There was the SAP GUI with its now "outdated", proprietary programming model Dynpro for creation of user interfaces. It undoubtedly had an has some major drawbacks - mainly the various limits regarding user interaction and experience, which had mainly been overcome with the introduction of the enjoy controls. Together with the control framework, SAP GUI had again become a environment for efficient, rich, highly integrated user interface development with high performance.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Efficient development: If you take the different use cases for UIs in a ERP system into consideration - reporting via selection screen and list output, creating, editing and displaying business objects and their relations - old UI techniques like selection screens together with its variants in combination with modern controls like ALV, Tree, Split Screen a.s.o. provide a very effective way for the user to handle his or her business data. Simple reports, data maintainence views, complex business transactions (either single screen or multi-step) - everything built with proven, stable technology and high developer efficiency. And - not to forget - if you need/needed a developer or consultant, you always get/got one - try the same for SAP UI5, WDA with FPM or the unspeakable Java-based technologies.&lt;/li&gt;&lt;li&gt;Rich user experience: Okay, I admit that SAP GUI as a frontend is not what the standard iPad user would call fancy or user friendly. But has it to be fancy and is it really not user friendly? SAP GUI was always and is still meant for daily business processes - from mass data processing to handling single business objects. No app experience needed here as far as I can see. Icons and pictures where necessary, colors where needed - e. g. for status display. Right click, double click, Link click, Drag &amp;amp; Drop, menus, context menus - everything available but a colorful UI itself with everything floating, moving, blinking. Does such a fancy UI really add business value to the software-support of a business process? I highly doubt it.&lt;/li&gt;&lt;li&gt;High integration: The main ERP processes are - and as far as I can see will always be - implemented as SAP GUI transactions, from HCM over Financials and Project System to Material Management and Sales. So in case you want to adapt a SAP delivered GUI program you always have the largest variety of enhancement techniques&amp;#160; - from the UI itself to the possibilities for user interaction and the ABAP-based functionalities. Create a custom program and provide access to SAP programs? No problem. Call a custom program from a SAP program. The same. Try this with WDA and SAP GUI for HTML and enjoy the experience!&lt;/li&gt;&lt;li&gt;High performance: You don't expect me to compare DIAG with HTTP, do you?&lt;/li&gt;&lt;/ul&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;So, the question for me is the following:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Why does SAP push itself and its customers to use Web-based technologies like WDA, FPM, CRM Web UI, SAP UI5, Web Dynpro Java, Guided Procedures, JSF, Adobe Interactive Forms - and what was this SAP Portal-based code generator called again - with more than the half of these programming models called obsolete just some months after the first painful customer implementations set productive?&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Why not continue development of core technologies like Dynpro and Control Framework, for which customers have spent lots of money in consulting, development, in- and outsourcing know how and in which they now have to maintain a large code base?&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Just my 2 cents!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;PS: In case you didn't guess it yet - I just finished my first big project with WDA!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:cde5a41e-df45-4d9f-bc9d-5e283a8a93e4] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">dynpro;abap;</category>
      <pubDate>Tue, 07 May 2013 09:25:58 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/07/what-about-the-good-old-dynpro</guid>
      <dc:creator>Thomas WÜRCHER</dc:creator>
      <dc:date>2013-05-07T09:25:58Z</dc:date>
      <clearspace:dateToText>2 weeks, 20 minutes ago</clearspace:dateToText>
      <clearspace:replyCount>17</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/what-about-the-good-old-dynpro</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84501</wfw:commentRss>
    </item>
    <item>
      <title>STMS: facing errors when importing transport requests? It's your fault!</title>
      <link>http://scn.sap.com/community/abap/blog/2013/05/02/stms-facing-errors-when-importing-transport-requests-its-your-fault</link>
      <description>&lt;!-- [DocumentBodyStart:cdd47199-2320-4aff-9c35-f41b7da1a402] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Without any doubt: your fault it is... and not only because obviously you didn't pay enough attention to objects' dependencies when you released your transport requests, but mainly because you didn't take 3 seconds to start transaction SE38 and run report ZCEX_TRDA_START to let the system check those dependencies for you. &lt;/p&gt;&lt;p&gt;&lt;img height="16px" src="http://scn.sap.com/1434/images/emoticons/wink.gif" width="16px"/&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Remark: if you do not find this report in your system, that's probably because you missed this blog post:&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-blog-small" data-containerId="30827" data-containerType="37" data-objectId="72436" data-objectType="38" href="http://scn.sap.com/community/abap/blog/2012/09/26/home-made-transport-request-sequencer"&gt;How-to check dependencies between transport requests&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;What's new with code exchange project "TRDA - Transport request dependencies analyzer" then?&lt;/p&gt;&lt;p&gt;First of all, the first versions had been developed on &lt;a class="jive-link-external-small" href="http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/1024acfb-5b30-2e10-f2bd-ccce5d8692b1"&gt;SAP Netweaver 7.02 Developer edition&lt;/a&gt; which made its use limited to the happy few customers running one of the last versions of SAP Netweaver... Well, I believe this period is over as it has now been backported to &lt;a class="jive-link-external-small" href="http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/b2918eea-0601-0010-6284-e6cb7eee4399"&gt;SAP NetWeaver 7.0 Trial version&lt;/a&gt;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Two missing classes have been copied from 702 into customer namespace.&lt;/li&gt;&lt;li&gt;Some statements have been adapted: for example every "&amp;amp;&amp;amp;" character has been replaced by the corresponding "CONCATENATE" statement.&lt;/li&gt;&lt;li&gt;ABAP Unit tests have been reviewed.&lt;/li&gt;&lt;li&gt;Etc.&lt;/li&gt;&lt;/ul&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Speaking of which, those ABAP Unit tests have been enhanced to make sure TRDA finds the following dependencies:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border: 1px solid #000000; width: 100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border: 1px solid #000000;padding: 2px;color: #ffffff;background-color: #6690bc;text-align: center;" valign="middle"&gt;Predecessor&lt;/th&gt;&lt;th style="border:1px solid black;border: 1px solid #000000;padding: 2px;color: #ffffff;background-color: #6690bc;text-align: center;" valign="middle"&gt;Follower&lt;/th&gt; &lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Domain&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Data element based on &lt;em&gt;Domain&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Data element&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Structure with one component based on &lt;em&gt;Data element&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Structure&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Table type based on &lt;em&gt;Structure&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Table type&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Function group with one function module using &lt;em&gt;Table type&lt;/em&gt; as importing parameter&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Function group&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Class implementing a method where a function module from &lt;em&gt;Function group&lt;/em&gt; is called&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Interface&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Class implementing &lt;em&gt;Interface&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Class&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Program using objects of type &lt;em&gt;Class&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Enhancement spot&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Function module where &lt;em&gt;Enhancement spot&lt;/em&gt; is implemented&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Enhancement spot&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Enhancement spot implementation of &lt;em&gt;Enhancement spot&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Function module&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;&lt;p&gt;Enhancement spot implementation in &lt;em&gt;Function module&lt;/em&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Enhancement spot implementation&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Composite enhancement implementation containing &lt;em&gt;Enhancement spot implementation&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Database table&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Enqueue object for &lt;em&gt;Database table&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Database table&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Search help based on &lt;em&gt;Database table&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Database table&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Maintenance view for &lt;em&gt;Database table&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Search help&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Database table where one component is using &lt;em&gt;Search help&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Table maintenance view&lt;/td&gt;&lt;td style="border:1px solid black;border: 1px solid #000000;"&gt;Generated function group for &lt;em&gt;Table maintenance view&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;But that's not the only new feature you'll find on &lt;a class="jive-link-external-small" href="https://cw.sdn.sap.com/cw/groups/transport-request-sequencer"&gt;TRDA Code exchange project page&lt;/a&gt;: this program can now be installed very easily via SAPlink too (provided you follow the corresponding &lt;a class="jive-link-external-small" href="https://cw.sdn.sap.com/cw/docs/DOC-152011"&gt;How-to guide&lt;/a&gt; available). Note however that this version released as a nugget file doesn't include any ABAP Unit test class to simplify the installation process (but of course all ABAP Unit tests have been passed before creating the nugget).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;And even more new features can be found in the &lt;a class="jive-link-external-small" href="http://"&gt;Release notes&lt;/a&gt; document:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Parameters to influence the scope of the dependency analysis.&lt;/li&gt;&lt;li&gt;Ability to check dependencies that &lt;a class="jive-link-blog-small" data-containerId="30827" data-containerType="37" data-objectId="64963" data-objectType="38" href="http://scn.sap.com/community/abap/blog/2012/04/07/how-to-record-dependencies-between-transport-requests"&gt;have been added manually in transport request attributes&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;New columns to display transport request status in TMS queues.&lt;/li&gt;&lt;li&gt;Ability to exclude successfully imported request.&lt;/li&gt;&lt;li&gt;Ability to start dependency analysis in background.&lt;/li&gt;&lt;li&gt;Etc.&lt;/li&gt;&lt;/ul&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;So if you're interested do not hesitate to join the project and give it a try: even if SAP is working on a similar program at the moment, we don't know yet when it's released, and for which SAP Netweaver versions it will be delivered... hence TRDA may still have some fine days ahead of it!&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:cdd47199-2320-4aff-9c35-f41b7da1a402] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">code_exchange</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">transport_request</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">dependency</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">cts</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">stms</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">sequence</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">codex</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">environment_analysis</category>
      <pubDate>Thu, 02 May 2013 09:49:08 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/05/02/stms-facing-errors-when-importing-transport-requests-its-your-fault</guid>
      <dc:creator>Nicolas Busson</dc:creator>
      <dc:date>2013-05-02T09:49:08Z</dc:date>
      <clearspace:dateToText>2 weeks, 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>6</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/stms-facing-errors-when-importing-transport-requests-its-your-fault</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84207</wfw:commentRss>
    </item>
    <item>
      <title>ST01 RFC TRACE: Debugging ABAP RFC via JAVA Webdynpro Screen.</title>
      <link>http://scn.sap.com/community/abap/blog/2013/04/30/st01-debugging-abap-code-via-java-webdynpro-screen</link>
      <description>&lt;!-- [DocumentBodyStart:cd95be1b-f0d1-42d4-b25e-bcb236e92ebe] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&amp;#160;&amp;#160; This Blog will be helpful to find the ABAP RFCs which get called from the Java webdynpro screen &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; on applying any action on it. Most of the time in many projects client prefer any other technology screen &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; or JAVA screen as Frontend but for Backend they use&amp;#160; ABAP code. If any problem appear on the &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; Java screen due to ABAP code execution, then the ABAP code should be&amp;#160; debugged with the help of debugger . &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; To search the name of RFC or the problematic code we can use &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; SAP transaction ST01 -&amp;gt;RFC Trace.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;strong&gt;Procedure in short :&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; Step 1) Go to ST01 and switch ON the trace&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; Step2) Do the required actions on Java webdynpro screen such as&amp;#160;&amp;#160; (Press any Button: Save/update/Delete)&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; Step3) Go to ST01 and switch OFF the trace and Press analysis to see the required RFCs &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; Step4) Go to SE37 and find the RFC name.&amp;#160; on the external debugging , put the break point&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; Step5) Do the required actions on Java webdynpro screen as done in step 2 and find that the debugger is on.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; &lt;strong&gt;Procedure in brief&lt;/strong&gt;:&lt;/p&gt;&lt;p style="text-indent: -0.25in;"&gt;&lt;span class="pasted-list-info"&gt;1)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1) &lt;/span&gt;Go to ST01 and switch ON the trace: Tick the RFC Calls check box and Clicked on Trace on button.&lt;/p&gt;&lt;p style="text-indent: -0.25in;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211291/2.JPG"&gt;&lt;img alt="2.JPG" class="jive-image-thumbnail jive-image" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211291/567-400/2.JPG" width="567"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="pasted-list-info"&gt;&amp;#160;&amp;#160; 2)&amp;#160; &lt;/span&gt;Here we can see the below Java Webdynpro screen , Fill in it the required fields and&amp;#160; &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Press GEM button to update the date in Backend (SAP Database tables).&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="padding-left: 60px;"&gt;&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211290/1.JPG"&gt;&lt;img alt="1.JPG" class="jive-image-thumbnail jive-image jiveImage" height="269" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211290/620-269/1.JPG" width="620"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; 3)&amp;#160; The data is updated, we can see a record on Java webdynpro screen. This updation has &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; happened in SAP database using ABAP code.&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211307/3.JPG"&gt;&lt;img alt="3.JPG" class="jive-image-thumbnail jive-image" height="201" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211307/620-201/3.JPG" width="620"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;#160; 4)&amp;#160; Again go to transaction ST01 to OFF the trace&amp;#160; by pressing&amp;#160; TRACE OFF button &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; And see analysis report by pressing ANALYSIS button.&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211308/4.JPG"&gt;&lt;img alt="4.JPG" class="jive-image-thumbnail jive-image" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211308/594-400/4.JPG" width="594"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; 5) Put the SAP user name , proper date / time fields value and press execute .&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211309/5.JPG"&gt;&lt;img alt="5.JPG" class="jive-image-thumbnail jive-image" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211309/456-400/5.JPG" width="456"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;#160; 6)&amp;#160; After Execute below screen will appear. In the Object Column you can see all the RFCs are listed which were hit&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; by the action applied on java webdynpro screen. The RFC name may be not fully displayed due to limited length &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; of OBJECT column in the report.&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211310/6.JPG"&gt;&lt;img alt="6.JPG" class="jive-image-thumbnail jive-image" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211310/575-400/6.JPG" width="575"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; 7)&amp;#160; &lt;span class="pasted-list-info"&gt;&lt;/span&gt;Go to transaction SE37 to find the full name of RFC&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; put the name got from above screen Z_HR_RFC_UDLAAN_* in function module field&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; press F4 to get its full name, here I got it Z_HR_RFC_UDLAAN_CREATE.&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211311/7.JPG"&gt;&lt;img alt="7.JPG" class="jive-image" height="273" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211311/422-273/7.JPG" width="422"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 8) &lt;span class="pasted-list-info"&gt;&lt;/span&gt;Now put the break point in the found RFC Z_HR_RFC_UDLAAN_CREATE .&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211312/8.JPG"&gt;&lt;img alt="8.JPG" class="jive-image-thumbnail jive-image" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211312/552-400/8.JPG" width="552"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;9)&amp;#160; &lt;span class="pasted-list-info"&gt;&lt;/span&gt;And using menu entry UTILITIES -&amp;gt; SETTINGS&amp;#160; set the external debugging on&lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211313/9.JPG"&gt;&lt;img alt="9.JPG" class="jive-image" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211313/385-400/9.JPG" width="385"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160; 10) &lt;span class="pasted-list-info"&gt;&lt;/span&gt;Now go to Java webdynpro screen and do the same actions&amp;#160; hown above you will find the debugger is activated&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; and normally a&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;n ABAPer can start debugging.&amp;#160;&amp;#160; &lt;img height="16px" src="http://scn.sap.com/1434/images/emoticons/happy.gif" width="16px"/&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 'Calibri','sans-serif'; font-size: 11pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://scn.sap.com/servlet/JiveServlet/showImage/38-84094-211315/10.JPG"&gt;&lt;img alt="10.JPG" class="jive-image-thumbnail jive-image" height="400" src="http://scn.sap.com/servlet/JiveServlet/downloadImage/38-84094-211315/572-400/10.JPG" width="572"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="text-indent: -0.25in;"&gt;2&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:cd95be1b-f0d1-42d4-b25e-bcb236e92ebe] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap_rfc_external_debugging</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">st01_rfc_trace</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap_debugging_via_java_webdynpro_screen</category>
      <pubDate>Tue, 30 Apr 2013 15:58:10 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/04/30/st01-debugging-abap-code-via-java-webdynpro-screen</guid>
      <dc:creator>Jitendra Yadav</dc:creator>
      <dc:date>2013-04-30T15:58:10Z</dc:date>
      <clearspace:dateToText>2 weeks, 6 days ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/st01-debugging-abap-code-via-java-webdynpro-screen</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84094</wfw:commentRss>
    </item>
    <item>
      <title>ASUG Webcast on 'Custom ABAP Development on SAP HANA'</title>
      <link>http://scn.sap.com/community/abap/blog/2013/04/30/asug-webcast-on-custom-abap-development-on-sap-hana</link>
      <description>&lt;!-- [DocumentBodyStart:fa0b1b2f-55bd-4949-a553-8457310d76e0] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;strong&gt;Session Abstract: &lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;With SAP Business Suite and SAP NetWeaver Business Warehouse, two major SAP standard applications have been optimized for leveraging SAP HANA as primary persistence. This webinar gives an overview on how to benefit from SAP HANA in existing and new custom development based on SAP NetWeaver AS ABAP 7.0x and 7.4.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Speaker&lt;/strong&gt; - Eric Westenberger, SAP&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Start : May 1, 2013 1:00 PM (CT), 2:00 PM (ET), 12:00 PM (MT), 11:00 AM (PT)&lt;/p&gt;&lt;p&gt;End:&amp;#160;&amp;#160; May 1, 2013 2:00 PM (CT), 3:00 PM (ET), 1:00 PM (MT), 12:00 PM (PT)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span lang="EN" style="font-family: &amp;amp;quot;Verdana&amp;amp;quot;,&amp;amp;quot;sans-serif&amp;amp;quot;; font-size: 10pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;Registration Link&lt;/span&gt;&lt;/strong&gt;&lt;span lang="EN" style="font-family: &amp;amp;quot;Verdana&amp;amp;quot;,&amp;amp;quot;sans-serif&amp;amp;quot;; font-size: 10pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://www.asug.com/discussions/events/detail/Custom-ADAP-Development-on-SAP-HANA"&gt;&lt;span lang="EN" style="color: windowtext; font-family: &amp;amp;quot;Verdana&amp;amp;quot;,&amp;amp;quot;sans-serif&amp;amp;quot;; font-size: 10pt; mso-bidi-font-family: Arial; mso-ansi-language: EN;"&gt;http://www.asug.com/events/detail/Custom-ADAP-Development-on-SAP-HANA&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="background: white;"&gt;&amp;#160; &lt;/p&gt;&lt;p style="background: white;"&gt;or Click &lt;a class="jive-link-external-small" href="http://www.asug.com/events/detail/Custom-ADAP-Development-on-SAP-HANA"&gt;Here&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Please register soon. This is the first of our webcast series on SAP Development Technologies.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Be sure not to miss! Note that this session is for ASUG Members only.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Thanks,&lt;/p&gt;&lt;p&gt;Srini &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Srini Tanikella,&lt;/p&gt;&lt;p&gt;ASUG BITI/ Development Technologies SIG Chair&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:fa0b1b2f-55bd-4949-a553-8457310d76e0] --&gt;</description>
      <category domain="http://scn.sap.com/community/abap/blog/tags">hana</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">abap</category>
      <category domain="http://scn.sap.com/community/abap/blog/tags">asug_devtech</category>
      <pubDate>Tue, 30 Apr 2013 06:32:27 GMT</pubDate>
      <guid>http://scn.sap.com/community/abap/blog/2013/04/30/asug-webcast-on-custom-abap-development-on-sap-hana</guid>
      <dc:creator>Srini Tanikella</dc:creator>
      <dc:date>2013-04-30T06:32:27Z</dc:date>
      <clearspace:dateToText>3 weeks, 3 hours ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://scn.sap.com/community/abap/blog/comment/asug-webcast-on-custom-abap-development-on-sap-hana</wfw:comment>
      <wfw:commentRss>http://scn.sap.com/community/abap/blog/feeds/comments?blogPost=84051</wfw:commentRss>
    </item>
  </channel>
</rss>

