<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Free SAP ABAP SD FICO BW MM Material Books And Faq's</title><description>ABAP,SD,FICO,BW,MM Interview Questions, ALV's, BADI's, BAPI's,User Exits, Purchase Orders, Material Requisition,Sales Orders,Customer, General Ledger,RFC,Smartform,sapscript,ABAP Performance,Certification Exams,Planned Orders,Planning File,Planning Result,General Ledger</description><managingEditor>noreply@blogger.com (Total SAP)</managingEditor><pubDate>Wed, 2 Oct 2024 01:20:19 -0700</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">209</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:keywords>ABAP,SD,FICO,BW,MM,Interview,Questions,ALV,s,BADI,s,BAPI,s,User,Exits,Purchase,Orders,Material,Requisition,Sales,Orders,Customer,General,Ledger,RFC,Smartform,sapscript,ABAP,Performance,Certification,Exams,Planned,Orders,Planning,File,Planning,Result</itunes:keywords><itunes:summary>ABAP,SD,FICO,BW,MM Interview Questions, ALV's, BADI's, BAPI's,User Exits, Purchase Orders, Material Requisition,Sales Orders,Customer, General Ledger,RFC,Smartform,sapscript,ABAP Performance,Certification Exams,Planned Orders,Planning File,Planning Result,General Ledger</itunes:summary><itunes:subtitle>Free SAP ABAP SD FICO BW MM Material Books And Faq's</itunes:subtitle><itunes:category text="Education"><itunes:category text="Training"/></itunes:category><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item><title>TBW45_UNIT2...BI-Integrated Planning</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2009/09/tbw45unit2bi-integrated-planning.html</link><category>SAP BW</category><author>noreply@blogger.com (Total SAP)</author><pubDate>Sun, 6 Sep 2009 22:44:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-8853782175100695137</guid><description>TBW45_UNIT2 ...BI-Integrated Planning ...UNIT2: Creating a simple data model with data input&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglKvwf5XKiL14r3qaoopFTWrIl20G50PthXtEF-VCzjQvfDFvdh-YCbITe90PLfq7yBw-Pgm9h4WgGkTzP5yqbsSJSvyPOXfuwGVn-8jpZYvewHxPxMP4OJGE2BUDMqJR6_QsIIoBiWmQ/s400/tbw45..JPG" alt="" id="BLOGGER_PHOTO_ID_5127522837170585986" border="0" /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxVrYELa1uwEsfj7jePGAPTqkg-Z7XBTPYLmCO4-dLyRqp7iiuUJnKCPEFhJP2beRSBKLauT_02tTfQsqvyjcvKbL6E0oceuFTi-IK6E1i5n0GJkg_8WwzO9qXGkRRimcg69Unibo-isI/s400/tbw45_2.JPG" alt="" id="BLOGGER_PHOTO_ID_5127523245192479122" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.esnips.com/doc/368d86f9-e1a9-4d88-b7da-956d225748c9/TBW45_UNIT2"&gt;Download&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglKvwf5XKiL14r3qaoopFTWrIl20G50PthXtEF-VCzjQvfDFvdh-YCbITe90PLfq7yBw-Pgm9h4WgGkTzP5yqbsSJSvyPOXfuwGVn-8jpZYvewHxPxMP4OJGE2BUDMqJR6_QsIIoBiWmQ/s72-c/tbw45..JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Important SAP MM Tcodes 1</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2009/03/important-sap-mm-tcodes-1.html</link><category>TCodes</category><author>noreply@blogger.com (Total SAP)</author><pubDate>Mon, 2 Mar 2009 22:15:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-7239738058562130712</guid><description>&lt;pre&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;ME01                 Maintain Source List                 &lt;br /&gt;ME03                 Display Source List                  &lt;br /&gt;ME04                 Changes to Source List               &lt;br /&gt;ME05                 Generate Source List                 &lt;br /&gt;ME06                 Analyze Source List                  &lt;br /&gt;ME07                 Reorganize Source List               &lt;br /&gt;ME08                 Send Source List                     &lt;br /&gt;ME0M                 Source List for Material             &lt;br /&gt;ME11                 Create Purchasing Info Record        &lt;br /&gt;ME12                 Change Purchasing Info Record        &lt;br /&gt;ME13                 Display Purchasing Info Record       &lt;br /&gt;ME14                 Changes to Purchasing Info Record    &lt;br /&gt;ME15                 Flag Purch. Info Rec. for Deletion   &lt;br /&gt;ME16                 Purchasing Info Recs. for Deletion   &lt;br /&gt;ME17                 Archive Info Records                 &lt;br /&gt;ME18                 Send Purchasing Info Record          &lt;br /&gt;ME1A                 Archived Purchasing Info Records     &lt;br /&gt;ME1B                 Redetermine Info Record Price        &lt;br /&gt;ME1E                 Quotation Price History              &lt;br /&gt;ME1L                 Info Records Per Vendor              &lt;br /&gt;ME1M                 Info Records per Material            &lt;br /&gt;ME1P                 Purchase Order Price History         &lt;br /&gt;ME1W                 Info Records Per Material Group      &lt;br /&gt;ME1X                 Buyer's Negotiation Sheet for Vendor &lt;br /&gt;ME1Y                 Buyer's Negotiat. Sheet for Material &lt;br /&gt;ME21                 Create Purchase Order                &lt;br /&gt;ME21N                Create Purchase Order                             &lt;br /&gt;ME22                 Change Purchase Order                             &lt;br /&gt;ME22N                Change Purchase Order                             &lt;br /&gt;ME23                 Display Purchase Order                            &lt;br /&gt;ME23N                Display Purchase Order                            &lt;br /&gt;ME24                 Maintain Purchase Order Supplement                &lt;br /&gt;ME25                 Create PO with Source Determination               &lt;br /&gt;ME26                 Display PO Supplement (IR)                        &lt;br /&gt;ME27                 Create Stock Transport Order                      &lt;br /&gt;ME28                 Release Purchase Order                            &lt;br /&gt;ME29N                Release purchase order                            &lt;br /&gt;ME2A                 Monitor Confirmations                             &lt;br /&gt;ME2B                 POs by Requirement Tracking Number                &lt;br /&gt;ME2C                 Purchase Orders by Material Group                 &lt;br /&gt;ME2J                 Purchase Orders for Project                       &lt;br /&gt;ME2K                 Purch. Orders by Account Assignment               &lt;br /&gt;ME2L                 Purchase Orders by Vendor                         &lt;br /&gt;ME2M                 Purchase Orders by Material                       &lt;br /&gt;ME2N                 Purchase Orders by PO Number                      &lt;br /&gt;ME2O                 SC Stock Monitoring (Vendor)                      &lt;br /&gt;ME2S                 Services per Purchase Order                       &lt;br /&gt;ME2V                 Goods Receipt Forecast                            &lt;br /&gt;ME2W                 Purchase Orders for Supplying Plant               &lt;br /&gt;ME308                Send Contracts with Conditions                    &lt;br /&gt;ME31                 Create Outline Agreement                          &lt;br /&gt;ME31K                Create Contract                                   &lt;br /&gt;ME31L                Create Scheduling Agreement                       &lt;br /&gt;ME32                 Change Outline Agreement                          &lt;br /&gt;ME32K                Change Contract                                   &lt;br /&gt;ME32L                Change Scheduling Agreement                       &lt;br /&gt;ME33                 Display Outline Agreement                         &lt;br /&gt;ME33K                Display Contract                                  &lt;br /&gt;ME33L                Display Scheduling Agreement                      &lt;br /&gt;ME34                 Maintain Outl. Agreement Supplement               &lt;br /&gt;ME34K                Maintain Contract Supplement                      &lt;br /&gt;ME34L                Maintain Sched. Agreement Supplement              &lt;br /&gt;ME35                 Release Outline Agreement                         &lt;br /&gt;ME35K                Release Contract                                  &lt;br /&gt;ME35L                Release Scheduling Agreement                      &lt;br /&gt;ME36                 Display Agreement Supplement (IR)                 &lt;br /&gt;ME37                 Create Transport Scheduling Agmt.                 &lt;br /&gt;ME38                 Maintain Sched. Agreement Schedule                &lt;br /&gt;ME39                 Display Sched. Agmt. Schedule (TEST)              &lt;br /&gt;ME3A                 Transm. Release Documentation Record              &lt;br /&gt;ME3B                 Outl. Agreements per Requirement No.              &lt;br /&gt;ME3C                 Outline Agreements by Material Group              &lt;br /&gt;ME3J                 Outline Agreements per Project                    &lt;br /&gt;ME3K                 Outl. Agreements by Acct. Assignment              &lt;br /&gt;ME3L                 Outline Agreements per Vendor                     &lt;br /&gt;ME3M                 Outline Agreements by Material                    &lt;br /&gt;ME3N                 Outline Agreements by Agreement No.               &lt;br /&gt;ME3P                 Recalculate Contract Price                        &lt;br /&gt;ME3R                 Recalculate Sched. Agreement Price                &lt;br /&gt;ME3S                 Service List for Contract                         &lt;br /&gt;ME41                 Create Request For Quotation                      &lt;br /&gt;ME42                 Change Request For Quotation                      &lt;br /&gt;ME43                 Display Request For Quotation                     &lt;br /&gt;ME44                 Maintain RFQ Supplement                           &lt;br /&gt;ME45                 Release RFQ                                       &lt;br /&gt;ME47                 Create Quotation                                  &lt;br /&gt;ME48                 Display Quotation                                 &lt;br /&gt;ME49                 Price Comparison List                             &lt;br /&gt;ME4B                 RFQs by Requirement Tracking Number               &lt;br /&gt;ME4C                 RFQs by Material Group                            &lt;br /&gt;ME4L                 RFQs by Vendor                                    &lt;br /&gt;ME4M                 RFQs by Material                                  &lt;br /&gt;ME4N                 RFQs by RFQ Number                                &lt;br /&gt;ME4S                 RFQs by Collective Number                         &lt;br /&gt;ME51                 Create Purchase Requisition                       &lt;br /&gt;ME51N                Create Purchase Requisition                       &lt;br /&gt;ME52                 Change Purchase Requisition                       &lt;br /&gt;ME52N                Change Purchase Requisition                       &lt;br /&gt;ME52NB               Buyer Approval: Purchase Requisition              &lt;br /&gt;ME53                 Display Purchase Requisition                      &lt;br /&gt;ME53N                Display Purchase Requisition                      &lt;br /&gt;ME54                 Release Purchase Requisition                      &lt;br /&gt;ME54N                Release Purchase Requisition                      &lt;br /&gt;ME55                 Collective Release of Purchase Reqs.              &lt;br /&gt;ME56                 Assign Source to Purch. Requisition               &lt;br /&gt;ME57                 Assign and Process Requisitions                   &lt;br /&gt;ME58                 Ordering: Assigned Requisitions                   &lt;br /&gt;ME59                 Automatic Generation of POs                       &lt;br /&gt;ME59N                Automatic generation of POs                       &lt;br /&gt;ME5A                 Purchase Requisitions: List Display               &lt;br /&gt;ME5F                 Release Reminder: Purch. Requisition              &lt;br /&gt;ME5J                 Purchase Requisitions for Project                 &lt;br /&gt;ME5K                 Requisitions by Account Assignment                &lt;br /&gt;ME5R                 Archived Purchase Requisitions                    &lt;br /&gt;ME5W                 Resubmission of Purch. Requisitions               &lt;br /&gt;ME61                 Maintain Vendor Evaluation                        &lt;br /&gt;ME62                 Display Vendor Evaluation                         &lt;br /&gt;ME63                 Evaluation of Automatic Subcriteria               &lt;br /&gt;ME64                 Evaluation Comparison                             &lt;br /&gt;ME65                 Evaluation Lists                                  &lt;br /&gt;ME6A                 Changes to Vendor Evaluation                      &lt;br /&gt;ME6B                 Display Vendor Evaln. for Material                &lt;br /&gt;ME6C                 Vendors Without Evaluation                        &lt;br /&gt;ME6D                 Vendors Not Evaluated Since...                    &lt;br /&gt;ME6E                 Evaluation Records Without Weighting              &lt;br /&gt;ME6F                 Print                                             &lt;br /&gt;ME6G                 Vendor Evaluation in the Background               &lt;br /&gt;ME6H                 Standard Analysis: Vendor Evaluation              &lt;br /&gt;ME6Z                 Transport Vendor Evaluation Tables                &lt;br /&gt;ME80                 Purchasing Reporting                              &lt;br /&gt;ME80A                Purchasing Reporting: RFQs                       &lt;br /&gt;ME80AN               General Analyses (A)                             &lt;br /&gt;ME80F                Purchasing Reporting: POs                        &lt;br /&gt;ME80FN               General Analyses (F)                             &lt;br /&gt;ME80R                Purchasing Reporting: Outline Agmts.             &lt;br /&gt;ME80RN               General Analyses (L,K)                           &lt;br /&gt;ME81                 Analysis of Order Values                         &lt;br /&gt;ME81N                Analysis of Order Values                         &lt;br /&gt;ME82                 Archived Purchasing Documents                    &lt;br /&gt;ME84                 Generation of Sched. Agmt. Releases              &lt;br /&gt;ME84A                Individual Display of SA Release                 &lt;br /&gt;ME85                 Renumber Schedule Lines                          &lt;br /&gt;ME86                 Aggregate Schedule Lines                         &lt;br /&gt;ME87                 Aggregate PO History                             &lt;br /&gt;ME88                 Set Agr. Cum. Qty./Reconcil. Date&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>IMPORTANT SAPSCRIPTS 20</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/11/important-sapscripts-20.html</link><category>Sample Sapscripts</category><category>SAPscripts and SmartForms</category><author>noreply@blogger.com (Total SAP)</author><pubDate>Thu, 27 Nov 2008 03:21:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-8538415217664815243</guid><description>CONTROL_FORM&lt;br /&gt;&lt;br /&gt;Use CONTROL_FORM to pass SAPscript control statements to the layout set.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Function call:&lt;br /&gt;&lt;br /&gt;CALL FUNCTION 'CONTROL_FORM'&lt;br /&gt;EXPORTING COMMAND = ?...&lt;br /&gt;EXCEPTIONS UNOPENED =&lt;br /&gt;UNSTARTED =&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Export parameters:&lt;br /&gt;&lt;br /&gt;COMMAND Enter the SAPscript statement you want to execute in ITF format, but without the statement paragraph attribute '/:'.&lt;br /&gt;&lt;br /&gt;Exceptions:&lt;br /&gt;&lt;br /&gt;UNOPENED The current layout set function could not be executed, since the layout set output was no yet initialized using OPEN_FORM.&lt;br /&gt;&lt;br /&gt;UNSTARTED No layout set was opened yet.Possible reasons:&lt;br /&gt;&lt;br /&gt;• The layout set processing was started using OPEN_FORM without specifying a layout set name, but no layout set was opened yet using START_FORM.&lt;br /&gt;&lt;br /&gt;• The last used layout set was closed using END_FORM, but no new layout set was opened using START_FORM.&lt;br /&gt;&lt;br /&gt;• The last filled page of the current layout set has no subsequent page. In this case, the system automatically terminates layout set printing after this page. You need no explicit END_FORM call.&lt;br /&gt;&lt;br /&gt;• In the current layout set, no page contains a main window, but a text element shall be output in the main window.&lt;br /&gt;http://sapabapmaterial.blogspot.com/&lt;br /&gt;&lt;br /&gt;AND THIS IS THE END OF SCRIPT SERIES.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>The Other 50 ABAP Interview Faq's ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/other-50-abap-interview-faqs-abap.html</link><category>50+ Interview ques</category><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:14:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-5348284407346521826</guid><description>&lt;div class="post-body entry-content"&gt; &lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-size: 130%;"&gt;The Other 50 ABAP Interview  Faq's&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;51. What are the techniques involved in using SAP supplied programs? &lt;/b&gt;&lt;br /&gt;&lt;b&gt;Do you prefer to write your own programs to load master data? Why? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;52. What are logical databases? What are the advantages/disadvantages of  logical databases? &lt;/b&gt;&lt;br /&gt;ANS:-&lt;br /&gt;To read data from a database tables we use  logical database.&lt;br /&gt;A logical database provides read-only access to a group of  related tables to an ABAP/4 program.  &lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt; advantages:-&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;The programmer need not worry about the primary key for each table.Because Logical database knows how the different tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;i)An easy-to-use standard user interface.&lt;br /&gt;ii)check functions which  check that user input is complete,correct,and plausible.&lt;br /&gt;iii)meaningful data  selection.&lt;br /&gt;iv)central authorization checks for database accesses.&lt;br /&gt;v)good  read access performance while retaining the hierarchical data view determined by  the application logic.   &lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Disadvantages:-&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;i)If you donot specify a logical database in the program  attributes,the GET events never occur.&lt;br /&gt;ii)There is no ENDGET command,so the  code block associated with an event ends with the next event&lt;br /&gt;statement  (such as another GET or an END-OF-SELECTION).   &lt;/p&gt;&lt;p&gt;&lt;b&gt;53. What specific statements do you using when writing a drill down  report? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;AT LINE-SELECTION,AT USER-COMMAND,AT PF.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;54. What are different tools to report data in SAP? What all have you  used? &lt;/b&gt;&lt;br /&gt;ans:-  &lt;/p&gt;&lt;p&gt;&lt;b&gt;55. What are the advantages and disadvantages of ABAP/4 query tool? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;56. What are the functional areas? User groups? and how does ABAP/4 query  work in relation to these? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;57. Is a logical database a requirement/must to write an ABAP/4  query? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;59. What are Change header/detail tables? Have you used them? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;60. What do you do when the system crashes in the middle of a BDC batch  session? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;we will look into the error log file (SM35).  &lt;/p&gt;&lt;p&gt;&lt;b&gt;61. What do you do erros in BDC batch sessions? &lt;/b&gt;&lt;br /&gt;ANS:-&lt;br /&gt;We look into the list of incorrect session and process it again. To correct incorrect session we analyize the session to determine which screen and value produced the error.For small errors in data we correct them interactively otherwise&lt;br /&gt;modify batch input program that has generated the session or many  times even the datafile.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;62. How do you set up background jobsin SAP? What are the steps? What are  the event driven batch jobs? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;go to SM36 and create background  job by giving job name,job class and job steps(JOB SCHEDULING)  &lt;/p&gt;&lt;p&gt;&lt;b&gt;63. Is it possible to run host command&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; from SAP environment? How do you  run? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;64. What kind of financial periods exist in SAP? What is the relavent  table for that? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;65. Does SAP handle multiple currencies? Multiple languages? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;Yes.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;66. What is a currency factoring technique? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;67. How do you document ABAP/4 programs? Do you use program documentation  menu option? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;68. What is SAPscript  and layout  set? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;The tool which is  used to create layout set is called SAPscript. Layout set is a design document.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;69. What are the ABAP/4commands that link to a layout set? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;control commands,system commands,  &lt;/p&gt;&lt;p&gt;&lt;b&gt;70. What is output determination? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;71. What are IDOCs? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;IDOCs are intermediate documents to  hold the messages as a container.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;72. What are screen painter? menu painter? Gui status? ..etc. &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;dynpro - flow logic + screens.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Menu painter -&lt;br /&gt;GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen.&lt;br /&gt;The status comprises those  elements that are currently needed by the transaction.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;73. What is screen flow logic? What are the sections in it? Explain PAI  and PBO. &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The control statements that control the screen flow.&lt;br /&gt;PBO - This event is triggered before the screen is displayed.&lt;br /&gt;PAI - This  event is responsible for processing of screen after the user enters the data and  clicks the pushbutton.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;74. Overall how do  write programs in SAP? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;Create program-SE93-create transcode-Run it from command field.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;75. Does SAP has a GUI screen painter or not? If yes what operating systems is it available on? What is the other type of screen painter called? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;76. What are step loops? How do you program pagedown pageup in step  loops? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;step loops are repeated blocks of field in a screen.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;77. Is ABAP a GUI language? &lt;/b&gt;&lt;br /&gt;ANS:-&lt;br /&gt;Yes.&lt;br /&gt;ABAP IS AN EVENT  DRIVEN LANGUAGE.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;78. Normally how many and what files get created when a transaction  program is written? &lt;/b&gt;&lt;br /&gt;&lt;b&gt;What is the XXXXXTOP program? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;ABAP/4 program.&lt;br /&gt;DYNPRO  &lt;/p&gt;&lt;p&gt;&lt;b&gt;79. What are the include programs? &lt;/b&gt;&lt;br /&gt;ANS:-&lt;br /&gt;When the same sequence of statements in several programs are to be written repeadly they are coded in include programs (External programs) and are included in ABAP/4 programs. &lt;/p&gt;&lt;p&gt;&lt;b&gt;80. Can you call a subroutine of one program from another program? &lt;/b&gt;&lt;br /&gt;ans:-  Yes- only external subroutines Using 'SUBMIT' statement.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;81. What are user exits? What is involved in writing them? What precations  are needed? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;82. What are RFCs? How do you write RFCs on SAP side? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;83. What are the general naming conventions of ABAP programs? &lt;/b&gt;&lt;br /&gt;ANS:-&lt;br /&gt;Should start with Y or Z.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;84. How do you find if a logical database exists for your program  requrements? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;SLDB-F4.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;85. How do you find the tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;Transcode is entered in command field to open the  table.Utilities-Table contents-display.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;86. How do you find the menu path for a given transaction in SAP? &lt;/b&gt;&lt;br /&gt;ans:-  &lt;/p&gt;&lt;p&gt;&lt;b&gt;87. What are the different modules of SAP? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;FI,CO,SD,MM,PP,HR.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;89. How do you get help in ABAP? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;HELP-SAP LIBRARY,by  pressing F1 on a keyword.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;90. What are different ABAP/4 editors? What are the differences? &lt;/b&gt;&lt;br /&gt;ans:-  &lt;/p&gt;&lt;p&gt;&lt;b&gt;91. What are the different elements in layout sets? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;PAGES,Page windows,Header,Paragraph,Character String,Windows.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;92. Can you use if then else,perform ..etc statements in sap script? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;yes.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;93. What type of variables normally  used in sap script to output  data? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;94. How do you number pages in sapscript layout outputs? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;95. What takes most time in SAP script programming? &lt;/b&gt;&lt;br /&gt;ANS:-&lt;br /&gt;LAYOUT DESIGN AND LOGO INSERTION.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;96. How do you use tab sets in layout sets? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;97. How do you backup sapscript layout sets? Can you download and upload?  How? &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;98. What are presentation and application servers in SAP?&lt;/b&gt;&lt;br /&gt;ANS:-&lt;br /&gt;The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentation components, the database, and also with each other, using the message server. &lt;/p&gt;&lt;p&gt;&lt;b&gt;99. In an ABAP/4 program how do you access data that exists on a  presentation server vs on an application server? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;i)using loop  statements.&lt;br /&gt;ii)flat   &lt;/p&gt;&lt;p&gt;&lt;b&gt;100. What are different data types in ABAP/4? &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Elementary -&lt;br /&gt;       predefined C,D,F,I,N,P,T,X.&lt;br /&gt;        userdefined TYPES.&lt;br /&gt;ex: see in intel book page no 35/65  &lt;/p&gt;&lt;p&gt;Structures:-&lt;br /&gt;      predefined    TABLES.&lt;br /&gt;       userdefined Field Strings and internal tables.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;101. What is difference between session method and Call Transaction? &lt;/b&gt;&lt;br /&gt;ans:-  &lt;/p&gt;&lt;p&gt;&lt;b&gt;102. Setting up a BDC program where you find information from? &lt;/b&gt;&lt;br /&gt;ans:-   &lt;/p&gt;&lt;p&gt;&lt;b&gt;103. What has to be done to the packed fields before submitting to a BDC  session. &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;  fields converted into character type.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;104. What is the structure of a BDC sessions. &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;    BDCDATA (standard structure).  &lt;/p&gt;&lt;p&gt;&lt;b&gt;105. What are the fields in a BDC_Tab Table. &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;    program,dynpro,dynbegin,fnam,fval.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;106. What do you define in the domain and data element. &lt;/b&gt;&lt;br /&gt;Technical  details like   &lt;/p&gt;&lt;p&gt;&lt;b&gt;107. What is the difference between a pool table and a transparent table  and how they are stored at the database level. &lt;/b&gt;&lt;br /&gt;ans:-&lt;br /&gt;ii)Pool tables is a logical representation of transparent tables .Hence no existence at database level. Where as transparent tables are physical tables and exist at database level. &lt;/p&gt;&lt;p&gt;&lt;b&gt;108. What is  cardinality?&lt;/b&gt;&lt;br /&gt;For cardinality one out of two (domain  or data element) should be the same for Ztest1 and Ztest2 tables. M:N&lt;br /&gt;Cardinality specifies the number of dependent(Target) and independent  (source) entities which can be in a relationship.&lt;/p&gt;  &lt;/div&gt;   &lt;span class="post-author vcard"&gt;&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>ABAP Certification Sample Questions for Abapers ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/abap-certification-sample-questions-for.html</link><category>ABAP Certification</category><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:13:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-7688794437774604664</guid><description>&lt;p&gt;&lt;b&gt;Question:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Within the TOP-OF-PAGE event the following code  represents:&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;  write: /1 text-001. &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;  A:  A selection text.&lt;br /&gt;B:  A basic list row.&lt;br /&gt;C:  A page  footer&lt;br /&gt;D:  A page header   &lt;/p&gt;&lt;p&gt;&lt;b&gt;Question:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Given the two ABAP Dictioary tables below, the  Customer number field in table one must contain&lt;/b&gt; &lt;b&gt;a value from table  two. The Customer number field is known as a ____. &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;  Table one: &lt;/b&gt;&lt;br /&gt;&lt;b&gt;   Customer number (Primary key) &lt;/b&gt;&lt;br /&gt;&lt;b&gt;    Company code (Primary key) &lt;/b&gt;&lt;br /&gt;&lt;b&gt;   Other data &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;   Table two: &lt;/b&gt;&lt;br /&gt;&lt;b&gt;   Customer number (Primary key) &lt;/b&gt;&lt;br /&gt;&lt;b&gt;    Customer name &lt;/b&gt;&lt;br /&gt;&lt;b&gt;   Other data &lt;/b&gt;  &lt;/p&gt;&lt;p&gt;   A:  Secondary index&lt;br /&gt;B:  Matchcode object&lt;br /&gt;C:  Validation  field&lt;br /&gt;D:  Foreign key   &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Question:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;A batch input job with two steps is processed.   IMPORT/EXPORT statements are used to pass values between the steps.&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 1 contains the statements&lt;/b&gt;&lt;br /&gt;&lt;b&gt;  STATUS='S'. CONT = 'C'.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;  EXPORT STATUS CONT TO MEMORY ID 'XXXX'.&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Step 2 contains the statements&lt;/b&gt;&lt;br /&gt;&lt;b&gt;  CLEAR:CONT, STATUS, FLAG.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;  IMPORT CONT FLAG FROM MEMORY ID 'XXXX'.&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;What do the fields SY-SUBRC, CONT and FLAG contain after the IMPORT  statement have been executed?&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;A.  SY-SUBRC=4. CONT='C'. FLAG=''.&lt;br /&gt;B.  SY-SUBRC=0. CONT='C'. FLAG=''.&lt;br /&gt;C.  SY-SUBRC=0. CONT=''.   FLAG=''.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Question:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;The structure of a table has been changed in the  ABAP/4 Dictionary.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Which of the following adjustments in the relevant  database table is correct, if you want to retain the previous data?&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;A.  Delete and recreate the database table.&lt;br /&gt;B.  Change the database  directory (ALTER TABLE) where the structure change with ALTER TABLE is supported  by the database.&lt;br /&gt;C.  Convert the table.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Question:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Must Exits be predefined by SAP programmers?&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;A.  No&lt;br /&gt;B.  Yes&lt;br /&gt;C.  Customers can determine for themselves where they  want to use exits&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Important ABAP FAQ's ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/important-abap-faqs-abap-interview.html</link><category>ABAP fAQS</category><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:12:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-4129946896772432883</guid><description>&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;1)What are dml statements in sap?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Insert, Update, Delete.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;2)What is the difference between open sql &amp;amp; native sql?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Open SQL allows you to access all database tables known to the SAP system, regardless of the database manufacturer. Sometimes, however, we may want to use database-specific SQL statements called Native SQL in your ABAP/4 program.&lt;br /&gt;To avoid incompatibilities between different database tables and also to make ABAP/4 programs independent of the database system in use, SAP has created a set of separate SQL statements called Open SQL. Open SQL contains a subset of standard SQL statements as well as some enhancements which are specific to SAP.&lt;br /&gt;A database interface translates SAP's Open SQL statements into SQL commands specific to the database in use. Native SQL statements access the database directly &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;3)What is Primary key, foreign key ? what is primary index? secondary  index?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Primary index: the primary index contains key fiels of a table and a pointer to non-key fields of the table. The primary index is created automatically when a table is created in database and moreover you can further define reference to the primary index which are known as Secondary index. &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;4)How many indexes can be created for a table?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: 9.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;5)What is data class?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: The data class specifies in which table space the table is created in  database.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;6)Give few names of cluster tables in sap?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;7)Give few names of pooled tables in sap?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: A pool table has many to one relation with the table in the database. For one table in the database there are many tables in the dictionary. Tha table in the database has a diff name than in the table in the data dict, it has diff no of fields and field names are different. A pooled table is stored in the pool at the database level. A table pool is a databse table with a special struct that enables the data of many R3 tables to be stored in it. It can hold only pooled tables.&lt;br /&gt;Sorry I dont know table names.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;8)Give few names of transparent tables?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: A transparent table has a one to one relataionship in the database. The table in the dictionary has the same name, same no of fields, and the fields have the same name as in the R3 table defn. A transparent tabel has application data (Master and Transaction). sorry i dont know table names. &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;9)What is a buffer and how many types?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Buffer is othing but which stores data temporarily. there are two types  of buffers.&lt;br /&gt;&lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;They are Roll and Page areas.&lt;br /&gt;Pages : it stores the application  data.&lt;br /&gt;Roll area: it stores the data of previous pages.Data areas of used programs are created in roll areas for each internal session. &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;10)What is table maintenance generator and how to create that? What is the  transaction code?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Table maintanence generator is nothing but  making a table available for  adding records and deleting records.&lt;br /&gt;The transaction code used is SM30.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;11)How to add new fields to a standard sap table?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:   1. Appended structures      2. Customizing tables  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;12)What are lock objects?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Lock objects are nothing but which holds a data for particular field  value until you remove a lock..  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;13)Diff betwn inner &amp;amp; outer join?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;14)What is the use of start-of-selection event?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Start-of-selection is called implicity even it is not used in the program. start-of-selection is triggered after the standard selection screen has been displayed. &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;15)What is the difference between end-of-page and end-of-selection?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: End-of-page : is footer of the page.  End-of-selection: is triggered At  the end of the processing block.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;16)If you write a write statement after end-of-selection, will that be  triggered?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Yes  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;17)How to create a button in selection screen?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Using parametres  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;18)How to add a gui status in a selection screen?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:   &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;19)How to create a check box/option button in a list?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Regarding Runtime creation of Check Boxes  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;20)Can you call a bdc program from a report? how?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Yes through Submit and return  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;21)Can you call a transaction from a report? how?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Yes Using Call transaction and leave to.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;22)What are ALV reports? how they are different from normal reports?&lt;/b&gt;&lt;br /&gt;Ans: these reports are used to find subtotals and totals in a report. If you  want i'll give you an example program.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;23)What are the main events that are used in an ALV report?&lt;/b&gt;&lt;br /&gt;Ans:   &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;24)What is the use of SLIS type pool in alv reports?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Slis type pool is a global defination of pooltypes of catalog structure,  table and layout which we use in ALV reports.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;25)Difference between top-of-page and top-of-page during at-line-  selection?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Top-of-page is a header on primary list.  Top-of-page during  line-selection is a header on secondary lists.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;26)In an interactive report, after going to 5th list, can you come back to  2nd list? how?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;How many type of internal tables are there?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Standard, Hashed, Sorted tables  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;27)What is the difference between hashed &amp;amp; sorted internal tables?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Sorted internal table works on Binary Search and Hashed internal tables  works on hashed alogorthim through indexes.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;28)What is the difference between standard and sorted internal tables? (in  performance wise)&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:  Sorted table improve the performance in case of a huge table which has  no: of records  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;29)What is the use of at new statement?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;30)When do you need to create an internal table with header line? and with  out a header line? line?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: If we don't want to use any explicit work area then its better to go for  an internal table with header line.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;31)What does it mean occurs 0 while creating an internal table?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:   &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;32)Which of these methods can be best used in background process?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans : Batch Input method.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;33)What is direct input method?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using  it?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Exec Sql[Performing &lt;sql]&gt;&lt;br /&gt;      [Native sql statements]&lt;br /&gt;      endexec.&lt;br /&gt;      The above is the syntax for the native sql  statements.  &lt;/sql]&gt;&lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Disadvantages:  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;    . Syntax check is not done to statements written inside the EXEC SQL  statements.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;34)What is the meaning of ABAP/4 editor integrated with ABAP/4 data  dictionary?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;What transactions do you use for data analysis?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;ANs: Sorry i dont know but for runtime analysis we use transaction code :  se30.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;35)What are selection texts?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: in the selection screen you can change the name of the field,title etc using selection texts. go to text--&gt; text elemets---&gt; selection texts in the menu bar to set selection texts. &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;36)What is the client concept in SAP? What is the meaning of client  independent?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;How to find the return code of a statement in ABAP programs?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Through functions.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;37)What is performance tuning?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Performance tuning for Data Selection Statement  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;38)What are steps you follow to improve the performance of a report?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: 1) USe select fields statements (not select *)&lt;br /&gt;      2) Use views  rather than tables&lt;br /&gt;      3) Don't use nested Select.  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;39)What is the role of secondary index in performance?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:   &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;40)What is the role of ST05 in performance tuning?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: SQL trace  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;41)What is the role of extended syntax check in performance tuning?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans:   &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;42)Will join conditions in sql queries affect perfomance? how?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans : Yes  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;43)Will sorted internal tables help in performance?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Yes  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;44)Will where conditions in a sql query help improve performance?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: No Not at all  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;45)Does select single *.. / select * .. affect performance? how?&lt;/b&gt;  &lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;Ans: Select single we use for first hit of the record. so obviously Select  single will improve the performance. &lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>SAP ABAP Interview Questions And Answers ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/sap-abap-interview-questions-and_26.html</link><category>ABAP Interview Qs</category><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:12:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-5198299511014238281</guid><description>&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;&lt;span class="for_questions_blue"&gt;What is the difference between internal table and  structure?&lt;/span&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="answers"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;There are there types of structure:-&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;1. Flat structure(  elementary fields)&lt;br /&gt;2. Nested structure ( type reference to other structure)&lt;br /&gt;3. deep structure ( type reference to database tables) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="for_questions_blue"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="for_questions_blue"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;Explain row type and line type concept  &lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;line type refers to the structure of an internal table,whereas row type is the actual part that contains the data and it refers to the table body.creating internal table using line type and row type concept is for reusability purpose.Line type and Row type are defined at DDIC LEVEL. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="for_questions_blue"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="for_questions_blue"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;Can any one give me brief explanation about internal tables,  and work area ? &lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;*An internal table  is a run time instance. It get created when program starts execution.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;*It  get destroyed when program terminates. It has two different parts:  HeaderLine(optional) and Body(Compulsory).&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;*Any value that comes to or goes  from interanal table, that travels through headerline. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="for_questions_blue"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="for_questions_blue"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;How to eliminate duplicate entries in internal tables?  &lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;&lt;strong&gt;Answer1:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;SORT  itab.DELETE ADJACENT DUPLICATES FROM itab COMPARING ALL FIELDS.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;&lt;strong&gt;Answer2:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;The following syntax:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;SORT itab ..fieldname..&lt;br /&gt;delete adjcent duplicates from itab comparing .  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;b&gt;&lt;span class="for_questions_blue"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;b&gt;&lt;span class="for_questions_blue"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;Size of the internal tables?&lt;/u&gt;&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="answers"&gt;The size of the internal tables are set using the 'occurs n' clause. Here n refers to a integer number that specifies the size. Usually its given as 'occurs 0' which creates an itab with the memmory space of 8kb. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="for_questions_blue"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-size: 130%;"&gt;&lt;span class="for_questions_blue"&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;u&gt;What is the basic difference internal tables and database tables? How can we differentiate by looking at the tables? Handling of internal tables&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: trebuchet ms;"&gt;&lt;span style="font-family: trebuchet ms; font-size: 130%;"&gt;&lt;span class="answers"&gt;&lt;br /&gt;The basic difference is  database tables are stored in DB server&lt;br /&gt;and the internal tables are virtual  tables these are created run time only&lt;br /&gt;Internal tables are created  dynamically, the memory of internal tables is not&lt;br /&gt;permant memory, for internal tables the memory will be created in the application server and it is external memory and terminates after the program termination.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>ABAP Frequently Asked Question ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/abap-frequently-asked-question-abap.html</link><category>ABAP Interview Questions</category><category>ABAP/4 FAQs</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:11:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-6820230170841522459</guid><description>&lt;p style="font-style: italic; color: rgb(153, 51, 0);"&gt;&lt;span style="font-size: 130%;"&gt;ABAP/4&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; When we create a customer the information is updated in structure  RF02D and the some tables like KNA1 are updated. How can we &lt;span style="color: rgb(255, 0, 0);"&gt;find &lt;/span&gt;the &lt;span style="color: rgb(255, 0, 0);"&gt;tables for master data  transactions&lt;/span&gt;?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;A:&lt;/b&gt; Go to ABAP Workbench -&gt; Overview -&gt; application hierarchy - SAP -&gt; follow the customizing based tree for your application. Double click on a lowest hierarchy level to get for the correct marked development class. Here you can find all the tables, views, logical databases etc. used for a system operation. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr /&gt;&lt;span style="color: rgb(204, 102, 0); font-size: 180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b style="color: rgb(204, 102, 0);"&gt;&lt;span style="font-family: Garamond;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="font-size: 180%;"&gt;R F C&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;  &lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; We want to &lt;span style="color: rgb(255, 0, 0);"&gt;move a SAP table to&lt;/span&gt; an &lt;span style="color: rgb(255, 0, 0);"&gt;Access&lt;/span&gt; table using TABLE_EXPORT_TO_MSACCESS_RFC&lt;br /&gt;Importing parameters are&lt;br /&gt;DBNAME&lt;br /&gt;DEST&lt;br /&gt;FLG_APPEND&lt;br /&gt;FLG_POPUP&lt;br /&gt;LANGU&lt;br /&gt;The table has three columns:&lt;br /&gt;TABNAM&lt;br /&gt;MANDT&lt;br /&gt;SDATA&lt;br /&gt;We have no Exporting parameters.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Q.How shall we set the parameters?  &lt;/span&gt;&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Install the PS utilities, which are part of SAPGUI install CD. You may run report RIACCESS from SE38. Go to SALE -&gt; Communication -&gt; Define RFC Destination. Setup two RFC destinations PS_ACCESS_1 and PS_ACCESS_2 and will have to get them to point to wdpsastr.exe and wdpsatab.exe respectively. Then execute RIACCESS and choose PS_ACCESS_1 to generate access tables. Please note that Access only supports tables with up 255 fields. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; We want an &lt;span style="color: rgb(255, 0, 0);"&gt;RFC&lt;/span&gt; do the following  transactions - MB1A, MB1C,&gt;MB01 (&lt;span style="color: rgb(255, 0, 0);"&gt;goods  receipt/issue&lt;/span&gt;).&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Call the RFC INBOUND_IDOC_PROCESS with IDOC_CONTROL and IDOC_DATA. The structure in the field sdata in the IDOC_DATA are e1mbxyh and e1mbxyi. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr /&gt;  &lt;p style="color: rgb(153, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;&lt;span style="font-family: Garamond;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(153, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;&lt;span style="font-family: Garamond;"&gt;Transports&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; In a Dev instance, we want to &lt;span style="color: rgb(255, 0, 0);"&gt;transport&lt;/span&gt;  a modification to a &lt;span style="color: rgb(255, 0, 0);"&gt;layout set from one client to  another.&lt;/span&gt; What is the best way?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; use transaction SE71. Choose Utilities-&gt;Copy from Client. Layout sets need not be transported between clients , via transport requests DEVKxxxxxx. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; We need to &lt;span style="color: rgb(255, 0, 0);"&gt;keep track of the transports&lt;/span&gt;  that need to flow through to other systems (ie, DEV, TST, TRN, PRD etc). Is  there a way do this?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; SAPCRAFT enables you to control the CTS from DEV system. This keeps track of all transports at all stages and enables you to allocate Import, export and Authorization functions to specific user. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr /&gt;  &lt;p style="font-style: italic; color: rgb(153, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;&lt;span style="font-family: Garamond;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(153, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;&lt;span style="font-family: Garamond;"&gt;E D I / IDOC&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:1&lt;/b&gt; We created an EDI Vendor and created all required output  conditions. However &lt;span style="color: rgb(255, 0, 0);"&gt;no IDOC is generated&lt;/span&gt; when PO is  printed. Why?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Go to Header-&gt;output for the PO. The output type shall be '6'. The status shall be '1'. If the status is '0' check the timing. If the status is '2' , go to 'GOTO-&gt;Processing Log' and the explanation for non-generation of IDOC can be seen. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; How can we create / &lt;span style="color: rgb(255, 0, 0);"&gt;upload&lt;/span&gt; IDOC's &lt;span style="color: rgb(255, 0, 0);"&gt;from legacy&lt;/span&gt; system to SAP?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Third party tool Mercator may be used to convert Legacy files to Idoc format. Mercator provides an IDOC tree import facility, SAP provides the export facility. You can transfer the Idoc layouts from SAP to Mercator automatically and then map. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; We want to &lt;span style="color: rgb(255, 0, 0);"&gt;receive&lt;/span&gt; an outbound EDI &lt;span style="color: rgb(255, 0, 0);"&gt;855 IDOC only if E2EDP20&lt;/span&gt; -scheduling confirmation segment  &lt;span style="color: rgb(255, 0, 0);"&gt;is present&lt;/span&gt;. Else get an "error" status preventing  triggering the EDI subsystem.&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; User exit logic has to be added in  function IDOC_INPUT_ORDRSP.  &lt;/p&gt;&lt;p&gt;# Set up a test flag and set it off when the IDOC header is read.&lt;br /&gt;# Turn  the flag ON when the EDP20 segment is read.&lt;br /&gt;# Interrogate this flag when  the next segment after EDP20 in the same IDOC comes in. If it is on ,you have an  EDP20 coming in.&lt;br /&gt;# Issue an error status 51 with suitable message for whichever condition you don't want the IDOC to be processed, This will stop the IDOC from posting. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; Where ever PO is sent to the vendor via EDI, we want an &lt;span style="color: rgb(255, 0, 0);"&gt;acknowledgement of the PO by vendor&lt;/span&gt;. Which fields are  updated and what should be my procedure?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Execute Program:  IDOC_INPUT_ORDRSP&lt;br /&gt;Process code: ORDR&lt;br /&gt;Message type: ORDRSP&lt;br /&gt;IDOC:  ORDERS01&lt;br /&gt;The confirmation process allows the supplier to return an acknowledgment. Only Dates and quantities can be changed The information is stored in the PO and can be viewed via Item-&gt;Confirmation-&gt;Overview. The PO can be flagged as 'confirmation required' so that Pos without acknowledgement receipt can be monitored. Control keys and tolerances (days and quantities) have to be customized. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr /&gt;  &lt;p style="color: rgb(153, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;&lt;span style="font-family: Garamond;"&gt;A L E&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; Our &lt;span style="color: rgb(255, 0, 0);"&gt;IDOC remains in status 51&lt;/span&gt; ( not posted) while testing ALE setup by passing DEBMAS02 Idocs. The message 'Field KNA1-BRSCH is not an input field'. This is the Industry key. What are we missing?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;A&lt;/b&gt;: Go to IMG - menu path IMG-&gt;LogisticsGeneral-&gt; Logistics Basic Data: Business partners-&gt;Customers-&gt; Control-&gt;Define Account groups and field selection for customer.&lt;br /&gt;Select sold-to or ship-to. Select General Data. Select control and double click. Industry key is found here. Change the option to 'Optional Entry'.&lt;br /&gt;Check OSS 5599. You may have to  update view V_T078D also.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr /&gt;  &lt;p style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;Batch In-put/ Direct In-put&lt;/b&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="font-family: Garamond;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="font-size: 100%;"&gt;Q&lt;/span&gt;: &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;We are calling  transaction VL01 in &lt;span style="color: rgb(255, 0, 0);"&gt;batch input&lt;/span&gt; to create deliveries  using a program for delivery due list. How ever we are &lt;span style="color: rgb(255, 0, 0);"&gt;unable to create deliveries for transport stock orders&lt;/span&gt;.  Why?&lt;br /&gt;&lt;b&gt;&lt;span style="font-family: Garamond;"&gt;a: &lt;/span&gt;&lt;/b&gt;Batch-inputs can not be used to fill the "delivery due list" screen because it is not a dynpro. This is a standard SAP report. A SAP report (check with "System -&gt; Status") may be called using SUBMIT sentence with the appropriate options . It is preferred to call a report than create a Batch-input program. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; What are some &lt;span style="color: rgb(255, 0, 0);"&gt;sample Direct input data  transfer&lt;/span&gt; programs?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; In MM for Material Master data -  RMDATIND&lt;br /&gt;FI - for Accounting Documents - RFBIBL00&lt;br /&gt;PP - for Independent  requirements - RM06IN00&lt;br /&gt;CA - for Classification data - RCCLBI03  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr /&gt;  &lt;p style="font-style: italic; color: rgb(153, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-style: italic; color: rgb(153, 0, 0);"&gt;&lt;span style="font-size: 180%;"&gt;&lt;b&gt;Handling Tables&lt;/b&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; We specify the &lt;span style="color: rgb(255, 0, 0);"&gt;logical database&lt;/span&gt;. And we  want a field that is not present in any of the tables defaulted in logical  database. How can we want to add this &lt;span style="color: rgb(255, 0, 0);"&gt;additional field from  a different table&lt;/span&gt;?&lt;br /&gt;&lt;b&gt;A: &lt;/b&gt;. Presume you have a  &lt;/p&gt;&lt;pre&gt;logical database&lt;br /&gt;table 1&lt;br /&gt;table 2&lt;br /&gt;table 3&lt;br /&gt;&lt;br /&gt;Define the required field as additional field say fld of table 1, table 2 or   table 3&lt;br /&gt;and then in the code section define.&lt;br /&gt;&lt;br /&gt;Perform get_f1d(zxxxxxxx) using f1d.&lt;br /&gt;Form zxxxxxxx could be like;&lt;br /&gt;Form get_f1d using f.&lt;br /&gt;Select * from where 'conditions'&lt;/pre&gt;&lt;span style="font-family: Courier New;"&gt;&lt;span style=""&gt;f =  table4 - f1d.&lt;/span&gt;&lt;/span&gt;  &lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; We need to &lt;span style="color: rgb(255, 0, 0);"&gt;download an internal table&lt;/span&gt; to  the Presentation Server(local workstation). Whenever we run the program, the  same file has to be saved as a separate &lt;span style="color: rgb(255, 0, 0);"&gt;file in sequential  order&lt;/span&gt;. Ex: 0001.txt, 0002.txt etc. Where can we store the last file  number?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;A:&lt;/b&gt; SAP has a table TVARV for storing the variants.&lt;br /&gt;A  record may be created in TVARV for all the programs that require this kind of  incremental records.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;For &lt;span style="font-weight: bold;"&gt;Ex:&lt;/span&gt; the record could be &lt;u&gt;100Zmm10001&lt;/u&gt; &lt;u&gt;MM  sequence rec&lt;/u&gt; where first part consists of client code and the program being run. Client code is required because TVARV does not has a field for client code. The second part is the description indicating the purpose what the record is created. This entire string may be posted in the Name field (char - 30).&lt;br /&gt;The  Type field ( char- 1) may be populated with P or S (Parameter or Selection)&lt;br /&gt;Low field (char- 45) may be populated with '0001' when run first time and increment it by one in your program for downloading of the internal table. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;hr /&gt;  &lt;p&gt;&lt;a name="K"&gt;&lt;/a&gt;&lt;span style="color: rgb(204, 0, 0); font-size: 180%;"&gt;Others&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; How can we use &lt;span style="color: rgb(255, 0, 0);"&gt;CAD with SAP&lt;/span&gt; ?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Third party tools from Eigner + Partner provide interfaces to SAP. Another third party software - Fastlook Plus from Kamel Software enables you to view all of the Autocad formats. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; How can I access &lt;span style="color: rgb(255, 0, 0);"&gt;SAP through Internet&lt;/span&gt;?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; SAP has its own Internet transaction Server (ITS) . Other products include Haht, WebObjects, NetDynamics etc. Each product has its' own architecture.&lt;br /&gt;However to access the database, access paths SAP GUI or RFC  Channel have to be used.  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; How can we &lt;span style="color: rgb(255, 0, 0);"&gt;transport the standard text&lt;/span&gt;?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Refer note 3355 in OSS for a complete explanation. The SAPscript objects that should be transported must be written in a transport request.&lt;br /&gt;The entries are as follows:&lt;br /&gt;R3TR FORM NAME (NAME = Name of the layout  set)&lt;br /&gt;R3TR STYL NAME (NAME = Name of the style)&lt;br /&gt;R3TR TEXT  OBJECT,NAME,ID,L&lt;br /&gt;(OBJECT = Text object, NAME = Text name, ID = Text ID, L =  Text language)&lt;br /&gt;If you want to transport a number of texts, you can use report RSTXTRAN to insert the individual text keys into a correction. The transport request must be entered and released via the transport system. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; How to find &lt;span style="color: rgb(255, 0, 0);"&gt;what transactions&lt;/span&gt; a  particular &lt;span style="color: rgb(255, 0, 0);"&gt;user was running&lt;/span&gt; for a given period in the  past (Eg: from 1&lt;sup&gt;st&lt;/sup&gt; of a month )&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; You may use the  transaction - STAT.   &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: We want &lt;span style="color: rgb(255, 0, 0);"&gt;protect/lock a field&lt;/span&gt; so that  only selected people can change the value while others can only read. How to set  the authorizations?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Create an authorization object for change mode. Loop at screen in the user exit and set input to 0. Check the user based on sy-uname and the authorization. Decide whether input should be 0 or 1. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q:&lt;/b&gt; How to &lt;span style="color: rgb(255, 0, 0);"&gt;lock an user defined transaction&lt;/span&gt;  for some time during which no user can access the same?&lt;br /&gt;&lt;b&gt;A:&lt;/b&gt; Use transaction SM01. Scroll through the transactions and check against the transaction to be locked. And after the maintenance is over, go back to SM01 and uncheck the same to unlock.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Answers to some ABAP Interview Questions ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/answers-to-some-abap-interview.html</link><category>ABAP Interview Questions</category><category>Answers to INterview ques</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:10:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-6136278714099161664</guid><description>&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Questions which I have faced in an  interview:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  1) What is runtime analysis?  Have you used this?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  2) What is meant by  performance analysis? Have done anything to improve the&lt;br /&gt;performance?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  3) How to transfer the objects? Have to transferred  any objects?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  4) How did you test the  developed objects?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  5) What is the  difference between SAP Memory and ABAP Memory?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  6) In order to upload Purchase order details, how you handle  multiple values for&lt;br /&gt;a single field? &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;       Eg: Item field may contain no. of values for a record&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  7) What is the procedure you followed to upload the  data?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  8) How did you handle errors in  Call Transaction?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  9) Among the Call  Transaction and Session Method, which is faster?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;10) What are the difference between Interactive and Drill Down  Reports?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;11) How to pass the variables to  forms?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;12) How to create a link between  modified form and modified print program?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;13) What is the table, which contain the details of all the name  of the programs&lt;br /&gt;and forms?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;14) How did you  test the form u developed? How did you taken print?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;15) What are Standard Texts?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;16) What is the difference between Clustered Tables and Pooled  Tables?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;17) What is pf-status?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;18) Among "Move" and "Move Corresponding", which is  efficient one?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;19) What are the output  type and Tcodes?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;20) Where we use Chain  and Endchain?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;21) Do you use select  statement in loop endloop, how will be the performance? To&lt;br /&gt;improve the  performance? &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;22) In select-options, how  to get the default values as current month first date and last date by  default? &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;       Eg: 1/12/2004 and  31/12/2004&lt;/span&gt;&lt;/b&gt;  &lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Go through these answers:&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1) What is runtime analysis? Have you used this?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;2) What is meant by performance analysis? Have  done&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3) How to transfer the objects? Have you transferred any  objects?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;4) How did you test the developed objects?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I was testing a developed object. There are two types of  testing&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;- Negative testing &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;- Positive testing&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;In negative testing we will give negative data in input  and we check any errors occurs.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;In positive testing we will give positive data in input  for checking errors.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;8) How did you handle errors in Call Transaction?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Below messages are go to internal table. when you run the  call transaction.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;- Message type&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;- Message id&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;- Message  Number&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;- Variable1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;- Variable2 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;- Variable3&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;9) Among the Call Transaction and Session Method, which  is faster?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Call transaction&lt;/span&gt; is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct.&lt;/span&gt;  &lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;10) What are the difference between Interactive  and Drill Down Reports?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Drill down report is nothing but interactive  report...drilldown means above paragraph only.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;11) How to pass the variables to forms?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;12) What is the table, which contain the details of all  the name of the programs and forms?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary).&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Which contain the details of all the name of the programs  and forms? (I don't know).&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;13) How did you test the form u developed? How did you  taken print?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;14) What are Standard Texts?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;16) What is the difference between Clustered Tables and  Pooled Tables?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined. &lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Cluster table are logical tables that must be assigned to  a table cluster when they are defined. &lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Cluster table can be used to store control data they can  also used to store temporary data or text such as documentation.&lt;/span&gt;  &lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;17) What is pf-status?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;18) Among "Move" and "Move Corresponding", which is  efficient one?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want).&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;19) What are the output type and Tcodes?&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;20) Where we use Chain and End chain? &lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;21) Do you use select statement in loop end loop, how  will be the performance? To improve the performance? &lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;22) In select-options, how to get the default values as  current month first date and last date by default? &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;      Eg: 1/12/2004 and 31/12/2004&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;Q: How to compare the 2 tables between the 2 systems?&lt;/b&gt;&lt;br /&gt;Ans: Which  is using the transaction code is 'oy19'.  &lt;/p&gt;&lt;b&gt;Q. What is the use of pick statement do?&lt;/b&gt;&lt;br /&gt;Ans: The pick statement  is used to it will capture the user action.&lt;br /&gt;    ex: if sy-ucomm = 'x'.&lt;br /&gt;   This statement is used to capture the user action.     &lt;span class="post-author vcard"&gt;&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>General - Number Range Generation ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/general-number-range-generation-abap.html</link><category>ABAP Interview Questions</category><category>Application Related</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:09:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-5345799023093545664</guid><description>&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-size: 180%;"&gt;General - Number Range  Generation&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;pre&gt;* In the 4.6x environment, SAP have included a number range generation&lt;br /&gt;* program just like those used for Purchase Order, Sales Order etc.&lt;br /&gt;*&lt;br /&gt;* This SAP number range generation is an include program.&lt;br /&gt;*&lt;br /&gt;* INCLUDE ZRANGENO.&lt;br /&gt;*&lt;br /&gt;* Always have to be included in the main program data declaration&lt;br /&gt;*&lt;br /&gt;* data: wnorange like INRI-NRRANGENR,            "number range,&lt;br /&gt;*       wsubobj  like inri-SUBOBJECT,            "sub object&lt;br /&gt;*       wdocno(12).&lt;br /&gt;*&lt;br /&gt;* Steps :-&lt;br /&gt;* 1. Number range Sub Object must be maintain in table ZSGRP&lt;br /&gt;*    You can used transaction SE16 to create a table entries.&lt;br /&gt;* 2. Maintain number range and intervals in transaction code SNUM&lt;br /&gt;*&lt;br /&gt;* Written by : SAP Basis, ABAP Programming and Other IMG Stuff&lt;br /&gt;*             &lt;br /&gt;*&lt;br /&gt;&lt;br /&gt;call function 'NUMBER_RANGE_ENQUEUE'&lt;br /&gt;      exporting&lt;br /&gt;            object              = 'ZOWNNO'   "Create with SNUM&lt;br /&gt;      exceptions&lt;br /&gt;            foreign_lock        = 1&lt;br /&gt;            object_not_found    = 2&lt;br /&gt;            system_failure      = 3&lt;br /&gt;            others              = 4.&lt;br /&gt;if sy-subrc ne 0.&lt;br /&gt;*   message e086 with 'Lock error' sy-subrc.&lt;br /&gt;endif.&lt;br /&gt;&lt;br /&gt;call function 'NUMBER_GET_NEXT'&lt;br /&gt;      exporting&lt;br /&gt;            nr_range_nr         = wnorange&lt;br /&gt;            object              = 'ZOWNNO'&lt;br /&gt;            subobject           = wsubobj&lt;br /&gt;      importing&lt;br /&gt;            number                  = wdocno  "Number generated by SAP&lt;br /&gt;      exceptions&lt;br /&gt;            interval_not_found      = 1&lt;br /&gt;            number_range_not_intern = 2&lt;br /&gt;            object_not_found        = 3&lt;br /&gt;            quantity_is_0           = 4&lt;br /&gt;            quantity_is_not_1       = 5&lt;br /&gt;            internal_overflow       = 6&lt;br /&gt;            others                  = 7.&lt;br /&gt;if sy-subrc ne 0.&lt;br /&gt;*   message e086 with 'Number Range' sy-subrc.&lt;br /&gt;endif.&lt;br /&gt;&lt;br /&gt;call function 'NUMBER_RANGE_DEQUEUE'&lt;br /&gt; exporting&lt;br /&gt;   object                 = 'ZOWNNO'.&lt;br /&gt;&lt;br /&gt;if sy-subrc &lt;&gt; 0.&lt;br /&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;br /&gt;          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;br /&gt;endif.&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Extract the smtp email address ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/extract-smtp-email-address-abap.html</link><category>ABAP Interview Questions</category><category>Application Related</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:08:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-4541029677991184900</guid><description>&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-size: 180%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/p&gt;&lt;pre&gt;*&lt;br /&gt;* Extract the smtp email address from the User Profile SU01 or&lt;br /&gt;* Vendor Master LFA1&lt;br /&gt;*&lt;br /&gt;* Written by : SAP Basis, ABAP Programming and Other IMG Stuff&lt;br /&gt;*           &lt;br /&gt;*&lt;/pre&gt;&lt;pre&gt;REPORT ZSMTPADR.&lt;br /&gt;&lt;br /&gt;TABLES: USR21,&lt;br /&gt;     LFA1,&lt;br /&gt;     ADR6.&lt;br /&gt;&lt;br /&gt;DATA: BEGIN OF WA,&lt;br /&gt;      BNAME      TYPE USR21-BNAME,&lt;br /&gt;      LIFNR      TYPE LFA1-LIFNR,&lt;br /&gt;      ADRNR      TYPE LFA1-ADRNR,&lt;br /&gt;      PERSNUMBER TYPE ADR6-PERSNUMBER,&lt;br /&gt;      ADDRNUMBER TYPE ADR6-ADDRNUMBER,&lt;br /&gt;      SMTP_ADDR  TYPE ADR6-SMTP_ADDR,&lt;br /&gt;   END OF WA,&lt;br /&gt;   ITAB LIKE SORTED TABLE OF WA&lt;br /&gt;              WITH NON-UNIQUE KEY BNAME LIFNR.&lt;br /&gt;&lt;br /&gt;SELECT-OPTIONS: UNAME FOR USR21-BNAME.&lt;br /&gt;SELECT-OPTIONS: LIFNR FOR LFA1-LIFNR.&lt;br /&gt;&lt;br /&gt;IF UNAME-LOW &lt;&gt; SPACE.&lt;br /&gt;SELECT  U~BNAME U~PERSNUMBER U~ADDRNUMBER&lt;br /&gt;        A~SMTP_ADDR&lt;br /&gt;    INTO CORRESPONDING FIELDS OF TABLE ITAB&lt;br /&gt;    FROM ( USR21 AS U&lt;br /&gt;       INNER JOIN ADR6 AS A ON A~PERSNUMBER = U~PERSNUMBER&lt;br /&gt;                           AND A~ADDRNUMBER = U~ADDRNUMBER )&lt;br /&gt;    WHERE U~BNAME IN UNAME.&lt;br /&gt;&lt;br /&gt;LOOP AT ITAB INTO WA.&lt;br /&gt;   WRITE:/ WA-BNAME, WA-SMTP_ADDR(50).&lt;br /&gt;ENDLOOP.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;IF LIFNR-LOW &lt;&gt; SPACE.&lt;br /&gt;SELECT  L~LIFNR L~ADRNR&lt;br /&gt;        A~SMTP_ADDR&lt;br /&gt;    INTO CORRESPONDING FIELDS OF TABLE ITAB&lt;br /&gt;    FROM ( LFA1 AS L&lt;br /&gt;       INNER JOIN ADR6 AS A ON A~ADDRNUMBER = L~ADRNR )&lt;br /&gt;    WHERE L~LIFNR IN LIFNR.&lt;br /&gt;&lt;br /&gt; LOOP AT ITAB INTO WA.&lt;br /&gt;    WRITE:/ WA-LIFNR, WA-SMTP_ADDR(50).&lt;br /&gt; ENDLOOP.&lt;br /&gt;ENDIF.&lt;/pre&gt;&lt;pre&gt;*-- End of Program&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>How to Get the Version Value When I Print the PO ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/how-to-get-version-value-when-i-print.html</link><category>ABAP Interview Questions</category><category>Application Related</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:07:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-6884042390265771670</guid><description>&lt;b&gt;Need to display the Version of PO in the printout. But the table ekko or  erev doesn't contain the version value at runtime. &lt;/b&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;The following example code will get the version no. in PO  :-&lt;/span&gt; &lt;/p&gt;&lt;pre&gt;referesh : erevitem.&lt;br /&gt;clear : erevlines.&lt;br /&gt;&lt;br /&gt;SELECT SINGLE * FROM cdpos&lt;br /&gt;WHERE objectid = ebeln AND&lt;br /&gt;     value_old = 'G' AND&lt;br /&gt;     value_new = 'B'.&lt;br /&gt;&lt;br /&gt;IF sy-subrc EQ 0.&lt;br /&gt;&lt;br /&gt; erevlines = erevlines + 1.&lt;br /&gt;&lt;br /&gt;ELSE.&lt;br /&gt;&lt;br /&gt; erevlines = 0.&lt;br /&gt;&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;SELECT * FROM nast&lt;br /&gt;INTO CORRESPONDING FIELDS OF TABLE itab_nast&lt;br /&gt;WHERE objky = ebeln AND&lt;br /&gt;     vstat NE '0'.&lt;br /&gt;&lt;br /&gt;CLEAR itab_nast.&lt;br /&gt;SORT itab_nast DESCENDING BY erdat eruhr.&lt;br /&gt;&lt;br /&gt;READ TABLE itab_nast INDEX 1.&lt;br /&gt;&lt;br /&gt;IF sy-subrc EQ 0.&lt;br /&gt; IF itab_nast-vstat NE '0'.&lt;br /&gt;&lt;br /&gt;   LOOP AT l_doc-xekpo INTO tekpo.&lt;br /&gt;&lt;br /&gt;     CALL FUNCTION 'ME_CHANGEDOC_SELECT'&lt;br /&gt;       EXPORTING&lt;br /&gt;         i_document_category      = pekko-bstyp&lt;br /&gt;         i_document_number        = ebeln&lt;br /&gt;         i_document_item          = tekpo-ebelp&lt;br /&gt;*  I_DATE_START              =&lt;br /&gt;*  I_TIME_START              =&lt;br /&gt;*  I_DATE_END                =&lt;br /&gt;*  I_TIME_END                =&lt;br /&gt;*  I_USERNAME                =&lt;br /&gt;*  I_ALL_ITEMS              =&lt;br /&gt;*  I_GRIDHANDLE              =&lt;br /&gt;*  I_REVISIONLIST            =&lt;br /&gt;*  I_ARCHIVE_HANDLE          =&lt;br /&gt;     IMPORTING&lt;br /&gt;*  E_LINES                  =&lt;br /&gt;       e_outtab                  = imecdgrid.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     it_mecdgrid[] = imecdgrid[].&lt;br /&gt;&lt;br /&gt;     LOOP AT it_mecdgrid INTO wa_mecdgrid WHERE tabkey+13(5) = tekpo-ebelp.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       IF wa_mecdgrid-fname = 'MENGE'.&lt;br /&gt;&lt;br /&gt;         itab_po_change-matnr = tekpo-matnr.&lt;br /&gt;         itab_po_change-text = '***** Quantity Change ******'.&lt;br /&gt;         erevlines = erevlines + 1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         APPEND itab_po_change.&lt;br /&gt;&lt;br /&gt;       ENDIF.&lt;br /&gt;&lt;br /&gt;       IF wa_mecdgrid-fname = 'NETWR'.&lt;br /&gt;&lt;br /&gt;         itab_po_change-matnr = tekpo-matnr.&lt;br /&gt;         itab_po_change-text = '***** Price Change ******'.&lt;br /&gt;         erevlines = erevlines + 1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         APPEND itab_po_change.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       ENDIF.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     ENDLOOP.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ENDLOOP.&lt;br /&gt;&lt;br /&gt;   SORT itab_po_change BY matnr text.&lt;br /&gt;&lt;br /&gt;   LOOP AT itab_po_change.&lt;br /&gt;&lt;br /&gt;     DELETE ADJACENT DUPLICATES FROM itab_po_change COMPARING matnr text.&lt;br /&gt;&lt;br /&gt;   ENDLOOP.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; ENDIF.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SELECT * FROM erev INTO CORRESPONDING FIELDS OF TABLE erev WHERE edokn = pekko-ebeln.&lt;br /&gt;&lt;br /&gt;SORT erev BY revno DESCENDING.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;LOOP AT erev.&lt;br /&gt; MOVE-CORRESPONDING erev TO erevitem.&lt;br /&gt; APPEND erevitem.&lt;br /&gt;ENDLOOP.&lt;br /&gt;&lt;br /&gt;DESCRIBE TABLE erevitem LINES erevlines.&lt;br /&gt;IF erevlines = 1.&lt;br /&gt; CLEAR erevitem[].&lt;br /&gt; erevlines = 0.&lt;br /&gt;ENDIF.&lt;br /&gt;*&lt;br /&gt;**  erevlines = erevlines - 1.&lt;br /&gt;*&lt;br /&gt;DELETE erevitem WHERE revno = 0.&lt;br /&gt;CLEAR erevlines.&lt;br /&gt;DESCRIBE TABLE erevitem LINES erevlines.&lt;br /&gt;&lt;br /&gt;call function fm_name&lt;br /&gt;exporting&lt;br /&gt;erevlines  = erevlines&lt;br /&gt;&lt;br /&gt;tables&lt;br /&gt;erev      = erevitem&lt;br /&gt;endform.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;IN SSF :&lt;br /&gt;&lt;br /&gt;loop at erev into wa_erev where erevlines &gt; '0'.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;wa_erevlines-revno(.0)  for version no.&lt;br /&gt;wa_erevlines-txz01 for version text&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Attach T-Codes to Area Menu ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/attach-t-codes-to-area-menu-abap.html</link><category>ABAP Interview Questions</category><category>Attach T-Codes to Area Menu</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:06:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-5502629271022096912</guid><description>&lt;span class="text" style="font-size: 85%;"&gt;&lt;span style="line-height: 15px;"&gt;&lt;span style="font-family: verdana; font-size: 100%;"&gt;We know how to create transaction codes. We can use the transaction code SE93 ( Maintain Transaction).&lt;br /&gt;&lt;br /&gt;Module pool programs/On-line programs must be attached to a transaction code to execute them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Report programs (executable programs) can be executed directly without attaching them to the transaction codes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But in real time, we do create custom transaction codes both for module pool programs/On-line programs and report programs. Module pool programs and on-line programs are one and the same, where we do create screens using screen painter (&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;SE51&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In real time &lt;span style="color: rgb(153, 0, 0);"&gt;business scenarios&lt;/span&gt;, after creating transaction codes, we need to attach them to Area Menu. End users can easily access the transaction codes if they are attached to Area Menu. Area Menu is nothing but starting screen where in the left hand side we find menu.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The transaction code to maintain area menu is &lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;SE43&lt;/span&gt;. Using  &lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;SE43&lt;/span&gt;, we can attach our custom transaction codes to the area menu.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please explore how to create nodes and sub nodes under menu using &lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;SE43&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>What is the use of Authorization Checks? ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/what-is-use-of-authorization-checks.html</link><category>ABAP Interview Questions</category><category>Authorization Checks</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:06:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-5494396556283123386</guid><description>&lt;p&gt;&lt;span class="text" style="font-size: 100%;"&gt;&lt;span style="line-height: 15px;"&gt;To ensure that a user has the appropriate authorizations when he or she&lt;br /&gt;performs an action, users are subject to authorization checks.&lt;br /&gt;&lt;br /&gt;The following actions are subject to authorization checks that are performed&lt;br /&gt;before the start of a program or table maintenance and which the SAP&lt;br /&gt;applications cannot avoid:&lt;br /&gt;&lt;br /&gt;· Starting SAP transactions (authorization object S_TCODE)&lt;br /&gt;&lt;br /&gt;· starting reports (authorization object S_PROGRAM)&lt;br /&gt;&lt;br /&gt;· Calling RFC function modules (authorization object S_RFC)&lt;br /&gt;&lt;br /&gt;· Table maintenance with generic tools (S_TABU_DIS)&lt;br /&gt;&lt;br /&gt;In coming posts, we will see how to add authorization checks for Reports and&lt;br /&gt;transactions.&lt;br /&gt;&lt;br /&gt;Today we will discuss about table authorization checks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 0, 0);"&gt;Purpose of assigning authorization groups for tables:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can assign authorization groups to tables to avoid users accessing tables&lt;br /&gt;using general access tools (such as transaction SE16). A user requires not only&lt;br /&gt;authorization to execute the tool, but must also have authorization to be permitted&lt;br /&gt;to access tables with the relevant group assignments. For this case, we deliver&lt;br /&gt;tables with predefined assignments to authorization groups. The assignments&lt;br /&gt;are defined in table TDDAT; the checked authorization object is S_TABU_DIS.&lt;br /&gt;&lt;br /&gt;Now we will see how to assign/create authorization group for a table:&lt;br /&gt;Go to SE54, Give the table name and choose authorization group and then click&lt;br /&gt;on create/change. You can&lt;br /&gt;create an authorization group.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 102, 0);"&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;You can assign a table to authorization group Z001. (Use transaction SM30 for&lt;br /&gt;table TDDAT) A user that&lt;br /&gt;wants to access this table must have authorization object S_TABU_DIS in his or&lt;br /&gt;her profile with the value&lt;br /&gt;Z001 in the field DICBERCLS (authorization group for ABAP Dictionary objects).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 102, 0); font-weight: bold;"&gt;Authorization Check:&lt;/span&gt;&lt;br /&gt;In the earlier post, we came to know the importance of authorization check in real&lt;br /&gt;time environment. We know how to check authorization for table maintenance.&lt;br /&gt;(Please refer earlier post).&lt;br /&gt;Now we will see how to check authorization for Reports, Transactions, RFC&lt;br /&gt;function modules.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold;"&gt;following &lt;/span&gt;actions are subject to authorization checks that are performed&lt;br /&gt;before the start of a program or table maintenance and which the SAP&lt;br /&gt;applications cannot avoid:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;span class="text"&gt;&lt;span style="line-height: 15px;"&gt;&lt;span style="font-size: 100%;"&gt; Starting SAP transactions&lt;/span&gt; &lt;span style="font-size: 100%;"&gt;(authorization object S_TCODE)&lt;br /&gt; starting reports (authorization object S_PROGRAM)&lt;br /&gt; Calling RFC function modules (authorization object S_RFC)&lt;br /&gt; Table maintenance with generic tools (S_TABU_DIS)&lt;br /&gt;&lt;br /&gt;The authorization objects S_TCODE, S_PROGRAM, S_RFC, and S_TABU_DIS&lt;br /&gt;are standard SAP provided.&lt;br /&gt;Creating a new authorization object is not in the scope of ABAP developer. It will&lt;br /&gt;be taken care by SAP BASIS team.&lt;br /&gt;&lt;br /&gt;To add authorization check to your program, you need to add the following code in&lt;br /&gt;your report. Imagine that you have created a transaction code for your report, then&lt;br /&gt;you should use the authorization object S_TCODE to check the authorization.&lt;br /&gt;&lt;br /&gt;You can place the code in initialization event.&lt;br /&gt;&lt;br /&gt;*Initialization&lt;br /&gt;INITIALIZATION.&lt;br /&gt;AUTHORITY-CHECK OBJECT 'S_TCODE'&lt;br /&gt;ID 'TCD' FIELD 'ZEXAMPLE'.&lt;br /&gt;&lt;br /&gt;IF sy-subrc &lt;&gt; 0. "Not Authorized&lt;br /&gt;MESSAGE e003(ZZ) WITH 'TCD' 'ZEXAMPLE'.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;Here zexample is the transaction code created for the report.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Difference Between BADI and User Exits ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/difference-between-badi-and-user-exits.html</link><category>ABAP Interview Questions</category><category>BADI and USER EXITS</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:05:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-3501042310201952769</guid><description>&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. &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. &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 &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;  i) BADI's can be used any  number of times, where as USER-EXITS can be used only one time.&lt;br /&gt;     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;  ii) BADI's are oops based.  &lt;/p&gt;&lt;p&gt;2) About 'BDCMSGCOLL' it is a structure.  Used for finding error records.&lt;br /&gt;3) Full form of BADI 'Business addins'.&lt;br /&gt;3) System land scape will be  depends on your project&lt;br /&gt;  Ex:- 'Development server'--&gt;'Quality  server'---&gt; 'Production server'......  &lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>BAPI Conventions ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/bapi-conventions-abap-interview.html</link><category>ABAP Interview Questions</category><category>BAPI-1</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:04:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-778538079410005441</guid><description>&lt;p&gt;&lt;span style="font-size: 180%;"&gt;&lt;b style="color: rgb(0, 102, 0); font-weight: bold;"&gt;BAPI Conventions&lt;/b&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style="color: rgb(0, 0, 153);"&gt;&lt;a name="Methods"&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Methods&lt;/span&gt;&lt;/h2&gt; &lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;If the BAPI to be implemented is a standardized BAPI, use the generic names,  for example, GetList, GetDetail.  &lt;/li&gt;&lt;li&gt;The method name must be in English (maximum 30 characters).  &lt;/li&gt;&lt;li&gt;The individual components of a BAPI name are separated by the use of upper  and lower case.Example: GetList&lt;br /&gt;Underscores ("_") are not allowed in BAPI  names.  &lt;/li&gt;&lt;li&gt;Each BAPI has a return parameter that is either an export parameter or an  export table.  &lt;/li&gt;&lt;li&gt;So that customers can enhance BAPIs, each BAPI must have an ExtensionIn and  an ExtensionOut parameter. &lt;/li&gt;&lt;/ul&gt; &lt;h2 style="color: rgb(0, 0, 153);"&gt;&lt;a name="Parameters"&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Parameters&lt;/span&gt;&lt;/h2&gt; &lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;If standardized parameters are used, you have to use the names specified for  standardized parameters.  &lt;/li&gt;&lt;li&gt;BAPI parameter names should be as meaningful as possible. Poorly chosen names include abbreviations and technical names (e.g. "flag", table names, etc.).&lt;br /&gt;The parameter and field names must be in English with a maximum of 30  characters.  &lt;/li&gt;&lt;li&gt;The components of a parameter name in the BOR are separated by upper and lower case letters to make them easier to read. Example: CompanyCodeDetail &lt;/li&gt;&lt;li&gt;Values that belong to each other semantically should be grouped together in one structured parameter, instead of using several scalar parameters. &lt;/li&gt;&lt;li&gt;For ISO-relevant fields (country, language, unit of measure, currency),  additional fields for ISO codes are provided.  &lt;/li&gt;&lt;li&gt;Unit of measure fields must accompany all quantity fields and currency  identifiers must accompany currency amount fields. &lt;/li&gt;&lt;/ul&gt; &lt;h2 style="color: rgb(0, 0, 153);"&gt;&lt;a name="Standardized BAPIs"&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Standardized BAPIs&lt;/span&gt;&lt;/h2&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI. &lt;/span&gt;&lt;p style="color: rgb(0, 0, 153);"&gt;The following standardized BAPIs are provided:  &lt;/p&gt;&lt;h4 style="color: rgb(255, 102, 0);"&gt;Reading instances of SAP business objects&lt;/h4&gt;&lt;br /&gt;&lt;table style="color: rgb(0, 0, 153);" border="0" cellpadding="5"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt;&lt;tbody&gt;&lt;/tbody&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;GetList ( )&lt;/b&gt;&lt;/td&gt; &lt;td&gt;With the BAPI GetList you can select a range of object key values, for  example, company codes and material numbers.&lt;br /&gt;The BAPI GetList() is a class  method.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;GetDetail()&lt;/b&gt;&lt;/td&gt; &lt;td&gt;With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h4 style="color: rgb(255, 102, 0);"&gt;BAPIs that can create, change or delete instances of a business object  type&lt;/h4&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database. &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;table style="color: rgb(0, 0, 153);" border="0" cellpadding="5"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt;&lt;tbody&gt;&lt;/tbody&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Create( ) and &lt;/b&gt;&lt;br /&gt;&lt;b&gt;CreateFromData( )&lt;/b&gt;&lt;/td&gt; &lt;td&gt;The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Change( )&lt;/b&gt;&lt;/td&gt; &lt;td&gt;The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method. &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Delete( ) and Undelete( )&lt;/b&gt;&lt;/td&gt; &lt;td&gt;The BAPI Delete() deletes an instance of an SAP business object type from  the database or sets a deletion flag.&lt;br /&gt;The BAPI Undelete() removes a deletion  flag. These BAPIs are instance methods.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Cancel ( )&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method. &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;b&gt;Add&lt;subobject&gt; ( ) and Remove&lt;subobject&gt; ( )&lt;/subobject&gt;&lt;/subobject&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;The BAPI Add&lt;subobject&gt; adds a subobject to an existing object  instance and the BAPI and Remove&lt;subobject&gt; removes a subobject from an  object instance. These BAPIs are instance  methods. &lt;/subobject&gt;&lt;/subobject&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &lt;/span&gt;&lt;h4 style="color: rgb(255, 102, 0);"&gt;BAPIs for Mass Data Processing&lt;/h4&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;The BAPIs listed above for creating and changing data can also be used for mass processing. For more information see BAPIs for Mass Data Transfer [Extern] &lt;/span&gt;&lt;h4 style="color: rgb(255, 102, 0);"&gt;BAPIs for Replicating Business Object Instances&lt;/h4&gt;&lt;br /&gt;&lt;table style="color: rgb(0, 0, 153);" border="0" cellpadding="5"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt;&lt;tbody&gt;&lt;/tbody&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Replicate( ) and SaveReplica( )&lt;/b&gt;&lt;/td&gt; &lt;td&gt;The BAPIs Replicate() and SaveReplica() are implemented as methods of replicable business object types. They enable specific instances of an object type to be copied to one or more different systems. These BAPIs are used mainly to transfer data between distributed systems within the context of Application Link Enabling (ALE). These BAPIs are class methods.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;h4 style="color: rgb(0, 0, 153);"&gt;Other Less Used Standardized BAPIs&lt;/h4&gt; &lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;Programming GetStatus() BAPIs [Extern]  &lt;/li&gt;&lt;li&gt;Programming ExistenceCheck() BAPIs [Extern] &lt;/li&gt;&lt;/ul&gt; &lt;h2 style="color: rgb(0, 0, 153);"&gt;&lt;a name="Standardized Parameters"&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Standardized Parameters&lt;/span&gt;&lt;/h2&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;There are some parameters that can be created for various BAPIs because they contain the same or the equivalent data in all BAPIs. They should be implemented the same in all BAPIs. &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;table style="color: rgb(0, 0, 153);" border="0" cellpadding="5"&gt; &lt;caption&gt;&lt;br /&gt;&lt;/caption&gt;&lt;tbody&gt;&lt;/tbody&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Address parameters&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Specific reference structures are defined for address parameters in BAPIs. You should copy these structures to use in your BAPI, especially if the underlying object type uses the central address management (CAM). &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Change Parameters&lt;/b&gt;&lt;/td&gt; &lt;td&gt;In BAPIs that cause database changes (for example, Change() and Create() BAPIs) you must be able to distinguish between parameter fields that contain modified values and parameter fields that have not been modified. This distinction is made through the use of standardized parameters. &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Extension parameters&lt;/b&gt;&lt;/td&gt; &lt;td&gt;The parameters ExtensionIn and ExtensionOut provides customers with a mechanism that enables BAPIs to be enhanced without modifications. &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Return Parameters&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Each BAPI must have an export return parameter for returning messages to the calling application. To provide application programmers with a consistent error handling process for BAPI calls, all return parameters must be implemented in the same, standardized way.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Selection Parameters&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Standardized selection parameters are used in BAPIs that can be used to search for specific instances of a business object type (e.g. in GetList() ). These parameters enable the BAPI caller to specify the relevant selection criteria. &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top"&gt;&lt;b&gt;Test Run Parameters&lt;/b&gt;&lt;/td&gt; &lt;td&gt;The parameter TestRun is used in write BAPIs (Create() and Change() ), to check the entries for the object instance in the database before actually creating the object instance. The creation of the object instance is only simulated and data is not updated. &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;b&gt;Text Transfer Parameters&lt;/b&gt;&lt;/td&gt; &lt;td&gt;To transfer BAPI documentation texts (e.g. the documentation of a business object type), you have to create standardized text transfer parameters.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &lt;/span&gt;&lt;h2 style="color: rgb(0, 0, 153);"&gt;&lt;a name="Important things to remember.."&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 102, 0); font-size: 130%;"&gt;Important things  to remember..&lt;/span&gt;&lt;/h2&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;It is important to follow the guidelines below when  develop9ng BAPIs:  &lt;/span&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;BAPIs must not contain CALL TRANSACTIO or SUBMIT REPORT  &lt;/li&gt;&lt;li&gt;BAPIs must not invoke a COMMIT WORK. instead use the BAPI TransactionCommit to execute the commit after the BAPI has executed. &lt;/li&gt;&lt;li&gt;BAPI structures must not use includes.  &lt;/li&gt;&lt;li&gt;There should be no functional dependecies between two BAPIs  &lt;/li&gt;&lt;li&gt;BAPIs must perform there own authorization check  &lt;/li&gt;&lt;li&gt;BAPIs should not use dialogs  &lt;/li&gt;&lt;li&gt;BAPIs must not cause the program to abort or terminate. re4levant messages  must be communicated through the return parameter. &lt;/li&gt;&lt;/ul&gt; &lt;h2 style="color: rgb(0, 0, 153);"&gt;&lt;a name="BAPI/ALE Integration"&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 102, 0); font-size: 130%;"&gt;BAPI/ALE  Integration&lt;/span&gt;&lt;/h2&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;When you use the BAPIs for asynchronous messagning, the application in the sendig systen calls the generated ALE IDoc interface isntead of the BAPI. &lt;/span&gt;&lt;p style="color: rgb(0, 0, 153);"&gt;Asynchronous BAPIs use the ALE interface this way:  &lt;/p&gt;&lt;ul style="color: rgb(0, 0, 153);"&gt;&lt;li&gt;Creates an IDOC from the BAPI data  &lt;/li&gt;&lt;li&gt;Sends the IDOC to the target system  &lt;/li&gt;&lt;li&gt;Receives the IDOC in trhe target system, crreates the BAPI data from the  IDoc and calls the BAPI &lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;An ALE interface for a BAPi is created in  transaction &lt;/span&gt;&lt;i style="color: rgb(0, 0, 153);"&gt;BDBG&lt;/i&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;.&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>BDC ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/bdc-abap-interview-questions.html</link><category>ABAP Interview Questions</category><category>BDC</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Sat, 26 Apr 2008 22:02:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-602001670726999405</guid><description>&lt;p align="justify"&gt;1.       What is full form of BDC Session?&lt;/p&gt; &lt;p align="justify"&gt;Batch Data Communication Session. &lt;/p&gt; &lt;p align="justify"&gt;2.       What are the steps in a BDC session?&lt;/p&gt; &lt;p align="justify"&gt;The first step in a BDC session is to identify the screens of the transaction that the program will process. Next step is to write a program to build the BDC table that will be used to submit the data to SAP. The final step is to submit the BDC table to the system in the batch mode or as a single transaction by the CALL TRANSACTION command. &lt;/p&gt; &lt;p align="justify"&gt;3.       How do you find the information on the current  screen?&lt;/p&gt; &lt;p align="justify"&gt;The information on the current screen can be found by SYSTEM à  STATUS command from any menu. &lt;/p&gt; &lt;p align="justify"&gt;4.       How do you save data in BDC tables?&lt;/p&gt; &lt;p align="justify"&gt;The data in BDC tables is saved by using the field name  ‘BDC_OKCODE’ and field value of ‘/11’. &lt;/p&gt; &lt;p align="justify"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="justify"&gt;5.       What is the last entry in all BDC tables?&lt;/p&gt; &lt;p align="justify"&gt;In all BDC tables the last entry is to save the data by using  the field name BDC_OKCODE and a field value of ‘/11’. &lt;/p&gt; &lt;p align="justify"&gt;6.       What is a multiple line field?&lt;/p&gt; &lt;p align="justify"&gt;A multiple line field is a special kind of field which allows  the user to enter multiple lines of data into it. &lt;/p&gt; &lt;p align="justify"&gt;7.       How do you populate data into a multiple line  field?&lt;/p&gt; &lt;p align="justify"&gt;To populate data into a multiple line field, an index is added to the field name to indicate which line is to be populated by the BDC session (Line index). &lt;/p&gt; &lt;p align="justify"&gt;8.       Write the BDC table structure.&lt;/p&gt; &lt;p align="justify"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="justify"&gt;BDC table structure &lt;/p&gt;  &lt;table style="border: medium none ; margin-left: -0.05in; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 17.25pt;"&gt;   &lt;td style="border: 0.5pt solid windowtext; padding: 0in 5.4pt; width: 81.75pt; height: 17.25pt;" valign="top" width="109"&gt;   &lt;p style="margin-left: 9pt;"&gt;FIELD&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 0.5pt 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 1.75in; height: 17.25pt;" valign="top" width="168"&gt;   &lt;p style="margin-left: 33.6pt;"&gt;TYPE&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 0.5pt 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 17.25pt;" valign="top" width="263"&gt;   &lt;p style="margin-left: 31.35pt;"&gt;DESCRIPTION&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 17.5pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 81.75pt; height: 17.5pt;" valign="top" width="109"&gt;   &lt;p style="margin-left: 9pt;"&gt;Program&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 1.75in; height: 17.5pt;" valign="top" width="168"&gt;   &lt;p style="margin-left: 25.35pt;"&gt;CHAR (8)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 17.5pt;" valign="top" width="263"&gt;   &lt;p style="margin-left: 24.6pt;"&gt;Program name of transaction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 17.5pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 81.75pt; height: 17.5pt;" valign="top" width="109"&gt;   &lt;p style="margin-left: 9pt;"&gt;DynPro&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 1.75in; height: 17.5pt;" valign="top" width="168"&gt;   &lt;p style="margin-left: 30.6pt;"&gt;CHAR (4)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 17.5pt;" valign="top" width="263"&gt;   &lt;p style="margin-left: 29.85pt;"&gt;Screen number of transaction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 17.25pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 81.75pt; height: 17.25pt;" valign="top" width="109"&gt;   &lt;p style="margin-left: 9pt;"&gt;DynBegin&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 1.75in; height: 17.25pt;" valign="top" width="168"&gt;   &lt;p style="margin-left: 30.6pt;"&gt;CHAR (1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 17.25pt;" valign="top" width="263"&gt;   &lt;p style="margin-left: 30.6pt;"&gt;Indicator for new screen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 18.4pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 81.75pt; height: 18.4pt;" valign="top" width="109"&gt;   &lt;p style="margin-left: 9pt;"&gt;Fnam&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 1.75in; height: 18.4pt;" valign="top" width="168"&gt;   &lt;p style="margin-left: 26.85pt;"&gt;CHAR (35)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 18.4pt;" valign="top" width="263"&gt;   &lt;p style="margin-left: 29.1pt;"&gt;Name of database field from screen&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 16.6pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 81.75pt; height: 16.6pt;" valign="top" width="109"&gt;   &lt;p style="margin-left: 9pt;"&gt;Fval&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p style="margin-left: 9pt;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 1.75in; height: 16.6pt;" valign="top" width="168"&gt;   &lt;p style="margin-left: 26.85pt;"&gt;CHAR (80)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 16.6pt;" valign="top" width="263"&gt;   &lt;p&gt;Value to submit to field. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="justify"&gt;9.       Does the CALL TRANSACTION method allow multiple  transactions to be processed by SAP?&lt;/p&gt; &lt;p align="justify"&gt;No.  The CALL TRANSACTION method allows only a single  transaction to be processed by SAP.&lt;/p&gt; &lt;p align="justify"&gt;10.    Does the BDC-INSERT function allow multiple transactions  to be processed by SAP?&lt;/p&gt; &lt;p align="justify"&gt;Yes.&lt;/p&gt; &lt;p align="justify"&gt;11.    What is the syntax for ‘CALL TRANSACTION’?&lt;/p&gt; &lt;p align="justify"&gt;CALL TRANSACTION trans [using bdctab MODE mode].&lt;/p&gt; &lt;p align="justify"&gt;Three possible entries are there for MODE.&lt;/p&gt; &lt;p align="justify"&gt;                  A          -           Show all screens.&lt;/p&gt; &lt;p align="justify"&gt;                  E          -           Show only screens with  errors.&lt;/p&gt; &lt;p align="justify"&gt;                  N          -           Show no screens.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>SAP BDC Interview Questions And Answers ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/sap-bdc-interview-questions-and-answers.html</link><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Wed, 23 Apr 2008 03:58:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-1031596483297196796</guid><description>&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span class="for_questions_blue"&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;Difference between /N and /BEND  ?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="answers"&gt;/BEND terminates  the batch input processing and sets the session to be failed.&lt;br /&gt;/N terminates  the current batch input transaction. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span class="for_questions_blue"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;SM35 transaction . How to automate BDC ?  &lt;/span&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="answers"&gt;After execution of batch input program , the session created is placed in the session queqe which can be viewed using SM35 transaction executing / Releseing the session will start the transfer of the data from the session into the database tables./ &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;Update types in Call transaction method. What is  the difference ? &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;At present with SAP we have only  modes of updation&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;1.Synchronus Update.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;2.Asynchronous Update.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;There  is no more Local Update. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span class="for_questions_blue"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;&lt;span style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;What are the table controls in BDC ? What  is the difference between bdc and&lt;br /&gt;lsmw ? What is the difference between bdc and  rfc ?&lt;/span&gt; &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;BDC - Batch data communication in which  there are 2 processes&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;1. in bound&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;2. outbound&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;&lt;a href="http://sap-career.blogspot.com/"&gt;RFC&lt;/a&gt; - remote fucntion  call(or) calling &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;Data conversion experience? &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;&lt;a href="http://sap-career.blogspot.com/"&gt;DATA CONVERSIONS: &lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;SAP HAS PROVIDED A TOOL NAMED LSMW WHICH  CONVERTS THE LEGACY DATA INTO THE REQUIRED SAP FORMAT AND UPDATES THE DATABASE.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;Open datasets, Read datasets ( Reading and  writing data to files)? &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;Date Sets are nothing but  files on Application Server,they can even be called as Sequential files.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold; font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold; font-style: italic;"&gt;Open Dataset &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;Is used to open required file on the application Server.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold; font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold; font-style: italic;"&gt;Read Dataset. &lt;/span&gt;&lt;br /&gt;Is used to read the contents required file on the  application Server. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="color: rgb(204, 102, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;How to do back ground processing in BDC Session  method ?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;&lt;a href="http://sap-career.blogspot.com/"&gt;Goto sm35 &lt;/a&gt;&lt;br /&gt;select the option background  process&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;Call transaction method, how to capture the  errors ? &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;IN CALL TRANSACTION TO CAPTURE THE ERRORS  WE SHOULD PERFORM THE FOLLOWING.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;FIRST ME MUST DECLARE AN INTERNAL TABLE  WITH THE STRUCTURE OF BDCMSGCOLL TABLE.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;THEN WHILE WRITING THE CALL  TRANSACTION STATEMENT WE SHOULD PUT THE 'E' MODE FOR CAPTURING ALL THE ERRORS.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;THEN FINALLY THE CAPTURED ERRORS MUST TO SENT TO THE INTERNAL TABLE WHICH WE DECLARED IN THE BEGINNING WITH BDCMSGCOLL BY USING THE FUNCTION MODULE "FORMAT_MESSAGE"&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;AND THUS THE ERROR MESSAGES WILL BE SENT TO THE INTERNAL  TABLE WHICH WE DECLARED AT THE BEGINNING. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;How to load data from MS Excel sheet to SAP by  using BDC method ?&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;KCD_EXCEL_OLE_TO_INT_CONVERT even  takes care of blank cells and is available in older versions of SAP&lt;br /&gt;&lt;br /&gt;*  Add values to internal table&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;SORT t_cells BY row col.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;LOOP AT t_cells INTO  wa_cells.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;MOVE : wa_cells-col TO l_index.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;ASSIGN COMPONENT l_index OF  STRUCTURE itab TO ..f_value...&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;MOVE : wa_cells-value TO ..f_value..&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;AT END OF row.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;APPEND itab&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;CLEAR  itab.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;ENDAT.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;ENDLOOP. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;What is the difference between call transaction  and session method?&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;Session method:&lt;/span&gt; The records are not added to the database until the session is processed. sy-subrc is not returned. Error logs are created for error records. Updation in database table is always Synchronous.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;Call Transaction method:&lt;/span&gt; The records are immediately added to the database table. sy-subrc is returned to 0 if successful. Error logs are not created and hence the errors need to be handled explicitly. Updation in database table is either Synchronous or Asynchronous. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;SM35 transaction . How to automate BDC ?  &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;sm35 is used to play girls for better nightfalls.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;What is the difference between Upload and  WS_Upload ?&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;The diffrence between WS_Upload and Upload is when you use function Upload it prompts for a dailog box where in you need to key in the file location.Where as in case of WS_Upload you specify the file location in the function input parameters itself&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-weight: bold;font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="for_questions_blue" style="color: rgb(204, 102, 0);"&gt;If I want to execute a program only in background  not in foreground is there any option for this?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="for_questions_blue" style="color: rgb(204, 102, 0); font-weight: bold;"&gt;&lt;/span&gt;&lt;span class="answers"&gt;&lt;br /&gt;The sm37 transaction can be used for running a program in the background. Also in the session method while processing the session you can specify the processing type as background or foreground. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="color: rgb(204, 102, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="color: rgb(204, 102, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;What kind of BDC programs are written ?&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  class="answers" style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;There are five types of BDC methods available. They are 1.Batch input session 2.Call Transaction 3.Recording 4.Direct Input and 5.LSMW &lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;How to read files and process BDCs automatically?  &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;To read file from Presentation server use Upload or GUI Upload or WS upload and to read file from Application server use Opend Dataset,Read dataset and Close dataset &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(204, 102, 0);" class="for_questions_blue"&gt;In session method sy-subrc is not returned  whereas in call transaction method sy-subrc is returned . what does it mean?  &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;While to transfer the data from the through if any errors occurs until the errors are the complete the data is not transfer to the SAP system.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;The system compulsory shows the errors. that errors are stored  into the error logs (Transaction is SM35).&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;so the session method should not  return any value.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;In call transaction method data is directly pass to the  SAP system.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;So its compulsory return the value.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;Because of the call  transaction is the function.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;A function should return the value mandatory.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(153, 51, 0);" class="for_questions_blue"&gt;Recording Function &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;With recording, user can avoid manual search for fields and tables required in a program including screen numbers. SHDB is the transaction code. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(153, 0, 0);" class="for_questions_blue"&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(153, 0, 0);" class="for_questions_blue"&gt;BDC vs Direct Loads( have you used direct loads  on SAP tables ) &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:trebuchet ms;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="answers"&gt;Direct loads is 5 times faster than uploading by normal BDC method. but some times while updating the database referential integrity is violated. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=";font-family:trebuchet ms;font-size:130%;"  &gt;&lt;b style="color: rgb(153, 51, 0);"&gt;&lt;span class="for_questions_blue"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:trebuchet ms;font-size:130%;"  &gt;&lt;b style="color: rgb(153, 51, 0);"&gt;&lt;span class="for_questions_blue"&gt;Have you set up a back ground job ? How to  create a background job without a variant ?&lt;/span&gt; &lt;/b&gt;&lt;span class="answers"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:trebuchet ms;font-size:130%;"  &gt;&lt;span class="answers"&gt;Yes, user can create background job scheduling in two ways.&lt;br /&gt;&lt;br /&gt;1. By calling the executable program RSBDCSUB&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:trebuchet ms;font-size:130%;"  &gt;&lt;span class="answers"&gt;2. Transaction Code  SM37&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>BDC &amp; LSMW ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/bdc-lsmw-abap-interview-questions.html</link><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Wed, 23 Apr 2008 03:57:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-6582991264225953484</guid><description>&lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;span style="font-size: 100%;"&gt;1.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;What is BDC ?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;2.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;What is call transaction method ? what is the syntax/procedure?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;3.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;What is session method and what is the syntax/procedure?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;4.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;Difference between call transaction &amp;amp; session method?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;5.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;which of these methods can be best used in background process?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;6.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;What is direct input method?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;7.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;How LSMW is advantageous than normal BDC?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;8.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;what are the steps in lsmw?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;9.&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;IN LSMW can you use BAPI, ?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;10.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;Can you call a bdc from a report program?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;11.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;what is the difference between synchronus &amp;amp; asynchronus methods?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;12.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;call transaction uses synchronus or synchronus method?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;13.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;session method uses synchronus or synchronus method?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;14.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;What is bapi?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;15.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;how bapi is different from call transaction/session?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;16.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;what r the advantages of bapi?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in; font-family: georgia;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 100%;"&gt;17.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-size: 100%;"&gt;for uploading master data(ex:customer data) into sap, which methods you prefer? call transaction/session/lsmw/bapi? why?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Verdana; font-size: 100%;"&gt;18.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="font-family: Verdana; font-size: 100%;"&gt;&lt;span style="font-family: georgia;"&gt;tell any 2 standard bapi function modules used for uploading sales order data?&lt;/span&gt;&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>ABAP Clipboard Utilities for Beautiful Commented Code ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/abap-clipboard-utilities-for-beautiful.html</link><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Wed, 23 Apr 2008 03:56:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-8650203295869294152</guid><description>&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;" Any fool can write code that a computer can understand.&lt;br /&gt;Good programmers write code that humans can understand. "&lt;br /&gt;--- Martin Fowler, Refactoring: Improving the Design of Existing Code&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ABAP pretty printer is good for code but not supportive for data declarations.&lt;br /&gt;As a result ABAP code often tends to need more labour to maintain.&lt;br /&gt;&lt;br /&gt;I therefore wrote 3 Clipboard utilities&lt;br /&gt;&lt;br /&gt;1. YClipJNC based on&lt;br /&gt;http://sap.ionelburlacu.ro/abap/sap2/Beautify_Source_Code.html&lt;br /&gt;but improved to include table~column half-line commenting.&lt;br /&gt;Take any ABAP code (should have survived syntax check) including that "." DOT terminator.&lt;br /&gt;Copy to Clipboard &amp;amp; F8 on YClipJNC will create the beautiful version in clipboard&lt;br /&gt;ready for pasting back.&lt;br /&gt;&lt;br /&gt;The big advantage is that you can send for beautification only portions of code&lt;br /&gt;- this is vital in maintaining someone else's badly written code.&lt;br /&gt;&lt;br /&gt;2. YClip2JNC is for Internal Table declarations only, with existing comments&lt;br /&gt;Aligns everything nicely.&lt;br /&gt;&lt;br /&gt;3. YClip3JNC is to create a Commented CALL FUNCTION Pattern.&lt;br /&gt;Try with "CS_BOM_EXPL_MAT_V2"&lt;br /&gt;The pattern is ready in clipboard for pasting appropriately.&lt;br /&gt;&lt;br /&gt;These 3 utilities should give a big boost to good clean commented ABAP&lt;br /&gt;code.&lt;br /&gt;&lt;br /&gt;=========================================================================================&lt;br /&gt;&lt;br /&gt;*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;*&amp;amp;     Beautify ABAP Code Via Clip                                 &lt;br /&gt;*&lt;br /&gt;*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;&lt;br /&gt;* based on ideas from&lt;br /&gt;* http://sap.ionelburlacu.ro/abap/sap2/Beautify_Source_Code.html&lt;br /&gt;&lt;br /&gt;* Author Jayanta Narayan Choudhuri&lt;br /&gt;*         Flat 302&lt;br /&gt;*         395 Jodhpur Park&lt;br /&gt;*         Kolkata 700 068&lt;br /&gt;*       Email sss@cal.vsnl.net.in&lt;br /&gt;*       URL:  http://www.geocities.com/ojnc&lt;br /&gt;&lt;br /&gt;*-----------------------------------------------------------------------&lt;br /&gt;* This program takes ABAP code in ClipBoard, and does the following:&lt;br /&gt;*    - Attempts to move comments to the end of the line&lt;br /&gt;*    - Adds comments (table name) for the tables listed after a TABLES&lt;br /&gt;*      statement if the line has not been commented already.&lt;br /&gt;*    - Adds comments (field name) for data elements, parameters, and&lt;br /&gt;*      select-options that are defined using the LIKE or FOR statement&lt;br /&gt;*    - For ENDLOOP/ENDSELECT adds comment identify the LOOP/SELECT&lt;br /&gt;*      that is being closed&lt;br /&gt;*    - For FORM/ENDFORM adds comment identify the FORM that is being&lt;br /&gt;*      closed&lt;br /&gt;*    - Calls function PRETTY_PRINTER to do the SAP standard pretty print&lt;br /&gt;*      after the custom comments have been created&lt;br /&gt;* Returns Modified Code Via ClipBoard&lt;br /&gt;*-----------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;REPORT  yclipjnc.          .&lt;br /&gt;&lt;br /&gt;TABLES:&lt;br /&gt;e071 ,      " Change &amp;amp; Transport System: Object Entries of&lt;br /&gt;Requests/Tasks&lt;br /&gt;tadir ,     " Directory of Repository Objects&lt;br /&gt;trdir ,     " Generated Table for View TRDIR&lt;br /&gt;dd02t .     " R/3 DD: SAP table texts&lt;br /&gt;&lt;br /&gt;DATA: BEGIN OF mtab_old_prog OCCURS 0,&lt;br /&gt;     line(172) TYPE c,&lt;br /&gt;   END OF mtab_old_prog.&lt;br /&gt;&lt;br /&gt;DATA: BEGIN OF mtab_new_prog OCCURS 0,&lt;br /&gt;     line(172) TYPE c,&lt;br /&gt;   END OF mtab_new_prog.&lt;br /&gt;&lt;br /&gt;DATA: BEGIN OF mtab_jnc_prog OCCURS 0,&lt;br /&gt;     line(172) TYPE c,&lt;br /&gt;   END OF mtab_jnc_prog.&lt;br /&gt;&lt;br /&gt;DATA:&lt;br /&gt;* Hold an entire statement, even if it spans multiple lines&lt;br /&gt;BEGIN OF mtab_long_line OCCURS 0,&lt;br /&gt; start        TYPE i,&lt;br /&gt; end          TYPE i,&lt;br /&gt; code(9999)   TYPE c, "For type "C", a maximum length specification of 65535 is allowed.&lt;br /&gt;END OF mtab_long_line.&lt;br /&gt;&lt;br /&gt;DATA: BEGIN OF mtab_tabname OCCURS 0,&lt;br /&gt;     tabname LIKE dd02t-tabname,    " Table name&lt;br /&gt;     tabdesc LIKE dd02t-ddtext,     " Short text describing ABAP/4&lt;br /&gt;Dictio&lt;br /&gt;   END OF mtab_tabname.&lt;br /&gt;&lt;br /&gt;* Queue to hold list of internal table names for commenting the ENDLOOP&lt;br /&gt;* line&lt;br /&gt;DATA: BEGIN OF mtab_itab_names OCCURS 0,&lt;br /&gt;     tabname(40) TYPE c,&lt;br /&gt;   END OF mtab_itab_names.&lt;br /&gt;&lt;br /&gt;* Queue to hold list of table names for commenting the ENDSELECT line&lt;br /&gt;DATA: BEGIN OF mtab_tab_names OCCURS 0,&lt;br /&gt;     tabname(40) TYPE c,&lt;br /&gt;   END OF mtab_tab_names.&lt;br /&gt;&lt;br /&gt;DATA: BEGIN OF mtab_form_names OCCURS 0,&lt;br /&gt;     tabname(40) TYPE c,&lt;br /&gt;   END OF mtab_form_names.&lt;br /&gt;&lt;br /&gt;DATA: mylength TYPE i,&lt;br /&gt;   myrc     TYPE i.&lt;br /&gt;&lt;br /&gt;CONSTANTS: myhats(40) VALUE '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'.&lt;br /&gt;&lt;br /&gt;* START of EXECUTION&lt;br /&gt;&lt;br /&gt;* Read the program code in ClipBoard into an internal table&lt;br /&gt;CALL METHOD cl_gui_frontend_services=&gt;clipboard_import&lt;br /&gt;IMPORTING&lt;br /&gt; data   = mtab_old_prog[]&lt;br /&gt; length = mylength.&lt;br /&gt;&lt;br /&gt;IF sy-subrc NE 0.&lt;br /&gt;WRITE: / `Unable to read ClipBoard`.&lt;br /&gt;WRITE: / `Exiting program`.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;PERFORM create_condensed_table TABLES mtab_old_prog mtab_long_line.&lt;br /&gt;&lt;br /&gt;PERFORM format_program.&lt;br /&gt;&lt;br /&gt;CALL FUNCTION `PRETTY_PRINTER`&lt;br /&gt;EXPORTING&lt;br /&gt; inctoo             = space&lt;br /&gt;TABLES&lt;br /&gt; ntext              = mtab_jnc_prog&lt;br /&gt; otext              = mtab_new_prog&lt;br /&gt;EXCEPTIONS&lt;br /&gt; enqueue_table_full = 1&lt;br /&gt; include_enqueued   = 2&lt;br /&gt; include_readerror  = 3&lt;br /&gt; include_writeerror = 4&lt;br /&gt; OTHERS             = 5.&lt;br /&gt;&lt;br /&gt;* Write the beautiful program code to ClipBoard from internal table&lt;br /&gt;CALL METHOD cl_gui_frontend_services=&gt;clipboard_export&lt;br /&gt;IMPORTING&lt;br /&gt; data = mtab_jnc_prog[]&lt;br /&gt;CHANGING&lt;br /&gt; rc   = myrc.&lt;br /&gt;&lt;br /&gt;LOOP AT mtab_jnc_prog.&lt;br /&gt;IF mtab_jnc_prog = space.&lt;br /&gt; SKIP 1.&lt;br /&gt;ENDIF.&lt;br /&gt;WRITE: / mtab_jnc_prog.&lt;br /&gt;ENDLOOP.         " LOOP AT MTAB_JNC_PROG&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;*       FORM CREATE_CONDENSED_TABLE               *&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;*       Create a table that has all statements condensed onto 1 line  *&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;FORM create_condensed_table&lt;br /&gt;  TABLES ftab_old_prog STRUCTURE mtab_old_prog&lt;br /&gt;         ftab_long_line STRUCTURE mtab_long_line.&lt;br /&gt;&lt;br /&gt;DATA:&lt;br /&gt;* Structure to hold program code/comment&lt;br /&gt; BEGIN OF fstr_line,&lt;br /&gt;   code(172)    TYPE c,              " Program Code&lt;br /&gt;   comment(172) TYPE c,              " Inline comments&lt;br /&gt;  END OF fstr_line.&lt;br /&gt;&lt;br /&gt;LOOP AT ftab_old_prog.&lt;br /&gt;&lt;br /&gt; IF ftab_long_line-start = 0.&lt;br /&gt;   ftab_long_line-start = ftab_long_line-end + 1.&lt;br /&gt;   CLEAR ftab_long_line-end.&lt;br /&gt; ENDIF.&lt;br /&gt;&lt;br /&gt;*   Strip off any inline comments so they do not get in the way&lt;br /&gt;*   If comments are not separated, then words in the comments could&lt;br /&gt;*   look like keywords, and cause problems&lt;br /&gt; SPLIT ftab_old_prog-line AT `"` INTO fstr_line-code fstr_line-comment.&lt;br /&gt;&lt;br /&gt;*   Align all statements to be left justified&lt;br /&gt; SHIFT fstr_line-code LEFT DELETING LEADING space.&lt;br /&gt;&lt;br /&gt;*   Put all lines that make up a single statement into one field&lt;br /&gt;*   This will make it easier to isolate key words.  For example, if you&lt;br /&gt;*   want to process a TABLES statement, but exclude the TABLES part of a&lt;br /&gt;*   function call, or a subroutine call.&lt;br /&gt; CONCATENATE ftab_long_line-code  fstr_line-code&lt;br /&gt;             INTO ftab_long_line-code SEPARATED BY space.&lt;br /&gt;&lt;br /&gt; IF fstr_line-code   CA `.`   OR    " Period means end of statement&lt;br /&gt;    fstr_line-code(1) = `*` OR      " Comment Line&lt;br /&gt;    fstr_line-code   CO space.      " Blank Line&lt;br /&gt;*     Keep track of the table index that the statement ends on&lt;br /&gt;   ftab_long_line-end = sy-tabix.&lt;br /&gt;*     Remove delimiter from concatenation of fields&lt;br /&gt;   SHIFT ftab_long_line-code LEFT BY 1 PLACES.&lt;br /&gt;&lt;br /&gt;   APPEND ftab_long_line.&lt;br /&gt;&lt;br /&gt;   CLEAR: ftab_long_line-code, ftab_long_line-start.&lt;br /&gt;&lt;br /&gt;*     Don`t clear out fstr_long_line-end yet.  It is used to calc&lt;br /&gt;*     fstr_long_line-start.&lt;br /&gt; ENDIF.&lt;br /&gt;&lt;br /&gt;ENDLOOP.         " LOOP AT FTAB_OLD_PROG&lt;br /&gt;ENDFORM.    " FORM CREATE_CONDENSED_TABLE&lt;br /&gt;&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;*       FORM FORMAT_PROGRAM                                           *&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;FORM format_program.&lt;br /&gt;&lt;br /&gt;DATA: lstr_old_prog LIKE LINE OF mtab_old_prog.&lt;br /&gt;&lt;br /&gt;LOOP AT mtab_long_line.&lt;br /&gt;&lt;br /&gt; TRANSLATE mtab_long_line-code TO UPPER CASE.&lt;br /&gt;&lt;br /&gt; IF mtab_long_line-code(1) EQ `*`.  " Do not modify Comment Lines&lt;br /&gt;&lt;br /&gt;   LOOP AT mtab_old_prog FROM mtab_long_line-start&lt;br /&gt;                         TO   mtab_long_line-end.&lt;br /&gt;&lt;br /&gt;     mtab_new_prog-line = mtab_old_prog-line.&lt;br /&gt;&lt;br /&gt;     APPEND mtab_new_prog.&lt;br /&gt;&lt;br /&gt;   ENDLOOP.     " LOOP AT MTAB_OLD_PROG&lt;br /&gt;&lt;br /&gt; ELSEIF mtab_long_line-code(6) EQ `TABLES`.&lt;br /&gt;&lt;br /&gt;*     Reformat any TABLES statements.  Will only reformat when TABLES&lt;br /&gt;*     is at the start of the statement.  Will not try to get table&lt;br /&gt;*     descriptions for CALL FUNCTIONS or FORM/PERFORMs&lt;br /&gt;&lt;br /&gt;*     Get the table names from mstr_long_line.&lt;br /&gt;   PERFORM get_table_names_from_statement TABLES mtab_tabname&lt;br /&gt;                                          USING mtab_long_line-code.&lt;br /&gt;*     Find the descriptions for each table&lt;br /&gt;   PERFORM get_table_descriptions TABLES mtab_tabname.&lt;br /&gt;&lt;br /&gt;*     create the new statement&lt;br /&gt;   PERFORM build_new_tables_statement USING mtab_long_line.&lt;br /&gt;&lt;br /&gt; ELSE. " All other modifications to the code handled here&lt;br /&gt;&lt;br /&gt;   LOOP AT mtab_old_prog FROM mtab_long_line-start&lt;br /&gt;                         TO   mtab_long_line-end.&lt;br /&gt;&lt;br /&gt;*       Remove extra spaces from line for comparisons&lt;br /&gt;     lstr_old_prog-line = mtab_old_prog-line.&lt;br /&gt;     CONDENSE lstr_old_prog-line.&lt;br /&gt;     TRANSLATE lstr_old_prog-line TO UPPER CASE.&lt;br /&gt;&lt;br /&gt;     IF lstr_old_prog-line CS `"`.  " Comments&lt;br /&gt;       mtab_new_prog-line = mtab_old_prog-line.&lt;br /&gt;     ELSE.&lt;br /&gt;       IF lstr_old_prog-line CS ` LIKE ` OR&lt;br /&gt;          lstr_old_prog-line CS ` TYPE ` OR&lt;br /&gt;          lstr_old_prog-line CS ` FOR `  OR&lt;br /&gt;          lstr_old_prog-line CS `~`.            "jnc OpenSQL &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;table~column&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         PERFORM get_for_like_comment USING mtab_old_prog&lt;br /&gt;                                      CHANGING mtab_new_prog.&lt;br /&gt;&lt;br /&gt;       ELSEIF lstr_old_prog-line(8) = 'LOOP AT'.&lt;br /&gt;&lt;br /&gt;*     save table name into a queue&lt;br /&gt;         PERFORM enqueue_itab_name USING mtab_long_line-code.&lt;br /&gt;         mtab_new_prog-line = mtab_old_prog-line.&lt;br /&gt;&lt;br /&gt;       ELSEIF lstr_old_prog-line(7) = `ENDLOOP`.&lt;br /&gt;&lt;br /&gt;*     get name off of queue and add it as a comment to the ENDLOOP line&lt;br /&gt;         PERFORM add_comment_to_endloop USING mtab_old_prog-line&lt;br /&gt;                                        CHANGING mtab_new_prog-line.&lt;br /&gt;&lt;br /&gt;       ELSEIF lstr_old_prog-line(7) EQ 'SELECT' AND&lt;br /&gt;              lstr_old_prog-line(13) NE 'SELECT SINGLE'.&lt;br /&gt;&lt;br /&gt;*     save table name into a queue&lt;br /&gt;         PERFORM enqueue_tab_name USING mtab_old_prog-line.&lt;br /&gt;         mtab_new_prog-line = mtab_old_prog-line.&lt;br /&gt;       ELSEIF lstr_old_prog-line(9) = `ENDSELECT`.&lt;br /&gt;&lt;br /&gt;*     get name off of queue and add it as a comment to the ENDSELECT&lt;br /&gt;         PERFORM add_comment_to_select USING mtab_old_prog-line&lt;br /&gt;                                       CHANGING mtab_new_prog-line.&lt;br /&gt;&lt;br /&gt;       ELSEIF lstr_old_prog-line(5) = 'FORM'.&lt;br /&gt;&lt;br /&gt;*         save form name into a queue&lt;br /&gt;         PERFORM enqueue_form_name USING mtab_old_prog-line.&lt;br /&gt;         mtab_new_prog-line = mtab_old_prog-line.&lt;br /&gt;&lt;br /&gt;       ELSEIF lstr_old_prog-line(7) = `ENDFORM`.&lt;br /&gt;&lt;br /&gt;*         get name off of queue and add it as a comment to the ENDFORM&lt;br /&gt;         PERFORM add_comment_to_endform USING mtab_old_prog-line&lt;br /&gt;                                        CHANGING mtab_new_prog-line.&lt;br /&gt;       ELSE.    " Any other lines&lt;br /&gt;         mtab_new_prog-line = mtab_old_prog-line.&lt;br /&gt;       ENDIF.&lt;br /&gt;     ENDIF.&lt;br /&gt;&lt;br /&gt;     APPEND mtab_new_prog.&lt;br /&gt;&lt;br /&gt;   ENDLOOP.     " LOOP AT MTAB_OLD_PROG&lt;br /&gt; ENDIF.&lt;br /&gt;ENDLOOP.         " LOOP AT MTAB_LONG_LINE&lt;br /&gt;&lt;br /&gt;ENDFORM.    " FORM FORMAT_PROGRAM&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;*       FORM GET_TABLE_NAMES_FROM_STATEMENT                           *&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;FORM get_table_names_from_statement TABLES ftab_tabname&lt;br /&gt;                                 STRUCTURE mtab_tabname&lt;br /&gt;                                 USING  fc_statement.&lt;br /&gt;&lt;br /&gt;CLEAR ftab_tabname.&lt;br /&gt;REFRESH ftab_tabname.&lt;br /&gt;&lt;br /&gt;REPLACE `TABLES` WITH space INTO fc_statement.&lt;br /&gt;TRANSLATE fc_statement USING `. `.   " Replace periods&lt;br /&gt;TRANSLATE fc_statement USING `, `.   " Replace commas&lt;br /&gt;TRANSLATE fc_statement USING `: `.   " Replace colons&lt;br /&gt;&lt;br /&gt;CONDENSE fc_statement.               " Remove all extra spaces&lt;br /&gt;&lt;br /&gt;SPLIT fc_statement AT space INTO TABLE ftab_tabname.&lt;br /&gt;&lt;br /&gt;ENDFORM.    " FORM GET_TABLE_NAMES_FROM_STATEMENT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;*       FORM GET_TABLE_DESCRIPTIONS                                   *&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;FORM get_table_descriptions TABLES ftab_tabname STRUCTURE mtab_tabname.&lt;br /&gt;&lt;br /&gt;LOOP AT ftab_tabname.&lt;br /&gt; SELECT SINGLE * FROM  dd02t&lt;br /&gt;        WHERE  tabname     = ftab_tabname-tabname&lt;br /&gt;        AND    ddlanguage  = sy-langu.&lt;br /&gt;&lt;br /&gt; IF sy-subrc = 0.&lt;br /&gt;   ftab_tabname-tabdesc = dd02t-ddtext.&lt;br /&gt;   MODIFY ftab_tabname.&lt;br /&gt; ENDIF.&lt;br /&gt;&lt;br /&gt;ENDLOOP.         " LOOP AT FTAB_TABNAME&lt;br /&gt;ENDFORM.    " FORM GET_TABLE_DESCRIPTIONS&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;*       FORM BUILD_NEW_TABLES_STATEMENT                               *&lt;br /&gt;*---------------------------------------------------------------------*&lt;br /&gt;FORM build_new_tables_statement USING fstr_long_line LIKE&lt;br /&gt;mtab_long_line.&lt;br /&gt;&lt;br /&gt;DATA: lc_sep(1)   TYPE c,&lt;br /&gt;     li_rows     TYPE i,&lt;br /&gt;     wordlen     TYPE i.&lt;br /&gt;&lt;br /&gt;DESCRIBE TABLE mtab_tabname LINES li_rows.&lt;br /&gt;&lt;br /&gt;mtab_new_prog-line = `TABLES:`.&lt;br /&gt;APPEND mtab_new_prog.&lt;br /&gt;&lt;br /&gt;LOOP AT mtab_tabname.&lt;br /&gt; IF sy-tabix = li_rows.&lt;br /&gt;   lc_sep = `.`.&lt;br /&gt; ELSE.&lt;br /&gt;   lc_sep = `,`.&lt;br /&gt; ENDIF.&lt;br /&gt;&lt;br /&gt; wordlen = STRLEN( mtab_tabname-tabname ).&lt;br /&gt;&lt;br /&gt; IF wordlen &lt; wordlen =" 12" wordlen =" 1." line =" f_old_prog." f_new_prog =" f_old_prog." f_new_prog =" lstr_old_prog-line." tabname =" `SY`." tabname =" `SYST`." tabname             =" lstr_field-tabname" nametab             =" ltab_nametab" internal_error      =" 1" table_has_no_fields =" 2" table_not_activ     =" 3" no_texts_found      =" 4" others              =" 5."&gt; 0.&lt;br /&gt;*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;br /&gt;*            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;READ TABLE ltab_nametab&lt;br /&gt;    WITH KEY tabname   = lstr_field-tabname&lt;br /&gt;             fieldname = lstr_field-fldname.&lt;br /&gt;&lt;br /&gt;IF sy-subrc = 0.&lt;br /&gt;&lt;br /&gt; wordlen = STRLEN( lstr_old_prog-line ).&lt;br /&gt;&lt;br /&gt; IF wordlen &lt; wordlen =" 45" wordlen =" 1." f_new_prog =" lstr_old_prog-line." mtab_itab_names =" lc_itab." f_prog_line =" mtab_old_prog-line." mtab_tab_names =" lc_tab." f_prog_line =" mtab_old_prog-line." f_prog_line =" mtab_old_prog-line." mtab_form_names =" lc_tab." enqueue_form_name   ="=" cl_gui_frontend_services=""&gt;clipboard_import&lt;br /&gt;IMPORTING&lt;br /&gt; data   = mtab_old_prog[]&lt;br /&gt; length = mylength.&lt;br /&gt;&lt;br /&gt;IF sy-subrc NE 0.&lt;br /&gt;WRITE: / `Unable to read ClipBoard`.&lt;br /&gt;WRITE: / `Exiting program`.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;* SAP pads non-displayable characters in last few lines&lt;br /&gt;LOOP AT  mtab_old_prog.&lt;br /&gt;MOVE sy-tabix TO saveix.&lt;br /&gt;&lt;br /&gt;CONDENSE mtab_old_prog-line.&lt;br /&gt;REPLACE ALL OCCURRENCES OF ' ,' IN mtab_old_prog-line WITH ','.&lt;br /&gt;&lt;br /&gt;SPLIT mtab_old_prog-line AT space INTO TABLE i_words.&lt;br /&gt;&lt;br /&gt;LOOP AT i_words.&lt;br /&gt; wordlen = STRLEN( i_words-word ).&lt;br /&gt; IF wordlen &gt; 60&lt;br /&gt; OR i_words-word+0(1) &lt;&gt; '~'.&lt;br /&gt;   DELETE mtab_old_prog INDEX saveix.&lt;br /&gt;   EXIT.&lt;br /&gt; ENDIF.&lt;br /&gt;ENDLOOP.&lt;br /&gt;ENDLOOP.&lt;br /&gt;&lt;br /&gt;LOOP AT  mtab_old_prog.&lt;br /&gt;CONDENSE mtab_old_prog-line.&lt;br /&gt;REPLACE ALL OCCURRENCES OF ' ,' IN mtab_old_prog-line WITH ','.&lt;br /&gt;&lt;br /&gt;SPLIT mtab_old_prog-line AT space INTO TABLE i_words.&lt;br /&gt;&lt;br /&gt;MOVE 1 TO colnum.&lt;br /&gt;LOOP AT i_words.&lt;br /&gt; wordlen = STRLEN( i_words-word ).&lt;br /&gt; CASE colnum.&lt;br /&gt;   WHEN 1.&lt;br /&gt;     IF  wordlen &gt; maxlen1.&lt;br /&gt;       MOVE wordlen TO maxlen1.&lt;br /&gt;     ENDIF.&lt;br /&gt;   WHEN 2.&lt;br /&gt;     IF  wordlen &gt; maxlen2.&lt;br /&gt;       MOVE wordlen TO maxlen2.&lt;br /&gt;     ENDIF.&lt;br /&gt;   WHEN 3.&lt;br /&gt;     IF  wordlen &gt; maxlen3.&lt;br /&gt;       MOVE wordlen TO maxlen3.&lt;br /&gt;     ENDIF.&lt;br /&gt; ENDCASE.&lt;br /&gt; ADD 1 TO colnum.&lt;br /&gt;ENDLOOP.&lt;br /&gt;ENDLOOP.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;LOOP AT  mtab_old_prog.&lt;br /&gt;workline = mtab_old_prog-line.&lt;br /&gt;CONDENSE workline.&lt;br /&gt;REPLACE ALL OCCURRENCES OF ' ,' IN mtab_old_prog-line WITH ','.&lt;br /&gt;&lt;br /&gt;SPLIT workline AT space INTO TABLE i_words.&lt;br /&gt;&lt;br /&gt;LOOP AT i_words.&lt;br /&gt; FIND i_words-word IN mtab_old_prog-line MATCH OFFSET wordoff.&lt;br /&gt; EXIT.&lt;br /&gt;ENDLOOP.&lt;br /&gt;EXIT.&lt;br /&gt;ENDLOOP.&lt;br /&gt;&lt;br /&gt;LOOP AT  mtab_old_prog.&lt;br /&gt;CONDENSE mtab_old_prog-line.&lt;br /&gt;REPLACE ALL OCCURRENCES OF ' ,' IN mtab_old_prog-line WITH ','.&lt;br /&gt;&lt;br /&gt;SPLIT mtab_old_prog-line AT space INTO TABLE i_words.&lt;br /&gt;&lt;br /&gt;MOVE 1 TO colnum.&lt;br /&gt;LOOP AT i_words.&lt;br /&gt; wordlen = STRLEN( i_words-word ).&lt;br /&gt; CASE colnum.&lt;br /&gt;   WHEN 1.&lt;br /&gt;     PERFORM f_diff_calc USING maxlen1  wordlen&lt;br /&gt;                         CHANGING diff.&lt;br /&gt;     CONCATENATE myhats+0(wordoff) i_words-word myhats+0(diff) INTO&lt;br /&gt;mtab_new_prog-line.&lt;br /&gt;   WHEN 2.&lt;br /&gt;     PERFORM f_diff_calc USING maxlen2  wordlen&lt;br /&gt;                         CHANGING diff.&lt;br /&gt;     CONCATENATE mtab_new_prog-line i_words-word myhats+0(diff) INTO&lt;br /&gt;mtab_new_prog-line.&lt;br /&gt;   WHEN 3.&lt;br /&gt;     PERFORM f_diff_calc USING maxlen3  wordlen&lt;br /&gt;                         CHANGING diff.&lt;br /&gt;     CONCATENATE mtab_new_prog-line i_words-word myhats+0(diff) INTO mtab_new_prog-line.&lt;br /&gt;   WHEN OTHERS.&lt;br /&gt;     CONCATENATE mtab_new_prog-line ` ` i_words-word INTO mtab_new_prog-line.&lt;br /&gt; ENDCASE.&lt;br /&gt; ADD 1 TO colnum.&lt;br /&gt;ENDLOOP.&lt;br /&gt;TRANSLATE mtab_new_prog-line USING `^ `.&lt;br /&gt;APPEND mtab_new_prog.&lt;br /&gt;ENDLOOP.&lt;br /&gt;&lt;br /&gt;* Write the beautiful program code to ClipBoard from internal table&lt;br /&gt;CALL METHOD cl_gui_frontend_services=&gt;clipboard_export&lt;br /&gt;IMPORTING&lt;br /&gt; data = mtab_new_prog[]&lt;br /&gt;CHANGING&lt;br /&gt; rc   = myrc.&lt;br /&gt;&lt;br /&gt;LOOP AT mtab_new_prog.&lt;br /&gt;IF mtab_new_prog = space.&lt;br /&gt; SKIP 1.&lt;br /&gt;ENDIF.&lt;br /&gt;WRITE: / mtab_new_prog.&lt;br /&gt;ENDLOOP.         " LOOP AT MTAB_NEW_PROG&lt;br /&gt;&lt;br /&gt;*&amp;amp;--------------------------------------------------------------------*&lt;br /&gt;*&amp;amp;      Form  f_diff_calc&lt;br /&gt;*&amp;amp;--------------------------------------------------------------------*&lt;br /&gt;FORM f_diff_calc USING    value(maxlen)  TYPE i&lt;br /&gt;                       value(wordlen) TYPE i&lt;br /&gt;              CHANGING diff TYPE i.&lt;br /&gt;&lt;br /&gt;COMPUTE diff = maxlen - wordlen + 4.&lt;br /&gt;IF diff &gt; 40.&lt;br /&gt; diff = 40.&lt;br /&gt;ENDIF.&lt;br /&gt;ENDFORM.                    "f_diff_calc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;=========================================================================================&lt;br /&gt;&lt;br /&gt;*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;*&amp;amp;     Beautiful Function Module Call via clipboard                &lt;br /&gt;*&lt;br /&gt;*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;&lt;br /&gt;* Author Jayanta Narayan Choudhuri&lt;br /&gt;*         Flat 302&lt;br /&gt;*         395 Jodhpur Park&lt;br /&gt;*         Kolkata 700 068&lt;br /&gt;*       Email sss@cal.vsnl.net.in&lt;br /&gt;*       URL:  http://www.geocities.com/ojnc&lt;br /&gt;&lt;br /&gt;*-----------------------------------------------------------------------&lt;br /&gt;* This program takes a parameter as a Function Module Name&lt;br /&gt;* and does a documented "pattern paste"&lt;br /&gt;* Returns pattern Code Via ClipBoard&lt;br /&gt;*-----------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;PROGRAM yclip3jnc.&lt;br /&gt;&lt;br /&gt;TYPE-POOLS : slis.&lt;br /&gt;&lt;br /&gt;PARAMETERS: p_func LIKE fupararef-funcname.     " Name of Function Module&lt;br /&gt;&lt;br /&gt;DATA : BEGIN OF i_tab OCCURS 0,&lt;br /&gt;     funcname      LIKE    fupararef-funcname,       " Name of Function Module&lt;br /&gt;     paramtype     LIKE    fupararef-paramtype,      " Parameter type&lt;br /&gt;     pposition     LIKE    fupararef-pposition,      " Internal Table, Current Line Index&lt;br /&gt;     optional      LIKE    fupararef-optional,       " Optional parameters&lt;br /&gt;     parameter     LIKE    fupararef-parameter,      " Parameter name&lt;br /&gt;     defaultval    LIKE    fupararef-defaultval,     " Default value for import parameter&lt;br /&gt;     structure     LIKE    fupararef-structure,      " Associated&lt;br /&gt;Type of an Interface Parameter&lt;br /&gt;     stext         LIKE    funct-stext,              " Short text&lt;br /&gt; END OF i_tab.&lt;br /&gt;&lt;br /&gt;DATA: BEGIN OF mtab_new_prog OCCURS 0,&lt;br /&gt;     line(172) TYPE c,&lt;br /&gt;   END OF mtab_new_prog.&lt;br /&gt;&lt;br /&gt;DATA: funcdesc LIKE tftit-stext,     " Short text for function module&lt;br /&gt;   mylen    TYPE i,&lt;br /&gt;   myrc     TYPE i.&lt;br /&gt;&lt;br /&gt;CONSTANTS: myhats(40) VALUE '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'.&lt;br /&gt;&lt;br /&gt;TRANSLATE p_func TO UPPER CASE.&lt;br /&gt;&lt;br /&gt;SELECT SINGLE&lt;br /&gt;    tftit~stext     " Short text for function module&lt;br /&gt;INTO funcdesc&lt;br /&gt;FROM tftit&lt;br /&gt;WHERE tftit~funcname = p_func&lt;br /&gt;AND tftit~spras    = sy-langu.&lt;br /&gt;&lt;br /&gt;TRANSLATE p_func TO LOWER CASE.&lt;br /&gt;&lt;br /&gt;CONCATENATE  `CALL FUNCTION ` p_func  `   " ` funcdesc INTO mtab_new_prog-line.&lt;br /&gt;APPEND mtab_new_prog.&lt;br /&gt;&lt;br /&gt;TRANSLATE p_func TO UPPER CASE.&lt;br /&gt;&lt;br /&gt;SELECT&lt;br /&gt;    fupararef~funcname      " Name of Function Module&lt;br /&gt;    fupararef~paramtype     " Parameter type&lt;br /&gt;    fupararef~pposition     " Internal Table, Current Line Index&lt;br /&gt;    fupararef~optional      " Optional parameters&lt;br /&gt;    fupararef~parameter     " Parameter name&lt;br /&gt;    fupararef~defaultval    " Default value for import parameter&lt;br /&gt;    fupararef~structure     " Associated Type of an Interface&lt;br /&gt;Parameter&lt;br /&gt;    funct~stext             " Short text&lt;br /&gt;INTO TABLE i_tab&lt;br /&gt;FROM fupararef&lt;br /&gt;    INNER JOIN funct&lt;br /&gt;    ON  fupararef~funcname  = funct~funcname&lt;br /&gt;    AND fupararef~parameter = funct~parameter&lt;br /&gt;    AND funct~spras = sy-langu&lt;br /&gt;WHERE fupararef~funcname = p_func&lt;br /&gt;AND fupararef~r3state = 'A'&lt;br /&gt;ORDER BY fupararef~paramtype&lt;br /&gt;       fupararef~pposition.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;LOOP AT i_tab.&lt;br /&gt;AT NEW paramtype.&lt;br /&gt; CASE i_tab-paramtype.&lt;br /&gt;   WHEN 'C'.&lt;br /&gt;     MOVE '  CHANGING' TO mtab_new_prog-line.&lt;br /&gt;   WHEN 'E'.&lt;br /&gt;     MOVE '  IMPORTING' TO mtab_new_prog-line.&lt;br /&gt;   WHEN 'I'.&lt;br /&gt;     MOVE '  EXPORTING' TO mtab_new_prog-line.&lt;br /&gt;   WHEN 'T'.&lt;br /&gt;     MOVE '  TABLES' TO mtab_new_prog-line.&lt;br /&gt;   WHEN 'X'.&lt;br /&gt;     MOVE '  EXCEPTIONS' TO mtab_new_prog-line.&lt;br /&gt; ENDCASE.&lt;br /&gt; APPEND mtab_new_prog.&lt;br /&gt;ENDAT.&lt;br /&gt;&lt;br /&gt;IF i_tab-optional = 'X'.&lt;br /&gt; mtab_new_prog-line = `*^^^`.&lt;br /&gt;ELSE.&lt;br /&gt; mtab_new_prog-line = `^^^^`.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;IF i_tab-paramtype = 'X'.&lt;br /&gt; MOVE i_tab-pposition TO i_tab-defaultval.&lt;br /&gt; CONDENSE i_tab-defaultval.&lt;br /&gt;ELSE.&lt;br /&gt; TRANSLATE i_tab-parameter TO LOWER CASE.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;CONCATENATE mtab_new_prog-line i_tab-parameter '^=^' INTO mtab_new_prog-line.&lt;br /&gt;&lt;br /&gt;IF i_tab-defaultval IS NOT INITIAL.&lt;br /&gt; CONCATENATE mtab_new_prog-line i_tab-defaultval  INTO mtab_new_prog-line.&lt;br /&gt;ENDIF.&lt;br /&gt;&lt;br /&gt;mylen = STRLEN( mtab_new_prog-line ).&lt;br /&gt;&lt;br /&gt;IF mylen &lt; mylen =" 31" mylen =" STRLEN(" mylen =" 47" mtab_new_prog =" space." cl_gui_frontend_services=""&gt;clipboard_export&lt;br /&gt;IMPORTING&lt;br /&gt; data = mtab_new_prog[]&lt;br /&gt;CHANGING&lt;br /&gt; rc   = myrc.&lt;/span&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Using Fonts command in ABAP ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/using-fonts-command-in-abap-abap.html</link><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Tue, 22 Apr 2008 02:09:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-651358957956483138</guid><description>&lt;p style="color: rgb(0, 102, 0);"&gt;&lt;b&gt;How to change the font size of some of the character of SAP report without using scripts?&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Be aware that the PRINT-CONTROL is not supported in SAP Enterprise 4.7&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;For your information, SAP cannot provide any support to error caused by print control command &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(see &lt;a href="http://faqworld.blogspot.com/abap/use-of-print-control-in-sapscript.htm"&gt;SAP OSS notes 66478&lt;/a&gt;). &lt;/span&gt;&lt;/p&gt;&lt;pre&gt;* Parameters for function below should be taken from your printer&lt;br /&gt;* configuration in SAP - check SPAD transaction -&lt;br /&gt;* standard print control&lt;br /&gt;* print-control position 1 function: 'CI006', 'SF015'.&lt;br /&gt;*&lt;br /&gt;* Submitted by : SAP Basis, ABAP Programming and Other IMG Stuff&lt;br /&gt;*                &lt;a href="http://faqworld.blogspot.com/index.htm" target="_top"&gt;&lt;br /&gt;&lt;/a&gt;*&lt;br /&gt;REPORT ZFONT NO STANDARD PAGE HEADING LINE-SIZE 80 LINE-COUNT 65.&lt;br /&gt;&lt;br /&gt;* Start of print-control&lt;br /&gt;NEW-PAGE PRINT ON.&lt;br /&gt;&lt;br /&gt;PRINT-CONTROL FUNCTION 'SF000'.&lt;br /&gt;WRITE: / 'This is CPI 20'.&lt;br /&gt;&lt;br /&gt;SKIP.&lt;br /&gt;PRINT-CONTROL FUNCTION 'SF020'.&lt;br /&gt;WRITE: / 'This is CPI 6'.&lt;br /&gt;&lt;br /&gt;SKIP.&lt;br /&gt;PRINT-CONTROL FUNCTION 'SF008'.&lt;br /&gt;WRITE: / 'This is CPI 12'.&lt;br /&gt;&lt;br /&gt;* Depending on your SAP printer device, this may also work&lt;br /&gt;PRINT-CONTROL FONT 1 LPI 6.&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;* you can try to change font and LPI numbers&lt;/pre&gt;&lt;br /&gt;WRITE: / 'font 1 lpi 6'.&lt;br /&gt;&lt;br /&gt;PRINT-CONTROL FONT 2 LPI 6.&lt;br /&gt;WRITE: / 'font 2 lpi 6'.&lt;br /&gt;&lt;br /&gt;PRINT-CONTROL FONT 3 LPI 6.&lt;br /&gt;WRITE: / 'font 3 lpi 6'.&lt;br /&gt;&lt;br /&gt;* End of print-control&lt;br /&gt;NEW-PAGE PRINT OFF.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Using Different Color in ABAP ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/using-different-color-in-abap-abap.html</link><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Tue, 22 Apr 2008 02:08:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-8668044637678728667</guid><description>&lt;pre&gt;*&lt;br /&gt;* Different Color in ABAP&lt;br /&gt;*&lt;br /&gt;* Written by : SAP Basis, ABAP Programming and Other IMG Stuff&lt;br /&gt;*            &lt;a href="http://faqworld.blogspot.com/index.htm" target="_top"&gt;&lt;br /&gt;&lt;/a&gt;*&lt;br /&gt;REPORT ZCOLOR LINE-SIZE 90 NO STANDARD PAGE HEADING.&lt;br /&gt;&lt;br /&gt;DATA: BEGIN OF TP OCCURS 10, ID, NR(8), TEXT(255), END OF TP.&lt;br /&gt;&lt;br /&gt;DATA: LENGTH TYPE I VALUE 8,           " Length of list&lt;br /&gt;  TESTSTRING(15) TYPE C VALUE '012345678901234',&lt;br /&gt;  WIDTH TYPE I.                    " Width of list&lt;br /&gt;DATA: TXT_REPORT LIKE DOKHL-OBJECT.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;START-OF-SELECTION.&lt;br /&gt;PERFORM HEADING.&lt;br /&gt;PERFORM OUTPUT_BODY.&lt;br /&gt;&lt;br /&gt;FORM HEADING.&lt;br /&gt;FORMAT INTENSIFIED OFF.              " Remove any INTENSIFIED&lt;br /&gt;ULINE AT (WIDTH).                    " Upper frame border&lt;br /&gt;FORMAT COLOR COL_HEADING INTENSIFIED." Title color&lt;br /&gt;WRITE: / SY-VLINE.                   " Left border&lt;br /&gt;WRITE: 'No Colour        intensified    intensified off',&lt;br /&gt;     'inverse' NO-GAP.&lt;br /&gt;WRITE: AT WIDTH SY-VLINE.            " Right border&lt;br /&gt;ULINE AT (WIDTH).                    " Line below titles&lt;br /&gt;FORMAT COLOR OFF.&lt;br /&gt;ENDFORM.&lt;br /&gt;&lt;br /&gt;FORM OUTPUT_BODY.&lt;br /&gt;&lt;br /&gt;DO LENGTH TIMES.&lt;br /&gt;PERFORM WRITE_LINE USING SY-INDEX.&lt;br /&gt;ENDDO.&lt;br /&gt;ENDFORM.&lt;br /&gt;&lt;br /&gt;FORM WRITE_LINE USING COUNT TYPE I.&lt;br /&gt;DATA: HELP(14) TYPE C,&lt;br /&gt;    COUNT1 TYPE I.&lt;br /&gt;&lt;br /&gt;COUNT1 = SY-INDEX - 1.&lt;br /&gt;WRITE: / SY-VLINE NO-GAP.&lt;br /&gt;WRITE: (4) COUNT1 COLOR COL_KEY INTENSIFIED NO-GAP.&lt;br /&gt;WRITE: SY-VLINE NO-GAP.&lt;br /&gt;CASE COUNT1.&lt;br /&gt;WHEN '0'.&lt;br /&gt;  HELP = 'COL_BACKGROUND'.&lt;br /&gt;WHEN '1'.&lt;br /&gt;  HELP = 'COL_HEADING'.&lt;br /&gt;WHEN '2'.&lt;br /&gt;  HELP = 'COL_NORMAL'.&lt;br /&gt;WHEN '3'.&lt;br /&gt;  HELP = 'COL_TOTAL'.&lt;br /&gt;WHEN '4'.&lt;br /&gt;  HELP = 'COL_KEY'.&lt;br /&gt;WHEN '5'.&lt;br /&gt;  HELP = 'COL_POSITIVE'.&lt;br /&gt;WHEN '6'.&lt;br /&gt;  HELP = 'COL_NEGATIVE'.&lt;br /&gt;WHEN '7'.&lt;br /&gt;  HELP = 'COL_GROUP'.&lt;br /&gt;ENDCASE.&lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;WRITE: HELP COLOR COL_KEY INTENSIFIED NO-GAP.&lt;br /&gt;WRITE: SY-VLINE NO-GAP.&lt;br /&gt;WRITE: TESTSTRING COLOR = COUNT1 INTENSIFIED NO-GAP.&lt;br /&gt;WRITE: SY-VLINE NO-GAP.&lt;br /&gt;WRITE: TESTSTRING COLOR = COUNT1 INTENSIFIED OFF NO-GAP.&lt;br /&gt;WRITE: SY-VLINE NO-GAP.&lt;br /&gt;WRITE: TESTSTRING COLOR = COUNT1 INVERSE NO-GAP.&lt;br /&gt;WRITE AT WIDTH SY-VLINE NO-GAP.&lt;br /&gt;ENDFORM.&lt;br /&gt;&lt;br /&gt;*-- End of Program..&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>ABAP Questions Commonly Asked 1 ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/abap-questions-commonly-asked-1-abap.html</link><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Tue, 22 Apr 2008 02:08:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-2501042085549903973</guid><description>&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1) What is the difference betwen abap and sap  memories?&lt;/span&gt;&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Data sending between internal sessions is called abap  memory using import and export parameters.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Data  sending between main sessions using spa/gpa ie (set /get) parameters called sap  memory.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;2) What is nast?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;nast is a message status database table.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3) How to upload logo in sapscripts?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 1... create a logo using paint shop and save it as  tifffile then using RSTXLDMC (is a program name) used to upload logo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 2.....create a logo using paint shop and save it as  bmpfile then using SE78 you can do this.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;4) What are symbols explain?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Symbols are constants used to save un nessessary  work used in  documentation&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 1. system symbols : example:  &amp;amp;date&amp;amp; &amp;amp;time&amp;amp; etc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 2. text  symbols: they are defined using control statements&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     protect...endprotect, if endif, etc&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 3. standard symbols : all the messages are stored in TTDTG  table&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 4. program symbols  : used in abap program  example: &amp;amp;i_mara-matnr&amp;amp; &amp;amp;i_mara-ernam&amp;amp;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;5) Difference b/w call transaction and  session.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;table style="border: medium none ; margin-left: -12.6pt; border-collapse: collapse; width: 489px; height: 164px;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 8.25pt;"&gt;   &lt;td style="border: 0.5pt solid windowtext; padding: 0in 5.4pt; width: 180.75pt; height: 8.25pt;" valign="top" width="241"&gt;   &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="color: black;"&gt;Call   transaction&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 0.5pt 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 8.25pt;" valign="top" width="263"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;Session&lt;/span&gt; &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 21.1pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 180.75pt; height: 21.1pt;" valign="top" width="241"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;&lt;span style=""&gt; &lt;/span&gt;1.  synchronous updation optional&lt;/span&gt; &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 21.1pt;" valign="top" width="263"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;1.Only synchronous updation&lt;/span&gt; &lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 19.75pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 180.75pt; height: 19.75pt;" valign="top" width="241"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;2.  errors can handle   explicitely&lt;/span&gt; &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 19.75pt;" valign="top" width="263"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;2.Error log is created&lt;/span&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 10.5pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 180.75pt; height: 10.5pt;" valign="top" width="241"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;3.  faster&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 10.5pt;" valign="top" width="263"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;3.slower &lt;/span&gt; &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 14.25pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 180.75pt; height: 14.25pt;" valign="top" width="241"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;4.  less amount of data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 14.25pt;" valign="top" width="263"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;4.more can transfer &lt;/span&gt;   &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 34.6pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 180.75pt; height: 34.6pt;" valign="top" width="241"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;5.  updation takes place during   program execution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 197.25pt; height: 34.6pt;" valign="top" width="263"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;5.updation takes place&lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="color: black;"&gt;once the session   being created&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;6. Difference b/w smartforms and scripts.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;table style="border: medium none ; margin-left: -0.05in; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 0.25in;"&gt;   &lt;td style="border: 0.5pt solid windowtext; padding: 0in 5.4pt; width: 135.75pt; height: 0.25in;" valign="top" width="181"&gt;   &lt;p class="MsoNormal" style="margin-left: 9pt;"&gt;&lt;b&gt;&lt;span style="color: black;"&gt;&lt;span style=""&gt;     &lt;/span&gt;Script&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 0.5pt 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 269.25pt; height: 0.25in;" valign="top" width="359"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black;"&gt;Smartforms&lt;/span&gt; &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 17.25pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 135.75pt; height: 17.25pt;" valign="top" width="181"&gt;   &lt;p class="MsoNormal" style="margin-left: 9pt;"&gt;&lt;span style="color: black;"&gt;        Client dependant&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 269.25pt; height: 17.25pt;" valign="top" width="359"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;Independant&lt;/span&gt; &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 8.25pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 135.75pt; height: 8.25pt;" valign="top" width="181"&gt;   &lt;p class="MsoNormal" style="margin-left: 9pt;"&gt;&lt;span style="color: black;"&gt;        Not possible&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 269.25pt; height: 8.25pt;" valign="top" width="359"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;Multiple page formats are   possible&lt;/span&gt; &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 12pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 135.75pt; height: 12pt;" valign="top" width="181"&gt;   &lt;p class="MsoNormal" style="margin-left: 9pt;"&gt;&lt;span style="color: black;"&gt;        compulsory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 269.25pt; height: 12pt;" valign="top" width="359"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;Without  main window it can&lt;/span&gt;   &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 15pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 135.75pt; height: 15pt;" valign="top" width="181"&gt;   &lt;p class="MsoNormal" style="margin-left: 9pt;"&gt;&lt;span style="color: black;"&gt;        Labels are used&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 269.25pt; height: 15pt;" valign="top" width="359"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;Labels cannot&lt;/span&gt; &lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 18.4pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 0.5pt 0.5pt; padding: 0in 5.4pt; width: 135.75pt; height: 18.4pt;" valign="top" width="181"&gt;   &lt;p class="MsoNormal" style="margin-left: 9pt;"&gt;&lt;span style="color: black;"&gt;        Not generated&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" style="margin-left: 9pt;"&gt;&lt;span style="color: black;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 0.5pt 0.5pt medium; padding: 0in 5.4pt; width: 269.25pt; height: 18.4pt;" valign="top" width="359"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;Once session created function   module &lt;/span&gt;&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;7.  Errors hanling  in call transaction&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Two ways&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 1)... int table decalred having structure BDCMSGCOLL it  is having certain variables not texts. ie msgtyp,megid, msgnr, &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;msgvar1, msgvar2, msgvar3, msgvar4 etc all the text messages are  stored using T100 database table.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 2)....int  table decalred having structure BDCMSGCOLL it is having certain variables . ie  msgtyp,megid, msgnr, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;msgvar1, msgvar2, msgvar3,  msgvar4 etc by declaring function modules format_message or write_message you  can handle.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;8. Errors handling in session&lt;a href="http://sap-career.blogspot.com/"&gt; &lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; In SM35 error log is created, there you can handle.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;9. Difference b/w select-options, valueranges,  parameters. &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; par-----  singlevalue&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; select-options----range and itself implicitly creates  internal table&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; value-ranges---- just for  ranges &lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;10. How to remove duplicate entries?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; using COLLECT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; or&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; DELECT DUPLICATE ENTRIES FROM TABLENAME&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;11. What are standard texts?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; These are predefined texts used for create change and display  tcode SO10&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Starting with INCLUDE &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; These are for TERMS AND CONDITIONS .&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;12. What is the use of select....for all  entries?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Avoid nested select or inner  joins&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; uses&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    fast processing&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;   sorting&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;   delete duplicate entries&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;13. What is the difference b/w exit and  continue?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; exit----if it is in the loop comes  out of the loop.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;      ----if it is in the  subroutine comes out of the routine.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;      ----if  it is in the program comes out of the preogram.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; continue-----unconditional jumping out of the loop.&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;14. What is the diffenrence b/w collect and  append.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; collect----- checks whether it is  there or not. if there adds integer,  packed, float otherwise remove&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; append-----just adding&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;15) What are barcodes?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; For security purpose&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;b&gt;16 )What is meant by " Matchcode"?&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Matchcodes are defined in two stages in Abap/4  Dictionary:&lt;/span&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1) The revelant table and fields are stipulated in matchcode object. A matchcode object describes the set of all possible search paths for a search item.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;2) One or more matchcode ID can be defined for a matchcode object. A matchcode ID describes a special search path for a search term.The fields or combination of fields via which the search is to take place is defined in the matchcode ID.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Create Push Buttons in Application Tool Bar ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/create-push-buttons-in-application-tool.html</link><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Tue, 22 Apr 2008 02:07:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-2613807211365939472</guid><description>&lt;p&gt;&lt;b&gt;How to create pushbuttons in application tool bar in case of  selection-screen?&lt;/b&gt;  &lt;/p&gt;&lt;p&gt;REPORT  zsiva_test&lt;br /&gt;MESSAGE-ID zprecot.&lt;br /&gt;TABLES : afru.  &lt;/p&gt;&lt;p&gt;TYPES : BEGIN OF ty_test,&lt;br /&gt;     ism01 LIKE afru-ism01,&lt;br /&gt;     END  OF ty_test.&lt;br /&gt;TABLES sscrfields.  &lt;/p&gt;&lt;p&gt;SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;br /&gt;SELECT-OPTIONS : so_werks FOR afru-werks.&lt;br /&gt;SELECTION-SCREEN PUSHBUTTON  /79(10) charly USER-COMMAND abcd.&lt;br /&gt;SELECTION-SCREEN END OF BLOCK b1.  &lt;/p&gt;&lt;p&gt;INITIALIZATION.&lt;br /&gt;MOVE 'Press' TO charly.  &lt;/p&gt;&lt;p&gt;START-OF-SELECTION.  &lt;/p&gt;&lt;p&gt;END-OF-SELECTION.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;AT SELECTION-SCREEN.&lt;br /&gt;IF sscrfields-ucomm = 'ABCD'.&lt;br /&gt; MESSAGE i000  WITH so_werks-low 'Success' .&lt;br /&gt;ENDIF. &lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>A demo program to create subscreen in your ABAP Program ABAP Interview Questions</title><link>http://sap-abap-sd-fico-bw-mm.blogspot.com/2008/04/demo-program-to-create-subscreen-in.html</link><category>ABAP Interview Questions</category><author>noreply@blogger.com (Anonymous)</author><pubDate>Tue, 22 Apr 2008 02:06:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7217118471766343152.post-5623025191973308447</guid><description>&lt;p&gt;*&lt;br /&gt;* A demo program to create subscreen in your ABAP Program&lt;br /&gt;*&lt;br /&gt;*  This report will display the user last login date and time.&lt;br /&gt;*&lt;br /&gt;*  Subscreen selection 1 : User Name&lt;br /&gt;*                                2 : Last  Login Date&lt;br /&gt;*                                3 : Class Belong To&lt;br /&gt;*&lt;br /&gt;*  Written by : SAP Basis, ABAP Programming and Other IMG Stuff&lt;br /&gt;*&lt;br /&gt;* &lt;/p&gt;&lt;pre&gt;REPORT ZSUBSCREEN.&lt;br /&gt;&lt;br /&gt;TABLES: USR02,       "Logon data&lt;br /&gt;     SSCRFIELDS.  "FIELDS ON SELECTION SCREENS&lt;br /&gt;*---------------------------------------------------------------&lt;br /&gt;* SUBSCREEN 1&lt;br /&gt;*---------------------------------------------------------------&lt;br /&gt;SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.&lt;br /&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-010.&lt;br /&gt;SELECT-OPTIONS: USERNAME FOR USR02-BNAME.&lt;br /&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;br /&gt;SELECTION-SCREEN END OF SCREEN 100.&lt;br /&gt;&lt;br /&gt;*---------------------------------------------------------------&lt;br /&gt;* SUBSCREEN 2&lt;br /&gt;*---------------------------------------------------------------&lt;br /&gt;SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.&lt;br /&gt;SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-020.&lt;br /&gt;SELECT-OPTIONS: LASTLOGI FOR USR02-TRDAT.&lt;br /&gt;SELECTION-SCREEN END OF BLOCK B2.&lt;br /&gt;SELECTION-SCREEN END OF SCREEN 200.&lt;br /&gt;&lt;br /&gt;*---------------------------------------------------------------&lt;br /&gt;* SUBSCREEN 3&lt;br /&gt;*---------------------------------------------------------------&lt;br /&gt;SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN.&lt;br /&gt;SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-030.&lt;br /&gt;SELECT-OPTIONS: CLASSTYP FOR USR02-CLASS.&lt;br /&gt;SELECTION-SCREEN END OF BLOCK B3.&lt;br /&gt;SELECTION-SCREEN END OF SCREEN 300.&lt;br /&gt;&lt;br /&gt;* STANDARD SELECTION SCREEN FOR SCROLLING LEFT AND RIGHT&lt;br /&gt;SELECTION-SCREEN: FUNCTION KEY 1,&lt;br /&gt;               FUNCTION KEY 2.&lt;br /&gt;&lt;br /&gt;SELECTION-SCREEN: BEGIN OF TABBED BLOCK SUB FOR 15 LINES,&lt;br /&gt;               END OF BLOCK SUB.&lt;br /&gt;&lt;br /&gt;START-OF-SELECTION.&lt;br /&gt; SELECT * FROM USR02 WHERE BNAME IN USERNAME&lt;br /&gt;                       AND ERDAT IN LASTLOGI&lt;br /&gt;                       AND CLASS IN CLASSTYP.&lt;br /&gt;    WRITE: / 'User ', USR02-BNAME,&lt;br /&gt;             'Last Login Date ', USR02-TRDAT,&lt;br /&gt;             'Last Login Time ', USR02-LTIME,&lt;br /&gt;             'CLASS ', USR02-CLASS.&lt;br /&gt; ENDSELECT.&lt;br /&gt;END-OF-SELECTION.&lt;br /&gt;&lt;br /&gt;INITIALIZATION.&lt;br /&gt;* SCREEN ICON LEFT AND RIGHT&lt;br /&gt;SSCRFIELDS-FUNCTXT_01 = '@0D@'.&lt;br /&gt;SSCRFIELDS-FUNCTXT_02 = '@0E@'.&lt;br /&gt;SUB-PROG = SY-REPID.&lt;br /&gt;SUB-DYNNR = 100.&lt;br /&gt;&lt;br /&gt;AT SELECTION-SCREEN.&lt;br /&gt;CASE SY-DYNNR.&lt;br /&gt;&lt;br /&gt; WHEN 100.&lt;br /&gt;   IF SSCRFIELDS-UCOMM = 'FC01'.&lt;br /&gt;     SUB-DYNNR = 300.&lt;br /&gt;   ELSEIF SSCRFIELDS-UCOMM = 'FC02'.&lt;br /&gt;     SUB-DYNNR = 200.&lt;br /&gt;   ENDIF.&lt;br /&gt;&lt;br /&gt; WHEN 200.&lt;br /&gt;   IF SSCRFIELDS-UCOMM = 'FC01'.&lt;br /&gt;     SUB-DYNNR = 100.&lt;br /&gt;   ELSEIF SSCRFIELDS-UCOMM = 'FC02'.&lt;br /&gt;     SUB-DYNNR = 300.&lt;br /&gt;   ENDIF.&lt;br /&gt;&lt;br /&gt; WHEN 300.&lt;br /&gt;   IF SSCRFIELDS-UCOMM = 'FC01'.&lt;br /&gt;     SUB-DYNNR = 200.&lt;br /&gt;   ELSEIF SSCRFIELDS-UCOMM = 'FC02'.&lt;br /&gt;     SUB-DYNNR = 100.&lt;br /&gt;   ENDIF.&lt;br /&gt;ENDCASE.&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item></channel></rss>