H2G Using The Layout Editor of SAP Web IDE
H2G Using The Layout Editor of SAP Web IDE
H2G Using The Layout Editor of SAP Web IDE
How-To Guide
Applicable Releases:
SAP Web IDE 1.4
Version 1.0 - October 2014
H2G Create a new SAP Web IDE plugin of SAP Web IDE
Document History
Document Version
Authored By
Description
1.0
Customer Experience
Group
2.0
Customer Experience
Group
H2G Create a new SAP Web IDE plugin of SAP Web IDE
TABLE OF CONTENTS
1.
2.
3.
Prerequisites ........................................................................................................................................ 4
4.
H2G Create a new SAP Web IDE plugin of SAP Web IDE
1.
BUSINESS SCENARIO
SAP Web IDE is a next-generation cloud-based meeting space where multiple project stakeholders can work
together from a common web interface, connecting to the same shared repository with virtually no setup
required. It includes multiple interactive features that allow you to collaborate with your colleagues and
accelerate the development of your HTML5/UI5 applications.
2.
BACKGROUND INFORMATION
In this How-To Guide we will see how to use the SAP Web IDE Layout Editor for creating application with
WYSIWG functionality. This guide only shows the usage of different Layout Controls. We dont create a
running application.
3.
PREREQUISITES
As a prerequisite you need to have your installation of SAP Web IDE up and running. For the Data Mapping
you need the metadata.xml file of the RTMSAMPLEFLIGHT oData service.
4.
STEP-BY-STEP PROCEDURE
H2G Create a new SAP Web IDE plugin of SAP Web IDE
Some Limitations:
The Layout View does not support comments you will get the following warning:
H2G Create a new SAP Web IDE plugin of SAP Web IDE
4.2
3. Enter the name of the project (i.e. layoutsample) and click on Next
4. Select the SAPUI5 Mobile App Project template and click next
H2G Create a new SAP Web IDE plugin of SAP Web IDE
5. Create an initial view (i.e. main) and click next and finish the project wizard
Actually the layout editor only support the mobile application type and the XML view type
6. Project folder
H2G Create a new SAP Web IDE plugin of SAP Web IDE
4.3
Introduction to the Layout Editor Using the Icon Tab Bar container.
In this step we will adding components to the Main view and set the properties
1. Open the view folder in your project and right-click on the Main.view.xml file. Choose Open With
Layout Editor
The Layout Editor is starting and displays an empty page with a title bar.
H2G Create a new SAP Web IDE plugin of SAP Web IDE
H2G Create a new SAP Web IDE plugin of SAP Web IDE
2. Open the Container Folder in the Control Pane and select the Icon Tab Bar control. Drag it on the view
10
H2G Create a new SAP Web IDE plugin of SAP Web IDE
Value
default
20
todo
sap-icon://to-be-reviewed
ToDo
11
H2G Create a new SAP Web IDE plugin of SAP Web IDE
12
H2G Create a new SAP Web IDE plugin of SAP Web IDE
Press Save.
6. Go back to the Layout Editor and select the Open Icon Tab.
7. You can now add special content to this Tab. In the Control pane search for Calendar and drag the
control into Open Tab. You have to press the Ctrl-key to place the control inside the Tab.
8. Select
13
H2G Create a new SAP Web IDE plugin of SAP Web IDE
4.4
...
1. Create a new View. Right-click on the view folder in the project tree. Select
3. In the Template Customization select Mobile and XML as Application and View Type. Name the View
TravelAgencyList. Click next and finish.
For the exercise we use the metadata.xml from the RMTSAMPLEFLIGHT oData service of the default
Netweaver Gateway installation.
Two options:
a. Import the oData metadata.xml file.
14
H2G Create a new SAP Web IDE plugin of SAP Web IDE
If you have already the metadata.xml file of the RMTSAMPLEFLIGHT service right-click on the
model folder. Choose Import File.
..
4. Open the TravelAgencyList View with the Layout Editor Open the List Control folder and drag the
List into the View
15
H2G Create a new SAP Web IDE plugin of SAP Web IDE
16
H2G Create a new SAP Web IDE plugin of SAP Web IDE
6. Navigate to the sap.m.List items folder, select the sap.m.StandardListItems and remove them by
pressing the delete key.
7. Drag an ObjectListItem into the List you have to press the Ctrl-Key while dragging, otherwise the
ObjectListItem will be placed outside of the List control.
17
H2G Create a new SAP Web IDE plugin of SAP Web IDE
18
H2G Create a new SAP Web IDE plugin of SAP Web IDE
Open the Properties pane and clear the entry for the Number Unit property
19
H2G Create a new SAP Web IDE plugin of SAP Web IDE
4.5
In this chapter we are using the HBox and VBox Container to create a form view with input controls.
1.
2.
3.
In the Control Palette open the Container folder and drag the VBox control to the view.
20
H2G Create a new SAP Web IDE plugin of SAP Web IDE
4.
Into the VBox control drag 2 HBox controls (keep pressing the Ctrl-Key while dragging). You can check
in the Outline pane if the HBox are placed in the correct hierarchy.
5.
Now you can add multiple Display controls inside the HBoxes. Select the appropriate HBox before
inserting a Display control and press the Ctrl-Key while dragging. In the Outline Pane you can check for
the correct Control hierarchy.
21
H2G Create a new SAP Web IDE plugin of SAP Web IDE
6.
Add an Image control to the first HBox. Select the Image Control. You can change the displayed image
by changing the image URL in the Src property:
7.
8.
Add three additional HBoxes to the VBox. If you have problems placing the controls release the Ctrl-Key
and press it again you will see that the highlighting of the controls is changing.
22
H2G Create a new SAP Web IDE plugin of SAP Web IDE
9.
Control
Sap.m.Page
Image
Property
Title: Registration Form
Width: 300px
Src:
23
H2G Create a new SAP Web IDE plugin of SAP Web IDE
data:image/jpeg;base64,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 PbN
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
Label 1
Input 1
Label 2
Input 2
Label 3
Select 1
Button 1
Button 2
Width: 50px
Text: Name
Width: 220px
Width: 50px
Text: Date
Width: 220px
Type: Date
Width: 50px
Text: Event
Width: 220px
Width: 150px
Icon: sap-icon://accept
Text: OK
Width: 150px
Icon: sap-icon://undo
Text: Cancel
24
H2G Create a new SAP Web IDE plugin of SAP Web IDE
25
H2G Create a new SAP Web IDE plugin of SAP Web IDE
4.6
Create a View displaying a Travel Agency using the Grid Layout with Data Binding
...
Here we create a View for displaying a single Data Set using the Grid Layout control.
Choose the me nu o ption File -> N ew - > Proj ect
1. Create a new View Like in 4.4 use the new component wizard and create a view named
TravelAgency with Application Type = Mobile and View Type = XML
3. Remove all the controls inside of the Grid control (select and press delete)
4. Open the Display folder in the control pane and drag an Object Identifier to the Grid control (press the
Ctrl-key while dragging).
26
H2G Create a new SAP Web IDE plugin of SAP Web IDE
5. Open the Outline Pane, move to the sap.ui.layout.Grid - content sap.m.ObjectIdentifier properties
subfolder. Click on the title property in the Properties pane. Open the Data folder, select the
TravelAgencies_DQ NAME field.
6. Select the text property and bind it to the URL field of the TravelAgencies_DQ
27
H2G Create a new SAP Web IDE plugin of SAP Web IDE
7. If you do not need the Badge icons you can remove them in the property pane
8. Drag an Object Attribute control to the Grid control (keep pressing the Ctrl-key while dragging).
28
H2G Create a new SAP Web IDE plugin of SAP Web IDE
9. In the Outline pane select the text property of the sap.m.ObjectAttribute and bind the
TravelAgencies_DQ COUNTRY field to it.
29
H2G Create a new SAP Web IDE plugin of SAP Web IDE
13. You can change the spacing between the elements in the properties of the sap.ui.layout.Grid
30
H2G Create a new SAP Web IDE plugin of SAP Web IDE
Appendix
A. metadata.xml
<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="1.0"
xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"
xmlns:gp="http://www.sap.com/Protocols/SAPData/GenericPlayer"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:sap="http://www.sap.com/Protocols/SAPData"
xmlns:ux="http://www.sap.com/Protocols/OData4SAP/UX">
<edmx:DataServices m:DataServiceVersion="2.0">
<Schema Namespace="RMTSAMPLEFLIGHT" xml:lang="en" sap:schema-version="0000"
xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
<EntityType Name="Subscription" sap:semantics="subscriptions" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="32" sap:label="Sub. ID" sap:creatable="false" sap:updatable="false" sap:filterable="false"/>
<Property Name="user" Type="Edm.String" MaxLength="12" m:FC_TargetPath="SyndicationAuthorName" m:FC_KeepInContent="false" sap:label="User Name" sap:creatable="false" sap:filterable="false"/>
<Property Name="updated" Type="Edm.DateTime" Precision="0" m:FC_TargetPath="SyndicationUpdated" m:FC_KeepInContent="false" sap:label="Time Stamp" sap:creatable="false" sap:filterable="false"/>
<Property Name="title" Type="Edm.String" MaxLength="255" m:FC_TargetPath="SyndicationTitle" m:FC_KeepInContent="false" sap:label="Title" sap:filterable="false"/>
<Property Name="deliveryAddress" Type="Edm.String" sap:label="Delivery Address" sap:filterable="false"/>
<Property Name="persistNotifications" Type="Edm.Boolean" sap:label="Persist Notification" sap:filterable="false"/>
<Property Name="collection" Type="Edm.String" MaxLength="40" sap:label="Collection" sap:filterable="false"/>
<Property Name="filter" Type="Edm.String" sap:label="Filter" sap:filterable="false"/>
<Property Name="select" Type="Edm.String" MaxLength="255" sap:label="Select" sap:filterable="false"/>
<Property Name="changeType" Type="Edm.String" MaxLength="30" sap:label="Change Type"/>
</EntityType>
<EntityType Name="Notification" sap:semantics="notifications" 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" m:FC_TargetPath="SyndicationTitle" m:FC_KeepInContent="false" sap:label="Notif. Text"/>
<Property Name="updated" Type="Edm.DateTime" Precision="0" m:FC_TargetPath="SyndicationUpdated" m:FC_KeepInContent="false" sap:label="Time Stamp"/>
<Property Name="changeType" Type="Edm.String" MaxLength="30" sap:label="Change Type"/>
<Property Name="entriesOfInterest" Type="Edm.Int32" sap:label="No. of Entries"/>
<Property Name="recipient" Type="Edm.String" MaxLength="112" sap:label="Recipient" sap:creatable="false" sap:updatable="false"/>
</EntityType>
<EntityType Name="Flight" sap:content-version="1">
<Key>
<PropertyRef Name="carrid"/>
<PropertyRef Name="connid"/>
<PropertyRef Name="fldate"/>
</Key>
<Property Name="flightDetails" Type="RMTSAMPLEFLIGHT.FlightDetails" Nullable="false"/>
<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="0" sap:label="Date"/>
<Property Name="PRICE" Type="Edm.Decimal" Precision="15" Scale="2" sap:unit="CURRENCY" sap:label="Airfare"/>
<Property Name="CURRENCY" Type="Edm.String" MaxLength="5" sap:label="Airline Currency" sap:sortable="false" sap:semantics="currency-code"/>
<Property Name="PLANETYPE" Type="Edm.String" MaxLength="10" sap:label="Type of the plane"/>
<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="17" 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"/>
<NavigationProperty Name="flightbooking" Relationship="RMTSAMPLEFLIGHT.BookingFlight" FromRole="FromRole_BookingFlight" ToRole="ToRole_BookingFlight"/>
<NavigationProperty Name="flightBookings" Relationship="RMTSAMPLEFLIGHT.FlightBookings" FromRole="FromRole_FlightBookings" ToRole="ToRole_FlightBo okings"/>
<NavigationProperty Name="FlightCarrier" Relationship="RMTSAMPLEFLIGHT.CarrierToFlight" FromRole="ToRole_CarrierToFlight" ToRole="FromRole_CarrierToFlight"/>
<NavigationProperty Name="FlightCarrier_FW" Relationship="RMTSAMPLEFLIGHT.CarrierToFlight" FromRole="ToRole_CarrierToFlight" ToRole="FromRole_CarrierToFlight"/>
</EntityType>
<EntityType Name="Flight_DQ" 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="0" sap:label="Date"/>
<Property Name="PRICE" Type="Edm.Decimal" Precision="15" Scale="2" sap:unit="CURRENCY" sap:label="Airfare"/>
<Property Name="CURRENCY" Type="Edm.String" MaxLength="5" sap:label="Airline Currency" sap:sortable="false" sap:semantics="currency-code"/>
<Property Name="PLANETYPE" Type="Edm.String" MaxLength="10" sap:label="Type of the plane"/>
<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="17" 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"/>
</EntityType>
<EntityType Name="Booking" sap:label="Flight Booking" sap:semantics="FLIGHT_BOOKING" sap:content-version="1">
31
H2G Create a new SAP Web IDE plugin of SAP Web IDE
<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="0" 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" sap:semantics="unit-of-measure"/>
<Property Name="LUGGWEIGHT" Type="Edm.Decimal" Precision="9" Scale="9" sap:unit="WUNIT" sap:label="Luggage Weight"/>
<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="15" Scale="14" sap:unit="FORCURKEY" sap:label="Amount"/>
<Property Name="FORCURKEY" Type="Edm.String" MaxLength="5" sap:label="Paymnt currency" sap:semantics="currency -code"/>
<Property Name="LOCCURAM" Type="Edm.Decimal" Precision="15" Scale="14" sap:unit="LOCCURKEY" sap:label="Amount"/>
<Property Name="LOCCURKEY" Type="Edm.String" MaxLength="5" sap:label="Airline Currency" sap:semantics="currency-code"/>
<Property Name="ORDER_DATE" Type="Edm.DateTime" Precision="0" ConcurrencyMode="Fixed" sap:label="Booking date" sap:updatable="false"/>
<Property Name="COUNTER" Type="Edm.String" MaxLength="8" sap:label="Sales office" sap:updatable="false"/>
<Property Name="AGENCYNUM" Type="Edm.String" MaxLength="8" sap:label="Agency No." sap:updatable="false"/>
<Property Name="CANCELLED" Type="Edm.String" MaxLength="1" sap:label="Cancelation flag" sap:updatable="false"/>
<Property Name="RESERVED" Type="Edm.String" MaxLength="1" sap:label="Reserved" sap:updatable="false"/>
<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" Precision="0" sap:label="DOB of Passeng."/>
<NavigationProperty Name="bookedFlight" Relationship="RMTSAMPLEFLIGHT.BookingFlight" FromRole="ToRole_BookingFlight" ToRole="FromRole_BookingFlight" sap:label="Flight bookings" gp:display-order="0111"/>
<NavigationProperty Name="bookedCarrier" Relationship="RMTSAMPLEFLIGHT.BookingCarrier" FromRole="ToRole_BookingCarrier" ToRole="FromRole_BookingCarrier" sap:label="Type of the plane" gp:display-order="0111"/>
</EntityType>
<EntityType Name="Carrier" m:HasStream="true" 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" sap:semantics="currency-code"/>
<Property Name="URL" Type="Edm.String" MaxLength="255" sap:label="URL"/>
<Property Name="mimeType" Type="Edm.String" MaxLength="128" sap:label="MIME Type" sap:filterable="false"/>
<NavigationProperty Name="carrierFlights" Relationship="RMTSAMPLEFLIGHT.CarrierToFlight" FromRole="FromRole_CarrierToFlight" ToRole="ToRole_CarrierToFlight"/>
<NavigationProperty Name="carrierFlights_FW" Relationship="RMTSAMPLEFLIGHT.CarrierToFlight" FromRole="FromRole_CarrierToFlight" ToRole="ToRole_CarrierToFlight"/>
</EntityType>
<EntityType Name="Travelagency" ux:thing-name="travel agency" 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"/>
<Property Name="CURRENCY" Type="Edm.String" MaxLength="5" sap:label="Trav.Agency.Curr" sap:semantics="currency-code"/>
<Property Name="mimeType" Type="Edm.String" MaxLength="128" sap:label="MIME Type"/>
</EntityType>
<EntityType Name="Travelagency_DQ" ux:thing-name="travel agency" 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"/>
<Property Name="CURRENCY" Type="Edm.String" MaxLength="5" sap:label="Trav.Agency.Curr" sap:semantics="currency-code"/>
<Property Name="mimeType" Type="Edm.String" MaxLength="128" sap:label="MIME Type"/>
</EntityType>
<ComplexType Name="FlightDetails" gp:display-order="0010">
<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"/>
32
H2G Create a new SAP Web IDE plugin of SAP Web IDE
33
H2G Create a new SAP Web IDE plugin of SAP Web IDE
34
www.sap.com