Consuming SAP NetWeaver Gateway Services from PHP Applications
|
|
|
- Emory Bond
- 10 years ago
- Views:
Transcription
1 Consuming SAP NetWeaver Gateway Services from PHP Applications
2 Copyright Copyright 2011 SAP AG. All rights reserved. SAP Library document classification: PUBLIC No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iseries, pseries, xseries, zseries, eserver, z/vm, z/os, i5/os, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects is an SAP company. Sybase and Adaptive Server, ianywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase, Inc. Sybase is an SAP company. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
3 Table of Contents Consuming SAP NetWeaver Gateway Services on PHP Applications... 4 Prerequisites... 5 Building a PHP Application... 6 Function Import Example... 6 Read Example... 9 Create Example Creation of Request Body for Create Method: Authentication Using X.509 Certificate Prerequisites Read Example Appendix 1 - RMTSAMPLEFLIGHT Service Metadata Description...16 Appendix 2 Code Snippets...22 Read - Get Carrier by Carrier ID Function Import Get available Flights Create - Booking a Flight Read - Get Carrier by Carrier ID Using X.509 Certificate Authentication... 25
4 CONSUMING SAP NETWEAVER GATEWAY SERVICES FROM PHP APPLICATIONS SAP NetWeaver Gateway technology provides a simple way to interact with SAP applications through variety of devices, environments and platforms based on market standards. The framework enables development of innovative, people-centric solutions that bring the power of SAP business software into new experiences, such as: social networking and collaboration environments; mobile and tablet devices; and rich internet applications. The framework supports rapid innovation while ensuring security, integrity, management and optimized maintenance of the core SAP systems. Completely flexible, the software offers connectivity to SAP applications using any programming language or model without the need for SAP knowledge by taking advantage of REST services and OData/ATOM protocols. This guide provides information on how to consume SAP NetWeaver Gateway services from PHP applications based on the following scenario: The user wants to fly from New York to San Francisco. He goes online and searches for the different flights available. He enters his search parameters: city of origin, destination city, departure date, and arrival date (Function Import). From the SAP NetWeaver Gateway, he receives the information for the option(s) that meet(s) his search parameters (Get Function). He can now select the one that suits him the most and book his flight (Create Function). The links to access the service document and metadata document are provided the in table below. Service Document Metadata Document $metadata?$format=xml Each service URL should contain the following information: Gateway host Port SAP Client no need to specify client if connecting to the default client. Example: To obtain information on the selected service (its properties, function imports, associations, etc.), refer to Appendix 1, were we show the Metadata description of the RMTSAMPLEFLIGHT service. To view the code snippets in a format that can be copied into new code, refer to Appendix 2 Code Snippets.
5 The Flight service contains the following collections: Collection FlightCollection (list of flights) CarrierCollection (list of carriers) BookingsCollection (list of Bookings) URL sdata/iwfnd/rmtsampleflight/flightcollection iwfnd/rmtsampleflight/carriercollection >/sap/opu/sdata/ iwfnd/rmtsampleflight/bookingcollection The operation GetAvailableFlights on FlightCollection is used to get a list of flights. The following is the URL for the same: Each collection supports some or all of the operations listed below. The table below provides the list of operations supported and the methods that each of this operations map to respectively: Operation Create Read Update Delete Method HTTP POST GET PUT DELETE Prerequisites The following tools are required for developing a PHP application: Software SAP NetWeaver Gateway 2.0 Version PHP To download go to: OData SDK for PHP Contact your system administrator for landscape details to connect to the SAP NetWeaver Gateway system.
6 Make sure you have performed the following procedures: Install and configure OData SDK as described in the OData SDK for PHP User Guide. You can find the user guide in the OData SDK folder, at: \doc\user_guide.htm. Add proxies for the relevant service to your PHP project as described in the OData SDK for PHP User Guide. Note: It is recommended to save the relevant service metadata into a local file and use it while generating the proxies. Require the generated proxy file. require_once "RMTSAMPLEFLIGHT.php"; Building a PHP Application Function Import Example To get a list of the available flights, based on filter criteria, trigger the GetAvailableFlights function import with cityfrom, cityto, fromdate and todate parameters. The response will contain a list of flights that meet the criteria. Note: For more information on Function Import (also called Service Operation), refer to OData documentation at under the Addressing Service Operations section. Refer to the code snippet below for details on how to do it from a PHP application: 1. Initialize the service proxy object, for example RMTSAMPLEFLIGHT, using the service URL. $proxy = new RMTSAMPLEFLIGHT (' 2. Enter the service credentials. $proxy->credential = new WindowsCredential('<Username>', '<Password>'); 3. Add the XMLHttpRequest http header needed for POST requests. $proxy->addheader('x-requested-with', 'XMLHttpRequest'); 4. Execute a query calling the GetAvailableFlights function import with the following parameters: flight departure date, arrival date, and cities. $city_from = 'NEW YORK'; $city_to = 'SAN FRANCISCO'; $from_date = ' '; $to_date = ' '; $flights = $proxy->execute("getavailableflights?cityfrom=$city_from&cityto=$city_to &fromdate=$from_date&todate=$to_date")->result;
7 5. Iterate all objects in the result obtained above. foreach ($flights as $flight) { echo "Flight Carrier: ". $flight->carrid. "<br/>"; echo "Flight Price: ". $flight->price. "<br/>"; echo "Flight Max. Seats: ". $flight->seatsmax. "<br/><br/>"; } Refer to the full code snippet found in Appendix 2. Response <?xml version="1.0" encoding="utf-8"?> - <atom:feed xml:base="<gateway_host>:<gateway_port>/sap/opu/sdata/iwfnd/rmtsampleflight/" xmlns:atom=" xmlns:d=" xmlns:m=" xmlns:sap=" <atom:id> name>:<port>/sap/opu/sdata/iwfnd/rmtsampleflight/flightcollection</atom:id> <atom:link href="flightcollection" rel="self" type="application/atom+xml;type=feed" title="flightcollection" /> <atom:title>flightcollection</atom:title> <atom:updated> t06:32:42z</atom:updated> - <atom:entry> <atom:author /> - <atom:content type="application/xml"> - <m:properties> <d:carrid>aa</d:carrid> <d:connid>0017</d:connid> <d:fldate m:type="edm.datetime"> t00:00:00</d:fldate> <d:price m:type="edm.decimal">889.00</d:price> <d:currency>usd</d:currency> <d:planetype> </d:planetype> <d:seatsmax>385</d:seatsmax> <d:seatsocc>367</d:seatsocc> <d:paymentsum m:type="edm.decimal"> </d:paymentsum> <d:seatsmax_b>31</d:seatsmax_b> <d:seatsocc_b>22</d:seatsocc_b> <d:seatsmax_f>21</d:seatsmax_f> <d:seatsocc_f>21</d:seatsocc_f> - <d:flightdetails> <d:countryfrom>us</d:countryfrom> <d:cityfrom>new york</d:cityfrom> <d:airportfrom>jfk</d:airportfrom> <d:countryto>us</d:countryto> <d:cityto>san FRANCISCO</d:cityTo> <d:airportto>sfo</d:airportto> <d:flighttime>361</d:flighttime> <d:departuretime m:type="edm.time">pt11h00m00s</d:departuretime> <d:arrivaltime m:type="edm.time">pt14h01m00s</d:arrivaltime> <d:distance m:type="edm.decimal"> </d:distance> <d:distanceunit>smi</d:distanceunit> <d:flighttype /> <d:period m:type="edm.byte">0</d:period> </d:flightdetails> </m:properties> </atom:content> <atom:id> id='0017',fldate=' ')</atom:id> <atom:link href="flightcollection(carrid='aa',connid='0017',fldate=' ')" rel="edit" type="application/atom+xml;type=entry" /> <atom:link href="flightcollection(carrid='aa',connid='0017',fldate=' ')/flightbooking" rel=" type="application/atom+xml;type=entry" title="rmtsampleflight.bookingflight" /> <atom:link href="flightcollection(carrid='aa',connid='0017',fldate=' ')/flightbookings" rel=" type="application/atom+xml;type=feed" title="rmtsampleflight.flightbookings" />
8 <atom:link href="flightcollection(carrid='aa',connid='0017',fldate=' ')/flightcarrier" rel=" type="application/atom+xml;type=entry" title="rmtsampleflight.carriertoflight" /> <atom:title>flight</atom:title> <atom:updated> t06:32:42z</atom:updated> </atom:entry> - <atom:entry> <atom:author /> - <atom:content type="application/xml"> - <m:properties> <d:carrid>aa</d:carrid> <d:connid>0017</d:connid> <d:fldate m:type="edm.datetime"> t00:00:00</d:fldate> <d:price m:type="edm.decimal">422.94</d:price> <d:currency>usd</d:currency> <d:planetype> </d:planetype> <d:seatsmax>385</d:seatsmax> <d:seatsocc>371</d:seatsocc> <d:paymentsum m:type="edm.decimal"> </d:paymentsum> <d:seatsmax_b>31</d:seatsmax_b> <d:seatsocc_b>30</d:seatsocc_b> <d:seatsmax_f>21</d:seatsmax_f> <d:seatsocc_f>20</d:seatsocc_f> - <d:flightdetails> <d:countryfrom>us</d:countryfrom> <d:cityfrom>new york</d:cityfrom> <d:airportfrom>jfk</d:airportfrom> <d:countryto>us</d:countryto> <d:cityto>san FRANCISCO</d:cityTo> <d:airportto>sfo</d:airportto> <d:flighttime>361</d:flighttime> <d:departuretime m:type="edm.time">pt11h00m00s</d:departuretime> <d:arrivaltime m:type="edm.time">pt14h01m00s</d:arrivaltime> <d:distance m:type="edm.decimal"> </d:distance> <d:distanceunit>smi</d:distanceunit> <d:flighttype /> <d:period m:type="edm.byte">0</d:period> </d:flightdetails> </m:properties> </atom:content> <atom:id> id='0017',fldate=' ')</atom:id> <atom:link href="flightcollection(carrid='aa',connid='0017',fldate=' ')" rel="edit" type="application/atom+xml;type=entry" /> <atom:link href="flightcollection(carrid='aa',connid='0017',fldate=' ')/flightbooking" rel=" type="application/atom+xml;type=entry" title="rmtsampleflight.bookingflight" /> <atom:link href="flightcollection(carrid='aa',connid='0017',fldate=' ')/flightbookings" rel=" type="application/atom+xml;type=feed" title="rmtsampleflight.flightbookings" /> <atom:link href="flightcollection(carrid='aa',connid='0017',fldate=' ')/flightcarrier" rel=" type="application/atom+xml;type=entry" title="rmtsampleflight.carriertoflight" /> <atom:title>flight</atom:title> <atom:updated> t06:32:42z</atom:updated> </atom:entry>
9 Read Example To read the carrier details, you must call the CarrierCollection using the Carrier ID parameter. Refer to the code snippet below for details on how to do it from a PHP application: 1. Initialize the service proxy object, for example RMTSAMPLEFLIGHT using the service URL. $proxy = new RMTSAMPLEFLIGHT (' 2. Enter the service credentials. $proxy->credential = new WindowsCredential('<Username>', '<Password>'); 3. Specify the carrier ID parameter for which we want to receive information. $carrier_id = 'AA'; //American Airlines 4. Execute the query below on the service to retrieve the carrier and save the result. The result returned in the response is an array containing the specific Carrier object. $query = $proxy->carriercollection()->filter("carrid eq '$carrier_id'"); $carriers = $query->execute()->result; 5. Use the result to display the information obtained. echo "Carrier ID: ". $carriers[0]->carrid. "<br/>"; echo "Carrier Name: ". $carriers[0]->carrname. "<br/>"; echo "Carrier Code: ". $carriers[0]->currcode. "<br/>"; echo "Carrier URL: ". $carriers[0]->url. "<br/>"; Refer the full code snippet found in Appendix 2. Response <?xml version="1.0" encoding="utf-8"?> - <atom:entry xml:base="<gateway_host>:<gateway_port>/sap/opu/sdata/iwfnd/rmtsampleflight/" xmlns:atom=" xmlns:d=" xmlns:m=" xmlns:sap=" <atom:author /> <atom:content src=" /> - <m:properties> <d:carrid>aa</d:carrid> <d:carrname>american Airlines</d:CARRNAME> <d:currcode>usd</d:currcode> <d:url> <d:mimetype /> </m:properties> <atom:id><gateway_host>:<gateway_port>/sap/opu/sdata/iwfnd/rmtsampleflight/carriercollection(carrid='aa')</atom:i d> <atom:link href="carriercollection(carrid='aa')" rel="self" type="application/atom+xml;type=entry" /> <atom:link href="carriercollection(carrid='aa')/carrierflights" rel=" type="application/atom+xml;type=feed" title="rmtsampleflight.carriertoflight" /> <atom:title>carrier</atom:title> <atom:updated> t10:00:38z</atom:updated> </atom:entry>
10 Create Example To book a flight, trigger the HTTP POST method on the Booking Collection (with the Booking details in the request body). Check for the HTTP response code. If the response code is 201, then the HTTP-POST is successful. The response contains the newly created Booking ID in the bookid field, as well as the entire information that was part of the request body. Refer to the code snippet below for details on how to invoke a create request from a PHP application: 1. Initialize the service proxy object, for example RMTSAMPLEFLIGHT, using the service URL. $proxy = new RMTSAMPLEFLIGHT (' 2. Enter the service credentials. $proxy->credential = new WindowsCredential('<Username>', '<Password>'); 3. Create the new Booking item. //Create a booking object with key properties: $carrid = 'AA'; $connid = '0017'; $fldate = ' T00:00:00'; $bookid = ''; $booking = Booking::CreateBooking($carrid, $connid, $fldate, $bookid); //Define additional booking properties: $booking->customid = ' '; $booking->custtype = 'P'; $booking->wunit = 'KG'; $booking->luggweight = ' '; $booking->class = 'Y'; $booking->forcuram = '879.82'; $booking->forcurkey = 'USD'; $booking->loccuram = '803.58'; $booking->loccurkey = 'USD'; $booking->order_date = ' T00:00:00'; $booking->counter = ' '; $booking->agencynum = ' '; $booking->passname = 'Joe Smith'; $booking->passform = ' '; $booking->passbirth = ' T00:00:00'; 4. Add the new Booking item to the BookingCollection. Note: The service is not aware of these changes until the SaveChanges method is called. $proxy->addtobookingcollection($booking); 5. Add the XMLHttpRequest http header needed for POST requests. $proxy->setentityheaders($booking, array('x-requested-with' => 'XMLHttpRequest'));
11 6. Save all changes made to the service (this will trigger the request). Note: Define the SaveChangesOptions property to send each change in a separate request, for services which do not support OData $batch function, as RMTSAMPLEFLIGHT. $proxy->setsavechangesoptions(savechangesoptions::none); $proxy->savechanges(); Note: The SaveChanges method may cause printing of some PHP warnings. To hide these warnings, set the error_reporting configuration using the following code: error_reporting(e_all & ~E_NOTICE); //Show all errors, except for notices and coding standards warnings Refer the full code snippet found in Appendix 2.
12 Creation of Request Body for Create Method: The request body can be easily created by looking at the tags in the collection s metadata. For example, the metadata for Booking Collection provides information about the various fields (tags) that are needed for creating a booking: <Property Name="carrid" Type="Edm.String" Nullable="false" MaxLength="3" sap:label="airline" <Property Name="connid" Type="Edm.String" Nullable="false" MaxLength="4" sap:label="flight Number" <Property Name="fldate" Type="Edm.DateTime" Nullable="false" Precision="10" sap:label="date" <Property Name="bookid" Type="Edm.String" Nullable="false" MaxLength="8" sap:label="booking number" <Property Name="CUSTOMID" Type="Edm.String" MaxLength="8" sap:label="customer Number" <Property Name="CUSTTYPE" Type="Edm.String" MaxLength="1" sap:label="b/p customer" <Property Name="SMOKER" Type="Edm.String" MaxLength="1" sap:label="smoker" <Property Name="WUNIT" Type="Edm.String" MaxLength="3" sap:label="unit of measure" <Property Name="LUGGWEIGHT" Type="Edm.Decimal" Precision="10" Scale="4" sap:label="luggage Weight" sap:filterable="false" sap:unit="wunit"/> <Property Name="INVOICE" Type="Edm.String" MaxLength="1" sap:label="invoice pty." <Property Name="CLASS" Type="Edm.String" MaxLength="1" sap:label="class" <Property Name="FORCURAM" Type="Edm.Decimal" Precision="20" Scale="2" sap:label="amount" <Property Name="FORCURKEY" Type="Edm.String" MaxLength="5" sap:label="paymnt currency" <Property Name="LOCCURAM" Type="Edm.Decimal" Precision="20" Scale="2" sap:label="amount" <Property Name="LOCCURKEY" Type="Edm.String" MaxLength="5" sap:label="airline Currency" <Property Name="ORDER_DATE" Type="Edm.DateTime" Precision="10" sap:label="booking date" <Property Name="COUNTER" Type="Edm.String" MaxLength="8" sap:label="sales office" <Property Name="AGENCYNUM" Type="Edm.String" MaxLength="8" sap:label="agency No." <Property Name="CANCELLED" Type="Edm.String" MaxLength="1" sap:label="cancelation flag" <Property Name="RESERVED" Type="Edm.String" MaxLength="1" sap:label="reserved" <Property Name="PASSNAME" Type="Edm.String" MaxLength="25" sap:label="passenger Name" <Property Name="PASSFORM" Type="Edm.String" MaxLength="15" sap:label="title" <Property Name="PASSBIRTH" Type="Edm.DateTime" Nullable="true" Precision="10" sap:label="dob of Passeng."
13 Authentication Using X.509 Certificate In the code snippets above, the requests sent to the service use Basic Authentication. If X.509 Certificate Authentication is needed, the X.509 Client Certificate should be attached to any request sent to the service. In addition, a CA Certificate of the SAP NetWeaver Gateway server should be used for server authentication, as part of the SSL Handshake process. Note: OData generated proxies do not support X.509 Certificate Authentication. Therefore the service requests should be sent using PHP libraries which support SSL and X.509 Certificate Authentication (as curl used in the code snippets below). In addition, the developer is responsible for parsing the service response according to the OData / SAP Data Protocols. Prerequisites The following tools are required for developing a PHP application which uses X.509 Certificate Authentication (in addition to the tools mentioned above as prerequisites for developing a PHP application): Software Version PHP curl Extension Note: OData SDK for PHP is not needed as a prerequisite since it does not support X.509 Certificate Authentication. Make sure you have performed the following procedures: Install and configure the curl library. In a Windows operating system, this can be done by enabling the php_curl.dll in php.ini configuration file: Search for 'extension=php_curl.dll' in the php.ini file and remove the semicolon (;) in front of it. Export the root CA Certificate of the SAP NetWeaver Gateway server into a local file, which is accessible from your PHP project. You may use any browser program for that. Make sure the certificate is saved in Base64-encoded format. Store the X.509 Client Certificate (which should be attached to each request sent to the service) into a local file accessible from your PHP project. Make sure the certificate is saved in PEM format. If the certificate is saved in a different format, you must convert it to PEM format using a converter tool, such as OpenSSL. For example, to convert a PKCS#12 file (.pfx.p12) containing a private key and certificates to PEM format, execute the following command: openssl pkcs12 -in <Original_Certificate_Path>.pfx -out <Converted_Certificate_ Path>.pem nodes
14 Read Example To read the carrier details, you must call the CarrierCollection using the Carrier ID parameter. Refer to the code snippet below for details on how to do it from a PHP application using X.509 Certificate Authentication: 1. Create a service request object using the curl library. $curlreq = curl_init(); 2. Specify the carrier ID parameter for which you want to receive information. $carrier_id = 'AA'; //American Airlines 3. Create a Get Specific Carrier query string and set it as the request URL. Note: Use an https protocol to trigger an SSL Handshake process which is needed for X.509 Certificate Authentication. $query_url = " RMTSAMPLEFLIGHT/CarrierCollection(carrid='$carrier_id')"; curl_setopt($curlreq, CURLOPT_URL, $query_url); 4. Set the request general options to support redirection and response returned as a string. curl_setopt($curlreq, CURLOPT_RETURNTRANSFER, true); curl_setopt($curlreq, CURLOPT_FOLLOWLOCATION, true); 5. Set request options for the server verification during the SSL Handshake, including defining the trusted CA Certificate location. curl_setopt($curlreq, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($curlreq, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curlreq, CURLOPT_CAINFO, '<Gateway_CA_Certificate_Path>.cer'); 6. Attach the stored X.509 Client Certificate to the request. curl_setopt($curlreq, CURLOPT_SSLCERT, '<Client_Certificate_Path>.pem'); 7. Send the request and handle the service response. $curlres = curl_exec($curlreq); //Handle response: if(!curl_errno($curlreq)) { $info = curl_getinfo($curlreq); echo $curlres; } else { echo 'CURL error: '. curl_error($curlreq); }
15 Note: The service response should be parsed according to the OData/SAP Data Protocols to be used as demonstrated in the Basic Authentication Read Example. This parsing is not demonstrated in this code snippet, and should be implemented by the developer, if needed. 8. Close the request object. curl_close($curlreq); Refer the full code snippet found in Appendix 2.
16 Appendix 1 - RMTSAMPLEFLIGHT Service Metadata Description <?xml version="1.0" encoding="utf-8"?> <edmx:edmx Version="1.0" xmlns:edmx=" xmlns:gp=" xmlns:m=" xmlns:sap=" <edmx:dataservices m:dataserviceversion="2.0"> <Schema Namespace="RMTSAMPLEFLIGHT" xmlns=" <EntityType Name="Subscription" sap:content-version="1"> <Key> <PropertyRef Name="ID"/> </Key> <Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="32" sap:label="sub. ID" <Property Name="user" Type="Edm.String" MaxLength="12" sap:label="user Name" sap:filterable="false" m:fc_targetpath="syndicationauthorname" m:fc_keepincontent="false"/> <Property Name="updated" Type="Edm.DateTime" Precision="19" sap:label="time Stamp" sap:filterable="false" m:fc_targetpath="syndicationupdated" m:fc_keepincontent="false"/> <Property Name="title" Type="Edm.String" MaxLength="255" sap:label="title" sap:creatable="true" sap:filterable="false" m:fc_targetpath="syndicationtitle" m:fc_keepincontent="false"/> <Property Name="deliveryAddress" Type="Edm.String" sap:label="delivery Address" sap:creatable="true" <Property Name="collection" Type="Edm.String" MaxLength="40" sap:label="collection" sap:creatable="true" <Property Name="filter" Type="Edm.String" sap:label="filter" sap:creatable="true" <Property Name="select" Type="Edm.String" MaxLength="255" sap:label="select" sap:creatable="true" </EntityType> <EntityType Name="Notification" sap:content-version="1"> <Key> <PropertyRef Name="ID"/> </Key> <Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="32" sap:label="notification ID" <Property Name="collection" Type="Edm.String" MaxLength="40" sap:label="collection" <Property Name="title" Type="Edm.String" sap:label="notif. Text" <Property Name="updated" Type="Edm.DateTime" Precision="19" sap:label="time Stamp" </EntityType> <EntityType Name="Flight" sap:content-version="1"> <Key> <PropertyRef Name="carrid"/> <PropertyRef Name="connid"/> <PropertyRef Name="fldate"/> </Key> <Property Name="carrid" Type="Edm.String" Nullable="false" MaxLength="3" sap:label="airline" <Property Name="connid" Type="Edm.String" Nullable="false" MaxLength="4" sap:label="flight Number" <Property Name="fldate" Type="Edm.DateTime" Nullable="false" Precision="10" sap:label="date"
17 <Property Name="PRICE" Type="Edm.Decimal" Precision="20" Scale="2" sap:label="airfare" <Property Name="CURRENCY" Type="Edm.String" MaxLength="5" sap:label="airline Currency" <Property Name="PLANETYPE" Type="Edm.String" MaxLength="10" sap:label="plane Type" <Property Name="SEATSMAX" Type="Edm.Int32" sap:label="max. capacity econ." <Property Name="SEATSOCC" Type="Edm.Int32" sap:label="occupied econ." <Property Name="PAYMENTSUM" Type="Edm.Decimal" Precision="22" Scale="2" sap:label="total" <Property Name="SEATSMAX_B" Type="Edm.Int32" sap:label="max. capacity bus." <Property Name="SEATSOCC_B" Type="Edm.Int32" sap:label="occupied bus." <Property Name="SEATSMAX_F" Type="Edm.Int32" sap:label="max. capacity 1st" <Property Name="SEATSOCC_F" Type="Edm.Int32" sap:label="occupied 1st" <Property Name="flightDetails" Type="RMTSAMPLEFLIGHT.FlightDetails" Nullable="false" sap:label="flightdetails" sap:creatable="true" sap:updatable="true" <NavigationProperty Name="flightbooking" Relationship="RMTSAMPLEFLIGHT.BookingFlight" FromRole="FromRole_Flight_Booking" ToRole="ToRole_Booking_Flight"/> <NavigationProperty Name="flightBookings" Relationship="RMTSAMPLEFLIGHT.FlightBookings" FromRole="FromRole_Flight_Booking" ToRole="ToRole_Booking_Flight"/> </EntityType> <EntityType Name="Booking" sap:content-version="1" sap:semantics="flight_booking"> <Key> <PropertyRef Name="carrid"/> <PropertyRef Name="connid"/> <PropertyRef Name="fldate"/> <PropertyRef Name="bookid"/> </Key> <Property Name="carrid" Type="Edm.String" Nullable="false" MaxLength="3" sap:label="airline" <Property Name="connid" Type="Edm.String" Nullable="false" MaxLength="4" sap:label="flight Number" <Property Name="fldate" Type="Edm.DateTime" Nullable="false" Precision="10" sap:label="date" <Property Name="bookid" Type="Edm.String" Nullable="false" MaxLength="8" sap:label="booking number" <Property Name="CUSTOMID" Type="Edm.String" MaxLength="8" sap:label="customer Number" <Property Name="CUSTTYPE" Type="Edm.String" MaxLength="1" sap:label="b/p customer" <Property Name="SMOKER" Type="Edm.String" MaxLength="1" sap:label="smoker" <Property Name="WUNIT" Type="Edm.String" MaxLength="3" sap:label="unit of measure" <Property Name="LUGGWEIGHT" Type="Edm.Decimal" Precision="10" Scale="4" sap:label="luggage Weight" sap:filterable="false" sap:unit="wunit"/> <Property Name="INVOICE" Type="Edm.String" MaxLength="1" sap:label="invoice pty." <Property Name="CLASS" Type="Edm.String" MaxLength="1" sap:label="class" <Property Name="FORCURAM" Type="Edm.Decimal" Precision="20" Scale="2" sap:label="amount" <Property Name="FORCURKEY" Type="Edm.String" MaxLength="5" sap:label="paymnt currency" <Property Name="LOCCURAM" Type="Edm.Decimal" Precision="20" Scale="2" sap:label="amount"
18 <Property Name="LOCCURKEY" Type="Edm.String" MaxLength="5" sap:label="airline Currency" <Property Name="ORDER_DATE" Type="Edm.DateTime" Precision="10" sap:label="booking date" <Property Name="COUNTER" Type="Edm.String" MaxLength="8" sap:label="sales office" <Property Name="AGENCYNUM" Type="Edm.String" MaxLength="8" sap:label="agency No." <Property Name="CANCELLED" Type="Edm.String" MaxLength="1" sap:label="cancelation flag" <Property Name="RESERVED" Type="Edm.String" MaxLength="1" sap:label="reserved" <Property Name="PASSNAME" Type="Edm.String" MaxLength="25" sap:label="passenger Name" <Property Name="PASSFORM" Type="Edm.String" MaxLength="15" sap:label="title" <Property Name="PASSBIRTH" Type="Edm.DateTime" Nullable="true" Precision="10" sap:label="dob of Passeng." <NavigationProperty Name="bookedFlight" Relationship="RMTSAMPLEFLIGHT.BookingFlight" FromRole="ToRole_Booking_Flight" ToRole="FromRole_Flight_Booking"/> </EntityType> <EntityType Name="Carrier" sap:content-version="1"> <Key> <PropertyRef Name="carrid"/> </Key> <Property Name="carrid" Type="Edm.String" Nullable="false" MaxLength="3" sap:label="airline" <Property Name="CARRNAME" Type="Edm.String" MaxLength="20" sap:label="airline" <Property Name="CURRCODE" Type="Edm.String" MaxLength="5" sap:label="airline Currency" <Property Name="URL" Type="Edm.String" MaxLength="255" sap:label="url" <NavigationProperty Name="carrierFlights" Relationship="RMTSAMPLEFLIGHT.CarrierToFlight" FromRole="FromRole_Carrier_Flight" ToRole="ToRole_Flight_Carrier"/> </EntityType> <EntityType Name="Travelagency" m:hasstream="true" sap:content-version="1"> <Key> <PropertyRef Name="agencynum"/> </Key> <Property Name="agencynum" Type="Edm.String" Nullable="false" MaxLength="8" sap:label="agency No." <Property Name="NAME" Type="Edm.String" MaxLength="25" sap:label="travel agency name" <Property Name="STREET" Type="Edm.String" MaxLength="30" sap:label="street" <Property Name="POSTBOX" Type="Edm.String" MaxLength="10" sap:label="po Box" <Property Name="POSTCODE" Type="Edm.String" MaxLength="10" sap:label="postal Code" <Property Name="CITY" Type="Edm.String" MaxLength="25" sap:label="city" <Property Name="COUNTRY" Type="Edm.String" MaxLength="3" sap:label="country" <Property Name="REGION" Type="Edm.String" MaxLength="3" sap:label="region" <Property Name="TELEPHONE" Type="Edm.String" MaxLength="30" sap:label="tel." <Property Name="URL" Type="Edm.String" MaxLength="255" sap:label="travel agency URL" <Property Name="LANGU" Type="Edm.String" MaxLength="2" sap:label="language"
19 <Property Name="CURRENCY" Type="Edm.String" MaxLength="5" sap:label="trav.agency.curr" <Property Name="mimeType" Type="Edm.String" MaxLength="128" sap:label="mime Type" </EntityType> <ComplexType Name="FlightDetails"> <Property Name="countryFrom" Type="Edm.String" MaxLength="3" sap:label="country" <Property Name="cityFrom" Type="Edm.String" MaxLength="20" sap:label="depart.city" <Property Name="airportFrom" Type="Edm.String" MaxLength="3" sap:label="dep. airport" <Property Name="countryTo" Type="Edm.String" MaxLength="3" sap:label="country" <Property Name="cityTo" Type="Edm.String" MaxLength="20" sap:label="arrival city" <Property Name="airportTo" Type="Edm.String" MaxLength="3" sap:label="dest. airport" <Property Name="flightTime" Type="Edm.Int32" sap:label="flight time" <Property Name="departureTime" Type="Edm.Time" Precision="8" sap:label="departure" <Property Name="arrivalTime" Type="Edm.Time" Precision="8" sap:label="arrival Time" <Property Name="distance" Type="Edm.Decimal" Precision="11" Scale="4" sap:label="distance" <Property Name="distanceUnit" Type="Edm.String" MaxLength="3" sap:label="distance in" <Property Name="flightType" Type="Edm.String" MaxLength="1" sap:label="charter" <Property Name="period" Type="Edm.Byte" sap:label="n day(s) later" </ComplexType> <ComplexType Name="FlightAvailability"> <Property Name="ECONOMAX" Type="Edm.Int32" sap:label="max. capacity econ." <Property Name="ECONOFREE" Type="Edm.Int32" sap:label="free seats" <Property Name="BUSINMAX" Type="Edm.Int32" sap:label="max. capacity bus." <Property Name="BUSINFREE" Type="Edm.Int32" sap:label="free seats" <Property Name="FIRSTMAX" Type="Edm.Int32" sap:label="max. capacity 1st" <Property Name="FIRSTFREE" Type="Edm.Int32" sap:label="free seats" </ComplexType> <ComplexType Name="FlightAvailability2" BaseType="RMTSAMPLEFLIGHT.FlightAvailability"/> <Association Name="FlightBookings" sap:content-version="1"> <End Type="RMTSAMPLEFLIGHT.Flight" Multiplicity="1" Role="FromRole_Flight_Booking"/> <End Type="RMTSAMPLEFLIGHT.Booking" Multiplicity="*" Role="ToRole_Booking_Flight"/> </Association> <Association Name="BookingFlight" sap:content-version="1"> <End Type="RMTSAMPLEFLIGHT.Flight" Multiplicity="1" Role="FromRole_Flight_Booking"/> <End Type="RMTSAMPLEFLIGHT.Booking" Multiplicity="1" Role="ToRole_Booking_Flight"/> <ReferentialConstraint> <Principal Role="FromRole_Flight_Booking"> <PropertyRef Name="carrid"/> <PropertyRef Name="connid"/> <PropertyRef Name="fldate"/> </Principal> <Dependent Role="ToRole_Booking_Flight"> <PropertyRef Name="carrid"/>
20 <PropertyRef Name="connid"/> <PropertyRef Name="fldate"/> </Dependent> </ReferentialConstraint> </Association> <Association Name="CarrierToFlight" sap:content-version="1"> <End Type="RMTSAMPLEFLIGHT.Carrier" Multiplicity="1" Role="FromRole_Carrier_Flight"/> <End Type="RMTSAMPLEFLIGHT.Flight" Multiplicity="*" Role="ToRole_Flight_Carrier"/> </Association> <EntityContainer Name="RMTSAMPLEFLIGHT" m:isdefaultentitycontainer="true"> <EntitySet Name="SubscriptionCollection" EntityType="RMTSAMPLEFLIGHT.Subscription" sap:content-version="1"/> <EntitySet Name="NotificationCollection" EntityType="RMTSAMPLEFLIGHT.Notification" sap:content-version="1"/> <EntitySet Name="FlightCollection" EntityType="RMTSAMPLEFLIGHT.Flight" sap:contentversion="1"/> <EntitySet Name="BookingCollection" EntityType="RMTSAMPLEFLIGHT.Booking" sap:contentversion="1" sap:semantics="flight_booking"/> <EntitySet Name="CarrierCollection" EntityType="RMTSAMPLEFLIGHT.Carrier" sap:contentversion="1" sap:creatable="false" sap:updatable="false" sap:deletable="false"/> <EntitySet Name="TravelagencyCollection" EntityType="RMTSAMPLEFLIGHT.Travelagency" sap:content-version="1" sap:searchable="true"/> <EntitySet Name="TravelAgencies" EntityType="RMTSAMPLEFLIGHT.Travelagency" sap:contentversion="1" sap:searchable="true"/> <AssociationSet Name="AssocSet_FlightBookings" Association="RMTSAMPLEFLIGHT.FlightBookings" sap:content-version="1"> <End EntitySet="FlightCollection" Role="FromRole_Flight_Booking"/> <End EntitySet="BookingCollection" Role="ToRole_Booking_Flight"/> </AssociationSet> <AssociationSet Name="AssocSet_BookingFlight" Association="RMTSAMPLEFLIGHT.BookingFlight" sap:content-version="1"> <End EntitySet="FlightCollection" Role="FromRole_Flight_Booking"/> <End EntitySet="BookingCollection" Role="ToRole_Booking_Flight"/> </AssociationSet> <AssociationSet Name="AssocSet_CarrierToFlight" Association="RMTSAMPLEFLIGHT.CarrierToFlight" sap:content-version="1" sap:creatable="false" sap:updatable="false" sap:deletable="false"> <End EntitySet="CarrierCollection" Role="FromRole_Carrier_Flight"/> <End EntitySet="FlightCollection" Role="ToRole_Flight_Carrier"/> </AssociationSet> <FunctionImport Name="CheckFlightAvailability" ReturnType="RMTSAMPLEFLIGHT.FlightAvailability" m:httpmethod="get" sap:actionfor="rmtsampleflight.flight"> <Parameter Name="airlineid" Type="Edm.String" Mode="In"> <Documentation> <Summary/> <LongDescription>Airline</LongDescription> </Documentation> </Parameter> <Parameter Name="connectionid" Type="Edm.String" Mode="In"> <Documentation> <Summary/> <LongDescription>Flight Number</LongDescription> </Documentation> </Parameter> <Parameter Name="flightdate" Type="Edm.DateTime" Mode="In"> <Documentation> <Summary/> <LongDescription>Date</LongDescription> </Documentation> </Parameter> </FunctionImport>
21 <FunctionImport Name="GetAvailableFlights" ReturnType="Collection(RMTSAMPLEFLIGHT.Flight)" EntitySet="FlightCollection" m:httpmethod="post"> <Parameter Name="fromdate" Type="Edm.DateTime" Mode="In"> <Documentation> <Summary/> <LongDescription>Date</LongDescription> </Documentation> </Parameter> <Parameter Name="todate" Type="Edm.DateTime" Mode="In"> <Documentation> <Summary/> <LongDescription>Date</LongDescription> </Documentation> </Parameter> <Parameter Name="cityfrom" Type="Edm.String" Mode="In"> <Documentation> <Summary/> <LongDescription>Depart.city</LongDescription> </Documentation> </Parameter> <Parameter Name="cityto" Type="Edm.String" Mode="In"> <Documentation> <Summary/> <LongDescription>Arrival city</longdescription> </Documentation> </Parameter> </FunctionImport> </EntityContainer> </Schema> </edmx:dataservices> </edmx:edmx>
22 Appendix 2 Code Snippets Read - Get Carrier by Carrier ID <?php require_once "RMTSAMPLEFLIGHT.php"; // Connect to service: $proxy = new RMTSAMPLEFLIGHT (' $proxy->credential = new WindowsCredential('<Username>', '<Password>'); // Get carrier by carrier ID: try { $carrier_id = 'AA'; //American Airlines $query = $proxy->carriercollection()->filter("carrid eq '$carrier_id'"); $carriers = $query->execute()->result; echo "Carrier ID: ". $carriers[0]->carrid. "<br/>"; echo "Carrier Name: ". $carriers[0]->carrname. "<br/>"; echo "Carrier Code: ". $carriers[0]->currcode. "<br/>"; echo "Carrier URL: ". $carriers[0]->url. "<br/>"; } catch(dataservicerequestexception $exception) { echo $exception->response->geterror(); }?>
23 Function Import Get available Flights <?php require_once "RMTSAMPLEFLIGHT.php"; // Connect to service: $proxy = new RMTSAMPLEFLIGHT (' $proxy->credential = new WindowsCredential('<Username>', '<Password>'); // Get available flights (function import): try { $proxy->addheader('x-requested-with', 'XMLHttpRequest'); $city_from = 'NEW YORK'; $city_to = 'SAN FRANCISCO'; $from_date = ' '; $to_date = ' '; $flights = $proxy->execute("getavailableflights?cityfrom=$city_from&cityto=$city_to &fromdate=$from_date&todate=$to_date")->result; foreach ($flights as $flight) { echo "Flight Carrier: ". $flight->carrid. "<br/>"; echo "Flight Price: ". $flight->price. "<br/>"; echo "Flight Max. Seats: ". $flight->seatsmax. "<br/><br/>"; } } catch(dataservicerequestexception $exception) { echo $exception->response->geterror(); }?>
24 Create - Booking a Flight <?php require_once "RMTSAMPLEFLIGHT.php"; // Connect to service: $proxy = new RMTSAMPLEFLIGHT (' $proxy->credential = new WindowsCredential('<Username>', '<Password>'); // Create flight booking: //Show all errors, except for notices and coding standards warnings //(may result from odata library) error_reporting(e_all & ~E_NOTICE); try { //Create a booking object with key properties: $carrid = 'AA'; $connid = '0017'; $fldate = ' T00:00:00'; $bookid = ''; $booking = Booking::CreateBooking($carrid, $connid, $fldate, $bookid); //Define additional booking properties: $booking->customid = ' '; $booking->custtype = 'P'; $booking->wunit = 'KG'; $booking->luggweight = ' '; $booking->class = 'Y'; $booking->forcuram = '879.82'; $booking->forcurkey = 'USD'; $booking->loccuram = '803.58'; $booking->loccurkey = 'USD'; $booking->order_date = ' T00:00:00'; $booking->counter = ' '; $booking->agencynum = ' '; $booking->passname = 'Joe Smith'; $booking->passform = ' '; $booking->passbirth = ' T00:00:00'; //Add the booking object to the booking collection //(Note: The service is not aware of these changes until 'SaveChanges' method is //called) $proxy->addtobookingcollection($booking); //Define save changes method to send each change in a separate request: $proxy->setsavechangesoptions(savechangesoptions::none); //Add custom headers to the POST request: $proxy->setentityheaders($booking, array('x-requested-with' => 'XMLHttpRequest')); //Execute the reuest: $proxy->savechanges(); } catch(odataserviceexception $exception) { echo $exception->geterror(); }?>
25 Read - Get Carrier by Carrier ID Using X.509 Certificate Authentication <?php $curlreq = curl_init(); //Create a Get Specific Carrier query: $carrier_id = 'AA'; //American Airlines $query_url = " RMTSAMPLEFLIGHT/CarrierCollection(carrid='$carrier_id')"; curl_setopt($curlreq, CURLOPT_URL, $query_url); //Set request general options: curl_setopt($curlreq, CURLOPT_RETURNTRANSFER, true); curl_setopt($curlreq, CURLOPT_FOLLOWLOCATION, true); //Set request options for server verification during SSL Handshake: curl_setopt($curlreq, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($curlreq, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curlreq, CURLOPT_CAINFO, '<Gateway_CA_Certificate_Path>.cer'); //Attach the stored X.509 Client Certificate to the request: curl_setopt($curlreq, CURLOPT_SSLCERT, '<Client_Certificate_Path>.pem'); //Send request: $curlres = curl_exec($curlreq); //Handle response: if(!curl_errno($curlreq)) { $info = curl_getinfo($curlreq); echo $curlres; } else { echo 'CURL error: '. curl_error($curlreq); } curl_close($curlreq);?>
SAPFIN. Overview of SAP ERP Financials COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)
SAPFIN Overview of SAP ERP Financials. COURSE OUTLINE Course Version: 15 Course Duration: 2 Day(s) SAP Copyrights and Trademarks 2014 SAP AG. All rights reserved. No part of this publication may be reproduced
HR400 SAP ERP HCM Payroll Configuration
HR400 SAP ERP HCM Payroll Configuration. COURSE OUTLINE Course Version: 15 Course Duration: 5 Day(s) SAP Copyrights and Trademarks 2014 SAP AG. All rights reserved. No part of this publication may be reproduced
Budget Control by Cost Center
SAP Business One Budget Control by Cost Center Ecosystem & Channels Readiness July 2011 Allows a precise follow up of costs booked using the cost accounting dimensions functionality as introduced in SAP
AC200. Basics of Customizing for Financial Accounting: General Ledger, Accounts Receivable, Accounts Payable COURSE OUTLINE
AC200 Basics of Customizing for Financial Accounting: General Ledger, Accounts Receivable, Accounts Payable. COURSE OUTLINE Course Version: 15 Course Duration: 5 Day(s) SAP Copyrights and Trademarks 2015
R/3 and J2EE Setup for Digital Signature on Form 16 in HR Systems
R/3 and J2EE Setup for Digital Signature on Form 16 in HR Systems Agenda 1. R/3 - Setup 1.1. Transaction code STRUST 1.2. Transaction code SM59 2. J2EE - Setup 2.1. Key Storage 2.2. Security Provider 2.3.
SAP Master Data Governance- Hiding fields in the change request User Interface
SAP Master Data Governance- Hiding fields in the change request User Interface Applies to: ERP 6 Ehp 5 SAP Master Data Governance. For more information, visit the Master Data Management homepage. Summary
OData in a Nutshell. August 2011 INTERNAL
OData in a Nutshell August 2011 INTERNAL Objectives At the end of this module, you will be able to: Understand the OData Standard and how it works. Understand how OData uses the Atom Protocol. Understand
TM111. ERP Integration for Order Management (Shipper Specific) COURSE OUTLINE. Course Version: 15 Course Duration: 2 Day(s)
TM111 ERP Integration for Order Management (Shipper Specific). COURSE OUTLINE Course Version: 15 Course Duration: 2 Day(s) SAP Copyrights and Trademarks 2014 SAP SE. All rights reserved. No part of this
Process Archiving using NetWeaver Business Process Management
Process Archiving using NetWeaver Business Process Management Applies to: NetWeaver Composition Environment 7.2, 7.3. For more information, visit the Business Process Modeling homepage. Summary This document
Third Party Digital Asset Management Integration
Third Party Digital Asset Management Integration Objectives At the end of this unit, you will be able to: Assign Digital Assets to CRM Objects Work with the Where-Used List Describe the necessary customizing
Enterprise Software - Applications, Technologies and Programming
Enterprise Software - Applications, Technologies and Programming Dr. Uwe Kubach, Dr. Gregor Hackenbroich, Dr. Ralf Ackermann SAP Research 2010 SAP AG. All rights reserved. / Page 1 Abstract This lecture
Understanding HR Schema and PCR with an Example
Understanding HR Schema and PCR with an Example Applies to: SAP ECC 6.0 version, SAP HCM module. For more information, visit the Enterprise Resource Planning homepage. Summary This document will provide
Table of Contents. How to Find Database Index usage per ABAP Report and Creating an Index
How to Find Database Index usage per ABAP Report and Creating an Index Applies to: SAP NETWEAVER WEB AS ABAP. For more information, visit the ABAP homepage Summary The aim of this article is to show how
User Experience in Custom Apps
User Experience in Custom Apps p o w e r e d b y t h e S A P M o b i l e P l a t f o r m S e a n L o n g U X A r c h i t e c t M a n u e l S a e z - D i r e c t o r M o b i l e I n n o v a t i o n C e
USDL XG WP3 SAP use case. Kay Kadner
XG WP3 SAP use case Kay Kadner Customer Marketplace Company B Runtime Company D Innovation & Community Community Company A Repository Company C Repository Provider Provider 2 Integrated Demonstrator -
Secure MobiLink Synchronization using Microsoft IIS and the MobiLink Redirector
Secure MobiLink Synchronization using Microsoft IIS and the MobiLink Redirector A whitepaper from ianywhere Author: Joshua Savill, Product Manager This whitepaper was written in the context of SQL Anywhere
How to Create a Support Message in SAP Service Marketplace
How to Create a Support Message in SAP Service Marketplace Summary This document explains how to create a message (incident) on the SAP Service Marketplace. It is assumed that the customer has never logged
Integrating Easy Document Management System in SAP DMS
Integrating Easy Document Management System in SAP DMS Applies to: SAP Easy Document Management System Version 6.0 SP12. For more information, visit the Product Lifecycle Management homepage. Summary This
K in Identify the differences between the universe design tool and the information design tool
K in Identify the differences between the universe design tool and the information design tool The information design tool is a new modeling tool for the semantic layer that enables you to manipulate metadata
Business One in Action - How can we post bank fees and charges while posting Incoming or Outgoing Payment transactions?
Business One in Action - How can we post bank fees and charges while posting Incoming or Outgoing Payment transactions? Applies to: SAP Business One, Accounting, Banking and Reconciliation Summary: This
Application Lifecycle Management
Application Lifecycle Management Best Practice Process Document ALM Process: ITSM - Incident Management Application Lifecycle Management Process ITSM Incident Management Problem Description: How to create,
Integration of SAP Netweaver User Management with LDAP
Integration of SAP Netweaver User Management with LDAP Applies to: SAP Netweaver 7.0/7.1 Microsoft Active Directory 2003 Summary The document describes the detailed steps of configuring the integration
Alert Notification in SAP Supply Network Collaboration. SNC Extension Guide
Alert Notification in SAP Supply Network Collaboration SNC Extension Guide Version: 1.2 Date 08.02.2010 1 The SNC Extension Guide is a collection of tips and tricks on how to extend SAP Supply Network
Maintaining Different Addresses and Email Ids for a Business Partner via CRM Web UI
Maintaining Different Addresses and Email Ids for a Business Partner via CRM Web UI Applies to: CRM 7.0 SP09. For more information, visit the Customer Relationship Management homepage. Summary This article
UI Framework Simple Search in CRM WebClient based on NetWeaver Enterprise Search (ABAP) SAP Enhancement Package 1 for SAP CRM 7.0
UI Framework Simple Search in CRM WebClient based on NetWeaver Enterprise Search (ABAP) SAP Enhancement Package 1 for SAP CRM 7.0 1 Objectives At the end of this unit, you will be able to: Use the new
Portfolio and Project Management 5.0: Excel Integration for Financial and Capacity Planning
Portfolio and Project Management 5.0: Excel Integration for Financial and Capacity Planning Applies to: Portfolio and Project Management 5.0 Summary Financial and Capacity planning for item, initiative
SAP NetWeaver BRM 7.3
SAP NetWeaver BRM 7.3 New Features Overview Arti Gopalan Solution Specialist SAP NetWeaver BRM NetWeaver Orchestration SAP Labs India Agenda Technical Components of NW BRM Rules Composer Rules Manager
NetWeaver Business Client (NWBC) for Incentives and Commissions Management (ICM)
NetWeaver Business Client (NWBC) for Incentives and Commissions Management (ICM) Applies to: Enhancement Pack 5 (Ehp5), EA-APPL, Incentives and Commissions Management (FS-ICM). Summary This article discusses
Log Analysis Tool for SAP NetWeaver AS Java
Log Analysis Tool for SAP NetWeaver AS Java Applies to: SAP NetWeaver 6.40, 7.0x, 7.1x, 7.20 and higher Summary Log Analysis is an SAP tool for analyzing list formatted logs and traces in Application Server
Integration of Universal Worklist into Microsoft Office SharePoint
Integration of Universal Worklist into Microsoft Office SharePoint Applies to: SAP NetWeaver Portal 7.01 SP3 Microsoft Office SharePoint 2007 For more information, visit the Portal and Collaboration homepage.
SAP Business ByDesign Reference Systems. Scenario Outline. SAP ERP Integration Scenarios
SAP Business ByDesign Reference Systems Scenario Outline SAP ERP Integration Scenarios Content Scenario Overview Business Scenarios in a Reference System Introduction Typical Usage Process Illustration
Accounts Receivable. SAP Best Practices
Accounts Receivable SAP Best Practices Purpose, Benefits, and Key Steps Purpose This scenario deals with posting accounting data for customers in Accounts Receivable. Benefits The Accounts Receivable is
How to Schedule Report Execution and Mailing
How To Guide SAP Business One Document Version: 1.0 2012-09-02 Applicable Releases: SAP Business One 8.81 PL10 and higher, SAP Business One 8.82 Typographic Conventions Type Style Example Description Words
How To Use the ESR Eclipse Tool with the Enterprise Service Repository
How To Use the ESR Eclipse Tool with the Enterprise Service Repository Applies to: SAP NetWeaver Process Orchestration 7.31 SP2 SAP NetWeaver Process Integration PI 7.31 SP2 Summary With PI 7.31 SP2, an
Intelligent Business Operations Chapter 1: Overview & Strategy
Intelligent Business Operations Chapter 1: Overview & Strategy Legal Disclaimer The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission
Sample Universe on Microsoft OLAP Cube
Sample Universe on Microsoft OLAP Cube Applies to: SAP BusinessObjects XI4, the information design tool and Microsoft Analysis Services 2005 & 2008. For more information, visit the Business Objects homepage.
Compliant, Business-Driven Identity Management using. SAP NetWeaver Identity Management and SBOP Access Control. February 2010
Compliant, Business-Driven Identity Management using SAP NetWeaver Identity Management and SBOP Access Control February 2010 Disclaimer This presentation outlines our general product direction and should
Data Archiving in CRM: a Brief Overview
Data Archiving in CRM: a Brief Overview Applies to: Developing Archiving Solutions in SAP CRM technology. For more information, visit the Customer Relationship Management homepage. Summary This document
BW Workspaces Use Cases
BW Workspaces Use Cases Applies to SAP NetWeaver Business Warehouse 7.30 (BW7.30) SP05 and SAP NetWeaver Business Warehouse Accelerator 7.20 (BWA7.20)/HANA 1.0 running as a database for SAP NetWeaver BW
Sending Additional Files from SAP Netweaver PI to third Party System
Sending Additional Files from SAP Netweaver PI to third Party System Applies to: SAP Netweaver PI. Summary The document describes about a scenario where the requirement is to send multiple files from one
Fixed Asset in SAP Business One 9.0
Fixed Asset in SAP Business One 9.0 Hilko Mueller, Solution Management,SAP AG May 2013 2013 SAP AG. All rights reserved. 1 Agenda Fixed Asset Overview Fixed Asset Setup Fixed Asset Application Product
How to Configure Access Control for Exchange using PowerShell Cmdlets A Step-by-Step guide
SAP How-to Guide Mobile Device Management SAP Afaria How to Configure Access Control for Exchange using PowerShell Cmdlets A Step-by-Step guide Applicable Releases: SAP Afaria 7 SP3 HotFix 06, SAP Afaria
How To Use the BPC Mass User Management Tool in BPC 10.0 NW
How To Use the BPC Mass User Management Tool in BPC 10.0 NW Applies to: SAP BusinessObjects Planning & Consolidation 10.0, version for SAP NetWeaver. For more information, visit the Enterprise Performance
UI Framework Task Based User Interface. SAP Enhancement Package 1 for SAP CRM 7.0
UI Framework Task Based User Interface SAP Enhancement Package 1 for SAP CRM 7.0 1 Agenda 1. Overview 2. Task Based User Interface 3. Further Information SAP 2009 / Page 2 2 Objectives of the Presentation
SAP Sustainability Solutions: Achieving Customer Strategies
SAP Sustainability Solutions: Achieving Customer Strategies BALAMURUGAN KALIA Vice President, Strategic Business Development SAP SEE YOUR WAY CLEAR Strategies for Success in the New Reality Pop Quiz? SAP
Query, Read, Create and Update CLOUD FOR CUSTOMER ODATA SERVICE QUERY, READ, CREATE AND UPDATE
ODATA SERVICE Query, Read, Create and Update CLOUD FOR CUSTOMER ODATA SERVICE QUERY, READ, CREATE AND UPDATE Version Date Completed Author Description/Comment 1.0 12-06-2014 Raghavendra Jadi, Unnati Hasija,
Learning Series: SAP NetWeaver Process Orchestration, secure connectivity add-on 1c SFTP Adapter
Learning Series: SAP NetWeaver Process Orchestration, secure connectivity add-on 1c SFTP Adapter Applies to: SAP NetWeaver Process Orchestration, Secure Connectivity Add-on 1.0 SP0 Summary This article
SOP through Long Term Planning Transfer to LIS/PIS/Capacity. SAP Best Practices
SOP through Long Term Planning Transfer to LIS/PIS/Capacity SAP Best Practices Purpose, Benefits, and Key Steps Purpose Check if the budgeted sales quantities can be produced, assess material requirements
ERP Quotation and Sales Order in CRM WebClient UI Detailed View. SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA
ERP Quotation and Sales Order in CRM WebClient UI Detailed View SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA ERP Quote, Order, Quantity Contract in CRM WebClient UI Recognizing that many SAP
Consume an External Web Service in a Nutshell with good old ABAP
Consume an External Web Service in a Nutshell with good old ABAP Applies to: SAP_BASIS, Release 701, SP Level 8 Summary Have you ever tried to consume an external web service out of ABAP? This document
How-to-Guide: Middleware Settings for Download of IPC Configuration (KB) Data from R/3 to CRM System
How-to-Guide: Middleware Settings for Download of IPC Configuration (KB) Data from R/3 to CRM System Applies to: The IPC (Internet Pricing and Configurator). For more information, visit the Customer Relationship
Configuring Single Sign-on for SAP HANA
Configuring Single Sign-on for SAP HANA Applies to: SAP BusinessObjects Business Intelligence platform 4.0 Feature Pack 3. For more information, visit the Business Objects homepage. Summary This document
UI Framework Logo exchange without skin copy. SAP Enhancement Package 1 for SAP CRM 7.0
UI Framework Logo exchange without skin copy SAP Enhancement Package 1 for SAP CRM 7.0 1 Objectives At the end of this unit, you will be able to: Change the logo within CRM 7.0 WebClient UI Add a logo
SAP Service Tools for Performance Analysis
SAP Service Tools for Performance Analysis Kerstin Knebusch Active Global Support Month 05, 2013 Public Performance Analysis Wait event based Focus on statements causing high load and / or high wait time
RUN BETTER Become a Best-Run Business with Remote Support Platform for SAP Business One
RUN BETTER Become a Best-Run Business with Remote Support Platform for SAP Business One September 2013 Customer External Become a Best-Run Business with Remote Support Platform for SAP Business One Run
Ariba Network Integration to SAP ECC
Ariba Network Integration to SAP ECC Mark Willner Principal Technical Solutions Consultant Ariba an SAP Company» October 2014 ERP Materials Management Core Integration Scenario Ariba Collaborative Commerce,
How to Add an Attribute to a Case, Record and a Document in NW Folder Management (ex-records Management)
How to Add an Attribute to a Case, Record and a Document in NW Folder Management (ex-records Management) Applies to: SAP Folder Management 2.4 & 3.0. For more information, visit the Enterprise Performance
Finding the Leak Access Logging for Sensitive Data. SAP Product Management Security
Finding the Leak Access Logging for Sensitive Data SAP Product Management Security Disclaimer This document does not constitute a legally binding proposal, offer, quotation or bid on the part of SAP. SAP
Single Sign-On between SAP Portal and SuccessFactors
Single Sign-On between SAP Portal and SuccessFactors Dimitar Mihaylov 7/1/2012 Contents 1. Overview... 3 2. Trust between SAP Portal 7.3 and SuccessFactors... 5 2.1. Initial configuration in SAP Portal
BICS Connectivity for Web Intelligence in SAP BI 4.0. John Mrozek / AGS December 01, 2011
BICS Connectivity for Web Intelligence in SAP BI 4.0 John Mrozek / AGS December 01, 2011 Introduction Business Intelligence Consumer Services connectivity for Web Intelligence in SAP BI 4.0 This presentation
Business Requirements... 3 Analytics... 3 Typical Use Cases... 8 Related Content... 9 Copyright... 10
SAP BW Data Mining Analytics: Process Reporting Applies to: SAP BW Data Mining. For more information, visit the Analytics homepage. Summary SAP BW Data Mining serves as a process design platform for a
SAP Sybase SQL Anywhere New Features Improve Performance, Increase Security, and Ensure 24/7 Availability
SAP Sybase SQL Anywhere New Features Improve Performance, Increase, and Ensure 24/7 Availability This SAP paper summarizes the key business benefits and new functionality of release 16.0 of SAP Sybase
Run SAP like a Factory
Run SAP like a Factory Best Practice Process Document ALM Process: Technical Operations Service Level Reporting Process Health Service Level Reporting ALM Process Technical Operations Process Health Service
Quick Guide EDI/IDoc Interfacing to SAP ECC from External System
Quick Guide EDI/IDoc Interfacing to SAP ECC from External System Applies to: Up to ECC 6.0. For more information, visit the ABAP homepage. Summary IDoc Interface: EDI Application Scenario The application
Data Source Enhancement Using User Exit
Data Source Enhancement Using User Exit Applies to: Any SAP system from which data needs to be pulled into SAP BI system. Summary This document describes how to enhance a data source in the source system
SAP DSM/BRFPlus System Architecture Considerations
SAP DSM/BRFPlus System Architecture Considerations Applies to: SAP DSM and BRFPlus all releases. For more information, visit the SAP NetWeaver Decision Service Management Summary This document throws some
Installation Guide Customized Installation of SQL Server 2008 for an SAP System with SQL4SAP.VBS
Installation Guide Customized Installation of SQL Server 2008 for an SAP System with SQL4SAP.VBS Target Audience Technology Consultants System Administrators PUBLIC Document version: 1.00 09/16/2008 Document
Next Generation Digital Banking with SAP
Next Generation Digital Banking with SAP Thorsten Weinrich, Director Business Development, Banking, SAP EMEA October, 2014 Use this title slide only with an image Legal Disclaimer The information in this
AP 7.00. Integration with BRFplus VERSION V1.00 22 APRIL 2011 - SAP AG
AP 7.00 Integration with BRFplus VERSION V1.00 22 APRIL 2011 - SAP AG Table of Contents 1. Introduction... 3 1.1 Time based prices... 3 1.2 Usage of BRFplus... 3 1.3 About this document... 3 1.4 Target
SAP Cloud Strategy - Timeless Software. Frank Stienhans on behalf of Kaj van de Loo SAP
SAP Strategy - Timeless Software Frank Stienhans on behalf of Kaj van de Loo SAP Decades-Long Relationships With the World s Largest Enterprises Trading Industries Consumer Industries Financial Process
Sales Planning Detailed View. SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA
Sales Planning Detailed View SAP Enhancement Package 1 for SAP CRM 7.0 CRM Sales - SFA Table of Contents 1. Overview of Sales Planning 2. Key Features of Sales Planning 3. Architecture 4. Further Information
Variable Exit in Sap BI 7.0 - How to Start
Variable Exit in Sap BI 7.0 - How to Start Applies to: This article is applicable to SAP BI 7.0. For more information, visit the Business Intelligence homepage. Summary This document provides an introduction
Learning Series: SAP NetWeaver Process Orchestration, business to business add-on EDI Separator Adapter
Learning Series: SAP NetWeaver Process Orchestration, business to business add-on EDI Separator Adapter Applies to: SAP NetWeaver Process Orchestration, business to business add-on 1.0 SP00 Summary This
Certificate SAP INTEGRATION CERTIFICATION
Certificate SAP INTEGRATION CERTIFICATION SAP AG hereby confirms that the ABAP interface software for the product SmartExporter 3.0 of the company AUDICON GmbH has been certified for integration with SAP
Xcelsius Dashboards on SAP NetWaver BW Implementation Best Practices
Xcelsius Dashboards on SAP NetWaver BW Implementation Best Practices Patrice Le Bihan, SAP Intelligence Platform & NetWeaver RIG, Americas Dr. Gerd Schöffl, SAP Intelligence Platform & NetWeaver RIG, EMEA
SAP Portfolio and Project Management
SAP Portfolio and Project New Features and Functions in 5.0 Suite Solution, SAP AG November 2010 Legal Disclaimer This presentation outlines our general product direction and should not be relied on in
Implementing SSO between the Enterprise Portal and the EPM Add-In
Implementing SSO between the Enterprise Portal and the EPM Add-In Applies to: SAP BusinessObjects Planning and Consolidation 10, version for SAP NetWeaver SP1 and higher EPM Add-In, SP3 and higher. For
SAP Best Practices for Subsidiary Integration in One Client Production with Intercompany Replenishment
SAP Best Practices for Subsidiary Integration in One Client with Intercompany Replenishment SAP Best Practices Purpose, Benefits, and Key Process Steps Purpose This scenario covers collaboration within
Project Governance The Role Of The Business Process Owner
Project Governance The Role Of The Business Process Owner Applies to: The Role of the Business Process Owner in Project Governance. For more information, visit the Organizational Change Management homepage.
Introducing the SAP Business One starter package. A Great Start to help you to Streamline Your Small Business
Introducing the SAP Business One starter package A Great Start to help you to Streamline Your Small Business Most Small Businesses Strive for the Same Thing An Easy to Follow Roadmap to Better Profitability
Unified Service Description Language Enabling the Internet of Services
Unified Service Description Language Enabling the Internet of Services Dr. Kay Kadner, SAP AG, SAP Research, Chair USDL XG [email protected], 2011-05-16 Growth due to increasing service orientation Source:
How To Improve Your Business Process With Sap
Business Process Analytics & Improvement SAP Solution Manager 7.1 SAP AG August, 2011 Disclaimer This presentation outlines our general product direction and should not be relied on in making a purchase
SAP How-To Guide: Develop a Custom Master Data Object in SAP MDG (Master Data Governance)
SAP How-To Guide: Develop a Custom Master Data Object in SAP MDG (Master Data Governance) Applies to: SAP Master Data Governance running on SAP ERP 6 EhP 6 Master Data Governance. The Guide can also be
Matthias Steiner SAP. SAP HANA Cloud Platform A guided tour
Matthias Steiner SAP SAP HANA Cloud Platform A guided tour SAP HANA Cloud Platform A guided tour Matthias Steiner April, 2011 Overview Platform Capabilities Portal Mobile Collaboration Integration Analytics
Mass Maintenance of Procurement Data in SAP
Mass Maintenance of Procurement Data in SAP Applies to: SAP ECC 5.0 & SAP ECC 6.0. For more information, visit the Enterprise Resource Planning homepage. Summary: This document helps the P2P consultants
SAP HANA Cloud Integration Document Version: 1.0-2012-12-22. Template Guide for SAP Sales and Operations Planning
SAP HANA Cloud Integration Document Version: 1.0-2012-12-22 Template Guide for SAP Sales and Operations Planning Table of Contents 1 About the templates....3 2 Sales and Operations Planning templates....5
Production Subcontracting (External Processing) SAP Best Practices
Production Subcontracting (External ing) SAP Best Practices Purpose, Benefits, and Key Steps Purpose During the Manufacturing process, when a "Planned Order" for Production is converted to a "Production
Migration Guide Remote Support Component 1.0 to SAP Solution Manager 7.1. Target Audience System Administrators Technology Consultants
Migration Guide Remote Support Component 1.0 to SAP Solution Manager 7.1 Target Audience System Administrators Technology Consultants Public Document version 1.1.0 23 February 2012 SAP AG Dietmar-Hopp-Allee
BW362. SAP BW powered by SAP HANA COURSE OUTLINE. Course Version: 10 Course Duration: 5 Day(s)
BW362 SAP BW powered by SAP HANA. COURSE OUTLINE Course Version: 10 Course Duration: 5 Day(s) SAP Copyrights and Trademarks 2015 SAP SE. All rights reserved. No part of this publication may be reproduced
Using User Exit for Variables in BEx Reporting
Using User Exit for Variables in BEx Reporting Applies to: SAP BI system & BEx. For more information, visit the Business Intelligence homepage. Summary To describe the process followed to use a user exit
Creating New Dashboard Packages for SAP Business One 8.8
Creating New Dashboard Packages for SAP Business One 8.8 Applies to: SAP Business One versions 8.8 PL12 or higher SAP Business One Integration Component (B1iC) SAP Business One Dashboard Packaging Wizard
Integrated Release Management Maximize IT s business value. Swen Conrad, PMP Senior Director Solution Marketing IT Business Management
Integrated Release Management Maximize IT s business value Swen Conrad, PMP Senior Director Solution Marketing IT Business Management AGENDA Introduction Release Management Process Adoption Push-backs
CHANNEL PARTNER (VAR) Technical Support Network. SAP Global Service & Support March 2011
CHANNEL PARTNER (VAR) Technical Support Network SAP Global Service & Support March 2011 Agenda Advantage of Network Connections Process Overview Basic Connection Incident Management Remote Access EarlyWatch
Configuring Distribution List in Compliant User Provisioning
Configuring Distribution List in Compliant User Provisioning Applies To: GRC Access Control Suite for 5.3 Summary: Configuration of Distribution List in Compliant User Provisioning will allow a group of
Download and Install Crystal Reports for Eclipse via the Eclipse Software Update Manager
Download and Install Crystal Reports for Eclipse via the Eclipse Software Update Manager Applies to: Crystal Reports for Eclipse version 2 Summary This document provides a step-by-step guide on how to
How To... Migrate Custom Portal Applications to SAP NetWeaver 7.3
SAP NetWeaver How-To Guide How To... Migrate Custom Portal Applications to SAP NetWeaver 7.3 Applicable Releases: SAP NetWeaver 7.30 SP03 and above SAP NetWeaver 7.31 SP02 and above IT Practice / Topic
Duet Enterprise Add SAP ERP Reports and SAP BI Queries/Workbooks to Duet Enterprise Configuration
Duet Enterprise Add SAP ERP Reports and SAP BI Queries/Workbooks to Duet Enterprise Configuration Applies to: Duet Enterprise 1.0, Feature Pack 1 for Duet Enterprise Summary This paper gives an overview
GRC 10.0 Pre-Installation
GRC 10.0 Pre-Installation Customer Solution Adoption April 4 th 2011 Version 1.1 Purpose of this document To give readers an initial understanding of the GRC 10.0 technical requirements, architecture and
Delta Queue Demystification
Applies to: This article talks about delta queue mechanism in SAP BI. For more information, visit the Business Intelligence homepage. Summary This document is generic and it is applicable for all data
