ABAP Shared Objects - Shared Memory Programming Made Easy

March 21, 2018 | Author: Bülent Balcı | Category: Object (Computer Science), Database Transaction, Library (Computing), Databases, Ibm Db2


Comments



Description

Session ID: ABAP251 ABAP Shared ObjectsShared Memory Programming Made Easy Rolf Hammer, SAP AG Holger Janz, SAP AG Learning Objectives As a result of this workshop, you will be able to: Understand the concepts of ABAP Shared Objects Decide when (not) to use ABAP Shared Objects Define shared memory areas Store data in shared memory areas Access data in shared memory areas Adapt shared memory areas for your needs Monitor shared memory areas © SAP AG 2004, SAP TechEd / ABAP251 / 3 Motivation Basic Concepts Advanced Features 1 Advanced Features 2 What is Shared Memory ? Data Access without Buffering Data Access with Buffering by Copy Data Access with in Place Buffering Benefits for Application Programming What is Shared Memory ? Different kinds of main memory on an application server Session Memory Bound to a single user session Cannot be accessed by a different user session Guarantees user isolation Shared Memory (SHM) Shared across session boundaries No user isolation Requires access control in a business application context Application development has longed for buffering data in shared memory for a long time © SAP AG 2004, SAP TechEd / ABAP251 / 6 What is Shared Memory ? Data Access without Buffering Data Access with Buffering by Copy Data Access with in Place Buffering Benefits for Application Programming . Data Access without Buffering DB User X Session © SAP AG 2004. SAP TechEd / ABAP251 / 8 . SAP TechEd / ABAP251 / 9 .Data Access without Buffering Common data retrieved from DB and DB aggregated User X Session © SAP AG 2004. Data Access without Buffering Common data retrieved from DB and DB aggregated for each user session Common Data User X Session Common Data User Y Session Common Data User Z Session © SAP AG 2004. SAP TechEd / ABAP251 / 10 . What is Shared Memory ? Data Access without Buffering Data Access with Buffering by Copy Data Access with in Place Buffering Benefits for Application Programming . Data Access with Buffering by Copy DB User X Session © SAP AG 2004. SAP TechEd / ABAP251 / 12 . SAP TechEd / ABAP251 / 13 .Data Access with Buffering by Copy Common data retrieved from DB DB Common Data User X Session © SAP AG 2004. DB aggregated User X Session © SAP AG 2004. SAP TechEd / ABAP251 / 14 .Data Access with Buffering by Copy Common data retrieved from DB. SAP TechEd / ABAP251 / 15 . copied (EXPORT) to SHM Common Data User X Session © SAP AG 2004.Data Access with Buffering by Copy Shared Memory (SHM) DB Common Data Common data retrieved from DB. aggregated. and copied (IMPORT) to each user session Common Data User X Session Common Data User Y Session Common Data User Z Session © SAP AG 2004. copied (EXPORT) to SHM. SAP TechEd / ABAP251 / 16 . aggregated.Data Access with Buffering by Copy Shared Memory (SHM) DB Common Data Common data retrieved from DB. What is Shared Memory ? Data Access without Buffering Data Access with Buffering by Copy Data Access with in Place Buffering Benefits for Application Programming . Data Access with in Place Buffering Shared Memory (SHM) DB Common Data Common data retrieved from DB directly into SHM User X Session © SAP AG 2004. SAP TechEd / ABAP251 / 18 . Data Access with in Place Buffering Shared Memory (SHM) DB Common Data Common data retrieved from DB directly into SHM. aggregated in place User X Session © SAP AG 2004. SAP TechEd / ABAP251 / 19 . Data Access with in Place Buffering Shared Memory (SHM) DB Common Data Common data retrieved from DB directly into SHM. aggregated in place accessed copy-free by other user sessions User X Session User Y Session User Z Session © SAP AG 2004. SAP TechEd / ABAP251 / 20 . What is Shared Memory ? Data Access without Buffering Data Access with Buffering by Copy Data Access with in Place Buffering Benefits for Application Programming . and references Reduced maintenance costs due to Simplified programming model in contrast to solutions based on IMPORT / EXPORT © SAP AG 2004. SAP TechEd / ABAP251 / 22 .Benefits for Application Programming Significant boost in overall performance due to Reduced memory consumption Data is kept only once in memory Reduced runtime costs Data is aggregated only once Fast access at main memory speed In place aggregation for “arbitrary” data structures including strings. internal tables. Applications Using Shared Objects Workbench navigation Data is aggregated only once Ported to ABAP Shared Objects Saves 3 MB session memory per user About 100 times faster at first access Master Data Framework (Financials Basis) Speed up factor 1000 and more for where used queries Memory costs reduced to 1/15 per session Simplified code simplifies maintenance © SAP AG 2004. SAP TechEd / ABAP251 / 23 . Motivation Basic Concepts Advanced Features 1 Advanced Features 2 . Usage Scenarios Areas and Area Instances Locking Concept Creating and Accessing Contents . g.Usage Scenarios Main usage scenarios Shared buffers Low update frequency (e. SAP TechEd / ABAP251 / 26 . once a day to once per hour) (Very) costly amount of data Many parallel readers. single writer Exclusive buffers Access by a single writer or reader Buffer content is kept across transactions Coarse granular locking concept Only a complete buffer can be locked Rare updates Readers and writers know each other © SAP AG 2004. Usage Scenarios Areas and Area Instances Locking Concept Creating and Accessing Contents . Areas and Area Instances Shared object memory Part of the shared memory Customizable by profile parameter Shared Memory Shared Object Memory Area I n s t a n c e I n s t a n c e Area I n s t a n c e Shared object areas Organizational units (type) Defined at design time Identified by unique name Shared object area instances Content stored at runtime Unique name within the area Single-instance area addressed by default name © SAP AG 2004. SAP TechEd / ABAP251 / 28 . SAP TechEd / ABAP251 / 29 . no outgoing references to User session memory Other shared objects area instances Instance Root Inner references are allowed © SAP AG 2004.e.Area Instances and Objects Objects are reachable via references Area instances have a root object All objects must be reachable from the root object Area instances are selfcontained. i. g.Design Time Support Areas are defined at design time with the shared objects area manager (transaction SHMA) Area name corresponds to a class to be generated (e. cl_my_area) Name of root class must be specified (e. SAP TechEd / ABAP251 / 30 . cl_my_root) Area: cl_my_area Instance Root: cl_my_root © SAP AG 2004.g. Shared Memory Enabling of a Root Class Common class defined with class builder (transaction SE24) Checkbox ‘Shared Memory Enabled’ active © SAP AG 2004. SAP TechEd / ABAP251 / 31 . SAP TechEd / ABAP251 / 32 .Definition of a Shared Memory Area Special class defined with the shared objects area manager (transaction SHMA) Root class must be specified © SAP AG 2004. Abstract Area Class Transaction SHMA generates for each area a class which inherits from the abstract class cl_shm_area cl_shm_area cl_my_area1 cl_my_area2 cl_my_area3 © SAP AG 2004. SAP TechEd / ABAP251 / 33 . Usage Scenarios Areas and Area Instances Locking Concept Creating and Accessing Contents . Locking Concept Coarse granular locking concept Lock kinds: read. SAP TechEd / ABAP251 / 35 . write. and update Only complete area instances can be locked Write/Update locks are exclusive In general immediate response to locking requests (success or exception) Only one read lock per internal session on the same area instance Default lock duration until end of current internal session © SAP AG 2004. SAP TechEd / ABAP251 / 36 .Attaching to an Area Instance Provides access to a shared objects area instance Creates handle object Sets appropriate lock Makes reference to root object available Methods attach_for_read attach_for_write attach_for_update User X Session User Y Session Handle Handle Instance Root Handle © SAP AG 2004. © SAP AG 2004. Open default instance for write myShmHandle = cl_my_area=>attach_for_write( ). SAP TechEd / ABAP251 / 37 . myRoot type ref to cl_my_root.. myShmHandle type ref to cl_my_area.Example: Write Access data: .. SAP TechEd / ABAP251 / 38 Instance Root Handle Handle User X Session Handle User Y Session .Detaching from an Area Instance Cancels access to a shared objects area instance Invalidates handle object Releases lock Makes reference to root object unavailable Changes must be committed or rolled back Methods detach detach_commit detach_rollback © SAP AG 2004. . .. if . endif. else. © SAP AG 2004.. myShmHandle = cl_my_area=>attach_for_write( ).... myShmHandle->detach_rollback( ).Example: Detach from Write Access data: . SAP TechEd / ABAP251 / 39 Commit changes Rollback changes . myShmHandle type ref to cl_my_area. myRoot type ref to cl_my_root. myShmHandle->detach_commit( ). Usage Scenarios Areas and Area Instances Locking Concept Creating and Accessing Contents . Creates instance of a class Only instance attributes are created Class attributes exist only once per session Class must be ‘shared memory enabled’ Class builder property flag special addition SHARED MEMORY ENABLED at class definition section CREATE DATA … AREA HANDLE hdl. Creates instance of a data type All data types can be instantiated (future release) © SAP AG 2004.Creating Data Objects CREATE OBJECT … AREA HANDLE hdl. SAP TechEd / ABAP251 / 41 . myShmHandle type ref to cl_my_area. myRoot->name = 'My first area instance'. Set root object and myShmHandle->detach_commit( ).. create object myRoot area handle myShmHandle. © SAP AG 2004.. myShmHandle->set_root( myRoot ). Create arbitrary (data) . append wa to myRoot->itab. myRoot type ref to cl_my_root..Example: Filling Contents data: . commit changes else... endif. objects in shared memory if . myShmHandle = cl_my_area=>attach_for_write( ). SAP TechEd / ABAP251 / 42 .. myShmHandle->detach_rollback( ). SAP TechEd / ABAP251 / 43 . © SAP AG 2004.Accessing Data Objects All objects are accessible via root object Handle provides reference to root object Example: x = myShmHandle->root->myObject->myAttribute. read table myShmHandle->root->itab into wa index i.Example: Accessing Contents data: myShmHandle type ref to cl_my_area. ... SAP TechEd / ABAP251 / 44 . Access root object components Release lock © SAP AG 2004. Open default instance for read myShmHandle = cl_my_area=>attach_for_read( ). myShmHandle->detach( ). SAP TechEd / ABAP251 / 45 . instances.Shared Objects Area Monitor Shared objects area monitor (transaction SHMM) Overview on areas. and locks Content browser © SAP AG 2004. Demo Demo 1 © SAP AG 2004. SAP TechEd / ABAP251 / 46 . SAP TechEd / ABAP251 / 47 .Exercise Exercise 1 © SAP AG 2004. Basic Concepts Advanced Features 1 Advanced Features 2 . Multi Attach Preloading Versioning Client Dependency . if needed Handles for every attached area or exception object will be returned © SAP AG 2004. if needed Specify wait time. SAP TechEd / ABAP251 / 50 .Multi Attach Method MULTI_ATTACH must be used to attach to more than one area within one internal session Precluding of dead lock situations How to use MULTI_ATTACH Pass an internal table with all needed area description Specify ignoring errors. 'ZCL_MY_AREA_2'. cl_shm_area=>lock_kind_read.Multi Attach Example data: attach_tab type shm_attach_tab. attach_wa like line of attach_tab. © SAP AG 2004. error_flag type abap_bool. cl_shm_area=>multi_attach( importing error_flag = error_flag changing attach_tab = attach_tab ). table attach_tab. table attach_tab. SAP TechEd / ABAP251 / 51 . attach_wa-area_name = attach_wa-inst_name = attach_wa-lock_kind = insert attach_wa into attach_wa-area_name = attach_wa-inst_name = attach_wa-lock_kind = insert attach_wa into 'ZCL_MY_AREA_1'. cl_shm_area=>default_instance. cl_shm_area=>lock_kind_write. cl_shm_area=>default_instance. Multi Attach Preloading Versioning Client Dependency . if the active version becomes out of date or expires (includes above case) © SAP AG 2004. i.Preloading Automatic preloading (buffer warm-up) for area instances can be specified at design time Requires the specification of a loader class implementing the interface if_shm_build_instance The automatically started loader runs asynchronously in a separate session (of the same user) to avoid side effects on the caller Possible options for the preload starting point Due to a read request if no active version is available Due to invalidation.e. SAP TechEd / ABAP251 / 53 . SAP TechEd / ABAP251 / 54 .Preloading Preloading is specified at design time using transaction SHMA © SAP AG 2004. endtry. hdl = zcl_my_area=>attach_for_read( ). SAP TechEd / ABAP251 / 55 . raise exception excp. hdl = zcl_my_area=>attach_for_read( ).Preloading Example data: hdl type ref to zcl_my_area. catch cx_shm_no_active_version into excp. try. excp type ref to cx_shm_no_active_version. © SAP AG 2004. endif. wait up to 1 seconds. if excp->textid <> cx_shm_no_active_version=>build_started and excp->textid <> cx_shm_no_active_version=>build_not_finished. Multi Attach Preloading Versioning Client Dependency . SAP TechEd / ABAP251 / 57 .Versioning Example Instance Version: active Reader1 © SAP AG 2004. Versioning Example Instance Version: active Version: under construction Reader1 © SAP AG 2004. SAP TechEd / ABAP251 / 58 Writer . Versioning Example Instance Version: active Version: under construction Reader1 Reader2 © SAP AG 2004. SAP TechEd / ABAP251 / 59 Writer . SAP TechEd / ABAP251 / 60 .Versioning Example Instance Version: out of date Version: active Reader1 Reader2 © SAP AG 2004. Versioning Example Instance Version: out of date Version: active Reader1 Reader2 © SAP AG 2004. SAP TechEd / ABAP251 / 61 Reader3 . SAP TechEd / ABAP251 / 62 Reader3 .Versioning Example Instance Version: out of date Version: active Reader1 © SAP AG 2004. SAP TechEd / ABAP251 / 63 .Versioning Example Instance Version: expired Version: active Reader3 © SAP AG 2004. Versioning Example Instance Version: active Reader3 © SAP AG 2004. SAP TechEd / ABAP251 / 64 . . no further read attaches possible 4. Expired (0. will be automatically garbage collected Version under construction Version active Version out of date Version expired © SAP AG 2004. Active (0.. Out of date (0.n): Out of date and no more readers. Under construction (0. SAP TechEd / ABAP251 / 65 ..1): Last committed version used for further read attaches 3.States of Versions The 4 States 1.1): As long as a version is being changed 2.n): Version with still attached readers.. SAP TechEd / ABAP251 / 66 .Versioning Concept Versioning is defined at design time Maximum number of versions can be specified at design time Versioning guarantees that read attaches can be satisfied in general Strictly speaking a version is an area instance version © SAP AG 2004. Versioning Versioning is specified at design time using transaction SHMA © SAP AG 2004. SAP TechEd / ABAP251 / 67 . Multi Attach Preloading Versioning Client Dependency . if different clients require different instances Analogy to database client handling Client is part of the area instance name Optional client parameter for most area methods (default: current client. only possible without preloading) Predefined constant to address all clients © SAP AG 2004. i.Client Dependency Client dependency is specified at design time Needed if area instances shall be client aware. SAP TechEd / ABAP251 / 69 .e. SAP TechEd / ABAP251 / 70 .Client Dependency Client dependency is specified at design time using transaction SHMA © SAP AG 2004. SAP TechEd / ABAP251 / 71 .Demo Demo 2 © SAP AG 2004. SAP TechEd / ABAP251 / 72 .Exercise Exercise 2 © SAP AG 2004. Basic concepts Advanced Features 1 Advanced Features 2 . Transactional Areas and Propagation Displacement Memory Limits Binding . SAP TechEd / ABAP251 / 75 .Transactional Areas Motivation Database changes Area Instance Version 1 Database © SAP AG 2004. Transactional Areas Motivation Database changes Area instance depending on database changes Area Instance Version 1 Version 2 Database © SAP AG 2004. SAP TechEd / ABAP251 / 76 . version 1 gets out of date Area Instance Version 1 Version 2 Database © SAP AG 2004.Transactional Areas Motivation Database changes Area instance depending on database changes Area commit. SAP TechEd / ABAP251 / 77 . SAP TechEd / ABAP251 / 78 . version 1 gets out of date and expires Version 2 Area Instance Database © SAP AG 2004.Transactional Areas Motivation Database changes Area instance depending on database changes Area commit. version 1 gets out of date and expires Database rollback inconsistency in area instance Version 2 ??? Area Instance Database © SAP AG 2004. SAP TechEd / ABAP251 / 79 .Transactional Areas Motivation Database changes Area instance depending on database changes Area commit. Transactional Areas Solution Transactional behavior is specified at design time Versions finished with detach_commit becomes active with the next database commit Read attaches before the next database commit will be routed to still active version Example: Area with versioning v1 active v2 under construction read v1 Read v2 write v2 detach_commit © SAP AG 2004. SAP TechEd / ABAP251 / 80 v1 active v2 pending read v1 v1 out of date v2 active DB commit . Propagation Motivation Instances reside on Application Server instances Database AppServer 1 Instance Version 1 AppServer 2 Instance Version 1 AppServer 3 Instance Version 1 © SAP AG 2004. SAP TechEd / ABAP251 / 81 . Propagation Motivation Instances reside on Application Server instances Instance changes Database AppServer 1 Instance Version 1 Version 2 AppServer 2 Instance Version 1 AppServer 3 Instance Version 1 © SAP AG 2004. SAP TechEd / ABAP251 / 82 . SAP TechEd / ABAP251 / 83 .Propagation Motivation Instances reside on Application Server instances Instance changes do not affect other servers Database AppServer 1 Instance Version 1 Version 2 AppServer 2 Instance Version 1 AppServer 3 Instance Version 1 © SAP AG 2004. Propagation Motivation Instances reside on Application Server instances Instance changes do not affect other servers Instance mismatch on other application servers Database AppServer 1 Instance AppServer 2 Instance Version 1 AppServer 3 Instance Version 1 ??? Version 2 ??? © SAP AG 2004. SAP TechEd / ABAP251 / 84 . Propagation Solution Instance changes are not propagated to other servers. only an invalidation record is sent Database AppServer 1 Instance Version 1 Version 2 AppServer 2 Instance version1 Version 1 ??? AppServer 3 Instance version1 Version 1 ??? © SAP AG 2004. SAP TechEd / ABAP251 / 85 . SAP TechEd / ABAP251 / 86 . only an invalidation record is sent New versions are created at next read request via automatic preloading Database AppServer 1 Instance AppServer 2 Instance Version 1 AppServer 3 Instance Version 1 Version 2 Version 2 Version 2 © SAP AG 2004.Propagation Solution Instance changes are not propagated to other servers. if area contents depend on database contents Pull model Receiving a sync record lets the active version become out of date Rebuild is not forced (push model) but depends on preloading options Propagation only means a system wide invalidation of areas. Automatic preloading is used to create updated version. SAP TechEd / ABAP251 / 87 . © SAP AG 2004.Propagation Propagation is automatically specified at design time for all transactional areas Needed for area instances that shall be kept in sync on several application servers Propagation is only possible for transactional areas Technical reason: sync records via database Conceptual reason: In general propagation will be needed. Transactional Areas and Propagation Transactional Areas are specified at design time using transaction SHMA Propagation is done via invalidation using the PROPAGATE methods © SAP AG 2004. SAP TechEd / ABAP251 / 88 . SAP TechEd / ABAP251 / 89 . hdl = zcl_my_area=>attach_for_write( ). hdl type ref to zcl_my_area. create object root area handle hdl. commit work.Transactional Areas and Propagation Example data: root type ref to zcl_my_area_root. hdl->set_root( root ). zcl_my_area=>propagate_instance( ). © SAP AG 2004. hdl->detach_commit( ). Transactional Areas and Propagation Displacement Memory Limits Binding . SAP TechEd / ABAP251 / 91 .Displacement Displacement means that an area instance version with no active readers can be pushed out of shared memory Dynamic area property specified at design time Recommended on 32-bit systems only The following displacement modes can be specified Simple displacement without saving area contents Displacement by serialization to disk (future SAP NetWeaver release) Every object must be serializable (tag interface if_serializable_object) Deserialization at the next read request © SAP AG 2004. SAP TechEd / ABAP251 / 92 .Displacement Displacement is specified at design time using transaction SHMA © SAP AG 2004. Transactional Areas and Propagation Displacement Memory Limits Binding Lifetime . Gives tools and administrator an idea how much shared memory is needed for a certain application.Memory Limits Memory limits are defined at design time for one area instance all instances of one area (future SAP NetWeaver release) Used to prevent applications to run wild in shared memory. SAP TechEd / ABAP251 / 94 . © SAP AG 2004. Memory Limits Memory Limits is specified at design time using transaction SHMA © SAP AG 2004. SAP TechEd / ABAP251 / 95 . Transactional Areas and Propagation Displacement Memory Limits Lifetime . invalidation Used to free unused or to refresh to contents of shared memory © SAP AG 2004. preloading Without read access (idle time). SAP TechEd / ABAP251 / 97 .Lifetime Lifetime is defined at design time Automatic invalidation or preloading after lifetime One out of three kinds of lifetime can be specified Up to expiry (invalidation time). invalidation Up to update (refresh time). Lifetime Lifetime is specified at design time using transaction SHMA © SAP AG 2004. SAP TechEd / ABAP251 / 98 . SAP TechEd / ABAP251 / 99 .Demo Demo 3 © SAP AG 2004. Exercise Exercise 3 © SAP AG 2004. SAP TechEd / ABAP251 / 100 . SAP TechEd / ABAP251 / 101 .Encapsulation Avoid direct access to shared memory area instances Session Reader Area Instance1 Reader Instance2 Reader Instance3 Writer © SAP AG 2004. Broker Instead. it is recommended to communicate with an area via a broker class that encapsulates Area initialization Area access Lock administration Authority checks Session Reader Area Instance1 Reader Broker Reader Instance3 Reader Instance2 © SAP AG 2004. SAP TechEd / ABAP251 / 102 . Area Properties - Overview The following properties can be specified at design time Versioning Preloading Transactional Propagation Client dependency Displacement Memory limits Lifetime © SAP AG 2004, SAP TechEd / ABAP251 / 103 Additional Features Conceptual Error handling via exceptions Query methods for handle state Special roll handle to address roll area Technical Consistency check for types used at area build-up and attach time Garbage collection for area instances Copy-on-write becomes copy-on-detach for internal tables and strings © SAP AG 2004, SAP TechEd / ABAP251 / 104 Summary ABAP Shared Objects is used to share common data between different session Coarse granular locking concept supports shared buffer or exclusive buffer Versioning is used to implement high available services Transactional areas are used to synchronize shared object instances with database Propagation is used to synchronize shared object instances on different application server © SAP AG 2004, SAP TechEd / ABAP251 / 105 Further Information Public Web: www.sap.com/education/ Related Workshops/Lectures at SAP TechEd 2004 ABAP201. Best of ABAP . 2h Hands-on © SAP AG 2004.com SAP Developer Network: www.sap. ABAP Troubleshooting. New ABAP Debugger and Memory Inspector .40 Feature Show .sdn. 2h Lect. ABAP351.com/services/ Related SAP Education Training Opportunities http://www. Advanced and Generic Programming in ABAP. 4h Hands-on ABAP151. ABAP Objects for Java Developers. 2h Hands-on ABAP255. 4h Hands-on ABAP253.sap. SAP TechEd / ABAP251 / 106 .sap.com SAP Customer Services Network: www.The Ultimate ABAP 6. Coming in December.SAP Developer Network Look for SAP TechEd ’04 presentations and videos on the SAP Developer Network.sdn. SAP TechEd / ABAP251 / 107 .com/ © SAP AG 2004. http://www.sap. Questions? Q&A © SAP AG 2004. SAP TechEd / ABAP251 / 108 . Thank You ! © SAP AG 2004.Feedback Please complete your session evaluation. SAP TechEd / ABAP251 / 109 . and do not take the handouts for the following session. Be courteous — deposit your trash. Parallel Sysplex. DB2. if any. AIX. JavaScript is a registered trademark of Sun Microsystems. XHTML and W3C are trademarks or registered trademarks of W3C®. and PowerPoint are registered trademarks of Microsoft Corporation. All other product and service names mentioned are the trademarks of their respective companies.com. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only. xApp. Program Neighborhood. © SAP AG 2004. VideoFrame. IBM. Java is a registered trademark of Sun Microsystems. AFP. MVS/ESA. without representation or warranty of any kind. ICA. used under license for technology invented and implemented by Netscape. pSeries. xApps. iSeries. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. OS/2. SAP. DB2 Universal Database. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services. Windows. zSeries. xSeries. Inc. Inc. Oracle is a registered trademark of Oracle Corporation. Tivoli. Data contained in this document serves informational purposes only. mySAP. Citrix. R/3. mySAP. MetaFrame. XML. OS/390. SAP NetWeaver and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. z/OS.Copyright 2004 SAP AG. MaxDB is a trademark of MySQL AB. UNIX. Microsoft. HTML. National product specifications may vary. SAP TechEd / ABAP251 / 110 . OSF/1. Nothing herein should be construed as constituting an additional warranty. S/390. AS/400. Netfinity.. All Rights Reserved No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. WinFrame. OS/400. Outlook. and Motif are registered trademarks of the Open Group. Sweden. X/Open. and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries. WebSphere. Intelligent Miner. These materials are subject to change without notice. World Wide Web Consortium. and MultiWin are trademarks or registered trademarks of Citrix Systems. Inc. and SAP Group shall not be liable for errors or omissions with respect to the materials. Massachusetts Institute of Technology.
Copyright © 2024 DOKUMEN.SITE Inc.