The following section describes the data types you can use when attaching your geo-coding program to the SAP system via the ABAP IF_GEOCODING_TOOL interface. For more information about the data types passed via the RFC interface, see Data Types of the RFC interface.
Below, you will find the data types for the field values returned in the container (see the Data Exchange Between the SAP Geo-Coding Framework and the Geo-Coding Program section in Interface for Third-Party Geo-Coding).
The data type of the VALUE attribute is char255. This data type enables you to store any kind of data. For the LONGITUDE, LATITUDE, ALTITUDE, SRCID, SRCTSTMP, PRECISID, and TZONE attributes that are relevant for geo-coding, you need to convert your data to char255. Then, the SAP applications need to convert these char255 strings back to real data types. These data types are defined in the GEOCODING structure.
GEOCODING structure |
Type |
Domain |
GUIDLOC |
geoguid |
SYSUUID |
LONGITUDE |
geolon |
GEOLONLAT |
LATITUDE |
geolat |
GEOLONLAT |
ALTITUDE |
geoalt |
GEOALT |
SRCID |
geosrcid |
CHAR4 |
SRCTSTMP |
timestamp |
TZNTSTMPS |
PRECISID |
geoprecis |
D_GEOPREC |
TZONE |
timezone |
TZNZONE |
The GUIDLOC attribute is for special use only. Do not create an entry with the GUIDLOC! field. The meaning of the LONGITUDE, LATITUDE, and ALTITUDE attributes is self-explanatory. Longitude and latitude need to be passed in WGS84 data format. Altitude should be passed in meters above sea level and are set to zero if unknown.
The SRCID attribute is an identifier for the program that determines the geographical data. The SRCID value is passed in the XINFO structure and can simply be copied to your result.
The SRCTSTMP attribute holds a timestamp reflecting the time and date of data determination (this is not the date of geo-coding a specified address). A timestamp always contains the time and date in the UTC time zone. The format of a timestamp is YYYYMMDDHHMMSS:
YYYY |
Year |
MM |
Month |
DD |
Day |
HH |
Hour |
MM |
Minute |
SS |
Second |
An example for a valid timestamp is 20001224121314, which is December 24th, 2000, 12:13:14, UTC time zone.
The PRECISID attribute describes how precisely a geographical location has been determined. The following values have been defined in the D_GEOPRECIS domain.
0000 |
Information not available |
0100 |
World |
0200 |
Continent |
0300 |
Country |
0400 |
Region |
0500 |
Borough |
0600 |
Zip code |
0700 |
Town |
0800 |
District |
0900 |
Center of street |
1000 |
Center of interval of house numbers |
1100 |
House number (interpolated) |
1200 |
House number (exact) |
1300 |
House number + additional information (for example Neurottstr. 7b) |
The TZONE attribute describes the time zone in which the geographical location is located. The SAP table TTZZ lists the valid time zones. We need to determine the time zone here because mapping from address to time zone is much easier than mapping a geographical location to time zone. You may use the tzon_location_timezone function to determine the time zone for a given country or country + region. Determining the time zone is only difficult for bigger countries with multiple time zones, like the US or Russia. If you do not use our framework, but start to implement an RFC server (using SAP's CL_GEOCODER_GENERIC_RFC class for calling the geocoder via RFC), we additionally pass the time zone of the country used in the given addresses. This makes it easier to develop geo-coding programs for countries that do not have different time zones. If you develop a geo-coding program for countries with multiple time zones, you should ignore the given time zone.