The flight data application was created to demonstrate as many technologies and concepts in the integration technology environment as possible by using real examples.
This section gives an introduction to the flight data application from a technical point of view. If you are looking for an example of a particular concept or detail, this section contains a reference to the corresponding example. However, this section does not explain each concept (see the relevant guides for each concept); it contains only notes about the objects of the flight data application that are suitable for demonstrating the concepts.
The following topics can currently be demonstrated with the flight data application:
General BAPI concept
Technology/Concept |
Example |
Business objects in the BOR |
Business objects SFLIGHT (Flight) and SBOOK (FlightBooking) |
Generic object services in the BOR |
Business object SFLIGHT (Flight), attribute FlightID |
BAPI Design
Technology/Concept |
Example |
Instance and class methods |
FlightBooking.GetList for a class method |
FlightBooking.Cancel for an instance method |
|
FlightBooking.CreateFromData for a create method |
|
Standardized BAPI methods |
Flight.GetList, Flight.GetDetail, FlightBooking.CreateFromData, FlightBooking.Cancel, FlightCustomer.Change, Flight.SaveReplica |
Standardized parameters |
Parameter CustomerDataX for FlightCustomer.Change for a change parameter |
Parameter ExtensionIn and ExtensionOut for Flight.GetDetail for extension parameter |
|
Return parameter for each of the flight BAPIs (Flight.GetDetail, for example) |
|
DateRange parameter for Flight.GetList for a selection parameter |
|
TestRun parameter for FlightBooking.Confirm for a TestRun parameter |
Implementation of BAPI Data Structures
Technology/Concept |
Example |
Using data structures that begin with BAPI* |
See all parameters of all BAPI methods Note especially English field names, no includes or appends, use of existing data elements, maintaining search helps/check tables, use of internal data formats |
Dealing with currency fields |
Flight.GetDetail method, FlightData parameter (BAPISFLDAT Dictionary structure), PRICE field |
Dealing with ISO codes |
For currency codes see the Flight.GetDetail method (for example), FlightData parameter (BAPISFLDAT Dictionary structure), CURR and CURR_ISO fields |
For unit of measure codes, see the Flight.GetDetail method (for example), AdditionalData parameter (BAPISFLADD Dictionary structure), UNIT and UNIT_ISO fields |
|
For country codes, see the FlightCustomer.CreateFromData method (for example), CustomerData parameter (BAPISCUNEW Dictionary structure), COUNTR and COUNTR_ISO fields |
|
For language codes, see the FlightCustomer.CreateFromData method (for example), CustomerData parameter (BAPISCUNEW Dictionary structure), LANGU and LANGU_ISO fields |
|
Dealing with date fields |
Flight.GetDetail method, FlightDate parameter (BAPISFLKEY Dictionary structure, FLIGHTDATE field) |
Defining the Interface of the Function Module
Technology/Concept |
Example |
Dealing with ID fields of business objects |
See the BAPI Design section: examples for instance, class, and create methods |
Return parameter uses BAPIRET2 structure |
See all BAPI methods |
Implementing the Function Module
Technology/Concept |
Example |
Database changes due to an update |
Flight.SaveReplica method (BAPI_FLIGHT_SAVEREPLICA function module); this module uses the SAPBC_FLIGHT_REPLICA_UPDATE update module |
No write BAPIs have a commit command |
|
Authorization checks |
Flight.GetDetail method; S_FLBOOK authorization object is queried here |
Returning error messages |
See all BAPI methods In the source code, the BALW_BAPIRETURN_GET2 module is used to fill the return parameter |
Using mapping modules for converting between internal and external data formats |
A conversion from external to internal is in the FlightCustomer.CreateFromData method, for example. |
A conversion from internal to external is in the Flight.GetDetail method, for example. |
Special BAPI Topics
Technology/Concept |
Example |
Mass data-enabled BAPIs |
FlightCustomer.CreateFromData method (BAPI_FLBOOKING_CREATEFROMDATA function module) |
BAPIs in the DX Workbench |
FlightCustomer project in the DX Workbench |
FlightCustomer.CreateFromData method (BAPI_FLBOOKING_CREATEFROMDATA function module) for implementing a suitable BAPIs |
Use of BAPIs in ABAP programs
Technology/Concept |
Example |
Use of BAPIs in ABAP programs |
SAPBC_REPLICATE_FLIGHTS report or BAPI_FLTRIP_CREATE function module |
BAPIs in Application Link Enabling (ALE)
Technology/Concept |
Example |
Generation of ALE interfaces (IDocs) from BAPIs |
The generated ALE interfaces for the FlightBooking.CreateFromData, FlightBooking.Confirm, or FlightBooking.Cancel methods |
Synchronous call of a BAPI (including query of ALE distribution model) |
FlightConnection.GetDetail method calls the Flight.CheckAvailability method |
Asynchronous call of a BAPI (including query of ALE distribution model) |
FlightTrip.Create method calls the FlightBooking.Confirm method |
Using filters for determining recipients |
FlightConnection.GetDetail method; when Flight.CheckAvailability is called, the AIRLINEID filter object type is queried |
BAPIs in the Interface Repository
Technology/Concept |
Example |
BAPIs in the Interface Repository |
See http://ifr.sap.com under SAP BASIS à Release 6.10 à Basis Components à ABAP Workbench |