<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.saplab.net/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.saplab.net" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/SAPLAB" type="application/rss+xml"></fs:self_link><lastBuildDate>Mon, 21 Dec 2009 06:48:36 GMT</lastBuildDate><title>SAPLAB</title><description>SAP TIP,ABAP TIP!</description><link>http://www.saplab.net</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Mon, 21 Dec 2009 06:49:58 GMT</pubDate><item><title>SAP ABAP Performance Standards</title><link>http://www.saplab.net/sap-abap-performance-standards/</link><content:encoded>&lt;p&gt;SAP ABAP Performance Standards via &lt;a href=&quot;http://www.saptechnical.com/Tutorials/ABAP/PerformanceCheckList.htm&quot; target=&quot;_blank&quot;&gt;saptechnical.com&lt;/a&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&quot;maintext&quot;&gt;
&lt;table border=&quot;1&quot; cellspacing=&quot;1&quot; cellpadding=&quot;7&quot; width=&quot;527&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td bgcolor=&quot;#e6e6e6&quot; width=&quot;70%&quot;&gt;&lt;b&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p align=&quot;center&quot;&gt;Description&lt;/p&gt;
&lt;p&gt;                   &lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td bgcolor=&quot;#e6e6e6&quot; width=&quot;55&quot;&gt;&lt;b&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p align=&quot;center&quot;&gt;Result (Y, N or N/A)&lt;/p&gt;
&lt;p&gt;                   &lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td bgcolor=&quot;#e6e6e6&quot; width=&quot;96&quot;&gt;&lt;b&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p align=&quot;center&quot;&gt;Comments&lt;/p&gt;
&lt;p&gt;                   &lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Run Extended syntax checks with character literals checkbox switched on &amp;amp; Code Inspector to rectify all relevant errors and warning (e.g. Use the results of the above checks to remove all variables/constants etc that are declared but are not used)&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot; bordercolordark=&quot;#000000&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Transaction SE30 (ABAP Runtime Analysis) must be checked to measure/compare program performance/runtime if program has multiple inefficient databases selects or complicated internal table operations&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Use transaction ST05 (SQL Trace) to see what indices your database accesses are using. Check these indices against your “where” clause to assure they are significant. Check other indices for this table and where you have to change your “where” clause to use it. Create new indices if necessary, but do not forget to check the impact by consulting onsite coordinator.&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;TYPE (data element) command is used while declaring the fields whenever feasible instead of LIKE. Remember not always the data element name matches with the table field name&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Internal Table is defined with “TYPE STANDARD TABLE OF” &amp;amp; Work-Areas is used instead of header lines&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Global variables are minimized by declaring local variables or by passing variables through parameters &amp;amp; arguments while creating internal subroutine(s)&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;In SELECT statement, only the required fields are selected in the same order as they reside on the database table/structure/view&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;For selecting single row from a database table, “SELECT UP to 1 Rows” is used. “Select Single” is used only when full primary key combination is known&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;No SELECT * is used&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Use “SELECT INTO TABLE” rather than “SELECT INTO CORRESPONDING FIELDS OF TABLE”&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Always specify as many primary keys as possible in WHERE clause to make the Select efficient&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Always select into an internal table, except when the table will be very large (i.e., when the internal table will be greater than 500,000 records). Use “Up to N Rows” when the number of records needed is known&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Select statement within a GET event is not used&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Wild cards like ‘A%’ is avoided as much as possible&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Nested Select is not used instead “Inner Join” and/or “For all Entries” is used. “For all Entries” is to be used over “Loop at ITAB / Select / ENDLOOP” (FOR ALL ENTRIES retrieves a unique result set so ensure you retrieve the full key from the database)&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;When creating joins over database tables there should be an index at least on the inner table for the fields in the join condition else use “ FOR ALL ENTRIES” select statement&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Usage of JOIN is limited to a maximum of 2 i.e. not more than 3 database tables are joined at one time&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;CHECK that the internal table used in FOR ALL ENTRIES is NOT empty as this will retrieve all entries from the table&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Delete adjacent duplicate entries from internal table before selection from database table using “ FOR ALL ENTRIES” statement&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;For copying internal tables use ‘=’ operator instead of Looping &amp;amp; Appending&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;SORT inside a LOOP is not used&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Sort internal table by fields in the correct order, which are used in a READ TABLE statement using BINARY SEARCH. If the order of sorting is invalid the BINARY SEARCH will never work&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;For large internal tables where only some rows are to be processed, use SORT and then the READ TABLE command is used to set index to first relevant row before looping from that index. Use CHECK or IF…EXIT…ENDIF as appropriate to exit from the loop&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Sort fields and Sort Order on the SORT statement should be mentioned explicitly (e.g. SORT ITAB BY FLD1 FLD2 ASCENDING)&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Hashed table is used for processing large amount of data (provided that you access single records only, and all with a fully specified key)&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;DELETE or SORT is not used on a hashed table since it increases memory consumption&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Sorted table is used for range accesses involving table key or index accesses&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Fields specified in the WHERE condition with the critical operators NOT and &amp;lt;&amp;gt; (negative SQL statements) cannot be used for a search using database indexes. Whenever possible formulate SQL statements positively&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;When coding IF or CASE, testing conditions are nested so that the most frequently true conditions are processed first. Also CASE is used instead of IF when testing multiple fields “equal to” something&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;LOOP AT ITAB INTO WORKAREA WHERE K = ‘XXX’ should be used instead of LOOP AT ITAB INTO WORKAREA / CHECK ITAB-K = ‘XXX’.&lt;/p&gt;
&lt;p&gt;Also READ TABLE INTO WORKAREA should be used instead of only READ TABLE.&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;After the APPEND statement inside a loop, the work area that has been appended is cleared&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Internal tables, Work areas &amp;amp; Global Variables are freed when no longer needed (e.g. using the FREE / REFRESH command), especially when the tables are large or the program is a batch program&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Do not delete the records of internal table inside the Loop – End loop.&lt;/p&gt;
&lt;p&gt;                   &lt;b&gt;
&lt;p&gt;Do not use:&lt;/p&gt;
&lt;p&gt;  LOOP AT ITAB WHERE EQUNR = ‘00001011’.&lt;/b&gt;
&lt;p&gt;DELETE ITAB.&lt;/p&gt;
&lt;p&gt;ENDLOOP.&lt;/p&gt;
&lt;p&gt;                   &lt;b&gt;
&lt;p&gt;Use:&lt;/p&gt;
&lt;p&gt;  DELETE ITAB WHERE EQUNR = ‘00001011’.&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Use the MODIFY ITAB &amp;#8230; TRANSPORTING f1 f2 &amp;#8230; for single line, and MODIFY ITAB &amp;#8230; TRANSPORTING f1 f2 &amp;#8230; WHERE condition for a set of line, to accelerate the updating of internal table&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;If possible, Update/Insert statement is used instead of Modify&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Is the following steps ensured during database updates?&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Lock data to be edited&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Read current data from the database&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Process data and write it to the database&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Release the locks set at the beginning&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Try to avoid logical databases. If your program uses a logical database, but does not require all fields belonging to a certain GET event, always use the FIELDS addition to reduce the amount of data selected by the logical database&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Avoid the aggregate (Count, Max, Min) functions in the database selection&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;Use Parallel Cursor methods for nested loop into the internal tables if second internal table contains considerable number of records&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width=&quot;70%&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;
&lt;p&gt;In Smartform/ Sapscript do not make redundant data retrieval where data is available in interface&lt;/p&gt;
&lt;p&gt;                 &lt;/font&gt;&lt;/td&gt;
&lt;td width=&quot;55&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;td width=&quot;96&quot;&gt;&amp;#160;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713294/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/sap-abap-performance-standards/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713294/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713294/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/sap-abap-performance-standards/feed/</wfw:commentRss><description>SAP ABAP Performance Standards via saptechnical.com








