456 -789 "#$ %&' %()&(*+, -, .(/0'123 456 -789 0#02020 12+1'1/ :& /,++121;<+'&/ <=<2 *&/&2 2(>+1#? <='&/>&.<#$
@>>ABCC/& #&'$/()& (*+,$<2D( @>>ABCCEE E$>&),F <$;
!
#$% &'()
*+,-. /0 1/23.234 5+67+8-+7 999999999999999 999999999999999999999999999999 9999999999999999999999999999999 99999999999999999999999999999999 99999999999999999999999999999999 9999999999999999999999999999999 9999999999999999999999999999999 9999999999999999999999 999999 : -789 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$ L 5AA+
<(2 5AA+<(2$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$ $$$$ N !"#"$ &'()* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ , -'./'$) 01'2$'1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 044$56'758# 044$56'7 58# 9:57 ++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++ ;<
K1>1+(* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$ OO 8,2M><(2 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$ OO !"#"$ &'()* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;; ='$)*>' ?8/$'1) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;@ -8#(A5.8#B C18D1'>/'# ='E)1>'( ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;, -8#(A5.8#B F"GBD 97>"( ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ H;
"1>1 P;F&M>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ QO 9$">"#7 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ H; I71B67B1" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ HJ K'G$" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ H,
RSA#&))<(2$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$ $$$$ QN L8#A7'#7 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ HM F"65A58# K'G$" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ H3 -81>B$' +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ N< -B#6758# L'$$ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ N; O884 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NH K'G$" P4"1'758# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NH C186"/B1" L'$$ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NN Q'#/8> RB>G"1++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ RB>G"1++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NN F"65A58# K1"" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ N@ L'A" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NJ F5E"1 9:41"AA58# KS1$"15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NJ
7,+& $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$ TU 7,+&)&> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$ TV QB$"A"7 9$">"#7 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @< QB$"A"7 QB$"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ QB$"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @H -5#'$ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @H
5M><(2 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$ LT O8D ?"AA'D" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @N C186"/B1" L'$$ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ F5E"1 0(A5.8#$'1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@
;.2<=-.38. > 5<=<4.--.=3<78.99999999999999999999999999999999999 999999999999999999999999999999999999999999999999999 9999999999999999999999999999999 9999999999999999999999999999999 999999999999999999999 99999:? -789 W&)2&+<2< W&)2&+<2< XY+< 6#(*#1'.1 ZH)>'&/$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$ LU -789 ZH#020'+<2< ZH#020'+<2< %<[<)&++&[><#'& %<[<)&++&[><#'& $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$ LU @72.A 5/B-+79999999999999999 99999999999999999999999999999999 9999999999999999999999999999999 9999999999999999999999999999999 99999999999999999999999999999999 99999999999999999999999999999999 9999999999999999999999999999999 999999999999999:C "<21' \[+&'+$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$ LN 044$56'758# 044$56'7 58# T'1'7>'( T'1'7 >'( +++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++ @, -8#(A5.8# T'1'7>'( ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @M F'7' PGU"67 T'1'7>'( ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @M QB$"A"7 T'1'7>'( ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @3
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() D QB$"A"7 F"E5*("#$"15#5 K'#)>$'>'( +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @V
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
:
#$% &'()
5+67+8-+7 &'() Rule’ları barındırmak + i !lemek için Framework. Business kurallarını kodun içine ABAP’la IF / Case ile yazmak yerine, BRF+’ta Customize edilebilir !ekilde ifade ediyoruz. Bu kurallar ABAP programından ça "ırılabiliyor ve Power User tarafından uyarlama gibi de"i!tirilebiliyor.
Kullanım mimarisi:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() ?
Avantajları:
SAP Netweaver 7.0’dan beri var (2006). SAP TM, SAM CRM ve SAP Business By Design içinde kullanılıyor. Kullanabilmek için; en az SAP Netweaver 7.0 Enhancement PAck 2 gerekiyor. SICF’te a!a"ıdaki servislerin etkinle !tirilmesi lazım:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
C
#$% &'() • • •
/SAP/BC/WEBDYNPRO/SAP/ FDT_WD_WORKBENCH /SAP/BC/WEBDYNPRO/SAP/ FDT_WD_OBJECT_MANAGER /SAP/BC/WEBDYNPRO/SAP/ FDT_WD_CATALOG_BROWSER
BRF+’a eri!im için, FDT_WORKBENCH i!lem kodu kullanılır. Gerekli Authorization’lar: Authority Object
Field
S_TCODE
TCD = ‘FDT ‘FDT _ WORKBENCH’ WORKBENCH’
Remark
FDT_ACT (Activity) FDT_OBJECT FDT_OBJTYP (Object Type) FDT_APPL (Application) FDT_WORKB
FDT_WB_ACT (Workbench Activity)
This authority check is only executed if you use the transaction FDT_WORKBENCH. You can define the allowed activities (for example, Create, Change) for an object. It is also possible to specify the application and the object type. This authority object defines the general access to the workbench (Activity: ( Activity: Start Workbe
$EE-
Workbench ! Create Application menüsü ile yaratılır.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() H
Application türleri: Customizing: Power User’ın de "i!iklikleri Client’a ba "lıdır. Uyarlama olarak ele alınır. Master data: Tüm de"i!iklikler yereldir, ta !ınamaz. •
•
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
I
#$% &'() •
System: Kimse de "i!iklik yapamaz. De"i!iklikler ancak Workbench Request ile ta!ınabilir.
(+JB+-G $7+K-+7 Application Usage: Bu Application’u kimler kullanmı ! – Where Used List
Application Cleanup – Extended Program Check gibi
Simulation: Uygulamayı ön planda deneme modunda çalı !tırma
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() L
Web Service Generation – Uygulamayı servis olarak yayınlama
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
MN
#$% &'()
$EE-
Description
If an object is accessed or shall be manipulated, BRFplus performs an authority check first. AUTHORITY_CHECK
CHECK
ACTIVATION_VETO
CHANGE_NOTIFICATION
SAVE_NOTIFICATION
"#$ %&' %H)&(I+,
This exit allows to enhance or even completely replace the default authority checks of BRFplus. This method is called whenever a BRFplus object is checked for consistency. Additional checks may be implemented within this exit. The exit also affects the possibility to activate an object. (see below) Before a BRFplus object can be activated, it needs to be in a consistent state and is therefore checked accordingly. With the activation veto exit it is possible to prohibit the activation also due to other aspects like external dependencies, that might even only be of temporary nature. This exit sends a notification if an object is changed. This might e.g. be used for an automatic update of a dependent BRFplus object. This exit simply gives a notification, if an object is saved. This might e.g. be used for an automatic update of a dependent BRFplus object.
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() MM GET_ELEMENT_VALUES
With this exit it is possible to define a dynamically retrieved list of valid values for a data element in BRFplus.
With this application exit the functions that are available for GET_FORMULA_FUNCTIONALS formula expressions can be set. It is possible to restrict the list of standard functions but also to add custom defined functions . GET_CHANGEABILITY
GET_CALENDAR
With this application exit the changeability of customizing objects can be altered. This application exit can define the usage of a specific calendar for date and time related operations. The exit is currently not relevant for NW70x releases. It is only used for special application platform systems based on NW710 or higher.
1+3+-/Q Farklı Application’lardaki nesneler; kullanıcılar tarafından rahat ula !ılabilsin diye Catalog’lar içinde toparlanabilir.
(R2F32 ;.2.- &+AG= BRF+ ile ABAP programları arasındaki köprüdür.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
M!
#$% &'()
Input —> Expressions + Rulesets —> Output mantı"ıyla çalı!an bir bloktor. Bir Application altında pek çok Function olabilir. Function’un arkasında sınıf Method’ları türetilir.
Aldı"ı parametreler, Signature kısmında tanımlanır:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() MD
Fonksiyon; ABAP’tan ça "ırılmanın yanı sıra, Web Service olarak da yayınlanabilir veya do"rudan ön ekranda da simule edilebilmektedir.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
M:
#$% &'()
S+-G=8+ T/B-+7G Functional Mode : Bildi"imiz fonksiyon gibi; parametre alır, i !ler ve sonuç döndürür.
Simple Use-Cases için uygundur.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() M?
Event Mode : Rule Logic do "rudan fonksiyon içinde yer almaz. Bunun yerine, fonksiyon
bir Event tetikler ve bu Event’I dinleyen bir/birkaç Ruleset i !lenir. Bu Ruleset’ler; tipik olarak Context de"erlerini de"i!tirir ve aksiyonlar ba !latır. Bu mod; genelde do "rudan sonuç beklenmeyen karı !ık Use Case’ler için kullanılır. Örnek: Kredi kartına ba !vuran ki!i için risk faktörü hesaplama.
Functional Functional and Event Mode : #kisinin karı !ımıdır. Önce basit bir Functional Mode
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
MC
#$% &'()
çalı!ır, akabinde Event Mode gibi Ruleset’ler i !lenir.
(/2A4
]&++( ^(#+.B !"#"$ &'()*+,-.'+ #/01 213 #4 .)()5-()*+,-.'+6 &'(,'+-78- #/01 213 #4 .)()5-(,'+-78-6 .)()5-(,'+-78-6 &'(97:*&- #/01 213 #4 .)()5-(97:*&-6 &;(97:*&-(:-9.+< &;(97:*&-(:-9.+< #/01 :-9.+<6 &8()5-
#/01 213 #4 ,8()5-=
3>1?!@A/BC4?A$ 3>1?!@A/BC4?A$ D&:(E7::F<7G D&:(E7::F<7G #/01 .)()5-(-HI7:JG:(E7::F<7= .)()5-(-HI7:JG:(E7::F<7= K4LA#"L#A$ &,(),-(.5 #/01 .)()5-(-HI7:JG.5 .)()5-(-HI7:JG.5 M"?N1 OPPQRS13RQKC"PT!!"UUQV1W OPPQRS13RQKC"PT!!"UUQV1WCQXSTPQW"Y= CQXSTPQW"Y= #2/= &'()*+,-.'+ J ,&()5-()F,-'9HJG<7-(.+:,&()5-()F,-'9HJG<7-(.+:-F+,7Z F+,7Z [@G<7-()*+,-.'+Z [@G<7-()*+,-.'+Z .;(.5 J &,(),-(.5 [= &'(,'+-78- J &'()*+,-.'+@G<7-(I9',7: &'()*+,-.'+@G<7-(I9',7::(,'+-78-Z :(,'+-78-Z [= &'(,'+-78-@G:7-(;F&*7Z .;(+FE7 J O>L0N#Y .F(;F&*7 J O\7&&' ]'9&5Y [= &'()*+,-.'+@GI9',7::Z &'()*+,-.'+@GI9',7::Z 1^042#>L_ .'(,'+-78- J &'(,'+-78>B042#>L_ 7'(97:*&- J &'(97:*&- [= &'(97:*&-@G<7-(;F&*7Z &'(97:*&-@G<7-(;F&*7Z >B042#>L_ 7F(;F&*7 J &;(97:*&-(:-9.+< &;(97:*&-(:-9.+< [= K"#K\ ,8()5-(I9',7::.+<= ,8()5-(I9',7::.+<= &;(97:*&-(:-9.+< J O024K1AA>L_ 12242`Y= K"#K\ ,8()5- >L#4 &8()5-= ?440 "# &8()5-@GE-(E7::F<7 &8()5-@GE-(E7::F<7 "AA>_L>L_ D&:(E7::F<7G= ]2>#1$ a D&:(E7::F<7G@-78-= 1L!?440= 1L!#2/= ]2>#1$a O#b7 97:*&- .: $ O 6 &;(97:*&-(:-9.+<=
_#2&/ OB c _7- :.+<&7-'+ .+:-F+,7 ') -b7 3!# )F,-'9H=
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() MH &'()F,-'9H J ,&()5-()F,-'9HJG.)()5-( ,&()5-()F,-'9HJG.)()5-()F,-'9Hd<7-( )F,-'9Hd<7-(.+:-F+,7Z .+:-F+,7Z [=
c <7- -b7 )*+,-.'+ _N>! F,,'95.+< )*+,-.'+ +FE7 7-:('ef7,-(.5 7-:('ef7,-(.5 J ,&()5-(I79:.:-7+,7JG<7-( ,&()5-(I79:.:-7+,7JG<7-(.5:Z .5:Z .;('ef7,-(-HI7 J g3Ng .;(+FE7 J Oh!1B4(02>K>L_(3NLKY [=
c <7- -b7 )*+,-.'+ 'ef7,&'()*+,-.'+ J &'()F,-'9H@G<7-()*+,-.'+ &'()F,-'9H@G<7-()*+,-.'+Z Z .5(97:*&- [=
c K'+-78- .-:7&) &'(,'+-78- J &'()*+,-.'+@G<7-(I9',7: &'()*+,-.'+@G<7-(I9',7::(,'+-78-Z :(,'+-78-Z [=
c 0F:: -b7 .+I*- IF9FE7-79 ;F&*7: &'(,'+-78-@G:7-(;F&*7Z .;(+FE7 J OKNA#4B12g iK*:-'E79 .F(;F&*7 J &;(,*:-'E79 [=
&'(,'+-78-@G:7-(;F&*7Z .;(+FE7 J g>#1Bg i>-7E .F(;F&*7 J .;(.-7E [=
&'(,'+-78-@G:7-(;F&*7Z .;(+FE7 J g02>K1Y i09.,7 .F(;F&*7 J &;(I9.,7[=
&'(,'+-78-@G:7-(;F&*7 &'(,'+-78-@G:7-(;F&*7 Z .;(+FE7 J g024B4g j09'E' .F(;F&*7 J .;(I9'E'-.'+ [=
c KF&& )*+,-.'+ F+5 <7- 97:*&&'()*+,-.'+@GI9',7:: Z 1^042#>L_ .'(,'+-78- J &'(,'+-78>B042#>L_ 7'(97:*&- J &'(97:*&- [=
_#2&/ QB
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
MI
#$% &'()
!"#"$ &'()*+,-.'+ #/01 213 #4 .)()5-()*+,-.'+6 .)()5-()*+,-.'+6 &'(,'+-78-
#/01 213 #4 .)()5-(,'+-78-6 .)()5-(,'+-78-6
&'(97:*&- #/01 213 #4 .)()5-(97:*&-6 &8()5- #/01 213 #4 ,8()5-6 &;(:-9.+< -HI7 :-9.+<=
3>1?!@A/BC4?A 3>1?!@A/BC4?A D&:(E7::F<7G #/01 .)()5-(-HI7:JG:(E7::F<7= .)()5-(-HI7:JG:(E7::F<7= &'()*+,-.'+ J ,&()5-()F,-'9HJG.)()5-() ,&()5-()F,-'9HJG.)()5-()F,-'9Hd<7-(. F,-'9Hd<7-(.+:-F+,7Z +:-F+,7Z [@G<7-()*+,-.'+Z [@G<7-()*+,-.'+Z .;(.5 J OPPSPSXUWWSV!PT11VU3KRQ11 OPPSPSXUWWSV!PT11VU3KRQ11XTQSK""RY XTQSK""RY [= #2/= &'(,'+-78- J &'()*+,-.'+@G<7-(I9',7: &'()*+,-.'+@G<7-(I9',7::(,'+-78-Z :(,'+-78-Z [= &'(,'+-78-@G:7-(;F&*7Z &'(,'+-78-@G:7-(;F&*7Z .;(+FE7
J OKNA#4B12Y
.F(;F&*7 J OA"0Y [= &'(,'+-78-@G:7-(;F&*7Z &'(,'+-78-@G:7-(;F&*7Z .;(+FE7
J O>#1BY
.F(;F&*7 J O07+,.&Y [= &'(,'+-78-@G:7-(;F&*7Z &'(,'+-78-@G:7-(;F&*7Z .;(+FE7
J O024B4#>4LY
.F(;F&*7 J O O [= &'(,'+-78-@G:7-(;F&*7Z &'(,'+-78-@G:7-(;F&*7Z .;(+FE7
J OA\1?3(02>K1Y
.F(;F&*7 J OQPY [= &'()*+,-.'+@GI9',7::Z &'()*+,-.'+@GI9',7::Z 1^042#>L_ .'(,'+-78- J &'(,'+-78>B042#>L_ 7'(97:*&-
J &'(97:*&- [=
&'(97:*&-@G<7-(;F&*7Z &'(97:*&-@G<7-(;F&*7Z >B042#>L_ 7F(;F&*7 J &;(:-9.+< [= ]2>#1 &;(:-9.+< = K"#K\ ,8()5- >L#4 &8()5-= ?440 "# &8()5-@GE-(E7::F<7 &8()5-@GE-(E7::F<7 "AA>_L>L_ D&:(E7::F<7G= ]2>#1 a D&:(E7::F<7G@-78-= D&:(E7::F<7G@-78-= 1L!?440= 1L!#2/=
Tam bir program örne "i: *---------------------------------------------------------------------* * Report Z_BRFPLUS_TEST * *---------------------------------------------------------------------* * * *---------------------------------------------------------------------*
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() ML
REPORT REPORT z_brfplus_test. PARAMETERS: PARAMETERS : p_salary TYPE TYPE amount. amount. DATA : lo_fuction lo_context lo_result
TYPE REF TO if_fdt_function, TO if_fdt_function, TYPE REF TO TO if_fdt_context, if_fdt_context, TYPE REF TO if_fdt_result. TO if_fdt_result.
DATA : lo_message TYPE REF TO cx_fdt. TO cx_fdt. FIELD-SYMBOLS: FIELD-SYMBOLS : TYPE if_fdt_types=>s_message. TYPE if_fdt_types=>s_message. DATA : ls_tax TYPE if_fdt_types=>element_amou if_fdt_types=>element_amount, nt, ls_salary TYPE if_fdt_types=>element_amou if_fdt_types=>element_amount. nt. START-OF-SELECTION. START-OF-SELECTION . CLEAR: ls_tax. CLEAR: ls_salary-number ls_salary-currency
= p_salary. = 'EUR' 'EUR'. .
TRY . TRY . " Get BRFplus function lo_fuction ?= cl_fdt_factory=>if_fdt_factory~get_instance( )>get_function( 'D4AE52BE7EF21ED284F8C146EFF7943E' ). " Set the BRFplus function context ( input variables ) lo_context = lo_fuction->get_process_context( ). lo_context->set_value( iv_name = 'GROSS_SALARY' 'GROSS_SALARY' ia_value ia_value = ls_salary ). " Process the BRFplus function lo_fuction->process( EXPORTING io_context IMPORTING eo_result " Retrieve the BRFplus function result lo_result->get_value( IMPORTING ea_value =
= =
lo_context lo_result ).
ls_tax ).
WRITE ls_tax-number. WRITE ls_tax-number. WRITE ls_tax-currency. WRITE ls_tax-currency. CATCH cx_fdt CATCH cx_fdt INTO INTO lo_message. lo_message. LOOP AT lo_message->mt_message lo_message->mt_message ASSIGNING ASSIGNING . . WRITE: WRITE : -text. ENDLOOP. ENDLOOP . ENDTRY. ENDTRY .
-, A#(*#1'.1/< Z`a"3 D(2/)
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
!N
#$% &'()
4<'0+1)b(2 &/#12?B
4RTV &/#12?B
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() !M
^&; "b2A#(Y.12 =1I?#'1 H#2&I< <=<2B @>>ABCC)M2$)1A$M('C.(M)C"PKdLUeV (/2A4
-789 D(2/)'&/ <=<23 Kcf8"Jf8`WKJaPWgha8f8"Jf8`WKJaPWi67PKR44 Kcf8"Jf8`WKJaPWgha8f 8"Jf8`WKJaPWi67PKR44 j&>@(.Y,21 -#&1/ 6(<2> /(b,+1;<+<#$
V+3+ W,X.F3 Bir veriyi tarif etmek için kullanılır, yani veri tipidir. 3 temel Data Object türü vardır: Element, Structure, Table. O-.8.23
Element için kullanılabilecek hazır türler: Data Object
Description
TEXT
Text type without restrictions.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
!!
#$% &'()
NUMBER
Number type without restrictions
BOOLEAN
Boolean type without restrictions
AMOUNT
Amount type without restrictions
QUANTITY
Quantity type without restrictions
TIMEPOINT
Timepoint type without restrictions
TIMESTAMP
Timepoint of type Universal Time Coordinated (UTC) timestamp, including date and time
DATE_TIME
Timepoint of type date and time (local)
DATE
Timpoint of type date
TIME
Timepoint of type time
USER_NAME
Text type, bound to DDIC type SYUNAME
BACKGROUND
Boolean type, bound to DDIC type SYBATCH
ACTION
Text type, intended to store IDs of actions
BRFplus Type in IF_ FDT_TYPES
Type
Length (max.)
Decimals (max.)
Only Positive
Dimension
Text
255
–
–
–
Number
31
10
x
–
Boolean
–
–
–
–
Amount
31
–
x
–
ELEMENT_ AMOUNT
Quantity
31
10
x
x
ELEMENT_ QUANTITY
Timepoint
–
–
–
–
ELEMENT_ TIMEPOINT
ELEMENT_ TEXT ELEMENT_ NUMBER ELEMENT_ BOOLEAN
ABAP Base Types
SSTRING DF34_RAW CHAR1 DF34_RAW, CHAR5 DF34_RAW, CHAR3 DATS,TIMS, TIMESTAMP
Bunun yanı sıra; Binding özelli "i kullanılarak bir DDIC nesnesine referansla da olu!turulabilir. Tek bir Data Object yaratmak:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() !D
Aynı anda birkaç Data Object yaratma adımları:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
!:
#$% &'()
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() !?
Bir Element için (Domain gibi) Fix de "erler de verilebilir. Mesela Item’ın Computer, Laptop veya Phone olabilmesini istiyoruz diyelim. Bu durumda; Item elementinin “Domain Values” kısmına bu de "erleri yazıyoruz.
#37RF3R7.
ABAP’tan bildi "imiz Work Area veya SE11’deki Structure’dır.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
!C
#$% &'()
*+,-.
Belli bir Line Type türünde veri içeren ITAB.
OPE7.442 Fonksiyonun içine do "rudan yazılabilen; 4 i !lem, fonksiyon ça"ırma gibi i!lemlerdir. If, or, unless gibi ko !ulların arkasından de "er hesaplayıp döndürebilir.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() !H
BRFplus mimarisinde Expression’ların yeri:
1/243+23 En basit Expression türüdür. Fix bir de "er barındırır.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
!I
#$% &'()
V.F<42 *+,-. Karar tablosudur. Arka arkaya birden fazla If’I pe ! pe!e koymak yerine Decision Table kullanılabilir.
Bitmi! bir Decision Table örne "i:
Öncelikle; Decision Table sonucunda hesaplanacak olan Output de "eri tanımlanır:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() !L
Akabinde, Decision Table ko !ullarında kullanılacak olan de "i!kenler tanımlanır:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
DN
#$% &'()
Bu noktadan itibaren; her bir ko !ul için “Insert New Row…” diye diye de "erleri tanımlarız. Mesela; “Mü!teri ABC ise ve Item Computer ise, %15 indirim uygula” diye tanım yapılabilir.
(/78R-+ Fonksiyonun herhangi bir yerinde kullanılabilen bir formüldür. Mesela, bir Rule içerisinde bir de"er hesaplamak istiyorsak bir formül kullanabiliriz.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() DM
Burada gördü "ümüz i!lemler (topla, çıkar, COS, SIN, vs) aslında ilgili sınıflardaki Method’lardır:
#stersek kendimize özel fonksiyonlar da geli !tirebiliriz. Detaylar: http://scn.sap.com/docs/DOC-4582 (R2F32 1+-Bir Function içerisinden bir ba !ka Function ça"ırmaya yarar.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
D!
#$% &'()
Y//E Bildi"imiz döngü. 4 çe!it Loop vardır: For Each Repeat n times Do Until While Do • • • •
*+,-. WE.7+32 Context içerisindeki ITAB’ın verileriyle ilgili i !lemlerdir. Çe!itleri:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() DD
%7/F.BR7. 1+--
Static Method veya Function ça "ırmaya yarar (SE24 / SE37). Raw, X, Xstring ve referans parametreler Map’lenemez.
'+2B/8 ZR8,.7 Geli!igüzel sayı üretmeye yarar. #ki çe!idi vardır: Bounded number: Verilen iki sayı arasında bir de "er türetir (Decimal verilebilir) Boolean: True veya False döndürür. • •
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
D:
#$% &'()
V.F<42 *7.. Decision Table’ın daha karı !ık, iç içe Condition içeren hali
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() D?
1+4. ABAP Case gibi
V
'R-. Business Logic’in tarif edildi "i yerdir. Bir fonksiyon içinde tek bir Rule olabilece "i gibi, Ruleset içerisinde birden fazla Rule da tarif edilebilir. Rule yaratma örne"i görelim; !u anda bir Ruleset’teyiz:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
DC
#$% &'()
Burada kar!ımıza If… Then… Else… mantı"ında bir ekran gelecek.
Önce If ko!ulunu tanımlıyoruz:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() DH
Akabinde; Then kısmına istedi "imiz !eyi yerle!tirebiliriz. Bu örnekte, bir Formula yerle!tiriliyor. Bunun yerine; Decision Table gibi ba !ka bir Expression da yerle!tirebilirdik.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
DI
#$% &'()
'R-.4.3 Arka arkaya birden fazla Rule içerir. Bu Rule’ların i !lenme Condition’larını da belirler (öncelik, vs). Bir fonksiyona birden fazla Ruleset de konabilir. RuleSet tanımlama ekranı:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() DL
•
•
Assign Function: Bu Ruleset’I barındıracak fonksiyon seçilir (sadece bir fonksiyona ait olabilir). Assign Precondition: Bu Ruleset’in etkinle !mesi için gereken ko !ullar tanımlanabilir.
Bitmi! bir Ruleset:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
:N
#$% &'()
'R-.4.3 O-.8.23
Bu Ruleset içinde; aynen WorkFlow Container gibi, Element yaratabiliyoruz. Buna Ruleset Variable deniyor.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() :M
Her bir de "i!kenin nasıl Initialize edilece "ini de tanımlayabiliyoruz:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
:!
#$% &'()
'R-.4.3 'R-.
Ruleset içinde ça"ırılacak her bir Rule’un bir Header bölümü vardır. Burada, Rule’un ne zaman i!leyece"ine dair ko!ullar verilir.
Ruleset içine pe!i sıra yerle!tirilmi! birkaç Rule, !u !ekilde gözükecektir:
Görüldü"ü gibi; Rule’lar arasına Exit Condition’lar da konabilmektedir. Bu !ekilde, basit uygulama mantıkları geli !tirilebilir. (<2+-
Ruleset tanımlaması bittikten sonra; Enable Ruleset demeyi unutmuyoruz:
#çi dolu bir Ruleset örne "i:
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() :D
$F32 Fonksiyon içerisinde yürütülecek i !lemleri tanımlar. Y/Q T.44+Q. Application Log’a mesaj göndermeye yarar.
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
::
#$% &'()
%7/F.BR7. 1+-ABAP Method / Fonksiyon ça "ırma i!levidir.
V
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() :?
#! akı!ı Interaction’u için örnek: http://scn.sap.com/docs/DOC-4568 Context Change : Context de"i!kenlerinin de "erleriyle oynama o
•
;.2<=-.38. > 5<=<4.--.=3<78. &'() Z.42.-.7<2< \]-< %7/Q7+8B+ ;^43.78.A -789 2&)2&+<2<3 /&2.< XY+< ^&; "b2A#( ,b*,+1'1+1#?'?G.1 *H)>&;<+1b+1#B @>>ABCC)M2$)1A$M('C.(M)C"PKdLUeV -, ;1[+?/ ;1[>1 ;121 <+*<2= *&+)& .&k /1b21/+1#? :& HG&+++& l8"Jf^"f"RjPfRj-R"f`al 1.+? ^&; "b2A#( ,b*,+1'1)?2? <2M&+&.02 @1b&3 -78 /1A)1'?2.1 456 >1#1D?2.12 *&+<[><#<+'<[ (+12 l-78 P;F&M> m<&El? Xn+< ^&; "b2A#(nb1 *H''&/>&2 <;1#&>$ Xn+< ^&; "b2A#( ,b*,+1'1'?G1 8"Jfa^"fP-oRKJfj5W5ZR7n< .1@<+ &. ^&; "b2A#(nb1 *H'0+0b(#$ -, )1b&.&3 a"n)< ;<+<2&2 ;<# -789 2&)2&)<2< qD(2/)0+&'&/ '0'/02 (+,b(#$ -, )1b&.&k '&)&+1 Xn+< ;<# ; <# ,b*,+1'1 <+& <+*<)< (+12 ;<# D(2/))A(> '12>?I?2.1 ^&; "b2A#( &/#12? <=<)<2.& *H#02>0+&'&/ '0'/02 (+,#$ p1A?+1'1b1M1/ [&b <)&k m<&En?2 <=<)<2& '0.1@&+& &.&/ /&2.< Xn+< 6#(A>bn+<' [&b+ b1A?+1;<+)& .&k '&)&+1 8,2M><(2n, *H)>&2 &/#12? 4M#&&2 RS<> '12>?I? <+& '(.12.1#> -78 &/#12?2?2 )1.&M& <[<'&;<+&M&I<' '(.@(.n+1#?2.1 *H#0+&;<+<#k la8f8"Jf^"f`4R7fKPW8aZ`75JaPWi4RJfsl la8f8"Jf^"f`4R7fKPW8 aZ`75JaPWi4RJfsl .
&'() ;^7[2[8-.7<2< 5<=<4.--.=3<78. 81#/+? /,++12?M?+1#?2 -789 &/#12?2.1 2&++& /1#[?+1[1M1I?2? (#*121b+1#B @>>ABCC)M2$)1A$M('CM('',2<>bC;#'C;+(*CQtOQCOQCOVCM(2>#(++<2*d>@&d ,@&d;#DA+,)dE(#/;&2M@
"#$%&' ( )*%'+, -./' 01+#2# 34'& -./ B Kcf8"Jf^"f`af4aj6cRfjP"R )?2?D?2.12 b&2< ;<# )?2?D >0#&>&/3 /,++12?M?2?2 &/#12?2.1 21)?+ ;<# *H#02>0 <)>12?'+1b1;<+<#&;<+&M&I<'#&+ 4RQL d h a8f8"Jf^"f`4R7fKPW8aZ`75JaPW dh 5>>#<;,>&) <=<)<2.& *H#0+&;<+<# qZKf6575jRJR7s .1+(I,2 1=?+'1)?2?3 "#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
:C
#$% &'()
b1 .1 )1.&M& ;&++< 2&)2&+<2 *&+'&)<2< qH#2&/B X-PW`4fJ`7%Rpfsr )1I+1'1/ '0'/02$ -,#1.1/< /(2D<*0#1)b(2,3 1/1;<2.& q'&)&+1r X-78 .1/< 5.'<2 *H#02>0)0 b<2& ;1)<>+&[><#<+'<[ *H#02>0202 *&+'&)<2< )1I+1b1;<+
567'2, 8#&,'+B P;F&M> 8<+>n+1# )1b&)<2.& <)&k /,++12?M?+1#?2 /1#[?)?21 *&+&M&/ 9 .&I<[><#&;<+&M&/+< 2&)2&+< ;1[>12 >12?'+1b1;<+1+(I, b1#1>1#1/3 )1.&M& ;1/?'? b1A?+1;<+&M&/ 2&)2&+< +<)>&+&>&;<+
@72.A 5/B-+7 V<2+8
#/01 213 #4 .)()5-()F,- '9H6
&'(FII&.,F-.'+ &'(FII&.,F-.'+
#/01 213 #4 .)()5-(FII&.,F-.'+6 .)()5-(FII&.,F-.'+6
&-(E7::F<7
#/01 .)()5-(-HI7:JG-(E7::F<7 .)()5-(-HI7:JG-(E7::F<76 6
&;(e''&7F+
#/01 FeFI(e''&=
3>1?!@A/BC4?A$ 3>1?!@A/BC4?A$ D&:(E7::F<7G D&:(E7::F<7G #/01 .)()5-(-HI7:JG:(E7::F<7= .)()5-(-HI7:JG:(E7::F<7=
&'()F,-'9H J ,&()5-()F,-'9HJG.)()5-( ,&()5-()F,-'9HJG.)()5-()F,-'9Hd<7-(. )F,-'9Hd<7-(.+:-F+,7Z +:-F+,7Z [= &'(FII&.,F-.'+ J &'()F,-'9H@G<7-(FII&.,F-.'+Z [= &'(FII&.,F-.'+@G.)()5-(&'(FII&.,F-.'+@G.)()5-(-9F+:F,-.'+d7 9F+:F,-.'+d7+k*7*7Z +k*7*7Z [= &'(FII&.,F-.'+@G:7-(57;7 &'(FII&.,F-.'+@G:7-(57;7&'IE7+-(IF,l &'IE7+-(IF,lF<7Z F<7Z Om#B0Y [= &'(FII&.,F-.'+@G.)()5-(F &'(FII&.,F-.'+@G.)()5-(F5E.+(5F-Fd:7 5E.+(5F-Fd:7-(+FE7Z -(+FE7Z O02>K>L_Y [= &'(FII&.,F-.'+@G.)()5-(F &'(FII&.,F-.'+@G.)()5-(F5E.+(5F-Fd:7 5E.+(5F-Fd:7-(-78-:Z -(-78-:Z .;(:b'9-(-78.;(:b'9-(-78- J O09.,.+B042#>L_ 7-(E7::F<7
J &-(E7::F<7
7;(F,-.;F-.'+()F.&75 7;(F,-.;F-.'+()F.&75 J &;(e''&7F+ [= n9.-7(799'9: &-(E7::F<7= jEF,9'6 nb.,b 78.-: .+ ,F:7 ') 799'9 &'(FII&.,F-.'+@G.)()5-(&'(FII&.,F-.'+@G.)()5-(-9F+:F,-.'+d: 9F+:F,-.'+d:F;7Z F;7Z [= &'(FII&.,F-.'+@G.)()5-(&'(FII&.,F-.'+@G.)()5-(-9F+:F,-.'+d5 9F+:F,-.'+d57k*7*7Z 7k*7*7Z [=
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() :H j_7- F+ FII&.,F-.'+ :I7,.)., )F,-'9H .+:-F+,7 &'()F,-'9H J ,&()5-()F,-'9HJG.)()5-( ,&()5-()F,-'9HJG.)()5-()F,-'9Hd<7-( )F,-'9Hd<7-(.+:-F+,7Z .+:-F+,7Z .;(FII&.,F-.'+(.5 .;(FII&.,F-.'+(.5 J &'(FII&.,F-.'+@GE;(.5 &'(FII&.,F-.'+@GE;(.5 [=
(/2A4
#/01 213 #4 .)()5-()*+,-.'+6 .)()5-()*+,-.'+6
&-:(,'+-78-(.5 &-:(,'+-78-(.5 #/01 .)()5-(-HI7:JG-:('ef7,-( .)()5-(-HI7:JG-:('ef7,-(.56 .56 &;(97:*&-(.5
#/01 .)()5-(-HI7:JG.5= .)()5-(-HI7:JG.5=
&'()*+,-.'+ oJ &'()F,-'9H@G<7-()*+,-.'+Z [= &'()*+,-.'+@G.)()5-(-9F+ &'()*+,-.'+@G.)()5-(-9F+:F,-.'+d7+k* :F,-.'+d7+k*7*7Z 7*7Z [= &'()*+,-.'+@G.)()5-(F5E. &'()*+,-.'+@G.)()5-(F5E.+(5F-Fd:7-(+ +(5F-Fd:7-(+FE7Z FE7Z O02>K1(K"?KN?"#>4LY O02>K1(K"?KN?"#>4LY [= &'()*+,-.'+@G.)()5-(F5E. &'()*+,-.'+@G.)()5-(F5E.+(5F-Fd:7-(+(5F-Fd:7-(-78-:Z 78-:Z .;(:b'9-(-78.;(:b'9-(-78- J O09.,7 KF&,*&F-.'+Y [=
&'()*+,-.'+@G:7-()*+,-.' &'()*+,-.'+@G:7-()*+,-.'+(E'57Z +(E'57Z .)()5-()*+,-.'+JG<,(E'57( .)()5-()*+,-.'+JG<,(E'57(7;7+7;7+- [=
c ,'57 )'9 ,'+-78- ,97F-.'+ Z&-:(,'+-78-(.5[ Z&-:(,'+-78-(.5[ F+5 97:*&c ,97F-.'+ Z&;(97:*&-(.5[ -' e7 .+:79-75 b797 &'()*+,-.'+@G:7-(,'+-78&'()*+,-.'+@G:7-(,'+-78-(5F-F('ef7,(5F-F('ef7,-:Z :Z &-:(,'+-78-(.5 &-:(,'+-78-(.5 [= &'()*+,-.'+@G:7-(97:*&-( &'()*+,-.'+@G:7-(97:*&-(5F-F('ef7,-Z 5F-F('ef7,-Z &;(97:*&-(.5 [= &'()*+,-.'+@G.)()5-(-9F+ &'()*+,-.'+@G.)()5-(-9F+:F,-.'+dF,-. :F,-.'+dF,-.;F-7Z ;F-7Z 1^042#>L_ .;(577I
J FeFI(-9*7
>B042#>L_ 7-(E7::F<7
J &-(E7::F<7
7;(F,-.;F-.'+()F.&75 J &;(e''&7F+ [= n9.-7(799'9: n9.-7(799'9: &-(E7::F<7= jGGG 78.- .+ ,F:7 ') 799'9 &'()*+,-.'+@G.)()5-(-9F+ &'()*+,-.'+@G.)()5-(-9F+:F,-.'+d:F;7 :F,-.'+d:F;7Z Z 1^042#>L_ .;(577I J FeFI(-9*7 [= &'()*+,-.'+@G.)()5-(-9F+ &'()*+,-.'+@G.)()5-(-9F+:F,-.'+d57k* :F,-.'+d57k*7*7Z 7*7Z 1^042#>L_ .;(577I J FeFI(-9*7 [=
V+3+ W,X.F3 `+7+38+A
4>12.1#> ;<# "1>1 P;F&M> b1#1>12 H#2&/ /(.B !"#" &'(7&7E7+- #/01 213 #4 .)()5-(7&7E7+-=
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
:I
#$% &'()
&'(7&7E7+- oJ &'()F,-'9H@G<7-(5F-F('ef &'()F,-'9H@G<7-(5F-F('ef7,-Z 7,-Z .;(5F-F('ef7,-(-HI7 .;(5F-F('ef7,-(-HI7 J .)()5-(,'+:-F+-:JG<,(5F-F .)()5-(,'+:-F+-:JG<,(5F-F('ef7,-(-HI7 ('ef7,-(-HI7(7&7E7+(7&7E7+- [= &'(7&7E7+-@G.)()5-(-9F+: &'(7&7E7+-@G.)()5-(-9F+:F,-.'+d7+k*7 F,-.'+d7+k*7*7Z *7Z [= &'(7&7E7+-@G.)()5-(F5E.+ &'(7&7E7+-@G.)()5-(F5E.+(5F-Fd:7-(+F (5F-Fd:7-(+FE7Z E7Z OKNA#4B12Y [= &'(7&7E7+-@G.)()5-(F5E.+ &'(7&7E7+-@G.)()5-(F5E.+(5F-Fd:7-(-7 (5F-Fd:7-(-78-:Z 8-:Z .;(:b'9-(-78.;(:b'9-(-78- J OK*:-'E79Y [= &'(7&7E7+-@G:7-(7&7E7+-(-HI7Z .)()5-(,'+:-F+-:JG<,(7&7 .)()5-(,'+:-F+-:JG<,(7&7E7+-(-HI7(-7 E7+-(-HI7(-788- [= &'(7&7E7+-@G:7-(7&7E7+-( &'(7&7E7+-@G:7-(7&7E7+-(-HI7(F--9.e* -HI7(F--9.e*-7:Z -7:Z .;(&7+<-b J WP [= >LA12# &'(7&7E7+-@GE;(.5 >L#4 #"C?1 &-:(,'+-78-(.5=
"1@1 .&>1b+? HG&+++ <=&2 ;<# "1>1 P;F&M> b1#1>12 H#2&/ /(.B &'(7&7E7+- oJ &'()F,-'9H@G<7-(5F-F('ef &'()F,-'9H@G<7-(5F-F('ef7,-Z 7,-Z .;(5F-F('ef7,-(-HI7 .;(5F-F('ef7,-(-HI7 J .)()5-(,'+:-F+-:JG<,(5F.)()5-(,'+:-F+-:JG<,(5F-F('ef7,-(-HI F('ef7,-(-HI7(7&7E7+7(7&7E7+- [= &'(7&7E7+-@G.)()5-(-9F+: &'(7&7E7+-@G.)()5-(-9F+:F,-.'+d7+k*7 F,-.'+d7+k*7*7Z *7Z [= &'(7&7E7+-@ G.)()5-(F5E.+(5F-Fd:7-(+ G.)()5-(F5E.+(5F-Fd:7-(+FE7Z FE7Z O3>L"?(02>K1Y O3>L"?(02>K1Y [= &'(7&7E7+-@ G.)()5-(F5E.+(5F-Fd:7-(-78-:Z .;(:b'9-(-78.;(:b'9-(-78- J O3.+F& 09.,7Y [= &'(7&7E7+-@G:7-(7&7E7+-( &'(7&7E7+-@G:7-(7&7E7+-(-HI7Z -HI7Z .)()5-(,'+:-F+-:JG<,(7&7 .)()5-(,'+:-F+-:JG<,(7&7E7+-(-HI7(+* E7+-(-HI7(+*Ee79 Ee79 [= &'(7&7E7+-@ G:7-(7&7E7+-(-HI7(F--9.e*-7:Z .;(&7+<-b J p .;(57,.EF&: J T .;('+&H(I':.-.;7 J FeFI(-9*7 [= &;(97:*&-(.5 J &'(7&7E7+-@GE;(.5=
'R-.4.3 `+7+38+A
5[1I?.1/< /(. T >&'&+ 1.?'.12 (+,['1/>1.?#B "&I<[/&2+< >12?'+1'1/ qcJ4fm57a5-cRr3 RSA#&))<(2Y+1#? >12?'+1'1/ qcJ4fRu67R44aPWr3 7,+&Y+1#? >12?'+1'1/ qcJ4f7`cRr !"#"$ &'(9*&7:7&-:(9*&7
#/01 213 #4 .)()5-(9*&7:7-6 .)()5-(9*&7:7-6 #/01 .)()5-(9*&7:7-JG-:(9*&76 .)()5-(9*&7:7-JG-:(9*&76
&-:(;F9.Fe&7 #/01 .)()5-(9*&7:7.)()5-(9*&7:7-JG-:(;F9.Fe&7 JG-:(;F9.Fe&76 6 &-:(78I97::.'+ &-:(78I97::.'+
#/01 .)()5-(9*&7:7-JG-:(.+.-( .)()5-(9*&7:7-JG-:(.+.-(78I9= 78I9=
&'()F,-'9H J ,&()5-()F,-'9HJG.)()5-( ,&()5-()F,-'9HJG.)()5-()F,-'9Hd<7-( )F,-'9Hd<7-(.+:-F+,7Z .+:-F+,7Z .;(FII&.,F-.'+(.5 .;(FII&.,F-.'+(.5 J OPPSPSXUWWSV!PT11VU3KRQ1 OPPSPSXUWWSV!PT11VU3KRQ1K"pXSP""WY K"pXSP""WY [= &'(9*&7:7- oJ &'()F,-'9H@G<7-(9*&7:7-Z &'()F,-'9H@G<7-(9*&7:7-Z [= &'(9*&7:7-@G.)()5-(-9F+: &'(9*&7:7-@G.)()5-(-9F+:F,-.'+d7+k*7 F,-.'+d7+k*7*7Z *7Z [=
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
#$% &'() :L &'(9*&7:7-@G:7-(9*&7:7-(:n.-,bZ .;(:n.-,b J .)()5-(9*&7:7-JG<,(:n.-, .)()5-(9*&7:7-JG<,(:n.-,b('+ b('+ [= &'(9*&7:7-@G.)()5-(F5E.+ &'(9*&7:7-@G.)()5-(F5E.+(5F-Fd:7-(+F (5F-Fd:7-(+FE7Z E7Z O02>K1(K"?KN?"#>4L(2N?1A O02>K1(K"?KN?"#>4L(2N?1AY Y [= &'(9*&7:7-@G.)()5-(F5E.+ &'(9*&7:7-@G.)()5-(F5E.+(5F-Fd:7-(-7 (5F-Fd:7-(-78-:Z 8-:Z .;(:b'9-(-78.;(:b'9-(-78- J O09.,7 KF&,= 2*&7:Y .;(-78-
J O09.,7 KF&,*&F-.'+ 2*&7:Y [=
&'(9*&7:7-@G:7-()*+,-.'+ &'(9*&7:7-@G:7-()*+,-.'+(97:-9.,-.'+ (97:-9.,-.'+Z Z .;()*+,-.'+(.5 J OPPSPSXUWWSV!PT11VU3KRQ11XTQSK""RY [= c ,'57 )'9 9*&7:7- ;F9.Fe&7: Z&-:(;F9.Fe&7[ Z&-:(;F9.Fe&7[ -' e7 .+:79-75 b797 &'(9*&7:7-@G:7-(9*&7:7-( &'(9*&7:7-@G:7-(9*&7:7-(;F9.Fe&7:Z ;F9.Fe&7:Z &-:(;F9.Fe&7 [= c ,'57 )'9 9*&7:7- .+.-.F&.qF-.'+: .+.-.F&.qF-.'+: Z&-:(78I97::.'+[ -' e7 c .+:79-75 b797 &'(9*&7:7-@G:7-(9*&7:7-( &'(9*&7:7-@G:7-(9*&7:7-(.+.-.F&.qF-. .+.-.F&.qF-.'+:Z '+:Z &-:(78I97::.'+ &-:(78I97::.'+ [= c ,'57 )'9 9*&7: Z&-:(9*&7[ -' e7 .+:79-75 b797 &'(9*&7:7-@G:7-(9*&7:Z &'(9*&7:7-@G:7-(9*&7:Z &-:(9*&7 [= &'(9*&7:7-@G.)()5-(-9F+: &'(9*&7:7-@G.)()5-(-9F+:F,-.'+dF,-.; F,-.'+dF,-.;F-7Z F-7Z 1^042#>L_ .;(577I
J FeFI(-9*7
>B042#>L_ 7-(E7::F<7
J &-(E7::F<7
7;(F,-.;F-.'+()F.&75 J &;(e''&7F+ [= n9.-7(799'9: n9.-7(799'9: &-(E7::F<7= jGGG 78.- .+ ,F:7 ') 799'9 &'(9*&7:7-@G.)()5-(-9F+: &'(9*&7:7-@G.)()5-(-9F+:F,-.'+d:F;7Z F,-.'+d:F;7Z 1^042#>L_ .;(577I J FeFI(-9*7 [=
&'(9*&7:7-@G.)()5-(-9F+: &'(9*&7:7-@G.)()5-(-9F+:F,-.'+d57k*7 F,-.'+d57k*7*7Z *7Z 1^042#>L_ .;(577I J FeFI(-9*7 [=
'R-.4.3 V.U<=A.2-.7<2< *+2G8-+8+A
5[1I?.1/< H#2&/>&k < 7,+&4&> .&I<[/&2< >12?'+12'?[>?#$ !"#"$ &'(7&7E7+-
#/01 213 #4 .)()5-(7&7E 7+-6
&:(;F9.Fe&7
#/01 .)()5-(9*&7:7-JG:(;F9.Fe .)()5-(9*&7:7-JG:(;F9.Fe&76 &76
&;(I9'(5.:,'*+&;(I9'(5.:,'*+- #/01 .)()5-(-HI7:JG.56 .)()5-(-HI7:JG.56 &;(,*:(5.:,'*+&;(,*:(5.:,'*+- #/01 .)()5-(-HI7:JG.5= .)()5-(-HI7:JG.5= &'(7&7E7+- oJ &'()F,-'9H@G<7-(5F-F('ef &'()F,-'9H@G<7-(5F-F('ef7,-Z 7,-Z .;(5F-F('ef7,-(-HI7 .;(5F-F('ef7,-(-HI7 J
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;
?N
#$% &'() .)()5-(,'+:-F+-:JG<,(5F.)()5-(,'+:-F+-:JG<,(5F-F('ef7,-(-HI7 F('ef7,-(-HI7(7&7E7+(7&7E7+- [= &'(7&7E7+-@G.)()5-(-9F+: &'(7&7E7+-@G.)()5-(-9F+:F,-.'+d7+k*7 F,-.'+d7+k*7*7Z *7Z [= &'(7&7E7+-@G.)()5-(F5E.+ &'(7&7E7+-@G.)()5-(F5E.+(5F-Fd:7-(+F (5F-Fd:7-(+FE7Z E7Z OKNA#4B12(!>AK4NL#Y OKNA#4B12(!>AK4NL#Y [= &'(7&7E7+-@G.)()5-(F5E.+ &'(7&7E7+-@G.)()5-(F5E.+(5F-Fd:7-(-7 (5F-Fd:7-(-78-:Z 8-:Z
.;(:b'9-(-78.;(:b'9-(-78- J OK*:-'E79 !.:,'*+-Y [= &'(7&7E7+-@G:7-(7&7E7+-(-HI7Z .)()5-(,'+:-F+-:JG<,(7&7 .)()5-(,'+:-F+-:JG<,(7&7E7+-(-HI7(+* E7+-(-HI7(+*Ee79 Ee79 [= &'(7&7E7+-@G:7-(7&7E7+-( &'(7&7E7+-@G:7-(7&7E7+-(-HI7(F--9.e* -HI7(F--9.e*-7:Z -7:Z .;(&7+<-b
J W
.;(57,.EF&:
J T
.;('+&H(I':.-.;7 J FeFI(-9*7 [= &:(;F9.Fe&7 @I':.-.'+
J Q=
&:(;F9.Fe&7@5F-F('ef7,-(.5 J &'(7&7E7+-@GE;(.5= >LA12# &:(;F9.Fe&7 >L#4 #"C?1 &-:(;F9.Fe&7= &;(,*:(5.:,'*+&;(,*:(5.:,'*+- J &'(7&7E7+-@GE;(.5= &'(7&7E7+-@GE;(.5= &'(7&7E7+- oJ &'()F,-'9H@G<7-(5F-F('ef &'()F,-'9H@G<7-(5F-F('ef7,-Z 7,-Z .;(5F-F('ef7,-(-HI7 .;(5F-F('ef7,-(-HI7 J .)()5-(,'+:-F+-:JG<,(5F.)()5-(,'+:-F+-:JG<,(5F-F('ef7,-(-HI F('ef7,-(-HI7(7&7E7+7(7&7E7+- [= &'(7&7E7+-@G.)()5-(-9F+: &'(7&7E7+-@G.)()5-(-9F+:F,-.'+d7+k*7 F,-.'+d7+k*7*7Z *7Z [= &'(7&7E7+-@G.)()5-(F5E.+ &'(7&7E7+-@G.)()5-(F5E.+(5F-Fd:7-(+F (5F-Fd:7-(+FE7Z E7Z O024B4#>4L(!>AK4NL#Y O024B4#>4L(!>AK4NL#Y [= &'(7&7E7+-@G.)()5-(F5E.+ &'(7&7E7+-@G.)()5-(F5E.+(5F-Fd:7-(-7 (5F-Fd:7-(-78-:Z 8-:Z .;(:b'9-(-78.;(:b'9-(-78- J O09'E'-.'+ !.:,'*+-Y [= &'(7&7E7+-@G:7-(7&7E7+-( &'(7&7E7+-@G:7-(7&7E7+-(-HI7Z -HI7Z .)()5-(,'+:-F+-:JG<,(7&7E .)()5-(,'+:-F+-:JG<,(7&7E7+-(-HI7(+*E 7+-(-HI7(+*Ee79 e79 [= &'(7&7E7+-@G:7-(7&7E7+-( &'(7&7E7+-@G:7-(7&7E7+-(-HI7(F--9.e* -HI7(F--9.e*-7:Z -7:Z .;(&7+<-b
J W
.;(57,.EF&:
J T
.;('+&H(I':.-.;7 J FeFI(-9*7 [= &:(;F9.Fe&7 @I':.-.'+
J T=
&:(;F9.Fe&7@5F-F('ef7,-(.5 J &'(7&7E7+-@GE;(.5= >LA12# &:(;F9.Fe&7 >L#4 #"C?1 &-:(;F9.Fe&7= &;(I9'(5.:,'*+&;(I9'(5.:,'*+- J &'(7&7E7+-@GE;(.5= &'(7&7E7+-@GE;(.5=
"#$ %&' %H)&(I+,
J&),F< K(2),+><2*
@>>ABCCEEE$>&),F<$;