%& 6$3 %XVLQHVV &RQQHFWRU

%&
© SAP AG 1999 © SAP AG

6$3 %XVLQHVV &RQQHFWRU
n n n n

R/3 System Release: Business Connector 3.5 December 2000 Material Number 5004 3623

&RS\ULJKW

&RS\ULJKW  6$3 $* $OO ULJKWV UHVHUYHG

1HLWKHU WKLV WUDLQLQJ PDQXDO QRU DQ\ SDUW WKHUHRI PD\ EH FRSLHG RU UHSURGXFHG LQ DQ\ IRUP RU E\ DQ\ PHDQV RU WUDQVODWHG LQWR DQRWKHU ODQJXDJH ZLWKRXW WKH SULRU FRQVHQW RI 6$3 $* 7KH LQIRUPDWLRQ FRQWDLQHG LQ WKLV GRFXPHQW LV VXEMHFW WR FKDQJH DQG VXSSOHPHQW ZLWKRXW SULRU QRWLFH $OO ULJKWV UHVHUYHG

© SAP AG 1999

7UDGHPDUNV Microsoft ®, Windows ®, NT ®, PowerPoint ®, WinWord ®, Excel ®, Project ®, SQL-Server ®, Multimedia Viewer ®, Video for Windows ®, Internet Explorer ®, NetShow ®, and HTML Help ® are registered trademarks of Microsoft Corporation. n Lotus ScreenCam ® is a registered trademark of Lotus Development Corporation. n Vivo ® and VivoActive ® are registered trademarks of RealNetworks, Inc. n ARIS Toolset ® is a registered Trademark of IDS Prof. Scheer GmbH, Saarbrücken n Adobe ® and Acrobat ® are registered trademarks of Adobe Systems Inc. n TouchSend Index ® is a registered trademark of TouchSend Corporation. n Visio ® is a registered trademark of Visio Corporation. n IBM ®, OS/2 ®, DB2/6000 ® and AIX ® are a registered trademark of IBM Corporation. n Indeo ® is a registered trademark of Intel Corporation. n Netscape Navigator ®, and Netscape Communicator ® are registered trademarks of Netscape Communications, Inc. n OSF/Motif ® is a registered trademark of Open Software Foundation. n ORACLE ® is a registered trademark of ORACLE Corporation, California, USA. n INFORMIX ®-OnLine for SAP is a registered trademark of Informix Software Incorporated. n UNIX ® and X/Open ® are registered trademarks of SCO Santa Cruz Operation. n ADABAS ® is a registered trademark of Software AG n The following are trademarks or registered trademarks of SAP AG; ABAP™, InterSAP, RIVA, R/2, R/3, R/3 Retail, SAP (Word), SAPaccess, SAPfile, SAPfind, SAPmail, SAPoffice, SAPscript, SAPtime, SAPtronic, SAP-EDI, SAP EarlyWatch, SAP ArchiveLink, SAP Business Workflow, and ALE/WEB. The SAP logo and all other SAP products, services, logos, or brand names included herein are also trademarks or registered trademarks of SAP AG. n Other products, services, logos, or brand names included herein are trademarks or registered trademarks of their respective owners.
n

7KH 6$3 ,QWHJUDWLRQ 0RGHO

© SAP AG 2000

n n n

SAP’s R/3 System has set new norms for standard software that can be universally implemented. R/3 uses advanced development techniques to achieve comprehensive integration of business administration and data processing. R/3 combines state-of-the-art technology with comprehensive business administration functionality to provide a fully integrated business solution for your company. 

¤¡ ©CA ¤B) £ ¥  ¡ 0§ A 9 %©¥  ¤@ 8£

+5

,6

7 4 § ¡ 653¨¤¡ 2

:)

"  ¥  1) 0 ( &¡ ¥ ¦ '%§ $ 

'( §¤¡ BH  A  £FGEA D " C( @£  ¥ £ F X@£ EFWV¥¦£ F $  ¥  #"¤! 0 ¥ @SR  F A

40

&OLHQW  6HUYHU $%$3 30 

 #¤! ¥ ¢ ¥ " 

33