Description
                   

Result (Y, N or N/A)
                   

Comments
        [...]&lt;img src=&quot;http://www1.feedsky.com/t1/312713294/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/sap-abap-performance-standards/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713294/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713294/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>ABAP Tips</category><category>Checklist</category><category>Performance</category><category>ABAP</category><pubDate>Mon, 21 Dec 2009 14:48:36 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/sap-abap-performance-standards/#comments</comments><guid isPermaLink="false">http://www.saplab.net/sap-abap-performance-standards/</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/sap-abap-performance-standards/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713294/5132565</fs:itemid></item><item><title>SAP Adobe LiveCycle Designer Error</title><link>http://www.saplab.net/sap-adobe-livecycle-designer-error/</link><content:encoded>&lt;p&gt;When I try to open Adobe Form&amp;#8217;s layout of Adobe LiveCycle Designer with Tcode-SFP, I always get Windows Error Message   &amp;#8220;Adobe LiveCycle Designer Error&amp;#8221;.&lt;/p&gt;
&lt;p&gt;How to solve the problem? Finally, there are  2 solutions to solve it.&lt;/p&gt;
&lt;p&gt;1. If your Adobe Reader Version is 9.0, please try &lt;strong&gt;downgrading&lt;/strong&gt; to  Version 8.0, you can download it from Adobe.com.&lt;/p&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;p&gt;2. Create a windows user ID and run Adobe LiveCycle Designer on your SAP, so there will not display Windows Error Message again.&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713295/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/sap-adobe-livecycle-designer-error/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713295/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713295/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/sap-adobe-livecycle-designer-error/feed/</wfw:commentRss><description>When I try to open Adobe Form&amp;#8217;s layout of Adobe LiveCycle Designer with Tcode-SFP, I always get Windows Error Message   &amp;#8220;Adobe LiveCycle Designer Error&amp;#8221;.
How to solve the problem? Finally, there are  2 solutions to solve it.
1. If your Adobe Reader Version is 9.0, please try downgrading to  Version 8.0, you can download it from [...]&lt;img src=&quot;http://www1.feedsky.com/t1/312713295/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/sap-adobe-livecycle-designer-error/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713295/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713295/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>Adobe Forms</category><category>SFP</category><category>Adobe</category><category>Adobe Form</category><category>AdobeForm</category><pubDate>Fri, 18 Dec 2009 11:11:18 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/sap-adobe-livecycle-designer-error/#comments</comments><guid isPermaLink="false">http://www.saplab.net/?p=113</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/sap-adobe-livecycle-designer-error/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713295/5132565</fs:itemid></item><item><title>FI/CO Interview Questions &amp; Answers(PDF version)</title><link>http://www.saplab.net/fico-interview-questions-answers-pdf-version/</link><content:encoded>&lt;p&gt;Following is FI/CO Interview Questions &amp;amp; Answers(PDF version). I got the document  from web.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;Download&quot; src=&quot;../wp-content/uploads/2009/07/download_icon.gif&quot; alt=&quot;&quot; width=&quot;70&quot; height=&quot;70&quot; /&gt;&lt;a href=&quot;http://www.saplab.net/wp-content/uploads/2009/12/ficointerviewquestionsandanswers.pdf&quot;&gt;FI/CO Interview Questions &amp;amp; Answers(PDF version)&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713296/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/fico-interview-questions-answers-pdf-version/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713296/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713296/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/fico-interview-questions-answers-pdf-version/feed/</wfw:commentRss><description>Following is FI/CO Interview Questions &amp;#38; Answers(PDF version). I got the document  from web.
FI/CO Interview Questions &amp;#38; Answers(PDF version)&lt;img src=&quot;http://www1.feedsky.com/t1/312713296/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/fico-interview-questions-answers-pdf-version/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713296/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713296/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>FI/CO</category><category>Interview</category><category>FI</category><category>CO</category><pubDate>Fri, 18 Dec 2009 10:38:10 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/fico-interview-questions-answers-pdf-version/#comments</comments><guid isPermaLink="false">http://www.saplab.net/?p=108</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/fico-interview-questions-answers-pdf-version/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713296/5132565</fs:itemid></item><item><title>How to find menu path if i know Tcode in SPRO?</title><link>http://www.saplab.net/how-to-find-menu-path-if-i-know-tcode-in-spro/</link><content:encoded>&lt;p&gt;Q: How to find menu path if i know t-code in spro? &lt;/p&gt;
&lt;p&gt;A: You can use &amp;quot;SEARCH_SAP_MENU&amp;quot; and put t-code MM02( e.g).&lt;/p&gt;
&lt;p&gt;1. Enter “SEARCH_SAP_MENU”.&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.saplab.net/wp-content/uploads/2009/12/image.png&quot; width=&quot;402&quot; height=&quot;315&quot; /&gt; &lt;/p&gt;
&lt;p&gt;2.Input t-code “mm02”&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.saplab.net/wp-content/uploads/2009/12/image1.png&quot; width=&quot;528&quot; height=&quot;293&quot; /&gt; &lt;/p&gt;
&lt;p&gt;3. Result&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.saplab.net/wp-content/uploads/2009/12/image2.png&quot; width=&quot;504&quot; height=&quot;529&quot; /&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713297/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/how-to-find-menu-path-if-i-know-tcode-in-spro/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713297/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713297/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/how-to-find-menu-path-if-i-know-tcode-in-spro/feed/</wfw:commentRss><description>Q: How to find menu path if i know t-code in spro? 
A: You can use &amp;#34;SEARCH_SAP_MENU&amp;#34; and put t-code MM02( e.g).
1. Enter “SEARCH_SAP_MENU”.
 
