7$: - · pdf file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv...

376
© SAP AG TAW12 Preface-1 SAP AG 2004 7$:$%$3:RUNEHQFK&RQFHSWV © SAP AG 2005 7$: $%$3:RUNEHQFK&RQFHSWV Part 2/2 R/3 System Release 4.6D or above 2005/Q2 Material number 50077373

Upload: dangtuyen

Post on 04-Mar-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Preface-1

SAP AG 2004

7$:���$%$3�:RUNEHQFK�&RQFHSWV������

�������������� ����������������������� ���������

© SAP AG 2005

7$:���$%$3�:RUNEHQFK�&RQFHSWV

Part 2/2

� R/3 System

� Release 4.6D or above

� 2005/Q2

� Material number 50077373

Page 2: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Preface-2

Page 3: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Preface-3

SAP AG 2005

&RS\ULJKW������6$3�$*���$OO�ULJKWV�UHVHUYHG� 1R�SDUW�RI�WKLV�SXEOLFDWLRQ�PD\�EH�UHSURGXFHG�RU�WUDQVPLWWHG�LQ� DQ\�IRUP�RU�IRU�DQ\�SXUSRVH�ZLWKRXW�WKH�H[SUHVV�SHUPLVVLRQ�RI� 6$3�$*��7KH�LQIRUPDWLRQ�FRQWDLQHG�KHUHLQ�PD\�EH�FKDQJHG� ZLWKRXW�SULRU�QRWLFH��

&RS\ULJKW

� Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.�

� Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.

� IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries.

� Oracle is a registered trademark of Oracle Corporation.

� UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.

� Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.

� HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.

� Java is a registered trademark of Sun Microsystems, Inc.

� JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.

� MaxDB is a trademark of MySQL AB, Sweden.

Page 4: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Preface-4

� SAP, R/3, mySAP, mySAP.com, xApps, xApp, 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. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.

� The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.

� This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice.

� SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.

� SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence.

� The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.

Page 5: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Preface-5

SAP AG 2004

&RXUVH�3UHUHTXLVLWHV

5HTXLUHG

z 7$:����6$3�1HW:HDYHU � $%$3�:RUNEHQFK�)XQGDPHQWDOV�RU�VLPLODU�NQRZOHGJH

Page 6: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Preface-6

SAP AG 2004

7DUJHW�*URXS

"

7DUJHW�*URXS

z 'HYHORSPHQW�FRQVXOWDQWV�DQG�GHYHORSHUV�ZKR�DUH�UHVSRQVLEOH�IRU�DGDSWLQJ�DQG�GHYHORSLQJ�EXVLQHVV�DSSOLFDWLRQV�LQ�$%$3�$%$3�2EMHFWV�

'XUDWLRQ

z ���'D\V

Page 7: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Preface-7

SAP AG 2004

$W�WKH�HQG�RI�WKLV�FRXUVH��\RX�ZLOO�EH�DEOH�WR�z 'HVFULEH�WKH�FRQFHSWV�EHKLQG�WKH�$%$3�

SURJUDPPLQJ�ODQJXDJH�z 8VH�WKH�$%$3�SURJUDPPLQJ�ODQJXDJH�DQG�WKH�

WRROV�RI�$%$3�:RUNEHQFK�WR�GHYHORS�\RXU�RZQ�EXVLQHVV�DSSOLFDWLRQV�RU�WR�PDNH�DGMXVWPHQWV�WR�WKH�VWDQGDUG�6$3�VRIWZDUH�

z 3XW�\RXU�NQRZOHGJH�DV�D�MXQLRU�FRQVXOWDQW�WR�SUDFWLFDO�XVH��

&RXUVH�*RDOV

Page 8: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Preface-8

SAP AG 2004

6HFWLRQ (QKDQFHPHQWV�DQG�0RGLILFDWLRQV&DVH�6WXG\

6HFWLRQ 'HYHORSLQJ�8VHU�'LDORJV6HFWLRQ 3URJUDPPLQJ�'DWDEDVH�

8SGDWHV6HFWLRQ 6ROXWLRQ�0DQDJHU

&RXUVH�&RQWHQW��6$3�1HW:HDYHU ± $%$3�:RUNEHQFK�&RQFHSWV

3UHIDFH

� This SAP Consultant Education training course contains different individual courses (section), each

of which deals with a separate topic. �

Each individual course (section) is divided into different units.

Page 9: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Complex 4

SAP AG 2003

&RPSOH[� (QKDQFHPHQWV�DQG�0RGLILFDWLRQV

Page 10: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Complex 4

SAP AG 2002

Unit 1 &RXUVH�2YHUYLHZUnit 2 &KDQJLQJ�WKH�6$3�6WDQGDUGUnit 3 3HUVRQDOL]DWLRQUnit 4 (QKDQFHPHQWV�WR�$%$3�'LFWLRQDU\�(OHPHQWVUnit 5 (QKDQFHPHQWV�8VLQJ�&XVWRPHU�([LWVUnit 6 %XVLQHVV�7UDQVDFWLRQ�(YHQWVUnit 7 %XVLQHVV�$GG�,QVUnit 8 0RGLILFDWLRQVUnit 9 &RQFOXVLRQUnit 10 $SSHQGL[

3UHIDFH

Exercises and their solutions can be found at the end of each unit

&RXUVH�&RQWHQWV

Page 11: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 19-1

SAP AG 2002

&RQWHQWV�z &RXUVH�JRDOVz &RXUVH�REMHFWLYHVz &RXUVH�FRQWHQWVz &RXUVH�RYHUYLHZ�GLDJUDPz 0DLQ�EXVLQHVV�VFHQDULRz ,QWURGXFWLRQ

,QWURGXFWLRQ� &RQWHQWV

Page 12: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 19-2

SAP AG 2002

7KLV�FRXUVH�ZLOO�SUHSDUH�\RX�WR�z 0DNH�TXDOLILHG�FKDQJHV�WR�WKH�6$3�VWDQGDUGz (YDOXDWH�WKH�GLIIHUHQW�PHWKRGV�IRU�PRGLILFDWLRQ�

DQG�FKRRVH�WKH�ULJKW�RQH�IRU�WKH�JLYHQ�VLWXDWLRQ

&RXUVH�*RDOV

Page 13: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 19-3

SAP AG 2002

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

z 'HVFULEH�WKH�GLIIHUHQW�NLQGV�RI�FKDQJH�OHYHOV�DYDLODEOH�LQ�WKH�5���6\VWHP

z (QKDQFH�$%$3�'LFWLRQDU\�REMHFWV�ZLWKRXW�KDYLQJ�WR�PRGLI\�WKHP

z ,PSOHPHQW�HQKDQFHPHQWV�WR�WKH�5���VWDQGDUG�XVLQJ�FXVWRPHU�H[LWV��%XVLQHVV�7UDQVDFWLRQ�(YHQWV��DQG�%XVLQHVV�$GG�,QV

z 0DNH�DQG�DGMXVW�PRGLILFDWLRQV�XVLQJ�WKH�0RGLILFDWLRQ�$VVLVWDQW

&RXUVH�2EMHFWLYHV

Page 14: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 19-4

SAP AG 2002

&RXUVH�2YHUYLHZ�'LDJUDP

z0RGLILFDWLRQ�$VVLVWDQWz8VHU�H[LWV

z2YHUYLHZ

z$%$3�'LFWLRQDU\� ������� ��

� ��� ����� �����������

z&XVWRPHU�H[LWV� �������������������� ���� ����!�� ���

� "#��������!$� ���

� %��'& ��������!�� �(�

z%XVLQHVV�7UDQVDFWLRQ�(YHQWVz%XVLQHVV�$GG�,QV

5���%XVLQHVV�$SSOLFDWLRQV5���%XVLQHVV�$SSOLFDWLRQV�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�

(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQz 7UDQVDFWLRQ�YDULDQWV

3HUVRQDOL3HUVRQDOL��]DWLRQ]DWLRQ

��

��

��

��

��

��

���

Page 15: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 19-5

SAP AG 1999

z <RX�DUH�HPSOR\HG�E\�D�PDMRU�WUDYHO�DJHQF\�DV�D�FRPSXWHU�VSHFLDOLVW��,W�LV�\RXU�UHVSRQVLELOLW\�WR�HQKDQFH�WKH�SURJUDPV�WKDW�\RXU�FXVWRPHU�VHUYLFH�VSHFLDOLVWV�XVH�ZKHQ�KHOSLQJ�FOLHQWV

z 7KHUH�DUH�VHYHUDO�ZD\V�RI�HQKDQFLQJ�\RXU�VRIWZDUH�ZLWKRXW�KDYLQJ�WR�DFWXDOO\�PRGLI\�\RXU�V\VWHPV�VWDQGDUG

0DLQ�%XVLQHVV�6FHQDULR

Page 16: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-1

SAP AG 1999

z 2YHUYLHZ�RI�WKH�&KDQJH�/HYHOVz 'HFLVLRQ�GLDJUDPz &KDQJH�WHFKQLTXHV

&RQWHQWV�

&KDQJLQJ�WKH�6$3�6WDQGDUG

Page 17: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-2

SAP AG 2002

z 'HVFULEH�WKH�GLIIHUHQW�OHYHOV�DW�ZKLFK�\RX�FDQ�PDNH�FKDQJHV�WR�WKH�VWDQGDUG�GHOLYHUHG�E\�6$3

z &KRRVH�WKH�PRVW�VXLWDEOH�PHWKRG�IRU�FKDQJLQJ�WKH�VWDQGDUG

z /LVW�WKH�HQKDQFHPHQW�WHFKQLTXHV�DYDLODEOH�DQG�KRZ�WKH\�ZRUN

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

&KDQJLQJ�WKH�6$3�6WDQGDUG� 8QLW�2EMHFWLYHV

Page 18: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-3

SAP AG 2002

&RXUVH�2YHUYLHZ�'LDJUDP

z0RGLILFDWLRQ�$VVLVWDQWz8VHU�H[LWV

z2YHUYLHZ

z$%$3�'LFWLRQDU\� ������� ��� ��� ����� �����������

z&XVWRPHU�H[LWV� �������������������� ���� ����!�� ���� "#��������!$� ���� %��'& ��������!�� �(�

z%XVLQHVV�7UDQVDFWLRQ�(YHQWVz%XVLQHVV�$GG�,QV

5���%XVLQHVV�$SSOLFDWLRQV5���%XVLQHVV�$SSOLFDWLRQV�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�

(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQz 7UDQVDFWLRQ�YDULDQWV

3HUVRQDOL3HUVRQDOL��]DWLRQ]DWLRQ

��

��

��

��

��

��

���

Page 19: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-4

SAP AG 2002

5���%XVLQHVV�5���%XVLQHVV�$SSOLFDWLRQV$SSOLFDWLRQV

�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�&XVWRPHU&XVWRPHUSURJUDPVSURJUDPV

&XVWRPHU�&XVWRPHU�GHYHORSPHQWGHYHORSPHQW(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQ&XVWRPL]LQJ&XVWRPL]LQJ

$%$3:RUNEHQFK

3HUVRQDOL]DWLRQ3HUVRQDOL]DWLRQ

&KDQJH�/HYHOV

&XVWRPL]LQJ

� You can adjust the R/3 System to meet your needs in the following ways:

y &XVWRPL]LQJ:Setting up specific business processes and functions for your system according to an implementation guide. The need for these changes has already been foreseen by SAP and an implementation procedure has been developed.

y 3HUVRQDOL]DWLRQ: Making changes to certain fields’ global display attributes (setting default values or hiding fields) as well as creating user-specific menu sequences.

y 0RGLILFDWLRQV: Changes to SAP Repository objects made at the customer site. If SAP delivers a changed version of the object, the customer’s system must be adjusted to reflect these changes. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.

y (QKDQFHPHQWV: Creating Repository objects for individual customers that refer to objects that already exist in the SAP Repository.

y &XVWRPHU�'HYHORSPHQWV� Creating Repository objects unique to individual customers in a specific namespace reserved for new customer objects.

� Customizing and most personalization are done using tools found in the Business Engineer; customer developments, enhancements, and modifications are all made using the tools available in the ABAP Workbench.

Page 20: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-5

SAP AG 2002

2ULJLQDOV�DQG�&RSLHV

&RS\&RS\

2ULJLQDO2ULJLQDO

&RS\&RS\

&RS\&RS\

2ULJLQDO2ULJLQDO6$3�REMHFW 6$3�REMHFW 6$3�REMHFW

&XVW��REMHFW &XVW��REMHFW

7UDQVSRUW�RI7UDQVSRUW�RIGHYHORSPHQWVGHYHORSPHQWV

'HYHORSPHQW�V\VWHP'HYHORSPHQW�V\VWHP 1H[W�V\VWHP1H[W�V\VWHP

� An object is original in RQO\�RQH�V\VWHP. In the case of objects delivered by SAP, the original system is at SAP itself. In customer systems, these objects are then only available as copies. This applies to your development system and all other systems that come after it.

� If you write your own applications, the objects that you create are original in your development system. You assign your developments to a change request, which has the type 'HYHORSPHQW�&RUUHFWLRQ.

� This request ensures that the objects are transported from the development system into the subsequent systems.

Page 21: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-6

SAP AG 2002

&RUUHFWLRQV�DQG�5HSDLUV

0RGLILHG0RGLILHGFRS\FRS\

&RUUHFWHG&RUUHFWHGRULJLQDORULJLQDO

&RS\&RS\

&RS\&RS\

&RUUHFWHG&RUUHFWHGRULJLQDORULJLQDO

6$3�REMHFW

7UDQVSRUW7UDQVSRUWRI�FRUUHFWLRQRI�FRUUHFWLRQ

6$3�REMHFW 6$3�REMHFW

&XVW��REMHFW &XVW��REMHFW

&RUUHFWLRQ&RUUHFWLRQ

5HSDLU5HSDLU&RUUHFWLRQ&RUUHFWLRQ 7UDQVSRUW7UDQVSRUWRI�UHSDLURI�UHSDLU

'HYHORSPHQW�V\VWHP'HYHORSPHQW�V\VWHP 1H[W�V\VWHP1H[W�V\VWHP

� Changes to an original are called FRUUHFWLRQV� They are recorded in a change request whose tasks have the type 'HYHORSPHQW�FRUUHFWLRQ.

� If, on the other hand, you change a copy (an object outside its own original system), the change is recorded in a task with the type 5HSDLU. Repairs to SAP objects are called PRGLILFDWLRQV��

� When you repair your own objects (for example, if something goes wrong in your production system), you can correct the original in your development system straight away. :KHQ�\RX�FKDQJH�FRSLHV��\RX�PXVW�FRUUHFW�WKH�RULJLQDO�LPPHGLDWHO\��

� However, you cannot do this with SAP objects, because they are not original in any of your systems.

� You should only modify the SAP standard if the modifications you want to make are absolutely necessary for optimizing workflow in your company. Be aware that good background knowledge of application structure and flow are essential prerequisites for deciding what kind of modifications to make and how these modifications should be designed.

Page 22: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-7

SAP AG 2002

0RGLILFDWLRQV�DQG�8SJUDGHV

0RGLILHG0RGLILHGFRS\FRS\

&RUUHFWHG&RUUHFWHGRULJLQDORULJLQDO

&RS\&RS\

&RS\&RS\

&RUUHFWHG&RUUHFWHGRULJLQDORULJLQDO

6$3�REMHFW

7UDQVSRUW7UDQVSRUWRI�DGMXVWPHQWRI�DGMXVWPHQW

6$3�REMHFW 6$3�REMHFW

&XVW��REMHFW &XVW��REMHFW

8SJUDGH8SJUDGH8SJUDGH8SJUDGH

0RGLILFDWLRQ0RGLILFDWLRQDGMXVWPHQWDGMXVWPHQW

'HYHORSPHQW�V\VWHP'HYHORSPHQW�V\VWHP 1H[W�V\VWHP1H[W�V\VWHP

� Whenever you upgrade your system, apply a Support Package, or import a transport request, conflicts can occur with modified objects.

� Conflicts occur when you have changed an SAP object and SAP has also delivered a new version of it. The new object delivered by SAP becomes an active object in the Repository of your system.

� If you want to save your changes, you must perform a PRGLILFDWLRQ�DGMXVWPHQW�for the objects. If you have a lot of modified SAP objects, your upgrade can be slowed down considerably.

� To ensure consistency between your development system and subsequent systems, you should only perform modification adjustments in your development system. The objects from the adjustment can then be transported into other systems.

Page 23: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-8

SAP AG 2002

3URFHGXUH�IRU�&KDQJLQJ�D�)XQFWLRQ

0RGLILFDWLRQ&XVW��GHYHORSPHQW�ZLWK6$3�SURJ��DV�WHPSODWH

No

No

YesNo

Does the SAP application allow you to add

additional functions using enhancements?

Yes

(QKDQFHPHQW

Are there standard functions that can be adjusted to fulfill the customer’s needs using customizing or personalization?

Yes

&XVWRPL]LQJ3HUVRQDOL]DWLRQ

No

&XVWRPHU�GHYHORSPHQW&63�VROXWLRQ

&XVWR

PL]LQ

J&X

VWRPL

]LQJ

'HYH

ORSPH

QW'H

YHORS

PHQW

Do similar functions exist in the SAP standard?

� If your requirements cannot be filled by Customizing or personalization, you can either start a development project or use a Complementary Software Product (CSP) solution, if available. A list of CSP solutions certified by SAP is available in the SAP Service Marketplace under the alias /VRIWZDUHSDUWQHU.

� A development project falls into the customer development category if the SAP standard does not already contain functions similar to the one you are trying to develop. If, however, a similar SAP function exists, try to assimilate it into your development project by either enhancing or modifying it, by using a user exit, or simply by making a copy of the appropriate SAP program.

� Modifications can cause problems: After an upgrade, new versions of SAP objects must be compared to modified versions of SAP objects you have created and adjusted if necessary. Prior to Release 4.0B these adjustments had to be made manually using upgrade utilities. From Release 4.5A, this procedure has been automated with the Modification Assistant.

� Thus, you should only make modifications if:

y Customizing or personalizing cannot satisfy your requirements

y Enhancements or user exits are not planned

y It would not make sense to copy the SAP object to the customer namespace.

Page 24: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-9

SAP AG 2002

&XVWRPL]LQJ) *,+.- /.*�/10�2 34265 780'9':.5 ;</

=:?><5 04/4>@>�A�B(C /@D42 >E F G H I J K LM G N L G E F G H I J K LM G N L G O P L Q R H I L N F S LS O T L K

E F G H I J K L M G N L GH M T K O U T QVL T PE F G H I J K L M G N L GG L P F G T J W S LYX J H Z J U O T UE F G H I J K L M G N L GP I O G N�X J G P [\N L S O ] L G [

^ O Q6L

A�B C /�D426_ A�`V5 /10?2 /@;ab342 3$cd7<;./e-

f g h i j k l mh m n g o l o p o q r s m r t q ho r n g o h u s m r t q hn g q p k p o q r f g h i j k l mo r v q h w k p o q rx j o y y o r zr q p o v o i k p o q r

s m r t q hl i j m t g { o r zk z h m m w m r pf g h i j k l mq h t m h

|8` 7.D@/4>�>,c�7.;e/.-

} k p m h o k {w k r k z m w m r p~ r � m r p q h uw k r k z m w m r p x k { m l ~ r v q h w k p o q rl u l p m w�� k h m j q g l mw k r k z m w m r ps m r t q ho r n g o h u� � q v v m h f g h �i j k l mq h t m h�� h t m h

�+�+.- 5 D�3@2�5 780���7<*,+<7�04/10�2 >

�80�2 /.`6+.`�5 >e/�A�`��.3.0e5 �(34265 7�0

���8��|

��71`�� �6- 7@��3104;$A�` �<3.0.5 �(3�2�5 7�0

��� ��|8` 7<D4/�;�:e` /�c�7<;</e-

5���5HIHUHQFH0RGHO

=:?><5 04/4>@>�|8` 7.D.�?�8D�/.0�3e`65 7.>

� The Business Engineer is made up of all SAP LPSOHPHQWDWLRQ�WRROV. These include:

y 7KH�5���5HIHUHQFH�0RGHO Contains all of the models used to describe R/3 (the process model, the data model, and the organization model)

y 7KH�,PSOHPHQWDWLRQ�*XLGH (IMG)

y A complete list of all customizing changes

Page 25: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-10

SAP AG 2002

<RX�FDQ�RIWHQ�VLPSOLI\�DQG�SHUVRQDOL]H�DQ�DSSOLFDWLRQ�ZLWKRXW�KDYLQJ�WR�XVH�WKH�$%$3�:RUNEHQFK��XVLQJ�WKH�IROORZLQJ�PHWKRGV�

3HUVRQDOL]DWLRQ

z *OREDO�GLVSOD\�DWWULEXWHV�RI�ILHOGVz 6(7�*(7�SDUDPHWHUVz 9DULDQW�WUDQVDFWLRQVz 7DEOH�FRQWURO�VHWWLQJV�YDOLG�WKURXJKRXW�WKH�HQWLUH�

V\VWHPz 3HUVRQDOL]HG�PHQXV

z 5ROH�EDVHG�PHQXz )DYRULWHVz 6KRUWFXWV�RQ�\RXU�GHVNWRS

� 3HUVRQDOL]DWLRQ�accelerates and simplifies how business cases are processed by the R/3 System. During personalization, individual application transactions are adjusted to meet the business needs of your company as a whole or even to the needs of specific user groups within your company. Unnecessary information and functions in the transaction are switched off.

� Global display attributes allow you to define default values for specific screen fields. You can also suppress individual fields or table control columns in a particular transaction, or even a whole screen.

� Role-based menus, favorites, and shortcuts allow you to adjust PHQX�VHTXHQFHV to reflect the needs of different user groups within your company.

Page 26: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-11

SAP AG 2002

&KDQJH�/HYHOV�LQ�WKH�$%$3�:RUNEHQFK

5���%XVLQHVV�5���%XVLQHVV�$SSOLFDWLRQV$SSOLFDWLRQV

�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�&XVWRPHU&XVWRPHUSURJUDPVSURJUDPV

z&DOOLQJ 6$3�REMHFWVz:LWKRXW�FDOOLQJ�6$3�REMHFWV

&XVWRPHU&XVWRPHU'HYHORSP'HYHORSP��

z$VVLVWHG�PRGLILFDWLRQ

0RGLILFDWLRQ0RGLILFDWLRQ

z8VHU�H[LWV

z$%$3�'LFWLRQDU\� �$����� ���� ���?����� ��������� �

z3URJUDP�HQKDQFHPHQWV� �����'����� �������� ,�'� ���!�� � �� �����$�6�d�������& ���d�d�d��?� ��������������

� �����$�6�d����¡ ¢ � �£(¤6���

z0HQX�HQKDQFHPHQWV� "#��������!$� ���� �����$�6�d����¡ ¢ � �£(¤6���

z6FUHHQ�HQKDQFHPHQWV� %���&(�����¡��!�� ���� �����$�6�d����¡ ¢ � �£(¤6���

(QKDQFHPHQW(QKDQFHPHQW

� Modifications are changes to SAP objects in customer systems. They are:

y Executed with the help of user exits (these are subroutines reserved for customers in objects in the SAP namespace)

y Hard-coded at various points within SAP Repository objects.

� Customer developments are programs developed by customers that can call SAP Repository objects. Example: A customer creates a program that calls an SAP function module.

� The enhancement concepts embody the reverse of this principle: SAP programs call Repository objects that you, as a customer, have created or changed. Example: You use a function module exit called by an SAP program. You can enhance your system at the following levels:

y In ABAP programs (IXQFWLRQ�PRGXOH�H[LWV)

y On GUI interfaces (PHQX�H[LWV)

y On screens by inserting a subscreen in an area specified by SAP (VFUHHQ�H[LWV)

y On screens by processing customer code that refers to a specific field on the screen (ILHOG�H[LWV)

y In ABAP Dictionary tables or structures (WDEOH�HQKDQFHPHQWV)

Page 27: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-12

SAP AG 2002

7DEOH�(QKDQFHPHQWV

$SSHQG�VWUXFWXUH7DEOH�GHILQLWLRQ$%$3�'LFWLRQDU\$%$3�'LFWLRQDU\

)LHOG�� )LHOG�� )LHOG��<<)LHOG<<)LHOG ==)LHOG==)LHOG

��� ��� ¦¥ ��� ��� �§ ��� ��� �¨ ©�© ��� �'� ©ª© ��� ���� «�« ��� ���� «�« ��� ���

'DWDEDVH'DWDEDVH

&,B,QFOXGH7DEOH�GHILQLWLRQ <<)LHOG<<)LHOG ==)LHOG==)LHOG

)LHOG�� )LHOG�� )LHOG�� &,B,QFO

� SAP provides two ways to enhance tables and structures with fields.

y Structures

y Customizing includes (CI includes)

� Both techniques allow you to attach fields to a table without actually having to modify the table itself.

� Append structures may only be assigned to a single table. A table may, however, have several append structures attached to it. During activation, the system searches for all active append structures for that table and attaches them to the table.

� Append structures differ from include structures in how they refer to their tables. To include fields from an include structure in a table, you must add an .INCLUDE... line to the table. In this case, the table refers to the substructure. Append structures, on the other hand, refer to their tables. In this case, the tables themselves are not altered in any way by the reference.

Page 28: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-13

SAP AG 2002

6$3 &XVWRPHU

7DEOH�HQKDQFHPHQW7DEOH $SSHQG�VWUXFWXUH

7DEOH�HQKDQFHPHQW7DEOH����LQFOXGH�VWDWHPHQW &,B,QFOXGH

7DEOH�(QKDQFHPHQWV� 6$3�DQG�WKH�&XVWRPHU

� Append structures allow you to attach fields to a table without actually having to modify the table itself. Table enhancements using append structures therefore do not have to be planned by SAP developers. An append structure can belong to only one table.

� In contrast, CI_includes allow you to use the same structure in multiple tables. The include statement must already exist in the SAP table or structure. Table enhancements using CI_includes do, however, have to be planned by SAP developers.

Page 29: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-14

SAP AG 2002

3URJUDP�(QKDQFHPHQWV� +RZ�7KH\ :RUN

6$3�SURJUDP

352*5$0��QDPH�RI�6$3�SURJUDP!�

6$3�SURJUDP

352*5$0��QDPH�RI�6$3�SURJUDP!�

�&DOO�HQKDQFHPHQW!�&DOO�HQKDQFHPHQW!�2EMHFW�LQ�2EMHFW�LQ FXVWRPHUFXVWRPHU QDPHVSDFH!QDPHVSDFH!

&XVWRPHU�H[LW ([LW�IXQFWLRQ�PRGXOH([LW�IXQFWLRQ�PRGXOH%XVLQHVV�7UDQVDFWLRQ�(YHQW )XQFWLRQ�PRGXOH)XQFWLRQ�PRGXOH%XVLQHVV�DGG�LQ 0HWKRG0HWKRG

� The purpose of a program enhancement is always to call an object in the customer namespace. You can use the following techniques here:

y Customer Exits A special exit function module is called by the SAP application program. The function module is part of a function group that is handled in a special manner by the system.

y Business transaction events The SAP application program dynamically calls a function module in the customer namespace.

y Business add-ins The application program calls a method of a class or instance of a class. This class lies in the customer namespace.

Page 30: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-15

SAP AG 1999

3URJUDP�(QKDQFHPHQWV� 6$3�DQG�WKH�&XVWRPHU

6$3 &XVWRPHU

&XVWRPHU�H[LW)XQFWLRQ�PRGXOH�H[LW )XQFWLRQ�PRGXOH�FRGH

%XVLQHVVWUDQVDFWLRQ

HYHQWV

)XQFWLRQ�PRGXOH�LQ�FXVWRPHU�QDPHVSDFH

%XVLQHVV�DGG�LQV 0HWKRG�LQFXVWRPHU�FODVV

&DOO$GPLQLVWUDWLRQ

,QWHUIDFH'RFXPHQWDWLRQ

� Program enhancements permit you to execute additional program logic in SAP application programs. SAP currently provides the techniques outlined above.

� The advantages and restrictions of the particular enhancement techniques will be discussed in detail in later units.

Page 31: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-16

SAP AG 1999

0HQX�(QKDQFHPHQWV� 6$3�DQG�WKH�&XVWRPHU

6$3 &XVWRPHU

0HQX�H[LWV)XQFWLRQ�FRGH 7H[W(QKDQFHPHQW'RFXPHQWDWLRQ

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��

&XVW��IXQFWLRQ&XVW��IXQFWLRQ

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��

�,FRQV�

� Menu enhancements permit you to add additional menu entries to an SAP standard menu. The system provides two options here:

y Customer exits

y Business add-ins

� The additional menu entries are merged into the GUI interface.

� When the function code is implemented, you can change the text of the menu entry, and - provided the SAP developer specified this option - change the icons.

Page 32: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-17

SAP AG 2002

6FUHHQ�(QKDQFHPHQWV

6$3 &XVWRPHU

6$3�5�� 6$3�5��

)LHOG��)LHOG��

)LHOG�<)LHOG�;

)LHOG�=

6FUHHQ�H[LW6XEVFUHHQ DUHDV

(QKDQFHPHQW'RFXPHQWDWLRQ

)ORZ�ORJLF 6XEVFUHHQV)XQFWLRQ�PRGXOH�FRGH

)LHOG��)LHOG��

%XVLQHVV�$GG�,Q

� Screen exits are a type of customer exit. They allow you to display additional objects in an SAP application program screen. The SAP developer must:

y Define the subscreen areas

y Specify the corresponding calls in the flow logic

y Provide the framework for the data transport

y Include the screen exit in an enhancement

y Maintain the documentation

� From SAP Web Application Server 6.20 onwards, Business Add-Ins can also contain screen exits.

� You can implement screen exits by creating subscreens, possibly with flow logic. You also have to implement the data transport.

� How to implement screen exits will be discussed in two later units in this course: (QKDQFHPHQWV�XVLQJ�&XVWRPHU�([LWV (for classical screen exits) and %XVLQHVV�$GG�,QV for the new screen exits).

Page 33: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-18

SAP AG 2002

6$3 &XVWRPHU

¬�­�®�¯'­�°�±³²�²�² ²²�²�²

´ ®$µ�¶'·�¶'¸�¹�º¼»�½�¾�¶'¸�·#²'²²�²�²²�²�²²�²�²

²�²�²´ ®$µ�¶'·�¶'¸�¹�º¼»�½�¾�¶'¸�·#²'²²�²�²

6$3�SURJUDP

0RGLILFDWLRQV

¬�­�®�¯'­°�±¿²�²�² ²²�²�²

´ ®$µ�¶'·�¶'¸�¹�º¼»�½�¾�¶'¸'·#²�²²�²�²²�²�²²�²�²

²�²�²´ ®$µ�¶'·�¶'¸�¹�º¼»�½�¾�¶'¸'·#²�²²�²�²

´ »�½'¾�ÀÂÁdÃ$¹'¸�·'À�¾Ä½�µ¼¹�¾�¾$À�¾ÆÅ�ÇÉÈ�Ã$À´ »�½'¾�ÀÄÁdÃ$¹'¸�·�À�¾Ä½�µ¼¹�¾�¾�À�¾ÆÅ$ÇÊÈÃ�ÀÁ'Ë�Ì'È�½Í,À�µÁ�Ë�Ì'È�½�Í,À�µ

6$3�SURJUDP

� Any change that you make your system to an object that has been delivered by SAP is known as a modification.

� Modifications can lead to complications at upgrade. When SAP delivers a new version of the object, you must decide whether the new object should be used, or whether you want to continue using your old object.

� Prior to Release 4.0B, modifications were only recorded at Repository object level (for example, an include program).

� Since Release 4.5A, the granularity for recording modifications has been finer. This has been made possible by the Modification Assistant, which is discussed in the Modifications unit of this course.

� The modification adjustment process has also been overhauled. How modifications are adjusted is also discussed in the Modifications unit.

Page 34: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-19

SAP AG 1999

z *LYH�DQ�RYHUYLHZ�RI�WKH�FKDQJH�OHYHOV�RIIHUHG�E\�6$3

z 'HFLGH�ZKLFK�PHWKRG�LV�PRVW�VXLWDEOH�IRU�FKDQJLQJ�WKH�6$3�VWDQGDUG

z ([SODLQ�ZK\�6$3�RIIHUV�HQKDQFHPHQW�WHFKQLTXHV�IRU�FKDQJLQJ�WKH�GHOLYHUHG�VWDQGDUG

z /LVW�WKH�HQKDQFHPHQW�WHFKQLTXHV�RIIHUHG�E\�6$3

<RX�DUH�QRZ�DEOH�WR�

&KDQJLQJ�WKH�6$3�6WDQGDUG� 8QLW�6XPPDU\

Page 35: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-20

��

Page 36: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 20-21

'DWD�8VHG�

.H\�WR�LFRQV�LQ�WKH�H[HUFLVHV�DQG�VROXWLRQV�

([HUFLVHV�

6ROXWLRQV�

2EMHFWLYHV�

%XVLQHVV�VFHQDULRV�

+LQWV�DQG�WLSV�

:DUQLQJ�RU�FDXWLRQ�

'DWD�XVHG�LQ�H[HUFLVHV�

7\SH�RI�GDWD� 'DWD�LQ�WUDLQLQJ�V\VWHP�

Tables SFLIGHT00 .. SFLIGHT18

Data elements S_CARRID00 .. S_CARRID18

Programs SAPBC425_EXIT_00 .. SAPBC425_EXIT_18

Transaction codes BC425_00 .. BC425_18

Programs SAPBC425_BOOKING_00 .. SAPBC425_BOOKING_00

Page 37: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-1

SAP AG 2002

z 3HUVRQDOL]LQJ�WUDQVDFWLRQV&RQWHQWV�

3HUVRQDOL]DWLRQ

Page 38: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-2

SAP AG 2002

z 3HUVRQDOL]H�WUDQVDFWLRQV�E\�z &UHDWLQJ�VFUHHQ�YDULDQWVz &UHDWLQJ�WUDQVDFWLRQ�YDULDQWVz &KDQJLQJ�VFUHHQV�XVLQJ�*XL;7

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

3HUVRQDOL]DWLRQ��8QLW�2EMHFWLYHV

Page 39: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-3

SAP AG 2002

z <RXU�HQG�XVHUV�XVH�RQO\�D VPDOO�SDUW�RI�WKH�IXQFWLRQV SURYLGHG�E\�5��� 7R�VLPSOLI\�WKHLU GDLO\�ZRUN��WKH\ VKRXOG�VHW�XS�WKHLU�ZRUN FHQWHU�WR�FRUUHVSRQG�WR�WKHLU QHHGV�

z <RXU�FROOHDJXHV�VKRXOG�DOVR�EH�DEOH�WR H[HFXWH�VLPSOLILHG�WUDQVDFWLRQV�IURP�WKHLU�ZRUN�FHQWHUV�7KLV�FDQ�XVXDOO\�EH�GRQH�ZLWK�WUDQVDFWLRQ�YDULDQWV�

3HUVRQDOL]DWLRQ� %XVLQHVV�6FHQDULR

Page 40: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-4

SAP AG 2002

2YHUYLHZ�'LDJUDP��3HUVRQDOL]DWLRQ

z0RGLILFDWLRQ�$VVLVWDQWz8VHU H[LWV

z2YHUYLHZ

z$%$3�'LFWLRQDU\� ������� ��� ��� ����� �����������

z&XVWRPHU�H[LWV� �������������������� ���� ����!�� ���� "#��������!$� ���� %��'& ��������!�� �(�

z%XVLQHVV 7UDQVDFWLRQ (YHQWVz%XVLQHVV�$GG�,QV

5���%XVLQHVV�$SSOLFDWLRQV5���%XVLQHVV�$SSOLFDWLRQV�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�

(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQz 7UDQVDFWLRQYDULDQWV

3HUVRQDOL3HUVRQDOL��]DWLRQ]DWLRQ

��

��

��

��

��

��

���

Page 41: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-5

SAP AG 2002

3HUVRQDOL]DWLRQ�/HYHOV72

372

3 ��'2

:1�

FRQIL

JXUDW

LRQ'2

:1�FR

QILJX

UDWLRQ

3HUVRQDO�FRQILJXUDWLRQ3HUVRQDO�FRQILJXUDWLRQ

$UHD�$UHD�PHQXVPHQXV

5ROH5ROH��EDVHG�PHQXVEDVHG�PHQXV 7UDQV�7UDQV�YDULDQWVYDULDQWV

8VHU�UROH8VHU�UROHFRQILJXUDWLRQFRQILJXUDWLRQ

(QWHUSULVH�z (QWHUSULVH�VWUXFWXUHz %XVLQHVV�SURFHVVHV

8VHU�UROHV�z $UHD�PHQXVz 5ROH�EDVHG�PHQXVz 7UDQVDFWLRQ�YDULDQWV

3HUVRQDOFRQILJXUDWLRQ�z )DYRULWHVz /LQNVz 'HVNWRS�OLQNV

)DYRULWHV)DYRULWHV /LQNV/LQNV 'HVNWRS'HVNWRS

5ROH5ROH��EDVHGEDVHGPHQXVPHQXV

� You can adjust the SAP System to meet the work requirements of specific users. When the system is started, the users are only offered functions that they typically use in their daily work. There is no unnecessary navigating through functions that are not used. In the past, user menus could be called in the Session Manager or in the dynamic menu in R/3. As of Release 4.6A, role-based menus appear in the form of a tree at logon.

� When a function is selected, it is started in the same session. The executed function replaces the role-based menu. The role-based menu appears again automatically when you leave a transaction or when you start a new session.

� On the role maintenance screen (transaction PFCG), the administrator can combine the menu structure for a role (consisting of transactions, reports, and Internet/Intranet links) with a user menu. You can choose any structure and description for the functions contained.

� The enterprise menu is no longer available from Release 4.6A onwards.

Page 42: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-6

SAP AG 2002

7UDQVDFWLRQ�9DULDQWV��3XUSRVH

z 6LPSOLI\�WKH�V\VWHP�E\�KLGLQJ�IXQFWLRQV�WKDW�DUH�QRW�UHTXLUHGz 3UHGHILQH�ILHOGVz 5HYRNH�UHDG\�IRU�LQSXW�VWDWXVz +LGH�VFUHHQ�HOHPHQWV�WKDW�DUH�QRW�QHHGHG��ILHOGV��VXEVFUHHQV��

VFUHHQV�z 6WDQGDUG�YDULDQWV�RU�LQGLYLGXDO�YDULDQWVz :<6,:<*�PDLQWHQDQFH�ZLWK�VSHFLDO�UHFRUGLQJ�IXQFWLRQ

� You can reduce the complexity of the system by hiding functions you do not need. Transaction variants allow you to reduce the complexity of a complete transaction for the user as follows:

y Predefine fields with values. The user can overwrite these values.

y Revoke the 5HDG\�IRU�,QSXW status of fields for which the user does not have to enter information.

y Hide screen elements, such as input fields, that the user does not need.

y Hide whole screens.

� We will discuss the maintenance of transaction variants in the following slides.

Page 43: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-7

SAP AG 2002

7UDQVDFWLRQYDULDQW

7UDQVDFWLRQ�9DULDQWV� ([DPSOH)+*-,/.0*21�3

4�56567 8:9+;=<+7 >�?@�A:BC9+5D>FE:5-AG<:7 >�?

@�A:BC9+5D>FE:5-AH>F7 IJA

)C*-,/.0*21�3

@�9=>2AHK:LML-; 7 N�OP>Q+; 7 N�OP>4�7 5F; 7 RCA

S <C<+TVUCA=9=>2UQ+52ACAGU0AP9=>2UW�567 <PA

������

������)+*-,�.=*21�3

@�9=>2AHKML:L-; 7 NXOC>Q:; 7 N�O=>4�7 56; 7 RCA

S <C<+TVUCA=9=>2UQ+5-ACAYU=A=9=>2UW5F7 <PA

z 3UHGHILQH�ILHOGV�ZLWK�YDOXHVz 6XSSUHVV�ILHOGVz +LGH�VFUHHQV

Z [/\ ]^:]_]=`

^�acb b ]C[/d^aeb b ]P[0f

Z [�\�]

)+*2,V.0*D1�3

^:]0]=`

g�h=ikj�lnm�o4�56567 8:9+;=<+7 > ?@�A:B+9C5D>FEM52AH>F7 IJA

^acb b ]+[_f

������

������

� In this example you see two screens of an SAP transaction that should be redesigned using a transaction variant.

� Screen 100 is changed as follows: fields are hidden, field attributes are changed; and buttons are hidden.

� Screen 200 shows the following changes: buttons moved and screen inserted (with GuiXT). We will discuss the use of GuiXT in more detail later.

Page 44: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-8

SAP AG 2002

6FUHHQ�YDULDQW]WHVWB����

6FUHHQ�YDULDQW]WHVWB����6FUHHQ�YDULDQW]WHVWB����

7UDQVDFWLRQ�9DULDQWV� 3ULQFLSOH

6FUHHQ�YDULDQW]WHVWB����6FUHHQ�YDULDQW

]WHVWB����6FUHHQ�YDULDQW]WHVWB����

7UDQVDFWLRQ�YDULDQW7UDQVDFWLRQ�YDULDQW

� A WUDQVDFWLRQ�YDULDQW is a reference to a set of VFUHHQ�YDULDQWV. � You can create any number of screen variants for a screen. The transaction variant consists of these

screen variants.

Page 45: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-9

SAP AG 2002

7UDQVDFWLRQ�9DULDQWV� 2SWLRQV

6WDQGDUG�YDULDQW6WDQGDUG�YDULDQW

7UDQVDFWLRQ7UDQVDFWLRQYDULDQW��YDULDQW��

7UDQVDFWLRQ7UDQVDFWLRQYDULDQW�YDULDQW���

7UDQVDFWLRQ7UDQVDFWLRQYDULDQW�YDULDQW���

6$36$3WUDQVDFWLRQWUDQVDFWLRQ

z $�VWDQGDUG�YDULDQWRUz $Q\�QXPEHU�RI�LQGLYLGXDO�

YDULDQWVz 6WDQGDUG�YDULDQW�RYHUULGHV�

6$3�WUDQVDFWLRQz 2WKHUZLVH� 9DULDQW

WUDQVDFWLRQV

� You can create different kinds of transaction variants for an SAP transaction:

y A standard variant

y Any number of normal transaction variants

� The standard variant is executed at runtime instead of the SAP delivered transaction. No new transaction code is required.

� A normal transaction variant will be called with its own transaction code of type YDULDQW�WUDQVDFWLRQ.

Page 46: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-10

SAP AG 2002

&UHDWLQJ�7UDQVDFWLRQ�9DULDQWV

7UDQVDFWLRQ�YDULDQWV

7UDQVDFWLRQ�QDPH7UDQVDFWLRQ�QDPH

9DULDQW

9DULDQW�QDPH9DULDQW�QDPH

7UDQVDFWLRQ

z 7RROV�o $FFHOHUDWHG6$3o 3HUVRQDOL]DWLRQ� o 7UDQVDFWLRQ�9DULDQWV

&UHDWH&UHDWH

� To create transaction variants, choose $FFHOHUDWHG6$3�Æ �3HUVRQDOL]DWLRQ�Æ 7UDQVDFWLRQ�YDULDQW. This takes you to the transaction for maintaining transaction variants.

� Enter the name of the transaction for which you want to create a variant. The name of the variant must be unique in the system and be in the customer namespace.

� With the menu option *RWR, choose whether you want to create a client-specific or a cross-client transaction variant.

� To create the variant, choose the appropriate button in the application toolbar.

Page 47: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-11

SAP AG 2002

7UDQVDFWLRQ�9DULDQWV� (YDOXDWLQJ�)LHOGV)+*-,/.0*21/3

@A:B+9+5�>FEM5-AY<+7 >�?

@A:B+9+5�>FEM5-A�>F7 IJA

������

���pn��&6����& ���'� �6qr &�&�� s������'� �6q���pn��&6����& �t��� �u�v �����e����wv �����e����x

��& ����yXz���&6�{ ��|~}���&�y

)LQLVK�DQG�VDYH *XL;70HQX�IXQFWLRQV

^acb b ]C[/d

4$56567 8:9+;=<+7 >�?

^�acb b ]P[0f

� Select 6FUHHQ�HQWULHV�to start the transaction in CALL mode.

� Triggering a dialog also triggers Process After Input (PAI) of the current screen. The system sends another screen in which you can evaluate the fields of the screen.

� Online documentation provides further information about transaction variants.

� The screen that was evaluated is stored as a screen variant when you continue. This will be discussed next.

Page 48: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-12

SAP AG 2002

6FUHHQ�9DULDQWV

���pn��&6����& ���'� �6qr &�&�� s������'� �6q���pn��&6����& �t��� �u�v �����e����wv �����e����x

��& ����yXz���&6�{ ��|~}���&�y

6FUHHQ�YDULDQW�QDPH6FUHHQ�YDULDQW�QDPH

'HVFULSWLRQ'HVFULSWLRQ

6HW�ILHOG�DWWULEXWHV6HW�ILHOG�DWWULEXWHV

)LQLVK�DQG�VDYH *XL;70HQX�IXQFWLRQV

'HDFWLYDWH�PHQX�IXQFWLRQV'HDFWLYDWH�PHQX�IXQFWLRQV

� A screen variant is an independent Repository object, which has a unique name in the system. The name is constructed as follows:

y Variant name

y Client (only for client-specific transaction variants)

y Screen number

� Here you specify whether or not field contents should be copied to the screen variant. You can set various attributes for the individual fields:

y You can undo or hide the input status of a field

y You can find a detailed list of options in the online documentation about transaction variants

Page 49: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-13

SAP AG 2002

*XL;7���p'��&�����&(�������u�v ��� �(����wv ��� �(����x

z 6FULSW�HGLWRUz 6FULSW�LV�VWRUHG�DV�

WH[W�ILOHz 6FULSWV�FDQ�EH�

LPSRUWHG

6FUHHQ�YDULDQW�PDLQWHQDQFH�VFUHHQ

6FUHHQ�YDULDQW�PDLQWHQDQFH�VFUHHQ

6FUHHQ�ILOHV

)LQLVK�DQG�VDYH *XL;70HQX�IXQFWLRQV

� The GuiXT tool allows you to design the individual screens in a more flexible manner. GuiXT uses a script language to

y Position objects on the screen

y Set attributes

y Include new objects

� If you select *XL;, an editor window appears where you can enter the script. You can also choose GuiXT files stored on your local machine.

� You can also import scripts created on the local machine and export them there.

Page 50: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-14

SAP AG 2002

*XL;7� 6FULSW�/DQJXDJH

���9HUVLRQ� ��������������

,0$*(��������&�?VDS�MSJ�

%2;������������������)UDPH�

326 >(OHPHQW@�>(OHPHQW@�������

326 >$UHD@�>$UHD@�������

3XVKEXWWRQ����������7H[W���6&03�

,QVHUW�VFUHHQ,QVHUW�VFUHHQ

&RPPHQW&RPPHQW

,QVHUW�IUDPH,QVHUW�IUDPH0RYH�HOHPHQW0RYH�HOHPHQW

3XVKEXWWRQ�ZLWK�WH[W�DQG�IXQFWLRQ�FRGH

3XVKEXWWRQ�ZLWK�WH[W�DQG�IXQFWLRQ�FRGH

� You can change the layout of a screen with the script language used by GuiXT. You can:

y Move objects

y Insert screens

y Insert pushbuttons

y Insert value helps

y Change the input attributes of fields

y Delete screen elements

� You are provided with complete documentation of GuiXT with the installation. You can find more information on the homepage of the GuiXT vendor, http://www.synactive.com.

Page 51: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-15

SAP AG 2002

6WDUWLQJ�7UDQVDFWLRQ�9DULDQWV

2SWLRQV�IRU�VWDUWLQJ�WUDQVDFWLRQ�YDULDQWVz 7HVW�HQYLURQPHQWz 7UDQVDFWLRQ�FRGHz )URP�XVHU�PHQX

� You have the following options for starting a transaction variant:

y Test environment

y Transaction code of type YDULDQW�WUDQVDFWLRQ

y User menu

� You can test the process flow of the transaction in the test environment of transaction variant maintenance. This is intended primarily for developers who are creating transaction variants.

� To hang a variant transaction in a user menu or role, you must create a transaction code of type YDULDQW�WUDQVDFWLRQ.

Page 52: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-16

SAP AG 2002

&UHDWLQJ�9DULDQW�7UDQVDFWLRQV

7UDQVDFWLRQ�0DLQWHQDQFH

&UHDWH&KDQJH'LVSOD\ &UHDWH&UHDWH

7UDQVDFWLRQ�FRGH�QDPH7UDQVDFWLRQ�FRGH�QDPH

&UHDWH�WUDQVDFWLRQ&UHDWH�WUDQVDFWLRQ7UDQVDFWLRQ�FRGH7UDQVDFWLRQ�$WWULEXWHV

'LDORJ�7UDQVDFWLRQ5HSRUW�7UDQVDFWLRQ22�7UDQVDFWLRQ9DULDQW�7UDQVDFWLRQ3DUDPHWHU�7UDQVDFWLRQ

7UDQVDFWLRQ�&RGH

� To start a transaction variant from a menu, you must create a transaction code of type YDULDQW�WUDQVDFWLRQ. You can navigate to the maintenance screen for the transaction variants by choosing *RWR from the 7UDQVDFWLRQ�0DLQWHQDQFH�initial screen. Alternatively, you can create a transaction code from the ABAP Workbench. If you choose this approach, remember to choose the correct initial object, 9DULDQW�7UDQVDFWLRQ.

Page 53: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-17

SAP AG 2002

z 3HUVRQDOL]H�WUDQVDFWLRQV�E\�z &UHDWLQJ�VFUHHQ�YDULDQWVz &UHDWLQJ�WUDQVDFWLRQ�YDULDQWVz &KDQJLQJ�VFUHHQV�XVLQJ�*XL;7

<RX�DUH�QRZ�DEOH�WR�

3HUVRQDOL]DWLRQ��8QLW�6XPPDU\

Page 54: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-18

��

Page 55: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-19

([HUFLVHV�

8QLW��� 3HUVRQDOL]DWLRQ�7RSLF��� &UHDWLQJ�D�3DFNDJH�

For correct development you need a package.

1-1 Create a package.

1-1-1 The package should be named ZBC425_## (where ## is your group number).

1-1-2 Assign the package to a change request.

Page 56: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-20

Page 57: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-21

8QLW��� 3HUVRQDOL]DWLRQ�7RSLF��� 7UDQVDFWLRQ�9DULDQWV�

At the conclusion of this exercise, you will be able to:

• Simplify use of a transaction with screen variants and transaction variants.

Your users complain that Transaction %&���B7$9$5 is much too difficult to use (despite the Enjoy initiative). Actually you only have to fill in a few fields. A number of other fields, however, are superfluous. Help your users by simplifying use of the transaction.

1-1 Create a transaction variant for transaction %&���B7$9$5.

1-1-1 How do you get to the maintenance screen for transaction variants? Include the corresponding transaction in your list of favorites.

1-1-2 Give the variant a name: =%&����� (where ## is your group number).

1-2 Go through the transaction screen by screen and create a screen variant for each of the screens. You should make the following changes:

1-2-1 Initial screen: Initialize the first two fields with "DE", "Frankfurt" and cancel the 5HDG\�IRU�,QSXW status.

1-2-2 Second screen: Set column "FLH" of the table control to QRW�YLVLEOH. Deactivate menu function "BACK".

1-2-3 Third screen: Deactivate menu function "BACK".

1-3 Create a transaction code for the variant. Call your transaction =%&�����.

1-4 Include the variant in the area menu you created.

1-5 Test your results.

Page 58: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-22

Page 59: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-23

6ROXWLRQV�

8QLW��� 3HUVRQDOL]DWLRQ�7RSLF��� &UHDWLQJ�D�3DFNDJH�

1-1 You create a package by choosing the following menu path in the SAP menu:

7RROV�o�$%$3�:RUNEHQFK�o�2YHUYLHZ�o�2EMHFW�1DYLJDWRU��1-1-1 Alternatively you can choose transaction SE80.

1-0-0 Choose the menu path :RUNEHQFK�o�(GLW�2EMHFW��� 2-0-0 On the 'HYHORSPHQW�&RRUGLQDWLRQ tab, choose 3DFNDJH and enter the name

of the package you want to create in the appropriate field.

3-0-0 Choose &UHDWH.

4-0-0 On the next screen, enter a meaningful short description for your package. Assign the package to the software component HOME. Confirm your entries.

5-0-0 On the next screen, assign a change request and confirm it.

6-0-0 You will assign all your subsequent development objects to this package that you have just created.

Page 60: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-24

Page 61: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 21-25

8QLW��� 3HUVRQDOL]DWLRQ�7RSLF�� 7UDQVDFWLRQ�9DULDQWV�

1-1 Create a transaction variant for transaction %&���B7$9$5:

1-1-1 You can go to the maintenance screen for transaction variants in different ways, for example using 6$3�0HQX��7RROV��&XVWRPL]LQJ��,0*��(GLW�3URMHFW. Choose *RWR��'LVSOD\�6$3�5HIHUHQFH�,0*, followed by *HQHUDO�6HWWLQJV��)LHOG�'LVSOD\�&KDUDFWHULVWLFV. Choose the ([HFXWH icon. The system launches transaction 6+'�. Choose 6\VWHP��8VHU�SURILOH��([SDQG�IDYRULWHV to include the transaction in your list of favorites.

1-1-2 Enter the name of the transaction from which you want to create a variant in the field 7UDQVDFWLRQ. Enter the name of the variant in the field 9DULDQW: =%&����� (where ## is your group number).

1-2 Execute the transaction screen by screen. Enter the corresponding values in the input fields. Leave the screen with the appropriate pushbutton and create a screen variant for each of the screens.

1-2-1 Initial screen: Assign the first two fields the values "DE" and "Frankfurt". Leave the screen by choosing the appropriate pushbutton. In the next popup window select the checkbox "Copy field values" and the corresponding checkboxes for the screen objects. Give the screen variant a short description: Save the screen variant.

1-2-2 Second screen: Leave the screen by choosing the appropriate pushbutton. Choose &RS\�YDOXHV again in the next dialog box. Select 1RW�YLVLEOH for the column "FLH" of the table control. Choose the pushbutton for menu functions and deselect function code "BACK". Save the screen variant.

1-2-3 Third screen: Leave the screen using the 6DYH function. Deactivate menu function "BACK" as in 1-2-2. Save the screen variant.

1-2-4 A list with a summary of all the screen variants that were created appears. You can now check your entries again. Save them to finally create the transaction variant.

1-3 To create a transaction code for the variant you can call the transaction code maintenance screen. Alternatively you can choose the menu path *RWR��&UHDWH�WUDQVDFWLRQ�FRGH from transaction SHD0. Call it =%&�����.

1-4 Go to the area menu maintenance screen (Transaction SE43). Include the transaction variant in your area menu =%&���B��. Proceed as described in the exercise on maintaining area menus.

Page 62: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-1

SAP AG 2002

(QKDQFHPHQWV�WR�$%$3�'LFWLRQDU\�(OHPHQWV

z $SSHQG�VWUXFWXUHVz &XVWRPL]LQJ�LQFOXGHVz 7H[W�HQKDQFHPHQWV

&RQWHQWV�

Page 63: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-2

SAP AG 2002

(QKDQFHPHQWV�WR�$%$3�'LFWLRQDU\�(OHPHQWV��8QLW�2EMHFWLYHV

z (QKDQFH�WDEOHV�XVLQJ�DSSHQG�VWUXFWXUHVz (QKDQFH�WDEOHV�XVLQJ�&XVWRPL]LQJ�LQFOXGHVz &KDQJH�ILHOG�ODEHOV�DQG�LQSXW�KHOS�HQWULHV�

DVVRFLDWHG�ZLWK�GDWD�HOHPHQWV��ZLWKRXW�PRGLI\LQJ�6$3�REMHFWV

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

Page 64: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-3

SAP AG 2002

(QKDQFHPHQWV�WR�WKH�$%$3�'LFWLRQDU\��2YHUYLHZ�'LDJUDP

z0RGLILFDWLRQ�$VVLVWDQWz8VHU�H[LWV

z2YHUYLHZ

z$%$3�'LFWLRQDU\� ������� ��� ��� ����� �����������

z&XVWRPHU�H[LWV� �������������������� ���� ����!�� ���� "#��������!$� ���� %��'& ��������!�� �(�

z%XVLQHVV�WUDQVDFWLRQ�HYHQWVz%XVLQHVV�$GG�,QV

5���%XVLQHVV�$SSOLFDWLRQV5���%XVLQHVV�$SSOLFDWLRQV�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�

(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQz 7UDQVDFWLRQ�YDULDQWV

3HUVRQDOL3HUVRQDOL��]DWLRQ]DWLRQ

��

��

��

��

��

��

���

Page 65: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-4

SAP AG 2002

z (QKDQFH�WDEOHV�XVLQJ�DSSHQG�VWUXFWXUHVz (QKDQFH�WDEOHV�XVLQJ�&XVWRPL]LQJ�LQFOXGHV

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

7DEOH�(QKDQFHPHQWV��7RSLF�2EMHFWLYHV

Page 66: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-5

SAP AG 2002

7DEOH�(QKDQFHPHQWV� 2YHUYLHZ

z 7KHUH�DUH�WZR�ZD\V�WKDW�\RX�FDQ�DGG�DGGLWLRQDO�ILHOGV�WR�WDEOHV�ZLWKRXW�PRGLI\LQJ�\RXU�V\VWHP�z $SSHQG�VWUXFWXUH

z $SSHQG�VWUXFWXUHV�DUH�FUHDWHG�IRU�XVH�ZLWK�D�VSHFLILF�WDEOH

z 0XOWLSOH�DSSHQG�VWUXFWXUHV�FDQ�EH�XVHG�ZLWK�D�VLQJOH�WDEOH

z $SSHQG�VWUXFWXUHV�FDQ�EH�XVHG�MXVW�OLNH�DQ\�RWKHU�VWUXFWXUH

z &XVWRPL]LQJ�LQFOXGHz 0XVW�EH�VSHFLILHG�E\�WKH�6$3�GHYHORSHUz ,V�FUHDWHG�E\�WKH FXVWRPHU

� Tables and structures can be expanded in one of two different ways:

y Append structures allow you to enhance tables by adding fields to them that are not part of the standard. With append structures, customers can add their own fields to any table or structure they want.

y Append structures are created for use with a specific table. However, a table can have multiple append structures assigned to it.

� If it is known in advance that one of the tables or structures delivered by SAP needs to have customer-specific fields added to it, the SAP application developer includes these fields in the table using a Customizing include statement.

y The same Customizing include can be used in multiple tables or structures. This ensures consistency in these tables and structures whenever the include is extended.

y Nonexistent Customizing includes do not lead to errors.

Page 67: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-6

SAP AG 2002

$SSHQG�VWUXFWXUH==)LHOG==)LHOG<<)LHOG<<)LHOG

��� ���� *)+��� ��� �,-��� ��� �. /0/ ��� �'� /1/ ��� �'� 2�2 ��� ��� 2�2 ��� ���

7DEOH)LHOG� )LHOG� )LHOG�

$SSHQG�6WUXFWXUHV

� Append structures allow you to attach fields to a table without actually having to modify the table itself.

� Append structures may only be assigned to a single table. A table may, however, have several append structures attached to it. Whenever a table is activated, the system searches for all active append structures for that table and attaches them to the table. If an append structure is created or changed and then activated, the table it is assigned to is also activated, and all of the changes made to the append structure take effect in the table as well.

� You can use the fields in append structures in ABAP programs just as you would any other field in the table.

� If you copy a table that has an append structure attached to it, the fields in the append structure become normal fields in the target table.

Page 68: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-7

SAP AG 2002

��� ��� 3)4��� ��� �,5��� ��� �. /1/ ��� �'� /�/ ��� �'� 2�2 ��� ��� 2�2 ��� ���� ��� ��� �6

$SSHQG�VWUXFWXUH7DEOH

1HZ�6$3�YHUVLRQ�LV�LPSRUWHG

$FWLYDWLRQ)LHOG�LV�DSSHQGHG

LQ�WKH�GDWDEDVH

)LHOG� )LHOG� )LHOG� )LHOG�

)LHOG� )LHOG� )LHOG� )LHOG�)LHOG�

==)LHOG==)LHOG<<)LHOG<<)LHOG

$SSHQG�6WUXFWXUHV�DW�8SJUDGH

� You create append structures in the customer namespace. This protects them from being overwritten at upgrade or during release upgrade. New versions of standard tables are loaded during upgrades. The fields contained in active append structures are then appended to the new standard tables when these new standard tables are activated for the first time.

� From Release 3.0, the field sequence in the ABAP Dictionary can differ from the field sequence in the database. Therefore, no conversion of the database table is necessary when adding an append structure or inserting fields into an existing one. All necessary structure adjustment is taken care of automatically when you adjust the database catalog ($/7(5�7$%/(). The table’s definition is changed when it is activated in the ABAP Dictionary and the new field is appended to the database table.

� Pay attention to the following points when using append structures:

y You cannot create append structures for pool and cluster tables.

y If a table contains a long field (either of data type /&+R or /5$:), then it is not possible to expand the table with an append structure. This is because long fields of this kind must always be the last field in their respective tables. No fields from an append structure may be added after them.

y If you use an append structure to expand an SAP table, the field names in your append structure must be in the customer namespace, that is, they must begin with either YY or ZZ. This prevents naming conflicts from occuring with any new fields that SAP may insert in the future.

Page 69: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-8

SAP AG 2002

&XVWRPL]LQJ�LQFOXGH

7DEOH�$

)LHOG/ )LHOG0 )LHOG1&,B,QFO&,B,QFO7DEOH�%

&XVWRPL]LQJ�WUDQVDFWLRQ&XVWRPL]LQJ�WUDQVDFWLRQRU�6$3�HQKDQFHPHQWRU�6$3�HQKDQFHPHQW

)LHOG� )LHOG� )LHOG�&,B,QFO&,B,QFO

��� ��� *78��� ��� *"9��� ��� �: /�/ ��� �'� /1/ ��� �'� 2�2 ��� ��� 2�2 ��� ��� ��� ���� *);��� ��� �,<��� ��� $. /�/ ��� �'� /1/ ��� �=�� 2�2 ��� ��� 2�2 ��� ���

==)LHOG==)LHOG<<)LHOG<<)LHOG

&XVWRPL]LQJ�,QFOXGHV

� Some of the tables and structures delivered with the R/3 standard contain special include statements: Customizing includes. These are often inserted in those standard tables that need to have customer-specific fields added to them.

� In contrast to append structures, Customizing includes can be inserted into more than one table. This provides for data consistency throughout the tables and structures affected whenever the include is altered.

� Customizing include programs are part of the customer namespace; all of their names begin with CI_. This naming convention guarantees that nonexistent Customizing includes do not lead to errors. No code for Customizing includes is delivered with the R/3 standard.

� You create Customizing includes using special Customizing transactions. Some are already part of SAP enhancements and can be created by using project management. This is discussed further in the unit Enhancements using Customer Exits.

� The Customizing include field names must lie in the customer namespace just like field names in append structures. These names must all begin with either YY or ZZ.

� When adding the fields of a customizing include to your database, adhere to same rules you would with append structures.

Page 70: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-9

SAP AG 2002

z &KDQJH�ILHOG�ODEHOV�DQG�LQSXW�KHOS�HQWULHV�DVVRFLDWHG�ZLWK�GDWD�HOHPHQWV��ZLWKRXW�PRGLI\LQJ�6$3�REMHFWV

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

7H[W�(QKDQFHPHQWV��7RSLF�2EMHFWLYHV

Page 71: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-10

SAP AG 1999

6$3 &XVWRPHU

6$3�GRFXPHQWDWLRQ6$3�GRFXPHQWDWLRQ������������������������������

System Help

%3>@?BA�C�.%*>D?EA*CF.

G GHH GG HJI I

I

6$3�NH\ZRUG

??6$3�GRFXPHQWDWLRQ6$3�GRFXPHQWDWLRQ��������������������&XVWRPHU�GRFXPHQWDWLRQ&XVWRPHU�GRFXPHQWDWLRQ����������

System Help

%*>@?EA�CK.%*>#?BA*CF.

G GHH GG HLI I

I

&XVWRPHU�NH\ZRUG

??

7H[W�(QKDQFHPHQWV��2YHUYLHZ

� Possible text enhancements include customer keywords and customer documentation of data elements.

� Text enhancements differ from other application enhancements in that they take effect globally in all related SAP applications after activation (global enhancements).

Page 72: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-11

SAP AG 1999

6$3 &XVWRPHU

'HILQLQJGDWD�HOHPHQWV

.H\ZRUG

6KRUW�0HGLXP�/RQJ�+HDGHU�6KRUW�WH[W��)���

'HILQLQJJOREDO

HQKDQFHPHQWV

.H\ZRUG

6KRUW�0HGLXP�/RQJ�+HDGHU�6KRUW�WH[W��)���

.H\ZRUGV

� SAP application programmers define keywords in different lengths and a short description for each data element. Use the project management function to change these keywords and short texts.

� All screen fields that use the keyword text of data elements can be renamed in this manner.

� A new short text in a data element will appear in the F1 help of the screen field.

Page 73: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-12

SAP AG 2002

'DWD�HOHPHQWV'DWD�HOHPHQWV.H\ZRUGV

*OREDO�HQKDQFHPHQWV

G GHH

GG H I II

&XVWRPHU�NH\ZRUGV�6KRUW�0HGLXP�/RQJ�+HDGHU�&XVWRPHU�VKRUW�WH[W�

??&XVWRPHU�GRFXPHQWDWLRQ�

System Help

%3>D?BA*CK.%*>@?EA*CF.

G GHH GG H I I

I

System Help

?3&(��M������1"#���=��N����O�����?*&P��M������1"#���=��N����O���=�

G GHH GG HQI II

3URMHFW

(GLWLQJ�7H[W�(QKDQFHPHQWV

System Help

%3>@?BA3CF.%*>D?RA�CF.

� To edit text elements in project management choose $%$3�:RUNEHQFK��8WLOLWLHV��(QKDQFHPHQWV��3URMHFW�PDQDJHPHQW�

� Under *OREDO�HQKDQFHPHQWV�you can find enhancement functions for keywords and documentation for data elements.

Page 74: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-13

SAP AG 2002

6$3

)LHOG�OLVW)LHOG�OLVW

6FUHHQ�3DLQWHU6FUHHQ�3DLQWHU

System Help

%1�'& �����S?����T���(��&VU%��'& ������?����W��� ��&XU ��� ��� Y��� �=���� ��� Y��� ���

G GHH GG H I I

I

(��$�����02'/)$��/)15/)$��/)15

...

..

5HTXLUHPHQWV�IRU�&KDQJLQJ�.H\ZRUGV

� In order for keyword changes to take effect on a screen, SAP application programmers have to maintain the MOD attribute (keyword modification indicator) of the affected field accordingly in the Screen Painter field list.

� The MOD attribute must have one of the following values:

SPACE: the keyword that best fits the field length 1: short keyword 2: medium keyword 3: long keyword 4: keyword for header V: variable text transfer from the ABAP Dictionary F: fixed, no text transfer

� If ) is entered, then the keyword is fixed on the screen and cannot be replaced. In all other cases, screens that refer to that particular data element will show the changed keyword.

Page 75: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-14

SAP AG 1999

6$3 &XVWRPHURelease x.x Release x.x

Release y.y

Release x.xRestore customer

System Help

Z\[�]_^\`�a

G GHH GG HJI I

I1HZ�6$3�NH\ZRUG

System Help

Z\[�]_^\`�a

G GHH GG H I I

I2OG�6$3�NH\ZRUG

System Help

Z\[�]b^�` a

G GHH GG HLI I

I&XVWRPHU�NH\ZRUG

System Help

Z\[�]b^�` a

G GHH GG HLI I

I1HZ�6$3�NH\ZRUG

System Help

Z\[�]b^�` a

Release y.y

G GHH GG HLI I

I&XVWRPHU�NH\ZRUG

.H\ZRUG�&KDQJHV�DQG�5HOHDVH�8SJUDGHV

� You must always restore keywords after a release upgrade or after new corrections have been imported, whenever SAP has redelivered existing keywords. If customers want to retain their own keywords from the last release, they should choose the menu option 5HVWRUH�FXVWRPHU. SAP recommends that you always restore your keywords after a release upgrade.

� Keywords are restored by a program running in the background. This program checks all of the data elements that you have edited and restores their keywords and short texts if necessary.

� With certain central keywords, such as BUKRS, MANDT, and so on, we recommend that you start the restoration process at a time when the contents of the tables that use BUKRS and MANDT are not being changed. Otherwise, activation of the data element may fail, changing the status to only partially active.

Page 76: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-15

SAP AG 1999

6$3 &XVWRPHU

Release x.x

Release x.x

Release x.x

Restore SAPSystem Help

Z\[�]_^\`�a

G GHH GG HJI I

I6$3�NH\ZRUG

System Help

Z\[�]b^�` a

G GHH GG H I I

I&XVWRPHU�NH\ZRUG

System Help

Z\[�]b^�` a

G GHH GG H I I

I6$3�NH\ZRUG

5HVWRULQJ�6$3�.H\ZRUGV

� To undo keyword changes, choose the menu option 5HVWRUH�6$3.

� Keywords are restored by a program running in the background. This program checks all of the data elements that you have edited and restores their keywords and short texts if necessary.

� With certain central keywords, such as BUKRS, MANDT, and so on, we recommend that you start the restoration process at a time when the contents of the tables that use BUKRS and MANDT are not being changed.

Page 77: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-16

SAP AG 1999

6$3 &XVWRPHU*OREDO�HQKDQFHPHQWV

'DWD�HOHPHQWV

&XVWRPHU�GRFXPHQWDWLRQ

'DWD�HOHPHQWV

'RFXPHQWDWLRQ

6$3�GRFXPHQWDWLRQ�

System Help

%3>@?BA�C�.%*>D?EA*CF.

G GHH GG H I I

I

&XVWRPHU�GRFXPHQWDWLRQ�

System Help

%*>@?EA�CK.%*>#?BA*CF.

G GHH GG H I I

I

,1&/8'(��6$3,1&/8'(��6$3��'RNX!'RNX!

(QKDQFHG�'RFXPHQWDWLRQ�IRU�'DWD�(OHPHQWV

� When enhancing data element documentation, include your SAP documentation as an include module. By doing this you do not lose the reference to SAP documentation. Any following documentation delivered by SAP is also taken into consideration.

� If you press the F1 key while on the appropriate field after you have activated your documentation, your text will appear in addition to the SAP documentation.

� You can generate a list of data elements that have been changed and edit the documentation by selecting the elements’ corresponding lines in the list.

� Simply delete your own documentation if you want original SAP documentation to be displayed.

Page 78: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-17

SAP AG 1999

System Help

%*>@?EA�CK.%*>#?BA*CF.

G GHH GG H I I

I

&XVWRPHU�GRFXPHQWDWLRQ�

�([SDQG�,1&/8'(!�

&XVWRPHU�GRFXPHQWDWLRQ�

System Help

%3>@?BA3CF.%*>D?RA�CF.

G GHH GG H I I

I

,1&/8'(��6$3�'RNX!

*OREDO�HQKDQFHPHQWV

'DWD�HOHPHQWV

&XVWRPHU�GRFXPHQWDWLRQ

&XVWRPHU�'RFXPHQWDWLRQ

� You also have the option to create your own data element documentation independent of the SAP documentation. However, this is not recommended, since the reference to SAP documentation is lost. If SAP delivers a new version of the documents in question, you may miss important information.

� You may also use the include module for the SAP documentation in your own documentation. You should only do this, however, if changes to the contents of the original documentation are absolutely necessary in your R/3 System. The reference to SAP documentation is not totally lost in this case, but any changes that appear in later versions will not be reflected in your system.

Page 79: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-18

SAP AG 1999

&XVWRPHU&XVWRPHUNH\ZRUGVNH\ZRUGV

c �=�=�(���O��&c �����(�$����&��d���&K��� ��!��������� ��d��*&���� ��!��(�e���� �'�����f������&�������(���O��&

������'�O����� �=��� ��� ������'�������(���� ���

7H[W�(QKDQFHPHQWV� 6XPPDU\

6$3�NH\ZRUG

System Help

%*>D?EA*CF.%3>@?BA�CK.

G GHH GG HLI I

I

� SAP customers can enhance the R/3 System with their own keywords, short texts, and documentation for data elements. These enhancements can be made using the project management function.

� Once they are activated, enhancements of this kind are available in all SAP applications that use the data elements in question.

Page 80: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-19

SAP AG 2002

(QKDQFHPHQWV�WR�$%$3�'LFWLRQDU\�(OHPHQWV��8QLW�6XPPDU\

z (QKDQFH�WDEOHV�XVLQJ�DSSHQG�VWUXFWXUHVz (QKDQFH�WDEOHV�XVLQJ�&XVWRPL]LQJ�LQFOXGHVz &KDQJH�ILHOG�ODEHOV�DQG�LQSXW�KHOS�HQWULHV�

DVVRFLDWHG�ZLWK�GDWD�HOHPHQWV��ZLWKRXW�PRGLI\LQJ�6$3�REMHFWV

<RX�DUH�QRZ�DEOH�WR�

Page 81: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-20

Page 82: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-21

([HUFLVHV�

8QLW��� (QKDQFHPHQWV�WR�$%$3�'LFWLRQDU\�2EMHFWV�7RSLF��� 7DEOH�HQKDQFHPHQWV�

At the conclusion of this exercise, you will be able to:

• Enhance tables with append structures.

You work as a computer specialist for a large travel agency. Your company uses R/3. One of the transactions in your R/3 System has been specifically tailored to process air travel data. Your fellow employees use transaction %&���B�� to display flight information when helping customers. They would like more information about a flight, for example the pilot’s name or the main meal.

Your flight data is stored in table 6)/,*+7��. You need to add two columns to this table without modifying it.

1-1 How can you add these two fields to table 6)/,*+7���without modifying it?

1-1-1 How do you go about enhancing table 6)/,*+7��?

1-1-2 Enhance table 6)/,*+7�� with a technique that does not require modifications.

1-2 Create an append structure for table 6)/,*+7��.

1-2-1 Include two fields in the structure: One should contain the SLORWV�QDPH (character string of length 25) and one should contain the PHDO (character string of length 20). Note: You must create the pilot name as the first structure field and the meal as the second field. You must also create the fields with the length and type specified. Your Instructor will execute a program that will fill your table and the append structure with data.

1-2-2 Define the types of the fields. Choose the type that you think is most suitable.

You will use these fields later on in a screen. Doing a little more work now will save you work later on.

Page 83: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-22

Page 84: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 22-23

6ROXWLRQV�

8QLW��� (QKDQFHPHQWV�WR�$%$3�'LFWLRQDU\�2EMHFWV�7RSLF��� 7DEOH�HQKDQFHPHQWV�

1-1 An append structure is the only way to enhance a transparent table ()/,*+7���is such a table) without modifying it.

1-1-1 How do you go about enhancing table 6)/,*+7��? You can work with append structures just like with "normal" structure definitions. They are created and attached to a table (or structure). Call the ABAP Dictionary (transaction SE11 or from the Object Navigator), choose the pushbutton Edit Object and then select the tab for Dictionary. In either case, enter table name 6)/,*+7�� and choose 'LVSOD\.

1-1-2 Enhance table 6)/,*+7�� with the append technique. The detailed procedure is described below:

1-2 Create your append structure using either the menu option *RWR�Æ�$SSHQG�VWUXFWXUHV« or its corresponding pushbutton; accept the name that the system proposes. Give the append structure a short description and save it under the development class you created.

1-2-1 Include two fields in the structure: The field names must begin with YY or ZZ. For example <<3,/27 and <<0($/. One should contain the SLORWV�QDPH (character string of length 25) and one should contain the PHDO (character string of length 20).

1-2-2 Create one data element each to define the field type. Ideally you should use forward navigation. Enter the name =B3,/1$0(�� and double-click on the field. Give the data element a short description and an adequate field label. Create a data element called =B0($/�� for the meal. Remember to activate the data element.

1-3 Activate the append structure. If an error occurs, you can find details in the activation log.

Page 85: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-1

SAP AG 1999

z ,QWURGXFWLRQz (QKDQFHPHQW�PDQDJHPHQWz )XQFWLRQ�PRGXOH�H[LWVz 0HQX�H[LWVz 6FUHHQ�H[LWV

&RQWHQWV�

(QKDQFHPHQWV�8VLQJ�&XVWRPHU�([LWV

Page 86: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-2

SAP AG 2002

z ([SODLQ�KRZ�HQKDQFHPHQWV�ZRUN�ZLWK�FXVWRPHU�H[LWV

z (QKDQFH�SURJUDPV�XVLQJ�IXQFWLRQ�PRGXOH�H[LWVz (QKDQFH�PHQXV�XVLQJ�PHQX�H[LWVz (QKDQFH�PHQXV�XVLQJ�VFUHHQ�H[LWVz ([SODLQ�KRZ�WKH�GLIIHUHQW�W\SHV�RI�HQKDQFHPHQW�

LQWHUDFW

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

(QKDQFHPHQWV�8VLQJ &XVWRPHU�([LWV� 8QLW�2EMHFWLYHV

Page 87: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-3

SAP AG 2002

(QKDQFHPHQWV�8VLQJ�&XVWRPHU�([LWV��2YHUYLHZ�'LDJUDP

z0RGLILFDWLRQ�$VVLVWDQWz8VHU�H[LWV

z2YHUYLHZ

z$%$3�'LFWLRQDU\z 7DEOHVz 'DWD�HOHPHQWV

z&XVWRPHU�H[LWVz )XQFWLRQ�PRGXOH�H[LWVz 0HQX�H[LWVz 6FUHHQ�H[LWV

z%XVLQHVV�WUDQVDFWLRQ�HYHQWVz%XVLQHVV�$GG�,QV

5���%XVLQHVV�$SSOLFDWLRQV5���%XVLQHVV�$SSOLFDWLRQV�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�

(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQz7UDQVDFWLRQ�YDULDQWV

3HUVRQDOL3HUVRQDOL��]DWLRQ]DWLRQ

��

��

��

��

��

��

���

Page 88: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-4

SAP AG 2002

&XVWRPHU�([LWV� 2YHUYLHZ

2YHUYLHZ2YHUYLHZ

(QKDQFHPHQW�0DQDJHPHQW(QKDQFHPHQW�0DQDJHPHQW

)XQFWLRQ�0RGXOH�([LW)XQFWLRQ�0RGXOH�([LW

0HQX�([LW0HQX�([LW

6FUHHQ�([LW6FUHHQ�([LW

Page 89: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-5

SAP AG 2002

6$3 &XVWRPHU

GHYHORSV

GHILQHV

VXPPD�UL]HV

$SSOLFDWLRQ$SSOLFDWLRQIXQFWLRQIXQFWLRQ

&RPSRQHQWV�RI�WKH&RPSRQHQWV�RI�WKHDSSOLFDWLRQDSSOLFDWLRQ

HQKDQFHPHQWHQKDQFHPHQW

$SSOLFDWLRQ$SSOLFDWLRQHQKDQFHPHQWHQKDQFHPHQW

XVHV

HGLWV

DFWLYDWHV

6$3�$SSOLFDWLRQ�(QKDQFHPHQWV

� Application enhancements allow customers to enhance their application functions. Customer exits are preplanned by SAP and generally consist of several components.

� Application enhancements are inactive when delivered and can be completed and activated by customers as they are needed.

� Application enhancement characteristics:

y Each enhancement provides you with a set of preplanned, precisely defined functions.

y Each interface between SAP and customer functions is clearly defined.

� As a customer, you do not need in-depth knowledge of how to implement SAP applications.

� You do not need to adjust enhancements at upgrade because of new functions that SAP has developed.

Page 90: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-6

SAP AG 1999

6$3 &XVWRPHU

602'

'HILQLWLRQRI

6$3'RFXPHQW

'HILQLWLRQRI

HQKDQFHPHQWSURMHFWV

&02'

&XVWRPHU�(QKDQFHPHQW�3URMHFWV

� The SAP application programmer creates SAP enhancements from function module exits, menu exits and screen exits. A management function is provided for this purpose (transaction code SMOD).

� Customers are given a catalog containing an overview of existing SAP enhancements. They can then combine the SAP enhancements they want into an enhancement project using transaction CMOD.

Page 91: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-7

SAP AG 1999

(QKDQFHPHQWV�DQG�(QKDQFHPHQW�3URMHFWV

$FWLYDWH$FWLYDWH

$FWLYDWH$FWLYDWH

$FWLYDWH$FWLYDWH

&&((

&&&&

&&((

&&

&&

&&

&&

((&&

&& ((&&

&&&& ((

&&&&

&&&&

((&&

((&&

((&&&&

(( &&6$3�HQKDQFHPHQW &RPSRQHQW�

� SAP enhancements are made up of component parts. These components include function module exits, menu exits, and screen exits. A specific component may be used only once in a single SAP enhancement (this guarantees the uniqueness of SAP enhancements).

� Customer enhancement projects consist of SAP enhancements. Each individual SAP enhancement may be used only once in a single customer enhancement program (this guarantees the uniqueness of a customer project).

Page 92: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-8

SAP AG 2002

&XVWRPHU�([LWV� (QKDQFHPHQW�0DQDJHPHQW

2YHUYLHZ2YHUYLHZ

(QKDQFHPHQW�0DQDJHPHQW(QKDQFHPHQW�0DQDJHPHQW

)XQFWLRQ�0RGXOH�([LW)XQFWLRQ�0RGXOH�([LW

0HQX�([LW0HQX�([LW

6FUHHQ�([LW6FUHHQ�([LW

Page 93: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-9

SAP AG 1999

6FUHHQ�H[LWV6FUHHQ�H[LWV0HQX�H[LWV0HQX�H[LWV

&XVWRPHU�H[LWV&XVWRPHU�H[LWVLQ�DSSOLFDWLRQ�IXQFWLRQVLQ�DSSOLFDWLRQ�IXQFWLRQV

GHILQHGHILQH

&ROOHFW&ROOHFWFRPSRQHQWV�IRUFRPSRQHQWV�IRU

6$3�HQKDQFHPHQWV6$3�HQKDQFHPHQWV

'RFXPHQW'RFXPHQWHQKDQFHPHQW�SURMHFWHQKDQFHPHQW�SURMHFW

)XQFWLRQ�PRGXOH�H[LWV)XQFWLRQ�PRGXOH�H[LWV

6$3�GRFXPHQWDWLRQ�6$3�GRFXPHQWDWLRQ�

7KH�6$3�(QKDQFHPHQW�&UHDWLRQ�3URFHGXUH

((&& && &&

� The SAP application programmer plans possible application enhancements in an application and defines the necessary components. These components are combined in SAP enhancements.

� The programmers document their enhancements as best they can, so that customers can implement the enhancements without having to analyze program source code or screen source code.

Page 94: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-10

SAP AG 1999

������� ������� ����� ������� ���������������

� ���������! "�� ����� ���#�$�� �&%�'����� ���&�������� ���&�

�( ����� �����( �)��������������( ����( ����*�( �)�������������� �&�����+�, "�� ����( ���(�$�( �&%� �����-�+�! .�( ����( (����$�� ��%

/�0+� �+�����1��+ ��( ���%� � �����

�� ����� ������� ���������������/�0+� �+����1��+ ��� ���%/�02� �+����.��+ �( ��%

� � ������ � �����( ����� �����( �)��������������( ����( ����*�( �)�������������

3�����4#�$�( ���� ����� ������� ���������������

3)���#4#�$�( �3����#4#�*�( ��( ����� �����( �)��������������( ����( ����*�( �)�������������

5 4%�����$���+0����#4��$�( �����6� �+ �75 4%������$���+0����(4#�$�( �����6� �+ �75 4%�����*�(�+0����#4#���� �&���6� �+ +7

������� ������� ����� ������� ���������������

�'����� ���&�������� ���&��( ����� �����( �)��������������( ����( ����*�( �)�������������

3URFHGXUH�DW�WKH�&XVWRPHUV�3UHPLVHV

6XEVFUHHQV6XEVFUHHQV0HQX�HQWULHV0HQX�HQWULHV

([LW�IXQFWLRQ�PRGXOHV([LW�IXQFWLRQ�PRGXOHV

������� ����&��8����� ����&�������� �#�����

$FWLYDWH$FWLYDWH((&&

((&&&&

� First, create an enhancement project and then choose the SAP enhancements that you want to use.

� Next, edit your individual components using the project management function and document the entire enhancement project.

� Finally, activate the enhancement project. This activates all of the project’s component parts.

Page 95: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-11

SAP AG 2002

&UHDWLQJ�&XVWRPHU�(QKDQFHPHQW�3URMHFWV

3URMHFW�0DQDJHPHQW�RI�6$3�(QKDQFHPHQWV

3URMHFW &UHDWH

&KDQJH'LVSOD\

6XEREMHFWV

1DPH�RI�WKH�HQKDQFHPHQW�SURMHFW

1DPH�RI�WKH�HQKDQFHPHQW�SURMHFW

&UHDWH&UHDWH

$WWULEXWHV(QKDQFHPHQW�DVVLJQPHQW&RPSRQHQWV'RFXPHQWDWLRQ

(QKDQFHPHQW�3URMHFW�$WWULEXWHV

�SURMHFW!3URMHFW'HVFULSW�

� Transaction CMOD starts the project management function. You must give your enhancement project a name. SAP recommends that you think up a naming convention for all of your projects. You can, for example, include the project’s transaction or module pool in its name. All enhancement project names must be unique.

� Next, go to the project’s attributes and enter a short text describing the enhancenent project. The system inserts all of the project’s other attributes (such as created by, created on, or status).

Page 96: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-12

SAP AG 2002

3URMHFW�0DQDJHPHQW�RI�6$3�(QKDQFHPHQWV

3URMHFW6XEREMHFWV

$VVLJQLQJ�6$3�(QKDQFHPHQWV�WR�&XVWRPHU�3URMHFWV

$WWULEXWHV(QKDQFHPHQW�DVVLJQPHQW&RPSRQHQWV'RFXPHQWDWLRQ

6$3�(QKDQFHPHQWV�LQ�3URMHFW

(QKDQFHPHQW 'HVFULSWLRQ

&UHDWH

&KDQJH'LVSOD\

� Use the project management function to assign SAP enhancements to customer enhancement projects. Enter the names of the SAP enhancements you want to use on the appropriate screen.

� The search function gives you a catalog-like overview of existing SAP enhancements. From there you can select those enhancements that are of interest to you.

Page 97: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-13

SAP AG 2002

(GLWLQJ�&RPSRQHQWV

3URMHFW�0DQDJHPHQW�RI�6$3�(QKDQFHPHQWV

3URMHFW6XEREMHFWV

$WWULEXWHV(QKDQFHPHQW�DVVLJQPHQW&RPSRQHQWV'RFXPHQWDWLRQ

)XQFWLRQ�%XLOGHU

)XQFWLRQ�PRGXOH

&KDQJH�WH[W&KDQJH�WH[W

0HQX�WH[W

&RS\6FUHHQ�3DLQWHU6FUHHQ�3DLQWHU

&UHDWH

&KDQJH'LVSOD\

� Use the product management function to edit the components of your enhancement project.

� Depending on whether the component you are editing is a function module, a menu entry, or a subscreen, you branch to either the Function Builder, a dialog box for entering menu entries, or to the Screen Painter.

Page 98: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-14

SAP AG 2002

$FWLYDWLQJ�(QKDQFHPHQW�3URMHFWV

3URMHFW�0DQDJHPHQW�RI�6$3�(QKDQFHPHQWV

3URMHFW6XEREMHFWV

$WWULEXWHV(QKDQFHPHQW�DVVLJQPHQW&RPSRQHQWV'RFXPHQWDWLRQ

&UHDWH

&KDQJH'LVSOD\

$FWLYDWLRQ$FWLYDWLRQ

� Activation of an enhancement project affects all of its components. After it has been activated successfully, the project has the status DFWLYH.

� During activation, all programs, screens, and menus containing components that belong to the project are regenerated (programs at the time they are executed). After activation, you can see the effect of the enhancements in your application functions.

� The 'HDFWLYDWH function allows you to reset an active enhancement project’s status to LQDFWLYH.

Page 99: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-15

SAP AG 1999

'HYHORSPHQW�V\VWHP

7UDQVSRUWLQJ�3URMHFWV

$FWLYDWH$FWLYDWH

7UDQVSRUWUHTXHVW

1H[W�V\VWHP

$FWLYDWH$FWLYDWH((&&

((&&&&((

&&

((&&&&

� When the enhancement project was created, you should have assigned it to a change request. Each of the component pieces (include programs, subscreens, menu exits, and so on) should be assigned to the same change request. Using the same change request allows you to transport the entire enhancement at the same time.

Page 100: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-16

SAP AG 2002

&XVWRPHU�([LWV� )XQFWLRQ�0RGXOH�([LW

2YHUYLHZ2YHUYLHZ

(QKDQFHPHQW�0DQDJHPHQW(QKDQFHPHQW�0DQDJHPHQW

)XQFWLRQ�0RGXOH�([LW)XQFWLRQ�0RGXOH�([LW

0HQX�([LW0HQX�([LW

6FUHHQ�([LW6FUHHQ�([LW

Page 101: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-17

SAP AG 1999

6$3 &XVWRPHU

GHILQHV

&DOO&DOO

DFWLYDWHV

)XQFWLRQ)XQFWLRQPRGXOHPRGXOH

)XQFWLRQ�PRGXOH)XQFWLRQ�PRGXOHH[LWH[LW

$GPLQLVWUDWLRQ$GPLQLVWUDWLRQ,QWHUIDFH,QWHUIDFH

'RFXPHQWDWLRQ'RFXPHQWDWLRQ6RXUFH�FRGH6RXUFH�FRGH

3URJUDP�([LWV�2YHUYLHZ

� Function module exits allow customers to implement additional logic in application functions. SAP application programmers define where function module exits are inserted and what kind of data they transfer. SAP programmers also create an exit’s corresponding function modules complete with short text, interface, and documentation, as well as describing each function module exit’s intended purpose in the SAP documentation.

� You write the source code for the function modules yourself. If need be, you can also create your own screens, text elements, and includes for the function group.

� The system processes your ABAP code when the enhancement project (of which your function module is a component) is activated. Function module exits have no effect prior to enhancement project activation.

Page 102: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-18

SAP AG 1999

)XQFWLRQ�0RGXOH�([LW� 3URFHVV�)ORZ

;�IXQFWLRQ�JURXS$SSOLFDWLRQ�SURJUDP

([LW�IXQFWLRQ�PRGXOH(;,7B�SURJBQDPH!B���

,QFOXGH�LQ,QFOXGH�LQFXVWRPHU�QDPHVSDFHFXVWRPHU�QDPHVSDFH

&$//�&86720(5�)81&7,21�

� This graphic shows the flow of a program providing an enhancement in the form of a function module exit.

� The exit function module is called in the PAI logic of a screen at a position determined by the SAP application developer. Within the function module, the user can add functions in the customer namespace using an include.

Page 103: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-19

SAP AG 2002

&DOOLQJ�DQG�&UHDWLQJ�)XQFWLRQ�0RGXOHV352*5$0���SURJUDPBQDPH!�67$57�2)�6(/(&7,21����

352*5$0���SURJUDPBQDPH!�67$57�2)�6(/(&7,21����&$//�&86720(5&$//�&86720(5��)81&7,21����)81&7,21����

(;3257,1*(;3257,1*��������

,03257,1*,03257,1*�������������� )81&7,21�322/�;$$$�

���)81&7,21�H[LWB�SURJUDPBQDPH!B�������

(1')81&7,21�

)81&7,21�322/�;$$$����)81&7,21�H[LWB�SURJUDPBQDPH!B�������

(1')81&7,21�

,1&/8'(�][DDDX���,1&/8'(�][DDDX���

� To call function modules use the ABAP statement &$//�&86720(5�)81&7,21�QQQ� where nnn is a three-digit number. The programmer must also create the function module he wants to call and its related function group.

� These function modules always belong to function groups whose names begin with X (X function group).

� The following naming convention applies to function modules:

• Prefix: EXIT

• Name: Name of the program that calls the function module

• Suffix: Three-digit number The three parts of the name are separated by an underscore.

� The CALL CUSTOMER-FUNCTION statement is only executed once the enhancement project has been activated. Multiple calls of the same function module are all activated at the same time.

Page 104: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-20

SAP AG 2002

)LQGLQJ�)XQFWLRQ�0RGXOH�([LWV

6\VWHP�6\VWHP�ÆÆ 6WDWXV6WDWXVÆÆ 'RXEOH'RXEOH��FOLFN�WKH�SURJUDP�QDPHFOLFN�WKH�SURJUDP�QDPH

)LQG�FKDUDFWHU�VWULQJ���)LQG�FKDUDFWHU�VWULQJ���

FDOO FXVWRPHU

Æ &02'

8WLOLWLHV¬ FRPSRQHQWV�IRUÆ 5HVWULFW�VHDUFK

ZLWK �SURJUDPBQDPH!

�� *OREDO�LQ�SURJUDP��*OREDO�LQ�SURJUDP��SURJSURJ!!

z )URP�DQ�DSSOLFDWLRQ�SURJUDP�

'RFXPHQWDWLRQ

$SSOLFDWLRQ�KLHUDUFK\$SSOLFDWLRQ�KLHUDUFK\

z 8VLQJ�WRROV

5HSRVLWRU\5HSRVLWRU\,QIRUPDWLRQ�6\VWHP,QIRUPDWLRQ�6\VWHP

,0*,0*

� The most frequently asked question concerning enhancements is: how can you see if an application program offers a function module exit? There are a number of ways to find the answer to this question.

� To see quickly if an application program offers a function module exit, you can follow the path on the left-hand side of the graphic: (The menu path 6\VWHP��6WDWXV always displays the name of the current application program). In our example, a suitable character string would be CALL CUSTOMER. Use the )LQG icon and search globally in the program. If your search does not provide any results, you can define a larger search area. Determine the environment for the corresponding program and look for the specific character string in the program environment.

� The right side of the graphic shows you how to find the name of the required enhancement using search tools. You can restrict the search in the R/3 Repository Information System using different criteria: These are:

• Development class (also try generic entries)

• Technical name of the enhancement

Page 105: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-21

SAP AG 2002

(GLWLQJ�)XQFWLRQ�0RGXOH�([LWV

3URMHFW�0DQDJHPHQW�RI�6$3�(QKDQFHPHQWV

3URMHFW )XQFWLRQ�%XLOGHU

)81&7,21�H[LWB�SURJBQDPH!B����

(1')81&7,21�,1&/8'(�][DDDX���,1&/8'(�][DDDX���

$%$3�(GLWRU

,1&/8'(�][DDDX���

&UHDWH

$WWULEXWHV(QKDQFHPHQW�DVVLJQPHQW&RPSRQHQWV'RFXPHQWDWLRQ

6XEREMHFWV

'LVSOD\ &KDQJH

� Use the project management (transaction: CMOD) function to edit function modules for function module exits.

� Use the button for editing components to go directly to the function module editor (display mode).

� DO NOT change the function module itself. It is especially important that you do not alter the interface in any way. The function module, however, contains an ,1&/8'( statement for an include program that you have to create in the customer namespace.

� Select the include name beginning with ZX. This automatically takes you to the editor of the include program, where you can enter your code.

Page 106: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-22

SAP AG 2002

6WUXFWXUH�RI�D�)XQFWLRQ�*URXS

6$3/;$$$6$3/;$$$/;$$$723/;$$$723

/;$$$8;;/;$$$8;;/;$$$8��/;$$$8��

/;$$$8��/;$$$8��

3URJUDP�QDPH*OREDO�GDWD

$OO�IXQFWLRQ�PRGXOHV)XQFWLRQ�PRGXOH����

)XQFWLRQ�PRGXOH����

/;$$$)��/;$$$)�� 6XEURXWLQHV���

� To understand how an X function group works, you need to understand how a normal function group works:

y A function group consists of includes. The system assigns unique names to the includes for different objects. Some of the include names are simply proposals and some cannot be changed.

y Global data is stored in the TOP include. This include is generated automatically when a function group is created.

y Function modules are stored in includes with sequential numbering, and they in turn are all stored in an include ending with UXX.

y While you can freely choose the names of the includes for all other objects (subroutines, modules, events, and so on), we advie you to accept the proposed names.

Page 107: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-23

SAP AG 2002

6WUXFWXUH�RI�DQ�([LW�)XQFWLRQ�*URXS

6$3/;$$$6$3/;$$$/;$$$723/;$$$723

/;$$$7$3/;$$$7$3=;$$$723=;$$$723

/;$$$8;;/;$$$8;;/;$$$8��/;$$$8��

=;$$$8��=;$$$8��/;$$$8��/;$$$8��

=;$$$8��=;$$$8��

3URJUDP�QDPH*OREDO�GDWD

*OREDO�6$3�GDWD*OREDO FXVWRPHU GDWD

$OO�IXQFWLRQ�PRGXOHV)XQFWLRQ�PRGXOH����

)XQFWLRQ�PRGXOH����&XVWRPHU�VRXUFH�FRGH

&XVWRPHU�VRXUFH�FRGH/;$$$)��/;$$$)�� 6$3�VRXUFH�WH[W�SURSRVDO���

� Exit function groups created by SAP application programmers for enhancment exits contain include programs that begin with either LX or ZX. You can only edit includes beginning with a Z, since they are stored in the customer namespace.

� No further function modules may be added to the function group.

� The include program =[DDD8QQ contains the source code for the function modules of a function module exit.

Page 108: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-24

SAP AG 1999

([LW�)XQFWLRQ�*URXS� *OREDO�'DWD

6$3/;$$$6$3/;$$$/;$$$723/;$$$723

/;$$$7$3/;$$$7$3=;$$$723=;$$$723

/;$$$8;;/;$$$8;;/;$$$8��/;$$$8��

=;$$$8��=;$$$8��/;$$$8��/;$$$8��

=;$$$8��=;$$$8��/;$$$)��/;$$$)��

���

)81&7,21�322/�[DDD�,1&/8'(�/;DDD723�,1&/8'(�=;DDD723�

)81&7,21�322/�[DDD�,1&/8'(�/;DDD723�,1&/8'(�=;DDD723�

7$%/(6� ���'$7$� ���7$%/(6� ���'$7$� ���

7$%/(6� ���'$7$� ���7$%/(6�7$%/(6� ������'$7$�'$7$� ������

� SAP application programmers can declare global data in include program LXaaaTAP.

� You can declare your global data in include ZXaaaTOP.

� Include program LXaaaTOP also contains the FUNCTION-POOL statement, which may not be changed. Therefore, you must always include the message class in parentheses when outputting messages - for example, 0(66$*(�(�����(8�.

Page 109: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-25

SAP AG 2002

&XVWRPHU�6RXUFH�&RGH

6$3/;$$$6$3/;$$$/;$$$723/;$$$723

/;$$$7$3/;$$$7$3=;$$$723=;$$$723

/;$$$8;;/;$$$8;;/;$$$8��/;$$$8��

=;$$$8��=;$$$8��/;$$$8��/;$$$8��

=;$$$8��=;$$$8��/;$$$)��/;$$$)��

���

)81&7,21�H[LWB�SURJUDPBQDPH!B������������������������

,1&/8'(�=;DDD8������(1')81&7,21�

)81&7,21�H[LWB�SURJUDPBQDPH!B������������������������

,1&/8'(�=;DDD8������(1')81&7,21�

,1&/8'(�=;DDD8���'$7$� �ORFDO�GDWD!�)250������� (1')250�02'8/(��� ����(1'02'8/(�*(7����$7����

,1&/8'(�=;DDD8��� ,1&/8'(�=;DDD8���'$7$�'$7$� �ORFDO�GDWD!��ORFDO�GDWD!�)250�������)250������� (1')250�(1')250�02'8/(���02'8/(��� ��������(1'02'8/(�(1'02'8/(�*(7����*(7����$7����$7����

� The ,1&/8'( statement for program ZXaaaUnn is in a )81&7,21���(1')81&7,21 block. Because of this, neither events, nor subroutines()250), nor modules (02'8/() are allowed here. They can, however, be created in separate includes, which is explained later. Data declarations made here with '$7$ are valid locally in this function module.

� The SAP application programmer can also make a proposal for the source text. In this case, an ,1&/8'(�/;DD)QQ is created (where QQ is the internal number for the function module in the include /;DDD8;;). Documentation is also provided within the SAP enhancement. You can copy the source code from this include into your own customer include program ZXaaaUnn using the project management transaction.

� You can create your own text elements for the function group.

Page 110: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-26

SAP AG 2002

([LW�)XQFWLRQ�*URXS� 2WKHU�6$3�2EMHFWV

6$3/;$$$6$3/;$$$/;$$$723/;$$$723

/;$$$8;;/;$$$8;;

3URJUDP�QDPH*OREDO�GDWD

$OO�IXQFWLRQ�PRGXOHV

/;$$$)��/;$$$)��

$%$3�HYHQWV

������

/;$$$2��/;$$$2��/;$$$,��/;$$$,��/;$$$(��/;$$$(��

3$,�PRGXOHV3%2�PRGXOHV6XEURXWLQHV

���

� SAP application programmers can supply you with default subroutines in include LXaaaF01.

� There could be further includes containing specific sub-objects:

y LX...F01 contains subroutines delivered by SAP

y LX...E01 contains the events belonging to the X function group

y LX...O01 contains PBO modules for screens to be delivered

y LX...I01 contains the corresponding PAI modules

Page 111: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-27

SAP AG 2002

([LW�)XQFWLRQ�*URXS� &XVWRPHU�2EMHFWV

6$3/;$$$6$3/;$$$/;$$$723/;$$$723

/;$$$8;;/;$$$8;;

3URJUDP�QDPH*OREDO�GDWD

$OO�IXQFWLRQ�PRGXOHV������

=;$$$====;$$$====;$$$)��=;$$$)��=;$$$2��=;$$$2��=;$$$,��=;$$$,��=;$$$(��=;$$$(��

���

$OO�RWKHU�FXVWRPHU�REMHFWV

$%$3�HYHQWV3$,�PRGXOHV3%2�PRGXOHV6XEURXWLQHV

� Subroutines, modules, and interactive events(AT…)are created as include programs and included enhancements using include program ZXaaaZZZ.

� Additional includes must adhere to the following naming convention:

y ZXaaaFnn for subroutines

y ZXaaaOnn for PBO modules

y ZXaaaInn for PAI modules

y ZXaaaEnn for events

Page 112: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-28

SAP AG 2002

&XVWRPHU�6FUHHQV

6$3/;$$$6$3/;$$$/;$$$723/;$$$723

/;$$$8;;/;$$$8;;���

=;$$$====;$$$====;$$$2��=;$$$2��=;$$$,��=;$$$,��

/;$$$8��/;$$$8��=;$$$8��=;$$$8��

,1&/8'(�=;DDD8������

&$//�6&5((1�����67$57,1*�$7�����

,1&/8'(�=;DDD8��� ,1&/8'(�=;DDD8���������

&$//�6&5((1�����&$//�6&5((1�����67$57,1*�$7�����67$57,1*�$7�����

,1&/8'(�=;DDD2���02'8/(���� 287387�(1'02'8/(�

,1&/8'(�=;DDD2��� ,1&/8'(�=;DDD2���02'8/(����02'8/(���� 287387�287387�(1'02'8/(�(1'02'8/(� ,1&/8'(�=;DDD,���02'8/(���� ,1387�(1'02'8/(�

,1&/8'(�=;DDD,��� ,1&/8'(�=;DDD,���02'8/(����02'8/(���� ,1387�,1387�(1'02'8/(�(1'02'8/(�

� You can use &$//�6&5((1 to call your own screens. Create the related include programs for the Process Before Output (PBO) and Process After Input (PAI) modules in include program =;DDD===.

� Use forward navigation (select an object and then double-click on it) to create your own screens and modules.

� Screens created in this manner are automatically given the name of the function module’s main program (6$3/;DDD). The PBO modules for these screens can be found in include =;DDD2��, the PAI modules in include =;DDD,��.

Page 113: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-29

SAP AG 1999

6XPPDU\��)XQFWLRQ�0RGXOH�([LWV

6$3�$SSOLFDWLRQ�3URJUDP

9�9�9�:�;#<=2>�;@?(>+A�>B9(9�9CD)EFDHGJI ;FK)L�M�N�;?PO(O�O

Q D�R(R QSBT EUV�W�X�YZ S#[2Q E�\U [^]`_(_�ab]

W(c2dU(X�E+\ [ :MFK2e�>�f+gih I ;FK)L�MN�;?PO

;�)XQFWLRQ�*URXS�;$$$

Z S#[2Q E�\U [ N�j�M�AkK�lBf I K __+a O9 \mV�d#U#X+E�\ [ :nMFK2e�>�f+g

W [ C�Z S[BQ E+\�U [ O

$%$3$%$3 $%$3$%$3 6FUHHQV6FUHHQV

��������

��������

9 \ [2Q R S C�Wpo�c >�>(> S�_�a9 \ [2Q R S C�Wpo�c >�>(> SB_�a

q >(?(?�M�A#M#<(r�>�;q >(?(?�M�A#M#<(r�>�;l�f#<�sNBg(gMr I ;#< I M�stl�f#<�s�NBg(gMr I ;#< I M�s#t

\ [BQ R S C�Wpo�c >#>�> S)_�a O\ [BQ R S C�Wpo�c >(>�> S)_(a O

Q D�R(R TQ X�W(W [vu_�_(_ OQ D�R(R TQ X�W(W [wu_�_#_ O

7H[W�HOHPHQWV7H[W�HOHPHQWV*UDSKLFDO�XVHU��LQWHUIDFH*UDSKLFDO�XVHU��LQWHUIDFH

� You can enhance SAP applications by adding your own processing logic at predefined points.

� Such enhancements can include your own screens with their corresponding processing logic and graphical user interface, as well as text elements created by customers.

Page 114: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-30

SAP AG 2002

&XVWRPHU�([LWV� 0HQX�([LW

2YHUYLHZ2YHUYLHZ

(QKDQFHPHQW�0DQDJHPHQW(QKDQFHPHQW�0DQDJHPHQW

)XQFWLRQ�0RGXOH�([LW)XQFWLRQ�0RGXOH�([LW

0HQX�([LW0HQX�([LW

6FUHHQ�([LW6FUHHQ�([LW

Page 115: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-31

SAP AG 1999

6$3 &XVWRPHU

0HQX�([LWV�2YHUYLHZ

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��

&XVW��IXQFWLRQ&XVW��IXQFWLRQ

� Menu exits allow you to attach your own functions to menu options in SAP menus. SAP application programmers reserve certain menu entries in your GUI interface for this. This allows you to define a text for the reserved menu entry and add your own logic, often in the form of a related function module exit. Once you activate menu exits, they become visible in the SAP menu. Whenever this menu option is chosen, the system processes either a function provided by SAP application programmers or your own function that you have implemented in a function module exit.

Page 116: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-32

SAP AG 2002

6$3

0HQX�([LW�5HTXLUHPHQWV

0HQX�3DLQWHU

%DFN'LVSOD\

%$&.',63

&XVWRPHU�IXQFWLRQ&XVWRPHU�IXQFWLRQ�$%&�$%&

0HQX�� 0HQX�� 0HQX��

� In order for you to be able to implement menu exits, SAP application programmers must equip the GUI interface with function codes that begin with a plus sign (+).

� These function codes are inactive at first and do not appear in the GUI until you activate them. They do not appear on the screen.

Page 117: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-33

SAP AG 2002

(GLWLQJ�0HQX�([LWV

3URMHFW�0DQDJHPHQW�RI�6$3�(QKDQFHPHQWV

3URMHFW6XEREMHFWV

$WWULEXWHV(QKDQFHPHQW�DVVLJQPHQW&RPSRQHQWV'RFXPHQWDWLRQ

3URMHFW�0DQDJHPHQW

0HQX�H[LW6$30DEEF�DEF

&KDQJH�WH[W&KDQJH�WH[W

0HQX�WH[W

&UHDWH

&KDQJH'LVSOD\

&RS\

� Menu exits are edited with the project management transaction (CMOD).

� The pushbutton for editing components calls a dialog box where you can enter short descriptions and choose a language for each additional menu entry.

� You may not make any changes to the GUI interface.

Page 118: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-34

SAP AG 2002

0HQX�([LWV�DQG�)XQFWLRQ�0RGXOH�([LWV

352*5$0���SURJUDPBQDPH!�'$7$�����RNBFRGH��/,.(�V\�XFRPP�����&$6(�RNBFRGH�

:+(1�',63����

���(1'&$6(�

352*5$0���SURJUDPBQDPH!�'$7$�����RNBFRGH��/,.(�V\�XFRPP�����&$6(�RNBFRGH�

:+(1�',63����

���(1'&$6(�

:+(1��$%&�:+(1��$%&�&$//�&86720(5&$//�&86720(5��)81&7,21����)81&7,21����

(;3257,1*(;3257,1*�LBYDULDEOHV!�LBYDULDEOHV!

,03257,1*,03257,1*�HBYDULDEOHV!��HBYDULDEOHV!�

� SAP application programmers determine where a program reads additional function codes and how it reacts - either with a function module exit or with a predefined function.

Page 119: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-35

SAP AG 1999

$GGLWLRQDO$GGLWLRQDOPHQX�HQWULHVPHQX�HQWULHV

x�y�z{�|�}�~+z$�*~��+y(� �H����} |��x�y�z{|�} ~+z��*~��+y#� ������} |��

6$3DSSOLFDWLRQ

System Help

�B�,���B����2�!���2���

� ��� �� ��� ��

6XPPDU\��0HQX�([LWV

� You can implement menu exits based on reserved function codes. The SAP application programmer defines the relevant function codes, assigns them to menus, and often provides a function module exit.

� Menu exits and function module exits are both part of the same SAP enhancement.

� No pushbuttons may be assigned to additional function codes.

� You can, however, make changes to the various menu entries and activate their function codes.

Page 120: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-36

SAP AG 2002

&XVWRPHU�([LWV� 6FUHHQ�([LW

2YHUYLHZ2YHUYLHZ

(QKDQFHPHQW�0DQDJHPHQW(QKDQFHPHQW�0DQDJHPHQW

)XQFWLRQ�0RGXOH�([LW)XQFWLRQ�0RGXOH�([LW

0HQX�([LW0HQX�([LW

6FUHHQ�([LW6FUHHQ�([LW

Page 121: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-37

SAP AG 1999

6$3 &XVWRPHU

6FUHHQ�([LWV�2YHUYLHZ

6$3�5��

)LHOG��)LHOG��

6$3�5��

)LHOG��)LHOG��

)LHOG�<)LHOG�;

)LHOG�=

� Screen exits allow you to make use of reserved sections of a main screen (subscreen areas). You can either display additional information in these areas or input data. You define the necessary input and output fields on a customer screen (subscreen).

Page 122: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-38

SAP AG 1999

6XEVFUHHQV�LQ�WKH�5���6\VWHP

)D[�QR�3KRQH�QR�

(PDLO��������

6$3�5��

1DPH����������

DEFG

7RZQ6WUHHW

&RXQWU\

6$3�5��

1DPH����������

DEFG

6$3�5��

1DPH����������

DEFG

)D[�QR�3KRQH�QR�

(PDLO��������

7RZQ6WUHHW

&RXQWU\

���

��� ���

���

� Subscreens are rectangular areas on your screen that are reserved for displaying additional screens at runtime. Each subscreen area can be filled with a different screen (of type subscreen) at runtime.

Page 123: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-39

SAP AG 2002

&DOOLQJ�D�1RUPDO 6XEVFUHHQ

352&(66�%()25(�287387�02'8/(����

02'8/(����

&$//�68%6&5((1&$//�68%6&5((1 DEFGDEFG��,1&/8',1*,1&/8',1* V\V\��FSURJFSURJ ����������

352&(66�$)7(5�,1387�02'8/(����

02'8/(�XVHUBFRPPDQGB�����&$//�68%6&5((1&$//�68%6&5((1 DEFGDEFG��

z )ORZ�FRQWURO�RI�WKH�PDLQ�VFUHHQ

� The R/3 System determines which screen will be displayed in a subscreen area at PBO. The general syntax is as follows: &$//�68%6&5((1��VXEVFUHHQBDUHD!�,1&/8',1*��SUJ!��VFUHHQBQR!�

� For each subscreen, PAI and PBO events are processed just as if the subscreen were a normal screen.

� The sequence of &$//�68%6&5((1 statements in your main screen’s flow logic directly determines the order in which the flow logic of individual subscreens is processed.

� Caution:

y Function codes are only processed in the main screen’s flow logic

y You are not allowed enter a name for a subscreen’s command field

y You are not allowed to define GUI statuses for subscreens

y No value for next screen may be entered in a subscreen’s flow control

Page 124: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-40

SAP AG 2002

'HILQLQJ�6FUHHQ�([LWV

6$3�5��

DEFG&XVW��ILHOG��&XVW��ILHOG��

6FUHHQ�IURP�6$3�DSSOLFDWLRQ�SURJUDP

6FUHHQ�IURP�6$3�DSSOLFDWLRQ�SURJUDP

352&(66�%()25(�287387����

���

&$//�&86720(5&$//�&86720(5��68%6&5((168%6&5((1 DEFGDEFG,1&/8',1*�6$3/;$$$������,1&/8',1*�6$3/;$$$������

6$3/;$$$6$3/;$$$6FUHHQ�����6FUHHQ�����

� The SAP application programmer can reserve multiple subscreen areas for a screen.

� The subscreen is called during flow control of the main screen with the CALL CUSTOMER-SUBSCREEN statement. The name of the subscreen area must be defined without apostrophes. The function group to which the subscreen belongs is defined statically in apostrophes, but the screen number can be kept variable by using fields. The screen number must always have four digits.

� Screen exit calls are inactive at first, and are skipped when a screen is processed.

� Only after a corresponding subscreen has been created in an enhancement project, and this project has been activated, will the system process the screen exit.

� You create subscreens in X function groups. Normally, these function groups also contain function module exits.

Page 125: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-41

SAP AG 1999

&DOOLQJ�&XVWRPHU�6XEVFUHHQV

6$3�$SSOLFDWLRQ�3URJUDP

dX�U Q W T�T-� W�Z#U(X(W�U S E�d S E OVBU#C S RW O�O#O

VBU#C S RW O�O#O

;�)XQFWLRQ�*URXS�;$$$

dX+U Q W T�Ti� W�ZU(X(W�U S E�d S E OdX�U Q W T�Ti� W�Z#U(X(W�U S E�d S E O

VBU�C S R�W O�O(OVBU#C S RW O�O(OVBU�C S R�W O�O(OVBU#C S RW O�O(O

DEFG

6FUHHQ6FUHHQ 6FUHHQ�����6FUHHQ�����

Q D�R(R QSBT E�UV+W�XQ D�R#R QSBT EUV+W�X YY T�S��2TQ X�W(W [ >�=�s?T�S��2TQ X�W(W [ >�=�s?\ [2Q R S C�\ [ : ]�T D)dRc�D�D(D ]n]`a�������] O\ [2Q R S C�\ [ : ]�T D)d#Rc�D�D#D ]n]`a�������] O

dX�U Q W T�T D2Z�E�W�X�\ [ d S E OVBU#C S RW O�O#O

VBU#C S RW O�O#O

Q D�R(R QSBT E�UV+W�XQ D�R#R QSBT EUV+W�X YY T�S��2TQ X�W(W [ >�=�s?POT�S��2TQ X�W(W [ >�=�s?PO

dX+U Q W T�T DBZ�EW�X�\ [ d S E OdX�U Q W T�T DBZ�E�W�X�\ [ d S E O

VBU�C S R�W O�O(OVBU#C S RW O�O(OVBU�C S R�W O�O(OVBU#C S RW O�O(O

� Whenever the statement CALL CUSTOMER-SUBSCREEN <area> INCLUDING <X-function-pool> <screen_number> occurs at PBO in the flow control of a screen, a subscreen is included in the subscreen area defined by SAP application programmers. At this point, all modules called during the PBO event of the subscreen are also processed.

� The PAI event of a subscreen is processed when the calling screen calls the subscreen during its PAI event using the statement CALL CUSTOMER-SUBSCREEN <area>.

Page 126: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-42

SAP AG 1999

7UDQVSRUWLQJ�'DWD�WR�6XEVFUHHQV

6$3�$SSOLFDWLRQ�3URJUDP

VBU#C S RW O(O�O

Q D�R(RQS�T E#U�V2W(X)YT�S��2TQ X�W(W [ O�O(O

9�9�9�:�;<=2>�;@?�>+A�>B9#9�9CD)EFDHG�I ;FK)L�MN�;?PO#O�O

Q D�R(R QSBT EUV+W�X�YZ S#[+Q E�\U [�]`_(_�a�]

;�)XQFWLRQ�*URXS�;$$$

Z S#[2Q E�\U [ N�j�M�AkK�lBf I K __+a O9 \mV�d#U#X+E�\ [ :nMFK2e�>�f+g

W [ C�Z S[BQ E+\�U [ O

9�9�9�:�;<=2>�;@?�>+A�>B9#9�99�9�9�:�;#<=2>�;@?(>+A�>B9(9�9CD)EFDHGC#D)EFDHG I ;FK2e�>�f,O(O�OI ;FK2e�>(f,O(O�O

DEFG

W(c�d#U#X+E�\ [ :W�c�d(UX2E�\ [ :MFK+e�>�f+gih I ;FK�L�MN�;?POM�K+e+>(f2gih I ;�K�L�M�N+;?�O

I ;�KBe�>�f�h M�KBe�>�f�g�OI ;mKBe�>�f�h¡M�KBe�>�f�g8O

6FUHHQ6FUHHQ $%$3$%$3 $%$3$%$3 6FUHHQ6FUHHQ

� The global data of the calling program is not known to the X function group that contains your subscreen; SAP application programmers use function module exits to explicitly provide this data to subscreens.

� In order to facilitate data transport, modules are called in the flow control of the calling program that contain function module exits for transferring data via interface parameters.

� Function modules belonging to these kinds of function module exits can be found in the same function groups as their corresponding subscreens.

Page 127: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-43

SAP AG 1999

7UDQVSRUWLQJ�'DWD�IURP�6XEVFUHHQV

6$3�$SSOLFDWLRQ�3URJUDP

Q D�R(RQS�T E#U�V2W(X)YT�S��2TQ X�W(W [ O�O(O

VBU#C S RW O(O�O

9�9�9�:�;<=2>�; C >+A�>B9#9�9CD)EFDHG�I ;FK)L�MN�;?PO#O�O

Q D�R(R QSBT EUV+W�X�YZ S#[+Q E�\U [�]`_(_�']

;�)XQFWLRQ�*URXS�;$$$

Z S#[2Q E�\U [ N�j�M�AkK�lBf I K __(� O9 W(c+d#U#X+E�\ [ :@N�K2e�>�f+g

W [ C�Z S[BQ E+\�U [ O

9�9�9�:�;<=2>�; C >+A�>B9#9�99�9�9�:�;#<=2>�; C >+A�>B9(9�9CD)EFDHGC#D)EFDHG I ;FK2e�>�f,O(O�OI ;FK2e�>(f,O(O�O

\mVBd#U#X+E�\ [ :\�VBd(UX2E�\ [ :N�K+e�>�f+gih I ;FK�L�MN�;?PONK+e+>(f2gih I ;�K�L�M�N+;?�O

N�K2e�>�f+gih I ;FK2e�>(f!ON�K+e�>�f+gih I ;FK+e�>�f,O

6FUHHQ6FUHHQ $%$3$%$3 $%$3$%$3 6FUHHQ6FUHHQ

DEFG

� Data must be transported in the other direction as well, since global data from the X function group that contains your subscreen is not known to the calling program either. For this reason, SAP application programmers use function module exits to return any data to the calling program that was changed in the subscreen.

� This is done by calling a module during the main screen’s PAI event that contains a function module exit for returning customer data via interface parameters.

Page 128: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-44

SAP AG 2002

(GLWLQJ 6XEVFUHHQV ���

3URMHFW�0DQDJHPHQW�RI�6$3�(QKDQFHPHQWV

3URMHFW6XEREMHFWV

$WWULEXWHV(QKDQFHPHQW�DVVLJQPHQW&RPSRQHQWV'RFXPHQWDWLRQ

3URMHFW�0DQDJHPHQW

6FUHHQ�H[LW6$30DEEF����BDEFGB6$3/;DDD����

6FUHHQ�3DLQWHU6FUHHQ�3DLQWHU

&UHDWH

&KDQJH'LVSOD\

� Subscreens are edited with the project management transaction (CMOD).

� The technical names of screen exits consist of the name of the calling program, a four-digit screen number, and the name of the subscreen area, followed by the name of the X function group’s program and the number of the subscreen.

Page 129: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-45

SAP AG 2002

System Help

� {(¢&���z ��£ }¤z|&��¢� {#¢&��(z ��£ }¥z�|&�(¢

� ��� �� � � ��System Help

� {#¢&��(z ��£ }¤z�|&�(¢� {(¢���(z ��£ }¥z|&�(¢

� ��� �� ��� ��

,1&/8'(�=;DDD2��� ,1&/8'(�=;DDD2���02'8/(�D�287387�02'8/(�D�287387�

������

&KRRVH�REMHFW

6FUHHQ6FUHHQ&UHDWH&UHDWH

No Yes

System Help

� {#¢&���(z £ |&|�¢�}¤¦�y�|����� {�¢����(z £ |�|�¢�}§¦�y�|&��

� ��� �� � � ��

Screen type

Sub-screen

System Help

� {#¢���(z ��£ }¤z|&�(¢� {�¢����(z ��£ }¤z|��(¢

� ��� �� �@� ��9 T D)dRc >�>(> T s(f#N#N�r _(���(�dX�U Q W T�T-� W�Z#U(X(WnU S E�d S E O

V2U#C S RW O¨¤¨¤¨dX�U Q W T�T DBZ�E�W�X�\ [ d S E O

V2U#C S RW�© O

D

6FUHHQ6FUHHQH[LVWV"H[LVWV"

(GLWLQJ 6XEVFUHHQV ���

&RPSRQHQWV&RPSRQHQWVHQKDQFHPHQW�SURMHFWHQKDQFHPHQW�SURMHFW

� You must create the subscreen as well as the corresponding PBO and PAI modules. The SAP development environment supports creation with forward navigation.

� Make sure that your subscreens are of screen type VXEVFUHHQ the first time you create them.

� You are not allowed to change any of the interfaces in the X function group that the subscreen and the function module exits belong to, nor are you allowed to add any of your own function modules.

� Note that the same constraints apply as when calling a normal subscreen.

Page 130: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-46

SAP AG 2002

'DWD�WUDQVIHU

ª y�|6~��$�(¢« ¢�~�{������}¥z¬

ª y�|�~����(¢ª y�|�~����(¢��y�¦��y�¦ ­­ �{(¢���(z�#{#¢&��(z

,QWHUIDFH

System Help

�2�,���2���

� ��� �� �®� ��

6XE�VFUHHQ�DUHD

6XPPDU\��6FUHHQ�([LWV

� Screen exits allow you to determine the layout of certain portions of a screen yourself. You can use these areas to display additional information, or to collect and process data.

� Screen exits must be predefined (planned) by an SAP application programmer. Use the statement CALL CUSTOMER-SUBSCREEN to integrate these preplanned subscreen areas into the flow control of the calling screen at PBO and PAI events.

� As soon as you activate an enhancement project that contains a subscreen as a component, the calling screen is regenerated and the subscreen is displayed the next time the application function is called.

Page 131: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-47

SAP AG 2002

z ([SODLQ�KRZ�HQKDQFHPHQWV�ZRUN�ZLWK�FXVWRPHU�H[LWV

z (QKDQFH�SURJUDPV�XVLQJ�IXQFWLRQ�PRGXOH�H[LWVz (QKDQFH�PHQXV�XVLQJ�PHQX�H[LWVz (QKDQFH�VFUHHQV�XVLQJ�VFUHHQ�H[LWVz ([SODLQ�KRZ�WKH�GLIIHUHQW�W\SHV�RI�HQKDQFHPHQW�

LQWHUDFW

<RX�DUH�QRZ�DEOH�WR�

(QKDQFHPHQWV�8VLQJ &XVWRPHU�([LWV� 8QLW�6XPPDU\

Page 132: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-48

Page 133: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-49

([HUFLVHV�

8QLW��� &XVWRPHU�H[LWV�7RSLF��� )XQFWLRQ�PRGXOH�H[LW�

At the conclusion of this exercise, you will be able to:

• Implement an enhancement with a function module exit.

Your co-workers have asked you to alter transaction %&���B�� so that every time they try to display the details of a flight in the past, a warning message is displayed.

Adjust the program so that there is a warning when a flight in the past is selected without modifying the program.

1-1 Check if it is possible to enhance the transaction.

1-1-1 Did the SAP developer implement a customer exit for the given transaction that you can use to add the required functionality?

1-1-2 What is the name of the corresponding enhancement? Choose the enhancement that you can use to implement a supplementary check when you leave the first screen of the transaction.

1-2 Implement the enhancement.

1-2-1 Name the enhancement project 7*��&86���1-2-2 Program the following check:

Check that the date that was entered is prior to today’s date (that is,. lies in the past). If this is the case, display a warning containing an appropriate text.

1-2-3 Use message ��� in message class %&���.

1-2-5 Check your results.

Page 134: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-50

Page 135: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-51

8QLW��� &XVWRPHU�H[LWV�7RSLF��� 0HQX�H[LW�

At the conclusion of this exercise, you will be able to:

• Implement an enhancement with a menu exit in combination with a function module exit.

Your co-workers are thrilled with the new functions that you have built into the system. The new warning messages in transaction %&���B�� help them to avoid selecting flights from the past. However, they want more...

They want you to allow them to display a list of bookings for their current flight from within the flight display transaction. They already use a program that generates this kind of list, but up until now they have always had to call the program separately. It is called 6$3%&���B%22.,1*B��.

1-1 Examine transaction %&���B��. Are there any points in the transaction where you could call another program (or perhaps even a menu option that could allow you to call another program)?

1-1-1 Did the SAP developer implement a customer exit for the given transaction that you can use to add the required functionality?

1-1-2 What is the name of the corresponding enhancement? Choose the enhancement with which you can implement a menu enhancement.

1-2 Implement the enhancement.

1-2-1 Name the enhancement project 7*��&86�� 1-2-2 Edit the components of the enhancement. In the menu exit, add appropriate

menu text that indicates a report will be submitted. In the function exit, submit the report SAPBC425_BOOKING_## and pass the necessary values to the selection screen. Be sure you return to the transaction when the User leaves the report list. HINT: Use the Pattern pushbutton and choose Other Pattern radiobutton and enter SUBMIT in the field. The system will read the parameters of the report and create the SUBMIT statement for you.

1-2-3 Start the report by choosing the supplementary menu entry.

1-3 Check your results.

Page 136: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-52

Page 137: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-53

8QLW��� &XVWRPHU�H[LWV�7RSLF��� 6FUHHQ�H[LW�

At the conclusion of this exercise, you will be able to:

• Display further fields in the screen of an SAP transaction and fill them.

"It would be really great if the details lists of Transaction %&���B�� for displaying flights would also display further data…"

You accept this new challenge from your co-workers and try to solve the problem without having to modify the transaction. Specifically, you start looking for a way to add a couple of new fields to the second screen of this transaction (screen number 200).

1-1 What kind of possibilities are there to place additional fields on a screen? Take a closer look at screen 200 in Transaction %&���B�� and see if this is possible.

1-1-1 Is there a screen exit for enhancing the screen?

1-1-2 If this is the case, what is the name of the corresponding enhancement?

1-2 Implement the enhancement for doing the following (project name: 7*��&86�):

1-2-1 Enhance the screen with three fields. The following should appear:

• Pilot’s name

• Meal

• Number of seats still free on this flight.

1-2-2 Ensure that the data is correctly transported to the subscreen.

1-3 Check your results.

��

Page 138: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-54

Page 139: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-55

6ROXWLRQV�

8QLW��� &XVWRPHU�H[LWV�7RSLF��� )XQFWLRQ�PRGXOH�H[LW�

1-1 You can check if the transaction offers customer exits as follows:

1-1-1 6\VWHP�o�6WDWXV�gives you the name of the corresponding program (6$3%&���B)/,*+7��)

1-1-2 You now have several ways to look for customer exits: You can either search for the character string &$//�&86720(5�)81&7,21 globally in the program or you can use the R/3 Repository Information System to search for enhancements containing the program name in the technical name of the component (restrict the search with 6$3%&���B)/,*+7�� in the component name). The enhancement you were looking for has the name 6%&��(��. The documentation for the enhancement shows that it is intended for supplementary checks of the first screen of the transaction.

1-2 Choose transaction &02' to implement the enhancement.

1-2-1 You can go to transaction CMOD with the menu path 7RROV�o�$%$3�:RUNEHQFK�o�8WLOLWLHV�o�(QKDQFHPHQWV�o�3URMHFW�PDQDJHPHQW. Create a project named 7*��&86� here and save it.

1-2-2 Include enhancement 6%&��(�� that you found in your project.

1-2-3 Edit the components. The source text of the exit function module appears in the Function Builder. Create the include by double-clicking. Your source text could be as follows:

IF flight-fldate < sy-datum.

MESSAGE w011(bc425) WITH sy-datum.

ENDIF.

1-2-4 Activate your include. Go back to project management and activate your enhancement project.

Page 140: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-56

Page 141: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-57

8QLW��� &XVWRPHU�H[LWV�7RSLF��� 0HQX�H[LW�

1-1 Examine the transaction as in the last exercise. It is advisable to search with the R/3 Repository Information System.

1-1-1 Ideally you can use the R/3 Repository Information System to search for a suitable enhancement containing the program name in the technical name of the component (restrict the search with 6$3%&���B)/,*+7�� in the component name).

1-1-2 The enhancement you were looking for has the name 6%&��(��.

1-2 Choose transaction &02' to implement the enhancement.

1-2-1 You can go to transaction CMOD with the menu path 7RROV�o�$%$3�:RUNEHQFK�o�8WLOLWLHV�o�(QKDQFHPHQWV�o�3URMHFW�PDQDJHPHQW. Create a project named 7*��&86� here and save it.

1-2-2 Include enhancement 6%&��(�� that you found in your project. Edit the enhancement’s components. Assign a menu text. Edit the function module exit by double-clicking. Create the customer include using forward navigation.

1-2-3 The source text of the include should be as follows for group:

SUBMIT sapbc425_booking_00

WITH so_car = flight-carrid

WITH so_con = flight-connid

WITH so_fld = flight-fldate

AND RETURN.

Activate the include program. Activate the enhancement project.

Page 142: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-58

Page 143: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 23-59

8QLW��� &XVWRPHU�H[LWV�7RSLF��� 6FUHHQ�H[LWV�

1-1 Look at the transaction screens in the Screen Painter. You will see that screen 200 of transaction %&���B�� offers a screen exit.

1-1-1 Examine the flow logic of the screens for character string &$//�&86720(5�68%6&5((1. You will see that screen 200 of transaction %&���B�� offers a screen exit.

1-1-2 You can get the name of the enhancement, for example, by searching in the R/3 Repository Information System (see previous exercises). The name of the enhancement is 6%&��(��.

1-2 Implement the enhancement in the same way as described in the previous exercises. Create a project called 7*��&86��in transaction CMOD. Include enhancement 6%&��(�� in your project. Edit the enhancement’s components.

1-2-1 Use the screen exit to enhance the screen. You can create screen 0500 by double-clicking on the enhancement component. Make sure that you choose screen type 6XEVFUHHQ. Copy the fields from the corresponding structure 6)/,*+7�� of the Dictionary. You have two options for placing a field on the screen for the free seats: You can declare a variable in the TOP include of the X function group, generate the program. You can then place this program field on the screen. Generate the screen. (Or you can enhance your append structure. You should not do this in the exercise since the trainer fills the fields of the append structure with a program. Enhancing the append structure could result in errors in this program.)

1-2-2 Use the function module exit for a correct data transport. Create the customer include and enter the following source text (example for group 00):

SFLIGHT## = FLIGHT.

seatsfree =

flight-seatsmax – flight-seatsocc.

TOP include:

TABLES: sflight##. DATA: seatsfree type s_seatsocc.

Activate the programs. Activate the enhancement project.

1-3 Execute transaction BC425_## and check your results.

Page 144: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-1

SAP AG 1999

z :KDW�DUH�EXVLQHVV�WUDQVDFWLRQ�HYHQWV��%7(�"z 'LIIHUHQW�NLQGV�RI�LQWHUIDFHVz 8VLQJ�EXVLQHVV�WUDQVDFWLRQ�HYHQWVz )LQGLQJ�EXVLQHVV�WUDQVDFWLRQ�HYHQWVz 'LIIHUHQFHV�EHWZHHQ�FXVWRPHU�H[LWV�DQG�EXVLQHVV�

WUDQVDFWLRQ�HYHQWV

&RQWHQWV�

%XVLQHVV�7UDQVDFWLRQ�(YHQWV

Page 145: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-2

SAP AG 2002

z 'HVFULEH�KRZ�%XVLQHVV�7UDQVDFWLRQ�(YHQWV�ZRUNz (QKDQFH�\RXU�V\VWHP�XVLQJ�%XVLQHVV�7UDQVDFWLRQ�

(YHQWVz )LQG�D�%XVLQHVV�7UDQVDFWLRQ�(YHQW�IRU�DQ�

DSSOLFDWLRQ�SURJUDPz ([SODLQ�WKH�GLIIHUHQFHV�EHWZHHQ�%XVLQHVV�

7UDQVDFWLRQ�(YHQWV�DQG�FXVWRPHU�H[LWV

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

%XVLQHVV�7UDQVDFWLRQ�(YHQWV� 8QLW�2EMHFWLYHV

Page 146: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-3

SAP AG 2002

2YHUYLHZ�'LDJUDP��%XVLQHVV�7UDQVDFWLRQ�(YHQWV

z0RGLILFDWLRQ�$VVLVWDQWz8VHU�H[LWV

z2YHUYLHZ

z$%$3�'LFWLRQDU\� ������� ��

� ��� ����� �����������

z&XVWRPHU�H[LWV� �������������������� ���� ����!�� ���

� "#��������!$� ���

� %��'& ��������!�� �(�

z%XVLQHVV�WUDQVDFWLRQ�HYHQWVz%XVLQHVV�$GG�,QV

5���%XVLQHVV�$SSOLFDWLRQV5���%XVLQHVV�$SSOLFDWLRQV�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�

(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQz 7UDQVDFWLRQ�YDULDQWV

3HUVRQDOL3HUVRQDOL��]DWLRQ]DWLRQ

��

��

��

��

��

��

���

Page 147: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-4

SAP AG 2002

%7(� 6RIWZDUH�'HOLYHU\�3URFHVV

6$36$3 ,QGXVWU\�,QGXVWU\�VROXWLRQVROXWLRQ 3DUWQHU3DUWQHU &XVWRPHU&XVWRPHU

6$36$3 &XVWRPHU&XVWRPHU

z 'HOLYHU\�SURFHVV�ZLWK�FXVWRPHU�H[LWV

z 'HOLYHU\�SURFHVV�ZLWK�EXVLQHVV�WUDQVDFWLRQ�HYHQWV

&XVWRPHU�&XVWRPHU�H[LWVH[LWV

%XVLQHVV%XVLQHVVWUDQVDFWLRQWUDQVDFWLRQ

HYHQWVHYHQWV

� Compared with earlier releases, the software delivery process now looks quite different. Previously, only two parties were involved in the delivery: SAP produced the software, and delivered it to its end-customers. Customers could enhance this standard using customer exits.

� However, now that the software is more component-oriented, more parties have become involved in the process: SAP provides the R/3 standard to each SAP Industry Solution, which uses it as a basis to add on its own encapsulated functions. The next link in the chain might be a partner firm, which builds its own Complementary Software Program (CSP) solution based on R/3. The last link in the chain is the customer, as before.

� All of the parties involved in this process are potential users and providers of enhancements. This requirement cannot be satisfied by customer exits, which can only be used once. Consequently, SAP developed a new enhancement technique in Release 4.0, which allows enhancements to be reused.

Page 148: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-5

SAP AG 2002

%XVLQHVV�7UDQVDFWLRQ�(YHQWV��%7(V�

z $UH�HQKDQFHPHQWV�WKDW�ZHUH�GHYHORSHG�IRU�WKH�)LQDQFLDO�$FFRXQWLQJ��),��FRPSRQHQW�RI�5��

z +DYH�SUHGHILQHG�LQWHUIDFHV�DOORZLQJ�FXVWRPHU�DFFHVV

z +DYH�RQH�RI�WKH�IROORZLQJ�W\SHV�RI�LQWHUIDFHV�z 3XEOLVK��6XEVFULEHz 3URFHVV�LQWHUIDFHV

� Business Transaction Events (BTE) allow you to attach additional components, in the form of a function module, for example, to the R/3 system.

� Business Transaction Events use one of the following types of interfaces:

y 3XEOLVK��6XEVFULEH�LQWHUIDFHV�These interfaces inform external software that certain events have taken place in an SAP standard application and provide them with the data produced. The external software cannot return any data to the R/3 System.

y 3URFHVV�LQWHUIDFHV These interfaces are used to control a business process differently than the way in which it is handled in the standard R/3 System. They intervene in the standard process, and return data to the SAP application.

� You can attach various external developments to the R/3 System. You can create additional developments using the ABAP Workbench.

Page 149: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-6

SAP AG 2002

6$3�7UDQVDFWLRQ6$3�7UDQVDFWLRQ

$GG$GG��RQ�FRPSRQHQWVRQ�FRPSRQHQWV

,QWHUIDFHV

'DWD�IORZ

%7(� 3RVVLEOH�6FHQDULRV����

� The example above pertains to Publish & Subscribe interfaces. In this case, data only flows in one direction - from the SAP application to the additional component.

� SAP application developers make interfaces available to you at certain callup points in a transaction. You can deposit additional logic at these points.

� In a very basic scenario, SAP partners and customers can use the interfaces themselves. In this case business transaction events function in much the same manner as customer exits. Refer to the Enhancements using Customer Exits section of this course.

Page 150: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-7

SAP AG 2002

%7(� 3RVVLEOH�6FHQDULRV����

6$3�6$3�WUDQVDFWLRQWUDQVDFWLRQ

$GG$GG��RQRQ FRPSRQHQW�IURP�SDUWQHU�$FRPSRQHQW�IURP�SDUWQHU�$

,QWHUIDFHV

'DWD�IORZ

$GG$GG��RQRQ FRPSRQHQW�IURP�SDUWQHU�%FRPSRQHQW�IURP�SDUWQHU�%

%RWK�DGGLWLRQDOSURGXFWV�H[LVWZLWKRXW�LQWHUIHULQJZLWK�HDFK�RWKHU

� The above scenario also pertains solely to Publish & Subscribe interfaces.

� In contrast to customer exits, business transaction events allow you to use an interface for multiple types of additional logic.

� If this is the case, you must decide which bit of logic you want to execute at what time.

� Both of your enhancements exist side by side with out impeding each other; however, only one of the enhancements can be processed at runtime.

Page 151: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-8

SAP AG 2002

3XEOLVK��6XEVFULEH�,QWHUIDFHV��3URFHVV�,QWHUIDFHVz 3�6�LQWHUIDFHV

6$3�7

UDQVD

FWLRQ

6$3�7

UDQVD

FWLRQ

,%83DUWQHU� 3DUWQHU

� &XVW�

,%83DUWQHU� 3DUWQHU

� &XVW�

z 3URFHVV�LQWHUIDFHV

6$3�7

UDQVD

FWLRQ

6$3�7

UDQVD

FWLRQ

,%83DUWQHU� 3DUWQHU

� &XVW�

,%83DUWQHU� 3DUWQHU

� &XVW�

3URFHVVHV�H[DFWO\�RQH�DGG�RQ�FRPSRQHQW

7ULJJHUV�RQH�RU�PRUH�DGGLWLRQDO�RSHUDWLRQV

� Publish & Subscribe interfaces:

y Allow you to start one or more (multiple) DGGLWLRQDO�RSHUDWLRQV when a particular event is triggered. They do not influence the standard R/3 program in any way.

y Multiple operations do not interfere with each other.

y Add on components can only import data.

y Possible applications: Additional checks (authorizations, existing duplicates, and so on)

� Process interfaces:

y In contrast to Publish & Subscribe interfaces, data is exchanged in both directions with process interfaces. This affects the number of additions that can be attached to the interface.

y When an event is triggered, a process in the standard program can only be replaced by D�VLQJOH�H[WHUQDO�SURFHVV using the process interface.

y If you are using an add on from an SAP partner that uses a process interface, this enhancement is processed at runtime. If you choose to use this same process interface for one of your own developments, the partner enhancement is discarded and your own enhancement is processed at runtime instead.

Page 152: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-9

SAP AG 2002

%XVLQHVV�7UDQVDFWLRQ�(YHQW�)XQFWLRQV�� 3URFHVV�)ORZ�'LDJUDP

)XQFWLRQ�PRGXOH23(1B),B3(5)250B�QR!

$SSOLFDWLRQ�SURJUDP

%7(�%7(�)XQFWLRQ�PRGXOH�LQ)XQFWLRQ�PRGXOH�LQFXVWRPHUFXVWRPHU QDPHVSDFHQDPHVSDFH

$FWLYH�LPSOHPHQWDWLRQ

&$//�)81&7,21

&$//�)81&7,21

� The graphic shows the process flow of an SAP program. The program contains an enhancement in the form of a Business Transaction Event. The program calls a function module that determines and processes the active implementation of the enhancement. The names of the function modules begin with OPEN_FI_PERFORM_ or OUTBOUND_CALL_.

� This function module OPEN_FI_PERFORM_<no> or OUTBOUND_CALL_<no> (Service function module) determines the active implementations for each enhancement and stores them in an internal table. Function modules are implemented in the sequence defined by the internal table. At this point the system also considers the conditions under which the function module will be processed in the customer namespace. For example, you can select the country or application as the condition. These conditions are also shown as filter values.

Page 153: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-10

SAP AG 2002

%XVLQHVV�7UDQVDFWLRQ�(YHQWV� &DOOLQJ�3URJUDPV5(3257��SURJUDPBXVLQJBEWH!�

67$57�2)�6(/(&7,21����

5(3257��SURJUDPBXVLQJBEWH!�

67$57�2)�6(/(&7,21����&$//�)81&7,21&$//�)81&7,21

23(1B),B3(5)250B��������B(23(1B),B3(5)250B��������B((;3257,1*(;3257,1*

�LBYDULDEOHV!�LBYDULDEOHV!)81&7,21�322/��VDSBIS!����)81&7,21�RSHQBILBSHUIRUPB��������BH����/223�$7 LWDE LQWR ZD�

(1'/223����(1')81&7,21�

)81&7,21�322/��VDSBIS!����)81&7,21�RSHQBILBSHUIRUPB��������BH����/223�$7 LWDE LQWR ZD�

(1'/223����(1')81&7,21�

&$//�)81&7,21&$//�)81&7,21 ZDZD��IEIEBQDPHBQDPH(;3257,1*(;3257,1*

�LBYDULDEOHV!�LBYDULDEOHV!

��

���������� =B)8%$���

)0B1$0(

�������� �$%&�)8%$����������� �&8615�)8%$���

� This graphic shows the syntax used to call a program enhancement using a business transaction event.

� In the SAP application program, function module OPEN_FI_PERFORM_<...> (or OUTBOUND_CALL_<...>) is called. The application program passes data to the service function module using the interface. SAP developers have already designed the interface.

� The service function module searches for active implementations and places them in an internal table. They are then processed in a loop.

Page 154: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-11

SAP AG 2002

%XVLQHVV�7UDQVDFWLRQ�(YHQWV� 6$3�DQG�WKH�&XVWRPHU

6$3 &XVWRPHU

GHILQH

$VVLJQ�)0�WR�HYHQWXVLQJ�SURGXFW

)XQFWLRQPRGXOH

&RS\6RXUFH�FRGH

$FWLYDWH

5HJLVWHU

6$03/(B,17(5)$&(B�Q!FUHDWHG

&UHDWH�SURGXFW(YHQW

� Business transaction events allow you to implement additional logic in a task function, similar to function module exits. SAP application programmers determine where to place business transaction events in a task function and what data should be transferred at each point. They also create sample function modules complete with short texts, an interface, and documentation, and describe the functions possible with the enhancement in the accompanying SAP documentation.

� First, SAP application programmers assign a business transaction event an eight-digit number by which it can be identified. These numbers should observe a particular convention. For example, the fifth and sixth digits should be identical with events in the same program.

� The SAP developer registers the event and creates a template function module, VDPSOHBLQWHUIDFHB�Q!, which establishes the interface for the user.

Page 155: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-12

SAP AG 2002

)LQGLQJ�D�%XVLQHVV�7UDQVDFWLRQ�(YHQW

%XVLQHVV�7UDQVDFWLRQ(YHQWV

23(1B),B3(5)250

o 6$3�5HIHUHQFH�,0*)LQDQFLDO�$FFRXQWLQJ¬ %DVLF�VHWWLQJV¬ 8VH�%7(

(QYLURQPHQW¬ ,QIR�V\VWHP

6\VWHP�6\VWHP�oo 6WDWXV�������6WDWXV�������oo 'RXEOH'RXEOH��FOLFN�RQ�FOLFN�RQ�

SURJUDP�QDPHSURJUDP�QDPH)LQG�FKDUDFWHU�VWULQJ���)LQG�FKDUDFWHU�VWULQJ���

�� *OREDO�LQ�SURJUDP��SURJ!*OREDO�LQ�SURJUDP��SURJ!

z 'LUHFWO\�LQ�DSSOLFDWLRQ�� z 8VLQJ�WRROV

,0*,0*

)RU�H[DPSOH�)LQDQFLDO�$FFRXQWLQJ¬ %DVLF�VHWWLQJV8VH�%7(

(QYLURQPHQW¬ ,QIR�V\VWHPo &KRRVH

DSSOLFDWLRQFRPSRQHQW

o 'RFXPHQWDWLRQ

� To find out directly whether an application transaction offers business transaction events, you can use the procedure described on the left-hand side of the graphic. In the program source text, search for the character string OPEN_FI_PERFORM. The number that completes the name of the function module is also the name of the event.

� In the SAP Customizing Implementation Guide (IMG), you will find the entry, Use business transaction events, under the Financial Accounting Global Settings node of the Financial Accounting area. Choosing this entry calls a transaction (FIBF) where you can execute all of the actions necessary for using Business Transaction Events.

� Under Environment�in the IMG, you will find search functions that you can use to identify appropriate business transaction events. You can view the documentation for the event from the list.

Page 156: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-13

SAP AG 2002

%7(� 'RFXPHQWDWLRQ

6$3�%XVLQHVV�)UDPHZRUN��%XVLQHVV�7UDQVDFWLRQ�(YHQWV6HWWLQJV (QYLURQPHQW(YHQW ���

,QIRV\VWHP�3�6�,QIRV\VWHP�3URFHVVHV�,QIRV\VWHP�3�6�,QIRV\VWHP�3URFHVVHV�

%XVLQHVV�7UDQVDFWLRQ�(YHQWV��3�6�,QWHUIDFHV

.H\ 'HVFULSWLRQ

�/LVW RI�VHOHFWHG�HYHQWV

z 0RGHO�)0z ,QWHUIDFHz 'RFXPHQWDWLRQ

� The Environment menu of the service transaction FIBF contains two programs that you can use to search for BTEs. You can restrict the search by using various parameters.

� The BTEs that the system finds are displayed in a list. You can then:

y Display the model function module (start the Function Builder and copy it, for example)

y Display the interface

y Display the documentation

� The documentation provides a clear explanation of how to use the enhancment and any restrictions that apply to it.

Page 157: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-14

SAP AG 2002

%7(� 7KH�3URGXFW�)XQFWLRQ

6$3�7

UDQVD

FWLRQ

6$3�7

UDQVD

FWLRQ &XVWRPHU

&XVWRPHU

&XVWRPHU

3URG

XFW

z 7KH�SURGXFW�JURXSV�HQKDQFHPHQWV�WRJHWKHU

z &DQ�EH�DFWLYDWHG�RU�GHDFWLYDWHG�DV�D�ZKROH

212))

� Use service transaction FIBF to create a product. A product groups together a collection of enhancements.

� You can create products for various layers in the delivery chain. They define a sequence for processing the implementations of a business transaction event.

� You can only switch each product on or off as a whole entity. This allows the user to control which enhancements should be processed and which should not. It also ensures the integrity of the whole enhancement.

Page 158: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-15

SAP AG 2002

,PSOHPHQWLQJ�D�%7(

)XQFWLRQ�%XLOGHU

6$03/(B,17(5)$&(B�Q!B()XQFWLRQ�PRGXOH

z &RS\�WKH�IXQFWLRQ�PRGXOH�WR�WKH�FXVWRPHU�QDPHVSDFHz 6RXUFH�FRGHz $FWLYDWLRQ

6$3�%XVLQHVV�)UDPHZRUN� %XVLQHVV WUDQVDFWLRQ�HYHQWV6HWWLQJV (QYLURQPHQW(YHQW ������3URGXFWV3�6�PRGXOHV3URFHVV�PRGXOHV

���3URGXFWV3�6�PRGXOHV3URFHVV�PRGXOHV

RI�D�SDUWQHURI�D�FXVWRPHURI�D�SDUWQHURI�D�FXVWRPHU

6$3�%XVLQHVV�)UDPHZRUN� %XVLQHVV�WUDQVDFWLRQ�HYHQWV6HWWLQJV (QYLURQPHQW(YHQW ������3URGXFWV3�6�PRGXOHV3URFHVV�PRGXOHV

���3URGXFWV3�6�PRGXOHV3URFHVV�PRGXOHV

���RI�D�6$3�XVHU���RI�D�SDUWQHU���RI�D�FXVWRPHU

���RI�D�6$3�XVHU���RI�D�SDUWQHU���RI�D�FXVWRPHU

z &UHDWH�SURGXFW

z $VVLJQ�IXQFWLRQ�PRGXOH

=B

� You can use the transaction FIBF (called when you selected, “Use business transaction events”, from the financial accounting hierarchy) to carry out all necessary activities prior to using a business transaction event.

� First, you must choose an interface to attach your function module to. The ,QWHUIDFH button displays the parameter structure for the interface you have selected. You can also use the documentation to determine what functions each interface allows you to perform.

� Use the ABAP Workbench to copy the sample function module VDPSOHBLQWHUIDFHB�Q! to the customer namespace (z_*) of a customer function group. You must not change the interface. You can fill the module with any source text except COMMIT WORK. Don't forget to activate the function module.

� Create a product in transaction FIBF.

� Assign a number to your function module and product.

Page 159: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-16

SAP AG 2002

&XVWRPHU�([LWV�DQG %7(� 'LIIHUHQFHV

&XVWRPHU�H[LWV&XVWRPHU�H[LWV %XVLQHVV�7UDQVDFWLRQ�%XVLQHVV�7UDQVDFWLRQ�(YHQWV(YHQWV

6RXUFH�FRGH6RXUFH�FRGH

0HQXV0HQXV

6FUHHQV6FUHHQV

7DEOHV7DEOHV

$GPLQLVWUDWLRQ$GPLQLVWUDWLRQOHYHOVOHYHOV

5HXVDEOH5HXVDEOH

&OLHQW&OLHQW��VSHFLILFVSHFLILF)LOWHU)LOWHU��VSHFLILFVSHFLILF

� In contrast to customer exits, business transaction events are FOLHQW�VSHFLILF. This means that the same event can be used in different clients for different purposes.

� Business transaction events may also be used more than once.

� With Publish & Subscribe interfaces, you can choose which enhancement you want to use.

� With process interfaces, the system executes a single component in the hierarchical sequence: SAP application, add-on, customer.

Page 160: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 24-17

SAP AG 1999

z 'HVFULEH�KRZ�EXVLQHVV�WUDQVDFWLRQ�HYHQWV�ZRUN�z (QKDQFH�\RXU�V\VWHP�XVLQJ�EXVLQHVV�WUDQVDFWLRQ�

HYHQWVz )LQG�D�EXVLQHVV�WUDQVDFWLRQ�HYHQW�IRU�DQ�

DSSOLFDWLRQ�SURJUDP�z ([SODLQ�WKH�GLIIHUHQFHV�EHWZHHQ�EXVLQHVV�

WUDQVDFWLRQ�HYHQWV�DQG�FXVWRPHU�H[LWV

<RX�DUH�QRZ�DEOH�WR�

%XVLQHVV�7UDQVDFWLRQ�(YHQWV� 8QLW�6XPPDU\

Page 161: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-1

SAP AG 2002

%XVLQHVV $GG�,QV�

z ,PSOHPHQWLQJ�%XVLQHVV�$GG�,QVz 'HILQLQJ�%XVLQHVV�$GG�,QVz 8VLQJ�%XVLQHVV�$GG�,QV�WR�HQKDQFH�VFUHHQV

&RQWHQWV�

Page 162: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-2

SAP AG 2002

z ([WHQG�SURJUDP�IXQFWLRQV�XVLQJ�%XVLQHVV $GG�,QV�

z &UHDWH�%XVLQHVV�$GG�LQV�VR�DV�WR�PDNH�WKHP�DYDLODEOH�WR�VXEVHTXHQW�5���XVHUV�LQ�WKH�GHYHORSPHQW�FKDLQ

z ,PSOHPHQW�VFUHHQ�HQKDQFHPHQWV�XVLQJ�%XVLQHVV�$GG�,QV

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

%XVLQHVV $GG�,QV� 8QLW�2EMHFWLYHV

Page 163: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-3

SAP AG 2002

z <RX�ZDQW�WR�DGG�QHZ�IXQFWLRQV�WR�D�IOLJKW�PDLQWHQDQFH�WUDQVDFWLRQ� 7KH�6$3�GHYHORSHU�KDV�SURYLGHG�D�%XVLQHVV�$GG�,Q�

z <RX�ZLOO�DOVR�GHILQH�D�%XVLQHVV�$GG�,Q�RI�\RXU�RZQ�DQG�XVH�LW�LQ�D�SURJUDP��

%XVLQHVV�$GG�,QV� %XVLQHVV�6FHQDULR

Page 164: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-4

��

SAP AG 2002

%XVLQHVV�$GG�,QV��2YHUYLHZ�'LDJUDP

z0RGLILFDWLRQ�$VVLVWDQWz8VHU�H[LWV

z2YHUYLHZ

z$%$3�'LFWLRQDU\� ������� ��� ��� ����� ����������

z&XVWRPHU�H[LWV� ����������� ������������� ���� �� �!�� "#�$������ �� � �� %��$&'������� �� � �

z%XVLQHVV�WUDQVDFWLRQ�HYHQWVz%XVLQHVV�$GG�,QV

5���%XVLQHVV�$SSOLFDWLRQV5���%XVLQHVV�$SSOLFDWLRQV�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�

(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQz 7UDQVDFWLRQYDULDQWV

3HUVRQDOL3HUVRQDOL��]DWLRQ]DWLRQ

��

��

��

��

��

��

��

Page 165: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-5

��

SAP AG 2002

%XVLQHVV�$GG�,QV� 0RWLYDWLRQ

z 'LVDGYDQWDJHV�RI�HDUOLHU�HQKDQFHPHQW�WHFKQLTXHV( &RXOG�EH�XVHG RQO\�RQFH �FXVWRPHU�H[LWV�( 1R�VFUHHQ�HQKDQFHPHQW��%XVLQHVV 7UDQVDFWLRQ (YHQWV �%7(V��( 1R�PHQX�HQKDQFHPHQW��%7(V�( 1R�DGPLQLVWUDWLRQ�OHYHO��%7(V�

z 5HTXLUHPHQWV�IRU�QHZ�HQKDQFHPHQW�WHFKQLTXHV�( 5HXVDEOH( $OO�HQKDQFHPHQW�W\SHV��SURJUDP�PHQX�VFUHHQ�( $GPLQLVWUDWLRQ�OHYHO( ,PSOHPHQWHG�XVLQJ�ODWHVW�WHFKQRORJ\

Page 166: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-6

SAP AG 1999

6RIWZDUH�'HOLYHU\�3URFHVV

6$36$3 ,%8,%8 3DUWQHU3DUWQHU &XVW�&XVW�

$%$3�([WHQVLRQ��$%$3�([WHQVLRQ��$%$3�2EMHFWV$%$3�2EMHFWV

%XVLQHVV$GG,QV

6$36$3 &XVW�&XVW�

z 7KHQ���

z ����1RZ

&XVWRPHU�&XVWRPHU�H[LWVH[LWV

Page 167: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-7

SAP AG 2002

z 'HVFULEH�DQ�$%$3�2EMHFWV�LQWHUIDFH

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

,QWHUIDFHV��7RSLF�2EMHFWLYHV

Page 168: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-8

SAP AG 2002

2EMHFWV

3XEOLFDFFHVV

3ULYDWH&RPSRQHQWV

,QWHUIDFH,QWHUIDFH

AddressCustomer

Passenger list

Flight

3XEOLF3XEOLFPHWKRGVPHWKRGV

zz%22.%22.

3XEOLF3XEOLFDWWULEXWHVDWWULEXWHV

$LUOLQH$LUOLQH)OLJKW)OLJKW QXPEHUQXPEHU

)/,*+7)/,*+7

� A class is an abstract description of an object. Each object only exists while the program is running. In this unit, when we talk about objects, we may actually mean the abstract description (the class), depending on the context.

� An object is described by its class and consists of two layers - an inner and an outer layer.

y Public components: The public components are those components of the class (for example, attributes and methods) that are visible externally. All users of the class can use the public components directly. The public components of an object form its LQWHUIDFH���

y Private components: These components are only visible within an object. Like the public components, the private components can be attributes and methods.

� The aim of object orientation is to ensure that a class can guarantee its own consistency. Consequently, the data of an object is normally internal, that is, represented using private attributes. The internal (private) attributes of a class can only be changed by methods of the class. As a rule, the public components of a class are methods. The methods work with the data in the class and ensure that it is always consistent.

� Objects also have an identity to differentiate it from other objects with the same attributes and methods.

Page 169: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-9

SAP AG 2002

,QVWDQFHV�RI�)XQFWLRQ�*URXSV�DV�2EMHFWV

([WHUQDO�VHVVLRQ

'DWD'DWD...

)XQFWLRQ�)XQFWLRQ�PRGXOHPRGXOH

)XQFWLRQ�JURXS� ��

'DWD'DWD...

)XQFWLRQ�)XQFWLRQ�PRGXOHPRGXOH

)XQFWLRQ�JURXS��

,QWHUQDO�VHVVLRQ�RI�DQ�$%$3�SURJUDP

$%$3�SURJUDP�ZLWK GDWD&$//�)81&7,21����

� Until Release 4.0, the nearest thing to objects were function groups and function modules.

� When you call a function module, an instance of its function group - with all of its data definitions - is loaded into the memory area of the internal session. An instance is a real VRIWZDUH�REMHFW. An ABAP program can therefore load instances of different function groups by calling function modules, but only one instance of each function group can exist at a time.

� The principle difference between real object orientation and function modules is that a program can work with instances of different function groups, but not with several instances of a single function group. For example, suppose a program wanted to manage several independent counters, or several orders at the same time. If we did this using a function group, we would have to program an instance management to differentiate between the instances (using numbers, for example).

Page 170: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-10

SAP AG 2002

&ODVVHV�*HQHUDOL]H�)XQFWLRQ�*URXSV

,QWHUQDO�VHVVLRQ�RI�DQ�$%$3�SURJUDP

'DWD'DWD... 'DWD'DWD

...

)XQFWLRQ�)XQFWLRQ�PRGXOHPRGXOH

&ODVV�P��Q)�* LQVWDQFH

'DWD'DWD...

,QWHUIDFH,QWHUIDFH…

&ODVV�P��� + ) LQVWDQFH…

$%$3�SURJUDP�ZLWK GDWD

'DWD'DWD... 'DWD'DWD

...

,QWHUIDFH,QWHUIDFH…

&ODVV�P��� + ) LQVWDQFH

'DWD'DWD...

,QWHUIDFH,QWHUIDFH…

&ODVV����� + ) LQVWDQFH

� In practice, it is very cumbersome to implement instance management within a function group. Consequently, the data is usually in the calling program, and the function modules work with this data. This causes various problems. For example, all of the users have to work with the same data structures as the function group. If you want to change the internal data structure of a function group, you will affect a lot of users, and the implications of the changes are often hard to predict.

� Another problem is that all users have FRSLHV�of the data, and it is difficult to keep them consistent when changes are made.

� Working with global data in function groups is dangerous, because it is almost impossible in a complex transaction to control when each function group is loaded.

� These problems have been solved with the introduction of FODVVHV. Data and functions are defined in FODVVHV�instead of function groups. An ABAP program can then work with any number of runtime instances that are based on the VDPH�template. Instead of loading a single runtime instance of a function group implicitly when you call a function module, ABAP programs can create runtime instances of classes explicitly. The individual runtime instances are uniquely identifiable objects and are addressed using object references.

Page 171: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-11

SAP AG 1999

,QWHUIDFHV

z ,QWHUIDFH�KDV�D�GHILQLWLRQ�EXW�QR�LPSOHPHQWDWLRQz ,QWHUIDFHV�DUH�LPSOHPHQWHG�E\�FODVVHVz 7KH\�FDQ�EH�DFFHVVHG�XQLIRUPO\�XVLQJ�LQWHUIDFH�UHIHUHQFHV

,QWHUIDFH,QWHUIDFH

� Interfaces are defined LQGHSHQGHQWO\�of classes.

� They can contain declarations for elements such as attributes and methods.

� Interfaces are implemented by classes

� The classes then have a uniform external point of contact. They must provide all of the IXQFWLRQV�of the interface by implementing its methods.

� In a program, you can create UHIHUHQFH�YDULDEOHV with reference to interfaces. However, you cannot instantiate an interface.

� Interface references can, however, point to REMHFWV�RI�GLIIHUHQW�FODVVHV.

Page 172: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-12

SAP AG 2002

z 8VH�%XVLQHVV�$GG�,QV�WR�LPSOHPHQW�HQKDQFHPHQWV�WR�SURJUDPV

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

,PSOHPHQWLQJ�%XVLQHVV�$GG�,QV��7RSLF�2EMHFWLYHV

Page 173: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-13

SAP AG 2002

%XVLQHVV�$GG�,QV��$UFKLWHFWXUH

6$36$3 ,%8,%8 3DUWQHU3DUWQHU &XVWRPHU&XVWRPHU««

6$3�6$3�SURJUDPSURJUDP

%XVLQHVV�$GG�,Q�,QWHUIDFH

,PSOHPHQW,PSOHPHQW��DWLRQDWLRQ

*HQHUDWHG�$GG�,Q�&ODVV

6RIWZDUH6RIWZDUHSURGXFWSURGXFW

,PSOHPHQW,PSOHPHQW��DWLRQDWLRQ

� Unlike customer exits, Business Add-Ins take into account the changes to the software delivery process. The top part of the graphic illustrates the typical delivery process: It no longer merely consists of provider and user. Instead, it can now contain a whole chain of intermediate providers.

� The bottom part of the graphic explains how Business Add-Ins work. Enhancements are made possible by SAP application programs. This requires at least one interface and an adapter class that implements it. The interface is implemented by the user.

� The main advantage of this concept is the capacity for reuse. Once implemented, a Business Add-In can be reimplemented by other links in the software chain (further to the right in the graphic).

� Furthermore, an implementation can also offer Business Add-Ins of its own.

Page 174: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-14

SAP AG 2002

%XVLQHVV�$GG�,QV��&RPSRQHQWV

%XVLQHVV�$GG�,Q,17(5)$&(��EDGL�LQWHUIDFH!�'$7$�����D�����

(1',17(5)$&(�

0(7+2'6�P�����0(7+2'6�P�����

0(7+2'6�P�0(7+2'6�P�(;3257,1*(;3257,1*HBSDU�HBSDU�HBSDU�HBSDU�

,03257,1*,03257,1*LBSDU��LBSDU��

*HQHUDWHG�%XVLQHVV�$GG�,Q�&ODVV

)&RGHV,.-0/�12-'3�4576 -0/�1�8 9;:=<?>

@�A�B�CED�F /�B�C/�G$H

6XEVFUHHQV>I3$JKJKFLB�1 6 -M/�1�-'3�45�6 -0/�1�8 NO�NN

P CQ-SR�B�/2R:=<I>UTP A�VW$CQ-'HH$B�3$-'H3

P CQ-�RKR<.HW�C

$WWULEXWHV

5HXVDEOH)LOWHU�GHSHQGHQW

� A Business Add-In contains the components of an enhancement. Each Business Add-In can contain the following components:

y Program enhancements: In the Business Add-In, the interfaces for program enhancements are defined in the form of interface methods. This interface is used to implement the enhancement. The SAP program calls the interface methods of the generated Business Add-In class.

y Menu enhancements: As with customer exits, you can enter function codes in a Business Add-In. These menu entries are available in the GUI definition and are made visible when the Business Add-In is implemented.

y Screen enhancements: As with customer exits, you can define screen enhancements in a Business Add-In, which you can then implement.

� Several components are created when you define a Business Add-In:

y Interface

y Generated class (Business Add-In class) that implements the interface

� The generated class (Business Add-In class) performs the following tasks:

y Filtering: If you implement a filter-dependent Business Add-In, the Add-In class ensures that only the relevant implementations are called.

y Control: The adapter class calls the active implementations.

Page 175: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-15

SAP AG 2002

%XVLQHVV�$GG�,QV��)ORZ�'LDJUDP$SSOLFDWLRQ�SURJUDP

6HUYLFH�FODVV&/B(;,7+$1'/(5

,QVWDQFH�RI$GG�,Q�FODVV�EDGL�FODVV!

$GG$GG��,Q��,QVWDQFH�RI�,Q��,QVWDQFH�RI�LPSOHPHQWLQJ�FODVVLPSOHPHQWLQJ�FODVV

3URFHVVLQJ�IRUDFWLYH�LPSOHPHQWDWLRQV

��

��

� This graphic shows the process flow of a program that contains a Business Add-In call. It enables us to see the possibilities and limitations inherent in Business Add-Ins.

� Not shown: You must declare a reference variable referring to the Business Add-In interface in the declaration section.

� In the first step, an object reference is created by CL_EXITHANDLER, the service class delivered by SAP. We will discuss the precise syntax later on. This generates the conditions for calling methods of program enhancements.

� When you define a Business Add-In, the system generates a Business Add-In class, which implements the interface. In call (2), the interface method of the Add-In class is called. The Add-In class searches for all of the implementations of the Business Add-In and calls the implemented methods.

Page 176: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-16

SAP AG 2002

%XVLQHVV�$GG�,QV��7KH�&DOOLQJ�3URJUDP

5(3257��SURJUDPBXVLQJBEDGL!�

67$57�2)�6(/(&7,21�

(1'�2)�6(/(&7,21�

5(3257��SURJUDPBXVLQJBEDGL!�

67$57�2)�6(/(&7,21�

(1'�2)�6(/(&7,21�

'$7$��UBYDU�'$7$��UBYDU�7<3(�5()�72��EDGL7<3(�5()�72��EDGL��LQWHUIDFH!�LQWHUIDFH!�

&$//�0(7+2'�&$//�0(7+2'�FOBH[LWKDQGOHU !JHWBLQVWDQFHFOBH[LWKDQGOHU !JHWBLQVWDQFH&+$1*,1*&+$1*,1*

LQVWDQFH� �UBLQVWDQFH� �UBYDUYDU��

&$//�0(7+2'�UB&$//�0(7+2'�UBYDUYDU��!PHWKRG!PHWKRG(;3257,1*(;3257,1*�LBYDULDEOHV!�LBYDULDEOHV!

,03257,1*,03257,1*�HBYDULDEOHV!��HBYDULDEOHV!�

UBYDU

��

��

,QVWDQFH�RI,QVWDQFH�RI�EDGL�EDGL��FODVV!FODVV!

� This graphic contains the syntax you use to call a Business Add-In. The numbered circles correspond to the calls from the previous page.

� First, you must define a reference variable with reference to the Business Add-In interface. The name of the reference variable does not necessarily have to contain the name of the Business Add-In.

� In the first call (1), an object reference is created. This generates an instance of the generated Business Add-In class. Only the methods of the interface can be called with this reference object.

� You can use this object reference to call the required methods available with the enhancement (2).

Page 177: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-17

SAP AG 2002

,PSOHPHQWLQJ�%XVLQHVV�$GG�,QV�� ,QLWLDO�6FUHHQ

%XVLQHVV $GG�,QV� ,PSOHPHQWDWLRQ 0DLQW��,QLWLDO�6FUHHQ

�LPSO!,PSOHPHQWDWLRQ�QDPH������1DPH�RI�WKH�LPSOHPHQWDWLRQ1DPH�RI�WKH�LPSOHPHQWDWLRQ

%XVLQHVV�$GG�,QV� 'HILQLWLRQ 6HO��

'LVSOD\

�EDGL!'HILQLWLRQ�QDPH�������

&UHDWH&KDQJH&UHDWH&UHDWH

� To implement Business Add-Ins, use transaction SE19 (7RROV�Æ�$%$3�:RUNEHQFK�Æ�8WLOLWLHV�Æ�%XVLQHVV�$GG�,QV�Æ,PSOHPHQWDWLRQ).

� Enter a name for the implementation and choose &UHDWH. A dialog box appears. Enter the name of the Business Add-In. The maintenance screen for the Business Add-In then appears.

� Alternatively, you can use the Business Add-In definition transaction (SE18) to reach its implementations. The menu contains an entry, Implementation, which you can use to get an overview of the existing implementations. You can also create new implementations from here.

Page 178: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-18

SAP AG 2002

)&RGHV,QWHUIDFH$WWUV�

&ODVV�%XLOGHU��(GLW�0HWKRG ,)B�LQWHUIDFH!a�P���!

,PSOHPHQWLQJ�%XVLQHVV�$GG�,QV� 0HWKRGV

XYHD�ZQ/�G$H:[G�G�\0FLB�4�HD�Z�/�GT.HEWQCQ-SF 6 D�F /2B

,QWHUIDFH�QDPH�������������������������������������1DPH�RI�LPSOHPHQWLQJ�FODVV��������������

5 4]HED�Z�/�G�8

X�^�_.`?abTcF dLe 5 V;3QG�FK\ FfBD'H$-�d'3QCEH;8;g 5 4�HhDiZ�/�GQ87R

jkRLRKR

^.l[TmX�^�_�`?abTmR

�EDGL�LQWHUIDFH!�LPSO�FODVV!

� You can assign any name to the implementing class. However, it is a good idea to observe the proposed naming convention. The suggested name is constructed as follows:

y Namespace prefix, Y or Z

y CL_ (for class)

y IM_ (for implementation)

y Name of the implementation

� To implement the method, double-click its name. The system starts the Class Builder editor.

� When you have finished, you must activate your objects.

Page 179: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-19

SAP AG 2002

&ODVV�%XLOGHU� (GLW�0HWKRG��EDGL�LQWHUIDFH!a�P���!

,PSOHPHQWLQJ�%XVLQHVV�$GG�,QV� 3ULYDWH�0HWKRGV

X�^�_�`?anToF dLe 5 V;3�G�Fp\ FfB;D'H$-!d'3;CEH�8;g 5 4]H�D�Z�/�G�87R

^2lqTmX�^�_.`rabTIR>�:=s�s�X�^�_.`rabT 5�6 -SF t�e�4]HuDSZ�/�G�8v^$wq,2abx._?yKl�z{RpRfR>?:|s�svX�^�_�`?anT 576 -�F t�e�4�H�D�Z�/�G�8v^Qwq,2abx?_.yKl?z}RpRKR RR

&ODVV�%XLOGHU� &KDQJH�FODVV��LPSO�FODVV!

(YHQWV0HWKRGV$WWULEXWHV

3DUDPHWHUV ([FHSWLRQVXYHD�ZQ/�GB;H�~�4�HEDSZ�/�G�FfB]Fp4 6 J H�4�H$BD'3�D�F /2BT.HEWQCQ-SF 6 D�F /2B

5�6 -�F t�e�4�HED�Z�/�GQ8_$� 6 H

� In the implementing class, you can create private methods that you then call from the interface method.

� To do this you must edit the implementing classes directly in the Class Builder. You create the private methods including interfaces. Specify a visibility level for the method, and implement it.

Page 180: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-20

SAP AG 2002

,PSOHPHQWLQJ�%XVLQHVV�$GG�,QV� $FWLYDWLRQ

%XVLQHVV $GG�,QV� ,PSOHPHQWDWLRQ 0DLQW��,QLWLDO�6FUHHQ

�LPSO!,PSOHPHQWDWLRQ�QDPH������

z $FWLYDWLRQz 8QGR�DFWLYDWLRQ

'LVSOD\ &UHDWH&KDQJH

� Use the Activate icon to activate the implementation of a Business Add-In. From now on, the methods of the implementation will be executed when the relevant calling program is executed.

� If you deactivate the implementation, the methods will no longer be called. However, the corresponding calls in the application program are still processed. The difference is that the instance of the adapter class will no longer find any active implementations. Unlike CALL CUSTOMER-FUNCTION , the CALL METHOD CL_EXITHANDLER=>GET_INSTANCE call is still executed even if there are no implementations. The same applies to the method call that calls the method of the adapter class.

� You can only activate or deactivate an implementation in its original system without modification. The activation or deactivation must be transported into subsequent systems.

� If a Business Add-In can only have one implementation, there can still be more than one implementation in the same system. However, only one can be active at any time.

Page 181: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-21

SAP AG 2002

6$36$3 &XVW&XVW��

%$G,� )XQFWLRQ�&RGHV�� 2YHUYLHZ

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��

&XVW&XVW��IXQFWLRQ��IXQFWLRQ

� As with customer exits, you can use menu enhancements with Business Add-Ins. However, the following conditions must be met:

y The developer of the program you want to enhance must have planned for the enhancement.

y The menu enhancement must be implemented in a BAdI implementation.

Page 182: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-22

SAP AG 2002

6$36$3

%XVLQHVV�$GG�,Q� )XQFWLRQ�&RGHV�� 3UHUHTXLVLWHV

0HQX�3DLQWHU

%DFN'LVSOD\

%$&.',63

&XVWRPHU�&XVWRPHU�IXQFWLRQIXQFWLRQ

�;;;�;;;

0HQX�� 0HQX�� 0HQX��

� Function codes of menu enhancements begin with a plus sign (+).

� The menu entry will only appear if there is an active business add-in implementation containing the corresponding enhancement.

Page 183: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-23

SAP AG 2002

%XVLQHVV�$GG�,QV� )XQFWLRQ�&RGHV�� 5HVWULFWLRQV

)&RGHV

,2-M/�1�-'3�4�0B;3�4�H;W 6 3;CEHE�0RpRKR

T�HEW�CQ-�F 6 D�F /2B@�A�B�CED�F /�B�C/�G�H

,QWHUIDFH$WWULEXWHV

$WWULEXWHV

5HXVDEOH)LOWHU�GHSHQGHQW

9;����

� You can only create function codes for single use Business Add-Ins; moreover, the Business Add-In must not be filter-dependent.

� These restrictions are necessary to ensure that there are no conflicts between two or more implementations. (Which menu entry should be displayed?)

Page 184: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-24

SAP AG 2002

352*5$0���SURJUDPBXVLQJBEDGL!�'$7$�����RNBFRGH��/,.(�V\�XFRPP�'$7$�����UBYDU 7<3(�5()�72��EDGL�LQWHUIDFH!������&$6(�RNBFRGH�

:+(1�',63����

(1'&$6(�

352*5$0���SURJUDPBXVLQJBEDGL!�'$7$�����RNBFRGH��/,.(�V\�XFRPP�'$7$�����UBYDU 7<3(�5()�72��EDGL�LQWHUIDFH!������&$6(�RNBFRGH�:+(1�',63�

���

(1'&$6(�

:+(1��;;;�:+(1��;;;�&$//�0(7+2'�UB&$//�0(7+2'�UBYDUYDU��!�!�PHWKRGPHWKRG!!

(;3257,1*(;3257,1*�LBYDULDEOHV!�LBYDULDEOHV!

,03257,1*,03257,1*�HBYDULDEOHV!��HBYDULDEOHV!�

%XVLQHVV�$GG�,QV� 3URFHVVLQJ�)XQFWLRQ &RGHV�LQ�WKH�3URJUDP

� If the user chooses the menu entry in the program to which the function code, +<exit>, is assigned, the system processes the relevant method call.

� The method call and the menu enhancement belong inseparably to one another. Having the former without the latter would make no sense. For this reason, it is important that the two enhancement components are combined in a single enhancement - the Business Add-In.

Page 185: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-25

SAP AG 2002

z 'HILQH�%XVLQHVV�$GG�,QVz :ULWH�D�SURJUDP�WKDW�RIIHUV�DQ�HQKDQFHPHQW�

XVLQJ�D�%XVLQHVV�$GG�,Q

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

'HILQLQJ�%XVLQHVV�$GG�,QV��7RSLF�2EMHFWLYHV

Page 186: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-26

SAP AG 2002

%XVLQHVV�$GG�,Q�'HILQLWLRQ� ,QLWLDO�6FUHHQ

%XVLQHVV $GG�,QV� 'HILQLWLRQ�0DLQWHQDQFH�,QLWLDO�6FUHHQ

'HILQLWLRQ�QDPHBB1DPH�RI�%$G,�GHILQLWLRQ1DPH�RI�%$G,�GHILQLWLRQ

'LVSOD\ &UHDWH&KDQJH &UHDWH&UHDWH

� To create a Business Add-In, use the BAdI Builder (7RROV��$%$3�:RUNEHQFK��8WLOLWLHV��%XVLQHVV�$GG�,QV��'HILQLWLRQ).

Page 187: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-27

SAP AG 2002

%XVLQHVV�$GG�LQ�'HILQLWLRQ� $WWULEXWHV

)&RGHV

,2-M/�1�-'3�4 T�HEW�CQ-�F 6 D�F /2B@�A�B�CED�F /�B�C/�G�H

,QWHUIDFH$WWULEXWHV

$WWULEXWHV

5HXVDEOH)LOWHU�GHSHQGHQW )LOWHU7\SH �ILOWHUBW\SH!

� A Business Add-In has two important attributes that you must define:

y Reusable

y Filter-dependent

� If you want the Business Add-In to support multiple active implementations, select 5HXVDEOH. The sequence in which the implementations will be processed is not defined. Even if the Business Add-In does not support multiple use, you can still have more than one implementation for it. However, only one implementation can be DFWLYH�at a time.

� If you make a Business Add-In filter-dependent, you can make calls to it depending on certain conditions. You must specify the filter type in the form of a data element or as an ABAP Dictionary structure. The value table of the domain used by the data element contains the valid values for the implementation. If you use a structure for the filter type, the same applies to each field in this structure.

� When the enhancement method is called, a filter value must be passed to the interface.

Page 188: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-28

� You can include function codes in a Business Add-In definition (like menu exits in customer exits). To do this, enter the program name and function code, and a short description on the relevant tab page.

� Restrictions:

y It is not currently possible to create BAdIs that consist RQO\�of menu enhancements (function codes).

y If you use menu enhancements, you cannot reuse a BAdI or make it filter-dependent.

SAP AG 1999

%XVLQHVV�$GG�,Q�'HILQLWLRQ� )XQFWLRQ�&RGHV

)&RGHV

���M����� �Q��'�;���]����;���E�E�'�p�K�

�?�E�Q�$���f��M� �������������$����� ��������$�

,QWHUIDFH$WWULEXWHV

$WWULEXWHV

5HXVDEOH)LOWHU�GHSHQGHQW

Page 189: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-29

SAP AG 2002

XnHED�Z�/�G^.B�Z;3$B�CEHQ4]H$BD�4�HED�ZQ/�GT�HW�CQ-�F 6 DiF /�B

5 4�H;D�Z�/�G2�h8_�� 6 H

^.B�Z;3$B�CEHQ4]H$BD�4�HED�ZQ/�G�O5 4�H;D�Z�/�G�O8

%XVLQHVV�$GG�,Q�'HILQLWLRQ��,QWHUIDFH�0HWKRGV

)&RGHV,QWHUIDFH$WWULEXWHV

&ODVV�%XLOGHU� &KDQJH�,QWHUIDFH��EDGL�LQWHUIDFH!

(YHQWV0HWKRGV$WWULEXWHV

,QWHUIDFH�QDPH�������������������������������������

3DUDPHWHUV ([FHSWLRQV

�EDGL�LQWHUIDFH!

� The system proposes a name for the interface and the generated class. You can, in principle, change the name of the interface to anything you like. However, your Business Add-In will be easier to understand if you retain the proposed name.

� The name of the generated class is composed as follows:

y Namespace prefix

y CL_ (to signify a class in general)

y EX_ (stands for exit)

y Name of the Business Add-In (without the namespace prefix)

� If you double-click the interface name, the system switches to the Class Builder, where you can define the interface methods.

� A Business Add-In interface can have several interface methods.

Page 190: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-30

SAP AG 2002

%XVLQHVV�$GG�,Q�'HILQLWLRQ� 0HWKRG�,QWHUIDFH�3DUDPHWHUV

&ODVV�%XLOGHU� &KDQJH�,QWHUIDFH��EDGL�LQWHUIDFH!

(YHQWV0HWKRGV$WWULEXWHV

(YHQWV0HWKRGV$WWULEXWHV

,73$-'3�4�HED'H$- W T?HEW�C$-�F 6 D�F /�B_�� 6 H

^$� 6 /2- D�FKB�1y 4 6 /�- D�FfB�1

>UZ;3$BQ1�FKB�1

x.HdSRh_$� 6 H

([FHSWLRQV

([FHSWLRQV0HWKRGV

XnHED�Z�/�G<mA;W�FKB;HEW;W�:[G�G�\0yKB]4�HDSZ�/�GT�HW�CQ-�F 6 DiF /�B

5 4�H;D�Z�/�G�8_�� 6 H3DUDPHWHUV

� You can use all of the normal functions of the Class Builder. For example, you can:

y Define interface methods

y Define interface parameters for the methods

y Declare the attributes of the interface

� If the Business Add-In is filter-dependent, you must define an import parameter IOWBYDO for each method. Otherwise, you define the interface parameters you need for the enhancement.

Page 191: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-31

SAP AG 2002

%XVLQHVV�$GG�,Q�'HILQLWLRQ� $FWLYDWLQJ�WKH�,QWHUIDFH

&ODVV�%XLOGHU� &KDQJH�,QWHUIDFH��EDGL�LQWHUIDFH!

(YHQWV0HWKRGV$WWUV�

XnHED�Z�/�G<mAW�FKB;HW;Wb:qG�G�\�yKB�4]HD�Z�/�GT�HEW�CQ-�F 6 D�F /2B

5 4]HD�Z�/�G�8_�� 6 H

$FWLYDWLRQ$FWLYDWLRQ3DUDPHWHUV ([FHSWLRQV

� Once you have finished working on your interface, you must activate it. This generates the Business Add-In class for the Business Add-In.

� If you change the interface, the Add-In class is regenerated automatically.

� You can also generate the adapter class explicitly at any time by choosing 8WLOLWLHV��5HJHQHUDWH from the initial screen of the Business Add-In maintenance transaction.

Page 192: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-32

SAP AG 2002

%XVLQHVV�$GG�,Q�'HILQLWLRQ��&DOO�LQ�3URJUDP

5(3257��SURJUDPBXVLQJBEDGL!�

67$57�2)�6(/(&7,21�

(1'�2)�6(/(&7,21�

5(3257��SURJUDPBXVLQJBEDGL!�

67$57�2)�6(/(&7,21�

(1'�2)�6(/(&7,21�

'$7$��UB'$7$��UBYDU�YDU�7<3(�5()�72��7<3(�5()�72��EDGLEDGL��LQWHUIDFHLQWHUIDFH!�!�

&$//�0(7+2'�&$//�0(7+2'�FOBH[LWKDQGOHU !JHWBLQVWDQFHFOBH[LWKDQGOHU !JHWBLQVWDQFH&+$1*,1*&+$1*,1*

LQVWDQFH� �UBLQVWDQFH� �UBYDUYDU��

&$//�0(7+2'�UB&$//�0(7+2'�UBYDUYDU��!�!�PHWKRGPHWKRG!!(;3257,1*(;3257,1*�LBYDULDEOHV!�LBYDULDEOHV!

,03257,1*,03257,1*�HBYDULDEOHV!��HBYDULDEOHV!�

UBYDU

��

��

��

,QVWDQFH�RI,QVWDQFH�RI��EDGLEDGL��FODVV!FODVV!

� To call Business Add-In methods in an application program, you must include three statements in the program:

y Declare a reference variable (1) with reference to the Business Add-In interface (in our example, UBYDU).

y Call the static method GET_INSTANCE of the service class CL_EXITHANDLER (2). This returns an instance of the required object. This involves an implicit narrowing cast, so that only the interface methods of the object with the reference variable UBYDU can be called.

y You can now call all of the methods of the Business Add-In (3). Make sure you specify the method interfaces correctly.

Page 193: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-33

SAP AG 2002

5(3257��SURJUDPBXVLQJBEDGL!�

67$57�2)�6(/(&7,21�

(1'�2)�6(/(&7,21�

5(3257��SURJUDPBXVLQJBEDGL!�

67$57�2)�6(/(&7,21�

(1'�2)�6(/(&7,21�

'$7$��UBYDU�7<3(�5()�72��EDGL�LQWHUIDFH!�

'$7$��UBYDU�7<3(�5()�72��EDGL�LQWHUIDFH!�

&$//�0(7+2'�FOBH[LWKDQGOHU !JHWBLQVWDQFH&+$1*,1*

LQVWDQFH� �UBYDU�

&$//�0(7+2'�FOBH[LWKDQGOHU !JHWBLQVWDQFH

&+$1*,1*LQVWDQFH� �UBYDU�

&$//�0(7+2'�UB&$//�0(7+2'�UBYDUYDU��!�!�PHWKRGPHWKRG!!(;3257,1*(;3257,1*IOWBYDO� ��ILOWHUZHUW!IOWBYDO� ��ILOWHUZHUW!�LBYDULDEOHV!�LBYDULDEOHV!

,03257,1*,03257,1*�HBYDULDEOHV!��HBYDULDEOHV!�

UBYDU

��

��

��

,QVWDQFH�RI,QVWDQFH�RI��EDGLEDGL��FODVV!FODVV!

&DOOLQJ�D�)LOWHU�'HSHQGHQW�%XVLQHVV�$GG�,Q

� If your Business Add-In is filter-dependent, you must pass an appropriate value to the parameter, IOWBYDO.

Page 194: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-34

SAP AG 2002

z :ULWH�D�SURJUDP�WKDW�RIIHUV�DQ�HQKDQFHPHQW�XVLQJ�D�%XVLQHVV�$GG�,Q

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

&UHDWLQJ�6FUHHQ�(QKDQFHPHQWV�8VLQJ�$GG�,QV��7RSLF�2EMHFWLYHV

Page 195: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-35

SAP AG 2002

$GG�,Q�6FUHHQ�(QKDQFHPHQWV��3ULQFLSOHV

,PSOHPHQW��SURJUDP�IXQFWLRQ�JURXS�

6$3�DSSOLFDWLRQ�SURJUDP

DEFG

�����=����7�=�

$GG�,Q�FODVV�EDGL�FODVV!

6WDWLF�DWWULEXWH�6WDWLF�DWWULEXWH�6FUHHQ�LQVWDQFH6FUHHQ�LQVWDQFH

���m m����q m�

�����Y�

���m q�

,PSOHPHQWLQJ FODVV,QVWDQFH�,QVWDQFH�DWWULEXWHV�DWWULEXWHV�6FUHHQ�GDWD6FUHHQ�GDWD

P ^�_¡yfl P _$:=lr>U^

zb^�_¡T2:m_�:

,2¢�_£T2:q_$: zb^�_£T�:q_$:

z�^�_¤T.:I_�:,.¢._£T.:m_�:

,.¢._£T�:I_�:

z�^�_¥yKl P _$:=l?>|^

� The ABAP virtual machine does not recognize screens bound to classes. Thus, only "classical" programs (of types 1, F, or M) can be used as containers for screens. Screen enhancements need to take this into consideration.

� When you create a Business Add-In screen enhancement, the provider reserves a subscreen area on the application program screen, which is then filled with the subscreen of the implementing program (similar to customer exits). However, the application program and subscreen container program do not communicate directly, but rather through the generated Business Add-In class.

� The following slides show this communication process step by step.

Page 196: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-36

SAP AG 2002

$GG�,Q�6FUHHQ�(QKDQFHPHQWV��&RPSRQHQWV

$GG�,Q

)&RGHV¦2§0¨�©�§'ª�«¬�­ §0¨�©�® ¯°Y±?²

³�´�µQ¶�·�¸ ¨�µ]¶¨�¹$º

$WWULEXWHV

5HXVDEOH)LOWHU�GHSHQGHQW

,17(5)$&(�,)B(;B�EDGL!�

(1',17(5)$&(�

0(7+2'6�0(7+2'6�SXWSXWBBGDWDGDWD,03257,1*,03257,1*��GDWDGDWD!�!�

'$7$��JOBGDW���'$7$��JOBGDW���

0(7+2'6�0(7+2'6�JHWJHWBBGDWDGDWD(;3257,1*(;3257,1*��GDWDGDWD!�!�

0(7+2'6����0(7+2'6����

6XEVFUHHQV²rª�»K»K¸Kµ�© ­ §0¨�©2§'ª�«¬7­ §'¨7©�® ¼½¼;¼

¾ ¶Q§�¿fÀ?¨�¿°Y±r²[Á¾ ´�ÂÃ�¶�§'ºº$µ�°|§'ºª

±q» ª�¿K¿Á?ºEÃQ¶

� If a Business Add-In contains one or more screen enhancements, it cannot be flagged as 5HXVDEOH. If it contains menu enhancements, it cannot be flagged )LOWHU�'HSHQGHQW�

� You enter the calling program, screen number, and subscreen area on the 6XEVFUHHQV tab. The name of the implementing program and number of the subscreen screen are specified later by the implementing developer.

Page 197: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-37

SAP AG 2002

$GG�,Q�6FUHHQ�(QKDQFHPHQWV��&DOOV�LQ�WKH�$SSOLFDWLRQ�3URJUDP����

z ,Q�WKH�3%2�z *HQHUDWH�WKH�LQVWDQFHz 5HJLVWHU�WKH�LQVWDQFH��VR�WKDW�LPSOHPHQWLQJ�FODVVHV�FDQ�

DFFHVV�LWz *HW�WKH�SURJUDP�QDPH�DQG�VFUHHQ�QXPEHU�RI�WKH�

LPSOHPHQWDWLRQz 0DNH�GDWD�DYDLODEOHz &DOO�WKH�VXEVFUHHQ

� To provide a screen enhancement using a Business Add-In, you need to do the following in the application program:

y Generate the Business Add-In class.

y Store a reference to this instance in the Add-In class.

y Pass the data - that you want to make available to the enhancement - to the Add-In class.

y Get the program name and screen number of the enhancement screen.

y Finally, call the screen.

Page 198: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-38

SAP AG 2002

$GG�,Q�6FUHHQ�(QKDQFHPHQWV��&DOOV�LQ�WKH�$SSOLFDWLRQ�3URJUDP����

z ,Q�WKH�3$,�z &DOO�WKH�VXEVFUHHQz 3DVV�WKH�GDWD�EDFN

� In the PAI of the main screen, depending on how the implementing developer has designed the interface, you need to pass the changed data back to the application program using another method call.

Page 199: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-39

SAP AG 2002

6FUHHQ�(QKDQFHPHQWV����*HQHUDWLQJ�DQ�,QVWDQFH

6$3�DSSOLFDWLRQ�SURJUDP

Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���

É ��Ç$ÇÊ Æ�� Ê�É�Ë È$È�Ìb���$�

ÅQ�?Íu��ÎÐÏ�Ñ�Ò7ÓÍ�Ô7��È Ë È7ÕÖÍ��×�Ø2Ù$Ú Ò2ÛEÒQÜ�Ó;Ï�Ý�Þ Ù7ß Ï�àU�

DEFG

É ��Ç$ÇáÄ2È7ÍQâ$�QÅÉ ��Ç$Ç�Ä2È7ÍQâ$�QÅß�ãuä Ï�Ñ�Ò7ÓEå Ù Ü Ú�ã Ï�Ýß�ãuä Ï�Ñ�Ò7ÓEå Ù Ü Ú�ã Ï�Ýæ àæ à ç Ï2Óç Ï2Ó ää Ò�Ü.èQÓ Ù Ü ß ÏÒ�Ü.èQÓ Ù Ü ß ÏÉ â��Ì.é� hÌ2éÉ â�$Ì.é� hÌ2éÒQÜ2è$Ó Ù Ü ß ÏÒQÜ�è$Ó Ù Ü ß Ï ææ ÏQÑ�Ò�ÓÏQÑ7Ò�Ó ��

6FUHHQ6FUHHQ $%$3$%$3

$GG�,Q�FODVV�EDGL�FODVV!

&/B(;,7+$1'/(5

� In the first step, an instance of the Add-In class is generated, just as in functional enhancements. You do this by calling the factory method JHWBLQVWDQFH from the class CL_EXITHANDLER.

� The reference variable assigned the type of the interface points to the instance of the Add-In class.

Page 200: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-40

SAP AG 2002

6FUHHQ�(QKDQFHPHQWV����5HJLVWHULQJ�WKH�,QVWDQFH

6$3�DSSOLFDWLRQ�SURJUDP

Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���

É ��Ç$ÇÊ Æ�� Ê�É�Ë È$È�Ìb���$�

DEFG

É ��Ç$ÇáÄ2È7ÍQâ$�QÅÉ ��Ç$Ç�Ä2È7ÍQâ$�QÅß�ãuä Ï�Ñ�Ò7ÓEå Ù Ü Ú�ã Ï�Ýß�ãuä Ï�Ñ�Ò7ÓEå Ù Ü Ú�ã Ï�Ýæ à2èEÏ2Ó ä Ò�Ü.èQÓ Ù Ü ß Ï ä Þ$ê�Ýæ à2èEÏ2Ó ä Ò�Ü.èQÓ Ù Ü ß Ï ä Þ$ê�Ýä èEë Ø è ß Ý�Ï�Ï$Ü.èä èEë Ø è ß Ý�Ï�Ï$Ü.èÈQì2��� Ë Í� íÌ.éÈQì2�;� Ë Í� íÌ.éÒQÜ2è$Ó Ù Ü ß Ï æ Ï$Ñ7Ò�Ó|�ÒQÜ�è$Ó Ù Ü ß Ï æ ÏQÑ7Ò�ÓU�

6FUHHQ6FUHHQ $%$3$%$3&/B(;,7+$1'/(5

ÅQ�?Íu��ÎÐÏ�Ñ�Ò7ÓÍ�Ô7��È Ë È7ÕÖÍ��×�Ø2Ù$Ú Ò2ÛEÒQÜ�Ó;Ï�Ý�Þ Ù7ß Ï�àU�

$GG�,Q�FODVV�EDGL�FODVV!

� Later, the implementation will have to access the instance of the Add-In class. This means that you have to "publish" this instance by passing the reference variable to an attribute of the handler class, which in turn passes this interface reference to the Add-In class.

� You do this by executing the statement: CALL METHOD cl_exithandler=>set_instance_for_subscreens

Page 201: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-41

SAP AG 2002

6FUHHQ�(QKDQFHPHQWV����0DNLQJ�'DWD�$YDLODEOH

6$3�DSSOLFDWLRQ�SURJUDP

Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���

É ��Ç$ÇÊ Æ�� Ê�É�Ë È$È�Ìb���$�

DEFG

6FUHHQ6FUHHQ $%$3$%$3&/B(;,7+$1'/(5

'DWD�'DWD�

É ��Ç$ÇáÄ2È7ÍQâ$�QÅÉ ��Ç$Ç�Ä2È7ÍQâ$�QÅÏ�Ñ7Ò�ÓÏ�Ñ7Ò�Ó ÛÛ àî7ë.Ó ä�Ú$Ù Ó Ùàî7ë.Ó ä�Ú�Ù Ó ÙÈQì2��� Ë Í� íÌ.éÈQì2�;� Ë Í� íÌ.é×�Ú�Ù Ó Ù à×7Ú�Ù Ó Ù à

ÅQ�?Íu��ÎÐÏ�Ñ�Ò7ÓÍ�Ô7��È Ë È7ÕÖÍ��×�Ø2Ù$Ú Ò2ÛEÒQÜ�Ó;Ï�Ý�Þ Ù7ß Ï�àU�

$GG�,Q�FODVV�EDGL�FODVV!

� To make data available to the implementation, you need to pass it in two steps:

� Pass the data to the Business Add-In class. This passed data is stored in global attributes in the implementation of this method. We also strongly advise you to provide sample code at this point. The data is passed by calling the method defined in the Add-In.

� The data stored in the Add-In class in global attributes is automatically passed to the global attributes of the implementing class, if there is an active implementation.

Page 202: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-42

SAP AG 2002

6FUHHQ�(QKDQFHPHQWV����*HW�WKH�3URJUDP�1DPH�DQG�6FUHHQ�1XPEHU

6$3�DSSOLFDWLRQ�SURJUDP

Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���

É ��Ç$ÇÊ Æ�� Ê�É�Ë È$È�Ìb���$�

DEFG

É ��Ç$ÇáÄ2È7ÍQâ$�QÅÉ ��Ç$Ç�Ä2È7ÍQâ$�QÅß�ãuä Ï�Ñ�Ò7ÓEå Ù Ü Ú�ã Ï�Ýß�ãuä Ï�Ñ�Ò7ÓEå Ù Ü Ú�ã Ï�Ýæ à ç Ï2Ó ä î.Ý$ê ç ä.Ù Ü ÚEä.ÚQï Ü;îæ à ç Ï2Ó ä î.Ý$ê ç ä�Ù Ü ÚEä2ÚQï Ü;îä Þ$ê�Ý ä èEë Ø è ß Ýä Þ$ê�Ý ä èEë Ø è ß ÝÈQì2��� Ë Í� íÌ.éÈQì2�;� Ë Í� íÌ.é�$����$��� ðÄ?��� Ë Í� íÌ.é ðÄ?�;� Ë Í� íÌ.éß$Ù�ã�ã Ï Ú�ä î2Ý$ê ç Ý Ùñ æ �7�ß$Ù$ã�ã Ï Ú�ä î.Ý$ê ç Ý Ùñ æ ���ß$Ù�ã�ã Ï Ú�ä�Ú;ï Üî�ÝQê æ ���ß$Ù$ã�ã Ï Ú�ä�Ú�ï Üî�Ý�ê æ �$�

6FUHHQ6FUHHQ $%$3$%$3&/B(;,7+$1'/(5

ÅQ�?Íu��ÎÐÏ�Ñ�Ò7ÓÍ�Ô7��È Ë È7ÕÖÍ��×�Ø2Ù$Ú Ò2ÛEÒQÜ�Ó;Ï�Ý�Þ Ù7ß Ï�àU�

$GG�,Q�FODVV�EDGL�FODVV!

� %HIRUH�executing the CALL SUBSCREEN statement in the flow logic of the container screen, you must fill the program name and screen number variables with the values for the relevant subscreen screen.

� The method call CALL METHOD cl_exithandler=>get_prog_and_dynp_for_subscr gets the calling subscreen screen.

� If there is no active implementation yet, the method returns an empty dummy subscreen screen (0200) from an existing dummy function group (SAPLSEXM). This screen is then called using the CALL SUBSCREEN <prog> <dynnr>. statement.

� If, however, there is an active implementation for the Add-In definition you want to use, the subscreen screen specified in the implementation is used.

Page 203: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-43

SAP AG 2002

,PSOHPHQWLQJ�SURJUDP

6FUHHQ�(QKDQFHPHQWV����&DOOLQJ�WKH�6XEVFUHHQ

6$3�DSSOLFDWLRQ�SURJUDP

Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���

DEFG

6FUHHQ6FUHHQ $%$3$%$3&/B(;,7+$1'/(5

'DWD'DWD

É ��Ç$Ç Ê Æ�� Ê;ÉQË È�È;ÌÉ �?ÇQÇ Ê Æ$� ÊEÉ�Ë È�ÈÌ ÙØ.ßQÚÙ;Ø2ßQÚ íÌ É Ç�Æ$Å? íÌ.éòî.Ý$ê ç ðÌ É ÇQÆQÅr óÌ?éáî2Ý�ê ç

Ú�ï ÜQÜ7Ý|�Ú;ï ÜQÜ�ÝU�

6FUHHQ6FUHHQÅQ�?Íu��ÎÐÏ�Ñ�Ò7ÓÍ�Ô7��È Ë È7ÕÖÍ��×�Ø2Ù$Ú Ò2ÛEÒQÜ�Ó;Ï�Ý�Þ Ù7ß Ï�àU�

$GG�,Q�FODVV�EDGL�FODVV!

� Finally, the application program calls the subscreen screen. If there is no active implementation, the Add-In environment automatically retrieves and displays an empty default subscreen screen.

Page 204: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-44

SAP AG 2002

,PSOHPHQWLQJ�SURJUDP

6FUHHQ�(QKDQFHPHQWV����5HWXUQLQJ�6XEVFUHHQ�'DWD

6$3�DSSOLFDWLRQ�SURJUDP6FUHHQ6FUHHQ $%$3$%$3

&/B(;,7+$1'/(5

'DWD'DWD

É ��Ç$ÇáÄ2È7ÍQâ$�QÅÉ ��Ç$Ç�Ä2È7ÍQâ$�QÅÏ�Ñ7Ò�ÓÏ�Ñ7Ò�Ó ÛÛ àà ç Ï2Óç Ï2Ó ää Ú$Ù Ó ÙÚ�Ù Ó Ù ðÄ?��� Ë Í� íÌ.é ðÄ?�;� Ë Í� íÌ.é×× Ú�Ù Ó Ù àÚ�Ù Ó Ù à

Ä.�QÅ$Æ�Ç�Èn�$���

DEFGÉ ��Ç$Ç Ê Æ�� Ê;ÉQË È�È;Ì ÙØ.ßQÚ �É �?ÇQÇ Ê Æ$� ÊEÉ�Ë È�ÈÌ ÙØ.ßQÚ � íÌ É Ç�Æ$Å? íÌ.é ðÌ É ÇQÆQÅr óÌ?é î.Ý$ê çî2Ý�ê ç

Ú�ï ÜQÜ7ÝÚ;ï ÜQÜ�Ý ��

6FUHHQ6FUHHQÅQ�?Íu��ÎÐÏ�Ñ�Ò7ÓÍ�Ô7��È Ë È7ÕÖÍ��×�Ø2Ù$Ú Ò2ÛEÒQÜ�Ó;Ï�Ý�Þ Ù7ß Ï�àU�

$GG�,Q�FODVV�EDGL�FODVV!

� If you want to return more data from the implementation after leaving screen, you must call another method.

Page 205: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-45

SAP AG 2002

z ,PSOHPHQW�DQ�$GG�,Q�VFUHHQ�HQKDQFHPHQW

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

,PSOHPHQWLQJ�$GG�,Q�6FUHHQ�(QKDQFHPHQWV��7RSLF�2EMHFWLYHV

Page 206: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-46

SAP AG 2002

,PSOHPHQWLQJ�$GG�,Q�6FUHHQ�(QKDQFHPHQWV��6WHSV

z &UHDWH�WKH�SURJUDP��IXQFWLRQ�JURXS�z &UHDWH�WKH�VXEVFUHHQ�VFUHHQz ,Q�WKH�3%2�

z *HW�WKH�LQVWDQFH�RI�WKH�DGDSWHU�FODVVz *HW�GDWD�IURP�WKH�DGDSWHU�FODVV

z ,Q�WKH�3$,�z :ULWH�WKH�FKDQJHG�GDWD�WR�WKH�DGDSWHU�FODVV

� To implement a Add-In screen enhancement:

y Create the implementation for the Add-In definition. Specify the program containing the subscreen screen and the subscreen number.

y Create the program specified in the Add-In implementation.

y Create and lay out the subscreen screen.

y The implementing program must get the instance of the Add-In class.

y Data passed from the application to the Add-In class can be retrieved afterwards.

� If you want to return the changed data to the Add-In class, you must call a method to do so in the subscreen screen PAI.

Page 207: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-47

SAP AG 2002

,PSOHPHQWLQJ�SURJUDP

,PSOHPHQWLQJ�$GG�,Q�6FUHHQ�(QKDQFHPHQWV��*HWWLQJ�WKH�,QVWDQFH6$3�DSSOLFDWLRQ�

SURJUDP

DEFG

6FUHHQ6FUHHQ

&/B(;,7+$1'/(5

�Q���Y������Y�Ä��QÅ$Æ�Ç;Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���É ��Ç�ÇáÄ.È�Í$âQ�$ÅÉ ��Ç$ÇáÄ2È7ÍQâQ�QÅ

ß�ãß�ã ää Ï7Ñ$Ò�Ó�å Ù Ü Ú�ã Ï$ÝÏ�Ñ�Ò7ÓEå Ù Ü Ú�ã Ï�Ýæ à ç Ï�Ó ä Ò;Ü�è�Ó Ù Ü ß Ï ä Þ�ê$Ýæ à ç Ï2Ó ä Ò�Ü.è�Ó Ù Ü ß Ï ä Þ$ê�Ýä èEë Ø è ß Ý;Ï�ÏQÜ�èä èEë Ø è ß Ý�Ï�ÏQÜ.è ôÄI�� Ë Í2 ðÌ�é ðÄ?��� Ë Í� ðÌ.éÒ�Ü7è�Ó Ù Ü ß Ï æ Ï�Ñ�Ò�Ó�õI�ÒQÜ2è$Ó Ù Ü ß Ï æ Ï$Ñ7Ò�Ó7õI�

$%$3$%$3

'DWD'DWD

$GG�,Q�FODVV�EDGL�FODVV!

6FUHHQ6FUHHQÅQ�?Íí�]ÎöÏ�Ñ�Ò�Ó�õ

ÍQÔ��QÈ Ë È�ÕÖÍ�×�Ø�Ù�Ú Ò.ÛEÒ$Ü�ÓQÏ$Ý�Þ Ù7ß Ï7à|�

� To get the reference to the instance of the Add-In class, there is a method GET_INSTANCE_FOR_SUBSCREENS, in the class CL_EXITHANDLER.

� The reference is passed using CALL METHOD cl_exithandler=>set_instance_for_subscreens

� This allows you to access the interface methods and attributes of the Add-In class in the implementing program.

Page 208: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-48

��� The implementing program gets the data from the Add-In class by calling the appropriate interface

method. This method must pass the data stored in the global attributes of the Add-In class to the interface.

SAP AG 2002

,PSOHPHQWLQJ�$GG�,Q�6FUHHQ�(QKDQFHPHQWV��*HWWLQJ�WKH�'DWD

,PSOHPHQWLQJ�SURJUDP6$3�DSSOLFDWLRQ�SURJUDP

DEFG

6FUHHQ6FUHHQ

&/B(;,7+$1'/(5

÷�ø�ù#ú÷�ø�ù#úû.ù�ü�ý7þQÿYú�ú$úû.ù�ü�ý�þ�ÿnú$ú�úû.ù�ü�ý7þQÿYú�ú$úû.ù�ü�ý�þ�ÿnú$ú�ú��� þ�þ�û�ÿ����$ùQü��� þ$þáû2ÿ����QùQü

� �������� ��� �� ��� ������ �������� ������ ������íû.÷Qù�����������ðû?÷�ù������ ���

! ������� � ú! � ����� � ú

$%$3$%$3

'DWD'DWD

6FUHHQ6FUHHQü � � �#" � ��� �

�%$�÷�ÿ&�$ÿ�'(�;ù!�) ��� � � ��*��%�+�,�� -� � ú

$GG�,Q�FODVV�EDGL�FODVV!

Page 209: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-49

SAP AG 2002

,PSOHPHQWLQJ�$GG�,Q�6FUHHQ�(QKDQFHPHQWV��5HWXUQLQJ�WKH�'DWD

,PSOHPHQWLQJ�SURJUDP6$3�DSSOLFDWLRQ�SURJUDP

DEFG

6FUHHQ6FUHHQ

&/B(;,7+$1'/(5

�Q���Y������Y�

É ��Ç�ÇáÄ.È�Í$âQ�$ÅÉ ��Ç$ÇáÄ2È7ÍQâQ�QÅÏ�Ñ7Ò$Ó2õÏ�Ñ7Ò�Ó7õ ÛÛ à�î2ë�Ó ä2Ú7Ù Ó ÙàEî�ë�Ó ä.Ú�Ù Ó ÙÈ;ì��� Ë Í2 ðÌ�éÈQì2��� Ë Í� ðÌ.é×�Ú7Ù Ó Ù à#�×�Ú�Ù Ó Ù àY�

$%$3$%$3

'DWD'DWD �E�m q����m q�Ä��QÅ$Æ�Ç;Èn�$���Ä.�QÅ$Æ�Ç�Èn�$���

6FUHHQ6FUHHQÅQ�?Íí�]ÎöÏ�Ñ�Ò�Ó�õ

ÍQÔ��QÈ Ë È�ÕÖÍ�×�Ø�Ù�Ú Ò.ÛEÒ$Ü�ÓQÏ$Ý�Þ Ù7ß Ï7à|�

$GG�,Q�FODVV�EDGL�FODVV!

� If the data is likely to be changed, this changed data is written to the global attributes of the instance of the Add-In class (similar to when retrieving this data). You do this by calling the appropriate Add-In method.

Page 210: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-50

SAP AG 2002

z ([SODLQ�ZKDW�DQ�H[WHQVLEOH�ILOWHU�W\SH�LVz ([SODLQ�WKH�GHIDXOW�DQG�VDPSOH�FRGH

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

$GGLWLRQDO�1RWHV�RQ�%XVLQHVV�$GG�,QV��7RSLF�2EMHFWLYHV

Page 211: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-51

SAP AG 2002

&URVV&URVV��FOLHQWFOLHQW

([WHQGLEOH�)LOWHU�7\SHV� 3UHUHTXLVLWHV

�'(!�'(!

'RPDLQV'RPDLQV

9DOXH�WDEOH9DOXH�WDEOH 7H[W�WDEOH7H[W�WDEOH)LHOG�1DPH)LHOG�1DPH 7\SH7\SH.H\.H\��� �'(!ODQJXDJH 635$6��� ���

)LHOG�1DPH)LHOG�1DPH 7\SH7\SH.H\.H\��� �'(!��� ���

'HOLYHU\�FODVV�'HOLYHU\�FODVV��(��RU��6��(��RU��6�

)LOWHU�W\SH)LOWHU�W\SH

� The assignment of the H[WHQGLEOH attribute is subject to the following restrictions:

� The domain to which the extendible filter type refers must have the following properties:

• The domain is linked to a FURVV�FOLHQW value table. The value table has exactly one key field which has the data element of the filter type as its field type.

• The domain has a text table with two key fields. A key field has the filter type as its field type, and a key field is a language field. To mark a field as a text field, the field must exist in this table that contains the string 7(;7 or 7;7 as a partial string. In the ABAP Dictionary, the text table must be assigned to the value table.

• The delivery class of both tables must be ( or 6.

� All filter values that are created in the context of an extendible filter-dependent Business Add-In must not yet occur in the value field and are added to the value table when the data is saved. Correspondingly, the values are removed from the value table when the implementation or the entire Business Add-In is deleted. The same applies to text tables.

Page 212: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-52

SAP AG 2002

'HIDXOW�,PSOHPHQWDWLRQ

$FWLYH�LPSOHPHQWDWLRQ�

H[LVWV"'HIDXOW

LPSOHPHQWDWLRQH[LVWV"([HFXWH�

LPSOHPHQWDWLRQ

([HFXWH�GHIDXOW�LPSOHPHQWDWLRQ

<HV

1R

<HV

1R

&DOO�SURJUDPHQKDQFHPHQW

z ([HFXWHG�LI�QR�RWKHU�DFWLYH�LPSOHPHQWDWLRQ�LV�DYDLODEOH

z &UHDWHG�E\�WKH�SURYLGHU

� A GHIDXOW�LPSOHPHQWDWLRQ is executed whenever no active implementation of a Business Add-In exists. The default implementation is created by the enhancement provider.

� To create a default implementation in the BAdI definition choose *RWR��'HIDXOW�FRGH. The system automatically generates a class with a predefined name. Implement the methods so that the required default behavior is generated.

� You can also create a VDPSOH�LPSOHPHQWDWLRQ. This is a template that can be inserted into the methods of the implementation.

� To create sample implementations choose *RWR��6DPSOH�FRGH. The system creates a class that implements the methods of the interface. The sample code is displayed for the user as a template.

Page 213: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-53

SAP AG 2002

&RPSDULVRQ�:LWK�2WKHU�(QKDQFHPHQW�7HFKQLTXHV

&XVWRPHU�H[LWV&XVWRPHU�H[LWV

z (QKDQFHPHQW�RSWLRQV��%XVLQHVV%XVLQHVVWUDQVDFWLRQWUDQVDFWLRQ

HYHQWVHYHQWV6RXUFH�FRGH6RXUFH�FRGH

0HQXV0HQXV

6FUHHQV6FUHHQV

7DEOHV7DEOHV

$GPLQLVWUDWLRQ$GPLQLVWUDWLRQOHYHOVOHYHOV

%XVLQHVV�DGG%XVLQHVV�DGG��LQVLQV

5HXVDEOH5HXVDEOH

)LOWHU)LOWHU��VSHFLILFVSHFLILF

� Business Add-Ins are a natural extension of conventional enhancement techniques. They have adopted the concept of the administration layer from customer exits, along with the availability of the various enhancement components.

� Add-Ins adopted the idea of reusability from business transaction events, and have been implemented using a consistent object-oriented approach.

� The object-oriented implementation provides previously unavailable opportunities. For example, it would be possible to enhance the 'RFXPHQW object. It would then be possible to provide a new instance of the enhancement for each individual document.

Page 214: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-54

SAP AG 1999

%XVLQHVV�$GG�,Q�'HILQLWLRQ� 1DPLQJ�&RQYHQWLRQV

z %XVLQHVV�$GG�,Q�'HILQLWLRQ. �EDGL!�RU�=�EDGL!�RU������EDGL!

�FKRRVH�DQ\��FRPSO\�ZLWK�QDPHVSDFH�z ,QWHUIDFH

. ,)B(;B�EDGL!�RU�=,)B(;B�EDGL!�RU�����,)B(;B�EDGL!�FKRRVH�DQ\��FRPSO\�ZLWK�QDPHVSDFH�

z 0HWKRGV. &KRRVH�DQ\�QDPH�\RX�ZDQW

z *HQHUDWHG�%XVLQHVV�$GG�,Q�&ODVV��$GDSWHU�&ODVV�. &/B(;B�EDGL!�RU�=&/B(;B�EDGL!�RU�����&/B(;B�EDGL!

�FDQQRW�EH�FKDQJHG�

Page 215: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-55

SAP AG 1999

%XVLQHVV�$GG�,Q�,PSOHPHQWDWLRQ� 1DPLQJ�&RQYHQWLRQV

z %XVLQHVV�$GG�,Q�,PSOHPHQWDWLRQ. �LPSO!�RU�=�LPSO!�RU������LPSO!

�FKRRVH�DQ\��FRPSO\�ZLWK�QDPHVSDFH�z ,QWHUIDFH

. ,)B(;B�EDGL!�RU�=,)B(;B�EDGL!�RU�����,)B(;B�EDGL!�GHILQHG�LQ�%XVLQHVV�$GG�,Q�GHILQLWLRQ�

z 0HWKRGV. 'HILQHG�LQ�%XVLQHVV�$GG�,Q�GHILQLWLRQ

z ,PSOHPHQWLQJ�FODVV. &/B,0B�LPSO!�RU�=&/B,0B�LPSO!�RU�����&/B,0B�LPSO!

�FKRRVH�DQ\��FRPSO\�ZLWK�QDPHVSDFH�

Page 216: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-56

SAP AG 2002

o 'RFXPHQWDWLRQ

$SSOLFDWLRQ�KLHUDUFK\$SSOLFDWLRQ�KLHUDUFK\

)LQGLQJ�D�%XVLQHVV�$GG�,Q

6\VWHP�6\VWHP���!! 6WDWXV�������6WDWXV���������!'RXEOH!'RXEOH��FOLFN�SURJUDP�QDPHFOLFN�SURJUDP�QDPH

)LQG�FKDUDFWHU�VWULQJ���)LQG�FKDUDFWHU�VWULQJ���&/B(;,7+$1'/(5

�� *OREDO�LQ�SURJUDP��*OREDO�LQ�SURJUDP��SURJSURJ!!

z 'LUHFWO\�LQ�WKH�DSSOLFDWLRQ��

o 'RXEOH�FOLFN�UHIHUHQFH�YDULDEOH'RXEOH�FOLFN�LQWHUIDFH &ODVV�%XLOGHU�o :KHUH�XVHG�OLVW�IRU�LQWHUIDFHo &/B(;B�$GG�,Q�1DPH!o 6(��� �$GG�,Q�1DPH!

o 'RFXPHQWDWLRQ

z 8VLQJ�WRROV

5HSRVLWRU\5HSRVLWRU\,QIRUPDWLRQ�6\VWHP,QIRUPDWLRQ�6\VWHP

,0*,0*

� There are various ways of searching for Business Add-ins:

y You can search in a relevant application program for the string "CL_EXITHANDLER". If a business add-in is called from the program, the "GET_INSTANCE" method of this class must be called.

y You can then reach the definition of the business add-in using forward navigation. The definition also contains documentation and a guide for implementing the Business Add-In.

y Use the application hierarchy to restrict the components in which you want to search. Start the Repository Information System, then choose (QKDQFHPHQWV��!�%XVLQHVV�$GG�,QV to start the relevant search program.

y Alternatively, you can use the entries in the relevant component of the IMG.

Page 217: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-57

SAP AG 2002

z ([WHQG�SURJUDP�IXQFWLRQV�XVLQJ�%XVLQHVV�$GG�,QV

z &UHDWH�%XVLQHVV�$GG�,QV�VR�WKH\�DUH�DYDLODEOH�WR�VXEVHTXHQW�5���XVHUV�LQ�WKH�GHYHORSPHQW�FKDLQ

z ,PSOHPHQW�VFUHHQ�HQKDQFHPHQWV�XVLQJ�%XVLQHVV�$GG�,QV

<RX�DUH�QRZ�DEOH�WR�

%XVLQHVV $GG�,QV��8QLW�6XPPDU\

Page 218: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-58

Page 219: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-59

([HUFLVHV�

8QLW��� %XVLQHVV�$GG�,QV�7RSLF��� 8VLQJ�%XVLQHVV�$GG�,QV�

At the conclusion of this exercise, you will be able to:

• Implement an enhancement with Business Add-Ins

The customer service personnel in the agency want the list of bookings that you implemented in the exercise on menu exits to contain more information. The list should contain the name of the customer in addition to his customer number.

1-1 Check if program 6$3%&���B%22.,1*B�� (## = group number) can be enhanced.

1-1-1 Check the program for ways in which it can be enhanced.

1-1-2 Check if an enhancement option is suitable for outputting further information in the list.

1-2 Implement the enhancement you found. Call your implementation =%&���,0��.

1-2-1 What data is passed to the interfaces of the methods? Are there already fields here that should be displayed in the list?

1-2-2 Table 6&86720 contains the information about the customers. Get the customer’s name from his customer number. Output the name.

1-3 Format the list.

1-3-1 How can you move the vertical line so that the additional fields are displayed within the frame?

1-3-2 Is the &+$1*(B9/,1( method suitable for changing the position of the vertical line? If so, use it.

1-4 Check your results.

Page 220: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-60

Page 221: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-61

8QLW��� %XVLQHVV�$GG�,QV�7RSLF��� &UHDWLQJ�%XVLQHVV�$GG�,QV�

At the conclusion of this exercise, you will be able to:

• Create a Business Add-In and offer an enhancement in a program with Business Add-In technology

Develop your own supplementary components for the R/3 System. You want to offer an enhancement that can implement subsequent software layers in a program.

You deliver a program that outputs list of flight connections. You want to provide your customers with the following enhancement options using a Business Add In: When the user double-clicks a row, developers at the customer’s site should be able to implement other actions. Your customers should be able to build a details list.

In the second part of the exercise, test your enhancement. The details list should show all the flights for a connection.

1-1 Create a program that outputs list of flight connections.

1-1-1 To do so, copy program 6$3%&���B7(03/$7( to the name =%&���B%$',B��.

1-1-2 Assign your program to a development class and a change request.

1-2 Create a Business Add-In.

1-2-1 The name of the Business Add-In is =%&�����.

1-2-2 Create a method. Define the interface.

1-2-3 Which parameter do you have to pass to the interface?

1-3 Edit the program so that a user can double-click on a line to output the details list.

1-3-1 Implement event $7�/,1(�6(/(&7,21.

1-3-2 Insert the appropriate statements in your program to call a Business Add-In: Declare a reference variable; instantiate an object of the Business Add-In class; implement the call of the Business Add-In method at the right place in the program.

Page 222: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-62

1-4 Implement the enhancement (name of the implementation: =%�����,0).

1-4-1 A details list should be output when you double-click on a line of the list of the application program. The flight dates of the selected connection should be output in the details list. Table 6)/,*+7�� contains the flight dates.

1-4-2 Read the relevant data from table 6)/,*+7�� to an internal table with Array-Fetch. Then output selected fields of the internal table.

1-4-3 Which variables (attributes of the implementing class) do you have to declare? How do you declare an internal table? Where can you declare a table type?

1-5 Check your results.

Page 223: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-63

8QLW��� %XVLQHVV�$GG�,QV�7RSLF��� ,PSOHPHQW�DQ�$GG�,Q�VFUHHQ�HQKDQFHPHQW�

At the conclusion of this exercise, you will be able to:

• Implement a screen enhancement using a Business Add-In.

Use a transaction of your own to record and change flight data. At present, this transaction offers only standard input fields. Your enterprise wants to record additional data for each flight. The transaction offers an enhancement possibility for this purpose that you will implement.

1-1 Find out whether or not the program 6$3%&���B)/,*+7B&+1*�� offers an enhancement possibility, which you can use to extend the detail recording screen.

1-2 Look for Business Add-Ins with which you can implement the above requirements.

1-2-1 Search the application hierarchy.

1-2-2 Search the Repository Info System.

1-2-3 Search the Implementation Guide.

1-2-4 If you find a Business Add-In, read its documentation and decide whether or not it is suitable for your enhancement.

1-3 Implement the enhancement.

1-3-1 Create the function group =%&���,0��. You need this function group to create a subscreen screen.

1-3-2 Create a subscreen screen and assign a number to it.

1-3-3 Add the appropriate fields to the screen.

1-3-4 Program the flow logic for this subscreen screen. At the PBO event, get the instance of the Add-In class and the data that is passed from the SAP application. At the PAI event, the changed data must be returned to the SAP application.

1-4 Create a Business Add-In implementation. Name your implementation =%&���6,1��.

1-4-1 Implement the interface method.

1-4-2 Enter the necessary information on the 6XEVFUHHQV tab.

1-4-3 Activate the implementation.

1-5 Test the enhanced application.

Page 224: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-64

Page 225: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-65

6ROXWLRQV�

8QLW��� %XVLQHVV�$GG�,QV�7RSLF��� 8VLQJ�%XVLQHVV�$GG�,QV�

1-1 Check if program 6$3%&���B%22.,1*B�� (## = group number) can be enhanced as follows:

1-1-1 Place the cursor in the list and choose )���7HFKQLFDO�,QIR. Double-click on the program name (You can also start directly in the ABAP Editor.). Look for the character string &/B(;,7+$1'/(5 in the program. Double-click the transfer parameter H[LWBERRN. Double-click the interface used to define the type of exit_book. The Class Builder is started. Make a where-used list for the interface in classes. A class &/B(;B%$',B%22.�� is displayed. The name of the Business Add-In is thus %$',B%22.��.

1-1-2 Start transaction 6(�� (Business Add-In definition). Read the documentation about Business Add-Ins.

1-2 From transaction 6(��, go to the transaction for creating implementations of Business Add-Ins using ,PSOHPHQWDWLRQ��&UHDWH. Call your implementation =%&���,0��.

1-2-1 You can display the interface parameters by double-clicking the method in transaction 6(��. In the Class Builder, place the cursor on the required method and choose "Parameters". The transfer structure does not contain the fields that you want to display in the list. You have to read the corresponding data separately.

1-2-2 Double-click on the method name to go to the Editor. A proposal for implementing the methods is given below (group 00):

METHOD if_ex_badi_book00~output.

DATA:

name TYPE s_custname.

SELECT SINGLE name

FROM scustom

INTO name

WHERE id = i_booking-customid.

WRITE: name.

ENDMETHOD.

Page 226: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-66

1-3 The FKDQJHBYOLQH method is provided for formatting the list. You can move the right edge of the list here.

1-3-1 Parameter FBSRV defines the position of the right vertical line.

1-3-2 The method can be implemented as follows:

METHOD if_ex_badi_book00~change_vline.

c_pos = c_pos + 25.

ENDMETHOD.

Page 227: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-67

8QLW��� %XVLQHVV�$GG�,QV�7RSLF��� &UHDWLQJ�%XVLQHVV�$GG�,QV�

1-1 Copy the template program as specified in the exercise.

1-2 To create Business Add-Ins, start transaction SE18 (in the ABAP Workbench: 8WLOLWLHV��(QKDQFHPHQWV��%XVLQHVV�$GG�,QV��'HILQLWLRQ).

1-2-1 Choose =%&����� as the name of the Business Add-In. Enter a short description and save your entries.

1-2-2 Choose the tab page "Interface". Double-click on the name of the interface. The Class Builder is started. Enter the name of a method. Give a short description. Choose 3DUDPHWHUV to define the interface.

1-2-3 Define two importing parameters whose types are defined with 6B&$55B,' (airline) and 6B&211B,' (connection number). Activate the interface. The adapter class is also generated.

1-3 Source code of the program with the Business Add-In:

*&---------------------------------------------------------*

*& Report SAPBC425_TEMPLATE*

*&---------------------------------------------------------*

REPORT sapbc425_badi.

DATA:

wa_spfli TYPE spfli,

it_spfli TYPE TABLE OF spfli WITH KEY carrid connid.

�5HIHUHQFH�9DULDEOH�IRU�%$G,�'$7$������H[LWBUHI�7<3(�5()�72�]LIBH[BEF�������

* Selection Screen

SELECTION-SCREEN BEGIN OF BLOCK carrier

WITH FRAME TITLE text-car.

SELECT-OPTIONS: so_carr FOR wa_spfli-carrid.

SELECTION-SCREEN END OF BLOCK carrier.

*&----------------------------------------------------------*

Page 228: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-68

*& Event START-OF-SELECTION

*&----------------------------------------------------------*

START-OF-SELECTION.

��&$//�0(7+2'�FOBH[LWKDQGOHU !JHWBLQVWDQFH������������&+$1*,1*����������������LQVWDQFH� �H[LWBUHI��

SELECT *

FROM spfli

INTO CORRESPONDING FIELDS OF TABLE it_spfli

WHERE carrid IN so_carr.

*&----------------------------------------------------------*

*& Event END-OF-SELECTION

*&----------------------------------------------------------*

END-OF-SELECTION.

LOOP AT it_spfli INTO wa_spfli.

WRITE: / wa_spfli-carrid,

wa_spfli-connid,

wa_spfli-countryfr,

wa_spfli-cityfrom,

wa_spfli-countryto,

wa_spfli-cityto,

wa_spfli-deptime,

wa_spfli-arrtime.

HIDE: wa_spfli-carrid,

wa_spfli-connid.

ENDLOOP.

CLEAR wa_spfli.

*&----------------------------------------------------------*

*& Event AT LINE-SELECTION.

*&----------------------------------------------------------*

Page 229: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-69

AT LINE-SELECTION..

CHECK NOT wa_spfli-carrid IS INITIAL.

��&$//�0(7+2'�H[LWBUHI�!OLQHVHOHFWLRQ������������(;3257,1*����������������LBFDUULG� �ZDBVSIOL�FDUULG����������������LBFRQQLG� �ZDBVSIOL�FRQQLG��FOHDU�ZD�VSIOL��

Page 230: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-70

1-4 Implement the Business Add-In. From transaction SE18 FKRRVH�,PSOHPHQWDWLRQV��&UHDWH. Give the implementation the name ZBC425##_IM. Choose the tab "Interface" and double-click on the name of the method. The Editor is started. Enter the source text here:

METHOD zif_ex_bc42500~lineselection.

DATA:

it_flights TYPE TABLE OF sflight00,

wa_flights TYPE sflight00.

FORMAT COLOR COL_HEADING.

WRITE: / text-hea, i_carrid, i_connid.

FORMAT COLOR COL_NORMAL.

SELECT *

FROM sflight00

INTO CORRESPONDING FIELDS OF TABLE it_flights

WHERE carrid = i_carrid AND

connid = i_connid.

LOOP AT it_flights INTO wa_flights.

/ wa_flights-fldate,

wa_flights-planetype,

wa_flights-price CURRENCY wa_flights-currency,

wa_flights-currency,

wa_flights-seatsmax,

wa_flights-seatsocc.

ENDLOOP.

ENDMETHOD.

Activate the implementation.

Page 231: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-71

8QLW��� %XVLQHVV�$GG�,QV�7RSLF��� 6FUHHQ�(QKDQFHPHQWV�

1-1 Find out whether or not the program 6$3%&���B)/,*+7B&+1*�� offers an enhancement possibility, which you can use to extend the entry screen.

1-1-1 Choose 6\VWHP�o�6WDWXV�to get the name of the program. Double-click this program name. Choose *RWR�o�2EMHFW�&DWDORJ�(QWU\. This tells you the package to which the application is assigned. Double-click the package name to find out the application component containing this package.

1-2 In either the Repository Info System or the application hierarchy, search for suitable Business Add-Ins, using this package and application component as criteria.

1-2-1 In the Repository, choose (QKDQFHPHQWV�o�%XVLQHVV�$GG�,QV�o�'HILQLWLRQ to search for Business Add-Ins.

1-2-2 In the application hierarchy, select the application component. Then choose ,QIR�6\VWHP to navigate to the Repository Info System. All the packages contained in the application component you have selected are entered as search criteria.

1-2-3 The system returns a list of Business Add-Ins. Select the Business Add-In you are interested in, %&���B��)/,*+7�, and choose 'LVSOD\� You are now in the %XVLQHVV�$GG�,Q�%XLOGHU, where you will find the documentation for this Add-In. Get to know the documentation.

1-3 Implement the enhancement.

1-3-1 Create the function group =%&���,0�� in the Object Navigator. To do this, display the object list for your package. Click the package name with the right mouse button and choose &UHDWH�o�)XQFWLRQ�*URXS. Enter =%&���,0�� in the 1DPH�field and create a short description. Save your entries and assign them to a change request.

1-3-2 Create a subscreen in the function group and assign a number to it. Select the function group and choose &UHDWH�o�6FUHHQ from the context menu. Enter a short description and choose the type 6XEVFUHHQ.

1-3-3 Launch the Layout Editor. Choose *RWR�o�6HFRQGDU\�:LQGRZ�o�'LFW�3URJUDP�)LHOGV. Enter the ABAP Dictionary structure and choose *HW�IURP�'LFW. Select the fields you want and confirm your choice. Add the fields to the screen.

Page 232: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-72

1-3-4 Navigate to the flow logic for this subscreen screen. This flow logic should include a call to the following module:�

���������������������������������������������352&(66�%()25(�287387�����02'8/(�JHWBLQVWDQFH����02'8/(�JHWBGDWD�� � ���������������������������������������������352&(66�$)7(5�,1387�����02'8/(�SXWBGDWD����� ���������������������������������������������������������������������� � ,1&/8'(�/=%&���B,02����� ���������������������������������������������������������������������� � ��������������������������������������������������������������������� � ������0RGXOH��JHWBLQVWDQFH��287387� ��������������������������������������������������������������������� �02'8/(�JHWBLQVWDQFH�287387�����&$//�0(7+2'�FOBH[LWKDQGOHU !JHWBLQVWDQFHBIRUBVXEVFUHHQV�����&+$1*,1*�������LQVWDQFH���������������������� �UBYDU�����(;&(37,216�������27+(56������������������������ ������,)�V\�VXEUF��!��������0(66$*(�,'�V\�PVJLG�7<3(�V\�PVJW\�180%(5�V\�PVJQR����������������:,7+�V\�PVJY��V\�PVJY��V\�PVJY��V\�PVJY�����(1',)���(1'02'8/(��������������������JHWBLQVWDQFH��287387� ��������������������������������������������������������������������� � ������0RGXOH��JHWBGDWD��287387� ��������������������������������������������������������������������� �02'8/(�JHWBGDWD�287387�����&$//�0(7+2'�UBYDU�!JHWBGDWD�����,03257,1*�������HBFRQQ� �VG\QBFRQQ���(1'02'8/(��������������������JHWBGDWD��287387�

Page 233: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-73

���������������������������������������������������������������������� � ,1&/8'(�/=%&���B,0,����� ���������������������������������������������������������������������� � ��������������������������������������������������������������������� � ������0RGXOH��SXWBGDWD��,1387� ��������������������������������������������������������������������� � �������WH[W� ���������������������������������������������������������������������� �02'8/(�SXWBGDWD�,1387�����&$//�0(7+2'�UBYDU�!SXWBGDWD�����(;3257,1*�������LBFRQQ� �VG\QBFRQQ���(1'02'8/(��������������������SXWBGDWD��,1387�� ���������������������������������������������������������������������� � ,1&/8'(�/=%&���B,0723� ���������������������������������������������������������������������� �)81&7,21�322/�NDXUDBLPBEF��������������������0(66$*(�,'�����7$%/(6������VG\QBFRQQ���'$7$������UBYDU�7<3(�5()�72�LIBH[BEF���B��IOLJKW���

Page 234: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 25-74

1-4 Create a Business Add-In implementation. From the definition, choose�,PSOHPHQWDWLRQV�o�&UHDWH. Give the implementation the name =%&���6,1�� and confirm your entries.

1-4-1 To navigate to the ABAP Editor, choose the ,QWHUIDFH tab and double-click the name of the method.

�0(7+2'�LIBH[BEF���B��IOLJKW�aJHWBGDWD�����029(�&255(6321',1*�ZD�72�HBFRQQ��(1'0(7+2'����������������������,)B(;B%&���B��)/,*+7�a*(7B'$7$��0(7+2'�LIBH[BEF���B��IOLJKW�aSXWBGDWD�����029(�&255(6321',1*�LBFRQQ�72�ZD��(1'0(7+2'�����������������������,)B(;B%&���B��)/,*+7�a387B'$7$��

1-4-2 On the 6XEVFUHHQV tab, enter the name of the program from your function group, 6$3/=%&���,0��, and the number of the subscreen screen you created.

1-4-3 Activate the implementation by choosing either ,PSOHPHQWDWLRQ�o $FWLYDWH or the appropriate button.

1-5 Execute the application and check that your enhancement is processed.

Page 235: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-1

SAP AG 2002

z :KDW�PRGLILFDWLRQV�DUHz 0DNLQJ�PRGLILFDWLRQVz 0RGLILFDWLRQ�$VVLVWDQWz 0RGLILFDWLRQ�%URZVHUz 8VHU�H[LWVz 6$3�1RWH�$VVLVWDQWz 0RGLILFDWLRQ�DGMXVWPHQWV

&RQWHQWV�

0RGLILFDWLRQV

Page 236: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-2

SAP AG 2002

z 'HVFULEH�ZKDW�D�PRGLILFDWLRQ�LV�z /LVW�WKH�PRVW�LPSRUWDQW�UXOHV�WR�IROORZ�GXULQJ�D�

PRGLILFDWLRQz ,PSOHPHQW�PRGLILFDWLRQV�XVLQJ�WKH�0RGLILFDWLRQ�

$VVLVWDQWz 8VH�XVHU�H[LWV�WR�LPSOHPHQW�HQKDQFHPHQWVz 0DLQWDLQ�6$3�1RWHV�XVLQJ�WKH�1RWH�$VVLVWDQWz $GMXVW�PRGLILFDWLRQV

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

0RGLILFDWLRQV� 8QLW�2EMHFWLYHV

Page 237: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-3

SAP AG 2002

0RGLILFDWLRQV��2YHUYLHZ�'LDJUDP

z0RGLILFDWLRQ�$VVLVWDQWz8VHU H[LWV

z2YHUYLHZ

z$%$3�'LFWLRQDU\� ������� ��� ��� ����� �����������

z&XVWRPHU�H[LWV� �������������������� ���� ����!�� ���� "#��������!$� ���� %��'& ��������!�� �(�

z%XVLQHVV�WUDQVDFWLRQ�HYHQWVz%XVLQHVV�$GG�,QV

5���%XVLQHVV�$SSOLFDWLRQV5���%XVLQHVV�$SSOLFDWLRQV�7KH�6$3�6WDQGDUG��7KH�6$3�6WDQGDUG�

(QKDQFHPHQW(QKDQFHPHQW0RGLILFDWLRQ0RGLILFDWLRQz 7UDQVDFWLRQYDULDQWV

3HUVRQDOL3HUVRQDOL��]DWLRQ]DWLRQ

��

��

��

��

��

��

���

Page 238: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-4

SAP AG 2002

2ULJLQDOV�DQG�&RSLHV

&RS\&RS\

2ULJLQDO2ULJLQDO

&RS\&RS\

&RS\&RS\

2ULJLQDO2ULJLQDO6$3�REMHFW 6$3�REMHFW 6$3�REMHFW

&XVW��REMHFW &XVW��REMHFW

7UDQVSRUW�RI7UDQVSRUW�RIGHYHORSPHQWVGHYHORSPHQWV

'HYHORSPHQW�V\VWHP'HYHORSPHQW�V\VWHP 1H[W�V\VWHP1H[W�V\VWHP

� An object is original in RQO\�RQH�V\VWHP. In the case of objects delivered by SAP, the original system is at SAP itself. In customer systems, these objects are then only available as copies. This applies to your development system and all other systems that come after it.

� If you write your own applications, the objects that you create are original in your development system. You assign your developments to a change request, which has the type 'HYHORSPHQW�&RUUHFWLRQ.

� This request ensures that the objects are transported from the development system into the subsequent systems.

Page 239: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-5

SAP AG 2002

&RUUHFWLRQV�DQG�5HSDLUV

0RGLILHG0RGLILHGFRS\FRS\

&RUUHFWHG&RUUHFWHGRULJLQDORULJLQDO

&RS\&RS\

&RS\&RS\

&RUUHFWHG&RUUHFWHGRULJLQDORULJLQDO

6$3�REMHFW

7UDQVSRUW7UDQVSRUWRI�FRUUHFWLRQRI�FRUUHFWLRQ

6$3�REMHFW 6$3�REMHFW

&XVW��REMHFW &XVW��REMHFW

&RUUHFWLRQ&RUUHFWLRQ

5HSDLU5HSDLU&RUUHFWLRQ&RUUHFWLRQ 7UDQVSRUW7UDQVSRUWRI�UHSDLURI�UHSDLU

'HYHORSPHQW�V\VWHP'HYHORSPHQW�V\VWHP 1H[W�V\VWHP1H[W�V\VWHP

� Changes to an original are called FRUUHFWLRQV� They are recorded in a change request whose tasks have the type 'HYHORSPHQW�FRUUHFWLRQ.

� If, on the other hand, you change a copy (an object outside its own original system), the change is recorded in a task with the type 5HSDLU. Repairs to SAP objects are called PRGLILFDWLRQV��

� When you repair your own objects (for example, if something goes wrong in your production system), you can correct the original in your development system straight away. :KHQ�\RX�FKDQJH�FRSLHV��\RX�PXVW�FRUUHFW�WKH�RULJLQDO�LPPHGLDWHO\��

� However, you cannot do this with SAP objects, because they are not original in any of your systems.

� You should only modify the SAP standard if the modifications you want to make are absolutely necessary for optimizing workflow in your company. Be aware that good background knowledge of application structure and flow are essential prerequisites for deciding what kind of modifications to make and how these modifications should be designed.

Page 240: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-6

SAP AG 2002

0RGLILFDWLRQV�DQG�8SJUDGHV

0RGLILHG0RGLILHGFRS\FRS\

&RUUHFWHG&RUUHFWHGRULJLQDORULJLQDO

&RS\&RS\

&RS\&RS\

&RUUHFWHG&RUUHFWHGRULJLQDORULJLQDO

6$3�REMHFW

7UDQVSRUW7UDQVSRUWRI�DGMXVWPHQWRI�DGMXVWPHQW

6$3�REMHFW 6$3�REMHFW

&XVW��REMHFW &XVW��REMHFW

8SJUDGH8SJUDGH8SJUDGH8SJUDGH

0RGLILFDWLRQ0RGLILFDWLRQDGMXVWPHQWDGMXVWPHQW

'HYHORSPHQW�V\VWHP'HYHORSPHQW�V\VWHP 1H[W�V\VWHP1H[W�V\VWHP

� Whenever you upgrade your system, apply a Support Package, or import a transport request, conflicts can occur with modified objects.

� Conflicts occur when you have changed an SAP object and SAP has also delivered a new version of it. The new object delivered by SAP becomes an active object in the Repository of your system.

� If you want to save your changes, you must perform a PRGLILFDWLRQ�DGMXVWPHQW�for the objects. If you have a lot of modified SAP objects, your upgrade can be slowed down considerably.

� To ensure consistency between your development system and subsequent systems, you should only perform modification adjustments in your development system. The objects from the adjustment can then be transported into other systems.

Page 241: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-7

SAP AG 2002

z 'HVFULEH�ZKDW�WR�SD\�DWWHQWLRQ�WR�ZKHQ�PRGLI\LQJ�SURJUDP�REMHFWV

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

3HUIRUPLQJ�0RGLILFDWLRQV��7RSLF�2EMHFWLYHV

Page 242: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-8

SAP AG 2002

5HJLVWHULQJ�0RGLILFDWLRQV�LQ�66&5

&XVWRPHU�V\VWHP

6$31HW

System Help

) ��*��'��� �(��&,+.-/&0��12�3��&54) ��*��'�$� �(��&6+.-7&(��12�3��&84 9 �'� �(� ���:%��'&(�����9 ��� �;� ���<%=�'& �����

> >?? >> ?A@ @@

SURJUDPBQDPHProgram

Object listSystem Help

) �3B�� ���(��&����:C��3���) �3B�� ��� ��&D���EC��3��

> >?? >> ? @ @@Please enter the key for object ...

System Help

F %G%H4F %G%I4 %GJLK F �EC��3�� ) �3B�� �3��& ��;� �G�%DJMK F �EC��3�� ) �3BD� ����& ���;� ���

> >?? >> ?N@ @@

Key

5�75PgmID/OBJ/Name 352* SURJUDPBQDPH��������������������

� Changes made to SAP sources and manual changes to ABAP Dictionary objects must be registered by a registered developer. Exceptions to this registration are matchcodes, database indexes, buffer settings, customer objects, patches, and objects whose changes are based on automatic generation (for example, in Customizing). If the object is changed again at a later time, no new query is made for the registration key. Once an object is registered, the related key is stored locally and automatically copied for later changes, regardless of which registered developer is making the change. For the time being, these keys remain valid even after a release upgrade.

� How do you benefit from SSCR (SAP Software Change Registration)?

y Quick error resolution and high availability of modified systems All objects that have been changed are logged by SAP. Based on this information, SAP’s First Level Customer Service can quickly locate and fix problems. This increases the availability of your R/3 System.

y Reliable operation Having to register your modifications helps prevent unintended modification. This in turn ensures that your R/3 software runs more reliably.

y Simplification of upgrades Upgrades and release upgrades become considerably easier due to the smaller number of modifications.

Page 243: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-9

SAP AG 2002

&DUU\LQJ�2XW�D�5HJLVWHUHG�0RGLILFDWLRQ

5HSDLU�IODJ5HSDLU�IODJ7DVN7DVN

<RX�DUH�UHSDLULQJ�DQ�<RX�DUH�UHSDLULQJ�DQ�6$3�REMHFW6$3�REMHFW:DUQLQJ:DUQLQJ

66&5�NH\66&5�NH\

$%$3�(GLWRU

3URJUDP����������

&KDQJH�ORFN&KDQJH�ORFN

,PSRUW�ORFN,PSRUW�ORFN

9HUVLRQ�FUHDWLRQ9HUVLRQ�FUHDWLRQ

&KDQJH�5HTXHVW&KDQJH�5HTXHVW

5HTXHVW����

z 6WHSV��z 66&5�NH\z &KDQJH�UHTXHVW

QXPEHU

� If you want to change an SAP Repository object, you must provide the Workbench Organizer with the following information:

y SSCR key

y Change request

The above graphic shows you how to obtain an SSCR key. If you now continue to change the object, you must confirm the following warning dialogs: At this point, you can still cancel the action without repairing the object.

� The Workbench Organizer asks you to enter a change request, as it would for your own objects. The object is automatically added to a repair task. The change request has the following functions:

y Change lock After the task has been assigned, only its owner can change the object.

y Import lock The object cannot be overwritten by an import (upgrade or support package).

y Version creation The system generates a new version of the object (see below).

Page 244: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-10

SAP AG 2002

:KHQ�WKH�0RGLILFDWLRQ�LV�)LQLVKHG

9HUVLRQV9HUVLRQV

&KDQJH�ORFN�SDVVHV&KDQJH�ORFN�SDVVHVWR�FKDQJH�UHTXHVWWR�FKDQJH�UHTXHVW,PSRUW�ORFN�SDVVHV,PSRUW�ORFN�SDVVHVWR�FKDQJH�UHTXHVWWR�FKDQJH�UHTXHVW

&KDQJH�ORFN&KDQJH�ORFNUHOHDVHGUHOHDVHG

,PSRUW�ORFN,PSRUW�ORFNUHOHDVHGUHOHDVHG

7UDQVSRUW�GLUHFWRU\7UDQVSRUW�GLUHFWRU\

'RFXPHQWDWLRQ'RFXPHQWDWLRQ

5HOHDVH�UHTXHVW5HOHDVH�UHTXHVW

5HOHDVH�WDVN5HOHDVH�WDVN

� After development is finished, the programmer releases the task. At this point, the programmer must document the changes made. The objects and object locks valid in the task are transferred to the change request. If the developer confirms the repair, the import lock passes to the change request. If the developer does not confirm the repair when releasing the task, the import lock remains in place. Only the developer can release this lock.

� Once the project is completed, you release the change request. This removes all of the change request’s object locks. This applies both to the change locks and the import locks.

� When the change request is released, the objects are copied from the R/3 database and stored in a directory at operating system level. The system administrator then imports them into subsequent systems.

� After the modifications have been imported into the quality system, the developer must test them and check the import log of the request.

Page 245: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-11

SAP AG 2002

9HUVLRQV

&RS\&RS\6$3�REMHFW

0RGLILHG0RGLILHGFRS\FRS\

6$3�REMHFW

%DFNZDUG�GHOWD%DFNZDUG�GHOWD)XOO�YHUVLRQ)XOO�YHUVLRQ

5HSDLU5HSDLU

)LUVW�VDYH)LUVW�VDYH

5HOHDVH�UHTXHVW5HOHDVH�UHTXHVW

� When you release a change request, a complete version of all objects contained in the change request is written to the versions database.

� If you transport the Repository object again later, the current object becomes a complete copy and the differences between the old and the new object are stored in the versions database as a backwards delta.

� When you assign a Repository object to a task, the system checks whether the current version matches the complete copy in the versions database. If not, a complete copy is created. This process is also initiated the first time you change an object, since SAP does not deliver versions of Repository objects.

� The versions of a Repository object provide the basis for modification adjustment. To support adjustment, information on whether the version was created by SAP or by the customer is also stored.

Page 246: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-12

SAP AG 2002

&ULWLFDO�6XFFHVV�)DFWRUV����

5(3257�VDSDEDS�,)�V\�WDEL[� ��� �6'B�������,QVHUWLRQ

FRXQW� �FRXQW�����/223�$7�WDE:+(5(�I�������

����(1'/223�

(1',)�

5(3257�VDSDEDS�,)�V\�WDEL[� ��� �6'B�������,QVHUWLRQ&$//�)81&7,21�=B)0&+$1*,1*FRXQWHU� �FRXQW7$%/(6LWDE���� �WDE�

(1',)�

,QVHUWLRQ

(QFDSVXODWLRQ

)81&7,21�]BIP�FRXQWHU� �FRXQWHU�����/223�$7�LWDE:+(5(�I�������

����(1'/223�

(1')81&7,21�

z (QFDSVXODWLRQ�LQVWHDG�RI�LQVHUWLRQ

� Encapsulate customer source code in modularization units instead of inserting it directly into SAP source code (for example, by calling customer function modules in the program source code, or customer subscreen for additional screen fields).

Page 247: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-13

SAP AG 2002

&ULWLFDO�6XFFHVV�)DFWRUV����

z 8VH�QDUURZ�LQWHUIDFHV�GXULQJ�HQFDSVXODWLRQz 6WDQGDUGL]H�\RXU�PRGLILFDWLRQ�GRFXPHQWDWLRQz /RJ�DOO�PRGLILFDWLRQVz &RQILUP�DQG�UHOHDVH�DOO�UHSDLUV��DV�ZHOO�DV�DOO�

UHTXHVWV�WKDW�FRQWDLQ�UHSDLUV

� When encapsulating the customer portions of a program, be sure to use narrow interfaces.

� Define a standard for all of your company’s modification documentation (see the following slides).

� You should also maintain a list of all modifications to your system (a modification log - see the following slides).

� All requests that contain repairs must be released before an upgrade so that all relevant customer versions can be written to the versions database (the system compares versions during adjustment) .

� Repairs must also be confirmed prior to upgrade; otherwise the object being repaired is locked and cannot be imported.

Page 248: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-14

SAP AG 2002

&ULWLFDO�6XFFHVV�)DFWRUV����

z 'R�QRW�PRGLI\�DQ\�$%$3�'LFWLRQDU\�REMHFWV�WKDW�EHORQJ�WR�WKH�FRUH�RI�\RXU�V\VWHP��&KDQJH�'LFWLRQDU\�REMHFWV�RQO\�LI�WROG�WR�GR�VR�LQ�DQ�6$3�1RWH�RU�E\�VRPHERG\�IURP�WKH�6$3�+RWOLQH

z 'R�QRW�FUHDWH�DQ\�DGGLWLRQDO�IXQFWLRQ�PRGXOHV�LQ�6$3�IXQFWLRQ�JURXSV��SULRU�WR�5HOHDVH����$�

z 'R�QRW�GHOHWH�VRXUFH�FRGH��FRPPHQW�LW�RXW�LQVWHDG

� Any modifications that you make to ABAP Dictionary objects that belong to Basis components are lost at upgrade - these objects revert to their earlier form and QR�DGMXVWPHQW�KHOS�is offered. This can lead to the contents of certain tables being lost.

Page 249: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-15

SAP AG 2002

0RGLILFDWLRQ�/RJV� ([DPSOH

2EMHFW�W\SH��SURJUDP��VFUHHQ��*8,�VWDWXV������2EMHFW�QDPH5RXWLQH6XEMHFW�DUHD5HTXHVW�QXPEHU�RI�UHSDLU&KDQJHG�RQ&KDQJHG�E\3HUVRQ�UHVSRQVLEOH3UHOLPLQDU\�FRUUHFWLRQ"��\HV�QR�6$3QHW�QRWH�QXPEHU9DOLG�WR�UHOHDVH7LPH�UHTXLUHG�WR�UHVWRUH��KRXUV�

352*6$309��$6$9(B'2&6'B���'(9.����������������6PLWK&DUSHQWHUQR²²�

� SAP recommends that you NHHS�D�UHFRUG�RI�DOO PRGLILFDWLRQV�that have been made to your system (that is, of any changes you have made to Repository objects in the SAP namespace).

� The following information should be logged for each modification:

y Object type (program, screen, GUI status, ...)

y Object name

y Routine (if applicable)

y Subject area (according to process design blueprint or technical design)

y Repair number

y Changed on

y Changed by

y Preliminary correction? (yes/no)

y SAP Note number, valid until Release x.y

y Estimated time needed to incorporate the modification during adjustment

Page 250: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-16

SAP AG 2002

z ,PSOHPHQW�PRGLILFDWLRQV�XVLQJ�WKH�0RGLILFDWLRQ�$VVLVWDQW

z 'HVFULEH�KRZ�WKH�0RGLILFDWLRQ�$VVLVWDQW�ZRUNV

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

0RGLILFDWLRQ�$VVLVWDQW��7RSLF�2EMHFWLYHV

Page 251: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-17

SAP AG 2002

0RGLILFDWLRQ�$VVLVWDQW� 3XUSRVH

z )LQHU�JUDQXODULW\z 0RGXOHVz 5RXWLQHVz )XQFWLRQ�PRGXOHV

z &KDQJHV�LQ�D�VHSDUDWH�VRIWZDUH�OD\HU�XVLQJ�PRGLILFDWLRQ�H[LWV

6LPSOLI\LQJ�PRGLILFDWLRQ�DGMXVWPHQWV6LPSOLI\LQJ�PRGLILFDWLRQ�DGMXVWPHQWV

� The aim of the Modification Assistant is to make modification adjustments easier. In the past, the granularity of modifications was only at include program level. Today, a finer granularity is available. Now, modifications can be recorded at subroutine or module level.

� This is because (among other reasons) the modifications are registered in a different layer. As well as providing finer granularity, this means that you can reset modifications, since the original version is not changed.

Page 252: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-18

SAP AG 2002

+RZ�WKH�0RGLILFDWLRQ�$VVLVWDQW�:RUNV

6RXUFH�FRGH /RDG/RDG*HQHUDWH

0RGLILFDWLRQV

� The Modification Assistant records changes in a separate layer. This means that the original source code of the object does not change. The modifications are not adopted until the load is generated, so that the executable object is created from both the parts of the original SAP program and the modifications.

Page 253: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-19

SAP AG 2002

0RGLILFDWLRQ�$GMXVWPHQWV�7KHQ�DQG�1RZ

z 7+(1�z *UDQXODULW\�ZKHQ�FRQIOLFWV�RFFXU��,QFOXGH�SURJUDPz 0RGLILFDWLRQ�DGMXVWPHQW�OLQH�E\�OLQHz (DFK�PRGLILFDWLRQ�KDG�WR�EH�LQFOXGHG�LQ�WKH�QHZ�6$3�

YHUVLRQ�PDQXDOO\��FXW�DQG SDVWH�

z 12:��XVLQJ�0RGLILFDWLRQ�$VVLVWDQW��z *UDQXODULW\�ZKHQ�FRQIOLFWV�RFFXU��0RGXOH��IRU�H[DPSOH��

VXEURXWLQH�z 0RGLILFDWLRQ�DGMXVWPHQW�DW�PRGXOH�OHYHO��PRGLILFDWLRQ H[LW�z 5H�LPSRUW�RI�PRGLILFDWLRQV�ODUJHO\�DXWRPDWHG

� In the past, if you modified an include for which SAP provided a new version in an upgrade, you had to perform a modification adjustment line by line. The system provided little support.

� The Modification Assistant has changed this situation considerably. Modifications are now recorded with finer granularity. For example, if you modify a subroutine, the rest of the include remains unchanged. If SAP delivers a new version of the include, the system looks to see if there is also a new version of that subroutine. If this is not the case, your changes can be incorporated into the new version automatically.

Page 254: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-20

SAP AG 2002

0RGLILFDWLRQ�$VVLVWDQW� 6RIWZDUH�/D\HUV

6$36$3 3DUWQHU3DUWQHU &XVWRPHU&XVWRPHU

2ULJLQDOV2ULJLQDOV 0RGLILFDWLRQ�OD\HU0RGLILFDWLRQ�OD\HU 0RGLILFDWLRQ�OD\HU0RGLILFDWLRQ�OD\HU

� The original version of each software layer compsists of the originals from the previous layer plus current modifications.

Page 255: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-21

SAP AG 2002

0RGLILFDWLRQ�$VVLVWDQW� 7RROV�6XSSRUWHG

z $%$3�'LFWLRQDU\z $SSHQG�VWUXFWXUHV�DUH�UHJLVWHUHGz 'DWD�HOHPHQWV� )LHOG�ODEHOV�FDQ�EH�FKDQJHG

z $%$3�(GLWRUz 0RGLILFDWLRQ�PRGH

z 6FUHHQ�3DLQWHUz /D\RXWz )ORZ�ORJLF

z 0HQX�3DLQWHUz 7H[W�(OHPHQWVz &ODVV�%XLOGHUz )XQFWLRQ�%XLOGHU

z $GGLQJ�IXQFWLRQ�PRGXOHVz &RPSDWLEOH�LQWHUIDFH�HQKDQFHPHQWV

z 'RFXPHQWDWLRQz 6XEVWLWXWLQJ�GRFXPHQWDWLRQ�REMHFWV

� Above is a list of the tools supported by the Modification Assistant.

� In the ABAP Editor, you can use modification mode to change source code. Only a restricted range of functions is available in this mode. You can add, replace, or comment out source code, all under the control of the Modification Assistant.

� Changes to layout and flow logic in the Screen Painter are also recorded.

� The Modification Assistant also records changes in the Menu Painter and to text elements, as well as the addition of new function modules to an existing function group.

� To avoid conflicts in the upgrade, table appends are also logged by the Modification Assistant.

Page 256: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-22

SAP AG 2002

0RGLILFDWLRQ�$VVLVWDQW� 3UHUHTXLVLWHV

0RGLILFDWLRQ�$VVLVWDQW0RGLILFDWLRQ�$VVLVWDQW

7KH�WUDQVSRUW�REMHFW�LV�XQGHU�WKH�FRQWURO�RI�WKH�0RGLILFDWLRQ�$VVLVWDQW

���5HVWULFWHG�HGLWRU�IXQFWLRQV���

<RX�FDQ�FKDQJH�VHFWLRQV�XVLQJ�WKH�PRGLILFDWLRQ�LFRQ

z 5���SURILOH SDUDPHWHUz HX�FRQWUROOHGBPRGLILFDWLRQ

� If you want to change an SAP object, you must provide the following information:

y SSCR key

y Change request

� The system informs you that the object is under the control of the Modification Assistant. Only restricted functions are available in the editor.

� You can switch the Modification Assistant on or off for the entire system changing the R/3 profile parameter HX�FRQWUROOHGBPRGLILFDWLRQ. SAP recommends that you always work with the Modification Assistant on.

� You can switch off the Modification Assistant for single Repository Objects. Once you have done so, the system no longer uses the fine granularity of the Modification Assistant.

Page 257: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-23

SAP AG 2002

0RGLILFDWLRQ�$VVLVWDQW�,FRQV

,QVHUW

5HSODFH

'HOHWH

8QGR�PRGLILFDWLRQ

0RGLILFDWLRQ�RYHUYLHZ

� In modification mode, you have access to a subset of the normal editor tools. You can access these using the appropriate pushbuttons. For example, in the ABAP Editor, you can:

y Insert The system generates a framework of comment lines between which you can enter your source code.

y Replace Position the cursor on a line and choose 5HSODFH. The corresponding line is commented out, and another line appears in which you can enter coding. If you want to replace several lines, mark them as a block first.

y Delete Select a line or a block and choose 'HOHWH. The lines are commented out.

y Undo modifications This undoes all of the modifications you have made to this object.

y Display modification overview Choose this function to display an overview of all modifications belonging to this object.

Page 258: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-24

SAP AG 2002

$%$3�(GLWRU

352*5$0��6$3�3URJUDP!����

���

^,16(57��'(9.������������������������������ ^,16(57��'(9.������������������������������ ` ` ^5(3/$&(��'(9.����������������������������� ^5(3/$&(��'(9.����������������������������� ??:5,7(����V\:5,7(����V\��XQDPH�&2/25�&2/B.(<�XQDPH�&2/25�&2/B.(<� ` `:5,7(����V\�XQDPH�&2/25�&2/B1250$/�

^'(/(7(��'(9.������������������������������ ^'(/(7(��'(9.������������������������������ ??:5,7(����V\:5,7(����V\��XQDPH�&2/25�&2/B.(<�XQDPH�&2/25�&2/B.(<� ?? ` `

([DPSOH� $%$3�(GLWRU

,QVHUW

5HSODFH

'HOHWH

� The graphic shows the result of changes made with Modification Assistant.

� The Modification Assistant automatically generates a framework of comment lines describing the action. The comment also contains the number of the change request to which the change is assigned, and a number used for internal administration.

Page 259: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-25

SAP AG 2002

$%$3�(GLWRU

352*5$0��6$3�3URJUDP!����

���

^,16(57��'(9.������������������� ^,16(57��'(9.������������������� ` ` ^5(3/$&(��'(9.�������������������� ^5(3/$&(��'(9.�������������������� ??:5,7(����V\:5,7(����V\��XQDPH�&2/25�&2/B.(<�XQDPH�&2/25�&2/B.(<� ` `:5,7(����V\�XQDPH�&2/25�&2/B1250$/�6$3�3URJUDP

6$3�3URJUDP 60,7+ ���������� '(9.������

'2B620(7+,1* 60,7+ ���������� '(9.������

0RGLILFDWLRQ�2YHUYLHZ

:LWKRXW�PRGXODUL]DWLRQ�XQLW

6XEURXWLQH

0RGLILFDWLRQ�2YHUYLHZ0RGLILFDWLRQ�2YHUYLHZ

� The Modification Overview icon provides you with an overview of the modifications you have made in the current program.

� The display is structured according to the various modularization units. This corresponds to the structure used by the Modification Assistant to record the modifications.

Page 260: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-26

SAP AG 2002

$%$3�(GLWRU

352*5$0��6$3�3URJUDP!����

���

^,16(57��'(9.������������������� ^,16(57��'(9.������������������� ` ` ^5(3/$&(��'(9.�������������������� ^5(3/$&(��'(9.�������������������� ??:5,7(����V\:5,7(����V\��XQDPH�&2/25�&2/B.(<�XQDPH�&2/25�&2/B.(<� ` `:5,7(����V\�XQDPH�&2/25�&2/B1250$/�

$%$3�(GLWRU

352*5$0��6$3�3URJUDP!����:5,7(����V\�XQDPH�&2/25�&2/B.(<����

5HVWRULQJ�WKH�2ULJLQDO

� To undo a modification, place the cursor on it and choose 8QGR.

� The record of the modifications is deleted. You cannot restore this record.

Page 261: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-27

SAP AG 2002

0RGLILFDWLRQ�%URZVHU��,QLWLDO�6FUHHQ

0RGLILFDWLRQ�%URZVHU

6WDQGDUG�VHOHFWLRQV

0RGLILHG�REMHFWV5HTXHVW�WDVN������������'HYHORSPHQW�FODVV��/DVW�FKDQJHG�E\�����

:LWK�0RGLILFDWLRQ�$VVLVWDQW:LWKRXW�0RGLILFDWLRQ�$VVLVWDQW:LWK�0RGLILFDWLRQ�$VVLVWDQW

'DWD�HOHPHQWV

6B&$55B,' 60,7+ ���������� '(9.������'RPDLQV3URJUDPV�)XQFWLRQ�PRGXOHV

� The Modification Browser provides an overview of all of the modified objects in the system. The Modification Browser differentiates between modifications made with the Modification Browser and those made without.

� On the initial screen of the Modification Browser, you can restrict the selection according to various criteria. This allows you to find modifications in a particular area.

� The Modification Assistant displays the hit list in tree form. Objects are arranged by:

y Modification type (with/without the Assistant)

y Object type (PROG, DOMA, DTEL, TABL, and so on)

� You can also use the Modification Browser to undo a whole group of modifications by selecting it and choosing the 5HVHW�WR�2ULJLQDO�function.

Page 262: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-28

SAP AG 2002

z ([SODLQ�ZKDW�XVHU�H[LWV�DUHz 'HVFULEH�KRZ�\RX�ILQG�XVHU�H[LWV�LQ�WKH�V\VWHP

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

8VHU�([LWV��7RSLF�2EMHFWLYHV

Page 263: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-29

SAP AG 2002

8VHU�([LW� 6WUXFWXUH�RI�D�0RGXOH�3RRO3URJUDP 6$309��$

,QFOXGH�09��$723

2WKHU�LQFOXGHV

,QFOXGH�09��$,�� ,QFOXGH�09��$2��

,QFOXGH�09��$)=%

6SHFLDO�LQFOXGH�SURJUDPV

6SHFLDO�LQFOXGH�SURJUDPV

� A module pool is organized as a collection of include programs. This is particularly useful for making the program easier to understand. The organization is similar to that of function groups. In particular, the naming convention, by which the last three letters of the name of the include program identify its contents, is identical.

� The main program, as a rule, contains the include statements for all of the include programs that belong to the module pool.

� The includes described as VSHFLDO includes in the program are themselves only include programs technically, they are not different. These programs are only delivered once.

Page 264: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-30

SAP AG 2002

3URJUDP�6$309��$ 6$3�,QFOXGHV

,QFOXGH�09��$)=% 8VHU�([LWV�5HOHDVH����*)250�XVHUH[LWBWHVW�(1')250�

)250�XVHUH[LWBWZR�(1')250�

,QFOXGH�09��$)=& 8VHU�([LWV�5HOHDVH����$

8VHU�([LWV

z (PSW\�VXEURXWLQHVz ,QFOXGHV�DUH�RQO\�

GHOLYHUHG�RQFHz 0RVWO\ LQ�6'z 7HFKQLFDOO\�

PRGLILFDWLRQV

� User exits are a type of system enhancement that were originally developed for the Sales and Distribution Module (SD). The original purpose of user exits was to allow the user to avoid modification adjustment.

� A user exit is considered a modification, since technically objects in the SAP namespace are being modified.

� The SAP developer creates a special include in a module pool. These includes contain one or more subroutines routines that satisfy the naming convention userexit_<name>. The calls for these subroutines have already been implemented in the program. Usually global variables are used.

� After delivering them, SAP never alters includes created in this manner; if new user exits must be delivered in a new release, they are placed in a new include program.

Page 265: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-31

SAP AG 2002

8VHU�([LWV��([DPSOH

,1&/8'(�09��$)=%��� �7KLV�LQFOXGH�LV�UHVHUYHG�IRU�XVHU�PRGLILFDWLRQV���������� �)RUPV�IRU�VDOHV�GRFXPHQW�SURFHVVLQJ���������������������� �7KH�QDPH�RI�PRGLILFDWLRQ�PRGXOHV�VKRXOG�EHJLQ�ZLWK�==�� ���������������������������������������������������������������� �)RUP��86(5(;,7B),//B9%$3B)520B+9%$3 ���������������������������������������������������������������� ������7KLV�XVHU�H[LW�FDQ�EH�XVHG�WR�ZULWH�DGGWLRQDO�GDWD�WR�9%$3� ������IURP�WKH�PDLQ�LWHP��+9%$3���7KDW�LV��WKLV�XVHU�H[LW�LV��� FDOOHG�ZKHQ�DQ�LWHP�LV�HQWHUHG�ZLWK�UHIHUHQFH�WR�D�PDLQ��� LWHP� ������7KLV�IRUP�LV�FDOOHG�IURP�IRUP�9%$3B)8(//(1B+9%$3��������� ����������������������������������������������������������������� )250�XVHUH[LWBILOOBYEDSBIURPBKYEDS� �9%$3�]]ILHOG� �+9%$3�]]ILHOG��(1')250�

� User exits are actually empty subroutines that SAP developers provide for you. You then fill them with your own source code.

� The purpose behind this type of system is to keep all changes well away from program source code and store them in include programs instead. To this end, SAP developers create various includes that fulfill the naming conventions for programs and function groups. The last two letters in the name of the include refer to the include that the customer should use: = is usually found here.

� Example: Program SAPM45A Include M45AFZB

� This naming convention guarantees that SAP developers will not touch this include in the future. For this reason, includes of this nature are not adjusted during modification upgrade.

� If any new user exits are delivered by SAP with a new release, then they are bundled into new includes that adhere to the same naming convention.

Page 266: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-32

SAP AG 2002

6DOHV�DQG�GLVWULEXWLRQ¬ 6\VWHP�PRGLILFDWLRQV¬8VHU�H[LWV

o &KRRVH�UHOHYDQW�FRPSRQHQW

8VLQJ�8VHU�([LWV

8VHU�H[LWV

6\VWHP�6\VWHP�oo 6WDWXV6WDWXVoo 'RXEOH'RXEOH��FOLFN�SURJUDP�QDPHFOLFN�SURJUDP�QDPH

6HDUFK�IRU�VWULQJ���6HDUFK�IRU�VWULQJ���SHUIRUP�XVHUH[LW

o 6$3�5HIHUHQFH�,0*6DOHV�DQG�GLVWULEXWLRQ¬ 6\VWHP�PRGLILFDWLRQV¬8VHU�H[LWV

o &KRRVH�UHOHYDQWFRPSRQHQW

�� *OREDOO\�LQ�SURJUDP�*OREDOO\�LQ�SURJUDP�¢¢SURJSURJ²²

z )URP�DQ�DSSOLFDWLRQ�SURJUDP z 8VLQJ�WRROV

,0*,0*

� You can find a list of all user exits in the SAP Reference Implementation Guide.

� There, you will also find documentation explaining why SAP developers have created a particular user exit.

� Follow the steps described in the Implementation Guide.

Page 267: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-33

SAP AG 2002

z ,PSRUW�QRWH�FRUUHFWLRQV�LQWR�DQ�6$3�6\VWHP�XVLQJ�WKH�6$3�1RWH�$VVLVWDQW

z 1DPH�WKH�DGYDQWDJHV�RI�XVLQJ�WKH�6$3�1RWH�$VVLVWDQW

z $GMXVW�LPSOHPHQWHG�QRWH�FRUUHFWLRQV�XVLQJ�WKH�6$3�1RWH�$VVLVWDQW�

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

6$3�1RWH�$VVLVWDQW��7RSLF�2EMHFWLYHV

Page 268: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-34

SAP AG 2002

7KH�3ULQFLSOH�RI�WKH�6$3�1RWH�$VVLVWDQW

6$3�1RWH��������

7KHQ���

1RZ���

6$3�1RWH��������

5HOHDVH5HOHDVHQQ

5HOHDVH5HOHDVHQ��Q��

5HOHDVH5HOHDVHQQ����

5HOHDVH5HOHDVHQQ

0DQXDO�PRGLILFDWLRQ�DGMXVWPHQW

$XWRPDWLF�PRGLILFDWLRQ�DGMXVWPHQW

6$3�1RWH��������6$3�1RWH��������

6$3�1RWH��������6$3�1RWH��������

1RWH1RWH$VVLVWDQW$VVLVWDQW

0DQXDO0DQXDO66&566&5

� Before the SAP Note Assistant was introduced, you had to implement manually all notes requiring a correction to objects in your SAP System. This increased the possibility of errors. The other disadvantage of this approach is that you need to enter a registration key for the SAP object before you can change it. Developers also had to work out for themselves, from the note, what the dependency was between this error correction and other corrections already made in the system. Finally, you had to adjust the implemented error correction manually whenever you imported a Support Package or upgrade.

� The SAP Note Assistant solves most of these issues. You no longer need to enter a registration key. The SAP Note Assistant automatically imports the note corrections into the system using the Modification Assistant. Dependencies between this and other notes are recognized automatically. If they have not yet been implemented, the SAP Note Assistant instructs you to import these notes into your system. Moreover, notes have a specified validity period. When you import Support Packages and upgrades, the system checks to see whether or not the note correction is still valid. If not, you can undo the correction by clicking a pushbutton.

Page 269: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-35

SAP AG 2002

%HQHILWV�RI�WKH�6$3�1RWH�$VVLVWDQW

z ,PSRUW�6$3�1RWHV�DXWRPDWLFDOO\z 5HVWULFWHG�WR�FRUUHFWLRQV�LQ�$%$3�VRXUFH�FRGH

z 'HDO�ZLWK�GHSHQGHQFLHV�DXWRPDWLFDOO\z :LWK�RWKHU�6$3�1RWHVz :LWK�6XSSRUW�3DFNDJHVz :LWK�PRGLILFDWLRQV

z 2YHUYLHZ�RI�DOO�QRWHV�LPSRUWHG�LQWR�WKH�6$3�6\VWHPz 6XSSRUW�IRU�PRGLILFDWLRQ�DGMXVWPHQWV�DIWHU�6XSSRUW�3DFNDJHV�RU�

XSJUDGHV

z &DXWLRQ��1RWHV�FRUUHFW�LQGLYLGXDO�HUURUV�21/<7KH\�DUH�QR�VXEVWLWXWH�IRU�6XSSRUW�3DFNDJHV ,PSRUWDQW�

� The purpose of the SAP Note Assistant is to support you when you import note corrections into your SAP System. Corrections are generally imported automatically. That is, you no longer have to maintain the source code manually, which reduces the likelihood of errors. Moreover, you no longer need to register the objects you want to correct in the SAP Software Change Registration (SSCR).

� The SAP Note Assistant offers several other benefits: It recognizes dependencies between different notes. Within each note, it also recognizes errors that already been removed by a Support Package. It then marks the note as obsolete. If modifications have already been performed on the object you want to correct, they are registered. Later, during modification adjustment, such objects are specifically flagged.

� Another useful feature of the SAP Note Assistant is that you can display an overview of all the note corrections imported into the system.

� If modifications are adjusted after an upgrade or Support Package has imported, the note corrections are listed in a separate category. Note corrections that are now obsolete in the current system state are specially flagged, which makes it easier to transfer the object to the standard.

� Remember: The SAP Note Assistant makes it easier to correct single errors. It is QRW designed for importing Support Packages.

Page 270: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-36

SAP AG 2002

6$3�1RWH�$VVLVWDQW��3URFHGXUH

0RGLILFDWLRQ�%URZVHU��6(���

0RGLILFDWLRQ�$GMXVWPHQW��63$8�

6SHFLDO�YHUVLRQ�RI�WKH6SOLWVFUHHQ�(GLWRU

6$3�1RWHV

'HWDLOV

'RZQORDG8SGDWH

0DQXDO�FRQIOLFW�UHVROXWLRQ8SJUDGH

Implement

6$3�1RWH�$VVLVWDQW1RWHV�%URZVHU &RUUHFWLRQ�LQVWUXFWLRQ

� Using the SAP Note Assistant you can download existing SAP Notes from the SAP Service Marketplace. The Notes Browser includes an overview of all the notes you have implemented in your system. You can then navigate from there to the Modification Browser, which provides an overview of all the objects corrected by a given note. You can also find out which notes can be implemented, have been implemented, or are now obsolete, by entering the appropriate status.

� After reading the note carefully, you can implement it according to the correction instruction. The SAP Note Assistant ascertains whether the note can be implemented automatically (indicated by a green traffic light icon beside the relevant object). If conflicts have occurred when the note corrections are being implemented - for example because the Note Assistant cannot find the context block - you can implement them manually using a special version of the Splitscreen Editor.

Page 271: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-37

SAP AG 2002

1RWH�$VVLVWDQW��:RUNOLVW��8VHU�;;;

6$3�1RWH�$VVLVWDQW��:RUNOLVW

2YHUYLHZ

/RDG

&KHFN

(GLWLQJ�6WDWXV

,PSOHPHQW

/RJ

6$3�1RWHV,QFRQVLVWHQW

1HZ

,Q�3URFHVV

�����������(UURU�LQ�3URJUDP�$%&�����������7H[W

�����������1RWH�7H[W�����������1RWH

�����������1RWH�7H[W

� You call the transaction SNOTE by entering this code in the command field. The system then displays a list of notes assigned to the following nodes:

y Notes assigned to you as the processor

y All new notes

y All notes in an inconsistent state

� Notes that you can implement are indicated using the appropriate icon. (To find out what each icon means, choose 8WLOLWLHV −> &RORU�/HJHQG�� The above example shows a new note, which is either obsolete or cannot be edited. This means either that a correction instruction is missing (that is, the note is purely for information), or the note’s validity period does not match the system release and patch level.

Page 272: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-38

SAP AG 2002

6$3�1RWH�$VVLVWDQW��/RDGLQJ�1RWHV

Æ )LQG�QRWHÆ 5HDG�QRWH

z &KHFN�SUHUHTXLVLWHVz ,PSOHPHQW�QRWHz 5HJLVWHU�QRWH

1RWH�$VVLVWDQW

'%

2SWLRQ���'RZQORDG�GLUHFWO\

2SWLRQ��D�'RZQORDG�WR�ILOH�

V\VWHP 2SWLRQ��

E�

8SORDG

)LOH�V\VWHP

3UREOHP 2YHUYLHZ

/RDG

&KHFN

(GLWLQJ�VWDWXV

,PSOHPHQW

/RJ

� You can download SAP Notes from the SAP Service Marketplace or the SAPNet-R/3 Frontend to your system, either directly using an RFC connection (1RWH�!'RZQORDG) or by file transfer (1RWH�!8SORDG�.

� You can download SAP Notes from the SAP Service Marketplace or the SAPNet-R/3 Frontend to your system.

� To upload the note, first download a note from the SAP Service Marketplace and save it to your local hard drive. You then upload this note by file transfer from the Note Assistant.

Page 273: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-39

SAP AG 2002

6$3�1RWH�$VVLVWDQW��1RWHV�%URZVHU

2YHUYLHZ

/RDG

&KHFN

(GLWLQJ�6WDWXV

,PSOHPHQW

/RJ

1RWH�$VVLVWDQW��1RWH�%URZVHU

O�PRQTS U�VEP3WXQ:Q,SZYEQ [�\\�] ^`_RP�aM\:P3bcS�bcQ d3W,P<_E^fecQhgRQ�iZe j aM\�] S:akS�bcQ,^leRQTgcQ(iZem<nRo`pRn`q rls,tEu SEavPbceRQ�WTgRQ�w P3b x�y�z6{$d�|�z [ u$u�} O j bv\�WhP�_`SceRe j aM\�] S:akS�bcQTSE~I_RPa#\:] ScQTS�] �pE�RpfmRmR� � W WhP�W�w bv\�WhP��WTg<a�[Gx'y �/�HzXU���� O�SZ� y$g<bk�RSkw aM\] S<aIS�bcQTSE~

$OO 1RWHV

Page 274: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-40

SAP AG 2002

1RWH�$VVLVWDQW��:RUNOLVW��8VHU�;;;

6$3�1RWH�$VVLVWDQW��,PSOHPHQWLQJ�D�1RWH

6$3�1RWHV,QFRQVLVWHQW

1HZ

,Q�SURFHVV

�����������(UURU�LQ�3URJUDP�$%&�����������7H[W

�����������1RWH�WH[W�����������1RWH

�����������1RWH�WH[W

2YHUYLHZ

/RDG

&KHFN

(GLWLQJ�6WDWXV

,PSOHPHQW,PSOHPHQW

/RJ

The following notes will be implemented:Implement Note 0427325000 Version 001

�7���������=�����E������������k�3�������������� �3�¡��¢D£�¤ �3¥

�7���������=�����E������¦�����k�3�������������� �3�¡��¢D£�¤ �3¥

0DLQ�3URJUDP

� You then implement the note carefully after reading it. The system checks for prerequisites and dependencies of other notes. If prerequisite notes are not yet registered in your system, the SAP Note Assistant displays them in a list for you to implement.

Page 275: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-41

SAP AG 2002

6$3�1RWH�$VVLVWDQW��2WKHU�)HDWXUHV

z 6SOLWVFUHHQ�(GLWRUz 6HYHUDO�ORJJLQJ�RSWLRQV�

z 'LVSOD\�WKH�LPSOHPHQWDWLRQ�VWDWXVz 'LVSOD\�WKH�DFWLRQ�ORJ

z 8QGR�QRWH�LPSOHPHQWDWLRQ

Page 276: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-42

SAP AG 2002

1RWH $VVLVWDQW� :RUNOLVW��8VHU�;;;

6$3�1RWH $VVLVWDQW��1RWHV ZLWK�'HSHQGHQFLHV

6$3�1RWHV,QFRQVLVWHQW

1HZ

,Q SURFHVV

�����������(UURU�LQ 3URJUDP $%&�����������7H[W

�����������1RWH�7H[W�����������1RWH

�����������1RWH�7H[WLoad the following SAP Notes in the system:

������������������������������

2YHUYLHZ

/RDG

&KHFN

(GLWLQJ 6WDWXV

,PSOHPHQW,PSOHPHQW

/RJ

� The Note Assistant ascertains whether a note has a prerequisite note associated with it, and if so, loads it into your system. It shows the note you chose as well as all the additional notes in a dialog box, the 1RWHV�4XHXH� You must implement the notes in the order shown.

� You have several options:

y Implement several notes at once If you choose this option, the system implements as many notes as possible consecutively. However, it can only do this if all the corrections from the notes are to be adopted without changes. If you have modified any of the relevant includes yourself, the system may not be able to insert some of the changes. The system then implements these notes individually so that you can adjust your modification.

y Implement each note once The system implements the specified notes individually. You can then trace detailed information on what changes in the source text change are associated with the relevant notes, and modify this source code change if necessary.

y Cancel note implementation The system does not change the source text.

Page 277: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-43

SAP AG 2002

6$3�1RWH�$VVLVWDQW��0RGLILFDWLRQ�$GMXVWPHQW

0RGLILFDWLRQ�$GMXVWPHQWV2YHUYLHZ

/RDG

&KHFN

(GLWLQJ�6WDWXV

,PSOHPHQW

/RJ

(QKDQFHPHQWV�DQG�0RGLILFDWLRQV1RWH�&RUUHFWLRQV

������������ 1RWH�7H[W������������ 7H[W������������ 1RWH�'HVFULSWLRQ

$GMXVWPHQW�

� Each Support Package contains a collection of error corrections. You can import Support Packages into your system only as a whole and only in a specific order. Each correction in the Support Package is documented in a note.

� After you have imported the Support Package, any the following situations may arise:

y Correction implemented by means of the note and included in the Support Package (traffic light icon, no color): When the Support Package is imported, the system checks whether or not the corrections in the Support Package have been implemented already in your system as note corrections. During modification adjustment (transaction: SPAU), these notes are displayed with a colorless traffic light icon and thus shown to be obsolete. You must then UHVHW the relevant objects to 6$3�2ULJLQDO.

y Note implemented, but not included in the Support Package (yellow traffic light icon): The system checks whether or not corrections - that you previously implemented from a note - will be overwritten by a Support Package that does not contain these corrections. You must later implement these note corrections again. During modification adjustment, the system displays these notes with a yellow traffic light icon. Your worklist also indicates that these Notes must be implemented. They are displayed with the status ,QFRQVLVWHQW.

y Note implemented, although parts of it are included in the Support Package (green traffic light icon) For example, a note may contain several correction instructions with different validity periods. When the Support Package is imported, some correction instructions will become obsolete, whereas others remain valid. In this - rare - case, the note is displayed with a green traffic light icon.

Page 278: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-44

SAP AG 2002

5HJLVWHULQJ�1RWH�&RUUHFWLRQV�0DQXDOO\

z 7KH�6&:1B5(*,67(5B127(6�SURJUDPz 8VHU�HQWHUV�QRWHVz 1RWHV�DUH�ORDGHGz 3URJUDP�FKHFNV�YDOLGLW\z 3URJUDP�FKHFNV�WKDW�QRWH�KDV�EHHQ�LPSOHPHQWHG

z %HQHILWV�z 'LVSOD\�LQ�1RWHV�%URZVHUz 'HSHQGHQFLHV�DUH�VSHFLILHG�FRUUHFWO\z 'XULQJ�PRGLILFDWLRQ�DGMXVWPHQW��FRUUHFWLRQV�DUH�GLVSOD\HG�LQ�

WKH�FDWHJRU\�1RWH�&RUUHFWLRQV

� If you have implemented corrections from notes before you install the SAP Note Assistant, you can make this fact known to the Note Assistant. This is important, since the Note Assistant does not automatically recognize whether or not a note correction has been implemented manually in your system, without your using the Note Assistant. This process of registration confers the following benefits:

y All the notes implemented in your system are displayed in the Notes Browser.

y If a manually-implemented note (that is, without using the Note Assistant) is a prerequisite for another note, which you want to implement using the Assistant, the Assistant recognizes that the prerequisite note has already been implemented and does not require you to implement it again.

y Later, during modification adjustment after an upgrade or Support Package import, these manually-implemented notes are displayed in the category 1RWHV�&RUUHFWLRQ� For these notes, the system ascertains whether they are to be reimplemented or reset to original.

� To register notes manually, launch the program SCWN_REGISTER_NOTES. On the program selection screen, enter the numbers of the notes that you want to register as completely implemented. The system loads the notes and checks whether these notes are valid for your release and Support Package level. The program also checks to see whether the notes have already been registered as implemented in the Note Assistant.

Page 279: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-45

SAP AG 2002

z 1DPH�WKH�VWHSV�WDNHQ�GXULQJ�D�PRGLILFDWLRQ�DGMXVWPHQW

z /LVW�ZKLFK�REMHFWV�PXVW�EH�DGMXVWHG�DQG�ZKHQz 'HVFULEH�KRZ�WKH�PRGLILFDWLRQ�DGMXVWHPHQW�LV�

SHUIRUPHG�LQ�VXEVHTXHQW�V\VWHPV

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

0RGLILFDWLRQ�$GMXVWPHQW��7RSLF�2EMHFWLYHV

Page 280: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-46

SAP AG 2002

2EMHFWV�IRU�$GMXVWPHQW

1HZ�YHUVLRQ�IURP�6$31HZ�YHUVLRQ�IURP�6$3

0RGLILHG�E\�FXVWRPHU0RGLILHG�E\�FXVWRPHU

$GMXVWPHQW�UHTXLUHG$GMXVWPHQW�UHTXLUHG

� The set of objects for adjustment is derived from the set of new objects delivered by SAP in a new release. This is compared with the set of modified objects.

� The intersection of these two sets is the set of objects that must be adjusted when you import an upgrade or support package.

Page 281: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-47

SAP AG 2002

6$3�VWDQGDUG&XVWRPHUYHUVLRQ

5HYHUW�WR6$3�VWDQGDUG

$GMXVWPHQW

7UDQVDFWLRQV�63''63$8

&RPSDUH

0RGLILFDWLRQ�$GMXVWPHQW� 63''�DQG�63$8

� During modification adjustment, old and new versions of ABAP Repository objects are compared using transactions SPDD and SPAU.

� You GR�QRW have to call transaction SPDD to adjust Dictionary objects if:

y No changes have been made to SAP standard objects in the Dictionary

y You have only added customer objects to your system. Only SAP objects that have been changed must be adjusted using this transaction.

� All other ABAP Repository objects are adjusted using transaction SPAU. Upgrade program R3up tells you to start the transaction after upgrade has finished. You have 30 days to use transaction SPAU after an upgrade. After 30 days, you must apply for a SSCR key for each object that you want to adjust.

� Transaction SPAU first identifies which objects have been modified and then ascertains for which of the modified objects a new version has been imported during the current upgrade. Modification adjustment allows you to transfer the modifications you have made in your system to your new R/3 Release.

Page 282: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-48

SAP AG 2002

0RGLILFDWLRQ�$GMXVWPHQW��2EMHFWV

63''

'RPDLQV'DWD�HOHPHQWV

7DEOHV

$%$3�SURJUDPV,QWHUIDFHV6FUHHQV

6HDUFK�KHOSV9LHZV

/RFN�REMHFWV

63$8

� During the modification adjustment, use transaction SPDD to adjust the following ABAP Dictionary objects:

y Domains

y Data elements

� Tables (structures, transparent tables, pooled tables, and cluster tables, together with their technical settings)

� These three object types are adjusted directly after the Dictionary object import (before the main import). At this point in time, no ABAP Dictionary objects have yet been generated. To ensure that no data is lost, it is important that any customer modifications to domains, data elements, or tables are undertaken prior to their generation.

� Changes to other ABAP Dictionary objects - such as lock objects, matchcodes, or views - cannot result in loss of data. Therefore, these ABAP Dictionary objects are adjusted using transaction SPAU after both main import and object generation have been completed. You can use transaction SPAU to adjust the following object types:

ABAP programs, interfaces (menus), screens, matchcode objects, views, and lock objects.

Page 283: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-49

SAP AG 2002

5HOHDVH�L

63''7UDQVSRUW�UHTXHVW

63$87UDQVSRUW�UHTXHVW

0RGLILFDWLRQ DGMXVWPHQWV

0RGLILFDWLRQ�DGMXVWPHQWVDUH�WUDQVIHUUHG�WR�WKHVH�V\VWHPV�DW�XSJUDGH

5HOHDVH�L��

5HOHDVH�L��

7UDQVSRUWLQJ�$GMXVWPHQWV�EHWZHHQ�6\VWHPV

� During modification adjustment, you should use two different change requests to implement the changes you have made: One for SPDD adjustments and another for SPAU adjustments. These change requests are then transported into other R/3 systems you want to adjust. This guarantees that all actual adjustment work takes place solely in your development system.

� When upgrading additional R/3 systems, all adjustments exported from the first system upgrade are displayed during the ADJUSTCHK phase. You decide which adjustments you want to accept into your additional systems and these are then integrated into the current upgrade. Afterwards, the system checks to see if all modifications in the current R/3 system are covered by the change requests created during the first system upgrade. If this is the case, no adjustments are made during the current upgrade.

Note: For this process to be effective, it is important that all systems involved have identical system landscapes. You can ensure this by first making modifications in your development system and then transporting them to later systems before you upgrade the development system. You can also guarantee that all of your systems have an identical system landscape by creating your development system before upgrade as a copy of your production system and then refraining from modifying the production system again until after upgrade.

Page 284: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-50

SAP AG 2002

0RGLILFDWLRQ�$GMXVWPHQW� ,QLWLDO�6FUHHQ

0RGLILFDWLRQ�$GMXVWPHQW� 2EMHFW�6HOHFWLRQ

6WDQGDUG�VHOHFWLRQV

0RGLILHG�REMHFWV5HTXHVW�WDVN������������'HYHORSPHQW�FODVV��/DVW�FKDQJHG�E\�����

:LWK�0RGLILFDWLRQ�$VVLVWDQW:LWKRXW�0RGLILFDWLRQ�$VVLVWDQW

8SJUDGHV�DQG�SDWFKHV7R�EH�HGLWHG$OO�REMHFWV

:LWK�0RGLILFDWLRQ�$VVLVWDQW

'DWD�HOHPHQWV

6B&$55B,' 60,7+ ����������'RPDLQV3URJUDPV)XQFWLRQ�PRGXOHV

� At the start of the modification adjustment (transaction SPAU), you can restrict the search hits on a selection screen. This allows you to choose whether or not to display all the objects to be adjusted, or only those that still need to be edited. You can restrict your selection using the following criteria:

y Last changed by

y Development class

y Transport request numbers /Task numbers

� The system displays a list of the objects that are to be adjusted. The list is sorted using the criteria:

y With/without Modification Assistant

y Object type

Page 285: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-51

SAP AG 2002

0RGLILFDWLRQ�$VVLVWDQW�,FRQV

$XWRPDWLF�DGMXVWPHQW

6HPL�DXWRPDWLF�DGMXVWPHQW

0DQXDO�DGMXVWPHQW

2ULJLQDO�UHVWRUHG

2EMHFW�DGMXVWHG

� The icons in front of the individual objects that need adjustment show how they can be adjusted. The possible methods are:

y Automatically The system could not find any conflicts. The changes can be adopted automatically by choosing the appropriate icon or menu entry.

y Semi-automatically The individual tools support you in adjusting the objects. When you adjust programs the Split Screen Editor is displayed, so that you can make the changes there.

y Manually You must process your modifications with no special support from the system. In this case, the modification adjustment does allow you to jump directly into the relevant tool.

� Adjusted objects are identified by a green tick.

� If you want to use the new SAP standard version, use 5HVHW�WR�2ULJLQDO. If you do this, you will have no further adjustment work in future.

Page 286: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-52

SAP AG 2002

z 'HVFULEH�ZKDW�D�PRGLILFDWLRQ�LVz /LVW�WKH�PRVW�LPSRUWDQW�UXOHV�WR�IROORZ�GXULQJ�D�

PRGLILFDWLRQz ,PSOHPHQW�PRGLILFDWLRQV�XVLQJ�WKH�0RGLILFDWLRQ�

$VVLVWDQWz 8VH�XVHU�H[LWV�WR�LPSOHPHQW�HQKDQFHPHQWVz ,PSOHPHQW�QRWHV�XVLQJ�WKH�1RWH�$VVLVWDQWz $GMXVW�PRGLILFDWLRQV

<RX�DUH�QRZ�DEOH�WR�

0RGLILFDWLRQV� 8QLW�6XPPDU\

Page 287: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-53

([HUFLVHV�

8QLW��� 0RGLILFDWLRQV�7RSLF��� ,PSOHPHQWLQJ�PRGLILFDWLRQV�

At the conclusion of this exercise, you will be able to:

• Implement modifications using the Modification Assistant.

• Implement non-registered modifications

In addition to the extensive functions of the R/3 System, you also want to implement more functions.

Incorrect functions are very occasionally delivered. This requires inserting corrections before the corresponding support package can be applied.

The Modification Assistant does not allow some modifications. If you still need to implement them, you can deactivate the Modification Assistant.

1-1 Modify R/3 objects. Use the Modification Assistant where possible. The objects to be changed are specified below:

1-2 Modify program 6$3%&���B%22.,1*B��.

1-2-1 Enhance the header so that the column with the customer’s name also has a header.

1-2-2 Create a new variable for counting the data records. Output the counter in the last column of the list.

1-2-3 Also read fields /8**:(,*+7 and :81,7 of table 6%22. and output them in the list.

1-3 Modify program 6$3%&���B)/,*+7��.

1-3-1 Change the layout of screen 100. Insert a frame around the three input fields. Create a pushbutton and assign it function code 025(.

1-4 Modify data element 6B&$55,'��.

1-4-1 Change the field labels to: “Airline” (short) “Airline Company” (medium).

1-4-2 Modify the documentation for this data element. Create a meaningful text.

1-5 Check your modifications in the Modification Browser.

Page 288: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-54

Page 289: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-55

8QLW��� 0RGLILFDWLRQV�7RSLF��� 0RGLILFDWLRQ�$GMXVWPHQW�

At the conclusion of this exercise, you will be able to:

• Adjust modifications

You must adjust the modifications made in the system after applying a support package or an upgrade.

1-1 Adjust the modifications you made to the objects you imported into the system.

0RGLILFDWLRQV��

Page 290: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-56

Page 291: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-57

([HUFLVHV��2SWLRQDO��

8QLW��� 0RGLILFDWLRQV�7RSLF��� 6$3�1RWH�$VVLVWDQW�±�,PSOHPHQWLQJ�1RWHV��

3DUW�,�

At the conclusion of this exercise, you will be able to:

• Import notes into an SAP System using the SAP Note Assistant

The program 6$3%&���B�� consists of a selection screen where you can enter an airline. The system should display details of the flight in a list. However, there is an error in the list: It only shows the airline. Moreover, there are some buttons missing in the application toolbar.

These errors have already been corrected in a note. SAP Note ��������� adds the missing information to the list. SAP Note ��������� inserts the missing field 0D[LPXP�1R��RI�6HDWV in the list.

Correct the errors by importing these two notes into the system.

1-1 Call the SAP Note Assistant.

1-1-1 Get to know the user interface.

1-1-2 What are the different icons for?

1-1-3 Change the processing status of the notes that belong to your group, ��, to ,Q�3URFHVV.

1-1-4 Read note ��������� carefully.

1-2 Check whether or not this note corrects the problem you have found.

1-2-1 Reproduce the error in the system. Launch program 6$3%&���B��.

1-2-2 Is this note valid for your system? Check the correction instruction to find out.

1-2-3 Which objects are corrected in this correction instruction? Which modularization unit contains them?

1-2-4 Where in the program are these corrections inserted? Compare the context block in the correction instruction with the program source code.

1-2-5 After you have made sure that the note corrects the program error, implement this note. Create a new change request to do so.

Page 292: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-58

1-3 The system displays all the objects corrected by the note in a dialog.

1-3-1 What do the different traffic light icons mean?

1-3-2 Display the changes in the Splitscreen Editor.

1-3-3 Make sure that the corrected objects are syntactically correct.

1-3-4 Continue the implementation.

1-4 After you have implemented the corrections: Test the program 6$3%&���B�� and make sure that the original errors have been corrected.

1-5 Reset the implementation of note ���������.

1-5-1 Confirm the reset.

1-5-2 What implementation status has this note in your worklist after it has been “ de-implemented” ?

1-5-3 Check whether or not the program runs in its original version.

1-6 Implement note ���������.

1-6-1 Read the note carefully. Check whether or not this note corrects the problem you have found.

1-6-2 Is this note valid for your system?

1-6-3 What are the prerequisites for this note? Refer to the header of the correction instruction.

1-6-4 Which objects are corrected in this correction instruction?

1-6-5 After you have made sure that the note corrects the program error, implement this note.

1-6-6 The system displays the notes queue in a dialog. Read the prerequisite notes and make sure that the errors are corrected.

1-7 Were the errors corrected?

1-7-1 Execute the program 6$3%&���B��.

1-7-2 What steps are included in the Note Assistant log? Add your comments.

1-7-3 Call the Modification Browser. It displays all the objects corrected by the note corrections. In version management, find out about the changes you have made.

1-8 After making sure you have corrected all the errors, change the processing status of the relevant notes to &RPSOHWHG� Where are these notes displayed now?

1-9 Release the transport request.

Page 293: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-59

0RGLILFDWLRQV�0RGLILFDWLRQV�

8QLW��� 0RGLILFDWLRQV�7RSLF��� 0RGLILFDWLRQV�DQG�WKH�6$3�1RWH�$VVLVWDQW�

At the conclusion of this exercise, you will be able to:

• Modify programs

• Modify headers

• Modify screens

The program 6$3%&���B�� does not offer all the options you need in your enterprise. As well as the flight data, your enterprise wants to show the number of occupied seats beside the total number of seats. To make this possible, add another field to the list and generate the appropriate column header. If the user double-clicks a row in the list, the data for that flight is displayed in a separate window.

Add the new field to the list. Maintain the column header: Create two new fields on the flight data display screen.

Note that the program 6$3%&���B�� contains an error: there is no %DFN�button on the screen for displaying the flight data. In this exercise, you will implement SAP Note ���������, which offers a workaround to this problem.

1-1 Modify program 6$3%&���B��.

1-1-1 Add the field VHDWVRFF to the list. The code that displays the field is in the subroutine GLVSOD\BIOLJKWV.

1-1-2 Save your modification. Test the programs.

1-2 Modify the column header for the list.

1-2-1 Add the text 2FFXSLHG�6HDWV to the header.

1-2-2 Save the modifications. Save the modifications.

Page 294: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-60

1-3 Modify a screen.

1-3-1 The screen that displays the flight data is part of the program 6$30%&���B��. To edit this program, launch the Object Navigator.

1-3-2 Change screen ���: Add the field for occupied seats (from the structure 6'<1B&211��).

1-3-3 Save your modifications and activate the screen.

1-3-4 Start the program and check that the fields you added appear on the screen.

1-3-5 In the Modification Browser, check that your modifications have been recorded correctly.

1-4 Release the transport request.

Page 295: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-61

0RGLILFDWLRQV�0RGLILFDWLRQV�

8QLW��� 0RGLILFDWLRQV�7RSLF��� 6$3�1RWH�$VVLVWDQW�±�,PSOHPHQWLQJ�1RWHV��

3DUW�,,�

At the conclusion of this exercise, you will be able to:

• Implement notes semi-automatically

• Implement corrections with the Splitscreen Editor in the Note Assistant

If you choose more than one flight from the hit list of the program 6$3%&���B��, and then choose %RRNLQJV�/LVW, the system should display a list of bookings. However, no bookings are actually shown, because of a program error.

If the users double-clicks a row in the list, the flight data is displayed, but the screen does not have a %DFN button.

Correct these errors by implementing a note.

1-1 Display the note ��������� and read it carefully. Are the errors you have found corrected in the note?

1-1-1 Reproduce the error in the system.

1-1-2 Which objects are corrected in this note?

1-2 After you have made sure that the note corrects the program error, implement this note.

1-2-1 A dialog box appears containing the object you need to correct. What does the yellow traffic light icon mean? How should you proceed?

1-2-2 Display the changes in the Splitscreen Editor. Use this editor to insert blocks of code manually. For more help on how to use the Splitscreen Editor, refer to the online help.

1-2-3 Insert the block at the appropriate point.

1-2-4 Is the program syntactically correct? Continue the implementation.

1-2-5 Since you have changed the object manually, the system displays an addition dialog box to let you confirm that you have implemented the note completely. Why does the system need to do this?

Page 296: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-62

1-3 Check the logs for the notes. What are the differences between the implementations of the different notes?

1-4 Test the program. Have the errors been corrected?

1-5 After making sure you have corrected all the errors, change the processing status of the note to &RPSOHWHG�

1-6 Release the transport request.

Page 297: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-63

0RGLILFDWLRQV�0RGLILFDWLRQV�

8QLW��� 0RGLILFDWLRQV�7RSLF��� 0RGLILFDWLRQ�$GMXVWPHQW�

At the conclusion of this exercise, you will be able to:

• Adjust modifications after importing a Support Package.

You have previously imported SAP Notes into your system to correct errors. You have also made your own modifications. Notes are always included in Support Packages and delivered in them. If you import a Support Package, part of the note corrections and modifications may be overwritten. This is why you need to perform a modification adjustment.

1-1 To start 0RGLILFDWLRQ�$GMXVWPHQW, choose 6$3�0HQX�o��$%$3�:RUNEHQFK��o�8WLOLWLHV��o�0DLQWHQDQFH��o�8SJUDGH�8WLOLWLHV�o�$GMXVW�3URJUDPV� Alternatively, launch the transaction 63$8.

1-1-1 Enter your user name in the &KDQJHG�%\ field. Execute the program.

1-1-2 Look at the objects in each category. What do the icons mean?

1-2 Adjust the modifications, working from top to bottom:

1-2-1 Start with the objects in the category 1RWH�&RUUHFWLRQV� 1-2-2 If the system has not ascertained the adjustment mode, restart the calculation

by double-clicking the question mark icon.

1-2-3 Create a new change request if necessary.

1-2-4 Continue with the category :LWK�0RGLILFDWLRQ�$VVLVWDQW. 1-2-5 Finally, edit the category :LWKRXW�0RGLILFDWLRQ�$VVLVWDQW.

1-3 After you have adjusted all the objects, release the transport request.

Page 298: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-64

Page 299: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-65

6ROXWLRQV�

8QLW��� 0RGLILFDWLRQV�7RSLF��� ,PSOHPHQWLQJ�PRGLILFDWLRQV�

1-1 Modifying R/3 objects: Use the Modification Assistant.

1-2 Modification of program 6$3%&���B%22.,1*B��.

1-2-1 You can change the header either directly from the list (6\VWHP��/LVW��/LVW�KHDGHU) or in the Editor.

1-2-2 You can create a new variable directly in the R/3 program. Use the insert function of the Modification Assistant. Ideally you keep the changes locally in subroutine GDWDBRXWSXW. Also output the counter. Alternatively you can implement this functionality in the enhancement, which would not cause a modification.

1-2-3 Read the additional fields /8**:(,*+7 and :81,7 from the table 6%22. and display them in the list: Add these two fields to the 6(/(&7 statement. Display the fields in the subroutine GDWDBRXWSXW.

1-3 Modification of program 6$3%&���B)/,*+7��.

1-3-1 Use the Screen Painter to change the layout of screen 0100.

1-4 Modification of data element 6B&$55,'��.

1-4-1 Start the maintenance transaction for data elements. Place the cursor on the corresponding object and choose the modification icon. You can enter new text in the next dialog box.

1-4-2 Choose the "Documentation" pushbutton and enter new text.

1-5 To check the modification choose the Modification Browser (transaction 6(��). Limit the selection with the user name or change request/task.

Page 300: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-66

Page 301: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-67

8QLW��� 0RGLILFDWLRQV�7RSLF��� 0RGLILFDWLRQ�$GMXVWPHQW�

1-1 Start the Patch Manager (transaction 63$0). Call transaction 63$8�with the menu path ([WUDV��$GMXVW�PRGLILFDWLRQV. You can adjust the modifications here.

Page 302: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-68

0RGLILFDWLRQV��

Page 303: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-69

8QLW��� 0RGLILFDWLRQV�7RSLF��� 6$3�1RWH�$VVLVWDQW��,PSRUWLQJ�1RWHV�

1-1 Call the SAP Note Assistant. Enter the transaction code 6127( in the command field.

1-1-1 Get to know the user interface including the menu entries.

1-1-2 What are the different icons for? Refer to 8WLOLWLHVo�&RORU�/HJHQG�for more information.

1-1-3 Change the processing status of the notes that belong to your group, ��, to ,Q�3URFHVV. Position the cursor on the root node and choose 1RWH�o�6HW�3URFHVVLQJ�6WDWXV.

1-1-4 Read note ��������� carefully. Position the cursor on the root node and choose 1RWH�o�'LVSOD\�1RWH.

1-2 Check whether or not this note corrects the problem you have found. Find it globally in the text of the note.

1-2-1 Reproduce the error in the system. Launch program 6$3%&���B��, for example by choosing transaction 6$��.

1-2-2 In the correction instruction, check the release status and Support Package level to which the note applies.

1-2-3 For a list of the objects corrected in the instruction, and the modularization units containing them, refer to the correction instruction at the end of the note.

1-2-4 To find out where in the program you should insert the corrections, compare the context block in the correction instruction with the program source code.

1-2-5 To start the note implementation procedure, place the cursor on the note number and choose 1RWH�o�,PSOHPHQW�1RWH� If the system asks you to enter a change request, create a new one.

Page 304: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-70

1-3 The system displays all the objects corrected by the note in a dialog.

1-3-1 The traffic light icons indicate the following: *UHHQ: The corrections can be implement unchanged. <HOORZ: The corrections can be partly implemented. Before you confirm the implementation, adjust the corrections, to ensure that changes to the objects are adopted correctly. If you click the object name or icon, the system displays the Splitscreen Editor, where you can edit the source code directly. 5HG: Changes made to the objects cannot be adopted.

1-3-2 Display the changes in the Splitscreen Editor, by choosing the icon.

1-3-3 Make sure that the corrected objects are syntactically correct, by choosing 6\QWD[�&KHFN�IRU�0DLQ�3URJUDP.

1-3-4 Continue the implementation.

1-4 After you have implemented the corrections: Test the program 6$3%&���B�� and make sure that the original errors have been corrected. Execute the program again.

1-5 Reset the implementation of note ���������, by choosing 1RWH�o�5HVHW�1RWH�,PSOHPHQWDWLRQ.

1-5-1 Confirm the reset.

1-5-2 The note now has the status &DQ�%H�,PSOHPHQWHG and ,Q�3URFHVV. 1-5-3 Execute the program 6$3%&���B�� again.

1-6 Implement note ��������� in a similar manner.

1-6-1 Read the note carefully. Check whether or not this note corrects the problem you have found.

1-6-2 The validity period of the note is specified in the header of the correction instruction.

1-6-3 To find out what prerequisites apply to this note, refer to the header of the correction instruction.

1-6-4 To find out which objects are corrected in this correction instruction, refer to the header of the correction instruction.

1-6-5 After you have made sure that the note corrects the program error, implement this note as above.

1-6-6 The system displays the notes queue in a dialog. You can implement the note carefully after reading it.

Page 305: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-71

1-7 To find out whether or not the error has been corrected, start the program.

1-7-1 Execute the program 6$3%&���B��.

1-7-2 Display the implementation log by choosing *RWR�o�/RJ. To add your own comments, choose 1RWH�o�&UHDWH�

1-7-3 To call the Modification Browser, choose (QYLURQPHQW�o�0RGLILFDWLRQ�%URZVHU. It displays all the objects corrected by the note corrections. To display version management, choose�8WLOLWLHV�o�9HUVLRQV.

1-8 Change the processing status of the note by choosing 1RWH�o�6HW�3URFHVVLQJ�6WDWXV� The note disappears from the list and can be displayed in the 1RWHV�%URZVHU��

1-9 Release the change request in the 7UDQVSRUW�2UJDQL]HU (transaction 6(��).

Page 306: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-72

Page 307: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-73

8QLW��� 0RGLILFDWLRQV�7RSLF��� 0RGLILFDWLRQV�DQG�WKH�6$3�1RWH�$VVLVWDQW�

1-1 Modify program 6$3%&���B�� as follows.

1-2-1 Add the field VHDWVRFF to the list. Modify the subroutine GLVSOD\BIOLJKWV. )250�GLVSOD\BIOLJKWV�����/223�$7�LWBVIOLJKW�,172�ZDBVIOLJKW�������:5,7(����PDUN�$6�&+(&.%2;�,1387�21���������������ZDBVIOLJKW�FDUULG���������������ZDBVIOLJKW�FRQQLG���������������ZDBVIOLJKW�IOGDWH���������������ZDBVIOLJKW�SULFH�&855(1&<�ZDBVIOLJKW�FXUUHQF\���������������ZDBVIOLJKW�FXUUHQF\�� ^���5(3/$&(��������7��.������������������������������������������������ ?�������������ZDBVIOLJKW�VHDWVPD[���������������ZDBVIOLJKW�VHDWVPD[���������������ZDBVIOLJKW�VHDWVRFF�� `���5(3/$&(�����(1'/223���(1')250����������������������������������',63/$<B)/,*+76�

1-2-2 Save your modification. Test the program.

1-2 Modify the column header for the list.

1-2-1 Change the header by choosing 6\VWHP�o�/LVW�o�/LVW�+HDGHU� from the list.

1-2-2 Save the modifications. Test the program.

Page 308: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-74

1-3 Modify a screen.

1-3-1 The screen that displays the flight data is part of the program 6$30%&���B��. To edit this program, launch the Object Navigator.

1-3-2 Change screen ���: Add the field for occupied seats, 6($762&& (from the structure 6'<1B&211��).

1-3-3 Save your modifications and activate the screen.

1-3-4 Start the program and check that the fields you added appear on the screen.

1-3-5 To call the Modification Browser, choose (QYLURQPHQW�o�0RGLILFDWLRQ�%URZVHU from the Object Navigator. On the selection screen, enter your user name in the &KDQJHG�%\ field.

1-4 Release the change request in the 7UDQVSRUW�2UJDQL]HU.

Page 309: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-75

8QLW��� 0RGLILFDWLRQV�7RSLF��� 6$3�1RWH�$VVLVWDQW�±�,PSOHPHQWLQJ�1RWHV��

3DUW�,,�

1-1 Display the note ���������, as described above, and read it carefully. The errors are corrected in this note.

1-1-1 Reproduce the error in the system by starting the program 6$3%&���B��.

1-1-2 To find out which objects are corrected in this note, refer to the correction instruction at the end of the note text.

1-2 After you have made sure that the note corrects the program error, implement this note.

1-2-1 A dialog box appears containing the object you need to correct. The yellow icon means that parts of the note cannot be implemented automatically. Choose the yellow traffic light to display the Splitscreen Editor.

1-2-2 On the right side of the screen, place the cursor on the header of the block you want to insert. Choose 6HOHFW. Choose &RS\�WR�%XIIHU.

1-2-3 On the left side of the screen, place the cursor where you want to insert the block. Choose ,QVHUW�IURP�%XIIHU. Choose &RS\�&KDQJHV.

1-2-4 Go back to the dialog: Check the main program by choosing the appropriate pushbutton. The program should be syntactically correct. Continue the implementation by choosing &RQWLQXH.

1-2-5 Since you have changed the object manually, the system displays an addition dialog box to let you confirm that you have implemented the note completely. Confirm by choosing <HV. If you choose 1R, the note is shown as inconsistently implemented.

1-3 Check the logs for these notes: Place your cursor in the note and choose *RWR�o�/RJ� The manual implementation is logged.

1-4 Test the program. The error should have been removed.

1-5 Change the processing status of the note to &RPSOHWHG.

1-6 Release the change request in the 7UDQVSRUW�2UJDQL]HU.

Page 310: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-76

Page 311: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 26-77

8QLW��� 0RGLILFDWLRQV�7RSLF��� 0RGLILFDWLRQ�$GMXVWPHQW�

1-1 To start 0RGLILFDWLRQ�$GMXVWPHQW, choose 6$3�0HQX�o��$%$3�:RUNEHQFK��o�8WLOLWLHV��o�0DLQWHQDQFH��o�8SJUDGH�8WLOLWLHV�o�$GMXVW�3URJUDPV� Alternatively, launch the transaction 63$8.

1-1-1 Enter your user name in the &KDQJHG�%\ field. Execute the program.

1-1-2 Look at the objects in each category. To find out what the different icons mean, refer to the documentation on modification adjustment.

1-2 Adjust the modifications, working from top to bottom:

1-2-1 Start with the objects in the category 1RWH�&RUUHFWLRQV� 1-2-2 If the system has not ascertained the adjustment mode, restart the calculation

by double-clicking the question mark icon.

1-2-3 Create a new change request if necessary.

1-2-4 Continue with the category :LWK�0RGLILFDWLRQ�$VVLVWDQW. 1-2-5 Finally, edit the category :LWKRXW�0RGLILFDWLRQ�$VVLVWDQW.

1-3 After you have adjusted all the objects, release the change request in the 7UDQVSRUW�2UJDQL]HU.

Page 312: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-1

SAP AG 2002

&RQFOXVLRQ

z 6XPPDU\z (YDOXDWLRQ�RI�WKH�GLIIHUHQW�HQKDQFHPHQW�WHFKQLTXHV

&RQWHQWV�

Page 313: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-2

SAP AG 2002

z 'HVFULEH�WKH�FRXUVH�FRQWHQWVz 'HVFULEH�KRZ�WR�SURFHHG�ZKHQ�FKDQJLQJ�WKH�6$3�

VWDQGDUGz /LVW�WKH�DGYDQWDJHV�DQG�GLVDGYDQWDJHV�RI�

PRGLILFDWLRQVz 1DPH�WKH�DOWHUQDWLYHV�WR�PRGLILFDWLRQV

$W�WKH�FRQFOXVLRQ�RI�WKLV�XQLW��\RX�ZLOO�EH�DEOH�WR�

&RQFOXVLRQ��8QLW�2EMHFWLYHV

Page 314: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-3

SAP AG 1999

$YRLGLQJ�$GMXVWPHQWV

z 6XSSRUW�SDFNDJHV�DUH�DSSOLHG�IURP�WKH�2QOLQH�&RUUHFWLRQ�6HUYLFHV��2&6�

z 5HWXUQ�WR�WKH�6$3�VWDQGDUG9HUVLRQ�GDWDEDVH�DQG�HQWULHV�LQ�WKH�:%2�DQG�WUDQVSRUW�V\VWHP�DUH�QRW�FKDQJHG

z 6$3�HQKDQFHPHQW�FRQFHSW�z6$3�REMHFWV�DUH�QRW�FKDQJHGz7KHUH�LV�QR�DGMXVWPHQW�GXULQJ�WKH�XSJUDGH

� Modification adjustment is not necessary if you avoid making changes to SAP objects.

� Use program enhancements and appends with SAP tables to enhance SAP objects in such a way that your changes cannot be overwritten by SAP at upgrade.

� From Release 3.0, you can use Online Correction Services to import and cancel support packages and patches automatically (instead of having to insert preliminary corrections manually).

Page 315: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-4

SAP AG 2002

7DEOH�(QKDQFHPHQWV

$SSHQG�VWUXFWXUH7DEOH�GHILQLWLRQ$%$3�'LFWLRQDU\$%$3�'LFWLRQDU\

)LHOG�� )LHOG�� )LHOG��<<)LHOG<<)LHOG ==)LHOG==)LHOG

��� ��� ��� ��� ��� �� ��� ��� � ��� ��� � � ���� ��� ����� ��� ��� �������� ��� ��� �

'DWDEDVH'DWDEDVH

&,B,QFOXGH7DEOH�GHILQLWLRQ <<)LHOG<<)LHOG ==)LHOG==)LHOG

)LHOG�� )LHOG�� )LHOG�� &,B,QFO

� SAP provides two ways to enhance tables and structures with fields.

y Structures

y Customizing includes (CI includes)

� Both techniques allow you to attach fields to a table without actually having to modify the table itself.

� Append structures may only be assigned to a single table. A table may, however, have several append structures attached to it. During activation, the system searches for all active append structures for that table and attaches them to the table.

� Append structures differ from include structures in how they refer to their tables. To include fields from an include structure in a table, you must add an .INCLUDE... line to the table. In this case, the table refers to the substructure. Append structures, on the other hand, refer to their tables. In this case, the tables themselves are not altered in any way by the reference.

Page 316: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-5

SAP AG 1999

)XQFWLRQ�0RGXOH�([LW� 3URFHVV�)ORZ

;�IXQFWLRQ�JURXS$SSOLFDWLRQ�SURJUDP

([LW�IXQFWLRQ�PRGXOH(;,7B�SURJBQDPH!B���

,QFOXGH�LQ,QFOXGH�LQFXVWRPHU�QDPHVSDFHFXVWRPHU�QDPHVSDFH

&$//�&86720(5�)81&7,21�

� This graphic shows the flow of a program providing an enhancement in the form of a function module exit.

� The exit function module is called in the PAI logic of a screen at a position determined by the SAP application developer. Within the function module, the user can add functions in the customer namespace using an include.

Page 317: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-6

SAP AG 2002

%XVLQHVV�7UDQVDFWLRQ�(YHQW�)XQFWLRQV�� 3URFHVV�)ORZ�'LDJUDP

)XQFWLRQ�PRGXOH23(1B),B3(5)250B�QR!

$SSOLFDWLRQ�SURJUDP

%7(�%7(�)XQFWLRQ�PRGXOH�LQ)XQFWLRQ�PRGXOH�LQFXVWRPHUFXVWRPHU QDPHVSDFHQDPHVSDFH

$FWLYH�LPSOHPHQWDWLRQ

&$//�)81&7,21

&$//�)81&7,21

� The graphic shows the process flow of an SAP program. The program contains an enhancement in the form of a Business Transaction Event. The program calls a function module that determines and processes the active implementation of the enhancement. The names of the function modules begin with OPEN_FI_PERFORM_ or OUTBOUND_CALL_.

� This function module OPEN_FI_PERFORM_<no> or OUTBOUND_CALL_<no> (Service function module) determines the active implementations for each enhancement and stores them in an internal table. Function modules are implemented in the sequence defined by the internal table. At this point the system also considers the conditions under which the function module will be processed in the customer namespace. For example, you can select the country or application as the condition. These conditions are also shown as filter values.

Page 318: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-7

SAP AG 2002

%XVLQHVV�$GG�,QV��)ORZ�'LDJUDP$SSOLFDWLRQ�SURJUDP

6HUYLFH�FODVV&/B(;,7+$1'/(5

,QVWDQFH�RI$GG�,Q�FODVV�EDGL�FODVV!

$GG$GG��,Q��,QVWDQFH�RI�,Q��,QVWDQFH�RI�LPSOHPHQWLQJ�FODVVLPSOHPHQWLQJ�FODVV

3URFHVVLQJ�IRUDFWLYH�LPSOHPHQWDWLRQV

��

��

� This graphic shows the process flow of a program that contains a Business Add-In call. It enables us to see the possibilities and limitations inherent in Business Add-Ins.

� Not shown: You must declare a reference variable referring to the Business Add-In interface in the declaration section.

� In the first step, an object reference is created by CL_EXITHANDLER, the service class delivered by SAP. We will discuss the precise syntax later on. This generates the conditions for calling methods of program enhancements.

� When you define a Business Add-In, the system generates a Business Add-In class, which implements the interface. In call (2), the interface method of the Add-In class is called. The Add-In class searches for all of the implementations of the Business Add-In and calls the implemented methods.

Page 319: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-8

SAP AG 1999

6$3 &XVWRPHU

0HQX�([LWV�2YHUYLHZ

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��

&XVW��IXQFWLRQ&XVW��IXQFWLRQ

� Menu exits allow you to attach your own functions to menu options in SAP menus. SAP application programmers reserve certain menu entries in your GUI interface for this. This allows you to define a text for the reserved menu entry and add your own logic, often in the form of a related function module exit. Once you activate menu exits, they become visible in the SAP menu. Whenever this menu option is chosen, the system processes either a function provided by SAP application programmers or your own function that you have implemented in a function module exit.

Page 320: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-9

SAP AG 2002

6$36$3 &XVW&XVW��

%$G,� )XQFWLRQ�&RGHV�� 2YHUYLHZ

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

)XQFWLRQ��)XQFWLRQ��)XQFWLRQ��

0HQX�� 0HQX��0HQX�� 0HQX��

&XVW&XVW��IXQFWLRQ��IXQFWLRQ

� As with customer exits, you can use menu enhancements with Business Add-Ins. However, the following conditions must be met:

y The developer of the program you want to enhance must have planned for the enhancement.

y The menu enhancement must be implemented in a BAdI implementation.

Page 321: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-10

SAP AG 1999

6$3 &XVWRPHU

6FUHHQ�([LWV�2YHUYLHZ

6$3�5��

)LHOG��)LHOG��

6$3�5��

)LHOG��)LHOG��

)LHOG�<)LHOG�;

)LHOG�=

� Screen exits allow you to make use of reserved sections of a main screen (subscreen areas). You can either display additional information in these areas or input data. You define the necessary input and output fields on a customer screen (subscreen).

Page 322: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-11

SAP AG 2002

$GG�,Q�6FUHHQ�(QKDQFHPHQWV��3ULQFLSOHV

,PSOHPHQW��SURJUDP�IXQFWLRQ�JURXS�

6$3�DSSOLFDWLRQ�SURJUDP

DEFG

��������������

$GG�,Q�FODVV�EDGL�FODVV!

6WDWLF�DWWULEXWH�6WDWLF�DWWULEXWH�6FUHHQ�LQVWDQFH6FUHHQ�LQVWDQFH

��������������

�������

�������

,PSOHPHQWLQJ FODVV,QVWDQFH�,QVWDQFH�DWWULEXWHV�DWWULEXWHV�6FUHHQ�GDWD6FUHHQ�GDWD

"!�#%$'&� (#�)�&+*,!

-.!�#%/0)�#�)

102 #3/0)�#�) -.!�#3/4)�#�)

-5!�#6/()"#�)1(2 #3/()�#�)

1(2 #3/�)"#�)

-5!�#�$7&� (#�)�&�*8!

� The ABAP virtual machine does not recognize screens bound to classes. Thus, only "classical" programs (of types 1, F, or M) can be used as containers for screens. Screen enhancements need to take this into consideration.

� When you create a Business Add-In screen enhancement, the provider reserves a subscreen area on the application program screen, which is then filled with the subscreen of the implementing program (similar to customer exits). However, the application program and subscreen container program do not communicate directly, but rather through the generated Business Add-In class.

� The following slides show this communication process step by step.

Page 323: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-12

SAP AG 1999

0RGLI\LQJ�YHUVXV &RS\LQJ

&RQQHFWLRQ&RQQHFWLRQWR�6$3WR�6$3

3URMHFW3URMHFWVHFXULW\VHFXULW\

0RGLI\LQJ &RS\LQJ

� Modification has the advantage that your live Repository objects do not lose their connection to the SAP standard. Copying, on the other hand, has the advantage that no modification adjustment will be necessary for your live Repository objects during subsequent upgrades.

� Choose copying instead of modifying if:

y You have to make numerous changes to an SAP program

y Your requirements will not be met by the standard in future R/3 releases

� During copying, pay attention to a Repository object’s environment as well. You should only decide whether to modify or copy after having informed yourself of the consequences for the main program, as well as for all of the includes attached to the main program. The same holds true for function groups and function modules.

Page 324: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-13

SAP AG 2002

(YDOXDWLRQ�RI�$%$3�'HYHORSPHQW�3URMHFWV

z ,PSOHPHQWDWLRQ�FRVWV"z &RQVHTXHQFHV�

z 6\VWHP�SHUIRUPDQFHz &RVWV�GXULQJ�DQ�XSJUDGH

z 4XHVWLRQV�SULRU�WR�WKH�GHYHORSPHQW�SURMHFW�

z $OWHUQDWLYHV�z &XVWRPL]LQJz 3HUVRQDOL]DWLRQz (QKDQFHPHQW�WHFKQLTXHV�

z &XVWRPHU�H[LWVz %XVLQHVV�7UDQVDFWLRQ�

(YHQWVz %XVLQHVV�DGG�LQV

� ABAP development projects can be evaluated according to the following criteria:

y What will implementation cost, measured in manpower (creating the concept, implementation, testing)?

� How will the ABAP development project influence:

y Production operation performance?

y The amount of adjustment at upgrade?

� By calling SAP objects in your own Repository object, you can drastically reduce the amount of effort needed to implement your object. However, any changes that SAP makes to the Repository object you choose to call may make extra adjustment necessary after an upgrade. For example, SAP could conceivably change the user interface of a screen for which you have written a batch input program.

Page 325: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-14

SAP AG 2002

1DPLQJ�&RQYHQWLRQV�IRU�5HSRVLWRU\�2EMHFWV

&RPSOHPHQWDU\&RPSOHPHQWDU\6RIWZDUH6RIWZDUH

6$3�SDUWQHUV 'HYHORSPHQWV'HYHORSPHQWV

6$3�VWDQGDUG6$3�VWDQGDUGVRIWZDUHVRIWZDUH

6$3

1DPHVSDFH�UHVHUYHG�XVLQJ�6$31HW�5���)URQWHQG

FHQWU

DOL]H

GFH

QWUDOL

]HG

1DPHVSDFH�UHVHUYDWLRQ�:RUNEHQFK�2UJDQL]HU�GH

FHQWU

DOL]H

GGH

FHQWU

DOL]H

G

0DLQ�RIILFH6DOHV�RIILFH

$SSOLFDWLRQDUHD

&XVWRPHU�QDPHVSDFH�DFFRUGLQJ�WR�QRWH�������

�[[[[��[[[[�

9B75(619B75(61

<$<$=$=$

� Naming conventions allow you to avoid naming conflicts and give your Repository objects meaningful names (that can be understood by others).

� The following naming conflicts can occur:

y $Q�6$3�5HSRVLWRU\�REMHFW�DQG�D�FXVWRPHU�5HSRVLWRU\�REMHFW�FRQIOLFW SAP Repository objects and customer Repository objects should be separated from each other by strict adherence to SAP naming conventions. OSS note 16466 gives you an overview of the current naming conventions for customer Repository objects (usually names that begin with either Y or Z).

y 7ZR�FXVWRPHU�5HSRVLWRU\�REMHFWV�FRQIOLFW�Naming conflicts can also occur between customer Repository objects in decentralized development scenarios where more than one development system is being used. You can avoid naming conflicts in this area by reserving a special namespace for development areas within the customer namespace. The Workbench Organizer checks to make sure that you adhere to these conventions by making entries in view 9B75(61.

y &RPSOHPHQWDU\�VRIWZDUH�DQG�FXVWRPHU�5HSRVLWRU\�REMHFWV�FRQIOLFW�You can avoid naming conflicts when importing complementary software from SAP partners by reserving special namespaces in the SAP Online Service System. In addition, IURP�5HOHDVH���� SAP partners can apply for prefixes in the SAP Online Service System that they can add on to the beginning of their Repository objects’ names (For additional information, refer to SAP notes 84282 and 91032, or the white paper ’Development Namespaces in the R/3 System’, order number E:50021723 [English] and D:50021751 [German]).

Page 326: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 27-15

SAP AG 2002

z 'HVFULEH�WKH�FRXUVH�FRQWHQWVz 'HVFULEH�KRZ�WR�SURFHHG�ZKHQ�FKDQJLQJ�WKH�6$3�

VWDQGDUGz /LVW�WKH�DGYDQWDJHV�DQG�GLVDGYDQWDJHV�RI�

PRGLILFDWLRQVz 1DPH�WKH�DOWHUQDWLYHV�WR�PRGLILFDWLRQV

<RX�DUH�QRZ�DEOH�WR�

&RQFOXVLRQ��8QLW�6XPPDU\

Page 327: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-1

SAP AG 2002

z )LHOG�([LWVz $SSHQG�6HDUFK�+HOSVz %XVLQHVV�'DWD�7RROVHW��%'7�z ([HUFLVH�RQ�)LHOG�([LWV

&RQWHQWV�

$SSHQGL[

Page 328: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-2

SAP AG 2002

z 8VH�ILHOG�H[LWV�WR�DSSO\�FKHFNV�WR�D�VFUHHQ�ILHOG

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

)LHOG�([LWV��7RSLF�2EMHFWLYHV

Page 329: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-3

SAP AG 1999

6$3 &XVWRPHU

'HILQLQJGDWD�HOHPHQWV

'RFXPHQWLQJGDWD�HOHPHQWV

'HILQLQJJOREDO

HQKDQFHPHQWV

&UHDWLQJ�ILHOG�H[LWV

*OREDO�(QKDQFHPHQWV

� SAP application programmers define keywords in different lengths and a short description for each data element.

� You create field exits in 3URMHFW�0DQDJHPHQW� Field exits are processed when the user leaves a screen that contains a field that refers to a data element containing a field exit.

Page 330: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-4

SAP AG 1999

)LHOG�([LWV

$%$3�'LFWLRQDU\������������� ����� ��������� ��������� ��

"�± &KHFN

),(/'�(;,7

)LHOG�IRUPDW�FKHFN)81&7,21 ���,03257,1*��,1387������� ���(;3257,1*��287387������

(1')81&7,21�

),(/'B(;,7B���),(/'B(;,7B���

0(66$*(�(����EF�����0(66$*(�(����EF�����

� SAP lets you create a field exit for every input-ready screen field that has been created with reference to the ABAP Dictionary. The additional program logic is stored in a function module and is executed at a specific point at the PAI event.

� The slide shows the order in which processing takes place. Before the PAI event of the screen is executed, the system performs the following checks: First the system checks if all the required fields have been filled in. If a required field is empty, the screen is shown again.

� The system then checks that data has been entered in the correct format.

� Any defined field exits are executed next. For example, by sending an error message you can have the screen sent again.

� Once all the field exits have been checked, the screen is processed as normal.

y Field transport

y Foreign key check

y Processing of PAI module for screen

Page 331: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-5

SAP AG 1999

*OREDO�DQG�/RFDO�)LHOG�([LWV

'DWD�HOHPHQW*/2%

),(/'B(;,7B*/2%),(/'B(;,7B*/2%

'DWD�HOHPHQW/2&

),(/'B(;,7B),(/'B(;,7B/2&B�/2&B�

),(/'B(;,7B/2&B�),(/'B(;,7B/2&B�

��� ������� �!�#"%$

��� ���������'& (����� �)� � *��

�+�)�)� ��������� ��

�,�)�)� �����%��� ����� ������� �!& -���$.$

/102*�3�4�560278���9 5:0;7%���/10<�=� ��>��� ��*��?�

�1������� ��;������� ��

�2�������� �;� �@��� ��

�1����������� �@��� ��

� Field exits take you from a screen field with a data element reference to a function module. Field exits can be either global or local.

� *OREDO�ILHOG�H[LWV are not limited to a particular screen. If a global exit’s data element is used on several screens, the system goes to the function module for all these screens after activating the field exit. Here you can, for example, edit the contents, force a new entry to be made by outputting an error message, or prohibit certain users from proceeding further.

� /RFDO�ILHOG�H[LWV are valid for one screen only. If you assign a screen from a specific program to a field exit, then the system will go to the appropriate function module from this screen once the exit has been activated.

� You can either create one global field exit or up to 36 local field exits for a data element, but not both.

� Each exit number refers to a different function module. Field exit function modules adhere to the following naming convention:

y Prefix: FIELD_EXIT_

y Name: <Data element>

y Suffix (for local field exit): _0 to _9, _A to _Z

Page 332: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-6

SAP AG 2002

&UHDWLQJ�)LHOG�([LWVz 6WDUW�SURJUDP�5602'35)

z )LHOG�H[LW��! &UHDWH)XQFWLRQ�%XLOGHU

),(/'B(;,7B�'(!)XQFWLRQ�PRGXOH

ACBEDGF�HIDAKJGF+LNMODP:Q R+SUT F2V)XQFWLRQ�%XLOGHU

)XQFWLRQ�PRGXOH ),(/'B(;,7B�'(!,PSRUW�SDUDPHWHU,1387

([SRUW�SDUDPHWHU287387

� To create field exits, choose 8WLOLWLHV in the ABAP Workbench. Choose (QKDQFHPHQWV and then 3URMHFW�0DQDJHPHQW to edit field exits and to implement customer exits.

� With *RWR��*OREDO�HQKDQFHPHQWV��)LHOG�H[LWV you start the transaction for maintaining field exits. To create a new enhancement, choose the menu path, 7H[W�(QKDQFHPHQWV��&UHDWH��

� Enter the name of the data element to which your screen field refers in the modal dialog box. The Function Builder is started. The system specifies the name of the field exit. Do not change this name. Create the function module in a customer function group.�

� The function module interface is fixed and cannot be changed. The function module has an import parameter INPUT and export parameter OUTPUT. The contents of the screen field are stored in parameter INPUT. The contents of OUTPUT are returned in the screen field when you leave the function module.

Page 333: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-7

SAP AG 2002

6RXUFH�&RGH�IRU�)LHOG ([LWV

z 7KHVH�VWDWHPHQWV DUH�QRW DOORZHG�LQ�ILHOG�H[LWV�z %5($.�32,17z &$//������68%0,7z &200,7�:25.���52//%$&.�:25.z 6723��5(-(&7z 0HVVDJH�,��0HVVDJH�:

W�XUYNZ)[=\][2XG^N\

)81&7,21�ILHOGBH[LWB�'(!����

(1')81&7,21�RXWSXW� �LQSXW�RXWSXW� �LQSXW�

� In the source text, export parameter OUTPUT of the function module must be assigned a value that is transported back to the screen field. Otherwise the screen field would be initial after executing the field exit.

� The following ABAP statements are not allowed in field exit function modules:

y CALL SCREEN, CALL DIALOG, CALL TRANSACTION, SUBMIT

y COMMIT WORK, ROLLBACK WORK

y COMMUNICATION RECEIVE

y EXIT FROM STEP-LOOP

y MESSAGE I, MESSAGE W

y STOP, REJECT

� When you debug a screen that is referenced by a field exit, the field exit code is ignored by the debugger. As with any normal function module, you can, however, debug the field exit code in the Function Builder’s test environment.

Page 334: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-8

SAP AG 2002

)LHOG�H[LWV�IRU�GDWD�HOHPHQWV

�'DWD�HOHPHQW!'DWD�HOHPHQW 6WDWXV�������

LQDFWLYH3URJUDP����������*OREDO

/RFDO�)LHOG�([LWV

)LHOG�H[LWV�IRU�GDWD�HOHPHQWV)LHOG�H[LWV�IRU�GDWD�HOHPHQWV�'DWD�HOHPHQW!'DWD�HOHPHQW

�SURJUDPBQDPH!� ����)LHOG�H[LW 3URJUDP�QDPH 6FUHHQ

)XQFWLRQ�%XLOGHU

),(/'B(;,7B�'(!B�)XQFWLRQ�PRGXOHAKB_D�F�HIDA<JGFOLNMODP`Q R+SUT F1V

$VVLJQ�SURJ��VFUHHQ

� You can create local field exits that relate to a specific screen. Create a local field exit. A global field exit must already exist. Edit the local field exit based on the global field exit.

� You can create up to 36 local field exits, each of which carries a unique suffix. The system proposes a name for the function module; you should use this name.

� Defining local field exits means that the function module of the global field exits initially created are no longer used. For technical reasons, however, you must not delete the global function module. The field exits in the system would be deleted if you deleted the global function module of the field exit from the list.

Page 335: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-9

SAP AG 2002

$FWLYDWLQJ�)LHOG�([LWVz $FWLYDWLQJ�IXQFWLRQ�PRGXOHV

)XQFWLRQ�%XLOGHU

),(/'B(;,7B�'(!)XQFWLRQ�PRGXOH

z $FWLYDWLQJ�ILHOG�H[LWV)LHOG�([LW)LHOG�H[LWV�IRU�GDWD�HOHPHQWV

�'DWD�HOHPHQW!'DWD�HOHPHQW 6WDWXV�������

LQDFWLYH3URJUDP����������JOREDO

���$FWLYDWH���

���$FWLYDWH���

ACB_D�F1HIDACJGFULNMODP`Q RUSUT F�V

� You must activate the field exit as well as the function module. Also note that field exits are only taken into account during screen execution if the R/3 profile parameter DEDS�ILHOGH[LW� �<(6 has been set for all application servers. (This profile parameter is set to 12 by default).

� If you declare field exits for multiple screen fields, you have QR�FRQWURO�over the order in which they are processed. In particular, you cannot access the contents of other screen fields in a field exit.

� Also read note 29377 about field exits.

Page 336: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-10

SAP AG 2002

z &UHDWH�VHDUFK�KHOSV�WR�GHILQH�\RXU�RZQ�VHDUFK�SDWKV

z &UHDWH�VHDUFK�KHOSV�WR�KLGH�WKH�VHDUFK�SDWKV�GHOLYHUHG�ZLWK�WKH�VWDQGDUG�V\VWHP

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

$SSHQG�6HDUFK�+HOSV��7RSLF�2EMHFWLYHV

Page 337: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-11

SAP AG 2002

$SSHQG�6HDUFK�+HOSV

,QFOXGHG�VHDUFK�KHOSV

�����

�FXVWRPHU��DSSHQGVHDUFK�KHOS

,QFOXGHG�VHDUFK�KHOSV

�����

�6$3��FROOHFWLYH�VHDUFK�KHOSDSSHQGV

� The set of search paths that are meaningful for an object greatly depends on the particular circumstances of the SAP customer. The customer often would like to enhance the standard SAP collective search helps with his own elementary search helps. Release 4.6 provides an append technique that permits the enhancement of collective search helps without modifications.

� An DSSHQG�VHDUFK�KHOS is a collective search help that is assigned to another collective search help (its appending object) and that enhances it with the search helps it includes. The append search help uses the interface of its appending objects.

� The append search help lies in the customer namespace. Normally the search helps included in the append search help are also created by the customer and lie in the customer’s namespace. However, the required elementary search help might already be provided by SAP, in which case, the customer only has to add it to his own append search help.

� Append search helps are used with SAP to improve component separation. Some SAP collective search helps therefore already have one or more append search helps in the standard search help. Customer enhancements should always be made by creating a separate append search help.

� SAP collective search helps often contain elementary search helps that are not required by all customers. The search helps you do not need can be hidden using an append search help. To do this, the corresponding search help must be included in the append search help and the KLGGHQ flag must be set.

Page 338: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-12

SAP AG 2002

z 'HVFULEH�WKH�HQKDQFHPHQW�RSWLRQV�RIIHUHG�E\�WKH�%XVLQHVV�'DWD�7RROVHW

$W�WKH�FRQFOXVLRQ�RI�WKLV�WRSLF��\RX�ZLOO�EH�DEOH�WR�

%XVLQHVV�'DWD�7RROVHW��7RSLF�2EMHFWLYHV

Page 339: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-13

SAP AG 2002

%XVLQHVV�'DWD�7RROVHW��%'7�

z 'HILQLWLRQ�7RROVHW�IRU�PDVWHU�GDWD�DQG�VLPSOH�WUDQVDFWLRQ�GDWD

z 'HVLJQ�JRDOV�� ([WHQVLELOLW\� &RQILJXUDELOLW\� 'LYLVLELOLW\� $OWHUQDWLYH�XVHU�LQWHUIDFHV� 8VDELOLW\� )DVWHU�GHYHORSPHQW� *HQHULF�REMHFW�VHUYLFHV

� The Business Data Toolset (BDT) - formerly known as master data administration or business partner administration - is the main administration tool for maintaining master data and simple transaction data, either using dialogs, direct input, or function modules.

� The BDT also provides generic objects services for consistent recurring requests – such as changing document lists, field modifications, and the deletion program. The BDT manages generic parts of these objects and the objects themselves and calls the applications using predefined interfaces (control tables and events) – such as writing to and reading from the application tables in the database.

� The BDT is used at SAP to maintain different application objects. Development partners and customers use BDT interfaces to enhance these objects ZLWKRXW�PRGLI\LQJ�WKH�VRXUFH�FRGH.

� In addition, the BDT enables you to use alternative user interfaces by separating the UI from the programming logic. Generic services like direct input and field administration are provided.

Page 340: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-14

SAP AG 2002

'HYHORSPHQW�:LWKRXW�WKH�%'7

6HUYLFH6HUYLFH

0DLQWHQDQFH�WUDQVDFWLRQV

)LHOG�PRGLILFDWLRQ

(YDOXDWLRQ�RI�FKDQJH�

GRFXPHQWV

'DWD�WUDQVIHU

1RWHV$XWKRUL]DWLRQV

� You need the same functions over and over again in both development and implementation projects. The SAP Web Application Server provides some service functions, but most of these functions still need to be developed.

� Field modification, change document evaluation, and screen checks from the ABAP Dictionary are examples of such services.

Page 341: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-15

SAP AG 2002

6SHHGLQJ�8S�'HYHORSPHQW�ZLWK�WKH�%'7

6HUYLFH6HUYLFH

0DLQWHQD

QFH�

WUDQVDFW

LRQV'DWD�WUDQVIHU

1RWHV

$XWKRUL]DWLRQV

)LHOG�

PRGLI

LFDWLR

Q &KDQJH�GRF��HYDOXDWLRQ

0DLQWHQDQFH�SHUIRUPHG�FHQWUDOO\��UHTXLUHV�IHZHU�GHYHORSPHQW�UHVRXUFHV0DLQWHQDQFH�SHUIRUPHG�FHQWUDOO\��UHTXLUHV�IHZHU�GHYHORSPHQW�UHVRXUFHV

� Since the BDT controls dialog processes, the applications need only implement business functions. The BDT also provides services in which applications can be integrated. These factors considerably reduce the development time.

� The applications lose a little of their individual character but in return gain the benefits of reduced object maintenance, standardized dialogs, generic Object Services, and more rapid development.

Page 342: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-16

SAP AG 2002

6$3�%3�$SSO��REMHFW

%83$ %'7%'72WKHU

$SSO��REMHFW

6$3�%3�UHODWLRQVKLSV

$SSO��REMHFW%835

%DQN�DFFRXQW$SSO��REMHFW

%..

,6�5(�FRQWUDFW$SSO��REMHFW

5(&1

&RQWUDFW�DFFRXQW$SSO��REMHFW

),&$

&ODLPVFDSWXUH

$SSO��REMHFW,&/

8VDELOLW\�ZLWK�9DULRXV�2EMHFWV

� The following are just some examples of objects developed using the BDT: � &HQWUDO�%XVLQHVV�3DUWQHU�y Partner maintenance y Relationship maintenance

� &RQWUDFW�$FFRXQWV�5HFHLYDEOH�DQG�3D\DEOH�y Contract account

� ,%8�%DQNLQJ��y Bank account y Standing order y Financial product y Financial conditions y Risk object y Variable transactions

� ,%8�,QVXUDQFH�y Insurance: Claims y Insurance: Loss event y Commissions: Remuneration agreement

� ,6�5(�y Real estate contract y Cost efficiency analysis

Page 343: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-17

SAP AG 2002

a b�c d c e f�g�h i jj�b

After input

ISSTABefore output

kEed e8g�h i j j b

Before output

After input

ISDAT

ISDSTAUTH1

Before output

Save Back End Cancel

XCHNG

Changed?

Yes

DSAVB

AUTH1

DCHCK

DTAKE

DSAVC

DSAVE

No

XCHNG

Changed?No

Save? No

Yes

DSAVB

AUTH1

DCHCK

DTAKE

DSAVC

DSAVE

Yes

A

Cancel.

A

XCHNG

Changed?No

Save? No

Yes

DSAVB

AUTH1

DCHCK

DTAKE

DSAVC

DSAVE

Yes

A

Cancel.

XCHNG

Changed? No

Cancel?

No

Yes

Yes

A

DLVE1

DLVE2

Start

End

DTITL

DCUAD DCUAC

FCODE

DTITL

DCUAD DCUAC

Events in dialogs: Save mode

Call subscreenCall subscreen

Call subscreenCall subscreen

Before output

FCODE

(YHQWV�DQG�3URJUDP�)ORZ

� Within the program flow, applications can take events defined by the BDT and define their own program logic for them in function modules. These function modules can be defined for any event and are then called dynamically by the BDT.

� The starting point is a normal transaction code. This code always launches the program (BUSSTART in the Business Partner). The BDT reads all the necessary information from the control tables along with the name of the transaction code.

� The program flow is fully specified. All function modules that belong to the part of the object executed are called in the appropriate event.

Page 344: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-18

SAP AG 2002

%'7 'HYHORSPHQW�DQG�WKH $%$3�:RUNEHQFK

• lGlOm=lon Q B R Hqp�r�L1HIFGp;H

6FUHHQV 3%2 PRGXOH

3$, PRGXOH

• ss�s• tUu]v

• ss�s• txw@y

)XQFWLRQ PRGXOHV

3URJUDPORJLF

(YHQWV IRU HDFKDSSOLFDWLRQ

(YHQWV IRU HDFK�WDEOH

(YHQWV IRU HDFK�YLHZ

)XQFWLRQJURXS

)XQFWLRQJURXS

���������B���B3$,3$,B��B�����B3%&B�����B3%&B�����B3%&B�����B3%&B��������&ROOHFW&ROOHFW*(7*(7������,6'67,6'67,6'$7,6'$7,667$,667$

� Each application develops within a separate function group.

� Screens (that is, subscreens), PBO modules, PAI modules, and function modules are created for the events (for each application, table, and view) in this function group.

� The PBO module calls only one BDT service function module to set the field attributes.

� The PAI module calls only one BDT service function module to get the cursor position.

� Program logic:

y Events for applications (reading, checking, saving data)

y Events for tables (communication between applications/function groups)

y Events for views A) PBC - event for formatting a table (such as sorting) B) PBO - event before output (such as reading text descriptions from Customizing tables) C) PAI - event after input (such as checking input values)

y Note: The same code is executed in maintenance modes without dialogs (such as direct input) You need not program this code again.

Page 345: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-19

([HUFLVHV�

8QLW��� $SSHQGL[�7RSLF��� )LHOG�H[LWV�

At the conclusion of this exercise, you will be able to:

• Implement a field exit that can be used to make supplementary checks of a screen field.

The transaction that your co-workers use to display flight information (%&���B��) allows you to access data for all airline carriers. The customer service personnel, however, should only be able to access the airlines for which it has explicit authorization.

1-1 What is the name of the program for the above transaction?

1-1-1 What is the name of the data element referenced by the input field for the airline?

1-1-2 Are the requirements met for linking a field exit to this screen field?

1-2 How can you create a field exit?

1-2-1 Create a field exit for the screen field found under 1-1. Reference the corresponding data element.

1-2-2 The Function Builder is started. Can you change the interface of the Function Builder? You will need to create a function group before you continue. Create one from Object Navigator and name it =%&���B��.

1-2-3 What do you have to code in the source text? Program an authorization check. How do you perform an authorization check? Use the authority check object S_CARRID with an activity of ‘03’.

1-2-4 If the check is negative, send a message to this effect. Use message ��� in message class %&���.

1-2-5 Activate the function module and the field exit.

Page 346: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-20

1-3 Check your results.

1-3-1 For which airline(s) do you not have authorization?

1-4 Create a local field exit for screen 0100 of transaction %&���B�� based on the global field exit.

Use a second session. This is logical, especially when creating function groups in parallel.

Page 347: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-21

6ROXWLRQV�

8QLW��� $SSHQGL[�7RSLF��� )LHOG�H[LWV�

• Implement a field exit that can be used to make supplementary checks of a screen field.

The transaction that your co-workers use to display flight information (%&���B��) allows you to access data for all airline carriers. The customer service personnel, however, should only be able to access the airlines for which it has explicit authorization.

1-1 The name of the program for transaction %&���B�� is 6$3%&���B)/,*+7��. You can get this information by choosing the menu path 6\VWHP��6WDWXV. 1-1-1 The name of the data element to which the input field for the airline refers is

6B&$55,'��.

1-1-2 You can find the screen field and its data element by going to the Screen-Painter for screen 0100 in program SAPBC425_FLIGHT##. You can see that attribute "Dictionary" is set for field SFLIGHT00-CARRID in the general attributes of the element. The data element you need is S_CARRID##.

1-1-3 Create a function group Z_BC425_## from the Object Navigator.

1-2 Create a field exit using program RSMODPRF. Execute the report RSMODPRF and enter the name of the data element S_CARRID##. Press F8 to run the report.

1-2-1 The function builder is displayed with the correct name of the field exit already supplied. Do QRW change this name and do QRW attempt to build the field exit from the Function Builder!

Page 348: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Appendix-22

1-2-2 The importing and exporting parameters are already defined and must QRW be changed. Select the tab for source code. Use the Pattern pushbutton and select the radiobutton for AUTHORITY-CHECK. Enter the value S_CARRID and press the Enter key. Complete the coding as shown.

The source text should be as follows:

output = input.

AUTHORITY-CHECK OBJECT ’S_CARRID’

ID ’CARRID’ FIELD input

ID ’ACTVT’ FIELD ’03’.

IF sy-subrc <> 0.

MESSAGE e045(bctrain) WITH input.

ENDIF.

1-3 Activate the function module and all of the related function group objects. Use the menu function BACK to return to the selection screen for the report RSMODPRF. Leave both fields on the selection screen blank and press F8 to execute the report. A list of all field exits is displayed. Select your field exit and activate it with )LHOG�H[LW��$FWLYDWH.

Page 349: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Case Study-1

SAP AG 2003

&DVH�6WXG\

Page 350: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Case Study-2

��

Page 351: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Case Study-3

$%$3�:RUNEHQFK�&RQFHSWV���&DVH�6WXG\�

7RSLF��� $%$3�'LFWLRQDU\��8VHU�'LDORJV��DQG�(QKDQFHPHQWV�

At the end of this case study, you can:

• Determine whether or not you can put the knowledge you have obtained from TAW12 (Dictionary, user dialog, and enhancement concept) to practical use.

1.

Your customer, an international airport operator, implements SAP R/3. The standard SAP system enables you to enter, book, and cancel flights. An additional application for displaying and maintaining flights and flight bookings exists from a previous project.

Your customer now wants to extend the scope of the project so that he or she is able to enter additional information and passengers’ special requirements in the system. Examples of special requirements include:

� Vegetarian meal

� Passenger with a physical disability

� VIP requiring special treatment

� VIP requiring personal protection (bodyguard)

� Difficult or awkward passenger

� Child with accompanying adult

It is to be possible to store the list of possible special requirements, and the surcharges they imcur for the airfare, in Customizing tables. Since not all airlines accommodate for all special requirements, the customer needs to be able to assign the special requirements to particular airlines.

The customer is to be able to select the various special requirements in the standard SAP software for creating flight bookings. When the customer saves the booking, these requirements are to be stored in the database. Customer enhancements are not to be permitted since SAP offers a variety of enhancements.

Alternatively, you can reuse parts of an existing customer development for displaying and maintaining bookings and include a display function for special requirements.

Page 352: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Case Study-4

1-1 $VN�your course instructor about the details of the customer requirements and analyze the existing applications. Familiarize yourself with the solutions. If necessary, refer to the ideal solution (program 6$30%&B7$:��B&66B%22.,1*6��function groups %&B7$:��B&66 and %&B7$:��B&66B9%�in package %&B7$:��).

1-1-1 The standard SAP program you are to enhance is 6$30��%&B7$:��B&6B%22.,1*6�in package %&B7$:��B��. This is very similar to the previous ideal solution in course BC414. Familiarize yourself with the functions of this program and analyze the enhancement options. Do QRW�FUHDWH�D�FRS\�of this program. Instead, enhance it as follows using the enhancement components available. 1RWH��when you create a booking (screen 300), a tab exists that is only displayed after you have implemented a BAdI.

1-2� (QDEOH�the customer to enter special requirements in the system. If necessary, allow the customer to enter the special requirements of each particular airline.

1-2-1 Create a table =63(&,$/6���that belongs to delivery class C in which special requirements can be defined using a technical name (char 1). Include fields for entering the surcharge incurred by each special requirement. To enable the application to be used in different languages, you should enter the descriptive text for a special requirement in a text table =63(&,$/67��� To enable you to define the type of fields required, create data elements and domains with the relevant properties.

1-2-2 To enable the customer to assign special requirements to particular airlines, you must create an additional table =63(&,$/6B$66,*1�� that belongs to delivery class C. Maintain external key relationships.

1-2-3 Enable the customer to maintain the data in these Customizing tables. To do this, generate maintenance dialogs. To ensure that the data in these two tables remains consistent, it must be possible to maintain both tables simultaneously. You can do this by using a maintenance view or a view cluster.

1-3 (QKDQFH�the flight data model so that it includes a table for entering any special requirements for a flight booking.

1-3-1 Create a table =6%22.B$''6��� that belongs to delivery class A. You should include the key fields 6%22.�and an additional unique field 63(&,$/,'�for identifying a special requirement. Enter meaningful external key relationships.

1-3-2 Create a suitable domain of type 180& for the 63(&,$/,'.

1-3-3 Create a number range object for this domain.

Page 353: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Case Study-5

1-4 &UHDWH a new function group =��%&B7$:��B&6. The function group acts as a framework program for the subscreen that you can incorporate in the SAP application for booking flights using the screen enhancement of BAdI %&B7$:��B&6B��. During runtime, you manage the special requirements selected for a booking in this function group and use a table control to display these on the subscreen. Create a blank subscreen.

1-5 ,PSOHPHQW the BAdI %&B7$:��B&6B��� of the SAP application 6$30��%&B7$:��B&6B%22.,1*6.��

1-5-1 Specify the framework program and the number of the subscreen.

1-5-2 In method *(7B7$%B1$0(, enter a name for the tab that was previously hidden in the SAP program.

1-5-3 Ensure that the BAdI methods enter the information (maintenance mode, selected flight, booking record ID) transferred from the SAP application in the private instance attributes.

1-5-4 After you have activated the implementation, check whether the tab page that was previously hidden is now displayed.

1-6 &UHDWH�the subscreen for your function group and include all the required functions.

1-6-1 Define global data for managing the selected special requirements.

1-6-2 Use a table control to display the selected special requirements. Include information such as the name and surcharge incurred for a special requirement in the table control.

1-6-3 If you use pushbuttons on your subscreen, the SAP application uses the 352&(66B)&2'( method of the BAdI interface to notify you when your function code has been triggered. In your implementation of this method, you can call a new function module of your function group that processes the function code that was triggered.

Page 354: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Case Study-6

1-7 (QVXUH�that when a new flight booking is saved, the globally defined special requirements in your function group are posted to the new booking in the logical unit of work (LUW) of the SAP application.

1-7-1 Create an additional function group =��%&B7$:��B&6B9%.

1-7-2 Create a posting-enabled function module that receives the special requirements of a posting and updates your table =6%22.B$''6�� with this data.

1-7-3 When a new booking is saved, the SAP application calls the 6$9( method of the BAdI interface. Ensure that your posting module is called and that it creates an additional posting entry in the LUW before the SAP application exits the LUW.

2-1� 2SWLRQDO�7DVN� As part of the course BC410, you developed a transaction for displaying (and maintaining) flights and flight bookings. Enhance this transaction so that you can also use it to display any special requirements that exist for a flight booking.

2-1-1 Enhance your program 6$30=��%&���B62/87,21�from BC410 or copy the template 6$30%&B7$:��B&67B),*+7. For more information, see the ideal solution 6$30%&B7$:��B&66B),*+7.

2-1-2 On subscreen 130 of your program, include a pushbutton for ’Special Requirements’.

2-1-3 Process a modal dialog box when you select the ‘Special Requirements’ pushbutton in which you can display the special requirements that exist for a selected booking. Try and incorporate the subscreen of your function group =��%&B7$:��B&6. In your function group, include function modules for transferring data and include the logic for dictating whether or not a field in the table control is ready-for-input.

Page 355: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-1

SAP AG 2003

z 'HVFULSWLRQ�RI�&HUWLILFDWLRQz ([DPSOH�4XHVWLRQV

&RQWHQWV�

3UHSDUDWLRQ�IRU�&HUWLILFDWLRQ

Page 356: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-2

Page 357: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-3

6$3�&RQVXOWDQW�&HUWLILFDWLRQ����'HYHORSPHQW�&RQVXOWDQW�P\6$3�7HFKQRORJ\�±�$%$3�:RUNEHQFK��������Software components: SAP Web Application Server 6.20

Duration of certification: 3 hours Number of certification questions: 80 multiple choice questions Certificates for participants in this certification test: none

Please note that auxiliary materials are not permitted during the certification test (no access to the online documentation and no access to an SAP system).

The development consultant mySAP Technology – ABAP Workbench (2003) certification test verifies the participant’s knowledge in the field of the ABAP Workbench consultant profile within mySAP Technology. Participants can use this certificate to prove their basic knowledge in this consultant profile and to implement this knowledge in projects. The certification test contains questions from the following content areas:

&RQWHQW�$UHDV�1. mySAP.com technologies (+)

P\6$3�FRP��

Navigation (handling the system)

� Technical Structure of an SAP System

� Cross-System Concepts

2. ABAP Workbench Fundamentals (++)

'DWD�7\SHV�DQG�'DWD�2EMHFWV�,QWHUQDO�7DEOHV�'DWD�5HWULHYDO���$XWKRUL]DWLRQ�&KHFN��

6XEURXWLQHV�7KH�$%$3�5XQWLPH�6\VWHP�&UHDWLQJ�DQG�&DOOLQJ�)XQFWLRQ�*URXSV�DQG�)XQFWLRQ�0RGXOHV�3URJUDP�&DOOV�DQG��'DWD�7UDQVIHU��3. ABAP Objects (++)

&ODVVHV�DQG�2EMHFWV�,QKHULWDQFH�&DVWLQJ�,QWHUIDFHV�(YHQWV�*OREDO�&ODVVHV�DQG�,QWHUIDFHV�([FHSWLRQ�+DQGOLQJ�'\QDPLF�3URJUDPPLQJ��

Page 358: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-4

4. ABAP Dictionary (++)

'DWDEDVH�7DEOHV���

Performance with table accesses

&RQVLVWHQF\�7KURXJK�,QSXW�&KHFN��)RUHLJQ�.H\�'HSHQGHQF\��'HSHQGHQFLHV�ZLWK�$%$3�'LFWLRQDU\�2EMHFWV�9LHZV�6HDUFK�+HOS�

5. Techniques of List Processing (++)

2XWSXWWLQJ�'DWD�WR�/LVWV�6HOHFWLRQ�6FUHHQ�/RJLFDO�'DWDEDVH�,QWHUQDO�'DWD�&ROOHFWLRQ�'DWD�)RUPDWWLQJ�DQG�&RQWURO�/HYHO�3URFHVVLQJ�

6DYLQJ�/LVWV�DQG�%DFNJURXQG�3URFHVVLQJ�,QWHUDFWLYH�/LVWV��

6. Dialog Programming (++)

6FUHHQ��)XQGDPHQWDOV��7KH�3URJUDP�,QWHUIDFH��*8,�7LWOH��*8,�6WDWXV��6FUHHQ�(OHPHQWV�IRU�2XWSXW��7H[W�)LHOGV��6WDWXV�,FRQV�DQG�*URXS�%R[HV��,QSXW�2XWSXW�6FUHHQ�(OHPHQWV�6XEVFUHHQ�DQG�7DEVWULS�&RQWURO�7DEOH�&RQWURO�&RQWH[W�0HQX�/LVWV�LQ�'LDORJ�3URJUDPPLQJ�

7. Database Updates (+)

'DWDEDVH�8SGDWHV�ZLWK�2SHQ�64/�/8:·V�DQG�&OLHQW�6HUYHU�$UFKLWHFWXUH�6$3�/RFN�&RQFHSW�2UJDQL]LQJ�'DWDEDVH�8SGDWHV�&RPSOH[�/8:�3URFHVVLQJ�1XPEHU�$VVLJQPHQW�&UHDWLQJ�&KDQJH�'RFXPHQWV��

8. Enhancements and Modifications (+)

&KDQJLQJ�WKH�6$3�6WDQGDUG�3HUVRQDOL]DWLRQ�(QKDQFLQJ�'LFWLRQDU\�(OHPHQWV�(QKDQFHPHQWV�8VLQJ�&XVWRPHU�([LWV�%XVLQHVV�7UDQVDFWLRQ�(YHQWV�%XVLQHVV�$GG�,QV�0RGLILFDWLRQV��

Page 359: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-5

Key for certification weighting:

+ = 1 - 10%

++ = 11 - 20%

+++ = More than 20%

Page 360: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-6

� �

Page 361: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-7

([HUFLVHV�

([DPSOH�4XHVWLRQV�IRU�WKH�&HUWLILFDWLRQ�7HVW�8VLQJ�WKH�&RQWHQWV�RI�7UDLQLQJ�&RXUVH�7$:���P\6$3�7HFKQRORJ\�±�$%$3�:RUNEHQFK�&RQFHSWV��

At the end of this training course you will have an overview of - the structure of the Certification Test

7RSLF��$%$3�'LFWLRQDU\�

4XHVWLRQ����Foreign keys: Which conditions are linked to the check field and the validation table field that is assigned?

$QVZHU�����Both fields must have the same name.

$QVZHU�����Both fields must have the same data element.

$QVZHU�����Both fields must have the same domain.

Page 362: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-8

$QVZHU����,QFRUUHFW�$QVZHU����,QFRUUHFW�$QVZHU����&RUUHFW��

Page 363: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-9

4XHVWLRQ����Which selection methods are permitted in an elementary search help?

$QVZHU�����Database view

$QVZHU�����Maintenance view

$QVZHU�����Help view

$QVZHU�����Table with text table

$QVZHU�����A different search help

Page 364: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-10

Answer 1: Correct Answer 2: Incorrect Answer 3: Correct Answer 4: Correct Answer 5: Incorrect�

Page 365: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-11

7RSLF��/LVW�&UHDWLRQ�

��4XHVWLRQ����What can be specified with the statement SELECT-OPTIONS so FOR xxx?

$QVZHU�����The data element name.

$QVZHU�����The name of a program variable created with DATA.

$QVZHU�����The name of a structure field from the ABAP Dictionary.

$QVZHU�����7KH�QDPH�RI�D�VWUXFWXUH�ILHOG�IURP�WKH�$%$3�'LFWLRQDU\�LI�D�VXLWDEOH�7$%/(6�VWDWHPHQW�H[LVWV�LQ�WKH�SURJUDP��

$QVZHU�����The name of a program type created with TYPES.

Page 366: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-12

$QVZHU����,QFRUUHFW�$QVZHU����&RUUHFW�$QVZHU����,QFRUUHFW�$QVZHU����&RUUHFW��$QVZHU����,QFRUUHFW�

Page 367: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-13

4XHVWLRQ����Which statements apply to the structure of a logical database?

$QVZHU�����The structure determines the sequence in which the GET events must be executed in the program.

$QVZHU�����The structure determines the read sequence of the logical database.

$QVZHU�����The node names in the structure are always the names of database tables.

Page 368: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-14

$QVZHU����,QFRUUHFW�$QVZHU����&RUUHFW�$QVZHU����,QFRUUHFW�

��

Page 369: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-15

7RSLF��3URJUDPPLQJ�8VHU�'LDORJV�

4XHVWLRQ����Changes to table controls ...

$QVZHU�����.. are temporary if they refer to table control fields.

$QVZHU�����.. are permanent if they refer to attributes of the whole table control.

$QVZHU�����... must be executed at the PAI screen event.

$QVZHU�����... must be executed within LOOP AT SCREEN. ... ENDLOOP.

Page 370: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-16

$QVZHU����&RUUHFW�$QVZHU����&RUUHFW�$QVZHU����,QFRUUHFW�$QVZHU����,QFRUUHFW�

Page 371: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-17

4XHVWLRQ����You want to hide a field on a screen. How do you do it?

$QVZHU�����You set SCREEN-ACTIVE to 1 and SCREEN-INPUT to 0.

$QVZHU�����You set SCREEN-ACTIVE to 1, SCREEN-INIVISIBLE to 1.

$QVZHU�����You set SCREEN-ACTIVE to 0. SCREEN-INIVISIBLE doesn’t matter.

�$QVZHU�����You set SCREEN-INVISIBLE to 1. SCREEN-ACTIVE doesn’t matter.

Page 372: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-18

$QVZHU����,QFRUUHFW�$QVZHU����&RUUHFW�$QVZHU����&RUUHFW�$QVZHU����,QFRUUHFW�

Page 373: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-19

7RSLF��'DWDEDVH�8SGDWHV�

4XHVWLRQ����You want to change the contents of a database table. Which of the following elements should your program contain to do this?

�$QVZHU�����Use a logical database.

�$QVZHU�����Use AUTHORITY-CHECK.

�$QVZHU�����Use OPEN CURSOR.

�$QVZHU�����Call ENQUEUE/DEQUEUE function modules.

Page 374: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-20

$QVZHU����,QFRUUHFW�$QVZHU����&RUUHFW�$QVZHU����,QFRUUHFW�$QVZHU����&RUUHFW�

Page 375: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-21

7RSLF��(QKDQFHPHQWV�DQG�0RGLILFDWLRQV

4XHVWLRQ����Which of the following statements about Business Add-Ins (BAdI) are correct?

$QVZHU�����A BAdI method can be called by one program only.

$QVZHU�����If the BAdI is flagged as reusable, no filter dependency can be defined.

$QVZHU�����A Business Add-In always has exactly one interface.

Page 376: 7$: -  · PDF file© sap ag taw12 preface-5 ª sap ag 2004 &rxuvh 3uhuhtxlvlwhv 5htxluhg z 7$: ˛ 6$3 1hw:hdyhu $%$3 :runehqfk )xqgdphqwdov ru vlplodu nqrzohgjh

© SAP AG TAW12 Certification-22

$QVZHU����,QFRUUHFW�$QVZHU�����,QFRUUHFW�$QVZHU�����&RUUHFW