5 

 ¡ ¥£  £ ©§¨¦¤¡¢  

 £ £ @£ @E F $ £  A 9 ¡ ¤¡ ¨¥ ( ¤E©§ $ ¥ "  `¤!  F 6§  Y!   ¥F

00 

£ ¨¦EA¤¡ ¦U ¥ £ ( (  @ F ( £ £ T F

£ ¥ § ¤¡ ¨CAEQ 66¥  P I  F #C B)

6'

),

&2

$0

36

%XVLQHVV ,QWHJUDWLRQ 7HFKQRORJLHV ,,
/HYHO 
3 days Application Link Enabling (ALE) Technology

/HYHO 
Vpweca f v b

3 days

4 days

Business Integration Technology

EDI Interface

5 days R/3 Interface and BAPI Programming in C++
© SAP AG 1999

5 days Programming with BAPIs in JAVA

”¢%˜–•¢“!U“‘ €— • † „ ” ’ „ ‚ ˆ †…„ ‚ € B‰‡ƒUƒh6y

v s f i ‰‰xeb

5 days Programming with BAPIs in Visual Basic

2 days Communication Interfaces in ABAP

g r b 1pSGca

Data Transfer

dh¢cca s r b

2 days Building Enterprise Solutions with SAP Components

5 days

‚ € † g ˆ e ‚ † † w”¢w¢wfBdƒhG™

2 days SAP IDoc Interface Technology

1 day SAP IDoc Interface Development

p s v b Uheca

d p s Vwxieb

d s b ¢hveca

g s f hhtieb

u f i hshteb

g f d b h¢eca
d g p i hVqeb

&RXUVH 3UHUHTXLVLWHV

l (VVHQWLDO

l 6$3 ± 6$3 2YHUYLHZ

l %DVLF WHFKQLFDO NQRZOHGJH RI 6$3 6\VWHP l 5HFRPPHQGHG l %DVLF NQRZOHGJH RI ,QWHUQHW 7HFKQRORJ\

l %& ± %XVLQHVV ,QWHJUDWLRQ 7HFKQRORJ\

l :RUNLQJ .QRZOHGJH RI ([WHQVLEOH 0DUNXS /DQJXDJH ;0/

'2&V.QWHUPHGLDWH 'RFXPHQWV . l :RUNLQJ NQRZOHGJH RI +70/ DQG +773 l %DVLF NQRZOHGJH RI .

© SAP AG 1999 .

7DUJHW *URXS l $XGLHQFH n n n n 7HFKQLFDO 3URMHFW 0DQDJHUV l 'XUDWLRQ  GD\V 6\VWHP $UFKLWHFWXUH 0DQDJHU ZLWK IRFXV RQ WHFKQLFDO LQWHJUDWLRQ LVVXHV &RQVXOWDQWV IURP %XVLQHVV )UDPHZRUN .PSOHPHQWDWLRQ 3DUWQHUV 6$3 %DVLV  &URVV $SSOLFDWLRQ &RQVXOWDQWV .

&RXUVH 2YHUYLHZ &RQWHQWV l &RXUVH *RDOV l &RXUVH 2EMHFWLYHV l &RXUVH &RQWHQW l &RXUVH 2YHUYLHZ 'LDJUDP l 0DLQ %XVLQHVV 6FHQDULR © SAP AG 1999 © SAP AG BC635 1-1 .

QVWDOO FRQILJXUH DQG DGPLQLVWUDWH WKH 6$3 7KLV FRXUVH ZLOO SUHSDUH \RX WR DQG LQWHJUDWLRQ WHFKQRORJLHV l 'HVFULEH KRZ WKH 6$3 %XVLQHVV &RQQHFWRU XVHV %XVLQHVV &RQQHFWRU IRU GLIIHUHQW VFHQDULRV .0/ © SAP AG 1999 © SAP AG BC635 1-2 .&RXUVH *RDOV l 'HVFULEH 6$3 %XVLQHVV &RQQHFWRU DUFKLWHFWXUH l .

GHQWLI\ VLWXDWLRQV ZKHUH WKH 6$3 %& LV DQ l .QVWDOO FRQILJXUH DQG DGPLQLVWUDWH WKH 6$3 DSSURSULDWH VROXWLRQ %XVLQHVV &RQQHFWRU © SAP AG 1999 © SAP AG BC635 1-3 .&RXUVH 2EMHFWLYHV $W WKH FRQFOXVLRQ RI WKLV FRXUVH \RX ZLOO EH DEOH WR l .

0/ %DVLFV Unit 6 Unit 7 Unit 8 Unit 9 6$3 WR QRQ6$3 &RPPXQLFDWLRQ 6$3 %& $UFKLWHFWXUH 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ ([HUFLVHV 6ROXWLRQV 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 1-4 .&RXUVH &RQWHQW 3UHIDFH Unit 1 Unit 2 Unit 3 Unit 4 Unit 5 &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG .

0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 1-5 .&RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG 6$3 %& $UFKLWHFWXUH .

© SAP AG BC635 1-6 . component-based product architecture that encompasses SAP R/3 enterprise applications and third-party products and technologies. open.QWHJUDWLRQ RI 6$3 DQG QRQ6$3 FRPSRQHQWV XVLQJ WKH 6$3 %XVLQHVV &RQQHFWRU © SAP AG 1999 n The SAP Business Framework is an integrated.0DLQ %XVLQHVV 6FHQDULR l .

gt UBRss UBR B#5T 5VVwTT w A A Br U #r 5UT 5 REEFR F q q v v q q GEETG S5T T h h q q SEFGG ¦T T ‚ ‚ Y Y T SF F5 F # q q StTT ©(S„ „ ‰ ‰ ƒ 0 b (G S ƒ b G ¥ £ $ $ ¡    ¡  §¥ £ ¡ ¦%##"#!  ¦¤£©¨¦¤¢  £ §¥ )  3 & 2 & ¤¡ 756($54'$ (( §) $ 1 ©stRs !!¦0w w q q A A BR B b #a 0 ba RVRiF F q q 5# UX UX q q € € q q f f #66ESVPPRRXX ia a Y Y v v5„ # v# „ v F  U U#T T r ( X edQQccBDTTRRBBX BD ¦EV( UX UX ‘ ‘ F r t©ss UBR UBR B#5 UT UT B#T T y y Br B € #r 5 ¦ € H q q 00T4tgbvv (!!©`b`XX b q q u w 0F 0x ( wFT b u ©st UBRs UBR #r5T T q q SEV¦T T h h B #5 G 0T T F F# Br G q q ¦‡©†©†tg`RR 5SS…©s©sg6bRR 0S%tgBbƒƒ Bb ‚ ‚ p p b ¦T ‡ 5X X P ˆ ST S„ % bT ` P bT„ FX deQc6TTRRBBX 8G G q q ViFRR F I I F b  q b# SEPPP P q F F¦VVaPP a   B¦ B GSEFG F0STgTg©`©`b b q q VRR iF F I I B 0w S Bw FX BWdicg8G G q q QQFRR F I I F b X B R R Tq T b # bb qPP ‰‰ £ § £ $ “ @¡ (5(8¥ (’ X BdWiiTRRBX gg#G G q q QiFRR F I F  Tb # F b EEFRR F q q SE5¦X X f f I v v a a5w ¦ w £ §¥ ) 9 $¥ @¡ 756@#85£© £¤¡ ¨0!¦('# &$   §¥ )¥ £ $   G0F FeBB dVRR EP P #p p G q 0 q# X BdWiiTRRBX gTg BG BG h h F b F bf Tg6ERRT VT T f F  T b b0( ` ` F  X decQTRRBBX 860a(G WBBG WEEX X Y Y F a F F(X WWVVUTRRBBX UT U068SEQQFPPRRTT F I I F( 0 U G 0 BD H 0F FBEEDB CA A G B © SAP AG © SAP AG 1999 6$3 %XVLQHVV 7HFKQRORJ\ 0DS (GLWLRQ  BC635 1-7 .

QVWDOODWLRQ RI 6$3 %& © SAP AG 1999 © SAP AG BC635 2-1 .7KH 6$3 %&  *HWWLQJ VWDUWHG &RQWHQWV l 6\VWHP UHTXLUHPHQWV l .

7KH 6$3 %&  *HWWLQJ VWDUWHG 8QLW 2EMHFWLYHV $W WKH FRQFOXVLRQ RI WKLV XQLW \RX ZLOO EH DEOH WR l 'HVFULEH WKH 6$3 %XVLQHVV &RQQHFWRU l .QVWDOO DQG UXQ WKH 6$3 %XVLQHVV &RQQHFWRU © SAP AG 1999 © SAP AG BC635 2-2 .

7KH 6$3 %&  *HWWLQJ VWDUWHG &RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG 6$3 %& $UFKLWHFWXUH .0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 2-3 .

7KH 6$3 %&  *HWWLQJ VWDUWHG %XVLQHVV 6FHQDULR l <RX DUH D PHPEHU RI D SURMHFW WHDP WKDW LV LQVWDOOLQJ WKH 6$3 %XVLQHVV &RQQHFWRU l <RX DUH UHVSRQVLEOH IRU LQVWDOOLQJ WKH 6$3 %& 6HUYHU DQG 'HYHORSHU © SAP AG 1999 © SAP AG BC635 2-4 .

0/ +70/ . SAP BC supports various levels of integration while guaranteeing a tight integration with any SAP system.0/ . from loosely coupled trading communities to tightly coupled business partnerships. if this non SAP system is part of a company which owns an SAP system.QWHUQHW 7HFKQRORJ\ . n n © SAP AG  # "   !!   © ¨ 1RQ 6$3 1RQ 6$3 6\VWHPV 6\VWHPV 59BA &98§¢) @ 5 @ $ ) 7 56420(&$ 3 1 ) ' % £ ¡ ¤¢  :HE :HE %URZVHU %URZVHU . Unlike traditional Electronic Document Interchange (EDI). XML-based integration technology that enables the real-time integration of your SAP applications with those of your customers. partners. SAP BC offers rapid and costeffective deployment and real-time exchange of business data over the Internet. Cross-organizational relationships take many forms. and suppliers over the Internet.0/ ¦ §¥ 6$3 6$3 6\VWHP 6\VWHP +70/ 6$3 6$3 6\VWHP 6\VWHP 1RQ 6$3 1RQ 6$3 6\VWHPV 6\VWHPV © SAP AG 1999 n SAP BC is a cross-platform.:KDW LV WKH 6$3 %XVLQHVV &RQQHFWRU" . SAP BC may only be used for non SAP systems.0/ :HE :HE &RQWHQW &RQWHQW 6HUYHU 6HUYHU :HE :HE $SSOLF $SSOLF DWLRQV DWLRQV BC635 2-5 .

21 &86720 .0/ '$7$ 0$33.1* % % 2-6 . .21 6$3 .17(51(7 :(% $8720$7. SAP BC includes the complete core functionality and the SAP integration package.7< 0$1$*(5 35272&2/ 0$1$*(5  :(% $8720$7.0 / / (17(535.21 :(% $8720$7.0 0$1$*(5 : .6( 6$3 %XVLQHVV &RQQHFWRU © SAP AG 1999 n SAP BC is based on webMethods B2B Integration Server product.6$3 %&  &RPSRQHQWV .21 02'8/(6  &25( 6(59.0 6$ 9% 3 6$3 & & C .0 :(% $8720$7.17(*5$7.0/ &217(17 ('.21  :(% $8720$7.21 +7 0 . © SAP AG BC635 D  .&(6 6(&85.21 . SAP and webMethods have a joint development team driving the integration with SAP‘s products. Additional packages for integration with other ERP systems are available from webMethods.$ 9$ 0  :(% $8720$7.

6$3 %&  %HQHILWV IRU 6$3 &XVWRPHUV .

7 DUFKLWHFWXUHV E © SAP AG 1999 w w w 5HGXFH F\FOH WLPHV DQG HOLPLQDWH VXSSO\FKDLQ LQHIILFLHQFLHV $XWRPDWLRQ RI %XVLQHVV 3URFHVVHV %XLOG WLJKWHU OLQNDJHV WR FXVWRPHUV SDUWQHUV VXSSOLHUV $GG UHDOWLPH LQWHJUDWLRQ 5HDFK QRQ('. SDUWQHUV ([WHQG WUDGLWLRQDO ('. LQIUDVWUXFWXUH E w w w w w w w /HYHUDJH SDUWQHU LQYHVWPHQW LQ ZHEEDVHG V\VWHPV 2SHQ SODWIRUP WR FRQQHFW WR QRQ5 SDUWQHUV 7KH SODWIRUP WKH :HE. 6HDPOHVV .QWHJUDWLRQ RI GLIIHUHQW .

QWHUQHW VHFXULW\ %XLOW LQ :HE6HUYHU (QDEOHPHQW RI 6$3 %XVLQHVV 3URFHVVHV RYHU WKH . LV DOUHDG\ LQ SODFH &RPSUHKHQVLYH .QWHUQHW E © SAP AG BC635 2-7 .

6$3 %&  %HQHILWV IRU 6$3 &XVWRPHUV  .

0/HQDEOLQJ RI 6$3 VROXWLRQV G w w w (DV\ WR XQGHUVWDQG GHSOR\ DQG FXVWRPL]H +LJKO\ IOH[LEOH OHQGV LWVHOI WR UHDOWLPH GDWD H[FKDQJHV EHWZHHQ EXVLQHVV SDUWQHUV )OH[LEOH DGDSWDWLRQ WR HYROYLQJ EXVLQHVV GRFXPHQW VWDQGDUGV . DQG $/( WHFKQRORJLHV 6XSSRUWV 5 UHOHDVHV IURP * XSZDUG 7LJKW LQWHJUDWLRQ ZLWK 6$3 5 DQG 1HZ 'LPHQVLRQ 3URGXFWV G w w © SAP AG 1999 © SAP AG BC635 2-8 .QWHJUDWHG ZLWK 6$3¶V %$3. F .

6$3 %&  $YDLODELOLW\ DQG 3ULFLQJ 6KLSSHG IUHH RI FKDUJH ZLWK DQ\ 5 DQG 1HZ 'LPHQVLRQ 3URGXFW UHDG\ IRU GRZQORDG IURP 6$3 6HUYLFH 0DUNHWSODFH KWWSVHUYLFHVDSFRPFRQQHFWRUV H G w w 3DUW RI 6HUYHU &RPSRQHQW &' VLQFH P\6$3   EXLOG 9HUVLRQ ZLWK VWURQJ HQFU\SWLRQ FDQ RQO\ EH GLVWULEXWHG DIWHU WKH H[SRUW OLFHQVH KDV EHHQ JUDQWHG G *HQHUDOO\ DYDLODEOH VLQFH 2FWREHU  G w w &XVWRPHUV PXVW FRQWDFW WKHLU 6$3 $FFRXQW 0DQDJHU +DQG LQ KDQG ZLWK ZHE0HWKRGV UHOHDVHV © SAP AG 1999 © SAP AG BC635 2-9 .

7KH 5ROH RI WKH 6HUYHU .

The SAP BC Server hosts packages that contain services decodes incoming client requests and encodes outbound responses provides administrative features to manage functions maintains audit-trail logs promotes throughput via caching provides security features é Restricts access via a security infrastructure é Verifies that clients are authorized to execute services n processes requests for the server in parallel © SAP AG BC635 2-10 . l 7KH 6$3 %XVLQHVV &RQQHFWRU 6HUYHU l  KRVWV SDFNDJHV WKDW FRQWDLQ VHUYLFHV l  GHFRGHV LQFRPLQJ FOLHQW UHTXHVWV DQG HQFRGHV RXWERXQG UHVSRQVHV l  SURYLGHV DGPLQLVWUDWLYH IHDWXUHV WR PDQDJH IXQFWLRQV l  PDLQWDLQV DXGLWWUDLO ORJV l  SURPRWHV WKURXJKSXW YLD FDFKLQJ n n n n n n n n The SAP Business Connector Server hosts all functionality to organize. maintain and run your Business Scenarios.

7KH 5ROH RI WKH 6HUYHU .

l 7KH 6$3 %XVLQHVV &RQQHFWRU 6HUYHU l  SURYLGHV VHFXULW\ IHDWXUHV 5HVWULFWV DFFHVV YLD D VHFXULW\ LQIUDVWUXFWXUH G n n 9HULILHV WKDW FOLHQWV DUH DXWKRUL]HG WR H[HFXWH VHUYLFHV G l  SURYLGHV KLJK DYDLODEOH FRPPXQLFDWLRQ FOXVWHULQJ.

verifies that clients are authorized to execute services é processes requests for the server in parallel © SAP AG BC635 2-11 . l  SURFHVVHV UHTXHVWV IRU WKH VHUYHU LQ SDUDOOHO © SAP AG 1999 The SAP Business Connector Server hosts all functionality to organize. maintain and run your Business Scenarios. The SAP BC Server: é hosts packages that contain services é decodes incoming client requests and encodes outbound responses é provides administrative features to manage functions é maintains audit-trail logs é promotes throughput via caching é provides security features .restricts access via a security infrastructure .

use the “Statistics” task on the navigation bar. and adjust the server’s performance features. examine log information. For example.6$3 %& $GPLQLVWUDWLRQ 6$3 %XVLQHVV &RQQHFWRU 6WDWLVWLFV 6HWWLQJV 6HUYLFHV 6$3 6HUYHUV 1DPH I $SSOLFDWLRQ VHUYHU LZGI   I  0DSV 0  7 B  6KXWGRZQ $ERXW 5RXWLQJ $GG 6HUYHU 6$3 6$3 6HUYHUV © SAP AG 1999 n The “Server Administrator” is the utility you use to accomplish administrative tasks. you can view active sessions. You will also use the server to: é Configure data sources such as SAP systems é Create services to invoke BAPIs é Maintain routing rules to distribute messages among your business partners é Shut down the server é Set cache rules é Schedule services é Install and publish new packages n n n © SAP AG BC635 2-12 . You use it to monitor server activity. The Server Administrator also provides a view with sliding window statistics on all SAP BC services. enable/disable services. To do so. before restarting the server. add users. and enables configuration for SMTP based notification when individual SAP BC services fail.

© SAP AG BC635 2-13 . and code-harnesses for server side Integration Modules. The code generated for integration modules provides a “ stub” class suitable for registering new SAP BC services with the SAP BC.7KH 6$3 %& 'HYHORSHU © SAP AG 1999 n n The SAP BC Developer The SAP BC Developer is an environment for creating and testing SAP BC services. it is also used for accessing SAP BC services.

DYD 'HYHORSPHQW . also 1.0/ EURZVLQJ .QWHUQHW ([SORUHU  UHTXLUHG IRU . $6 +38.6\VWHP 5HTXLUHPHQWV IRU 6$3 %& l 2SHUDWLQJ 6\VWHP E n l +DUGZDUH UHFRPPHQGDWLRQV   0% PLQLPXP I P E 'LVN VSDFH I E E E   0% UHFRPPHQGHG  0% PLQLPXP   0% UHFRPPHQGHG © SAP AG 1999 SAP BC is JAVA é It can run everywhere with JDK between 1. 6RODULV E JHQHUDO DYDLODELOLW\ IRU :LQGRZV 17  :LQGRZV   DQG /.LW .18.8.2 é The only platform dependent part is librfc é SAP BC 3.'.5 supports Windows NT. I l 6RIWZDUH 6$3 %XVLQHVV &RQQHFWRU 6HUYHU DQG 'HYHORSHU . Windows 2000 and Linux é Support for other SAP supported platforms on demand © SAP AG BC635 P I 3K\VLFDO PHPRU\ I E E E FRQWUROOHG DYDLODELOLW\ IRU $.1..1.6 and 1.QWHUQHW %URZVHU E w 0LFURVRIW .

 WR  DQG  E 2-14 .

0 releases are handled transparently n n As the interfaces are looked up dynamically maintenance for different releases is minimal If extra handling between incompatible interfaces or differently customized fields is necessary it can be plugged into the flow as a mapping service © SAP AG BC635  2-15  6$3  %  6$3  % .0 and 4.5HOHDVH LQGHSHQGHQFH 6$3  * 6$3  *  6$3  % .QWHUQHW 6$3 %& 6$3 %&  6$3  %  © SAP AG 1999 n SAP BC supports all R/3 kernel releases down to 3.1G é The entire installed base can leverage SAP BC é SAP systems with different releases can be connected seamlessly é ALE: different send modes from 3.

'.QVWDOO 6$3 %& 'HYHORSHU l .x or 1.2 é Run installation file é add bin-subdirectory (e..g. [   Q 2-16 .1.QVWDOODWLRQ 3URFHVV l .QVWDOO . java executable from JDK) © SAP AG BC635 R l .QVWDOO 6$3 %& 6HUYHU © SAP AG 1999 n Install JDK 1.g. C:\jdk\bin) to your path variable (Control Panel / System / Environment) é Only needed if you want to develop your own JAVA services and you need support for special characters n Install SAP BC Developer é run installation file • Java InstallShield requires a JavaVM n Install SAP BC Server é run installation file • Java InstallShield requires a JavaVM (e.

0/+70/ © SAP AG 1999 © SAP AG BC635 2-17 ./LFHQVH $JUHHPHQW l /LFHQVH $JUHHPHQW LQ 6$31(7 E KWWSVHUYLFHVDSFRPFRQQHFWRUV l 7KH 6$3 %& OLFHQVH GRHV QRW FRYHU WKH IROORZLQJ XVDJH VFHQDULRV E LQWHUIDFLQJ QRQ6$3 V\VWHPV IRU FRPPXQLFDWLRQ RYHU LQWUD H[WUDQHWV DQG WKH LQWHUQHW E FRQYHUWLQJ GDWD EHWZHHQ QRQ6$3 V\VWHPV DQG .

h f p b h f e d b X XV U u b V sVV f  p X u b ‡  p ” “ f iriiqhcgc(cU ƒ` ‰W…q(2a€ya2Wue(‰Vh™W(((c drW€s X‰cb‚ƒvgfied™Tƒq– b u ` e V s uX ˜ — h f p b h h f e d b X X V U  u b  V s V V f  uX u b ‡  p ” crWi§c…2r§U ‰` ‰(…q(2ƒ€ƒ‰r§pq„(YVr•2q“rfr h f p b h f e d b X XV U u b V sVV f  p X u b §riiqhc‚crcU Y` ‰W‘qr2a€yYr2Wu„(‰Vrˆ‡ h f p b h h f e d b UX X V  b V s V §riW§c…2rc„ƒ` a(U‚qur€€yYVrf w (vt§rqbi§hig2cU a` YWU d u s h f p h f e d b X XV T x S † S ’ S S S E E © SAP AG 6WDUWLQJ WKH 6HUYHU l 6WDUWLQJ WKH 6$3 %& 6HUYHU RQ 17 © SAP AG 1999 GHIDXOW PRVW LPSRUWDQW RSWLRQV LQVWDOODWLRQ SDWK!?6HUYHU?ELQ?VHUYHUEDW ORJ QRQH w w w SRUW SRUW1XPEHU! VSHFLILHV SRUW IRU LQFRPLQJ +773 UHTXHVWV GHIDXOW .

GHEXJ OHYHO! LQGLFDWHV WKH OHYHO RI GHWDLO LQ WKH VHUYHU ORJ ORJ GHVWLQDWLRQ! VSHFLILHV QDPH IRU VHUYHU ORJ ILOH RU QRQH IRU VWDQGDUG RXWSXW VKHOO ZLQGRZ.

BC635 2-18 .

6WDUWLQJ WKH 6HUYHU $GPLQLVWUDWRU l /RJRQ WR WKH 6HUYHU $GPLQLVWUDWRU G n 6WDUW EURZVHU ZLWK KWWSORFDOKRVW E\ GHIDXOW RQO\ WKH XVHU $GPLQLVWUDWRU ZLWK LQLWLDO SDVVZRUG PDQDJH PD\ FDUU\ RXW DGPLQLVWUDWLRQ WDVNV G XVHU PXVW EH D PHPEHU RI JURXS $GPLQLVWUDWRUV WR JDLQ DFFHVV WR WKH 6HUYHU $GPLQLVWUDWRU G $GPLQLVWUDWRU PDQDJH © SAP AG 1999 Remember to change the password after logging in! © SAP AG BC635 2-19 .

/LFHQVH NH\ l l l 6$3 %& /LFHQVH ZLWKRXW H[WUD IHH IRU 6$3 &XVWRPHUV 9DOLG OLFHQVH NH\ QHHGHG WR UXQ 6$3 %& E Œ 6$3 6\VWHP ZLWK UHOHDVH * RU KLJKHU QHHGHG *HW WKH OLFHQVH NH\ IURP WKH 6$3 %& GRZQORDG SDJH LQ 6$31(7 KWWSVHUYLFHVDSFRPFRQQHFWRUV \RX KDYH WR HQWHU D YDOLG OLFHQVH NH\ RWKHUZLVH WKH VHUYHU ZLOO DXWRPDWLFDOO\ VKXWGRZQ  PLQXWHV DIWHU VWDUW © SAP AG 1999 © SAP AG BC635 2-20 .

7KH 6$3 %&  *HWWLQJ VWDUWHG 8QLW 6XPPDU\ l 'HVFULEH WKH 6$3 %XVLQHVV &RQQHFWRU <RX DUH QRZ DEOH WR l .QVWDOO DQG UXQ WKH 6$3 %XVLQHVV &RQQHFWRU © SAP AG 1999 © SAP AG BC635 2-21 .

QWHJUDWLRQ © SAP AG 1999 © SAP AG BC635 3-1 .6$3 %& $UFKLWHFWXUH &RQWHQWV l 6$3 %& $UFKLWHFWXUH l 6$3 %& &RPSRQHQWV l 6$3 %& /DGGHU RI .

6$3 %& $UFKLWHFWXUH 8QLW 2EMHFWLYHV $W WKH FRQFOXVLRQ RI WKLV XQLW \RX ZLOO EH DEOH WR l 'HVFULEH WKH EDVLF $UFKLWHFWXUH RI 6$3 %& l 'HVFULEH GLIIHUHQW %XVLQHVV 6FHQDULRV IRU 6$3 %& © SAP AG 1999 © SAP AG BC635 3-2 .

6$3 %& $UFKLWHFWXUH &RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG 6$3 %& $UFKLWHFWXUH .0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 3-3 .

6$3 %& $UFKLWHFWXUH %XVLQHVV 6FHQDULR l <RX DUH D PHPEHU RI SURMHFW WHDP l <RX PXVW GHWHUPLQH VFHQDULRV WKDW XVH WKH 6$3 %& © SAP AG 1999 © SAP AG BC635 3-4 .

QWHUQHW .6$3 %&  $UFKLWHFWXUH LQ 6$3 FRQWH[W .0/+70/ YLD +773 6.

 )73 6073 5HSUHVHQWDWLRQ9DOLGDWLRQ )ORZ 0DSSLQJ5RXWLQJ.

0DSSLQJ 5RXWLQJ.

6$3 © SAP AG 1999 n n SAP Services: Generic BAPI and IDoc service é Binary IDoc segments are resolved into single fields Synchronous and asynchronous communication é Transparent processing of RFC or tRFC calls Bi-directional communication é Inbound calls to R/3 and outbound calls to external servers RFC Format conversion é I/O in any of the formats RFC.'2& %$3. RPC (proprietary) é Customizing of representation via templates n n n n Build in support for SAP’s IDoc-. HTML. XML. 5IF &RGHU'HFRGHU 5)& W5)& . RFC-XML and BAPI-XML é Uses BizTalk or SOAP envelope © SAP AG BC635 3-5 .

No matter whether it isThe data coming into SAP BC is abstracted from the protocol and the format. SAP BC’s functionality is grouped in different packages. a service is usually a single unit of work. This allows for processing of the data with all the services which are delivered as part of SAP BC as the interface remains the same.6$3 %&  $UFKLWHFWXUH . The services themselves are again grouped into different interfaces. the so called Values Object. To invoke a service you need to know its name and the name of the interface it resides in. Package: you use packages to export and import your services interface: an interface contains services or other interfaces like a folder service: procedure that acts on data. No matter whether it is submitted as an SAP IDoc via RFC or as an XML document via HTTP it will be transformed to a canonical form. Packages are a logical unit for related functionality.QYRFDWLRQ (QJLQH % % % § 9 ©©§ ! ¥  § 9 ¦§ 9 ! ¥    " ¤ 8    !  7 1 ! ! 3 & 4¦446©) 5 %% % ¡¦ 4$§  2$¤   3 ¤ 1 ¥ 0 !  £¡ (¦ ) ¢ ¤ ¡  $©§  '$$§  ¡   &  ih h h R U (R U V w U HXxc U PsV ` y b Y xc PHGE I F F CDB@ A 3URWRFRO $EVWUDFWLRQ 6HFXULW\ 0HVVDJH $EVWUDFWLRQ &RQWH[W 0DQDJHU &DFKH (QJLQH 3D FN 6H UY LF HV   .Q W h ih h gfWR b b F ca S aeHPQ d c © SAP AG 1999 n The data coming into SAP BC is abstracted from the protocol and the format. services chained together make more complex applications n n © SAP AG BC635 % ¦% % 5 H5 ¡  9 § ©W¡ ©¤ ¡ 7 ¢  0 €$! 9 ¦4$ ¡ 7 # h h h I R F HV S £R I p Q p Q V ts"qrd V U S R Q WR PTI H'C )ORZ -DYD && &20 % ¦% % $¥ ©¦ # ¢ ¤ §  "!  ¦ §    § ¡ ©  © ©¦¦¤ £¡ §  §  ¨ § ¥ ¢ h h h p Q 'sc ` U Y tQ I Y vu u ` iF Tf b a H'BC ` Y X . You can easily extend the server by providing your own package which can be distributed and maintained separately.QWHUIDFHV 3-6 .QWHUQHW DJ HV DF HV HU I .

6$3 %&  &RPSRQHQWV )ORZ VHUYLFHV 3URWRFRO 0DQDJHU 6HFXULW\ 0DQDJHU &RQWHQW 0DQDJHU &RQWH[W 0DQDJHU &DFKH 0DQDJHU 7UDQVDFWLRQ 0DQDJHU 'DWDEDVH 0DQDJHU . © SAP AG BC635 3-7 .QWHJUDWLRQ 0RGXOHV © SAP AG 1999 n These components will be discussed in more detail on the following pages.

However. a flow service allows you to access multiple XML or HTML documents. and then return the consolidated result sets to the client. For example.” n n © SAP AG BC635 3-8 .)ORZ 6HUYLFHV )ORZ VHUYLFHV 5HSUHVHQW D VHTXHQFH RI VHUYLFHV WR EH SURFHVVHG l LQ D SUHGHILQHG RUGHU l DFFRUGLQJ WR FRQGLWLRQDO ORJLF © SAP AG 1999 n A SAP BC service represents a single. perform database queries and updates. With flow services. invoke function modules in an SAP system. there are often times when you want a set of services to be executed in sequence. new SAP BC services can be defined as a sequence of SAP BC services to be processed in a predefined order or according to a set of conditions. Sequenced flow services may also be referred to as “service chains. discrete function.

SAP RFC. FTP. SMTP.0/ PHVVDJLQJ © SAP AG 1999 n Protocol “listeners” accept incoming requests for SAP BC Services. etc.3URWRFRO 0DQDJHU 3URWRFRO 0DQDJHU l ³/LVWHQV´ WR DFFHSW LQFRPLQJ UHTXHVWV IRU 6$3 %& VHUYLFHV l 6$3 %& DUFKLWHFWXUH FDQ VXSSRUW PDQ\ VLPXOWDQHRXV SURWRFROV l 3ULPDU\ SURWRFRO LV +773+7736 YLD . which provides access to SAP BC Services via XML messaging. The SAP BC architecture is extensible to support any number of simultaneous protocols including HTTP. n © SAP AG BC635 3-9 . The primary protocol for a SAP BC is HTTP/HTTPS.

6HFXULW\ 0DQDJHU 6HFXULW\ 0DQDJHU l $XWKHQWLFDWLRQ   8VHU QDPHSDVVZRUG 'LJLWDO FHUWLILFDWH l $XWKRUL]DWLRQ l 'DWD 3ULYDF\   $FFHVV &RQWURO /LVWV 6HFXUH 6RFN HW /D\HU 66/.

A default ACL can be set on the SAP BC that applies to any SAP BC service that does not have an explicit ACL assigned to it. Each SAP BC service can have its own ACL. a SAP BC can authenticate itself to other clients or remote SAP BCs by use of its own digital certificate. This is the standard protocol for providing secure communications over the public Internet. Authorization . An ACL defines what users (or groups of users) are authorized – or denied – access to a SAP BC service or an Interface that includes a collection of SAP BC services. SSL libraries are embedded in the SAP BC and its associated Client libraries. In addition. n n © SAP AG BC635 3-10 . Authentication . or through the use of a digital certificate. SURWRFRO ‚ © SAP AG 1999 n n SAP BC provides comprehensive security features as a foundation for industrial strength business applications.Both inbound and outbound requests can be secured using the Secure Socket Layer protocol (SSL).Security policies can be enforced by the use of Access Control Lists (ACLs).All client connections to a SAP BC are authenticated by either a user ID and a password. Data Privacy .

&RQWHQW 0DQDJHU &RQWHQW 0DQDJHU l 'HFRGHV FOLHQW UHTXHVWV l (QFRGHV UHSOLHV  l 6XSSRUWHG FRQWHQW W\SHV WH[WKWPO WH[W[PO  DSSOLFDWLRQ[VDSUIF DSSOLFDWLRQ[VDSLGRF 85/ HQFRGLQJ © SAP AG 1999 n n n The content manager makes sure that incoming HTTP requests are decoded according to the HTTP content type. Requests of type application/x-sap.rfc are supposed to contain an SAP Function Module call. © SAP AG   ZHE0HWKRGV 53& ELQDU\ IRUPDW BC635 3-11 .idoc denote an SAP IDOC which is formatted according to the SAP IDOC XML specification. It is important that a client application sets the correct content type in order for SAP BC to process the request correctly. coded as an XML document in the HTTP body. HTTP calls with the content type application/x-sap.

Internally. This mechanism allows the server to process multiple. This means that the server does not generate a new “instance” of a service each time a client requests it.&RQWH[W 0DQDJHU &RQWH[W 0DQDJHU l 6$3 %& VHUYLFHV DUH PXOWLWKUHDGHG SURFHVVHV l &RQWH[W 0DQDJHU VWDUWV D QHZ WKUHDG IRU HDFK UHTXHVW LQVWHDG RI D QHZ LQVWDQFH l 0XOWLSOH FRQFXUUHQW UHTXHVWV DUH SURFHVVHG XVLQJ D VLQJOH FRS\ RI WKH VHUYLFH LQ PHPRU\ © SAP AG 1999 n Each service in the SAP BC is a multi-threaded process. the SAP BC uses a context manager to maintain information about the state of each request-in-process. concurrent requests using a single copy of the service in memory. but simply spawns a new thread for the service. n © SAP AG BC635 3-12 . A client’s context is cleared when the client’s session terminates or expires. This context manager enables clients to maintain a multi-transaction conversation with a SAP BC Server.

A service cache may also be configured to pre-fetch data at pre-determined intervals. you need to balance the need for up-to-date information with the performance gains achieved through caching. Cache expiration can be set for each individual service. Caching can be dynamically enabled or disabled on a service-by-service basis. which can greatly improve throughput when many clients are requesting the same service with identical inputs.&DFKH 0DQDJHU &DFKH 0DQDJHU l 0D\ EH G\QDPLFDOO\ HQDEOHG RU GLVDEOHG E\ VHUYLFH l 0D\ EH FRQILJXUHG WR SUHIHWFK GDWD l &DFKH H[SLUDWLRQ PD\ EH VHW E\ VHUYLFH l 8SWRGDWH LQIRUPDWLRQ YV SHUIRUPDQFH © SAP AG 1999 n As an application architect. © SAP AG BC635 3-13 . SAP BC services support result caching.

guaranteed store-and-forward capabilities over the Internet that have the following attributes: é Once a request is submitted. The TTL specifies the number of minutes that a transaction is to remain in the job store before expiring. whichever comes first. The retry limit specifies the maximum number of times that the Job Manager is to resubmit a request. secure.QWHUQHW l $Q\ VXEPLWWHG UHTXHVW ZLOO HLWKHU EH SURFHVVHG RQFH RU IDLO RXWULJKW l $OO IDLOXUHV DUH IXOO\ ORJJHG l 7LPHWROLYH WLPH LQ WKH MRE VWRUH EHIRUH H[SLULQJ l 5HWU\ OLPLW PD[LPXP QXPEHU RI VXEPLVVLRQ WULHV © SAP AG 1999 n SAP BC removes the need for clients generated with the SAP BC developer to address network and systems failures by providing persistent. n © SAP AG BC635 3-14 . or to fail outright. A transaction expires when the TTL or the retry limit (if specified) is reached. it is guaranteed to either be processed once and only once by the target SAP BC server. It continues to resubmit requests until it either receives a result or the transaction expires. irrespective of network or system failures. If the Job Manager does not receive a result for a transaction in its job store. é All failures are fully logged so that state may be recovered. A guaranteed delivery transaction has two attributes that determine how long it stays in the job store before it expires.7UDQVDFWLRQ 0DQDJHU 7UDQVDFWLRQ 0DQDJHU l 3URYLGHV SHUVLVWHQW VHFXUH JXDUDQWHHG VWRUHDQG IRUZDUG FDSDELOLWLHV RYHU WKH . n SAP BC includes a Job Manager that registers transactions in a local Job store and monitors the progress of each transaction. it resubmits that request to execute the service. These are the time-to-live (TTL) and the retry limit.

Normally the SAP system will repeat to send the Idoc several times until successful.*XDUDQWHHG 'HOLYHU\ LQ DQ 6$3 FRQWH[W l $OO FDOOV WR 6$3 %& DUH SURFHVVHG V\QFKURQRXVO\ ƒ l (UURUV DUH UHSRUWHG EDFN WR WKH LQLWLDWLQJ 6$3 V\VWHP l 6$3 %& UHOLHV RQ WKH $/( PHFKDQLVPV IRU UHVHQGLQJ © SAP AG 1999 n When the receiver of a message is not a SAP BC guaranteed delivery is not supported. Instead SAP BC will leverage the mechanisms which are provided by the SAP system. If for example an Idoc is submitted to SAP BC but it can not be delivered to a target URL a communication error will be reported back to the SAP system. This will trigger the regular ALE mechanisms for error handling. Garanteed Delivery is used by the transports: • B2B Service • mySAP Portal n © SAP AG BC635 3-15 .

The SAP BC Database Manager also provides a simplified API to JDBC drivers to make it easier to create SAP BC services that perform more complex database operations. they are immediately available in the SAP BC registry. © SAP AG BC635 3-16 . SAP BC services generated via this method do not require compilation. The SAP BC Database Manager provides automated generation of SAP BC services directly from SQL statements.'DWDEDVH 0DQDJHU 'DWDEDVH 0DQDJHU l 8VHV -'%& WR DFFHVV GDWDEDVHV l 3URYLGHV DXWRPDWHG JHQHUDWLRQ RI VHUYLFHV IURP 64/ VWDWHPHQWV l 6LPSOLILHG $3. WR -'%& GULYHUV IRU HDVLHU FUHDWLRQ RI FRPSOH[ RSHUDWLRQV © SAP AG 1999 n The SAP BC accesses databases using JDBC.

MSMQ. and other applications via XML messaging.V WR EH VHUYLFHV LQ 6$3 %& l 8VH . the SAP package).g.. easily and rapidly extended beyond corporate boundaries.QWHJUDWLRQ 0RGXOHV .QWHJUDWLRQ 0RGXOHV l $OORZ OHJDF\ $3. low-level APIs can be made accessible to browsers. Integration Modules enable ERP packages (e. You can use integration modules to extend the integration capability of the SAP BC to other resources not supported “out of the box”. CORBA. Developers can also choose to create their own integration modules from scratch using the SAP BC’ s APIs.and postprocessing of data passing through SAP BC services.) to be securely.V © SAP AG 1999 n Integration Modules are custom-developed services that run within a thread of the SAP BC process. SAP BC clients. Integration Modules allow legacy APIs to be exposed as services in the SAP BC registry. creating an integration module is easy. Previously complex. etc. C/C++. Integration modules also allow general pre. With the SAP BC. other integration modules. DCOM.0/ PHVVDJLQJ WR JLYH DFFHVV WR FRPSOH[ ORZ OHYHO $3. n n n © SAP AG BC635 3-17 . EDI and traditional middleware (MQ Series. or Visual Basic.V 7R FUHDWH LQWHJUDWLRQ PRGXOHV l 8VH WKH 'HYHORSHU VHUYHUVLGH FRGH KDUQHVV IRU -DYD && RU 9LVXDO %DVLF l &UHDWH \RXU RZQ XVLQJ H[LVWLQJ 6$3 %& $3. The SAP BC Developer generates a server-side code harness in Java.

QWHJUDWLRQ .6$3 %&  /DGGHU RI .

QWUDQHW 3-18 . © SAP AG BC635 ‘€—–G‡ … ” “ ’ ‘ ‰ €‡€•„ … . 5 ( : $ / / 6$3 6\VWHP %URZVHU $FFHVV WR %$3. Supporting B2C scenarios however it not the main focus of SAP BC. .V • Default HTML template is generated • Flexible in I/O format (XML/HTML/WML) © SAP AG 1999 n Every service on SAP BC is accessible via a unique URL reflecting the service’ s name.QWHUQHW ‘ … ” “ ’ ‘ GBex2G‡ ‰ ‡ ˆ…†„ :HE EURZVHU :HE EURZVHU ) . This is the domain of SAP’ s Internet Transaction Server (ITS). SAP BC supports rendering of the response in different formats by templates. Thus services which invoke BAPI’ s for instance can be easily called via a browser.

6$3 %&  /DGGHU RI .QWHJUDWLRQ .

5 ( : $ / / . You can make your service more robust by using regular expressions. You can aggregate information from different sites. process it and then send it back to your SAP system. The limitation of this technique lies in the dependency on the web page‘s structure.QWHUQHW +70/ +773 ) . WebTap “triggers” can intercept Web transactions and substitute local logic and/or pages for what would otherwise be performed by the third-party site. WebTap is a feature of the SAP BC that provides control of an end-user' browser s experience while allowing SAP BC services to intercept and modify data that passes through the SAP BC. Chaching allows you to keep tight control on system traffic. Instead of extracting this information by hand SAP BC offers a way to automate this process. n n n © SAP AG BC635 3-19 . :HE &RQWHQW 6HUYHU ) . If the page is changed your service might fail. WebTab The SAP BC can serve as a proxy between Browser clients and Web sites or Web-based applications. Once a WebAutomation service for a particular webpage has been established it can be executed automatically. 5 ( : $ / / 6$3 6\VWHP :HE$XWRPDWLRQ • Connect applications directly to partner HTML websites (catalogs) • No browser or manual intervention required • No work required on partner’s side © SAP AG 1999 n n WebAutomation A lot of business information today is available via web-based catalogs.

QWHJUDWLRQ .6$3 %&  /DGGHU RI .

5 ( : $ / / . © SAP AG BC635 3-20 .0/ • Partners agree on XML formats for business documents • Minimal change management required • Investment is in open XML standard. not proprietary technology © SAP AG 1999 n XML offers various advantageous over HTML: é Document validation é Type checking (with XML schemas) é It is more rubust against changes n Many WebServers will evolve from mere HTML servers to XML servers and eventually XML applications. 5 ( : $ / / 6$3 6\VWHP 7LJKWHU DQG PRUH IOH[LEOH LQWHJUDWLRQ EDVHG RQ . :HE $SSOLF DWLRQV ) .0/ +773 ) .QWHUQHW .

9.QWHJUDWLRQ .6$3 %&  /DGGHU RI .

5 ( : $ / / 6$3 6\VWHP .QWHUQHW .0/ +773 ) . ) . 5 ( : $ / / .QWHJUDWLRQ ZLWK 1RQ6$3 6\VWHPV DSSOLFDWLRQ WR DSSOLFDWLRQ.

) © SAP AG 1999 n A company will most likely have business links to SAP as well as to non-SAP customers. SAP BC supports mapping of structured data from one format to another with a graphical tool. BizTalk. To understand the semantics of the business documents is the biggest challenge. FpML. . SAP BC offers an open interface for everyone to integrate with SAP products. n © SAP AG BC635 3-21 . • Real.. OAG. . cXML. As it is easy and inexpensive to process and render XML documents the entry level for non-SAP applications to integrate with SAP has become very low.time bi-directional data exchange • Open SAP-XML standard • Support of other standards (RosettaNet.

QWHJUDWLRQ 9.6$3 %&  /DGGHU RI .

To understand the semantics of the business documents is the biggest challenge.QWHUQHW • Cross firewalls • Between different Releases and Modules © SAP AG 1999 n A company will most likely have business links to SAP as well as to non-SAP customers.QWHUQHW w … Tv6” mr u t s —lr t s —mr h h g ˆ@ Dfe g e h U "Q U ` UE V n 'c S Q I @ g mel£g ti k j U S ` "xF HQ d P™ h ˜ ) . As it is easy and inexpensive to process and render XML documents the entry level for non-SAP applications to integrate with SAP has become very low. 5 ( : $ / / . 5 ( : $ / / 3-22 . SAP BC offers an open interface for everyone to integrate with SAP products. (DV\ 6$3 WR 6$3 FRQQHFWLRQ RYHU WKH . n © SAP AG w…Tv6” lr u +5 BC635 h h g ˆ@ mqe g e h U iQ U ` E U V glD(g ti e k j A p h o w … v xT6” texr s u xr ) . SAP BC supports mapping of structured data from one format to another with a graphical tool.

6$3 %&  'HSOR\PHQW LQ 0DUN HWSODFH VFHQDULRV y 0DUN HW6HW 0DUN HW6HW | { Š‰z .QWHUQHW 7HFKQRORJ\ | { Š‰z 6$3 6\VWHP 1RQ 6$3 1RQ 6$3 6\VWHPV 6\VWHPV Communication Platform for the Marketplace l Enabling SAP and non SAP customers to talk to the MarketSet l Special partner license for B2B partners (MarketConnect) © SAP AG 1999 n Details will be described in Chapter 8 © SAP AG ƒ † $…©‡ ©i~ P  † … „ ˆˆ ‚s €'"~  | { }rz 1RQ 6$3 1RQ 6$3 6\VWHPV 6\VWHPV BC635 3-23 .

6$3 %& $UFKLWHFWXUH 8QLW 6XPPDU\ l 'HVFULEH WKH EDVLF $UFKLWHFWXUH RI 6$3 %& <RX DUH QRZ DEOH WR l 'HVFULEH WKH GLIIHUHQW %XVLQHVV 6FHQDULRV IRU 6$3 %& © SAP AG 1999 © SAP AG BC635 3-24 .

QWHJUDWLRQ RI 6$3 %& WR %% VFHQDULRV At the conclusion of this exercise.([HUFLVHV 8QLW 6$3 %& $UFKLWHFWXUH 7RSLF . you will be able to: • Explain the main scenarios for the SAP BC Please check the following statements describing the ways to integrate the Business Connector in your B2B scenario and mark the true ones: 1 Browser Access to BAPIs A) BAPIs can only be accessed by web browsers B) BAPIs available as Services can be invoked via a browser. C) BAPIs have access to any web site on the net D) Applications don’ t need to understand SAP RFCs or internal structures 2 WebAutomation A) Automates extraction of content from different web sites B) Web sites can automatically have access to data of a SAP system C) Data exchange is bi-directional 3 Integration based on XML A) RFC protocol is used to exchange XML data between applications B) Business documents can be exchanged between Web Applications and SAP systems without mappings C) Communication Partners have to agree on XML formats of Business documents 4 Integration with Non-SAP systems A) Business Connector offers an open interface to integrate a SAP system in a B2B landscape B) Since XML is a open standard it offers a low entry-level for integration of NonSAP system C) Every Non-SAP system can be integrated out-of-the-box © SAP AG BC635 3-25 .

5 SAP-to-SAP connection via Internet A) Extend existing SAP ALE scenarios over the Internet B) You need to break down your SAP system in logical components to use SAP Business Connectors C) Connections via Business connector are release and module-independent © SAP AG BC635 3-26 .

6ROXWLRQ Solution: 1:BD. 5:AC © SAP AG BC635 3-27 . 4:AB. 3:C. 2:A.

0/" l 3RVLWLRQLQJ RI . © SAP AG BC635 4-1 .0/ LQ WKH 6$3 FRQWH[W l :KDW GRHV LW ORRN OLNH © SAP AG 1999 n In this unit you will learn about the document exchange format in current and future internet scenarios: XML..0/ %DVLFV &RQWHQWV l :KDW LV .

0/ ZLWKLQ WKH .0/ l 3RVLWLRQ ..QWHUQHW ODQGVFDSH © SAP AG 1999 © SAP AG BC635 4-2 .0/ %DVLFV 8QLW 2EMHFWLYHV $W WKH FRQFOXVLRQ RI WKLV XQLW \RX ZLOO EH DEOH WR l 'HVFULEH WKH EDVLFV RI .

.0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 n Starting unit 2: XML Basics © SAP AG BC635 4-3 .0/ %DVLFV &RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG 6$3 %& $UFKLWHFWXUH .

0/ © SAP AG 1999 © SAP AG BC635 4-4 ..0/ %DVLF %XVLQHVV 6FHQDULR l $V D PHPEHU RI WKH SURMHFW WHDP GHDOLQJ ZLWK LQWHJUDWLRQ VFHQDULRV \RX VKRXOG EH IDPLOLDU ZLWK LQWHUQHW IRUPDWV OLNH +70/ DQG .

Later the sites were extended to dynamic HTML pages by using databases. NES. But still... © SAP AG 1999 n n Man/Machine communication: Overview In early internet scenarios there were only man-machine communications.. ITS. non-SAP system. ... In the early WWW days the main part of the sites consisted of static HTML pages stored on web servers. ASP.. SAP System. with which it was possible to easily create online stores. Apache. all the communication was interactive and triggered by humans. © SAP AG BC635 4-5 .0DQ  0DFKLQH FRPPXQLFDWLRQ 2YHUYLHZ Web Browser Internet Web Server Web Gateway Business System DB HTML HTTP(S) IIS. SAP BC . SAP BC .

© SAP AG BC635 4-6 .0DQ  0DFKLQH &RPPXQLFDWLRQ ([DPSOH © SAP AG 1999 n n Man/Machine communication: Example This is an example of an order status how someone could get it from an online bookstore. as it looks exactly like a printed order status. In internet scenarios such pages are described in HTML. For a human this is easy to understand.

0DUNXS /DQJXDJHV $ PDUNXS ODQJXDJH LV D PHFKDQLVP WR LGHQWLI\ VWUXFWXUHV LQ D GRFXPHQW HJ 6*0/ +70/ .0/.

+70/ +\SHU 7H[W 0DUNXS /DQJXDJH.

LV D YHU\ VXFFHVVIXO PDUNXS ODQJXDJH XVHV D VHW RI GHILQHG WDJV ZLWK IL[HG VHPDQWLFV   SURYLGHV VHSDUDWLRQ RI SUHVHQWDWLRQ DQG GDWD QR ZD\ WR LGHQWLI\ GLIIHUHQW NLQG RI GDWD.

  © SAP AG 1999 n n Markup languages Markup languages are used for describing documents. HTML is a pure page description language. that the data and its presentation are separated. what can be recognized when your viewing the same page with different browsers. n n © SAP AG BC635 4-7 . The first and most powerful language of this kind was SGML(Standard Generalized Mark-up Language). on which all follow up languages are based. That shows. A browser interprets the HTML description. but is not extensible. As HTML only describes the structure of a document and not the data in the document there is no way to identify different kinds of data without semantic relations on a higher level. It’s success allowed the success of the WWW. It has a limited set of predefined tags with fixed semantics. The most successful language is HTML.

. 1 copy. 4711:IRQW! EU! RO! OL!T. What do you care.50 USD ea. 9. The Soul of a New Machine.95 USD ea. © SAP AG BC635 4-8 . 1 copy. OL!R.Shurkin. 14. Engines of the Mind..Kidder.0DQ  0DFKLQH FRPPXQLFDWLRQ +70/ 7DJV Example KWPO! KHDG! Markup WLWOH!Order StatusWLWOH! KHDG! ERG\! K!Order StatusK! S!IRQW VL]H !Your Order No. 2 copies. OL!J.95 USD ea.Feynman. RO! S!Status: <em>Confirmed</em> S!Delivery Date: 08/15/1999 ERG\! KWPO! © SAP AG 1999 n n HTML Tags This is how the order status document would look in HTML.. 12.

1 copy. RO! S!Status: <em>Confirmed</em> S!Delivery Date: 08/15/1999 ERG\! KWPO! © SAP AG 1999 n n Non-generalized tags You have the ability to specialize tags with attributes like it is done in the example with the font tag. What do you care. 1 copy.50 USD ea.95 USD ea... 9.Feynman. OL!R. 14. 4711:IRQW! EU! RO! OL!T.Kidder. OL!J.Shurkin. © SAP AG BC635 4-9 . 2 copies.. The Soul of a New Machine. Engines of the Mind.95 USD ea.0DQ  0DFKLQH FRPPXQLFDWLRQ 1RQ JHQHUDOL]HG WDJV Example KWPO! KHDG! WLWOH!Order StatusWLWOH! Generalized Markup KHDG! Non-generalized ERG\! Markup K!Order StatusK! S!IRQW VL]H !Your Order No. 12.

95 USD ea. 9. © SAP AG BC635 4-10 .50 USD ea.Kidder. 12. RO! S!Status: <em>Confirmed</em> S!Delivery Date: 08/15/1999 ERG\! KWPO! © SAP AG 1999 n n Element definition In general an HTML element consists of three parts: é begin tag é content which can again contain an element or text é end tag. 1 copy. 14.. 4711:IRQW! EU! RO! OL!T..0DQ  0DFKLQH FRPPXQLFDWLRQ (OHPHQW 'HILQLWLRQ Example Element KWPO! begin tag KHDG! WLWOH!Order StatusWLWOH! content end tag KHDG! ERG\! K!Order StatusK! S!IRQW VL]H !Your Order No.95 USD ea. 2 copies. OL!J.Feynman.Shurkin. which is the begin tag with a / inserted at the beginning of the name é This structure allows you to create hierarchical documents. 1 copy. Engines of the Mind. What do you care. OL!R. The Soul of a New Machine..

50 USD ea.0DQ  0DFKLQH FRPPXQLFDWLRQ 6SHFLDO HOHPHQWV Example KWPO! KHDG! WLWOH!Order StatusWLWOH! KHDG! ERG\! K!Order StatusK! S!IRQW VL]H !Your Order No.Shurkin.. OL!R. 12. <HR> é elements for which the end tag can be omitted: <LI>. 4711:IRQW! empty element tag EU! RO! OL!T.g. The Soul of a New Machine.95 USD ea. 14. <BR>.Feynman. 1 copy. 2 copies. <P> © SAP AG BC635 4-11 .. What do you care. 1 copy. 9.95 USD ea. RO! S!Status: <em>Confirmed</em> S!Delivery Date: 08/15/1999 end-tag omission ERG\! (minimized markup) KWPO! © SAP AG 1999 n n Special elements There are special elements in HTML: é empty elements e. Engines of the Mind..Kidder. OL!J.

e. In an HTML document it’s not absolutely clear where and what kind of data is found. descriptive concerning the data itself. cannot understand as easily an HTML document as a human can do that. i. Therefore there is a need for descriptive language. which is requesting data from a server.0DFKLQH  0DFKLQH FRPPXQLFDWLRQ 2YHUYLHZ Internet © SAP AG 1999 n n Machine/Machine communication: Overview In machine-machine communication. communication without interaction by humans we have more restrictions: The agent. Business System Web Server Web Gateway Business System DB BC635 4-12 . © SAP AG ¤ £ ¢ ¡ ¡ Agent.

WHQVLEOH 0DUNXS /DQJXDJH l .WHQVLEOH 0DUNXS /DQJXDJH.0/ WKH H.0/ H..

0/ LV D PHWDODQJXDJH IRU GHVFULELQJ PDUNXS ODQJXDJHV l . that provides separation of data and semantics. the eXtensible Markup Language XML is a markup language.0/ YRFDEXODULHV DUH XQGHU GHYHORSPHQW ¥ © SAP AG 1999 n n n XML. XML neither has a limited set of tags nor does it specify the semantics of those tags.QWHUIDFH 6SHFLILFDWLRQV 2$*. LV D PDUNXS ODQJXDJH IRU GRFXPHQWV FRQWDLQLQJ VWUXFWXUHG LQIRUPDWLRQ l . It’s also a meta-language for describing other markup languages.0/ ZDV GHVLJQHG WR SURFHVV EXVLQHVV GDWD IURP WKH . Therefore there are several ongoing developments for specific XML dialects: OAGIS: Open Application Group Interface Specifications RosettaNet’s Partner Interface Processes (PIPs)Framework cXML: Ariba’s Commerce XML Business partners just have to agree on a standard or simply define their own XML dialect.6. In contrast to HTML. n n n n © SAP AG ¥ ¥ ¥ LQGHSHQGHQW RI WHFKQRORJ\ SODWIRUP DSSOLFDWLRQ DQG V\VWHP 2SHQ $SSOLFDWLRQ *URXS .QWHUQHW DV HDVLO\ DV +70/ l . platform. application and system. especially certain data types.0/ VSHFLILHV QHLWKHU VHPDQWLFV QRU D WDJ VHW ¥ SURYLGHV VHSDUDWLRQ RI GDWD DQG VHPDQWLFV l 6SHFLILF . but enables you to describe documents containing structured information. It was designed to process business data. and is independent of technology.

0/. $ULED¶V &RPPHUFH .0/ F.

QWHUIDFH 3URFHVVHV 3. 5RVHWWD1HW¶V 3DUWQHU .3V.

)UDPHZRUN BC635 4-13 .

0DFKLQH  0DFKLQH FRPPXQLFDWLRQ ;0/ 0DUNXS
Example RUGHU6WDWXV! RUGHU1R!4711RUGHU1R! LWHPV! LWHP! LVEQ!0-679-74704-4LVEQ! DXWKRU!T.KidderDXWKRU! WLWOH!The Soul of a New MachineWLWOH! XQLWV!1XQLWV! SULFH FXUUHQF\ ³86'´!12.95SULFH! LWHP! LWHP! ... LWHP! ... LWHPV! VWDWXV!FRQILUPHGVWDWXV! GHO'DWH IRUPDW ³PPGG\\\\´!08/15/1999GHO'DWH! RUGHU6WDWXV!
© SAP AG 1999

n n n

XML Markup example This could be an XML representation of the order status document. In this document the data can be easily extracted by machine agents as the tags are specifying the type of the content. Note, that XML documents can NOT be viewed in a web browser like it is shown on the slide without specifying an XSL mapping to HTML on the Browser’ s side.

© SAP AG

BC635

4-14

0DFKLQH  0DFKLQH FRPPXQLFDWLRQ 6HPDQWLFV

semantics

Agent, Business System
syntax

Business System

DB

API parser renderer

API parser renderer

communication protocol

;0/

© SAP AG 1999

n n

Machine/Machine communication: Semantics This is a complete example of an XML document exchange scenario: é the business partners agreed on the semantics; they chose an XML dialect é they have on both ends XML parsers and renderers é they agreed on a communication protocol, e.g. HTTP, FTP

© SAP AG

BC635

4-15

;0/ )HDWXUHV

l ;0/ LV D PDUNXS ODQJXDJH WKDW LV
VLPSOH
 

KXPDQUHDGDEOH
   

YHQGRU LQGHSHQGHQW  VWDQGDUGL]HG XVHU H[WHQVLEOH
   

DOORZV IRU FRPSOH[ VWUXFWXUHV DOORZV IRU YDOLGDWLRQ
 

l ;0/ FDQ EH XVHG RQ WKH :HE VLPLODU WR +70/ VLQFH
LW VXSSRUWV OLQNLQJ RI GRFXPHQWV
 

LW VXSSRUWV SUHVHQWDWLRQ E\ XVLQJ VW\OH VKHHWV
 

n n n n n n n n n

XML features XML was designed to have certain properties, which were the ones that follow here: simple human-readable vendor independent / standardized user extensible allows for complex structures allows for validation Other properties allow XML being used on the web similar to HTML since it supports linking of documents and presentation by using style sheets.

© SAP AG

BC635

4-16

$SSOLFDWLRQ ([DPSOHV

l ;0/ GHDOV ZLWK GRFXPHQWV DQG GDWD
LQGXVWU\VSHFLILF PDUNXS
   

l ;0/ LV WKHUHIRUH LGHDOO\ DSSOLFDEOH IRU
YHQGRUQHXWUDO GDWD H[FKDQJH HJ 5RVHWWD1HW

 

PHGLDLQGHSHQGHQW SXEOLVKLQJ HJ RQOLQH KHOS DQG SULQWHG ERRNV

ZRUNIORZ PDQDJHPHQW     l EXW WKHUH DUH D ORW PRUH WKLQJV WR GR ZLWK .0/ SURFHVVLQJ RI :HE.

GRFXPHQWV E\ LQWHOOLJHQW FOLHQWV HJ VHDUFK HQJLQHV RU ZHE DSSOLFDWLRQV.

© SAP AG 1999 n n Application examples As XML deals with documents and data. © SAP AG BC635 4-17 . for media-independent publishing. it is ideally applicable for industry-specific markups. These are only some of all the possible applications. workflow management and processing of documents by intelligent clients. It can be used as a vendor-neutral data exchange format.

.0/ GRFXPHQWV   w w w .0/ 'RFXPHQWV l $Q .0/ GRFXPHQWV   "[PO YHUVLRQ  "! JUHHWLQJ!+HOOR :RUOG JUHHWLQJ! 9DOLG .0/ GRFXPHQW KDV WZR OHYHOV RI FRUUHFWQHVV :HOOIRUPHG .0/ V\QWD[ LV SURSHUO\ XVHG HOHPHQWV DUH SURSHUO\ QHVWHG WKH GRFXPHQW KDV H[DFWO\ RQH URRW HOHPHQW DUH LQ DFFRUGDQFH ZLWK WKH 'RFXPHQW 7\SH 'HILQLWLRQ '7'.

"[PO YHUVLRQ  "! "'2&7<3( JUHHWLQJ >  (/(0(17 JUHHWLQJ 3&'$7$.

n © SAP AG BC635 4-18 . This level of correctness is independent from any other definition and applies to any document. a document can not be tested for being valid. which can be either included in the document or referenced. If there is no DTD included or referenced. If a document is wellformed. Every valid XML document is also a well-formed document. It is further in accordance with a DTD (Document Type Definition). it is syntactically correct .! @! JUHHWLQJ!+HOOR :RUOG JUHHWLQJ! © SAP AG 1999 w w DUH ZHOOIRUPHG n n XML documents XML documents can have two levels of correctness: well-formed and valid.elements are properly nested. each begin tag as a corresponding end tag and the document has exactly one root element.

é text: That’ s everything. é processing instructions: Such instructions start with “<?” and end with “?>” and the action must be implemented by the parser. n Each element can contain an elements again. é comments: Can be included like in HTML.. with which you can describe complex data structures © SAP AG BC635 4-19 . Empty elements look like this “<isbn/>” é attributes: Like in HTML an element can be specialised by adding an attribute. hence it is possible to create hierarchies of logical objects.95SULFH! SURFHVVLQJ LQVWUXFWLRQV HQWLW\ UHIHUHQFHV   DEVWUDFW! H[FHUSWDEVWUDFW! l D WUHHKLHUDUFK\ RI ORJLFDO REMHFWV l FDQ WKHUHIRUH EH XVHG WR GHVFULEH FRPSOH[ GDWD VWUXFWXUHV © SAP AG 1999 n n Document content The logical structure allows use of following constructs: é elements: The basic component of an XML document. and look exactly the same. which is not again an element in between of the begin and end tag of one element.”construct.'RFXPHQW &RQWHQW l FRQVLVWV RI     HOHPHQWV WH[W DWWULEXWHV   LVEQ!0-679-74704-4LVEQ! FRPPHQWV     WLWOH!The Soul of a New MachineWLWOH! "DFWLRQ HFKR ³KHOOR ZRUOG´"!   todo: add excerpt here ! SULFH FXUUHQF\ ³86'´!12... é entity references: Is done by using the “&.

0/ 'RFXPHQW l 'RFXPHQW 7\SH 'HILQLWLRQ '7'.'HVFULELQJ WKH &RQWHQW RI DQ .

   GHILQHV WKH VWUXFWXUDO UXOHV VFKHPD.

RI PDUNXS E\ GHFODULQJ HOHPHQW W\SHV DQG HOHPHQW DWWULEXWHV VSHFLILHV WKH GDWD W\SH RI DWWULEXWHV RQO\ WR D OLPLWHG H[WHQG.

0/.     l .0/ 6FKHPD     LV ZULWWHQ LQ D GLIIHUHQW QRQ.

V\QWD[ IRUPDO JUDPPDU.

é supports standard and user-defined data types é offers an open/refinable model é schema documents are XML documents é is more powerful than DTDs © SAP AG   BC635 4-20 . é defines the structural rules (schema) of markup by declaring element types and element attributes é specifies the data type of attributes (only to a limited extend) é is written in a different (non-XML) syntax (formal grammar) n n XML Schema ... but XML schema is not yet finshed by the W3C consortium. VXSSRUWV VWDQGDUG DQG XVHUGHILQHG GDWD W\SHV RIIHUV DQ RSHQUHILQDEOH PRGHO VFKHPD GRFXPHQWV DUH .0/ GRFXPHQWV FLW\ PLQ2FFXU  PD[2FFXU ³ ! FRXQWU\ PLQ2FFXU  PD[2FFXU  ! HOHPHQW7\SH QDPH DUHD ! VHTXHQFH! HOHPHQW7\SH5HI QDPH HOHPHQW7\SH5HI QDPH VHTXHQFH! HOHPHQW7\SH! © SAP AG 1999 n n Describing the content of an XML document There are two possibilities for describing valid documents of a certain document type: DTDs (Document Type Definition) and XML Schema... A DTD . DTDs are already in use.

0/  'RFXPHQW 7\SH 'HILQLWLRQ ([DPSOH Example  '2&7<3( RUGHU6WDWXV >  (/(0(17 RUGHU6WDWXV RUGHU1R LWHPV  VWDWXV GHO'DWH..

!  (/(0(17 RUGHU1R 3&'$7$!  (/(0(17 LWHPV LWHP.

!  (/(0(17 LWHP LVEQ DXWKRU WLWOH XQLWV SULFH.

!   $77/.67 SULFH FXUUHQF\ 86'_'(0.

© SAP AG BC635 4-21 .0 Document Type Definition example. ³'(0´! @! © SAP AG 1999 n This slide shows an XML 1.

0/#6$3 'HYHORSPHQW l $OO EXVLQHVV LQWHUIDFHV %$3..V.

DUH DOVR DYDLODEOH LQ WKHLU UHVSHFWLYH .0/ YHUVLRQ l 6$3 %XVLQHVV &RQQHFWRU 6$3 %&.

V DQG .0/ UHSUHVHQWDWLRQ RI %$3. LV WKH XWLOLW\ WR FRQVWUXFW DQG LQWHUSUHW WKH .'RFV l 6$3 SDUWLFLSDWHV LQ VWDQGDUGL]DWLRQ ZRUN DURXQG WKH JOREH DQG LQ GLIIHUHQW VHFWRUV l 6$3 KDV VHWXS D SURMHFW WR LQYHVWLJDWH WKH QHFHVVLW\ DQG LPSDFW RI VHPDQWLF JXLGHOLQHV VWUXFWXUH RI PHVVDJHV QDPLQJ FRQYHQWLRQV .

© SAP AG BC635 4-22 .0/ © SAP AG 1999 n n Current status of XML@SAP development All business interfaces (BAPIs) are also available in their respective XML version. naming conventions. SAP participates in standardization work around the globe and in different sectors. Hence SAP has set-up a project to investigate the necessity and impact of semantic guidelines (structure of messages.1H. DQG VWDQGDUGV IRU ZHE LQWHUIDFHV WR JHW WKH EHVW EHQHILW IURP . which is the current version of RFC XML.. .. The SAP Business Connector is the utility to construct and interpret the XML representation of BAPIs and IDOCs down to version 3.) and standards for web interfaces to get best benefit from XML.

0/ 6$3 LV PHPEHU RI 2$* l :& l 2$* l [PORUJ l 20* l %L]7DON l 5RVHWWD1HW 3RUWDO RSHUDWHG E\ 2$6.QLWLDWLYH 6$3 LV SDUWQHU ZLWK VHDW LQ VWHHULQJ FRPPLWWHH (OHFWURQLF &RPSRQHQWV (&.0/ 0LFURVRIW .6 6$3 LV FRPPLWWHG VSRQVRU RI [PORUJ :RUNLQJ DOVR RQ &25%$ 6$3 LV PHPEHU RI 20* .6$3 2WKHU 2UJDQL]DWLRQV 6$3 LV DFWLYH LQ WKH $UFKLWHFWXUH 'RPDLQ 6$3 LV PHPEHU RI :& 5HGHILQLQJ %2' LQ .

7.QIRUPDWLRQ 7HFKQRORJ\ . DQG .

that are currently dealing with XML. LQGXVWULHV 6$3 LV DUFKLWHFW SDUWQHU l  DQG PDQ\ PRUH © SAP AG 1999 n SAP is a member of all important organizations. © SAP AG BC635 4-23 .

0/ ZLWKLQ WKH .0/ <RX DUH QRZ DEOH WR l 3RVLWLRQ ..QWHUQHW ODQGVFDSH © SAP AG 1999 © SAP AG BC635 4-24 .0/ %DVLFV 8QLW 6XPPDU\ l 'HVFULEH WKH EDVLFV RI .

and ISBN number is a required attribute.([HUFLVHV 8QLW . you have to agree which structure your documents will have and which elements occur. 1 Create an xml document of a purchase order (PO) in notepad and display the document in a browser. you will be able to: • Create a simple xml document To exchange data with your partners. and may include a description. 1-1-2 An order includes a ShippingAddress.e. © SAP AG BC635 4-25 . 1-1 Create a PurchaseOrders xml document with the following characteristics: 1-1-1 The document includes two PurchaseOrder.0/ GRFXPHQWV At the conclusion of this exercise. prices and/or dates mentioned in the description are tagged). and two or more LineItems. 1-1-3 Each line item includes a quantity.0/ 7RSLF . an ISBN number. 1-1-4 Quantity is an optional attribute with default value 1. A description combines text with price and/or date elements (i.

first published in <date>1924</date>.6ROXWLRQV 8QLW . 300 N Rocket Drive Chicago IL 50505 </ShippingAddress> <LineItem quantity="5" ISBN_number="1-46332-161-7"> <Description>The novel "Zauberberg". or just <price>$8.0/ GRFXPHQWV 1-1 The document may look like this: <?xml version="1. Kiddler is available for <price>$17</price>.</Description> </LineItem> </PurchaseOrder> <PurchaseOrder> <ShippingAddress> David Smith.0" encoding="UTF-8"?> <PurchaseOrders> <PurchaseOrder> <ShippingAddress> Gordon Smith.</Description> </LineItem> <LineItem quantity="10" ISBN_number="1-51733-265-4"/> </PurchaseOrder> </PurchaseOrders> © SAP AG BC635 4-26 .</Description> </LineItem> <LineItem quantity="1" ISBN_number="1-36562-265-2"> <Description>The novel "Steppenwolf" was written by Hermann Hesse.50</price>from our wholesaler. is available for <price>$24. 200 S Wacker Drive Chicago IL 60606 </ShippingAddress> <LineItem quantity="2" ISBN_number="1-56592-265-4"> <Description>The new book "Soul of a New Machine" by T.99</price> for the paperback version.0/ 7RSLF .

6$3 WR 6$3 &RPPXQLFDWLRQ &RQWHQWV l &RQILJXUH &OLHQW DFFHVV WR DQ 6$3 V\VWHP l $FFHVVLQJ 6$3 %& IURP ZLWKLQ DQ 6$3 V\VWHP l &RQILJXUH D FRQQHFWLRQ EHWZHHQ WZR 6$3 V\VWHPV YLD 6$3 %& © SAP AG 1999 © SAP AG BC635 5-1 .

6$3 WR 6$3 &RPPXQLFDWLRQ 8QLW 2EMHFWLYHV $W WKH FRQFOXVLRQ RI WKLV XQLW \RX ZLOO EH DEOH WR l &DOO DQ 6$3 V\VWHP YLD 6$3 %& l &DOO 6$3 %& IURP DQ 6$3 V\VWHP l &RQILJXUH D FRQQHFWLRQ EHWZHHQ WZR 6$3 V\VWHPV YLD 6$3 %& © SAP AG 1999 © SAP AG BC635 5-2 .

0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 5-3 .6$3 WR 6$3 &RPPXQLFDWLRQ &RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 7KH 6$3 %XVLQHVV &RQQHFWRU 6$3 %& $UFKLWHFWXUH .

6$3 WR 6$3 &RPPXQLFDWLRQ %XVLQHVV 6FHQDULR l $V D PHPEHU RI WKH SURMHFW WHDP \RX KDYH WR VHW XS D FRQQHFWLRQ EHWZHHQ WZR 6$3 V\VWHPV l <RX ZLOO FRQILJXUH WKH 6$3 %& VHUYHU DQG WKH 6$3 V\VWHP WR HQDEOH FRPPXQLFDWLRQ LQ ERWK GLUHFWLRQV © SAP AG 1999 © SAP AG BC635 5-4 .

6$3 WR 6$3 &RPPXQLFDWLRQ 2YHUYLHZ 6$3 WR 6$3 &RPPXQLFDWLRQ 2YHUYLHZ Calling and handling of BAPIs Routing and mapping of IDocs © SAP AG 1999 © SAP AG BC635 5-5 .

© SAP AG BC635 V ( A& £ TS# ¦¥ 3 R£  3 1 2 Q 6¤87H4# 2¤¡ RYX# 6 6 5 3 1 ! 0  ! V 3 1 3 9 ¥ 4" § WS# 2 # S§ ¤U 2 6¤87H4# 2¤¡ R`S9 6 6 5 3 1 ! @ HH¦¤¦C8¡B   G F © E D ¥ ¥ £ ¦P ¥ I I 6 6 6 ¦8754# ¤¡ !'%# 3 1 0 2 6 6 6 ¦8754# ¤¡ A9 3 1 ! @ 2   © ¤¨¦¤¢   © § ¥ £ ¡ ( & )'$%¦" # ! 5-6 . These calls may for instance originate from a browser.0/+70/ 5)& &OLHQW 5)& 5)& 6HUYHU © SAP AG 1999 n SAP BC plays two roles: é It acts as an RFC-Client for calls to an SAP system.%LGLUHFWLRQDO FRPPXQLFDWLRQ . another SAP BC or a CSP product.QWHUQHW . Thus it makes information and services of the Internet available for applications inside SAP systems. é It acts as an RFC-Server for outbound calls from an SAP System.

The communication between SAP BC and an SAP system itself is always synchronous.6\QFKURQRXV DQG DV\QFKURQRXV PRGH V\QFKURQRXV FRPPXQLFDWLRQ ZLWK 6$3 V\VWHPV YLD 5)& 6$3 %& IXOO\ VXSSRUWV DV\QFKURQRXV FRPPXQLFDWLRQ ZLWK 6$3 V\VWHPV YLD W5)& © SAP AG 1999 n n n n SAP BC switches between RFC and tRFC calls transparently. tRFC events are mapped to SAP BC events for communication with external programs. That means that an outgoing tRFC call from an SAP system is processed immediately in SAP BC. © SAP AG BC635 5-7 . For the user this means that he or she does not have to configure different listeners or clients for the different operational modes. The event model of tRFC is fully supported for communication with SAP systems.

For IDocs an additional lookup is made to interpret the BLOB containing the IDoc content. © SAP AG BC635 5-8 . The fields contained in the IDoc segments are resolved and can be accessed separately. BAPIs are treated as any other RFC-enabled Function Modules.'RF PHVVDJH W\SHV © SAP AG 1999 n n n n n n Only a minimum set of function interfaces are hard-coded into SAP BC. The Meta-Information stored in the Business Object Repository are not used. The description is then cached for later use.*HQHULF . These are necessary to make DDIC lookups for the structures and parameters used by function modules. If the interface of a Function Module changes during the runtime of SAP BC you can invalidate the cache selectively.QWHUIDFH 8VXDOO\ D FHUWLILHG 5)& FOLHQW LV KDUG FRGHG DJDLQVW FHUWDLQ IXQFWLRQ LQWHUIDFHV 6$3 %& FDQ LQYRNH DQ\ 5)& HQDEOHG IXQFWLRQ PRGXOH 6$3 %& VXSSRUWV DOO LQWHUIDFHV JHQHULFDOO\ 6$3 %& FDQ EH FDOOHG E\ DQ\ IXQFWLRQ PRGXOH 6$3 %& VXSSRUWV DOO . To interpret an RFC call to SAP BC the interface description is looked up from the SAP DDIC on the first call.

6 ZRUNV IRU DOO 6$3 FRGH SDJHV ZKLFK DUH .0/ XVHV 87) DV VWDQGDUG HQFRGLQJ 1R LQIRUPDWLRQ LV ORVW a 5HFHLYHU FDQ PDS EDFN DOO FKDUDFWHUV WR ORFDO &3 a © SAP AG 1999 n JAVA uses a UNICODE representation of characters é SAP data is converted to UNICODE .works for all SAP code pages which are ISO compliant.&RGH 3DJH LQGHSHQGHQFH l -$9$ XVHV D 81. all ISO-Latin CPs and SJIS .&2'( UHSUHVHQWDWLRQ RI FKDUDFWHUV 6$3 GDWD LV FRQYHUWHG WR 81. e.62 .62/DWLQ &3V DQG 6-.works for main languages even if SAP CP is non-ISO n XML uses UTF-8 as standard encoding é No information is lost é Receiver can map back all characters to local CP © SAP AG BC635 5-9 .62 FRPSOLDQW HJ ZRUNV IRU PDLQ ODQJXDJHV HYHQ LI 6$3 &3 LV QRQ.&2'( a w w l DOO .g.

'RFV © SAP AG 1999 © SAP AG BC635 5-10 .V 6$3 %& DV 5)& FOLHQW 6$3 %& DV D URXWHU IRU 6$3 V\VWHPV '\QDPLF URXWLQJ 5RXWLQJ DQG PDSSLQJ RI .6$3 %& DV 5)& FOLHQW 2YHUYLHZ 2YHUYLHZ &DOOLQJ DQG KDQGOLQJ RI %$3.

&RQILJXULQJ 6$3 %& DV DQ 5)& FOLHQW 6$3 %XVLQHVV &RQQHFWRU 6\VWHP 1DPH 7B %&  LZGI 8VHU &OLHQW /RJLQ GHIDXOWV 6$3 URXWHU VWULQJ 3DVVZRUG /DQJXDJH 6\VWHP QXPEHU (1  6HUYHU ORJRQ $SSOLFDWLRQ VHUYHU 6$3 6DYH 6$3 6HUYHUV &DQFHO © SAP AG 1999 n The name for the System can be chosen freely as long as it is not yet used. The only way to force a shutdown of all RFC connections is to shut down SAP BC or to wait until the sessions are expired. Once a connection is established it is put into the RFC connection pool and can not be removed from it manually. If you change some of the settings (except for the key parameters of the session pool) you may well be assigned to a connection from the pool with the old settings. You could for instance configure several different SAP Servers for the same SAP system which use different users or a different log on language. n n © SAP AG BC635 5-11 . After creating a new SAP system entry you should test the connection.

Session pooling optimizes performance and memory consumption An RFC log on to R/3 takes about 200ms. for the second you should not lock too many resources in the SAP systems. SAP BC keeps connections for a given user and SAP system in a pool.7KH 5)& VHVVLRQ SRRO 2-5 MB 6$3 5)& 5)& /RJRQ !  PV 5)& 5)& 5)& 5)& 5)& VHVVLRQ SRRO © SAP AG 1999 n The session time out is a compromise between minimal log on time and resource consumption: for the first it is advantageous to reuse established RFC connections.. an RFC session holds an average user context of 2-5 MB. n n n © SAP AG BC635 5-12 . If another call with the same log on parameters comes in it is assigned to an unused RFC connection Connections are removed from the pool after they have been idle form 5 minutes.

g.B*(7/. 6$3 /RRNXS E.0/ /RRNXS © SAP AG 2000 n n Functionality within an SAP System can be called either by RFCs or BAPI calls To use the RFC Lookup you have to • • • • Specify the SAP server and the function module By pressing Lookup. the business connector gets the structure information for the function module from the SAP system You can test the function module by supplying the data into the form Be aware that the data conversions the GUI offers you do not work in the browser. %\ 1DPH %XVLQHVV 2EMHFW %$3. e.B6%22.67 %$3.5)& &DOO IURP 6$3 %& 6$3 %XVLQHVV &RQQHFWRU )XQFWLRQ %\ 1DPH )XQFWLRQ 1DPH /RRNXS 5)&. a date format would be 2000-02-29 for february 29th RFC-XML lets you create an XML template that shows you how an XML request has to look like • © SAP AG BC635 5-13 .0/ 6HUYHU QDPH 5)& /RRNXS 7B %$3.

%$3. &DOO IURP 6$3 %& .

the business connector gets the structure information for the BAPI from the Business Object Repository (BOR) from the SAP system é bXML lets you create an XML template that shows you how an XML request has to look like © SAP AG BC635 5-14 .0/ 6HUYHU QDPH 5)& /RRNXS 7B %$3. 6$3 %XVLQHVV &RQQHFWRU )XQFWLRQ %\ 1DPH )XQFWLRQ 1DPH /RRNXS 5)&. 6$3 3XUFKDVH2UGHU &UHDWH)URP'DWD /RRNXS E. %\ 1DPH %XVLQHVV 2EMHFW %$3.0/ /RRNXS © SAP AG 2000 n To use the BAPI By Name LookUp you have to é Specify the SAP server é Specifiy the Business Object and the BAPI you want to use é By pressing Lookup.

&DOO IURP 6$3 %& .%$3.

you want to find out what BAPIs are available for an specific Business Object é Make a LookUp for a Business Object and you will get all existing BAPIs of that Object é Selecting a BAPI in the list provides you with more information about the BAPI. like Import and Return Parameters and so on é Also an XML template could be created to have proper XML request for that BAPI © SAP AG BC635 5-15 .g. © SAP AG 1999 n n If you do not know the correct name or spelling of the Business Object or BAPI you can use the built-in BAPI Browser E.

QWHUIDFH 5HSRVLWRU\ .)5..

IDoc. These consist of the generic components. The SAP Interface Repository is structured according to the mySAP.which are the industry-independent components. BAPI n n © SAP AG BC635 5-16 . Documentation. XML templates. IDocs and RFCs. The SAP Interface Repository provides the following new options for integrating applications: é Web wide publication of Web compatible standard SAP interfaces é Simpler access and navigation using Web browser technology é A central reference for standard SAP interfaces é Option to download the XML schemas for operational use é Central storage of all interface versions é Uniform XML interface representation.BAPIs. © SAP AG 1999 n The SAP Interface Repository provides a library of XML interfaces that have been generated from the SAP business interfaces . and meta information in the form of XML schemas are provided for each XML interface. despite different implementation technologies such as RFC.application components for particular releases. and the industry-specific components.

are now generated transparently for the user from the uncomplicated BAPI-based XML messages. administrators can use the full bandwidth of services provided by ALE.0/ OHYHO 5RXWLQJ RI . regardless of the interface type (BAPI. The BizTalk XML envelope can be used with both BAPI and RFC XML calls and also for both synchronous and asynchronous processing. The BizTalk XML envelope differentiates between an application-specific XML body and an XML header. They can be used for both synchronous and asynchronous calls to an SAP System by using the same XML message format. &DOO IURP 6$3 %& l l l l l 6XSSRUW RI %$3. for example for routing purposes. DQG 5)& FDOOV 6XSSRUW RI 8QLILHG (UURU +DQGOLQJ RI %$3. The often complex IDoc messages. FDOOV %XLOWLQ %$3.EDVHG .'LUHFW %$3. which is used to exchange transport specific information. Inside the SAP System. So interface type-specific error handling concepts (BAPI return parameter and function module exceptions) are converted on XML level into a standardized type of error representation.QERXQG DQG 2XWERXQG %$3. RFC) used.based XML documents to the Web.0/ PHVVDJHV 6XSSRUW RI %L]7DON . the XML format provided by the IFR Package unifies the error handling of BAPIs and RFCs.V DQG 5)&V RQ . You can set up routing rules to forward inbound BAPI-based XML messages to SAP Systems and also to forward requests received from SAP Systems as BAPI. Asynchronous BAPI calls are provided by using the ALE services inside the SAP System. WRROV © SAP AG 1999 n BAPIs provide a simple way to access SAP solutions. To allow generic error evaluations on the client. n n n n © SAP AG BC635 5-17 . that were required in earlier versions of SAP Business Connector to enable ALE. A set of tools to simplify the handling of BAPI calls has been integrated into the SAP Business Connector.0/ HQYHORSHV IRU %$3.

QWHUQHW RXWERXQG PDS VHUYLFH.&UHDWLQJ 2XWERXQG PDSV %$3.B 7 .

service name interface SAP system function module bookinglist IF_00 T21 BAPI_1 © SAP AG 1999 n An outbound map é can be generated for a specific function module and a specific SAP system é is a service which can be invoked remotely é should be secured with an ACL n n To create an outbound map make an RFC lookup of the function you want to call from the system where you want to call it. Create a map of type ‘SAP BC -> SAP’ and save it. Remember the interface and the service name you specified as you will need it to invoke the service. © SAP AG BC635 5-18 .

B 7 RXWERXQG PDS VHUYLFH.QWHUQHW %$3.&DOOLQJ D VHUYLFH IURP D ZHE EURZVHU KWWSKRVW!SRUW!LQYRNHLQWHUIDFH!VHUYLFH!"YDOXH! YDOXH!  :HE EURZVHU .

© SAP AG BC635 5-19 .. © SAP AG 1999 n n You can invoke this map via HTTP with the following URL: http://<host>:<port>/invoke/<interface>/<service>?value1=value&..

B 7 RXWERXQG PDS VHUYLFH.8VLQJ 2XWSXW 7HPSODWHV :HE EURZVHU .QWHUQHW %$3.

the result is returned in a String called $txt © SAP AG BC635 5-20 . You can also apply an output template to a Values object. KWPO!  YDOXH &$55. The SAP BC uses a Template to return output from the service to a browser-based client SAP BC tags are case-sensitive. They contain special “tags” that the SAP BC processes before passing the string back to the client.'  KWPO! © SAP AG 1999 n n n n n They allow insertion of output values from a service into a string that you define. In this case.

7/(!7. Make sure that the template generates a well-formed XML document Make sure to set the Type option to “XML” when you assign an HTML-based template to a service If your client is a browser.$ 6DPSOH +70/ 2XWSXW 7HPSODWH  '2&7<3( +70/ 38%/.& ! +70/!+($'!7..1*/. make sure that it is able to accept and display XML © SAP AG BC635 5-21 . make sure to set the Type option to “HTML” when you assign an HTML-based template to a service.7/(!+($'! %2'<! +!5HVSRQVH IURP YDOXH UIFQDPH 7$%/( ERUGHU ! 75! 7+! $LUOLQH7+! 7+! &RQQHFWLRQ1XPEHU7+! 7+! )OLJKW'DWH7+! 75! ORRS %22.67 75! 7'! YDOXH &$55.' 7'! 7'! YDOXH )/'$7( 7'! 75! HQGORRS 7$%/(! %2'<!+70/! +! © SAP AG 1999 Œ Œ Œ Œ Œ Make sure the executed template produces a valid HTML document If your client checks the Content-type value in the HTTP response header.' 7'! 7'! YDOXH &211.

To work in SAP BC Developer. template files must have an HTML or XML extension When using templates. make sure to set the Type option to “ HTML” when you assign an HTML-based template to a service © SAP AG BC635 5-22 .3URFHVVLQJ 7DJV LQFOXGH  LQFOXGH DQRWKHU ILOH LIYDU  FRQGLWLRQDO H[SUHVVLRQV ORRS  ORRS RYHU DQ DUUD\ RU UHFRUG YDULDEOH VFRSH  PDQLSXODWH WKH VFRSH UHQDPH  PRYH RU FRS\ YDULDEOHV YDOXH  LQVHUW WKH YDOXH RI D YDULDEOH VZLWFK  PXOWLZD\ FRQGLWLRQDO ZLWK D GHIDXOW © SAP AG 1999 Œ Œ Œ The template file name must be unique within the package. keep in mind that: • • • You do not have to assign a template to a service A service can have at most one template assigned to it at a time - but you can dynamically change template assignment at run time You can assign the same template to more than one service You may reference one template from within another Œ Œ • Make sure the executed template produces a valid HTML document If your client checks the Content-type value in the HTTP response header.

V 6$3 %& DV 5)& FOLHQW 6$3 %& DV D URXWHU IRU 6$3 V\VWHPV '\QDPLF URXWLQJ 5RXWLQJ DQG PDSSLQJ RI .6$3 %& DV D URXWHU IRU 6$3 V\VWHPV 2YHUYLHZ 2YHUYLHZ &DOOLQJ DQG KDQGOLQJ RI %$3.'RFV © SAP AG 1999 © SAP AG BC635 5-23 .

&UHDWLQJ DQ 5)& OLVWHQHU LQVLGH 6$3 %& .

7 6$3%& *: 5)& OLVWHQHU SAP system Gateway host Gateway service program ID T20 iwdf5020 00 SAPBC © SAP AG 1999 n An SAP listener is a connection from the SAP business connector to a specific gatway of an SAP system © SAP AG BC635 5-24 .

&UHDWLQJ DQ 5)& OLVWHQHU LQVLGH 6$3 %& .

When you shut down all listeners to one SAP system the lookup session will also be terminated. The maximum number of threads that will be used in parallel is ten. Therefore SAP BC issues an RFC_PING call to the gateway host every ten minutes to check whether the host is up. Do not forget to start the listener after saving it! n n © SAP AG BC635 5-25 . To interpret an RFC call SAP BC must know the data types and structures used in a the Function Module.' *DWHZD\ +RVW 6DYH LZGI 6$3%& 1R RI WKUHDGV *DWHZD\ VHUYLFH  VDSJZ &DQFHO 6$3 6$3 6HUYHUV © SAP AG 1999 n n n It is important that you specify the same Gateway host in the listener screen as you use for the RFCDestination setup in the SAP system. This lookup session is kept alive as long as the listener is up. This can lead to undesired behavior when the application server is started again because the listener will not be reached then. You can configure several threads. This means that SAP BC can handle up to ten incoming requests for one Program ID in parallel. It therefore makes a lookup call to the DDIC. It keeps pining until the server is up again. 6$3 %XVLQHVV &RQQHFWRU 6$3 /LVWHQHU GHILQLWLRQ 3URJUDP . An external RFC server is not notified in case an SAP application server is shut down. Then the listener will be restarted.

&UHDWLQJ DQ 5)& GHVWLQDWLRQ LQ 6$3 V\VWHP .

5)& GHVWLQDWLRQ destination Gateway host Gateway service program ID SAP_BC iwdf5020 00 SAPBC 7 6$3%& *: 6$3 OLVWHQHU SAP system Gateway host Gateway service program ID T20 iwdf5020 00 SAPBC © SAP AG 1999 n An RFC-Destination for SAP BC points to the gateway where the SAP business connector is registered © SAP AG BC635 5-26 .

&UHDWLQJ DQ 5)& GHVWLQDWLRQ LQ 6$3 V\VWHP .

The configuration is not yet complete. This must be the same name as in the listener screen of SAP BC. It is a good idea to include a unique identifier like the host name of SAP BC in the name because the RFC-Destination name must be unique within one SAP system. It must be the same as you specify on the listener screen of SAP BC. Select type T (TCP/IP) as connection type.3 FRQQHFWLRQ 6WDUW 5HJLVWUDWLRQ 3URJUDP . Enter a description text and save the destination SAP BC is a self-registering RFC server.' 6$3%& 'HVFULSWLRQ &RQQHFWLRQ WR %XVLQHVV &RQQHFWRU © SAP AG 1999 n n n To create a an RFC-Destination for SAP BC follow these steps: Go to transaction SM59 and select ‘create Destination’ Enter the name for the RFC-Destination. Keep in mind that RFC destinations of type T can only be named in capital letters! Enter a Program ID for the RFC-Destination. You must choose a gateway server via which SAP BC can be reached from any of the instances of an SAP system. It can be different from the RFC-Destination name. 7\S7'HVWLQDWLRQ 5)&GHVWLQDWLRQ &RQQHFWLRQ W\SH $FWLYDWLRQ 7\SH 5HJLVWUDWLRQ 6$3B%& *DWHZD\ 7 7&3. n n n n n n © SAP AG BC635 5-27 . Therefore check the ‘Registration’ mode. Chose ‘Gateway’ from the ‘Destination’ menu and enter the gateway server and service.

&UHDWLQJ D UHPRWH VHUYHU LQ 6$3 %& .

7 7 UHPRWH VHUYHU alias host port user pwd SAPBC_remote 10.18.115.205 5555 Administrator ******** © SAP AG 1999 n A “ remote server” can be another SAP business connector © SAP AG BC635 5-28 .

&UHDWLQJ D UHPRWH VHUYHU LQ 6$3 %& .

6$3 %XVLQHVV &RQQHFWRU 6HWWLQJV $GG UHPRWH VHUYHU +RVW QDPH $OLDV UHPRWHB%& KWWS $GG 8VHU 1DPH 3DVVZRUG 3RUW 1XPEHU  $GPLQLVWUDWRU 5HPRWH 6HUYHUV © SAP AG 1999 n n n n n n n To define a remote server. use the tab settings in SAP BC server and use the tab remote server on the lower edge Choose a name for the remote server and specify the host and the port Add user/password to be used for the connection You can additionally protect the remote server with an ACL The use of SSL for the connection is possible as well Choose a time out in minutes or set the value to zero (= no time out) After adding the data you can test the connection using the check icon © SAP AG BC635 5-29 .

© SAP AG BC635 5-30 . An Inbound map acts as a point of entry for one specific message type which comes in from one certain system. Usage scenario: Early Watch Alerts n n n The name ‘Inbound Map’ is derived from the fact that the call is inbound for SAP BC.6WDWLF URXWLQJ 8VLQJ DQ LQERXQG PDS 7 VWDWLF URXWLQJ 7 LQ LQERXQG PDS SAP server function module remote server interface service T20 BAPI_1 SAPBC_remote IF_00 bookinglist RXW © SAP AG 1999 n Application passes no target information • • • If a certain call should be send to only one receiver it is easiest to set up an inbound map. The only purpose of the Inbound Map is to route the call to another local or remote service which will process it. No additional information for routing needs to be present.

the SAP system name (as sender) and the name of the FM as message type. If no Inbound map is defined for an incoming Function Module (FM) a routing rule will be automatically created based on the name of the RFC-destination (as receiver).cnf.6WDWLF URXWLQJ 6$3 WR 6$3 FRPPXQLFDWLRQ 7 7 5)& OLVWHQHU LQERXQG PDS UHPRWH VHUYHU 6$3 VHUYHU RXWERXQG PDS © SAP AG 1999 n n Inbound maps are stored together with the SAP log on information in the file Inbound maps are stored together with the SAP log on information in the file packages/SAP/config/sap. Routing rules are different from Inbound maps. © SAP AG BC635 5-31 .

'\QDPLF URXWLQJ 2YHUYLHZ 2YHUYLHZ &DOOLQJ DQG KDQGOLQJ RI %$3.V 6$3 %& DV 5)& FOLHQW 6$3 %& DV D URXWHU IRU 6$3 V\VWHPV '\QDPLF URXWLQJ 5RXWLQJ DQG PDSSLQJ RI .'RFV © SAP AG 1999 © SAP AG BC635 5-32 .

Receiver. message type orders © SAP AG 1999 n n Routing rules define a processing and a transport for a message based on three keys: Sender. The next time a message with these three keys is received the gateway manager locates the routing rule and applies it.7KH FRQFHSW RI 5RXWLQJ 5XOHV URXWLQJ UXOH T20 sender Licher receiver message type BAPI_1 transport RFC destination processing  T21 URXWLQJ UXOH sender receiver transport url processing  hugo catalog XML http://. it places the message in the Message Store.. It is unable to route the message until a routing rule exists for the message. MessageType When the gateway manager receives a message for which it does not have a routing rule. n © SAP AG BC635 5-33 .

com Portal message format. RFC transport: send and receive RFCs from/to a SAP system via RFCs. mySAP. An additional SMTP server must be used. email transport: to mail the message to an email address. XML transport: Messages will be formated in SAP-XML and posted to the specified URL B2B Service transport To invoke another service on a local or remote SAP Business Connector ftp transport: to FTP the message to a remote host.7KH GLIIHUHQW WUDQVSRUW W\SHV 6$3 %& LV VKLSSHG ZLWK WKH IROORZLQJ VWDQGDUG WUDQVSRUWV l 6$3 VSHFLILF $/( WUDQVSRUW b %$3.com transport: send and receive XML messages compliant with the mySAP. This transport has to be configured once.0/ WUDQVSRUW b ZHE0HWKRGV VSHFLILF b b %% 6HUYLFH WUDQVSRUW IWS WUDQVSRUW b HPDLO WUDQVSRUW b © SAP AG 1999 n n n n n n n ALE transport: send and receive IDocs from/to a SAP system via tRFCs. WUDQVSRUW b 5)& WUDQVSRUW b P\6$3 WUDQVSRUW b . © SAP AG BC635 5-34 .

6WDWLF URXWLQJ 8VLQJ DQ LQERXQG PDS l $SSOLFDWLRQ SDVVHV QR WDUJHW LQIRUPDWLRQ .cnf. Inbound maps are stored together with the SAP log on information in the file packages/SAP/config/sap. The only purpose of the Inbound Map is to route the call to another local or remote service which will process it. An Inbound map acts as a point of entry for one specific message type which comes in from one certain system. © SAP AG BC635 5-35 .I D FHUWDLQ FDOO VKRXOG EH VHQW WR RQO\ RQH UHFHLYHU c LW LV HDVLHVW WR VHW XS DQ LQERXQG PDS 1R DGGLWLRQDO LQIRUPDWLRQ IRU URXWLQJ QHHGV WR EH c SUHVHQW © SAP AG 1999 n n n n The name ‘Inbound Map’ is derived from the fact that the call is inbound for SAP BC.

Only the call statement needs to be modified. © SAP AG d ¦sP%'e € v u w v q u e s YX¤`)tSrH¦¤¦hC¤fPd i q p d i g f e ‚ … … … ¦8†H4¦8u Ay „ i q p ƒ r … … … ¦8†H4¦8'%q „ i q p ƒ r u ‡ … … 8¦… Hy ¤Rp € f s e y i 8rPSip €P¦x q p e q BC635 5-36 .'\QDPLF URXWLQJ JHQHUDO WDVN *DWHZD\ PDQDJHU URXWLQJ UXOH URXWLQJ UXOH URXWLQJ UXOH 7 © SAP AG 1999 n n n n n The call needs to be routed to different receivers dynamically The application has additional information on the receiver If one of the internal tables is named SBCHEADER SAP BC will use this to look for the routing information SBCHEADER must be of type sbccallenv The interface of the Function Module must not be changed.

&UHDWH URXWLQJ UXOH E\ 5)& FDOO *DWHZD\ PDQDJHU URXWLQJ UXOH 7 © SAP AG 1999 n If no Inbound map is defined for an incoming Function Module (FM) a routing rule will be automatically created based on the name of the RFC-destination (as receiver). This routing rule has to be completed manually. © SAP AG d s ¦Pv%'e € u w v q u e s YX¤`)tSrH¦¤i¦C¤Pd i q p d h g f f e … ¦…8†H4q¦8u ‚Ay … „ i p ƒ r … ¦…8†H4q¦8'%q … „ i p ƒ r u ‡ …8¦… … Hy ¤Rp € f s e y i8rPSp €P¦x q p e i q BC635 5-37 . the SAP system name and client (as sender) and the name of the FM as message type.

If it is omitted the name of the RFC-Destination will be used instead. Your own processing can be inserted as a pre-processing service or as a post-processing service behind the generated service. n © SAP AG BC635 … … … ¦87H¤¦'%q „ i q p ƒ r u ‡ ‚ … … … ¦87H¤¦u Ay „ i q p ƒ r w v q u e YX¤`)s f j ” j – r j p )k¦n ƒ y8x e y ˆAHs € … ru–¤jtRP)HSs†q o d j¤¤mt¦¦A¤j¦i)8Pe™H)¤”¦“ n f – j l k h h g f d ˜ — – • ” 7 r – n g – r … vj8S¦k u †q … y ƒ ¤x e y ˆ8¤s € d d s v u ¦P%'e € w v q u e s YX¤`)tiSH¦¤i¦C¤Pd r q p d h g f f e …¦8†Hi4¦8u ‚Ay … … „ q p ƒ r …¦8†Hi4¦8'%q … … „ q p ƒ r u ‡ € i8rPSp Py¦x q p e i q …8¦… … Hy ¤Rp € f s e y € …xƒ ¤x e y 8¤s wx i y u¤`e ˆ d u j ¤•t ƒ y8x e y ˆAHs € m k o d *DWHZD\ PDQDJHU URXWLQJ UXOH sender receiver message type transport destination T20 Partner BAPI_1 RFC T21 7 5-38 . A routing rule is saved as a flow service. maps etc. It has to be completed manually by selecting the appropriate transport and filling out the necessary parameters. The application passes in logical keys for a routing rule: é a ‘receiver’ key is mandatory é a ‘sender’ key is optional. You can also create the routing rule from scratch so that it is ready to use when the first call comes in. You should however not change the generated service itself because it will be overwritten when you save the routing rule again. Starting with this service you can easily extend the flow with your own services. n Based on these keys a routing rule is created inside SAP BC.8VLQJ ORJLFDO LQIRUPDWLRQ IRU URXWLQJ € y ’ Si y f8‘e4¤¤s y Aptƒ ¦x e y Ss € f d d u ‰ ˆ d e p Pe x © SAP AG 1999 n n Useful if the application has a logical view on who the receiver of a message should be.

String property = sbcHeader. receiver and message type based on information available to the application alone. Example: SAP BC should use different transport types for the same sender. System. To accomplish this you can define your own keys and add them in the SBCHEADER table. To read out the keys with a java service use the following statements: Values sbcHeader = in.put("OUTPUT". Make sure that the key names do not interfere with the keys used by the standard SAP BC transports. out.out. out.getValues("sbcHeader").throwError (new Exception("NO_INPUT_GIVEN"))). n n © SAP AG BC635 … … … ¦87H¤¦'%q „ i q p ƒ r u ‡ ‚ … … … ¦87H¤¦u Ay „ i q p ƒ r w v q u e YX¤`)s … „ g ‰ ˆ ‡ 'AYy j z)y‡ †~Hj ƒ… v ‚ ¦¦A¤j ˆ HR—q € – j l k ”  ¦)—H)k  j ” f t – j k t …8¤… … r f j ” j – r H)¦n ƒ 8x e y AHs € j p k y … u–¤jtRP)HSs†q o ˆ d j ¤n¤t¦¦A¤¦i)8Pe™H•)¤¦“ f m – j l k j h h g f d ˜ — – ” ” 7 r – j n g – r … v8S¦k u †q … r … r } { r … ~)|†q y j HS‡ †q z v y r y ƒ ¤x e y 8¤s € ˆ d d s ¦Pv%'e € u w v YXq¤`)tSrH¦¤¦Cf¤Pd u e s i q p d i h g f e y € …xƒ ¤x e y 8¤s wx i y ¤`e ˆ d u u j ¤•t oƒ 8x e y AdHs € m k y ˆ j p k )¦n oƒ 8x e y AdHs € y ˆ ‚ …¦8…†H4q¦8u Ay … „ i p ƒ r …¦8…†H4q¦8'%q … „ i p ƒ r u ‡ y i 8rPSp €P¦x q p e i q … … 8¦… Hy f¤Rp € s e y € … xƒ ¤x e y 8¤s wx i y ¤u`e ˆ d u j ¤•t ƒ 8x e y AHs € m k y o ˆ d *DWHZD\ PDQDJHU URXWLQJ UXOH sender receiver message type transport destination T20 Partner BAPI_1 RFC T21 7 5-39 .8VLQJ DGGLWLRQDO SDUDPHWHUV € y Si y 8‘4¤¤s y Atƒ ¦x e y Ss € ’ f f e d d u ‰ p ˆ d e pPe x © SAP AG 1999 n Sometimes the application wants to pass additional meta-information to SAP BC which is not part ofSometimes the application wants to pass additional meta-information to SAP BC which is not part of the message itself.println("Property was "+property).getString(“ My_Key"). This information could be used by a self-written service to change the behavior of a flow.copyFrom(Service. property).

8VLQJ URXWLQJ G\QDPLFDOO\
€ y ’ Si y f8‘e4¤¤s y Aptƒ ¦x e y Ss € f d d u ‰ ˆ d e p Pe x

7

© SAP AG 1999

n n n n

If the application has all the technical information at hand needed to forward a message it can call a transport directly. Thus no additional setup work is required on SAP BC. The call is directly passed through and no routing rule is created. This is advantageous if there are a great number of possible receivers. As no flow service is created with this call model there is also no way to manipulate the data. You can only use the predefined transport types.

© SAP AG

… r ¦… …

r … r ‘‡ ‚ †q f r g – “ ‹ — n k – g r … ¦H4S¦S†q

Ž Ž Œ ‹ g ¦|4¤gƒ†q h r

…

r m – • r j p )k¦n ƒ y8x e y ˆAHs € … ŠHƒ†q o d j¤¤mt¦¦A¤j¦i)8Pe™H)¤”¦“ n f – j l k h h g f d ˜ — – • ” y ƒ ¤x e y ˆ8¤s € d d s v u ¦P%'e € w v q u e s YX¤`)tiSH¦¤i¦C¤Pd r q p d h g f f e y € …xƒ ¤x e y 8¤s wx i y u¤`e ˆ d u j ¤•t ƒ y8x e y ˆAHs € m k o d y € …xƒ ¤x e y 8¤s wx i y u¤`e ˆ d u j ¤•t ƒ y8x e y ˆAHs € m k o d j p )k¦n ƒ y8x e y ˆAHs € o d …¦8†Hi4¦8u ‚Ay … … „ q p ƒ r …¦8†Hi4¦8'%q … … „ q p ƒ r u ‡ € i8rPSp Py¦x q p e i q …8¦… … Hy ¤Rp € f s e

*DWHZD\ PDQDJHU

WUDQVSRUW ;0/ url
... http:/... ...

BC635

5-40

… i ”Sr¦¦hg x i y q p d i y ƒ ¤x e y 8¤s € ˆ d … … 8¦… € Hy ¤Rp f s e … … … ¦8†H4¦8'%q „ i q p ƒ r u ‡ ‚ … … … ¦8†H4¦8u Ay „ i q p ƒ r d ¦sP%'e € v u y i 8rPSip €P¦x q p e q w v q u e s YX¤`)tSrH¦¤¦hC¤fPd i q p d i g f e y € … xƒ ¤x e y 8¤s wx i y ¤u`e ˆ d u

– j t f j ” j q j ¤•t ƒ 8x e y AHs € m k y … ¤RP)HS– o ˆ d r – j t f j ” j – r H)¦n ƒ 8x e y AHs € j p k y … u¤RP)HSs†q o ˆ d j f m – j l k j h h g f d ˜ — – ” ” … ¤n¤t¦¦A¤¦i)8Pe™H•)¤¦“ … € y Si y 8‘4¤¤s y Atƒ ¦x e y Ss € ’ f f e d d u ‰ p ˆ d e pPe x j ¤•Ht o 8AS8HS¦HRwj € 8t¦fHA¤8– m k t n j m m k ” ”  — f m – j t j ” j „ i ¤RqHASu`“q p ƒ r ‡ … H¤¦‹8d v PAAk— – j ‹ k – ”  ‹ X’A88h)g v ‘ i r q p d i

n

n

n

n

© SAP AG
© SAP AG 1999

By defining import parameters (e.g. “ receiver” ) for the wrapper function module and passing these parameters into the internal table SBCHEADER, you can supply different values to the SAP BC for the routing rules

In the function builder, you can test the wrapper module

The wrapper function module calls another function module as an RFC by specifying the SAP BC as remote server for the RFC

You can create and check routing rules from SAP system by writing a „wrapper“ function module using the function builder.

7HVW URXWLQJ UXOHV XVLQJ ZUDSSHU PRGXOH

7

BC635

*DWHZD\ PDQDJHU

URXWLQJ UXOH

5-41

5RXWLQJ DQG PDSSLQJ RI ,GRFV 2YHUYLHZ

Overview Calling and handling of BAPIs 5RXWLQJ DQG PDSSLQJ RI ,'RFV

© SAP AG 1999

© SAP AG

BC635

5-42

,'RF VWUXFWXUH

$/(

(',

&RQWURO UHFRUG
IDoc ID, WDUJHW LQIR, ...

&RQWURO UHFRUG
IDoc ID, (', V\VWHP (target info)

'DWD UHFRUGV
...

'DWD UHFRUGV

WDUJHW LQIR, ...

6WDWXV UHFRUGV
IDoc ID, status
© SAP AG 1999

6WDWXV UHFRUGV
IDoc ID, status

n

ALE scenarios é Target information contained in IDoc control header é Customising for logical systems within SAP system

n

EDI scenarios é Target information contained in IDoc content fields é Only one receiver maintained in distribution model

© SAP AG

BC635

5-43

5RXWLQJ ,'RFV 

interface/service n Create routing rule in SAP BC 2 © SAP AG BC635 5-44 ..'RF 7 . $/( GLVWULEXWLRQ PRGHO logical systems mesg. type Log port T20CLNT400 -> -> SAPBC MATMAS SAPBC .'RF 7 URXWLQJ UXOH sender receiver T20CLNT400 SAPBC . message type: Idoc message type é transport type: XML or B2B involving business connector of IDoc-receiving SAP system é transport type XML: specify: XML dialect. user/pwd..ALE/InboundProcess é transport B2B: specify: remote BC as server. n Customize distribution model in SAP system: é from logical system LS_1 (= client in SAP system) to logical system LS_ 2 (= SAP BC). specify IDoc message type and logical port (using the RFC destination to the SAP BC) n Create routing rule in SAP BC 1 é sender/receiver: logical systems of distribution model.0/ URXWLQJ UXOH sender T20CLNT400 receiver SAPBC msg type MATMAS transport ALE SAP System T21 msg type MATMAS transport XML © SAP AG 1999 url http://.PartnerMgr.transport.gateway. url of remote SAP BC: é http://<host>:<port>/invoke/wm.

'RFV .5RXWLQJ .

© SAP AG BC635 5-45 .' 6HQGHU 5HFHLYHU 0VJ 7\SH    5RXWLQJ 7UDQVDFWLRQV © SAP AG 1999 n n n SAP BC automatically detects IDocs (tRFC calls of function modules INBOUND_IDOC_PROCESS or IDOC_INBOUND_ASYNCHRONOUS) and converts them to IDoc-XML. The transaction store guarantees the exactly-once semantics. The Gateway Manager keeps track of all IDocs and saves them in the message store. 6$3 %XVLQHVV &RQQHFWRU 0HVVDJH VWRUH 'DWH  $'$%(% 7.

B'& 6(*0(17  !  7$%1$0!('.GRF OLVWV in the SAP start menu or use transaction WE05. n n © SAP AG BC635 5-46 .GRF.'LVSOD\ .1  !  ('.'RF LQ 6$3 %& 6$3 %XVLQHVV &RQQHFWRU "[PO YHUVLRQ  HQFRGLQJ LVR "!  0$70$6!  .'RF %DVLV.'RF.GRF[PO To display processed IDocs inside a SAP system follow the path 7RROV%XVLQHVV &RPPXQLFDWLRQ.'2& %(*. An example is shipped with the business connector server in the folder VHUYHUSDFNDJHV6$3SXE. choosing the tab transactions and clicking on the transaction-ID (tid) of a processed IDoc.B'&7$%1$0! 0$1'7!0$1'7!  5RXWLQJ 7UDQVDFWLRQV © SAP AG 1999 n You can view processed IDocs in different formats from inside the SAP business connector server using the tab routing.

QERXQG3URFHVV .3URFHVVLQJ RI . When an IDOC of message type ORDRSP is sent out from SAP BC the ALE:OutboundProcess executes the service $/(SHUIRUP.'RFV .'RF RXW $/(2XWERXQG3URFHVV © SAP AG 1999 n n n n Incoming IDocs are processed by service ALE:InboundProcess.'RF 6$3 %& LQ $/(. When an IDOC of message type ORDERS is sent to the Business Connector ALE:InboundProcess executes the service $/(SHUIRUP2XWERXQG0DSSLQJ This then calls the java service 6$3LGRFPDSSLQJVRUGHUV The mapping for ORDRSP on the other hand is executed by the ALE:OutboundProcess. outgoing IDocs are processed by service ALE:OutboundProcess IDocs can be modified via a set of JAVA APIs provided with the IDOC class Two sample services on how to make content-based routing: The mapping for ORDERS is executed by the ALE:InboundProcess before the message is sent to the gateway manager.QERXQG0DSSLQJ This then calls the java service 6$3LGRFPDSSLQJVRUGUVS n © SAP AG BC635 5-47 . This is used by the ALE:transport.

First create a record for the structures you are dealing with by loading their DTD or an XML template. Values objects are the canonical representation of data used inside SAP BC.'RFV WR D GLIIHUHQW IRUPDW © SAP AG 1999 n n To map SAP data structures you use the developer. In this format all data is stored in a sorted hash table of so called values objects. n © SAP AG BC635 5-48 .0DSSLQJ . You can investigate the mappings for IDocs of the type ORDERS and ORDRSP in the SAP BC Developer by opening the flow in package 6$3 named ZP3DUWQHU0JUJDWHZD\WUDQVSRUW$/( SHUIRUP2XWERXQG0DSSLQJSHUIRUP.QERXQG0DSSLQJ respectively. It calls the java service 6$3LGRFPDSSLQJVRUGHUVRUGUVS respectively. Currently two fields from the IDoc content are used as keys for the fields VHQGHU and UHFHLYHU in the routing rule. You can map structures in the flow after the data has been brought into a record format.

6XPPDU\  +RZ WR GHSOR\ $/( DQG %$3,V
%$3,V
b

,QERXQG FDOOV 6$3 %& ! 6$3 V\VWHP

w 1R ZRUN LQ 6$3 UHTXLUHG 2XWERXQG FDOOV 6$3 V\VWHP ! 6$3 %&

w 6HW XS D 5)& 'HVWLQDWLRQ LQ 6$3 V\VWHP w %$3, ,QWHUIDFHV GR QRW KDYH WR EH FKDQJHG

$/(
b

© SAP AG 1999

© SAP AG

b

w

2SWLRQDOO\ SDVV SDUDPHWHUV ZLWK IXQFWLRQ FDOO XVLQJ 6%&+($'(5

,QERXQG DQG 2XWERXQG FDOOV w &XVWRPL]H 'LVWULEXWLRQ PRGHO

BC635

5-49

6$3 WR 6$3 &RPPXQLFDWLRQ 8QLW 6XPPDU\

l &DOO DQ 6$3 V\VWHP YLD 6$3 %&

<RX DUH QRZ DEOH WR

l &DOO 6$3 %& IURP DQ 6$3 V\VWHP

l &RQILJXUH D FRQQHFWLRQ EHWZHHQ WZR 6$3 V\VWHPV YLD 6$3 %&

© SAP AG 1999

© SAP AG

BC635

5-50

([HUFLVHV
8QLW 6$3 WR 6$3 FRPPXQLFDWLRQ 7RSLF &RQILJXUH D VHUYLFH LQ 6$3 %& WR UHDFK D %$3, LQ D 6$3 V\VWHP
• logon to your SAP BC, • configure your SAP BC as an RFC client to an a SAP system, • test BAPI calls into SAP system, • define a service in SAP BC to point to a specific BAPI, • test this service with a call from an internet browser.
To open an access from the internet to BAPIs in your SAP system, you can define a service in your SAP BC for the call to be routed.

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

1-1

Logon to your SAP BC 1-1-1 Start your SAP Business Connector 1-1-2 Logon to your SAP Business Connector using port 5555.

1-2

Configure your SAP BC as an RFC Client to a SAP system 1-2-1 Define a SAP server in SAP Business Connector. Use the training system your instructor offered you. 1-2-2 Test the connection to SAP system

1-3

Test a BAPI call into the SAP system 1-3-1 In your first SAP system: Test the BAPI_SFLIGHT_GETLIST using the function builder (Transactioncode SE37). Use the following parameters for your test: FROMCOUNTRYKEY=DEFROMCITY=FRANKFURT TOCOUNTRYKEY=US TOCITY=NEW YORK Navigate to the table FLIGHTLIST, look for the flight with the fewest occupied seats greater zero and note these values (CARRID, CONNID and FLDATE).

© SAP AG

BC635

5-51

then your outbound map (=service). By choosing the button TEST SERVICE you can test the RFC according to exercise 1-3-2.1-3-2 Logon to your SAP BC. 1-4-2 Define a new map as a service using the link (Define new map) in the line SAP BC -> SAP.)B (## as your group number) as interface name and ERRNLQJOLVW as service name for your map. specify a name for your template. 1-7-1 Navigate to the settings of your service (Exercise 1-5-1). 1-7-2 Choose “ Edit these settings” . Use . then choose RFC-Lookup and lookup BAPI_SFLIGHT_GETLIST. 1-7 Optionally: create a template in SAP BC to modify the result of calls from a browser client. navigate to the SAP tab. use the ampersand (&) to separate the values you submit. 1-6 Call this service from a browser 1-6-1 Open a new browser window and call the service via the url: KWWSKRVW!SRUW!LQYRNHLQWHUIDFH!VHUYLFH!"YDOXH! YDOXH! YDOXH !  Note: The interface and service names are case sensitive. choose test function to test a BAPI call. © SAP AG BC635 5-52 . 1-4 Define an outbound map as service in your SAP BC 1-4-1 Make an RFC Lookup for BAPI_SBOOK_GETLIST. Save the map in the package Default. set the template type to html and submit your changes. 1-3-3 Make an RFC Lookup for BAPI_SBOOK_GETLIST and test the BAPI using the noted values for AIRLINECARRIER (corresponds to CARRID) (corresponds to CONNID) CONNECTIONNUMBER DATEOFFLIGHT(corresponds to FLDATE) to see if there are any bookings cancelled for your flight. 1-5 Test this service from SAP BC 1-5-1 Navigate to the SERVICES tab and choose your interface name. Use the values like in exercise 1-3-1. After the SAP BC displays the interface of this BAPI.

either from a browser or from inside SAP BC. e.: <html> <head> <title>Example for an html-template</title> </head> <body> <center> <H1>Response from %value $rfcname% </H1> <TABLE bgcolor=#DEDEC8 border=1> <TR> <TH> Airline</TH> <TH> Connection-Number</TH> <TH> Flight-Date</TH> </TR> %loop BOOKINGLIST% <TR> <TD>%value CARRID% </TD> <TD>%value CONNID% </TD> <TD>%value FLDATE% </TD> </TR> %endloop% </TABLE> </center> </body> </html> 1-7-3 Save the template and test the output of the service.g. © SAP AG BC635 5-53 .1-7-2 Choose “ Edit template” and enter your template.

a service has to be defined inside the business connector. 2-1 Configure an RFC listener in SAP BC 2-1-1 Define the SAP system you are awaiting calls from 2-1-2 In the list of the defined SAP systems. B'(67. © SAP AG BC635 5-54 . choose destination type T 2-2-3 Press enter or save your settings. • define an outbound map as service in your SAP BC to route calls from an SAP system.' (filling ## with your group 2-2 Configure an RFC destination in your second SAP system 2-2-1 use transaction SM59 2-2-2 Enter a new destination. Then choose type REGISTRATION and specify the ID of your business connector which you registered in exercise 2-1-3 (%&B B. you will be able to: • make a call from SAP system to SAP BC. • connect your SAP BC to another remote SAP BC. B.([HUFLVHV 8QLW 6$3 WR 6$3 FRPPXQLFDWLRQ 7RSLF &UHDWH LQERXQG PDS DV VHUYLFH LQ 6$3 %& At the conclusion of this exercise. To route a call from the SAP system via the SAP BC. name it %&B and enter a short description.') 2-2-4 Test your inputs using the button “ test connection” . look for LISTENERS and follow the link the number represents 2-1-3 Define a new server using the ID %&B number).

So make an RFC lookup for BAPI_SBOOK_GETLIST (like in exercise 14) using the second SAP system and follow the link to define a new map (SAP -> SAP BC).g. © SAP AG BC635 5-55 . 2-4-2 Choose the package Default. by adding the data of your business Note: you can alternate this by specifying the SAP BC of the group next to you – if you know the host name. 2-5-2 Enter BAPI_SBOOK_GETLIST and choose single test 2-5-3 Enter the destination to your SAP BC (defined in exercise 2-2) and the data you previously used for this BAPI. 2-5 Test the connection between the two SAP systems via SAP BC 2-5-1 Logon to the second SAP system and navigate to the function builder (transaction SE37). If the data are different in your two SAP systems.2-3 Define a remote server in SAP BC using your own business connector 2-3-1 Navigate to the settings tab. Save your inputs. Now the connection between the two SAP systems via your business connector is set. the password and the name of the interface and service. the port. the result of a local call and the call with destination SAP BC will be different. 2-3-2 Add a server named 5(027(B%&B connector. The input parameters for this map are the SAP system the call originates from and the name of the BAPI which is called in the SAP system (using the supplement DESTINATION specifying the SAP BC as target). 2-4 Define an outbound map as service in SAP BC 2-4-1 An outbound map acts as an information for the SAP BC where to route a call to.)B ). service ERRNLQJOLVW in interface . specify the remote server according to exercise 2-3 and specify which existing service you want to call in the remote server (e.

6ROXWLRQV
8QLW 6$3 WR 6$3 FRPPXQLFDWLRQ 7RSLF &RQILJXUH D VHUYLFH LQ 6$3 %& WR UHDFK D %$3, LQ D 6$3 V\VWHP

1-1

Logon to your SAP BC 1-1-1 Start the SAP Business Connector. You can open a command prompt window and execute the command <installation path>\sapbc\server\bin\server.bat –log none or you create a shortcut to server.bat, setting the option “ –log none” in the properties of the shortcut. A command window opens where you can view the initialization process. Don’ t close the command window because this will shut down the SAP BC server as well! 1-1-2 Start up a Web browser via the shortcut in the windows startmenu. Type the URL http://localhost:5555 into the address field. Instead of ORFDOKRVW you can also enter the domain or IP address of your computer. To connect your local SAP Business Connector, log on with (user/password): Administrator/manage. These are the initial parameters. Make sure you use the correct upper and lower case letters. Unit 8: Managing the SAP BC will show you how to change the password. The start page of the SAP Business Connectors appears with the Performance Statistics. (tab page Statistics). You can navigate around in the SAP BC using Menus, Tab pages, and Buttons.

1-2

Configure your SAP BC as an RFC Client to a SAP system 1-2-1 Choose 6$3 from the navigation panel of your SAP BC. Choose the 6$3 6HUYHUV tab. Initially, there is no SAP Server listed. Choose $GG 6HUYHU. Complete the following fields with the values from an SAP server configured in SAP GUI. (Leave all other fields with their default values.)

© SAP AG

BC635

5-56

1DPH

,Q WKH ILHOG«

6SHFLI\« An alias for the SAP server. This is the name by which the server will be known to SAP BC developers, clients and partners. The SAP router string. Only needed if there is a firewall between the SAP server and SAP BC. Your SAP user name. Your SAP password. The three-digit SAP client number. The SAP language code. If connecting to a Release 3.x system, this is one character. For Release 4.x , it is two characters. The IP address or host name of the SAP system. The two-digit SAP system number (00-99).

6$3 5RXWHU 6WULQJ 8VHU

3DVVZRUG &OLHQW

/DQJXDJH $SSOLFDWLRQ 6HUYHU

6\VWHP 1XPEHU

Choose 6DYH to commit these changes to the SAP Business Connector. Information to application server, system number and SAP router string: Start up your SAP logon. Select the required SAP System from the list (if necessary, add it to the list via *URXSV). To look up the system number and the SAP router string: Select 3URSHUWLHV via the right mouse button. To look up the application server: Select 6HUYHU. In the next dialog box select *HQHUDWH /LVW. All the application servers for the selected SAP System are listed. 1-2-2 Testing the Connection: Use the following procedure to verify that the SAP BC can successfully connect to the SAP server that you have defined. Choose 7HVW &RQQHFWLRQ on the 6$3 6HUYHUV tab page after you have defined an SAP Server. If the SAP Business Connector can successfully connect to the specified SAP Server, it will display connection information. If you receive an error message, verify that your SAP server configuration information is correct. 1-3 Testing a BAPI call from SAP Business Connector 1-3-1 Before you start the BAPI call from the SAP Business Connector, first test the function in your SAP System. Choose 7RROV $%$3 :RUNEHQFK 'HYHORSPHQW )XQFWLRQ %XLOGHU (Transaction SE37). Enter BAPI_SFLIGHT_GETLIST in field )XQFWLRQ PRGXOH. Choose )XQFWLRQ PRGXOH 7HVW 6LQJOH WHVW. The values are listed in the exercise. Choose ([HFXWH. 1-3-2 In SAP BC: In order to call a BAPI from SAP BC you first need to make its interface known to the SAP Business Connector. Choose 6$3 from the SAP Business Connector navigation panel. Choose the 5)& /RRNXS tab. Choose the SAP System from the drop down list you have defined in the last exercise. Enter BAPI_SFLIGHT_GETLIST in section )XQFWLRQ E\ 1DPH in field )XQFWLRQ 1DPH. Choose /RRNXS. Then you can test the function by choosing the button test function. Use the same values as described in the exercise.
© SAP AG BC635 5-57

1-3-3 After this test, choose the BAPI_SBOOK_GETLIST and make an RFC lookup. Test the BAPI with the values you noted. 1-4 Define an outbound map as service in your SAP BC 1-4-1 Make an RFC Lookup for BAPI_SBOOK_GETLIST. 1-4-2 Define a new map as a service using the link ('HILQH QHZ PDS) in the line SAP BC -> SAP.
Note: It is also possible to lookup the function by typing it in section )XQFWLRQ 6HDUFK in field )XQFWLRQ 1DPH. In the following list select the function %$3,B6%22.B*(7/,67 and follow link 'HILQH 1HZ 0DS.
All services are organized in packages and interfaces. Packages contain interfaces and services with related functionality like the SAP or the mySAP.com package. For this exercise enter ,)B (## as your group number) in field 1HZ ,QWHUIDFH, Enter ERRNLQJOLVW in field 1HZ 6HUYLFH. Choose 'HIDXOW in field 3DFNDJH. Choose 6DYH. You have now created a new service in SAP Business Connector to call a specific function module on your SAP system. Now you can find the service in the Service Menu and test it. The parameters must not contain any blank spaces. 1-5 Test this service from SAP BC 1-5-1 Choose 6HUYLFHV from the SAP BC navigation panel. Follow the link of interface ,) . You will get a list of services defined in the interface ,) . Select the checkmark in the column 7HVW for the service ERRNLQJOLVW. A screen appears showing the BAPI’s interface as an HTML form. Enter the values you noted for the fields AIRLINECARRIER, CONNECTIONNUMBER and DATEOFFLIGHT. Choose 7HVW ZLWK LQSXWV. If there is no example data available in your selected SAP System, a message will be displayed that no data was found. The BAPI %$3,B6%22.B*(7/,67 was successfully called, but no data exists in your SAP System. If the BAPI %$3,B 6%22. B*(7/,67 could not be called, an error message is displayed. In this case you should check your input values. 1-6 Call this service from a browser 1-6-1 The installed service ERRNLQJOLVW can be called via the Internet by its URL. The required URL must be structured like: http://<host>:<port>/invoke/<interface>/<service>
3DUDPHWHU 0HDQLQJ Name or IP address of the SAP Business Connector computer on which the service is installed. Port number The default port number is 5555. Interface name Service name

KRVW

SRUW LQWHUIDFH VHUYLFH

© SAP AG

BC635

5-58

Call the service ERRNLQJOLVW by URL with the parameters from the last exercise. In the address field of the Web browser enter the URL, which could look like this: http://localhost:5555/invoke/IF_##/bookinglist?AIRL INECARRIER=LH&CONNECTIONNUMBER=0400&DATEOFFLIGHT=20 00-08-06 The Web page that is loaded displays the same result values as the BAPI test that you carried out in the last test using the button 7HVW ZLWK LQSXWV. The difference with calling the service via the Internet is that the Business Connector functions are not available. The menu and tab pages are not displayed. Note: The primary use of the SAP Business Connector is not in dialog processing via an interface. In a real-world scenario you are more likely to submit this call from within an application rather than entering its URL in the browser. In this case the selection data would either come from some database or be entered in an HTML user interface. However, the first steps to create and test a service will be the same as in this exercise.
1-7 Optionally: create a template in SAP BC to modify the result of calls from a browser client. Execute the steps listed in the exercise.

© SAP AG

BC635

5-59

6ROXWLRQV
8QLW 6$3 WR 6$3 FRPPXQLFDWLRQ 7RSLF &UHDWH LQERXQG PDS DV VHUYLFH LQ 6$3 %&

2-1

Configure an RFC listener in SAP BC 2-1-1 Define the SAP system you are awaiting calls from:

Choose 6$3 from the SAP Business Connector navigation panel and choose the 6$3 6HUYHUV tab. Set up your SAP test system as another SAP server in the SAP Business Connector. (see exercise 2: Defining an SAP Server in SAP BC).

2-1-2 In the list of installed SAP servers, in the row /LVWHQHU the number of configured RFC listeners is shown as a link (in this case as ). To configure an RFC listener, follow this link for your SAP test system.
2-1-3 Choose $GG /LVWHQHU. Enter or choose the following parameters: 1XPEHU RI 7KUHDGV *DWHZD\ +RVW (QDEOHG 3URJUDP ,' BC_##_ID 1

*DWHZD\ 6HUYLFH sapgw<sap system system number> 5)& 7UDFH Yes Off

<sap system application server>

Note: The parameter 3URJUDP ,' must be unique. In the fields *DWHZD\ KRVW and *DWHZD\ VHUYLFH enter the parameters of the selected SAP test system. The required values are usually suggested by the system. Choose 6DYH. Click the red ball in column 6WDUWHG" to start the Listener The ball turns green. If an error occurs, the ball will turn yellow. Click the yellow ball to receive an error message. Error messages at this stage typically indicate a problem with listener configuration.

2-2

Configure an RFC destination in your SAP system 2-2-1 The steps described below are to be carried out in the SAP System. &KRRVH 7RROV $GPLQLVWUDWLRQ 'HVWLQDWLRQV WUDQVDFWLRQ 60

Enter T in field &RQQHFWLRQ W\SH (destination type TCP/IP). Enter “ SAP Business Connector for group ##” in section 'HVFULSWLRQ. Choose 6DYH. $GPLQLVWUDWLRQ 1HWZRUN 5)& 2-2-2 Choose &UHDWH. Enter %&B B'(67 in field 5)& GHVWLQDWLRQ as a name for the new RFC destination. © SAP AG BC635 5-60 .

Choose Destination *DWHZD\ RSWLRQV (QWHU <sap system application server> in field Gateway host. Choose the SAP test system from the drop down list that you have defined in exercise 2-1-1. Choose /RRNXS. 2-3-1 Choose 6HWWLQJV from the SAP Business Connector navigation panel.. the password and the name of the interface and service. 2-2-4 Choose 2. Enter IF_## in field . Choose 6$3 from the SAP Business Connector navigation panel.2-2-3 Choose Registration as Activation Type. Enter sapgw<sap system number> in field Gateway service. the port.' in field Program ID. Enter %&B B. 2-3-2 Add a remote server by adding the data of your business connector. and choose 7HVW FRQQHFWLRQ.QWHUIDFH. Note: The parameters Program ID. Gateway host and Gateway service must have the same names as the parameters selected in the SAP Business Connector from exercise 2-1-3. Enter bookinglist in field 6HUYLFH)ORZ. Enter the following parameters (leave all other fields at their default values): $OLDV +RVW 1DPH RU . 2-3 Define a remote server in SAP BC using your own business connector. Choose 5(027(B%&B in field 6HUYHU $OLDV.3 $GGUHVV 3RUW 1XPEHU 8VHU 1DPH 3DVVZRUG 5555 Administrator manage REMOTE_BC_## localhost Choose $GG and then 2. For map type 6$3 FDOOLQJ 6$3 %& follow link 'HILQH 1HZ 0DS 2-4-2 Choose 'HIDXOW in field 3DFNDJH. Enter BAPI_SBOOK_GETLIST in section )XQFWLRQ E\ 1DPH in field )XQFWLRQ 1DPH. Note: you can alternate this by specifying the SAP BC of the group next to you – if you know the host name. Choose the 5)& /RRNXS tab. © SAP AG BC635 5-61 . 2-4 Define an outbound map as service in SAP BC 2-4-1 In order to receive a BAPI call you first need to make its interface known to the SAP Business Connector by creating a map of type 6$3 WR 6%&. Choose Save. Choose 6DYH.. Choose the 5HPRWH 6HUYHUV tab.

the result of a local call and the call with destination SAP BC will be different. If the data are different in your two SAP systems. © SAP AG BC635 5-62 . 2-5-2 Enter BAPI_SBOOK_GETLIST and choose single test 2-5-3 Enter the destination to your SAP BC (defined in exercise 2-2) and the data you previously used for this BAPI.2-5 Test the connection between the two SAP systems via SAP BC 2-5-1 Logon to the second SAP system and navigate to the function builder (transaction SE37).

0/ GRFXPHQWV l %XLOGLQJ )ORZV ZLWK WKH 6$3 %& 'HYHORSHU © SAP AG 1999 © SAP AG BC635 6-1 .6$3 WR QRQ6$3 &RPPXQLFDWLRQ &RQWHQWV l &RQQHFWLQJ QRQ6$3 V\VWHPV ZLWK 6$3 V\VWHPV l .PSOHPHQWLQJ VHUYLFHV RQ 6$3 %& l 0DSSLQJ .

0/ GRFXPHQWV WR 6$3 .6$3 WR QRQ6$3 &RPPXQLFDWLRQ 8QLW 2EMHFWLYHV $W WKH FRQFOXVLRQ RI WKLV XQLW \RX ZLOO EH DEOH WR l 6HQG .0/ GRFXPHQWV ZLWK 6$3 %& WR DQ .0/ VHUYHU l &UHDWH )ORZV ZLWK WKH 6$3 %& 'HYHORSHU l 0DS LQFRPLQJ .QWHUIDFHV © SAP AG 1999 © SAP AG BC635 6-2 .0/ GRFXPHQWV IURP D FOLHQW WR 6$3 %& l 3RVW .

6$3 WR QRQ6$3 &RPPXQLFDWLRQ&RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG 6$3 %& $UFKLWHFWXUH .0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 6-3 .

6$3 WR QRQ6$3 FRPPXQLFDWLRQ %XVLQHVV 6FHQDULR l $ QRQ6$3 V\VWHP RIIHUV LQIRUPDWLRQ LQ D SURSULHWDU\ IRUPDW 7R JHW WKH LQIRUPDWLRQ LQWR WKH 6$3 V\VWHP GDWD PDSSLQJ DQG WUDQVIRUPDWLRQ LV QHFHVVDU\ l $V D SURMHFW WHDP PHPEHU \RX DUH UHVSRQVLEOH WR SHUIRUP WKLV ZRUN LQ WKH 6$3 %XVLQHVV &RQQHFWRU GHYHORSHU © SAP AG 1999 © SAP AG BC635 6-4 .

6$3 6\VWHP WR QRQ6$3 6\VWHP &RPPXQLFDWLRQ 2YHUYLHZ 6$3 WR QRQ6$3 &RPPXQLFDWLRQ 2YHUYLHZ SAP BC as XML server SAP BC as XML client Processing and mapping Java classes © SAP AG 1999 © SAP AG BC635 6-5 .

everything else is transparent for you.6FHQDULRV ZLWK . 5 ( : $ / / 6$3 6\VWHP © SAP AG 1999 n n Scenarios with XML There are two main scenarios using XML via BC in the context of SAP to non-SAP communication: é SAP communicating with an XML web application é SAP communicating with a non-SAP backend system using an XML interface n Technically those two scenarios are exactly the same.0/ +773 ) . Therefore it’s not necessary to know what kind of system your communication partner is using. You only have to agree which XML dialect is to be used for the communication.QWHUQHW :HE $SSOLF DWLRQV ) . They are both using HTTP as the transport protocol and XML documents are used to exchange information. 5 ( : $ / / . © SAP AG BC635 6-6 .0/ .

© SAP AG ¥    ¨ ¥ £ ¡ ¦©©§¦¦¤¢  BC635 6-7 .'RF © SAP AG 1999 n n Example scenario: an external java application is used to send an xml document to the SAP system which shall create an IDoc of type ORDERS.([DPSOH VFHQDULR FUHDWH RUGHU 6$3 .0/ %& 6$3 V\VWHP 5)& 25'(56 .

set and develop the flows the SAP BC server is working with © SAP AG 9 75 I I RQPPPB H BC635  .0/ WR 6$3 VFHQDULR XVLQJ 6$3 %& 6$3 %& 5)& $ ! S "# T © SAP AG 1999 n n n The role of BC in XML scenarios The Business Connector’s tasks for XML scenarios with SAP systems can be divided in three parts: Decode the incoming and encode the outgoing XML document: This is either done automatically or the necessary services are already provided by the Business Connector. if necessary do some mappings that the document can be processed by the SAP system: é This logic has to be provided by you. so that you can work on a more abstract level with the document..0/ 6$3 V\VWHP U & ( D B 5 9 GFE¢¢7¦C0 A©( @ ! 9¢864322©)'% 75 3 1 0 ( & "# $  6-8 . as this is application level in which you need to know about the semantics of a document. Process a document using logic on the Business Connector. The SAP BC Developer is the tool to configure. n n n decode incoming and encode outgoing RFC containers: This is always done automatically if a BAPI is invoked in a SAP system or if an IDoc is sent to one.

which lets you open packages and view the structure of interfaces and services. é The Service Browser. which for a selected element in the Editor pane shows properties. variables. and in the case of a query. pipeline information. n Service Element Tabs (pipeline. which lists the flow operations of a chosen service. variables) © SAP AG BC635 6-9 .7KH 6$3 %& 'HYHORSHU 6HUYLFH %URZVHU 3DQH 6HUYLFH (GLWRU 3DQH 6HUYLFH (OHPHQW 3DQH © SAP AG 1999 n n The SAP BC Developer The SAP BC Developer is an environment for creating and testing SAP BC services. é the Editor pane. The code generated for integration modules provides a “stub” class suitable for registering new SAP BC services with the SAP BC. and é the Element pane. and code-harnesses for server side Integration Modules. it is also used for accessing SAP BC services. properties.

6$3 6\VWHP WR QRQ6$3 6\VWHP &RPPXQLFDWLRQ 2YHUYLHZ 6$3 WR QRQ6$3 &RPPXQLFDWLRQ Overview 6$3 %& DV .0/ VHUYHU SAP BC as XML client Processing and mapping Java classes © SAP AG 1999 © SAP AG BC635 6-10 .

0/ GRFXPHQW .1HFHVVDU\ VWHSV IRU FUHDWLQJ .0/ VFHQDULRV .'2& LQWHUIDFH V © SAP AG 1999  SURYLGH VRPH SURFHVVLQJ ORJLF V n n n n When preparing a non-SAP SAP scenario you have to go through a few steps: Identify data in the XML document: The document contains a set of tags.GHQWLI\ %$3. RU .0/ VWUXFWXUHV WR WKH %$3.'2& ZKLFK FDQ EH XVHG 8VH WKH 6$3 %& 'HYHORSHU WR  GR QHFHVVDU\ PDSSLQJV IURP WKH . with which you can execute the scenario Use the SAP BC Developer to provide the processing logic and to do necessary mappings from the XML structures to the BAPI/IDoc interface. RU . This is necessary as the structures of the XML document and the BAPI/IDoc might not fit to each other. © SAP AG BC635 6-11 . Identify a BAPI or an IDoc. and some of those tags are representing the data you want to process.GHQWLI\ GDWD LQ WKH .

0/ GRFXPHQW WR WKH 6$3 %& XVLQJ WKH )LOH 7UDQVIHU 3URWRFRO )73.0/ GRFXPHQW WR D VHUYLFH ZLWK FRQWHQW W\SH WH[W[PO l 3DVV WKH HQWLUH .3DVVLQJ DQ .0/ 'RFXPHQW WR D 6$3 %& 6HUYLFH 3RVVLEOH ZD\V IRU SDVVLQJ l 0DNH DQ +773 SRVW RI DQ DUELWUDU\ .0/ GRFXPHQW DV D VWULQJ LQ D YDULDEOH QDPHG [POGDWD ZKHQ \RX LQYRNH WKH VHUYLFH l 6HQG WKH .

which can be used by any SAP BC service that takes a node as input (e.idoc) n © SAP AG BC635 6-12 .rfc or application/x-sap. You can further HTTP post documents to any service using RFC-XML or IDoc-XML provided that it is indeed formatted according to SAP’s specification. it automatically transforms (parses) the XML into a document object. queryDocument.. é HTTP post an arbitrary XML document to a service with content type text/xml é You can send the XML document to the SAP BC using the File Transfer Protocol (FTP) n When the SAP BC receives an XML document via one of these methods. © SAP AG 1999 n n Ways to pass an XML document to a service There are three ways to pass an XML document to a SAP BC service: é You can pass the entire XML document as a string in a variable named $xmldata when you invoke the service.g. The content type has to be set accordingly (application/x-sap. documentToRecord).

0/ 'RFXPHQW WR D 6$3 %& 6HUYLFH IURP D :HE %URZVHU 6$3 %& KRVW .0/ GRFXPHQW © SAP AG 1999 n n n n n Passing an XML Document to a SAP BC service from a web browser To submit an XML document to a SAP BC service from a Web browser.QWHUIDFH QDPH 6HUYLFH QDPH  "! KWWSZZZKRWKGHLQYRNHVIOLJKWJHW)OLJKW'DWH" [POGDWD "[PO YHUVLRQ 7KH ³LQYRNH´ NH\ZRUG 7KH ³[POGDWD´ YDULDEOH QDPH 7KH .3DVVLQJ DQ .the server assumes that the value of this variable is an XML document. (For the purposes of illustration. n n © SAP AG BC635 6-13 . This diagram shows the URL you would use to submit an XML document to a service called Purch:ShipNotice on a SAP BC Integration Sever called www. and that request includes an input variable named $xmldata.) This method is equivalent to posting an XML document with content type text/xml to the server.com. however. in practice you would more likely use the POST method. When the SAP BC receives a request to invoke a service. create a browser application that: Generates an XML document Submits the XML document to the SAP BC service’s URL as the value of a variable called $xmldata. the server automatically parses the content of that variable (the XML document) before passing it as input to the requested service. this example uses the GET method to pass the XML data to the server. The variable name $xmldata has special meaning to the SAP BC .rubicon.

0/ GRFXPHQW PXVW EH FRQWDLQHG LQ D ILOH WKDW KDV D ILOH H[WHQVLRQ RI ³[PO´ l 7KH 6$3 %& VHUYLFH WR ZKLFK \RX ZDQW WR SDVV WKH GRFXPHQW PXVW WDNH D QRGH DV LQSXW © SAP AG 1999 n n Passing an XML Document to a SAP BC Service Using FTP The SAP BC can also pass an XML document to a SAP BC that it receives on its FTP listening port. To use this method: é The XML document must be contained in a file that has a file extension of “xml. By default the FTP listener is assigned to port 8021.” é The SAP BC service to which you want to pass the document must take a node as input. n © SAP AG BC635 6-14 . When the SAP BC receives an XML document on its FTP listening port. this assignment is configurable. However. it automatically parses the document and passes it as input to the service in the directory where the file was FTPed. so you should check with your SAP BC server administrator to see which port is used for FTP communications on your SAP BC.0/ 'RFXPHQW WR D 6$3 %& 6HUYLFH 8VLQJ )73 7R XVH WKLV PHWKRG l 7KH .3DVVLQJ DQ . é This method is equivalent to posting an XML document with content type text/xml to the server.

6$3 6\VWHP WR QRQ6$3 6\VWHP &RPPXQLFDWLRQ 2YHUYLHZ 6$3 WR QRQ6$3 &RPPXQLFDWLRQ Overview SAP BC as XML server 6$3 %& DV .0/ FOLHQW Processing and mapping Java classes © SAP AG 1999 © SAP AG BC635 6-15 .

0/ VWUXFWXUHV V n n n  SURYLGH VRPH SURFHVVLQJ ORJLF V © SAP AG 1999 When preparing a non-SAP SAP scenario you have to go through a few steps: Use the SAP BC Developer to provide the processing logic and to do necessary mappings from the BAPI/IDOC data to the XML structures.0/ FOLHQW VFHQDULRV 6HQG WKH .0/ GRFXPHQW 8VH WKH 6$3 %& 'HYHORSHU WR  GR QHFHVVDU\ PDSSLQJV IURP WKH %$3. Send the XML document © SAP AG BC635 6-16 . RU .'2& GDWD WR .1HFHVVDU\ VWHSV IRU FUHDWLQJ .

7KH 6$3 %& DV DQ .0/ FOLHQW .

If the pipeline contains an IDOC the XML transport automatically creates IDOC XML.'RF.'RFV DQG 5)&.0/ IRU . if a BAPI representation is found there an RFC XML document is generated. © SAP AG BC635 6-17 . message type orders 7KH URXWLQJ UXOH ZLWK .0/ GRFXPHQWV WR WKH 85/ © SAP AG 1999 n n The Business Connector as an XML client (1) There are two recommended ways for acting as an XML client with the Business Connector: • 1) Use the routing mechanisms of BC and choose the transport XML.0/ WUDQVSRUW DXWRPDWLFDOO\ l FUHDWHV .0/ IRU %$3. This transport executes an HTTP post to the specified URL. URXWLQJ UXOH sender receiver transport url processing  hugo catalog XML http://.V l +773SRVWV 6$3..

7KH 6$3 %& DV DQ .0/ FOLHQW .

for example by using the standard services provided by Business Connector for that.0/ GRFXPHQW FUHDWH WKH .0/ GRFXPHQW XVLQJ VWDQGDUG VHUYLFHV XVLQJ VWDQGDUG VHUYLFHV XVH SXEFOLHQWKWWS WR SRVW WKH XVH SXEFOLHQWKWWS WR SRVW WKH GRFXPHQW WR DQ . 3URYLGH \RXU 3URYLGH \RXU RZQ VHUYLFH RZQ VHUYLFH FUHDWH WKH .client:http service (located in WmPublic) to post an XML document to an XML server. In this case the document has to be created before.0/ VHUYHU GRFXPHQW WR DQ . © SAP AG BC635 6-18 .0/ VHUYHU DSSOLFDWLRQ DSSOLFDWLRQ © SAP AG 1999 n The Business Connector as an XML client (2) • 2) Provide your own service using the pub.

6$3 6\VWHP WR QRQ6$3 6\VWHP &RPPXQLFDWLRQ 2YHUYLHZ 6$3 WR QRQ6$3 &RPPXQLFDWLRQ Overview SAP BC as XML server SAP BC as XML client 3URFHVVLQJ DQG PDSSLQJ Java classes © SAP AG 1999 © SAP AG BC635 6-19 .

© SAP AG BC635 "# T U AFER¢¦C0 5AP( @ & ( D 7 B 9 9 75 I I ¢FPP¦B H ! 9¢8P¢322PW¤% 75 3 1 0 ( & "# $   .0/ 5)& 6$3 V\VWHP . your class has to follow some rules. the SAP BC Developer.3URFHVVLQJ ORJLF DQG PDSSLQJ 6$3 %& $ ! S 6-20 l %XLOG -DYD RU )ORZ VHUYLFHV ZLWK WKH 'HYHORSHU l . VB) or if you are using Java. You could either use the tool delivered with the Business Connector.PSOHPHQW VHUYLFHV LQ -DYD && RU 9% © SAP AG 1999 n n Processing logic and mapping When you need some additional processing logic in the Business Connector or if a mapping has to be applied to the data you‘ll have to create your own services. for creating Java and/or Flow services or you implement your services in your favorite programming language and include it in the Business Connector using JNI Libraries (C++.

remember that packages contain interfaces.QYRFDWLRQV V © SAP AG 1999 6HUYLFH VSHFLILFDWLRQV V :HE WDSV V -DYD VHUYLFHV V n As a refresher. which contain more interfaces and different types of services. © SAP AG BC635 6-21 .6WUXFWXUH RI 6HUYLFHV 3DFNDJHV &RQWDLQ LQWHUIDFHV ZKLFK FRQWDLQ VHUYLFHV VXFK DV .

What package will this service be published in? What interface will this service reside in? What is the anticipated input and expected output for this service? © SAP AG BC635 6-22 .&UHDWLQJ D 6HUYLFH %HIRUH \RX FDQ FUHDWH D VHUYLFH \RX QHHG WR NQRZ  :KDW SDFNDJH ZLOO WKLV VHUYLFH EH SXEOLVKHG LQ"  :KDW LQWHUIDFH ZLOO WKLV VHUYLFH UHVLGH LQ"  :KDW LV WKH DQWLFLSDWHG LQSXW DQG H[SHFWHG RXWSXW IRU WKLV VHUYLFH" © SAP AG 1999 n n n n n Creating a service Creating Java services with the SAP BC Developer is easy. Before you can create a service you need to know a few items. since the Developer does most of the work for you.

:KDW LV WKH 3LSHOLQH" .

1(&$55.( VIOLJKWVIOLJKW*HW'HWDLO . When a service in the flow executes.( VIOLJKWJHW)OLJKW'DWH $. The pipeline starts with the input to the flow service and collects inputs and outputs from subsequent services in the flow.192.21180%(5 . It allows services in the flow to share data.192. it has access to all data in the pipeline at that point.5/.192.( VIOLJKWJHW)UHH6HDWV . © SAP AG BC635 6-23 .192.(5/+ 3LSHOLQH 9DOXHV &211(&7.192.( VIOLJKWERRN)UHH6HDWV © SAP AG 1999 n n n What is the Pipeline? The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a flow service.( VIOLJKWVIOLJKW*HW'HWDLO . )ORZ 6HUYLFHV .

:KDW LV WKH 3LSHOLQH" .

( VIOLJKWJHW)UHH6HDWV .5/.21180%(5 c a ` bRRcba f '$7(2))/.(5/+ 3LSHOLQH 9DOXHV . In this service actually BAPI_SBOOK_GETLIST is called.192. the service sflight:getFlightDate receives the inputs AIRLINECARRIER and CONNECTIONNUMBER and returns the next date of this flight in DATEOFFLIGHT.192.( VIOLJKWVIOLJKW*HW'HWDLO .( VIOLJKWVIOLJKW*HW'HWDLO .1(&$55.*+7 .192. © SAP AG 6-24 . )ORZ 6HUYLFHV d c a Y e¦b`©8X BC635 $.( VIOLJKWERRN)UHH6HDWV © SAP AG 1999 n For example.192.192.( VIOLJKWJHW)OLJKW'DWH &211(&7.

:KDW LV WKH 3LSHOLQH" .

192. sflight:bookFreeSeats may use the airline carrier.192. the connection number and the date of flight to perform booking of all free seats.( VIOLJKWERRN)UHH6HDWV © SAP AG 1999 n The values AIRLINECARRIER. )ORZ 6HUYLFHV .21180%(5 '$7(2))/.1(&$55.192.192. CONNECTIONNUMBER and DATEOFFLIGHT are available to another service.( VIOLJKWJHW)OLJKW'DWH dh¦¢PYgX c a ` BC635 $.( VIOLJKWJHW)UHH6HDWV .for example.(5/+ 3LSHOLQH 9DOXHV &211(&7.192.*+7'$7$5(&25'! 5(78515(&25'! . which is returned by BAPI_SFLIGHT_GETDETAIL All of these values are now available to future services that may need them . which uses those values to get the details of this flight in FLIGHTDATA.( VIOLJKWVIOLJKW*HW'HWDLO .5/. n © SAP AG d c a ` c 2bRRba f 6-25 . sflight:sflightGetDetail.*+7 )/.( VIOLJKWVIOLJKW*HW'HWDLO .

this parameter is detected. On the server side. you can use the Test/Send XML File.7HVWLQJ . menu item. put into the pipeline as "node" and then have a service called.0/ VHUYLFHV l 7HVW6HQG .. the remainder of the Trace or Step is the same as if you had done a regular Trace/Step. that this only works for Flows and that you can’t kick off a regular "Run" starting with an XML file. At this point.0/ )LOH« l /RDG'RFXPHQW l +773 VXEPLVVLRQ IRUP l‚ m“u  R©RP©¦u ¤‰ PR2wf2kGR6R¦Ab6¢PRP˜gufs ‰ h¤PG¢Ry™—w¦•”“©¢q¦4w G‰ ‘ i r u † d  p r u ’ d u j q i ’ ‘ d h h h h ’ w e q x d d ˜ – w x‚  ’ ‘  ˆ ‡ † … ƒ‚  q x u s s q P'R©„R€¦Gyw¤vterPPp¦i © SAP AG 1999 n n n How can I post arbitrary XML to a service from the Developer? There are ways on the server for an XML document to be received. You are prompted for whether you want Trace or Step mode and then you select a file.. Note. the string is parsed and a new pipeline is created with the parsed document as "node". To simulate this behavior from Developer. n n © SAP AG BC635 6-26 . parsed. Developer uses Flow incremental invoke to pass a special parameter in the pipeline containing the XML from the file.

A flow service defines how data flows among the services and manages the flow of data.into a single service.IM services and other flow services -. so you don‘t have to code to build new services! © SAP AG BC635 6-27 .QWHJUDWHV PXOWLSOH VHUYLFHV LQWR D VLQJOH VHUYLFH l 'HILQHV KRZ GDWD IORZV DPRQJ WKH VHUYLFHV © SAP AG 1999 n n Flow Control Language Flow services integrate multiple services -.)ORZ &RQWURO /DQJXDJH l $OORZV JUDSKLFDO SURJUDPPLQJ LQ 6$3 %& l . Flows are „programmed“ graphically.

or transform data from one representation to another. select services based on data values. define a set of alternative services should any one service fail. © SAP AG BC635 6-28 . place timeouts on the duration of operations. retry services that fail.)HDWXUHV RI )ORZ 6HUYLFHV l 5HWU\ VHUYLFHV WKDW IDLO l 'HILQH D VHW RI DOWHUQDWLYH VHUYLFHV VKRXOG DQ\ RQH VHUYLFH IDLO l 3ODFH WLPHRXWV RQ WKH GXUDWLRQ RI RSHUDWLRQV l 6HOHFW VHUYLFHV EDVHG RQ GDWD YDOXHV l 3HUIRUP D VHTXHQFH RI RSHUDWLRQV RQFH IRU HDFK YDOXH LQ D VHW RI YDOXHV l 7UDQVIRUP GDWD IURP RQH UHSUHVHQWDWLRQ WR DQRWKHU © SAP AG 1999 n n Features of Flow services Flow services can be used to define a service chain. perform a sequence of operations once for each value in a set of values.