2.Input t-code “mm02”
 
3. Result&lt;img src=&quot;http://www1.feedsky.com/t1/312713297/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/how-to-find-menu-path-if-i-know-tcode-in-spro/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713297/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713297/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>T-CODE</category><pubDate>Wed, 16 Dec 2009 15:44:28 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/how-to-find-menu-path-if-i-know-tcode-in-spro/#comments</comments><guid isPermaLink="false">http://www.saplab.net/how-to-find-menu-path-if-i-know-tcode-in-spro/</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/how-to-find-menu-path-if-i-know-tcode-in-spro/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713297/5132565</fs:itemid></item><item><title>About SAP IDOC AND ALE articles</title><link>http://www.saplab.net/about-sap-idoc-and-ale-articles/</link><content:encoded>&lt;p&gt;Outbound Idoc Through ALE &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/Outbound+Idoc+Through+ALE&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/Outbound+Idoc+Through+ALE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abap code snippet for triggering an existing IDOC through BADI &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/Snippets/Abap+code+snippet+for+triggering+an+existing+IDOC+through+BADI&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/Snippets/Abap+code+snippet+for+triggering+an+existing+IDOC+through+BADI&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ALE,IDOC &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE%252CIDOC&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE%252CIDOC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Outbound Idocs by ALE &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/A/Outbound+Idocs+by+ALE&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/A/Outbound+Idocs+by+ALE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ALE Business process &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+Business+process&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+Business+process&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ALE (Application Linking and Enabling) &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+Business+process&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+Business+process&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ALE Change Pointers &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE+Change+Pointers&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE+Change+Pointers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ALE IDOCS &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE+IDOCS&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE+IDOCS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ALE (Application Linking and Enabling) &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+%2528Application+Linking+and+Enabling%2529&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+%2528Application+Linking+and+Enabling%2529&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Basics of IDoc&amp;#8230; &lt;/p&gt;
&lt;p&gt;Idoc with ABAP Port &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/profile/2007/09/12/Idoc+with+ABAP+Port&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/profile/2007/09/12/Idoc+with+ABAP+Port&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Administration of ALE Functions and Troubleshooting ALE &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/Administration+of+ALE+Functions+and+Troubleshooting+ALE&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/Administration+of+ALE+Functions+and+Troubleshooting+ALE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Step by Step procedure for creation of IDOC &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/Step+by+Step+procedure+for+creation+of+IDOC&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/Step+by+Step+procedure+for+creation+of+IDOC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;How to Improve the runtime of the 0FI_GL_4 extractor &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/Snippets/How+to+Improve+the+runtime+of+the+0FI_GL_4+extractor&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/Snippets/How+to+Improve+the+runtime+of+the+0FI_GL_4+extractor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Remote Function Module calling From SAP 4.7E to SAP ECC 5.0&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/pages/viewpage.action&amp;amp;pageId=39728&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/pages/viewpage.action&amp;amp;pageId=39728&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/BI/Basics+of+IDoc&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/BI/Basics+of+IDoc&lt;/a&gt;&amp;#8230;&lt;/p&gt;
&lt;p&gt;IDOC Steps &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/IDOC+Steps&quot;&gt;https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/IDOC+Steps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;via Jack Wu’s &lt;a href=&quot;http://blog.csdn.net/CompassButton/archive/2009/03/10/3978029.aspx&quot;&gt;Blog&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713298/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/about-sap-idoc-and-ale-articles/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713298/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713298/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/about-sap-idoc-and-ale-articles/feed/</wfw:commentRss><description>Outbound Idoc Through ALE 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/Outbound+Idoc+Through+ALE
Abap code snippet for triggering an existing IDOC through BADI 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/Snippets/Abap+code+snippet+for+triggering+an+existing+IDOC+through+BADI
ALE,IDOC 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE%252CIDOC
Outbound Idocs by ALE 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/A/Outbound+Idocs+by+ALE
ALE Business process 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+Business+process
ALE (Application Linking and Enabling) 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+Business+process
ALE Change Pointers 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE+Change+Pointers
ALE IDOCS 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/ALE+IDOCS
ALE (Application Linking and Enabling) 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/HOME/ALE+%2528Application+Linking+and+Enabling%2529
Basics of IDoc&amp;#8230; 
Idoc with ABAP Port 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/profile/2007/09/12/Idoc+with+ABAP+Port
Administration of ALE Functions and Troubleshooting ALE 
https://www.sdn.sap.com/irj/scn/wiki?path=/display/ABAP/Administration+of+ALE+Functions+and+Troubleshooting+ALE
Step by Step procedure [...]&lt;img src=&quot;http://www1.feedsky.com/t1/312713298/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/about-sap-idoc-and-ale-articles/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713298/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713298/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>ALE</category><category>ALE &amp; IDocs</category><pubDate>Fri, 30 Oct 2009 13:25:04 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/about-sap-idoc-and-ale-articles/#comments</comments><guid isPermaLink="false">http://www.saplab.net/about-sap-idoc-and-ale-articles/</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/about-sap-idoc-and-ale-articles/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713298/5132565</fs:itemid></item><item><title>SAP Press Official ABAP™ Programming Guidelines(PDF version)</title><link>http://www.saplab.net/sap-press-official-abap-programming-guidelinespdf-version/</link><content:encoded>&lt;p&gt;There is a very good ABAP Programming Guidelines, it’s pdf version. If you want to download it,pls refer below link.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;Download&quot; height=&quot;70&quot; alt=&quot;&quot; src=&quot;http://www.saplab.net/wp-content/uploads/2009/07/download_icon.gif&quot; width=&quot;70&quot; /&gt;&lt;a href=&quot;http://www.sap-press.de/download/dateien/1948/sappress_official_abap_programming_guideline.pdf&quot;&gt;Official ABAP™ Programming Guidelines&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.saplab.net/wp-content/uploads/2009/10/officialabapprogrammingguildelines.png&quot;&gt;&lt;img title=&quot;official abap programming guildelines&quot; style=&quot;border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px&quot; height=&quot;598&quot; alt=&quot;official abap programming guildelines&quot; src=&quot;http://www.saplab.net/wp-content/uploads/2009/10/officialabapprogrammingguildelines-thumb.png&quot; width=&quot;485&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713299/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/sap-press-official-abap-programming-guidelinespdf-version/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713299/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713299/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/sap-press-official-abap-programming-guidelinespdf-version/feed/</wfw:commentRss><description>There is a very good ABAP Programming Guidelines, it’s pdf version. If you want to download it,pls refer below link.
Official ABAP™ Programming Guidelines&lt;img src=&quot;http://www1.feedsky.com/t1/312713299/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/sap-press-official-abap-programming-guidelinespdf-version/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713299/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713299/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>guideline</category><category>ABAP Program</category><category>ebook</category><category>PDF</category><category>ABAP</category><pubDate>Thu, 29 Oct 2009 10:56:06 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/sap-press-official-abap-programming-guidelinespdf-version/#comments</comments><guid isPermaLink="false">http://www.saplab.net/sap-press-official-abap-programming-guidelinespdf-version/</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/sap-press-official-abap-programming-guidelinespdf-version/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713299/5132565</fs:itemid></item><item><title>FI/CO Interview Questions &amp; Answers</title><link>http://www.saplab.net/fico-interview-question-answers/</link><content:encoded>&lt;p&gt;There is a PDF version of FI/CO Interview Questions &amp;amp; Answers.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone&quot; title=&quot;Download&quot; src=&quot;../wp-content/uploads/2009/07/download_icon.gif&quot; alt=&quot;&quot; width=&quot;70&quot; height=&quot;70&quot; /&gt;&lt;a href=&quot;http://www.saplab.net/wp-content/uploads/2009/10/ficointerviewquestionsandanswers.pdf&quot;&gt;FI/CO Interview Questions &amp;amp; Answers&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713300/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/fico-interview-question-answers/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713300/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713300/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/fico-interview-question-answers/feed/</wfw:commentRss><description>There is a PDF version of FI/CO Interview Questions &amp;#38; Answers.
FI/CO Interview Questions &amp;#38; Answers&lt;img src=&quot;http://www1.feedsky.com/t1/312713300/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/fico-interview-question-answers/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713300/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713300/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>FI/CO</category><category>Interview</category><category>FI</category><category>CO</category><pubDate>Tue, 27 Oct 2009 13:04:29 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/fico-interview-question-answers/#comments</comments><guid isPermaLink="false">http://www.saplab.net/?p=89</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/fico-interview-question-answers/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713300/5132565</fs:itemid></item><item><title>SAP ABAP SMARFORM tutorial(PDF version)</title><link>http://www.saplab.net/sap-abap-smarform-tutorial/</link><content:encoded>&lt;p&gt;What is SAP SMARTFORM? There is a PDF version tutorial about SMARTFORM by SDN.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone&quot; title=&quot;SMARTFORM&quot; src=&quot;http://www.saplab.net/wp-content/uploads/2009/07/download_icon.gif&quot; alt=&quot;&quot; width=&quot;70&quot; height=&quot;70&quot; /&gt;&lt;a href=&quot;http://www.saplab.net/wp-content/uploads/2009/10/smartform-tutorial.pdf&quot;&gt;SMARTFORM-tutorial Download&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713301/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/sap-abap-smarform-tutorial/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713301/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713301/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/sap-abap-smarform-tutorial/feed/</wfw:commentRss><description>What is SAP SMARTFORM? There is a PDF version tutorial about SMARTFORM by SDN.
SMARTFORM-tutorial Download&lt;img src=&quot;http://www1.feedsky.com/t1/312713301/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/sap-abap-smarform-tutorial/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713301/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713301/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>Tutorial</category><category>SAP Script &amp; Smart Forms</category><pubDate>Tue, 27 Oct 2009 09:58:42 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/sap-abap-smarform-tutorial/#comments</comments><guid isPermaLink="false">http://www.saplab.net/?p=86</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/sap-abap-smarform-tutorial/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713301/5132565</fs:itemid></item><item><title>What is IDOC?</title><link>http://www.saplab.net/what-is-idoc/</link><content:encoded>&lt;p&gt;What is IDOC   &lt;br /&gt;• IDOC = Intermediate Document    &lt;br /&gt;• IDOC is simply a data container used to exchange information between any two processes that can understand the syntax and semantics of the data.    &lt;br /&gt;• When we execute an outbound ALE or EDI Process, an IDOC is created    &lt;br /&gt;• In an inbound ALE or EDI process, an IDOC serves as input to create an application document.    &lt;br /&gt;• In the SAP System, IDOCs are stored in database.    &lt;br /&gt;• Every IDOC has an unique number(within a client).    &lt;br /&gt;• IDOCs are independent of the sending and receiving systems.(SAP-to-SAP as well as Non-SAP)    &lt;br /&gt;• IDOCs are based on EDI standards, ANSI ASC X12 and EDIFACT. In case of any conflict in data size, it adopts one with greater length    &lt;br /&gt;• IDOCs are independent of the direction of data exchange e.g. ORDERS01: Purchasing module : Inbound and Outbound    &lt;br /&gt;• IDOCs can be viewed in a text editor. Data is stored in character format instead of binary format.    &lt;br /&gt;IDOC Components    &lt;br /&gt;Basic IDOC Type (we30)    &lt;br /&gt;• Basic IDOC Type defines the structure and format of the business document that is to be exchanged.    &lt;br /&gt;• IDOC Type has a    &lt;br /&gt;– specific name    &lt;br /&gt;– list of permitted segments    &lt;br /&gt;– hierarchy of segments    &lt;br /&gt;– mandatory/optional segments    &lt;br /&gt;– minimum/maximum range of each segment.    &lt;br /&gt;Segments    &lt;br /&gt;• Segment defines the format and structure of a data record. Segments are reusable components.    &lt;br /&gt;• For each segment SAP creates    &lt;br /&gt;– Segment Type (version independent)    &lt;br /&gt;– Segment Definition (version dependent)    &lt;br /&gt;– Segment Documentation    &lt;br /&gt;• The last 3 characters is the version of the segment    &lt;br /&gt;• Definitions keep changing as per the version but the segment type remains the same    &lt;br /&gt;IDOC Run-Time Components    &lt;br /&gt;• An IDOC is an instance of an IDOC Type    &lt;br /&gt;• At run time the following events occur    &lt;br /&gt;– A unique IDOC no. is allocated by SAP    &lt;br /&gt;– One control record is attached to the IDOC    &lt;br /&gt;– Segments translate into data records    &lt;br /&gt;– Status records are attached    &lt;br /&gt;– Syntax rules are checked.    &lt;br /&gt;• Each IDOC has 3 parts    &lt;br /&gt;– Control Record    &lt;br /&gt;– Data Record    &lt;br /&gt;– Status Record    &lt;br /&gt;• We02 or We05    &lt;br /&gt;Control Record    &lt;br /&gt;• All control record data is stored in EDIDC table. The key to this table is the IDOC Number    &lt;br /&gt;• It contains information like IDOC number, sender, recipient information, channel it is using, which port it is using etc.    &lt;br /&gt;Data Record    &lt;br /&gt;• Data record contains application data like employee header info, weekly details, client details etc    &lt;br /&gt;• All data record data is stored in EDI_DD40 table and EDI_DD    &lt;br /&gt;Status Record    &lt;br /&gt;• Status record are attached to an IDOC at every milestone or when it encounter errors.    &lt;br /&gt;• All status record data is stored in EDID8 table.    &lt;br /&gt;Where and How IDOC is created    &lt;br /&gt;Where and How an IDOC is created?    &lt;br /&gt;• Lets take an example to understand this:    &lt;br /&gt;• Whenever a Purchase Order (PO) is created we want to send the IDOC to a vendor.    &lt;br /&gt;• The PO is sent in the form of an IDOC to the vendor (partner). That partner has to be EDI enabled in that system.. SAP should realize that it could send doc to this vendor electronically. (Creating a vendor is not sufficient). Partner Profile should be EDI enabled i.e. A partner profile should exist in the sap system.    &lt;br /&gt;• Quotation, RFQ, PO, SO, Invoice, delivery challan etc are some of the commonly exchanged documents through IDOCs    &lt;br /&gt;• We create only one profile for both inbound and outbound IDOCs.    &lt;br /&gt;• Partner profile should contain message type……to be able to exchange the IDOC.    &lt;br /&gt;• We define partner type, partner function and message type (it distinguish if an IDOC is being sent to same person in same function for different reason e.g. SO)    &lt;br /&gt;Process Code    &lt;br /&gt;Creating Outbound Process Code (WE41)    &lt;br /&gt;• What is Process Code?    &lt;br /&gt;Process of filling the IDOC with application data is done by Function Module. But, function module is not assigned to a Partner. It is encapsulated by a Process Code and this Process Code is assigned to a Partner in Partner Profile.    &lt;br /&gt;• Assigning Function Module to Process Code    &lt;br /&gt;- Go to Transaction WE41.    &lt;br /&gt;- Switch to “Change” Mode and click “New Entries”.    &lt;br /&gt;- Enter Process Code Name and assign the Function Module created.    &lt;br /&gt;Partner Profile    &lt;br /&gt;Creating Partner Profile (WE20)&lt;/p&gt;
&lt;p&gt;• What is Partner Profile?   &lt;br /&gt;We must maintain the business partners with whom we communicate via IDocs, in Partner Profiles.    &lt;br /&gt;• Steps to create Partner Profile    &lt;br /&gt;- Goto Transaction WE20.    &lt;br /&gt;- Click on Create Button.    &lt;br /&gt;- Enter the Number of Vendor Created in Partner No. and ‘LI’ in Partner Type fields.    &lt;br /&gt;- Save the Data.    &lt;br /&gt;- For Outbound Partner Profile we have to create Outbound Parameters    &lt;br /&gt;- Specify Partner Function, Message type created, Port (create a port in WE21),Basic Type and Output Mode.    &lt;br /&gt;- Goto “Message Control” Tab and link the Message Type and Process Code created.    &lt;br /&gt;- Save.    &lt;br /&gt;Change Application Data to be transmitted    &lt;br /&gt;• Change Purchase Order Created using transaction ME22n for the Vendor to which partner profile has been created.    &lt;br /&gt;• Go to “Messages” , add the new “Message Type” to the list and Save the Purchase Order.    &lt;br /&gt;• An IDOC will be created for the purchase order and will be dispatched to PORT mentioned.    &lt;br /&gt;Check the status of IDOC (WE02)    &lt;br /&gt;• The IDOC status can be checked using transaction WE02    &lt;br /&gt;• If the status is ’03’, it implies that IDOC is passed to Port.    &lt;br /&gt;Summary: IDOC Workflow    &lt;br /&gt;The sequence:    &lt;br /&gt;1. Checks whether Partner profile exists or not    &lt;br /&gt;2. Whether that PP has a outbound parameter    &lt;br /&gt;3. Whether NEU message type is there or not (message control)    &lt;br /&gt;4. Checks the process code (gives the name of Function module)    &lt;br /&gt;5. Checks immediate transfer or batch transfer    &lt;br /&gt;6. Based on that it checks the receiver port    &lt;br /&gt;7. Then it will trigger the RFC destination    &lt;br /&gt;8. Then it triggers the event on subsystem/customer system    &lt;br /&gt;9. Transfer the IDOC to a port and transfer the Idoc in terms of file and it triggers the customer system    &lt;br /&gt;10. Customer knows from where it should pick up the file ….it picks up the file.    &lt;br /&gt;Extending an Existing IDOC Type    &lt;br /&gt;• Used in cases where some additional information is required in addition to that supplied by the Standard IDOC Type.    &lt;br /&gt;• In Transaction WE30 we create the IDOC as an Extension and specify the basic type for which it is an extension.    &lt;br /&gt;• We add the segments needed as children to existing ones.    &lt;br /&gt;• None of the Reference Segments can be deleted or changed.    &lt;br /&gt;Extension Child Segs    &lt;br /&gt;Basic Type (ORDERS01)    &lt;br /&gt;F1    &lt;br /&gt;F2    &lt;br /&gt;F3    &lt;br /&gt;F4    &lt;br /&gt;F5    &lt;br /&gt;Cannot be modified    &lt;br /&gt;IDOC Views    &lt;br /&gt;• An IDOC type can be used for more than one message type, which results in IDOCs containing more fields than required for a particular message type.    &lt;br /&gt;• IDOC views are used to improve performance in generating IDOCs to ensure only the relevant segments are filled with data.    &lt;br /&gt;• IDOC Views are important only for Outbound Processing.    &lt;br /&gt;IDOC Type    &lt;br /&gt;F1    &lt;br /&gt;F2    &lt;br /&gt;F3    &lt;br /&gt;F4    &lt;br /&gt;F5    &lt;br /&gt;Processing Logic    &lt;br /&gt;• The processing logic associated with the IDOC is the function module that is written to handle the inbound/outbound IDOC.    &lt;br /&gt;• Its written just like any function module but has to follow a standard interface (i.e. Import, Export, Changing &amp;amp; Tables) parameters and it is should be RFC enabled.    &lt;br /&gt;• In this function module we are effectively building up a table of type EDID4 (IDOC Data table) and change the control record.&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713302/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/what-is-idoc/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713302/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713302/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/what-is-idoc/feed/</wfw:commentRss><description>What is IDOC   • IDOC = Intermediate Document    • IDOC is simply a data container used to exchange information between any two processes that can understand the syntax and semantics of the data.    • When we execute an outbound ALE or EDI Process, an IDOC is created [...]&lt;img src=&quot;http://www1.feedsky.com/t1/312713302/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/what-is-idoc/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713302/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713302/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>ALE &amp; IDocs</category><category>SAP IDOC</category><pubDate>Tue, 27 Oct 2009 09:51:51 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/what-is-idoc/#comments</comments><guid isPermaLink="false">http://www.saplab.net/what-is-idoc/</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/what-is-idoc/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713302/5132565</fs:itemid></item><item><title>Difference Between BADI and User Exits</title><link>http://www.saplab.net/difference-between-badi-and-user-exits/</link><content:encoded>&lt;p&gt;Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.&amp;#160; &lt;/p&gt;
&lt;p&gt;As with customer exits two different views are available: &lt;/p&gt;
&lt;p&gt;In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.&amp;#160; &lt;/p&gt;
&lt;p&gt;In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available. &lt;/p&gt;
&lt;p&gt;In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure. &lt;/p&gt;
&lt;p&gt;SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR. &lt;/p&gt;
&lt;p&gt;The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). &lt;/p&gt;
&lt;p&gt;All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task. &lt;/p&gt;
&lt;p&gt;The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;What is difference between badi and user-exists?&lt;/b&gt;    &lt;br /&gt;&lt;b&gt;What is difference between enhancements and user-exists? and what is the full form of BADI?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;I have another doubt in BDC IN BDC WE HAVE MSEGCALL (i did not remember the &amp;gt; correct name) where the error logs are stored, MSEGCALL is a table or structure.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;What is the system landscape?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;1) Difference between BADI and USER-EXIT.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; i) BADI&amp;#8217;s can be used any number of times, where as USER-EXITS can be used only one time.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ii) BADI&amp;#8217;s are oops based. &lt;/p&gt;
&lt;p&gt;2) About &amp;#8216;BDCMSGCOLL&amp;#8217; it is a structure.&amp;#160; Used for finding error records.    &lt;br /&gt;3) Full form of BADI &amp;#8216;Business addins&amp;#8217;.     &lt;br /&gt;3) System land scape will be depends on your project&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Ex:- &amp;#8216;Development server&amp;#8217;&amp;#8211;&amp;gt;&amp;#8217;Quality server&amp;#8217;&amp;#8212;&amp;gt; &amp;#8216;Production server&amp;#8217;&amp;#8230;&amp;#8230;&amp;#160; &lt;/p&gt;
&lt;p&gt;via &lt;a title=&quot;http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm&quot; href=&quot;http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm&quot;&gt;http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/312713303/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/difference-between-badi-and-user-exits/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713303/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713303/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.saplab.net/difference-between-badi-and-user-exits/feed/</wfw:commentRss><description>Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.&amp;#160; 
As with customer exits two [...]&lt;img src=&quot;http://www1.feedsky.com/t1/312713303/SAPLAB/feedsky/s.gif?r=http://www.saplab.net/difference-between-badi-and-user-exits/&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/SAPLAB/312713303/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/SAPLAB/312713303/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>ABAP Interview</category><category>Interview</category><category>User Exits</category><category>BADI</category><pubDate>Sun, 25 Oct 2009 20:19:33 +0800</pubDate><author>Jack</author><comments>http://www.saplab.net/difference-between-badi-and-user-exits/#comments</comments><guid isPermaLink="false">http://www.saplab.net/difference-between-badi-and-user-exits/</guid><dc:creator>Jack</dc:creator><fs:srclink>http://www.saplab.net/difference-between-badi-and-user-exits/</fs:srclink><fs:srcfeed>http://www.saplab.net/feed</fs:srcfeed><fs:itemid>feedsky/SAPLAB/~7024581/312713303/5132565</fs:itemid></item></channel></rss>