SAP NetWeaver Programming Dylan Liu 劉兆宏 SAP NetWeaver Technical Consultant Email&MSN: dylan.sap@gmail.com Dec 11 2008 SAP NetWeaver Programming ABAP Performance & Tuning Graph: Performance and Cause Architecture of the ABAP Application Server Access Times to the Sap Buffer and the Database The Dialog Step Table Buffering: Types Database architecture WAS and Database Architecture Open SQL Keywords and Their Functions Keyword Function SELECT Read data from database tables. INSERT Insert lines into database tables. UPDATE Change the contents of lines in database tables. MODIFY Insert lines into database tables or change the contents of existing lines. DELETE Delete lines from database tables. COMMIT WORK Confirm all changes made in a database logical unit of work (LUW*). ROLLBACK WORK Undo all changes in a database LUW. Rule 1: Keep the Hit List Small Keep the Hit List Small Keep the Hit List Small Keep the Hit List Small: Effects Rule 2: Minimize the Amount of Transferred Data Minimize the Amount of Transferred Data Minimize the Amount of Transferred Data Minimize the Amount of Transferred Data Minimize the Amount of Transferred Data Minimize the Amount of Transferred Data Minimize the Amount of Transferred Data: Effects Rule 3: Keep the Number of Round Trips Small Keep the Number of Round Trips Small Keep the Number of Round Trips Small Keep the Number of Round Trips Small Keep the Number of Round Trips Small Keep the Number of Round Trips Small Keep the Number of Round Trips Small: Effects Rule 4: Keep the Cost of the Search Down Keep the Cost of the Search Down Reasonable Index Design Keep the Cost of the Search Down Keep the Cost of the Search Down Keep the Cost of the Search Down Keep the Cost of the Search Down Keep the Cost of the Search Down: Effects Rule 5: Remove the Load From the Database Remove the Load From the Database Remove the Load From the Database Statements that Bypass the Table Buffer Remove the Load From the Database Remove the Load From the Database Remove the Load From the Database Remove the Load From the Database: Effects Summary There is just one database server Buffers and indices Try to stick to the presented rules: Small hit list Minimize transfers Minimize number of round trips Narrow your search Minimize database load SAP NetWeaver Programming NetWeaver Programming: Java NetWeaver Programming: Java SAP NetWeaver provides complete support for Java technology: • Before SAP NetWeaver 7.0: J2EE 1.4 • From SAP NetWeaver CE 7.1: Java EE 5 What is JCo? SAP's Java middleware, the SAP Java Connector (JCo) allows SAP customers and partners to easily build SAPenabled components and applications in Java. JCo supports both inbound (Java calls ABAP) and outbound (ABAP calls Java) calls in desktop and (web) server applications Jco Examples (1) Jco Examples (2) Fundamentals of Web Dynpro History: Why the name “Web Dynpro”? Dynpro = ”Dynamic program” Dynpro is SAP‘s legacy technology for interactive UIs (R/2, R/3) programming in ABAP Dynpro‘s are rendered in SAP GUI application Web Dynpro is to combine: “high interactivity” (= dynamic GUI) and “zero installation” (= ubiquitous GUI, e.g. web browser) Fundamentals of Web Dynpro • • • • • • Minimize coding, maximize design Separate layout and logic Support arbitrary backend system Run on multiple platforms Support reuse of components 508 accessibility support Web Dynpro Java: Design Time WYSIWYG Editor Web Dynpro Java: Runtime SAP NetWeaver Programming Advice on ABAP career Questions?