During this stage. During this stage. you specify the work that you want the service to perform by adding flow operations to the service. you create the new service on the SAP BC where you will do your development and testing. Insert flow operations into the new service. or a flow that pushes the data to a connected database. you assign parameters that configure the run-time environment for this service.6WHSV LQ %XLOGLQJ D )ORZ 6HUYLFH  &UHDWH D QHZ VHUYLFH  . During this stage. n © SAP AG BC635 6-29 . you route input and output values between services that are invoked in the flow. Specify the signature of the service. Map pipeline data. NOTE: Not all flows use all six steps -. Specify the run-time parameters.QVHUW IORZ RSHUDWLRQV  6SHFLI\ WKH VLJQDWXUH RI WKH VHUYLFH  0DS SLSHOLQH GDWD  6SHFLI\ UXQWLPH SDUDPHWHUV  )RUPDW RXWSXW © SAP AG 1999 n n n n n n n Steps in building a Flow service Create a new service on the SAP BC. Format Output. During this stage. During this stage. This may be an output template for an HTML or XML document. you define the service’s inputs and outputs. there may be no user inputs in a particular search.for example.

)ORZ 2SHUDWLRQV l .QYRNH  H[HFXWHV D VHUYLFH l %UDQFK  RSHUDWHV EDVHG RQ D SLSHOLQH YDOXH l /RRS  H[HFXWHV RSHUDWLRQV RQFH IRU HDFK HOHPHQW LQ DQ DUUD\ l 5HSHDW  H[HFXWHV RSHUDWLRQV D VSHFLILHG QXPEHU RI WLPHV l 6HTXHQFH  JURXSV VHWV RI RSHUDWLRQV l 0DS  IRU HGLWLQJ 3LSHOLQH HJ DGGLQJGURSSLQJ YDULDEOHV.

As we go through this course. You can move things up and down or delete them with the other keys. Common properties of those operations: Label: (Optional) Specifies a name for this instance of an operation. QueryDocument. may have a link to the pipeline. a flow can be more understandable if you specify instance names that are meaningful to you. DocumentToRecord. Each flow operation has properties. A flow operation is a basic unit of work (expressed in the SAP BC flow language) that the SAP BC interprets and executes at run time. you will have the opportunity to use each service. COM Services. and in the case of Queries. has variables. Because the Developer displays the instance name in the flow editor. set Timeout to zero (0). © SAP AG 1999 n n n What is a Flow Operation? A flow service contains flow operations. n n n n n n © SAP AG BC635 6-30 . and Remote Invoke. for example. Timeout: Specifies the number of milliseconds that the server waits for the operation to complete before raising an exception. the name is the operation [+ something specific]. You can also use an invocation to run another service. CreateRegions. If you do not want to set a timeout period. a Java Service. Looks like Invoke can do LoadDocument. all of those possible operations are explained on the following slides. By default. RecordToDocument.

including another flow service. The INVOKE operation has the following special properties. Conditions that will cause an INVOKE operation to fail The INVOKE flow operation does not complete before the timeout period expires. © SAP AG BC635 6-31 . You can use it to invoke any type of SAP BC service.QYRNH l .)ORZ RSHUDWLRQV  . Service: (Required) Specifies the fully-qualified name of the service to invoke. The service that is invoked fails. The specified service does not exist. The specified service is disabled.QYRNHV D SUHYLRXVO\ EXLOW VHUYLFH l $OORZV VHUYLFH FKDLQLQJ IRU FRPSOH[ IORZV l /HYHUDJHV PRGXODULW\ LQ GHVLJQ © SAP AG 1999 n n n n n n n n n INVOKE The INVOKE flow operation invokes another service.

The BRANCH flow operation executes the child operation that has the same name as the value of the Switch property. If you leave a child operation unnamed and the value of the Switch property does not match any of the named child operations. The matching child operation fails. the BRANCH flow operation executes the unnamed child operation. The BRANCH flow operation does not complete before the timeout period expires. n n n n n n © SAP AG BC635 6-32 . You may leave one child operation unnamed (which is represented by an asterisk). Switch: (Required) Specifies the name of the field in the pipeline that the BRANCH operation uses as the switch field to select the child operation to execute. You specify the switch field in the Switch property of the BRANCH operation. The BRANCH operation has the following special properties. Conditions that will cause a BRANCH operation to fail: The switch field is not in the pipeline.)ORZ RSHUDWLRQV  %UDQFK LI WKH YDOXH RI FKRLFH LV C1DPHC LI WKH YDOXH RI FKRLFH LV C1DPHC 1DPH RI WKH VZLWFK ILHOG LV FKRLFH 1DPH 1DPH LI WKH YDOXH RI FKRLFH LV C1DPH1C 2WKHUZLVH 1DPH1 1DPH1 © SAP AG 1999 n n BRANCH The BRANCH flow operation selects and executes a child operation based on the value of a specified field (referred to as the switch field) in the pipeline.

string table. The LOOP operation has the following special properties. For example. Conditions that cause a LOOP to fail The pipeline does not contain the input array. The LOOP flow operation collects an output value each time through the loop and creates an output array that contains the collected output values. A child operation of the LOOP operation fails during any iteration of the loop. record list.QSXW LV DQ DUUD\ 0RUH LQSXW DUUD\ PHPEHUV" <HV JHW QH[W PHPEHU RI LQSXW DUUD\ FKLOG FKLOG FKLOG FKLOG FKLOG FKLOG © SAP AG 1999 n The LOOP flow operation takes as input an array field that is in the pipeline. Input Array: (Required) Specifies the input array over which to loop. that is. You identify a single array field to use as input when you set the properties for the LOOP flow operation. string list. n n n n n n n n © SAP AG BC635 6-33 . you have a service that takes a string as input and a string list in the pipeline. Output Array: Specifies the name of the output field. If you want to collect more than one field. You can also designate a single field for output. The LOOP flow operation does not complete before the timeout period expires. It loops over the members of an input array executing its child operations each time through the loop. specify a record that contains the fields you want to collect for the output field. Use the LOOP operation to invoke the service one time for each string in the string list.)ORZ RSHUDWLRQV  /RRS 1R . or object list. The input field is not an array field. You must specify a field in the pipeline that has an array data-type. The value of this field is collected each time through the loop and placed in an output array of this name.

the sequence ends prematurely and the sequence fails. The sequence does not end prematurely. (success) The SEQUENCE flow operation does not complete before the timeout period expires.(failure) All the child operations fail.)ORZ RSHUDWLRQV  6HTXHQFH )LUVW . and if so. Exit-on é Failure: Exit the sequence when a child operation fails. If a child operation succeeds. under what condition. The SEQUENCE operation has the following properties. the sequence ends prematurely and the sequence succeeds. Use this condition when you want to define a set of alternative services. é Done: Exit the sequence after executing all child operations.(all exit conditions) © SAP AG BC635 6-34 . so that if one fails. another is attempted. Use this when you want to ensure that all child operations are completed successfully. You can set an exit condition that indicates whether the sequence should exit prematurely. One of the child operations fails. é Success: Exit the sequence when a child operation succeeds. Use this condition when you want to execute all of the child operations regardless of their outcome.I H[LW FRQGLWLRQ LV QRW PHW . n n n n n n Conditions that cause failure based on the exit condition for the sequence.I H[LW FRQGLWLRQ LV QRW PHW FKLOG FKLOG FKLOG FKLOG FKLOG FKLOG © SAP AG 1999 n The SEQUENCE operation forms a collection of child operations that execute sequentially. If any child operation fails.

One more example are customer specfic additions to standard IDocs which require the removal or adding of segments.g. In and cm as length unit). In open scenarios there are several document definitions for the same document type. that their customizings are different and require different values for the same fields (e. an order can be represented as an IDoc order. though they might have the same backend system. © SAP AG BC635 6-35 .:K\ LV PDSSLQJ QHFHVVDU\" l 6HYHUDO GRFXPHQW GHILQLWLRQV DUH XVHG LQ D VFHQDULR HJ F. it is often the case.g. When partners are communicating via the internet.'RF RUGHU l 'LIIHUHQW YHUVLRQV RI D IXQFWLRQ PRGXOH DUH XVHG l &XVWRPL]LQJ WKH SDUWQHUV¶ EDFNHQG V\VWHPV UHTXLUH GLIIHUHQW YDOXHV IRU VDPH ILHOGV LQ . e.'RFV UHTXLUH UHPRYDO RU DGGLQJ RI VHJPHQWV © SAP AG 1999 n n Why is mapping necessary? Mapping is always then an issue. when different systems are talking with each other. cXML order or any other order definition.0/ RUGHU 5RVHWWD1HW RUGHU . RosettaNet order. Mapping is also required if different versions of function modules are used in one scenario.'RFV l &XVWRPHU VSHFLILF DGGLWLRQV WR .

another one might build a hierarchy to represent the same person as one entry containing two fields first name and last name. Structure Transformations . The SAP BC server’s content handlers (bindings and templates) natively support both name and structure transformations. For example. Name transformations rename variables to conform to the requirements of the target application. 1999" to represent the New Year of 1999 while another uses the value „19990101". string operations.Renaming of application-level parameters. © SAP AG n nn H[DPSOH IODW VWUXFWXUH WR D KLHUDUFK\ UHWXUQLQJ GLIIHUHQW OH[LFDO IRUPDWV IRU GDWD UHSODFH YDOXHV EDVHG RQ ORRNXS WDEOH H[DPSOH ³-DQXDU\  ´ WR ³´ BC635 6-36 . one application may use the value " "January 1. currency conversions. Value transformations convert between the lexical representations required by different applications. Value Transformations .Representation of data in different lexical formats. For example. one application might use the term "PurchaseDate" while another uses the term "DatePurchased". SAP BC services that perform value transformations are created as Java services. Value transformations are accomplished via SAP BC services that implement standard transformations such as date/time conversions. For example. one application could represent a person in a flat structure by its first and last name in one field.Representation of the same data in different data structures.'DWD 7UDQVIRUPDWLRQ l 1DPH 7UDQVIRUPDWLRQ nn n n n n n n UHQDPLQJ RI DSSOLFDWLRQOHYHO SDUDPHWHUV l 6WUXFWXUH 7UDQVIRUPDWLRQ UHVWUXFWXULQJ GDWD n n H[DPSOH ³3XUFKDVH'DWH´ WR ³'DWH3XUFKDVHG´ l 9DOXH 7UDQVIRUPDWLRQ n n © SAP AG 1999 Data transformation The SAP BC supports three types of data transformations: Name Transformations . and database lookups.

6$3 6\VWHP WR QRQ6$3 6\VWHP &RPPXQLFDWLRQ 2YHUYLHZ 6$3 WR QRQ6$3 &RPPXQLFDWLRQ Overview SAP BC as XML server SAP BC as XML client Processing and mapping -DYD FODVVHV © SAP AG 1999 © SAP AG BC635 6-37 .

When you save the source file. The SAP BC Developer provides an Integrated Development Environment (IDE) that you can use to create. and then manually copy and register the class file on the SAP BC server. When you use your own IDE to build a service.:K\ XVLQJ -DYD" l -DYD LV WKH QDWLYH ODQJXDJH IRU 6$3 %& VHUYLFHV l <RX FDQ XVH MDYD LQVLGH WKH 6$3 %& GHYHORSHU l <RX FDQ XVH \RXU RZQ MDYD . simple services. Although the Developer’s IDE is useful for creating small. the IDE automatically compiles it and then registers it on the SAP BC server. SAP BC provides utilities that will help you compile and publish services you write in your own IDE. compile it in your IDE.There are also times when you need to use some code to bridge between SAP BC and an existing application. compile. and publish Java services. you will probably want to use your own Java IDE to build large services. you must create all of the code yourself. It automatically generates an appropriately-structured source file that you simply “fill-in” with the built-in editor.'( © SAP AG 1999 n n Using code in services You can often accomplish the same things that flow services do by writing code. for example running a batch file. n n © SAP AG BC635 6-38 .

'( DQG WKHQ PDQXDOO\ FRS\ DQG UHJLVWHU WKH FODVV ILOH RQ WKH 6$3 %& VHUYHU l 6$3 %& SURYLGHV XWLOLWLHV WKDW ZLOO KHOS \RX FRPSLOH DQG SXEOLVK VHUYLFHV \RX ZULWH LQ \RXU RZQ . This allows you to create a library of custom code that can be accessed and executed from a flow service or from a client application using SAP BC’s API’s.'( © SAP AG 1999 n n Using code in services In addition to using the built-in services that SAP BC provides. you can create your own custom services in a variety of program languages.'( WR EXLOG D VHUYLFH \RX PXVW FUHDWH DOO RI WKH FRGH \RXUVHOI FRPSLOH LW LQ \RXU .8VLQJ &RGH LQ 6HUYLFHV l :KHQ \RX FUHDWH VHUYLFHV LQ RWKHU ODQJXDJHV \RX PXVW ZUDS WKHP WR DSSHDU DV D -DYD FODVV WR WKH 6$3 %& l :KHQ \RX XVH \RXU RZQ . © SAP AG BC635 6-39 .

3RLQWV WR FRQVLGHU IRU 6HUYLFH FODVVHV l 7KH -DYD FODVV PXVW LPSRUW WKHVH -DYD SDFNDJHV FRPZPXWLO9DOXHV n © SAP AG 1999 FRPZPDSS%%VHUYHU6HUYLFH n l 3ODFH FRGH XQGHU WKH FRGHVRXUFH GLUHFWRU\ ZLWKLQ D SDFNDJH l 7KH -DYD FODVV PXVW EH SXEOLF 6KRXOG EH ILQDO IRU EHVW SHUIRUPDQFH.

Your Java class must import the following Java packages. return out. n n n n n n n n n n n n n l (DFK -DYD VHUYLFH PXVW WDNH DQG UHWXUQ D 9DOXHV REMHFW . Your Java class must be public. é com. If your class belongs to a package say com.B2B.util.server. Place all your code under the /code/source directory. é com.wm.app.W LV EHVW WR UHWXUQ WKH VDPH 9DOXHV REMHFW \RX UHFHLYH n Points to consider for Service classes Java services written using your own IDE can easily be imported over to SAP BC.Utils then you have to place the Java source file under /code/source/com/mycompany/Utils.mycompany. Here is what the simplest Java service will look like: public final static Values myservice(Values in) { Values out = in.Values. Each Java service that you write must take and return a Values object. © SAP AG BC635 6-40 . It is also recommended that it be final for performance reasons.Service. } Note: It is recommended that you return the same Values object you receive in your service.wm.

Any information that is produced by the service and must be returned to the calling program. must be written to an element in the Values object. The Values object can contain any number of elements of any valid Java data type. n n n © SAP AG BC635 6-41 . input variable — a Values object. The service extracts the actual input values it needs from the elements of the Values object. When a SAP BC service is invoked. including additional Values objects. By definition. The Values object is the Java representation of records and the pipeline. the SAP BC passes the Values object to it. The Values object is an ordered hashtable that contains the individual data elements upon which a SAP BC service operates. A SAP BC service also returns a Values object as output.7KH 9DOXHV 2EMHFW  LV DQ RUGHUHG KDVKWDEOH WKDW FRQWDLQV WKH LQGLYLGXDO GDWD HOHPHQWV XSRQ ZKLFK D 6$3 %& VHUYLFH RSHUDWHV  FDQ FRQWDLQ DQ\ QXPEHU RI HOHPHQWV RI DQ\ YDOLG -DYD GDWD W\SH LQFOXGLQJ DGGLWLRQDO 9DOXHV REMHFWV  LV WKH -DYD UHSUHVHQWDWLRQ RI WKH 3LSHOLQH DQG 5HFRUGV © SAP AG 1999 n n The Values Object The Values object is the universal container that SAP BC services use to receive input from and deliver output to other programs. and only one. a SAP BC service takes one.

Using flow allows easy creation of a new service.%XLOGLQJ 6HUYLFHV ZLWK D 3URJUDPPLQJ /DQJXDJH 'HFLGLQJ ZKDW NLQG RI VHUYLFH WR XVH )ORZ 6HUYLFHV -DYD & 9LVXDO %DVLF  6HUYLFHV $GYDQWDJHV l (DV\ WR FUHDWH l 1R QHHG WR UHFRPSLOH DIWHU FKDQJHV 'LVDGYDQWDJHV l 2QO\ SHUPLWV XVH RI H[LVWLQJ VHUYLFHV DQG IORZ RSHUDWLRQV l 1HHG WR FRGH DQG UHFRPSLOH DIWHU FKDQJHV 0RUH IOH[LEOH PDQLSXODWH GDWD GLUHFWO\ l 0RUH UREXVW HUURU KDQGOLQJ l 0DNH GLUHFW FDOOV WR GDWDEDVH DQG RWKHU $3.V l © SAP AG 1999 n n Building services with a programming language Depending on the problem you want to solve. © SAP AG BC635 6-42 . you have to decide what kind of service you use for the solution. For more complex problems it is often more appropriate to use a programming language like Java. but is restricted to the existing services and the flow operations. This allows a more robust error handling and you can access APIs in libraries.

0/ GRFXPHQWV ZLWK 6$3 %& WR D .0/ GRFXPHQWV WR 6$3 .QWHUIDFHV © SAP AG 1999 © SAP AG BC635 6-43 .0/ VHUYHU l &UHDWH )ORZV ZLWK WKH 6$3 %& 'HYHORSHU l 0DS LQFRPLQJ .6$3 WR QRQ6$3 &RPPXQLFDWLRQ 8QLW VXPPDU\ <RX DUH QRZ DEOH WR l 6HQG .0/ GRFXPHQWV IURP D FOLHQW WR 6$3 %& l 3RVW .

g. 1-1-1 Use the wrapper module for calling BAPI_SBOOK_GETLIST Use the wrapper function module that your instructor offers you (e. Call the BAPI with the values AIRLINECARRIER = LH and CONNECTIONNUMBER = 0400. Look for the routing rule in the folder ZP3DUWQHU0JUIORZV VHQGHU!UHFHLYHU!PVJW\SH!. Complete this Routing Rule.0/ VHUYHU ZLWK 6$3 %& At the conclusion of this exercise. 1-1 Calling an XML server with BC In the last unit we called another SAP system to execute BAPI_SBOOK_GETLIST there.([HUFLVHV 8QLW 6$3 WR QRQ6$3 &RPPXQLFDWLRQ 7RSLF &DOOLQJ DQ . but the target where it is executed is a non-SAP system. The flight information is missing in the returned booking information. 1-3 Provide mapping to get complete results In the current status of the exercise you won’t get complete results in the SAP system. When looking at the returned document in the perl server output. Your instructor will tell you where to find the perlserver. a routing rule will have been created in the Business Connector. so that it executes an HTTP POST of an RFC XML document to the perl server and execute your wrapper module again. © SAP AG BC635 6-44 . you will be able to: • Use wrapper modules for calling BAPIs using SBCHEADER • Complete Routing Rules to XML servers • Provide simple mappings in the developer Sending requests to an XML web server (e. parcel tracking. BC635_CALL_SAPBC). you can recognize that the structure is different from the one that has to be sent to the SAP system. The used XML documents might be different from BAPI structures so that mapping is required. In our case a small perl server will play the role of an XML application somewhere in the net. order requests) from within the SAP system. In this exercise we will again call this BAPI in our system. 1-2 Complete the Routing Rule to the XML server After having executed your completed wrapper module once.g.

flows. Keep in mind that all elements must be named in capital letters. <sender>.BAPI_SBOOK_GETLIST.PartnerMgr.1-3-1 Create records for both the XML structure and the BAPI structure of the BOOKINGLIST in the folder where your flow is located. so that all the information is returned to the SAP system.<receiver>. 1-3-2 Insert a mapping in your routing rule flow. The name of the flow reflects the path where to look for it: wm. © SAP AG BC635 6-45 .

On the following screen select the transport XML. you’ll find a new Routing Rule in Business Connector.6ROXWLRQV 8QLW 6$3 WR QRQ6$3 &RPPXQLFDWLRQ 7RSLF &DOOLQJ DQ . Make sure that the routing rule will be saved in the package Default.0"> <RETURN> <TYPE>S</TYPE> <ID/> <NUMBER>000</NUMBER> <MESSAGE/> <LOG_NO/> <LOG_MSG_NO>000000</LOG_MSG_NO> <MESSAGE_V1/> <MESSAGE_V2/> <MESSAGE_V3/> <MESSAGE_V4/> © SAP AG BC635 6-46 . 5.0" encoding="iso-8859-1"?> <sap:Envelope xmlns:sap="urn:sap-com:document:sap"> <sap:Body> <rfc:BAPI_SBOOK_GETLIST. The new routing rule will be indicated by a red bullet in the status field. which you can identify with your chosen sender and receiver information and the red bullet in the status field. In the perl server you will find the following output: <?xml version="1. which you can find by clicking on the routing button in the left frame. 2. After executing the wrapper. Note. Save the Routing Rule by clicking on the Save button. Click on the edit button beside the new routing rule. 3.0/ VHUYHU ZLWK 6$3 %& 1-1 Calling an XML server with SAP BC 1-1-1 Execute the wrapper module in Function Builder using the following values: CARRIER = LH. that the fields for the flight information is missing. 1-2 Complete the Routing Rule to the XML server 1.Response xmlns:rfc="urn:sapcom:document:sap:rfc:functions" version="1. Insert the URL where you want to post the document to . you will see.in the case of the perl server it’s http://localhost:4242/bookingCenter/getBookingList 4. CONNID = 0400 and DESTINATION = <your_rfcdest> Further populate the SBCHEADER with sender = <senderName> and receiver = <receiverName>. that the keys in SBCHEADER are case-sensitive. Execute the wrapper in the Function Builder again and you’ll get a result back. But the result will still be incomplete: if you display the entries of the booking list.

<PARAMETER/> <ROW>0</ROW> <FIELD/> </RETURN> <BOOKINGLIST> <item> <FLIGHT> <CARRID>LH</CARRID> <CONNID>0400</CONNID> <FLDATE>2000-11-29</FLDATE> </FLIGHT> <BOOKID>00001679</BOOKID> <CUSTOMID>00000084</CUSTOMID> <ORDER_DATE>2000-02-23</ORDER_DATE> <CANCELLED/> </item> <item> . the structure of a table entry in the returned document is more hierarchical than the one in the BAPI.Response> </sap:Body> </sap:Envelope> 1-3 Provide mapping to get complete results As you can see. Therefore you’ll have to adopt the routing rule flow and insert a mapping before returning the results. You add a new record by clicking on the green cross beside the disk button. The bapiBookingList consists completely of text variables: 7 CARRID 7 CONNID 7 FLDATE 7 BOOKID 7 CUSTOMID 7 ORDER_DATE 7 CANCELLED © SAP AG BC635 6-47 .. Now the new record is created and at first empty. After pushing the Next button enter a useful name (e. 1-3-1 For making mapping easier. By clicking on the green cross below the record name you can add the components of your record. </item> </BOOKINGLIST> </rfc:BAPI_SBOOK_GETLIST. define the records in the Developer: For both the xmlBookingList and the bapiBookingList record you have to create the line definition which is found in between the item tag BAPISBLIST of the perl server output.g. select then the record radio button. select an interface in which to save the record and push the Finish button. xmlBookingList). There is a record representing the flight information..

so the MAP is part of the LOOP. Insert BOOKINGLIST in both the in-array and out-array field of the LOOP properties. click on the green cross in the pipeline toolbar.7 CONNID |---. which you can find in the package you created it in with the name wm. Indent the MAP by using the blue arrow pointing right.The xmlBookingList however includes one record for the flight information: 5 FLIGHT |---. consists of a LOOP and a MAP: as the result is in a table parameter you have to loop over the rows and map each row to the correct structure. This time you’ll find all the booking information in the BOOKINGLIST table. Save the flow and execute the wrapper in the function builder again.<receiver>. Now map the fields in the sub record FLIGHT to their corresponding fields in the BAPI structure by drag-and-dropping a line with the mouse. These two operations have to be added at the end of the routing rule flow.7 FLDATE 7 BOOKID 7 CUSTOMID 7 ORDER_DATE 7 CANCELLED 1-3-2 The mapping which has to be included. Add a LOOP by clicking on the green cross at the upper left above the flow overview panel.PartnerMgr.7 CARRID |---.<sender>.BAPI_SBOOK_GETLIST. © SAP AG BC635 6-48 . Add a MAP by clicking on the on the green cross at the upper left above the flow overview panel.flows. Do the same on the right side of the map with the bapiBookingList. choose the xmlBookingList record and name it BOOKINGLIST. Then add an existing record (not recordlist!) on the left side of the map: click in the "pipeline in" area. The real mapping is done in the map.

0DQDJLQJ WKH 6$3 %& &RQWHQWV l 0RQLWRULQJ RI 6$3 %& l 6HFXULW\ l 8VHU 0DQDJHPHQW l 3DFNDJH +DQGOLQJ l 6FKHGXOLQJ 7DVNV © SAP AG 1999 © SAP AG BC635 7-1 .

0DQDJLQJ WKH 6$3 %& 8QLW 2EMHFWLYHV $W WKH FRQFOXVLRQ RI WKLV XQLW \RX ZLOO EH DEOH WR l 0RQLWRU 6$3 %& l 'HVFULEH 6$3 %& VHFXULW\ l 6FKHGXOH WDVNV l 'HVFULEH SDFNDJH KDQGOLQJ SURFHGXUHV © SAP AG 1999 © SAP AG BC635 7-2 .

0DQDJLQJ WKH 6$3 %& &RXUVH 2YHUYLHZ &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG 6$3 %& $UFKLWHFWXUH .0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3FRP &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 7-3 .

0DQDJLQJ WKH 6$3 %& %XVLQHVV 6FHQDULR l $Q 6$3 %XVLQHVV &RQQHFWRU LV LQVWDOOHG LQ DQ H[LVWLQJ 6$3 HQYLURQPHQW <RX DV D SURMHFW WHDP PHPEHU KDYH WR FRQVLGHU VHYHUDO DVSHFWV OLNH XVHU PDQDJHPHQW DQG VHFXULW\ FRQFHSWV © SAP AG 1999 © SAP AG BC635 7-4 .

0DQDJLQJ WKH 6$3 %& 2YHUYLHZ 0DQDJLQJ WKH 6$3 %& 0RQLWRULQJ RI 6$3 %& Security Clustering User management Package handling Scheduling Tasks © SAP AG 1999 © SAP AG BC635 7-5 .

/RJJLQJ l 7\SHV RI /RJ )LOHV $XGLW /RJ &?VDSEF?6HUYHU?ORJV?DXGLWORJ.

(UURU /RJ HUURUORJ.

Transaction log: Maintains information about inbound and outbound guaranteed delivery transactions. Use these logs in conjunction with the appropriate job store (inbound or outbound) to determine more information about a guaranteed delivery transaction. Audit log: Maintains an audit trail for all services that the server executes. Error log: Maintains information about all errors and exceptions that have occurred in the SAP BC system. l 6HUYHU URWDWHV ORJ ILOHV DW PLGQLJKW VHW © SAP AG 1999 n The SAP Business Connector Server uses log files to maintain an audit-trail of services it executes and errors that occur. the server adds two records that contain information about the service. You can use this log for debugging problems with services. It adds one when it begins execution. this record includes the timestamp of when the service terminated. Server log: Maintains information about the version of the SAP Business Connector Server that is running the operations that the server has performed. You can use this log to determine all services requested from the server and which client requested each service. It adds the second record when the service terminates. this record includes the timestamp of when execution began. Each record in the Session Log includes a timestamp indicating when a user established a connection with the SAP Business Connector Server. These files contain a historical trace you can use to diagnose application failures. The SAP Business Connector Server creates a session when a developer connects to the server from the SAP BC Developer or a SAP BC client connects to the server to execute services. analyze server performance. n n n n n © SAP AG               w w w w w w ORJV HDFK VHUYLFH LQYRFDWLRQ VWDUW DQG ILQLVK ORJV H[FHSWLRQV UHSRUWHG E\ WKH VHUYHU ORJV DFWLRQV WDNHQ E\ WKH VHUYHU 6HUYHU /RJ VHUYHUORJ. For each service. Session log: Maintains information about all sessions in the SAP BC system. and trace server-related events. You can use this information for general debugging purposes. You can use this information to determine the cause of performance problems on your server. Statistics log: Maintains statistical information about the consumption of system resources. The server writes a record for each critical operation it performs for a guaranteed delivery transaction.

6HVVLRQ /RJ VHVVLRQORJ.

6WDWLVWLFV /RJ VWDWVORJ.

ORJV VWDUW DQG GXUDWLRQ RI FRQQHFWLRQV WR WKH VHUYHU ORJV VXPPDU\ RI V\VWHP UHVRXUFH FRQVXPSWLRQ ORJV VWDWXV RI JXDUDQWHHG GHOLYHU\ WUDQVDFWLRQV ZDWWVHUYHUORJ5RWDWH UHQDPH LQ RUGHU QRW WR RYHUZULWH 7UDQVDFWLRQ /RJ W[LQORJ W[RXWORJ.

BC635 7-6 .

n n n n n n © SAP AG ¡ ¡ ¡ VWDWHV WKH VWDWXV RI WKH PHVVDJH GHOLYHU\ VWRUHV WKH PHVVDJHV LWVHOI BC635 7-7 . receiver and message type name.g. For large throughputs it is recommended to use a Database as transactions store. When a transactional call reaches SAP BC via HTTP (a call which uses a TID) the message is stored first. rolled-back or committed. The original message may always be viewed with the SAP monitor SM58. The Transaction IDentity (TID) is globally unique. confirmed. In the second case you can specify a query scope on listing the transactions. The steps of a transaction are: executed. by mapping) are reflected. Thus all changes that occur to the original message (e. In connection with an SAP system SAP BC uses the same transaction events as tRFC. It is configurable whether the transaction status is stored in the file-system or in a Database. Transactional messages which do not use a routing rule are stored with an underscore as a prefix to the sender. This allows to convert them to different representations for viewing.7KH WUDQVDFWLRQ PRQLWRU l 7KH WUDQVDFWLRQ PRQLWRU OLVWV DOO WUDQVDFWLRQDO FDOOV WR 6$3 %& © SAP AG 1999 n When a tRFC call from an SAP system comes into SAP BC the message is stored just before it is sent out from SAP BC again. It is created by tRFC. The messages are stored in a neutral format.

QIRUPDWLRQ 7.'RF 0HVVDJH 6WRUH 6$3 %XVLQHVV &RQQHFWRU +HDGHU . © SAP AG BC635 7-8 .7UDQVDFWLRQ PRQLWRU  .0/  $XGLW ORJ 6$3  7UDQVDFWLRQV © SAP AG 1999 n The SAP BC gives you a detailed view of a transaction in the transaction store. All changes of the status are shown as well as organisational information like Sender/Receiver and Message type.' %')$&( &RQILUPHG   &XUUHQW VWDWH 7UDQVFDFWLRQ VWDWXV 7UDQVDFWLRQ SURFHVVLQJ 9LHZ $V . The transaction is uniquely identified by the TID number.

from release 4. like Document Number. The System then makes a synchronous RFC call to the logical system This function call returns for each Idoc the DOCNUM. Logical System of Receiver.$/( 0RQLWRULQJ ([WHQGV $/( PRQLWRU RI 6$3 V\VWHP 6$3 %& Transient from SAP-to-SAP Look-Up by • Document Number • Message Type • Logical System of Receiver © SAP AG 1999 • TID • Information from routing rule Status which are customary for an EDI-Subsystem n n n n n The ALE Monitor allows to make inquiries from within the sending system about the processing status of an IDoc in the receiving system In SAP System rel.QWHJUDWHV 6$3 %& DV WUDQVLHQW PLGGOHZDUH LQWHUIDFH LQ 6$3WR6$3 7-9 . the receiving time and the current processing status in the receiving system © SAP AG BC635 ˆ  4 G † % ¨ q6¦I(C‡#…64 ¢ • IDoc Number ˆ  4  † % ¨ q¦¦IG8C‡(…64 ¢ „‚  y Aƒ#€w wx H TBSRAQ#2) U  P 3 1 6$3 %& a e hgfd FRPPXQLFDWLRQ Depending on further transport ˆ  4 G † % ¨ q6¦I(C‡#…64 ¢ v u s X$t ba Y c&`V WXV s p ¦r qi  " ¨ I#A& H 4 #(#E7CB&A¨ (&@9#2) G F  D "% "   3 1 ¥£ ¦¤¢ 4 7 68¦0645 3 ) % ' %  "    ¨ ¨ #120&$(&$¨ #!¦©§     .6C on with transaction BD87 (Status Monitoring for ALE messages) As inputs you can specify certain selection criteria.6 C this can be done with transaction BDM2 (Cross System IDoc Reporting). < 4. Message Type.

QFUHDVLQJ WKH GHEXJ OHYHO © SAP AG 1999 n n n The RFC-client and server trace will be stored with the name rfc_<number>.7. Change the debug level via the Settings menu.I \RX DUH IDFLQJ 5)& HUURUV VZLWFK RQ WKH 5)&FOLHQW WUDFH RQ WKH 6$3 VHUYHU VFUHHQ l FRPPDQG ZLQGRZ l 6WDUW WKH VHUYHU IURP D FRPPDQG SURPSW WR VHH WKH RXWSXW LQ WKH :KHQ \RX DUH FRQIURQWHG ZLWK -$9$ HUURUV LW LV QHFHVVDU\ WR QDUURZ GRZQ WKH HUURU UHDVRQ E\ . Modify the file server.bat similarly to é SET SCMD="%JDKDIR%\bin\jre" -nojit -ms40M -mx64M -classpath %CLASSPATH% © SAP AG         VZLWFK RQ WKH 5)&VHUYHU WUDFH RQ WKH 6$3 OLVWHQHU VFUHHQ 6WDUWLQJ WKH VHUYHU ZLWK -XVW .+RZ WR JHW PRUH LQIRUPDWLRQ l .trc in the server’s home directory. To get a stack trace with the exact line number where the java error occurs you must start the server with java using the nojit option. Changes are effective immediate.Q 7LPH -.

FRPSLODWLRQ WXUQHG RII BC635 7-10 .

Using the service: tracePipeline writes out the entire contents of the pipeline to stdout (e. When running a flow in Trace mode you will see the content of the pipeline after the flow has terminated in the results pane.g the command window) © SAP AG ¡ ¡ .QVHUW WKH VHUYLFH SXEWUDFH3LSHOLQH ZKHUHYHU QHHGHG BC635 7-11 .7HVWLQJ \RXU IORZ VWHS IRU VWHS l :KHQ \RX QHHG WR µGHEXJ¶ D IORZ 7HVW LW LQ 6WHS RU 7UDFH PRGH ZLWK WKH GHYHORSHU © SAP AG 1999 n n n When running a flow in Step mode you will see the content of the pipeline at each step in the flow.

0DQDJLQJ WKH 6$3 %& 2YHUYLHZ 0DQDJLQJ WKH 6$3 %& 0RQLWRULQJ RI 6$3 %& Security Clustering User management Package handling Scheduling Tasks © SAP AG 1999 © SAP AG BC635 7-12 .

QWHJULW\ RI GDWD &RQWUROOHG $FFHVVLELOLW\ RI %XVLQHVV 5HVRXUFHV BC635 7-13 .6HFXULW\ $VSHFWV l 6HFXULW\ KDV DW OHDVW IRXU PDMRU JRDOV 6HFUHF\ RI GDWD © SAP AG 1999 n Secrecy of data: é The data must not be readable for others Privacy of communication: é Others should not be able to trace who is talking to whom and when Integrity of data: é The data may not be changed without you knowing it. n n n © SAP AG ¡ ¡ ¡ ¡ 3ULYDF\ RI FRPPXQLFDWLRQ . Controlled Accessibility of Business Resources: é Access to services and data can be restricted to certain users.

During the SSL handshake both parties will agree on a symmetric key for session encryption. Symmetric encryption is about 1000 time faster than asymmetric encryption.6HFXULW\ *ORVVDU\ l 3XEOLF NH\  SULYDWH NH\ l $V\PPHWULF NH\  6\PPHWULF NH\ l &HUWLILFDWH © SAP AG 1999 n Asymmetric key / Symmetric key: The asymmetric key for the SSL handshake can be generated with SAP BC. SAP BC can trust one or several CA’s. The Communication partner can authenticate the sender by its certificate. The public key of the CA must be known by the communication partners. The CA will sign the public key of SAP BC and return a X. CA: The CA is a Certification Authority which is trusted and issues certificates. Certificate: SAP BC generates a certification request which should be sent to a trusted CA.509 certificate. n n n © SAP AG BC635 7-14 .

Thus client and server can both assure with whom they are talking.0/ $SSO +7736 5)& & . It also creates a certificate requests which is accepted by a Certification Authority (CA) n n © SAP AG BC635 7-15 . The exchange of session keys used for encryption is based on the standard RSA-Algorithm. If the remote partner supports only shorter keys then a different key length will be used.&KDQQHO OHYHO VHFXULW\ . SAP BC additionally support client certificates. SAP BC comes with a utility to create your own private and public key. The length of the symmetric key can be up to 128 bit long. This is determined dynamically during handshake.6$3. 6$3 6\VWHP &KDQQHO OHYHO VHFXULW\ © SAP AG 1999 n n SAP BC allows to use the Secure Socket Layer 3 Protocol to encrypt communication on the channel level.QWHUIDFH .QWHUQHW 2SHQ .509 server certificates. SSL specifies also X.

This type of encryption requires a key pair that is made up of a public key and a private key. If the server is unable to authenticate using client certificates. The CA should send this certificate to you when it sends you the digital certificate for the BC. Fingerprints of Certificate Authorities. If the Internet resources to which your server will connect use certificates that are signed by other certificate authorities. Signing CA' Certificate. The signing CA’s certificate attests to the identity of the CA that signed the s digital certificate for the BC.WHPV QHHGHG WR FRQILJXUH 66/ VHUYHU l 3ULYDWH3XEOLF . Obtain a digital certificate that attests to the identity of the SAP BC..H\ 3DLU l 'LJLWDO &HUWLILFDWH IRU 6$3 %& l 6LJQLQJ &$¶V &HUWLILFDWH l )LQJHUSULQWV RI &HUWLILFDWH $XWKRULWLHV 1RWH 7KHVH LWHPV DUH QRW QHHGHG IRU D VHUYHU DFWLQJ DV DQ 66/ FOLHQW © SAP AG 1999 n The server first attempts to authenticate the client using client certificates. Use an SSL toolkit to create a Certificate Signing Request (CSR) for a digital certificate. You need to supply the public key of the public/private key pair in the CSR. The server is shipped with the fingerprints of several well-known certificate authorities. Private/Public Key Pair. Add them in plain text format by copying and pasting them from a certificate into a file or by typing the fingerprint into the file. If it is not in DER format. A fingerprint is a digital signature. The SSL server and SSL client use public key encryption (also known as asymmetric encryption) during the SSL handshake. it attempts to authenticate the client using basic authentication (user names and passwords). The server uses fingerprints when it acts as an SSL client to determine if the SSL server’s certificate was signed by a certificate authority that the server knows about. Store all plain text fingerprints into a single file. you can add their fingerprints to the server. Digital Certificate for the SAP BC. The data that is encrypted with one of the keys can only be decrypted using the other key in the pair. use an SSL toolkit to convert it to DER format. n n n n n © SAP AG BC635 7-16 .

1HWZRUN VHFXULW\ .

g.QWHUQHW 2SHQ .0/ $SSO ) . . 443 for SSL or 1080 for a standard web-server) © SAP AG BC635 7-17 .6$3.QWHUIDFH . 6$3 6\VWHP $FFHVVLELOLW\ © SAP AG 1999 n n SAP BC should be placed behind the first corporate firewall. The firewall allows access only é through specified protocols (e.g. HTTPS) é to certain IP addresses inside the corporate network é to certain ports (e. 5 ( : $ / / +773 5)& & .

1HWZRUN VHFXULW\ .

0/ $SSO — ” • • • • 6$3 6\VWHP 2SHQ . fgIde˜™‘ h f – . a network can only be accessed via one controlled point. Access to the SAP systems is then only possible through the SAP-Router. SAP-Router can be used to connect multiple hosts and services.6$3. Each SAP-Router has its own route permission table.QWUDQHW ”“ . which determines which routes can be used. The route information is in the form of a route string. © SAP AG 1999 n n You can additionally secure your SAP network by placing it behind a second firewall. as fewer direct lines are needed for connections.QWHUQHW . 5 ( : $ / / 'HPLOLWDUL]HG =RQH ‰ 7-18 ’‘ . Instead of a single host name and a single service. The number of access points is reduced. n © SAP AG BC635 n 6{y6x |z w¦j trvu t@or6p u sq n om8i nl k j ‰ & . and the passwords required to permit access. Passwords required for access are also specified in the route string.QWHUIDFH +773 ’‘ ”“ ) . With SAP-Router.

1HWZRUN VHFXULW\ .

6$3 6\VWHP © SAP AG 1999 n Additionally SAP BC itself can be configured so that é calls from certain IP addresses are rejected é only calls from certain IP addresses are accepted é administrative tasks may only be initiated on a special port © SAP AG BC635 ‰ “ … ’ ‡   … ƒ ˆ ‡   …Ž  … 88¦Xˆ6‘8T‘8€‡¦€ ƒ ‰ † Œ ˆ‡ ƒ • ” • ” ‰ ˆ † †~ …~ ƒ  ~ ~ !C#q0#0(8#„50¦‡q#¦X¦88ƒh260!} ‰ “ … ’ ‡   … ƒ ˆ ‡   …Ž  … 88¦Xˆ6‘8T‘8€‡¦€ ƒ ‰ † Œ ˆ‡ ƒ ‹ Š ‰ ‡ † † … ~ ƒ ƒ € ~ ~ !C#q0#8#8Šh#ˆ6&8C~q00#„‚T60!} 7-19 .

the server does not execute the requested service. If a user account for the supplied user name is not found. If the server is configured to request client certificates.6$3. it attempts to authenticate the client using basic authentication (user names and passwords). it requests the client certificate during the SSL handshake that the client and server perform when initializing an SSL transaction.$XWKHQWLFDWLRQ . the server authenticates the client using the client certificate. the client request fails if the client does not supply a client certificate After the SSL handshake is complete. When the server uses basic authentication. the server rejects the request. If the certificate is valid and signed by a trusted certificate authority. the server uses the Common Name field in the client certificate as the client’s user name and continues processing the request to invoke a service.QWHUIDFH . the server authenticates the user name by comparing the supplied password to the password in the user account for the supplied user name.QWUDQHW +773 5)& & . If a user account is found for the supplied user name. To authenticate the client. n n n n © SAP AG BC635 7-20 . the server uses the certificates of certificate authorities (CA certificates) that it knows about to validate the client certificate. the server rejects the request. If the server is required to receive client certificates. the server proceeds with the request. If the password is correct. 6$3 6\VWHP /RJLQ WR 6$3 %& © SAP AG 1999 n A user calling SAP BC via HTTP must authenticate either via standard HTTP authentication (user /A user calling SAP BC via HTTP must authenticate either via standard HTTP authentication (user / password) or via an SSL client certificate The server first attempts to authenticate the client using client certificates. it prompts the client for a user name and password. the request fails. If the password is not correct.QWHUQHW 2SHQ . If the certificate is not valid.0/ $SSO . If the server is unable to authenticate using client certificates.

0DQDJLQJ WKH 6$3 %& 2YHUYLHZ 0DQDJLQJ WKH 6$3 %& 0RQLWRULQJ RI 6$3 %& Security Clustering User management Package handling Scheduling Tasks © SAP AG 1999 © SAP AG BC635 7-21 .

When a client makes a request to a server that is over-utilized. the server also stores the session information in a session object in the cluster store to allow the server to expire sessions in stages. 3. To prevent exhausting server resources. Other servers in the cluster can access the session object to access and update session information as necessary. The session ID from the original request is passed to the server. the server is not available to handle the request. The server that initially receives a request from a client creates the session object in the cluster store.&OXVWHULQJ ± /RDG %DODQFLQJ ξ © SAP AG 1999 n n Servers maintain the session information in their own local memory. n n n n © SAP AG BC635 w tl sq j¥ ¦j šhy¤oCoe tw w tuunu u £ t ln Cj 6eee¤enmhn AqAhCi +773 &OLHQW ψ ω lunkŸ q ¢nt¡ eeeCmBn0lheoq Cen0i 3ULPDU\ &OXVWHU 6WRUH ˜— ™6(F œ  6(F ™ ™ ˜ž l r6„oq |kun ehk6z  u ϖ ™ ˜— 6(F – υ & "›$!šBR ¨ % ' & #¦T§ " 4 6HFXQGDU\ &OXVWHU 6WRUH 7-22 lunkŸ eehCmBnq . the server attempts to redirect the request to another server in the cluster. SAP BC server returns the results of the request to the client. 5. If no servers in the cluster are less utilized. a server expires the session information and removes the copy from its memory. To maintain session information longer. In this situation. 1. and 2. The information from the pending session is retrieved from the cluster store. The client gets the information where to redirect the request from a list that is maintained by any SAP BC server 4. the request waits for the server that originally received the request to become available.

Client has to be configured with an alternative URL address 1. the client code will transparently redirect subsequent requests for that session to another server in the cluster. passing the session ID from the original request. Failure ans shut down by SAP BC 3. Client recognizes failure and transparently redirects request. Alternate SAP BC server retrieves the information and processes the request 5. The client sends a request to the SAP BC server 2. © SAP AG ™ ˜— 6(F ™ ™6(F œ  ˜— l rk6„oq | un ψ BC635 w t y s j¥ ¦j šlh¤oqCoe tw w u u n u u n £ tq n Cj t6eee¤emhn AAlhCi eeeCŸmBnCehn¦q Ceoq lunk ql¢ t¡n 6$3 %& &OLHQW ω ™6(F ž™  ˜ υ w ¬j¡ lk« ¡w ¤™r¤uªmr6u‚vry ªn6 |k {o¥©oheBnen{E0§ q t y ul ¢ l ¡ ¨ 3ULPDU\ &OXVWHU 6WRUH ϖ eehCŸmBnq lunk 6HFXQGDU\ &OXVWHU 6WRUH 7-23 . 4. Server returns result to client.&OXVWHULQJ ± )DLORYHU 6XSSRUW ξ © SAP AG 2000 n n n n n n n If a server fails after a client makes a successful request to that server.

0DQDJLQJ WKH 6$3 %& 2YHUYLHZ 0DQDJLQJ WKH 6$3 %& 0RQLWRULQJ RI 6$3 %& Security Clustering User management Package handling Scheduling Tasks © SAP AG 1999 © SAP AG BC635 7-24 .

© SAP AG BC635 %8¦ ¯ 4  1 ¥ ) œ 1 ¥ )  4 H (#T§ " †% 4 œ 4 H (#4T§ " †% ­®4 H (#4T§ " †% l |{{y¦„0½ k ¥n ¼ qnu ™» reCº ¹ ª¹¹ ¹ ª¹¹ ¥ o80 ¯ °% 4 ¸Xo80 ¯ °% 4 ) °% 4 Co80 ¯ ˆ¨ 1 4 € "8T%80 ¯ · n q ³ ¤h¢ t6I£{n C² ¶ n q ³ ¤h¢ t6I£{n C² ´ n q ³ µh¢ t6I£{n C² 8B°(¦ ¯ ± % 4 ·¤h¢ 6£I{n C² n t q ³ ¶¤h¢ 6£I{n C² n t q ³ ´ n t q ³ µh¢ 6£I{n C² ) % 4 0B°(¦ ¯ 7-25 . This works for asynchronous calls as well. Services which are secured by one or several Access Control List (ACL) can only be executed by users who are members of these ACLs.8VHU PDSSLQJ 6$3 XVHU WR 6$3 %& XVHU 6$3 6\VWHP SAP BC ¥ o#C ¯ °% 4 ¸ °% 4 Xo#C ¯ ¨ (#4©S G  ' User_A _B User_C © SAP AG 1999 n n n n n n n SAP system users are mapped to SAP BC users: When a call to SAP BC comes in from an SAP system SAP BC determines the user who issued the call. If this user does however not exist inside SAP BC then user ‘Default’ is assigned to the session Before execution of any service the invoke handler checks whether the session user is permitted to call the service. Services which are not secured by an Access Control List (ACL) can be executed by any user. If the same user exists as an SAP BC user the session is executed under this user.

Once a user is logged on to an SAP system the regular SAP security mechanisms apply: é On execution of a function call the system checks whether the user is permitted to use this Function Group. Services which enable to call RFCs dynamically should also be handled with care. Administrative services all belong to interface SAP:sap. Besides the technical mechanisms described earlier SAP BC offers a mechanism to narrow down the permission a SAP BC user has to the service level. This should be secured with a special ACL for SAP system administrators.&RQWUROOHG $FFHVVLELOLW\ RI VHUYLFHV %& l $OO 6$3 %& 6HUYLFHV DUH DFFHVVLEOH YLD DQ 85/ l $&/ IRU HDFK VHUYLFH l 2QO\ 5)&V H[SRVHG DV 6$3 %& VHUYLFHV DUH DFFHVVLEOH © SAP AG 1999 n n In an SAP environment it is important to protect data and services inside the SAP systems from unauthorized access. é Only Function Modules which are RFC enabled can be called n n © SAP AG BC635 ‰ “ …’ ˆ‡  …ƒ ˆ‡  Ž … 88¦!‘86!‘#…€‡¦¦€ ƒ ‰  † Œ ‡ ƒ ¾ ¾ ¾ ¾ ‰ ˆ‡ † †~ …~ ƒ ƒ ~ ~ !0(q0ˆ68##8#¿28¦q#&¦88e268!} ‰“ …’ ˆ‡  …ƒ ˆ‡  … Á ‰ ŒÁ ‰€Ž 08¦X‘8Trƒ68€Ž@(q&re® À ƒ ‰  † ˆ‡ ƒ ¾ ¾ ¾ ¾ ˆ ‡ † †~ …~ ƒ ƒ ~ ~ !Cq(Œ08##8#¿2‰C0(#¦&¦88e58!} 7-26 .admin.

0/ $SSO . 6$3 6\VWHP 61& © SAP AG 1999 n To secure RFC connection to R/3 é third party software required (Cerberos.QWHUIDFH .6$3. .509 certificate © SAP AG BC635 7-27 .. Secude.QWUDQHW +773 5)& & ..) é public key procedure é needed for Single Signon based on X.QWHUQHW 2SHQ .QWUDQHW .$GGLWLRQDO 6HFXULW\ ZLWKLQ .

They must be called after all changes in to the document have been completed Verify takes the data and the signature and verifies the signature for each of the signers. The signature is stored along with the document in the message store for archiving. If the document has been changed after signing verify will raise an error message. Thus nonrepudiation is guaranteed. Verify must be called before the data is changed by the receiver. It returns the identity of the signer (its X. The output is a detached signature (PKCS#7) and the input data. The Addsigner service takes a data array and an already created signature and adds another signer to it. Both services use the private key of SAP BC for signing. n n © SAP AG BC635 7-28 .509 certificate). SHA1) as input.+RZ WR XVH 'LJLWDO 6LJQDWXUHV 7KHUH DUH WKUHH VHUYLFHV WR VXSSRUW 'LJLWDO 6LJQDWXUHV 6LJQLQJ SXEGLJVLJVLJQ SXEGLJVLJDGGVLJQHU 9HULI\LQJ SXEGLJVLJYHULI\ 7KHVH VHUYLFHV PXVW EH LQVHUWHG LQWR WKH IORZ PDQXDOO\ © SAP AG 1999 n n n n The Sign service takes a byte array for the data and the hash-algorithm (MD5. the signing time and whether the CA of the signer is trusted.

&RQILJXULQJ $FFHVV &RQWURO l $FFHVV &RQWURO /LVWV $&/.

l &RQWURO DFFHVV WR VHUYLFHV RU ILOHV l 8VHUV DUH PHPEHUV RI JURXSV JURXSV DUH PHPEHUV RI $&/V l 3UHGHILQHG $&/V 'R QRW GHOHWH .

he or she identifies groups that are allowed access and groups that are denied access to services and files. you specify a group name and the members of the group. When an administrator creates ACLs. you can set up the SAP BC to access the information from an external directory if your site uses one of the following external directories for user and group information: Lightweight Directory Access Protocol (LDAP) Network Information Service (NIS) n n n n © SAP AG Â Â Â Â 5HSOLFDWRU BC635 7-29 . The administrator then assigns an ACL to the service or file that requires access control. Alternatively. Create groups that identify groups of users that will share the same privileges. $GPLQLVWUDWRU 'HIDXOW 'HYHORSHU © SAP AG 1999 n Privileges to invoke a service or access files are granted and denied by Access Control Lists (ACLs) that you set up. When you create a group definition.

the server invokes the service. When a client requests that the server invoke a service. An ACL identifies groups that are ACLs control access to services and files at the group level. If the user is a member of any Allowed Groups and not a member of any Denied Groups. the server does not serve the file. the server checks the ACL associated with the file. n n © SAP AG BC635 7-30 . the server serves the file. the server determines whether the file is protected by an ACL. the server serves the file. If the client is a member of any of the groups defined as Allowed Groups. If the file is not assigned and ACL other than default. If the client is a member of any of the groups defined as Denied Groups. If it is protected. the server denies the request to invoke the service. the server checks the ACL associated with the service. When identifying Allowed Groups and Denied Groups. If the user is a member of any Denied Groups and not a member of any Allowed Groups.+RZ $&/V :RUN $OORZHG *URXSV 'HQLHG *URXSV $OORZHG *URXSV 'HQLHG *URXSV [ 5HTXHVW LV DOORZHG LI WKH FOLHQW LV D PHPEHU RI DQ $OORZHG *URXS [ 5HTXHVW LV GHQLHG LI WKH FOLHQW LV D PHPEHU RI DQ 'HQLHG *URXS © SAP AG 1999 n ACLs control access to services and files at the group level. An ACL identifies groups that are allowed to access a service or file (Allowed Groups) and/or groups that are not allowed to access a service or file (Denied Groups). you select from groups that you have previously defined. When a client requests that the server serve a file.

on the other hand.$&/V DQG WKH 3UHFHGHQFH 6HWWLQJ $OORZHG *URXSV 'HQLHG *URXSV $OORZHG *URXSV 'HQLHG *URXSV [ What if the user is a member of both an allowed and a denied group? What if the user is not a member of any groups? [ 7KH 3UHFHGHQFH VHWWLQJ UHVROYHV DPELJXLW\ LQ DFFHVV GHVLJQDWLRQV . But what happens if a user is either a member of two groups . Deny.should the user be allowed or denied access? You can set the precedence to either Allow or Deny access. Allow will resolve any ambiguity by allowing access to a file. n © SAP AG BC635 7-31 .I VHW WR GHQ\ WKH XVHU GRHV QRW JDLQ DFFHVV © SAP AG 1999 n It’ s simple to determine in the previous examples whether a user is to be allowed or denied access to a service or file.Q HLWKHU FDVH LI WKH SUHFHGHQFH VHWWLQJ LV ³DOORZ´ WKH XVHU JDLQV DFFHVV . will deny access if there’ s any doubt as to the user’ s privileges.one allowed and one denied access? What happens if the member is not a member of any groups -.

$OORZHG RU 'HQLHG" 0HPEHU RI $OORZHG *URXS <(6 12 <(6 <(6 12 12 0HPEHU RI 'HQLHG *URXS 12 3UHFHGHQFH 6HWWLQJ 1$ 1$ $OORZ 'HQ\ $OORZ 'HQ\ $OORZHG RU 'HQLHG" $OORZHG 'HQLHG <(6 <(6 <(6 12 12 $OORZHG 'HQLHG $OORZHG 'HQLHG © SAP AG 1999 n The table shows the possible combinations of Allowed / Denied Groups. the precedence setting and the result. © SAP AG BC635 7-32 .

$&/V DQG 6HUYLFHV l $ VHUYLFH DELGHV E\ LWV GHILQHG $&/ l $ VHUYLFH ZLWK QR $&/ LQKHULWV WKH $&/ LWV SDUHQW LQWHUIDFH RU SDFNDJH l . This means that if you do not assign an ACL to a service.I QR $&/ LV DVVLJQHG LQ WKH VHUYLFH¶V KLHUDUFK\ WKH 'HIDXOW $&/ LV XVHG © SAP AG 1999 n When you assign an ACL to an interface. all clients can access the service. the server uses the inherited ACL. If no ACL exists above the service. The services that do not have an assigned ACL inherit the ACL that you assign to the interface. n n n © SAP AG BC635 È   « ¢q q t n ™e™o{By{n r«µv«Al Ä wj ju ¡w 6kµ¦Ç™¤vry Æ{j‚vr¤hvByI¥rolh tw sn¡ n¢ qn e«A6v¤!&‘v«Al n l¥j Å ¨ ¼ n emm‚„¢ 6I£{vu unuk n t qn všeeT&¤™w n «l Æ Å ¨ ¼ j uhvµÄ{omz{‘¬™ Ã¥ y « yl n 7-33 l (DFK VHUYLFH DQG LQWHUIDFH PD\ KDYH DQ $&/ . If you specifically assign an ACL to a service. When the client attempts to invoke a service. the Default ACL is used. When an interface has an assigned ACL. the server displays the name of the ACL in the ACL field of the interface information. When a sub interface or service inherits the ACL of its interface. the ACL will override any ACL set for the interface. it affects the services in the interface. the server displays the name of the ACL of the interface followed by an asterisk (*) in the ACL field of the service information. The Default ACL identifies the Everybody group as an Allowed group.

0DQDJLQJ WKH 6$3 %& 2YHUYLHZ 0DQDJLQJ WKH 6$3 %& 0RQLWRULQJ RI 6$3 %& Security Clustering User management Package handling Scheduling Tasks © SAP AG 1999 © SAP AG BC635 7-34 .

This package contains services that the server uses for core functionality and auxiliary files. This package contains sample services. Do not alter or delete this package. This package is empty.e. é WmDemos. The SAP BC uses the services in these packages. This package contains services (i. n IMPORTANT: Never remove or alter the WmRoot. The package contains the services to allow the communication with the SAP system and to enable the generic XML transformation for BAPIs and IDOCS.. WmPublic and SAP packages. é SAP. © SAP AG BC635 7-35 . é WmWin32. é WmRoot. such as sample Visual Basic services. é WmPublic.3UHGHILQHG 3DFNDJHV l 'HIDXOW l :P'HPRV l :P3XEOLF  'R QRW DOWHU RU GHOHWH l :P5RRW  'R QRW DOWHU RU GHOHWH l :P:LQ l 6$3  'R QRW DOWHU RU GHOHWH © SAP AG 1999 n The SAP BC comes with the following predefined packages: é Default. This package contains Windows-specific samples. utilities) that you can use as building clocks in your flow services.

source. © SAP AG BC635 7-36 . and code fragments for Java services. é The pub subdirectory holds Web documents for the package. é The jars subdirectory is for Java classes that are packaged together in jar files. Within the code subdirectory are the classes. place services that use shared libraries in the same package. é The source subdirectory is for the source of Java services. é The doc subdirectory holds documentation for the package. Note: The SAP BC does not automatically create the libs directory because the directory’ s existence prevents you from reloading the Java services in the package without restarting the server. records. é The ns subdirectory holds flows. you must restart the server. jars. The templates subdirectory holds output templates that are associated with this package. specifications. é The libs subdirectory holds DLLs or specialized libraries that the Java and C/C++ services use. You cannot reload the Java classes in a package that uses shared libraries. For ease of administration.+RZ 6$3 %& 6WRUHV 3DFNDJHV 3DFNDJH 1DPH FRGH FODVVHV MDUV VRXUFH -DYD VHUYLFHV GRF QV SXE WHPSODWHV 3DFNDJH GRFXPHQWDWLRQ 1DPHVSDFH RI WKH SDFNDJH :HE GRFXPHQWV 7HPSODWHV © SAP AG 1999 n The code subdirectory holds the Java and C/C++ services that belong to this package. and lib subdirectories: é The classes subdirectory is for Java classes for the Java and C/C++ services.

if any. List of startup and shutdown services. Package version number. you can identify other packages that the server should load before it loads the services in a particular package. if any. For more information about startup and shutdown services and how to identify services and startup and shutdown services. For a specific package.v3 file in the top directory for the package. Package dependencies. In other words. The server does not load disabled packages at server initialization and you cannot execute services that reside in disabled packages.0DQLIHVW )LOH (DFK SDFNDJH KDV D PDQLIHVW ILOH ZKLFK VKRZV l (QDEOHGGLVDEOHG l 3DFNDJH YHUVLRQ QXPEHU l 3DFNDJH GHSHQGHQFLHV l 6WDUWXS DQG VKXWGRZQ VHUYLFHV © SAP AG 1999 n Each package has a manifest file. you can identify when one package depends on another. for the package. • © SAP AG BC635 7-37 . You can assign version numbers to your packages. for the package. It contains: • • • Indication of whether the package is enabled or disabled. refer to the SAP BC Server Administrator Guide. The manifest for a package is in the manifest.

6$3 %XVLQHVV &RQQHFWRU …a publishing server copies one package. To activate the new package. this feature is useful to quickly replicate new and updated packages across all servers in the cluster. 6$3 %XVLQHVV &RQQHFWRU …to 6$3 %XVLQHVV &RQQHFWRU 6$3 %XVLQHVV &RQQHFWRU © SAP AG 1999 n Use package replication to copy (publish) packages from one SAP BC to another. It is also a convenient way to distribute a package from one server to another anywhere on the Web. If you have a clustered environment. During replication. an administrator on the subscribing server must install the package after it arrives. The server on which the package originates is referred to as the publisher. n n © SAP AG BC635 Ñ ÍÑ Î Ë ¦Ð6Ë $Ó6rCÊ Ò Ñ Ð ÍÑ Ó Î Ë ¦rË A¦6{0Ê Ò ¦rË $Ñ6{CÊ Ò ÑÐ Í ÓÎË ÑÐÏ ÌËÊ CrC ÍÎ ¦0qÉ one or more subscribing servers..5HSOLFDWLQJ3XEOLVKLQJ 3DFNDJHV During package replication. a single SAP BC sends (publishes) a specified package to one or more recipient servers. 7-38 ... and the recipients are referred to as subscribers.. Subscribing servers receive the package in their inbound directory (sapbc/server/replicate/inbound).

n You must keep the passwords of the Replicator user IDs identical on both the publishing server and the subscribing server to allow package replication between the two servers. the server cannot perform package replication.0 or higher. you should adopt naming conventions to uniquely identify packages throughout your network. é If you delete the Replicator user account. For example. however. The services that the server uses to perform package replication are protected by the Replicators ACL. Any SAP BC can subscribe to a package on another SAP BC. you could distinguish the two packages using names such as ENG105TimeCard and MKT01TimeCard. the server will write the published package in place of the original package on the subscriber’s server. A SAP BC can be both a publisher of packages and a subscriber of others. © SAP AG BC635 7-39 . The SAP BC always uses the Replicator user ID to perform package replication. This means that if you publish a package called TimeCard to a server that already has a package called TimeCard. Any SAP BC can publish a package. or Replicators ACL.'V LGHQWLFDO l 3DFNDJHV EHLQJ LQVWDOOHG RYHUZULWH H[LVWLQJ SDFNDJH LQIRUPDWLRQ © SAP AG 1999 n n n n n Publishers and participating subscribers must use SAP BC Version 3.*XLGHOLQHV IRU 8VLQJ 3DFNDJH 5HSOLFDWLRQ l $Q\ 6$3 %& FDQ SXEOLVK D SDFNDJH l $Q\ 6$3 %& FDQ VXEVFULEH WR D SDFNDJH RQ DQRWKHU 6$3 %& l $ 6$3 %& FDQQRW EH ERWK D SXEOLVKHU DQG D VXEVFULEHU RI WKH VDPH SDFNDJH l 7KH SXEOLVKLQJ VHUYHU DVVXPHV WKDW D SDFNDJH LV XQLTXHO\ LGHQWLILHG E\ LWV QDPH l 'RQ¶W GHOHWH WKH 5HSOLFDWRU XVHU DFFRXQW 5HSOLFDWRUV JURXS RU 5HSOLFDWRUV $&/ l <RX PXVW NHHS WKH SDVVZRUGV RI WKH 5HSOLFDWRU XVHU . it cannot be both a publisher and a subscriber of the same package. The publishing server assumes that a package is uniquely identified by its name. To prevent the publishing server from writing over the incorrect package. In the TimeCard example above. Replicators group. (The server saves the original package in case you need to revert to it). you might require all publishers to prefix packages with the name of their server.

0DQDJLQJ WKH 6$3 %& 2YHUYLHZ 0DQDJLQJ WKH 6$3 %& 0RQLWRULQJ RI 6$3 %& Security Clustering User management Package handling Scheduling Tasks © SAP AG 1999 © SAP AG BC635 7-40 .

n n © SAP AG BC635 7-41 . After the server completes all scheduled executions of a service. You can view. In addition to the scheduled user tasks that you set up. You can also cancel a scheduled user task before the server completes all scheduled executions. You can view a list of and update the scheduling options for scheduled user tasks. the scheduled system tasks. ServicesUse the server’ s scheduling function to schedule services to execute at times you specify. the server schedules system tasks that it performs for normal system operation. but not update or cancel. Services that you schedule are referred to as user tasks.7DVN 6FKHGXOHU 6FKHGXOH l 2QHWLPH WDVNV l 7DVNV RQ D VLPSOH UHSHDWLQJ VFKHGXOH l 7DVNV RQ D FRPSOH[ UHSHDWLQJ VFKHGXOH 1RWH VFKHGXOHG WDVNV FDQ EH VHW WR SHUVLVW DIWHU V\VWHP UHVWDUWV © SAP AG 1999 n Use the server’ s scheduling function to schedule services to execute at times you specify. it removes the user task from the list.

6$3 %& 'HSOR\PHQW &KHFNOLVW . 3: Setting Up Users. expire sessions.If your server will execute services against databases. and ACLs . and access control lists (ACLs) that are required by the services that will run on this server.Archive a master copy of the packages on the server and the source files that were used to build them.Start the server and test services to ensure that they operate as expected. 5: Configuring Database Connections .Use the Server Administrator to configure the way in which the server will send outbound requests.Install and test the SAP BC program on the server computer. and issue error messages..QVWDOODWLRQ %DVLF &RQILJXUDWLRQ 6HW XS 8VHUV *URXSV DQG $&/V 3XEOLVK 3DFNDJHV &RQILJXUH 'DWDEDVH &RQQHFWLRQV .If your services use run-time classes beyond those provided by Java or the SAP BC (e. CORBA or MQ Series classes). accept inbound requests. They are also the subject of a chapter in the SAP BC Server Administrator Guide. 8: Startup and Test .Use the Server Administrator to identify user accounts. and install the JDBC driver classes in the server library directory. 6: Installing Run-Time Classes . “SAP BC Server Administration”. The details of deployment are discussed in another class. configure the connection between the SAP BC and each database.Install and configure the packages that will run on this server. 2: Basic Configuration . 7: Setting Up Security . install those classes in the server library directory. Groups. 9: Archive Sources .Ensure that the security measures you want to use are in place.QVWDOO 5XQWLPH &ODVVHV 6HW XS 6HFXULW\ 6WDUW DQG 7HVW 6HUYHU $UFKLYH 6RXUFHV © SAP AG 1999 n n n n n 1: Installation . groups.g. n n n n n © SAP AG BC635 7-42 . 4: Publishing Packages .

0DQDJLQJ WKH 6$3 %& 8QLW 6XPPDU\ l 6HW XS DQG PRQLWRU 6$3 %& l 'HVFULEH 6$3 %& VHFXULW\ l 6FKHGXOH WDVNV l 'HVFULEH SDFNDJH KDQGOLQJ SURFHGXUHV <RX DUH QRZ DEOH WR © SAP AG 1999 © SAP AG BC635 7-43 .

([HUFLVHV 8QLW 0DQDJLQJ WKH 6$3 %& 7RSLF 0RQLWRU 6HUYHU $FWLYLW\ At the conclusion of this exercise. you will be able to: • go to the Statistics pages and view activities. 1-1 How many seats are allowed for this installation of SAP Business Connector? How many are currently occupied? What’s the peak number of connections to the server? How many requests for the service ZPVHUYHUSLQJ have been processed? 1-2 1-3 © SAP AG BC635 7-44 .

will XVHU1 be able to call the service? Will XVHU2? Will XVHU3? 2-1-4 Edit the ACL "Administrators. if your group name is SAP_BC. you will be able to: • define Users. For example." If this ACL is attached to a service. Specify "Replicators" as an allowed group and "Developers" as a denied group. SAP_BC 2) to the groups "Everybody" and "Developers". If this ACL is attached to a service. 2-1-3 Edit the ACL "Replicators. SAP_BC2. assign them to groups. SAP_BC 1) to the groups "Everybody" and "Replicators".([HUFLVHV 8QLW 0DQDJLQJ WKH 6$3 %& 7RSLF &UHDWH DQ $FFHVV &RQWURO /LVW At the conclusion of this exercise. or 3. 2. SAP_BC3. Groups. Assign XVHU2 (for example. SAP_BC 3) to the group "Everybody". and ACLs 2-1 Create three users. create SAP_BC 1. and assign the groups to ACLs. will XVHU1 be able to call the service? Will XVHU2? Will XVHU3? © SAP AG BC635 7-45 . Assign XVHU3 (for example. 2-1-2 Assign XVHU1 (for example. will XVHU1 be able to call the service? Will XVHU2? Will XVHU3? 2-1-5 Make an ACL using your group name as the ACL name." If this ACL is attached to a service. Then you’ll examine each ACL to determine which users have access to services 2-1-1 Create 3 users using your group name (provided by your trainer) followed by a 1.

webtap:getPage to run every ten minutes. you will be able to: • schedule a task to run at predefined times 3-1 Schedule the service SXEZHEWDSJHW3DJH to run every ten minutes 3-1-1 Schedule the service pub. Modify the task so that it is run every 20 minutes. 3-1-3 View the modified task in the scheduler listing. Cancel execution of the task.([HUFLVHV 8QLW 0DQDJLQJ WKH 6$3 %& 7RSLF 6FKHGXOH D WDVN At the conclusion of this exercise. © SAP AG BC635 7-46 . Remember that you must schedule repeating tasks by the number of seconds that elapse! 3-1-2 View the scheduled task in the scheduler listing.

To view the peak number of connections to the server.&6 from the Tabs Choose the 6(59. 1-2 What’s the peak number of connections to the server? 1-2-1 The actual answer changes depending on current circumstances.67.&( 67$76 Tab at the bottom Scroll down until you find ZPVHUYHUSLQJ in the table The column Service Requests / Total shows the number of requests to ZPVHUYHUSLQJ © SAP AG BC635 7-47 . To view the number of seats allowed and occupied.&6 from the Tabs The table shows the peak number of connections under &211(&7.6ROXWLRQV 8QLW 0DQDJLQJ WKH 6$3 %& 7RSLF 0RQLWRU 6HUYHU $FWLYLW\ 1-1 How many seats are allowed for this installation of SAP Business Connector? How many are currently occupied? 1-1-1 The actual answer changes depending on current circumstances. To view the number of requests for the service ZPVHUYHUSLQJ. do the following steps: Start your SAP Business Connector Server Choose the 6(59(5 67$76 Tab at the bottom Select 67$7. do the following steps: Start your SAP Business Connector Server Choose the 6(59(5 67$76 Tab at the bottom The table shows the number of seats and the max. number of seats is reached).&6 from the Tabs Select 67$7. number of seats under *(1(5$/ Note: Users connected to SAP BC as administrator are not counted as seat (you always should be allowed to administrate the SAP BC although the max.67. do the following steps: Start your SAP Business Connector Server Select 67$7.67.216 1-3 How many requests for the service ZPVHUYHUSLQJ have been processed? 1-3-1 The actual answer changes depending on current circumstances.

Click $GG to open the 1HZ 8VHU screen. type a unique user name made up of any combination of letters. select the group(s) to which you want to deny access. 2-1-2 Creating an ACL Select the $FFHVV task on the navigation panel. Note: If you have not created groups yet. In the 'HQLHG *URXSV field. assign them to groups. Specify the name of the new ACL in the $&/ 1DPH field. Click the $&/V tab if it is not already displayed. numbers. the server does not authenticate clients that request the server or files. numbers. In the $OORZHG *URXSV field. and assign the groups to ACLs. type a password made up of any combination of letters. Select the $FFHVV task on the navigation panel. When you create a user account. select the group(s) to which you want to allow access. select (highlight) the groups to which you want the user name to belong.6ROXWLRQV 8QLW 0DQDJLQJ WKH 6$3 %& 7RSLF &UHDWH DQ $FFHVV &RQWURO /LVW 2-1 Create three users. Click $GG $&/. Select the 8VHUV tab if it is not already displayed. Then you’ll examine each ACL to determine which users have access to services 2-1-1 Creating Users and adding them to Groups: Start your SAP Business Connector Open the Server Administrator if it is not already open. In the 3DVVZRUG field. or symbols. In the 0HPEHU RI box. In the 8VHU 1DPH field. The server allows the request without authentication. When a service or file is protected by an ACL that indicates that the Everybody group is an Allowed group. you can edit the user information at a later time to change group membership or you can assign users to a group when you create a group Click 6XEPLW. type these values H[DFWO\ as you want the client to enter it. or symbols. Note: User names and passwords are case-sensitive. © SAP AG BC635 7-48 .

Who is allowed into what services: $&/ 5HSOLFDWRUV User1 User2 User3 $&/ 'HYHORSHUV No Yes No $&/ 8VHUQDPH Yes No Yes Yes No No Note that User3 is allowed into services governed by ACL Username.Click 6XEPLW. because s/he is not a member of a denied group. and the default precedence is to allow access. © SAP AG BC635 7-49 .

6ROXWLRQV 8QLW 0DQDJLQJ WKH 6$3 %& 7RSLF 6FKHGXOH D WDVN 3-1 Schedule the service SXEZHEWDSJHW3DJH 3-1-1 To schedule the execution of a service Start your SAP Business Connector. Services that require a session include all WIDL services and flow services that perform Web automation. To view scheduled user tasks Open the Server Administrator if it is not already open. Select the 2QFH. Open the Server Administrator. Click $GG 7DVN.. Check the 3HUVLVW DIWHU UHVWDUW checkbox if you want the server to execute the service at the scheduled time(s) when the server is restarted. Select the 6FKHGXOHU task on the navigation panel. 5HSHDWLQJ. The server displays a screen to confirm you want to add the new task. Click 6FKHGXOH 1HZ 7DVN. Select the 8VHU 7DVNV tab if it is not already displayed. Whether you want the server to create a session for this service. Select the 6FKHGXOHU task on the navigation panel. Whether you want the server to maintain this user task in the event that the server is restarted.QWHUYDO field. click 2. Set the ([HFXWH parameters as follows: )RU WKLV SDUDPHWHU 6HUYLFH 5XQ DV 8VHU &UHDWH 6HVVLRQ 3HUVLVW DIWHU UHVWDUW 6SHFLI\« The fully qualified service name of the service you want the server to execute. To update Scheduled User Tasks Open the Server Administrator if it is not already open. Select the 6FKHGXOHU task on the navigation panel. The user name you want the server to use when running the service. © SAP AG BC635 7-50 . Select "repeating" and specify the number of seconds that you want the server to wait between executions of the service in the . Select the 8VHU 7DVNV tab if it is not already displayed. or &RPSOH[ to indicate when and how often you want the server to execute the service.

Click on the service name for the user task you want to update. Click the delete icon in the &DQFHO column for the user task you w access. click 2. Select the 6FKHGXOHU task on the navigation panel. © SAP AG BC635 7-51 . To cancel a Scheduled User Task Open the Server Administrator if it is not already open. Click 8SGDWH 7DVN. Update the scheduling options for the selected user task.Select the 8VHU 7DVNV tab if it is not already displayed. The server displays a screen to confirm you want to update the user task.. Select the 8VHU 7DVNV tab if it is not already displayed.

6$3 %& DQG P\6$3FRP &RQWHQWV l 5ROH RI 6$3 %& ZLWKLQ P\6$3 l 6$3 %& VHWWLQJV IRU P\6$3 WUDQVSRUW © SAP AG 1999 © SAP AG BC635 8-1 .

6$3 %& DQG P\6$3FRP 8QLW 2EMHFWLYHV $W WKH FRQFOXVLRQ RI WKLV XQLW \RX ZLOO EH DEOH WR l 'HVFULEH WKH UROH RI 6$3 %& ZLWKLQ WKH P\6$3 LQIUDVWUXFWXUH l 'HVFULEH WKH SDUDPHWHUV IRU WKH P\6$3 PDUNHWSODFH FRPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 8-2 .

6$3 %& DQG P\6$3FRP &RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG 6$3 %& $UFKLWHFWXUH .0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 8-3 .

6$3 %& DQG P\6$3FRP %XVLQHVV 6FHQDULR l $ PDUNHWSODFH ZLOO EH XVHG WR H[FKDQJH PHVVDJHV EHWZHHQ SDUWQHUV <RX KDYH WR FRQILJXUH \RXU 6$3 %XVLQHVV &RQQHFWRU WR VHQG PHVVDJHV IRU \RXU SDUWQHU WR WKH PDUNHWSODFH DQG WR UHFHLYH WKH PHVVDJHV \RXU SDUWQHUV KDV VHQW WR \RXU DFFRXQW RQ WKH PDUNHWSODFH © SAP AG 1999 © SAP AG BC635 8-4 .

QIRUPDWLRQDO 6SKHUH ..QIRUPDWLRQDO 6SKHUH %X\HU :HE%DVHG %% 3URFXUHPHQW $SSOLFDWLRQ 7UDQVDFWLRQDO 6SKHUH © SAP AG 1999 © SAP AG  § § ¥£¡ ©¨¦¤¢  %XVLQHVV 'LUHFWRU\ 6HOOHU :HE%DVHG &DWDORJ(53 6\VWHP %XVLQHVV 'RFXPHQW ([FKDQJH BC635 8-5 .

%XVLQHVV 'LUHFWRU\ %XV'LU .

6 /LQN %XVLQHVV 'LUHFWRU\ l 6HDUFK (QJLQH l 'LUHFW OLQN WR 6XSSOLHU 3URGXFW &DWDORJV l 6HDPOHVV FRQQHFWLRQ RI WKH 6$3 %% 3URFXUHPHQW DSSOLFDWLRQ WR VHOOHU FDWDORJV © SAP AG 1999 © SAP AG       BC635 8-6 . l .QIRUPDWLRQ 5HSRVLWRU\  %X\HU DQG VHOOHU LQIRUPDWLRQ 6HOOHU SURGXFW LQIRUPDWLRQ 6HOOHU FDWDORJ ORFDWLRQ LQIRUPDWLRQ 6HDUFK E\ NH\ ZRUG RU FDWHJRU\ 6HDUFK E\ VXSSOLHU QDPH 6HDUFK E\ VXSSOLHU DQG ORFDWLRQ  *.

QIRUPDWLRQDO 6SKHUH %X\HU :HE%DVHG %% 3URFXUHPHQW $SSOLFDWLRQ %XVLQHVV 'RFXPHQW ([FKDQJH 7UDQVDFWLRQDO 6SKHUH © SAP AG 1999 © SAP AG  § § ¥ ©"!£¤¡   %XVLQHVV 'LUHFWRU\ 6HOOHU :HE%DVHG &DWDORJ(53 6\VWHP BC635 8-7 .7UDQVDFWLRQDO 6SKHUH .

0/ EDVHG EXVLQHVV GRFXPHQW Œ *XDUDQWHHG PHVVDJH GHOLYHU\ Œ 1RQ UHSHDWDELOLW\ Œ $XWKHQWLFDWLRQ YLD %XVLQHVV 'LUHFWRU\ Œ 8VHU FHUWLILFDWHV DXWKHQWLFDWLRQ.7UDQVDFWLRQDO 6SKHUH 6HUYLFHV ½3RUWDO EDVHG PHVVDJH KXE ½7UDQVDFWLRQ KDQGOLQJ ½6HFXULW\ Œ .

½ 7UDQVODWLRQ RI PHVVDJHV LQWR VHOOHU¶V SUHIHUUHG IRUPDW LQFOXGLQJ © SAP AG 1999 © SAP AG BC635 8-8 .0/ Œ ('. Œ 66/ HQFU\SWLRQ Œ 5RVHWWD1HW Œ F.

© SAP AG BC635 (¤¤&'%0 #  $ (¤¤'&%0 # $ 8-9 )¤'&% # ( $ )¤&'% # ( $ .3RUWDO RYHUYLHZ P\6$3 3RUWDO 'LUHFWRU\ © SAP AG 1999 %XVLQHVV n n To send messages to the portal. you apply a routing rule with transport type mySAP You have to specify your partners mailbox ID on the portal under which the message will be stored.

or pulled by supplier The Receiving Business Connector receives the XML Message (via service invocation) creates an IDoc and sends it to the SAP System © SAP AG BC635 A5b4 '098 7 4 75 4¡1 A6)32& 6$3 'LUHFWRU\ %XVLQHVV YX 0T¥ F04 2BE¤%CB96  1 D $ 1  VV V¢2T`9HH V S Q I WUUS¨QaIP D¤'C%$@¤c  75 4 A64 @98 (¤¤'&%0 # $ 6$3 8-10 736¡32& 5 4 1 )¤'&% # ( $ § ¥£¡ "¦)G  F04 2BED¤%CB¤ 1 $ 1  VWU)STQRIP WTRPHH V US Q I .$SSOLFDWLRQ H[DPSOH P\6$3 3RUWDO © SAP AG 1999 n n n n SAP System generates an IDoc and sends it to the Business Connector The Business Connector formats and transmits the business document. The business document Sent to Supplier.

$FFHVVLQJ WKH P\6$3 SRUWDO ZLWK %& l 6HWXS SUR[\ LQ 6$3 %& LI \RX KDYH WR DFFHVV WKH SRUWDO YLD D ILUHZDOO l *HW D XVHUPDLOER[ RQ WKH SRUWDO l &RQILJXUH WKH P\6$3 WUDQVSRUW l *HQHUDWH URXWLQJ UXOHV IRU \RXU GRFXPHQWV © SAP AG 1999 © SAP AG BC635 8-11 .

6HWXS SUR[\ LQ 6$3 %& 6$3 %XVLQHVV &RQQHFWRU (GLW WKHVH VHWWLQJV 6HWWLQJV    3UR[\ +773.

3UR[\ +RVW 3UR[\ 3RUW  SUR[\  *HQHUDO VHWWLQJV © SAP AG 1999 n To reach the portal (or any web page) via your proxy. you have to configure the proxies host and port © SAP AG BC635 8-12 .

© SAP AG BC635 8-13 . you first set up a list of Marketplaces you want to communicate with. For each Marketplace you can specify a list of mailboxes which will be polled (your own mailboxes) as well a list of trading partner mailboxes to whom you want to distribute messages. You can create several Marketplace aliases which point to one physical Marketplace.QIRUPDWLRQ 3RUWDO 85/ 3RUWDO 3RUW $OLDV PDUNHWSODFHP\6$3FRP EX\LW  5RXWLQJ 7UDQVSRUWV © SAP AG 1999 n n n To configure the portal transport in the SAP Business Connector. This allows you to to access different partner mailboxes by simply switching between different Marketplace aliases.P\6$3 WUDQVSRUW FRQILJXUDWLRQ 6$3 %XVLQHVV &RQQHFWRU 0DUNHWSODFHV  (GLW $OLDV .

é Note: you can poll from more than one mailbox on a Marketplace at the same time. © SAP AG BC635 8-14 . You have to specify the mailbox ID under which incoming messages for you are kept and the username and password for your account.P\6$3 WUDQVSRUW FRQILJXUDWLRQ 6$3 %XVLQHVV &RQQHFWRU (GLW PDLOER[ IRU P\VDS ORJRQ SDUDPHWHUV 0DLOER[ .' 8VHUQDPH 3DVVZRUG EX\HU EX\HU 3ROOLQJ LQWHUYDO LQ VHFRQGV  5RXWLQJ 7UDQVSRUWV © SAP AG 1999 n n For every Marketplace you have to configure at least one mailbox for your incoming messages.

To activate polling you have to click the red ball on the mailbox overview list. This way you do not have to allow for a Marketplace to push messages to your local system. A corresonding job will be scheduled. If you do not fill in a value here polling will happen every 60 seconds. You keep control over when you want to poll messages and do not have to open your firewall for external clients.' 8VHUQDPH 3DVVZRUG EX\HU EX\HU 3ROOLQJ LQWHUYDO LQ VHFRQGV  5RXWLQJ 7UDQVSRUWV © SAP AG 1999 n To receive messages from the portal. Polling will be executed with the interval you specify. the SAP Business Connector will poll them from the portal. You can see this job if you go to the ‘Scheduler’ Menu. n n © SAP AG BC635 8-15 .P\6$3 WUDQVSRUW FRQILJXUDWLRQ 6$3 %XVLQHVV &RQQHFWRU (GLW PDLOER[ IRU P\VDS ORJRQ SDUDPHWHUV 0DLOER[ .

If this fails it will go through the list of your own mailboxes configured for this marketplace until a valid username and password are found and the connection can be established. You have the choice to é either define a list of portal aliases or a single alias to which the message will be broadcasted. If the login should fail entirely then the message will not be broadcastet to any of the specified Marketplaces even if the logon to other Marketplaces was successfull.com portal’. In this case it will be sent to all the configured trading partner’s mailboxes. é Specify one marketplace and one mailbox on this marketplace to which the message will be sent.5RXWLQJ UXOH VHQGLQJ D PHVVDJH WR WKH SRUWDO URXWLQJ UXOH sender receiver T20CLNT400 SAPBC msg type ORDERS transport mySAP. © SAP AG BC635 7304 '98 5  4 8-16 EX\HU  4  d 9!f£94eB # .com Portal Mailbox ID seller54 © SAP AG 1999 n n To send messages to the portal. n To login to the Marketplace SAP BC will use the first username and password configured for your own mailbox on that marketplace. you create a routing rule with transport type ‘mySAP.

5RXWLQJ UXOH SROOLQJ D PHVVDJH IURP WKH SRUWDO VHOOHU © SAP AG 1999 n You need a routing rule for the incoming messages. . type buyer54 sender54 ORDERS é In our example the VHOOHU polls the message from the portal.mesg. so the routing rule values are © SAP AG 7304 '498 5  URXWLQJ UXOH sender receiver buyer54 seller54 msg type ORDERS transport ALE R/3 system T21_800 BC635 8-17 .receiver .sender .

6$3 %&  DQG WKH 0DUNHW6HW . a customer/ supplier does not want to run his own BBP System. To connect SAP Systems to the SAP Markets & Commerce One marketplace MarketSet the SAPBC is used. the MarketConnect Integration Module (MC IM) is required.QWHUQHW 7HFKQRORJ\ . © SAP AG BC635 sX q p i 9a")('WX #hg † „ ƒx ˆ„ˆ‡ †‚…t €‚€x  # ‘p # 6$3 6\VWHP p # s q p 9Xa"%(i¢X #’g o r ˆn p sq9p i– g m ˆ— B™• hd …lbk ˜™j9BB…‚d•e–f˜ — ¤–— ‚e“ “ • ”e ” 0DUNHW6HW 0DUNHW6HW ‰ WU ‰ V sX p # )aqr'(i X hg y€x w3uvt 1RQ 6$3 1RQ 6$3 6\VWHPV 6\VWHPV 8-18 .g. Additionally they need a specific solution do understand xCBL documents.3& 1RQ 6$3 1RQ 6$3 6\VWHPV 6\VWHPV Communication Platform for the Marketplace l Enabling SAP and non SAP customers to talk to the MarketSet l Special partner license for B2B partners (MarketConnect) © SAP AG 1999 Œ Œ Œ Œ Œ Œ Œ SAP BC is the on-ramp strategy for SAP Markets & Commerce One MarketSet Within MarketSet the Commerce One XML Portal Connector routes documents and provides cores services. Commerce One´s XML dialect xCBL is used. To enable the SAP Business Connector to exchange documents with MarketSet. This is called a Spoke License. SAP Systems are directly connected (without XPC) using the Business Connector XPC enables the MarketSet for XML communication. E. Hosted SAP Systems within the MarketSet infrastructure are to handled like SAP Systems at the on-ramp side. All other Non-SAP systems have to use a MarketConnect Adapter for their specific system to be able to connect to MarketSet. In this case he can use the hostes BBP System within the MarketSet infrastructure as a service. To enable the SAP Business Connector tounderstand xCBL the SAPMarkets Intergration Module (MC IM) is required To connect an Non-SAP System to a MarketSet infrastructure a special partner license of webMethods B2BServer (again with an MC IM) is required.3& .

6$3 %& DQG P\6$3FRP 8QLW 6XPPDU\ <RX DUH QRZ DEOH WR l 'HVFULEH WKH UROH RI 6$3 %& ZLWKLQ WKH P\6$3 LQIUDVWUXFWXUH l 'HVFULEH WKH SDUDPHWHUV IRU WKH P\6$3 PDUNHWSODFH FRPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 8-19 .

0/ %DVLFV 6$3 WR 1RQ6$3 &RPPXQLFDWLRQ 0DQDJLQJ WKH 6$3 %& 6$3 %& DQG P\6$3 &RQFOXVLRQ 6$3 WR 6$3 &RPPXQLFDWLRQ © SAP AG 1999 © SAP AG BC635 9-1 .&RQFOXVLRQ &RXUVH 2YHUYLHZ 'LDJUDP &RXUVH 2YHUYLHZ 7KH 6$3 %&  *HWWLQJ 6WDUWHG 6$3 %& $UFKLWHFWXUH .

QVWDOO FRQILJXUH DQG DGPLQLVWUDWH WKH 6$3 DUFKLWHFWXUH DQG LQWHJUDWLRQ WHFKQRORJLHV l 'HVFULEH KRZ WKH 6$3 %XVLQHVV &RQQHFWRU %XVLQHVV &RQQHFWRU IRU GLIIHUHQW VFHQDULRV XVHV .&RXUVH 2EMHFWLYHV 8QLW 2EMHFWLYHV <RX KDYH OHDUQHG WR l 'HVFULEH 6$3 %XVLQHVV &RQQHFWRU l .0/ © SAP AG 1999 © SAP AG BC635 9-2 .

5HFRPPHQGHG )ROORZXS &RXUVHV l 6HH UHFRPPHQGHG FRXUVHV LQ WKH FRXUVH XQLWV WR ILQG WKH DSSURSULDWH FRXUVH IRU \RXU FXVWRPHUVSHFLILF HQYLURQPHQW © SAP AG 1999 © SAP AG BC635 9-3 .

'(6 GDWD RU l 5HDG GRFXPHQWDWLRQ LQ 6$31(7 \RXU RZQ GDWD KWWSVHUYLFHVDSFRPFRQQHFWRUV.5HFRPPHQGHG )ROORZXS $FWLYLWLHV l *R WKURXJK WKH H[HUFLVHV DJDLQ XVLQJ .

© SAP AG 1999 © SAP AG BC635 9-4 .

Sign up to vote on this title
UsefulNot useful