/AWS1/IF_LOC=>PUTGEOFENCE()¶
About PutGeofence¶
Stores a geofence geometry in a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.
Method Signature¶
METHODS /AWS1/IF_LOC~PUTGEOFENCE
IMPORTING
!IV_COLLECTIONNAME TYPE /AWS1/LOCRESOURCENAME OPTIONAL
!IV_GEOFENCEID TYPE /AWS1/LOCID OPTIONAL
!IO_GEOMETRY TYPE REF TO /AWS1/CL_LOCGEOFENCEGEOMETRY OPTIONAL
!IT_GEOFENCEPROPERTIES TYPE /AWS1/CL_LOCPROPERTYMAP_W=>TT_PROPERTYMAP OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_locputgeofencersp
RAISING
/AWS1/CX_LOCACCESSDENIEDEX
/AWS1/CX_LOCCONFLICTEXCEPTION
/AWS1/CX_LOCINTERNALSERVEREX
/AWS1/CX_LOCRESOURCENOTFOUNDEX
/AWS1/CX_LOCTHROTTLINGEX
/AWS1/CX_LOCVALIDATIONEX
/AWS1/CX_LOCCLIENTEXC
/AWS1/CX_LOCSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_collectionname TYPE /AWS1/LOCRESOURCENAME /AWS1/LOCRESOURCENAME¶
The geofence collection to store the geofence in.
iv_geofenceid TYPE /AWS1/LOCID /AWS1/LOCID¶
An identifier for the geofence. For example,
ExampleGeofence-1.
io_geometry TYPE REF TO /AWS1/CL_LOCGEOFENCEGEOMETRY /AWS1/CL_LOCGEOFENCEGEOMETRY¶
Contains the details to specify the position of the geofence. Can be a circle, a polygon, or a multipolygon.
PolygonandMultiPolygongeometries can be defined using their respective parameters, or encoded in Geobuf format using theGeobufparameter. Including multiple geometry types in the same request will return a validation error.The geofence
PolygonandMultiPolygonformats support a maximum of 1,000 total vertices. TheGeobufformat supports a maximum of 100,000 vertices.
Optional arguments:¶
it_geofenceproperties TYPE /AWS1/CL_LOCPROPERTYMAP_W=>TT_PROPERTYMAP TT_PROPERTYMAP¶
Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.
Format:
"key" : "value"
RETURNING¶
oo_output TYPE REF TO /aws1/cl_locputgeofencersp /AWS1/CL_LOCPUTGEOFENCERSP¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->putgeofence(
io_geometry = new /aws1/cl_locgeofencegeometry(
io_circle = new /aws1/cl_loccircle(
it_center = VALUE /aws1/cl_locposition_w=>tt_position(
( new /aws1/cl_locposition_w( |0.1| ) )
)
iv_radius = '0.1'
)
it_multipolygon = VALUE /aws1/cl_locposition_w=>tt_multilinearrings(
(
VALUE /aws1/cl_locposition_w=>tt_linearrings(
(
VALUE /aws1/cl_locposition_w=>tt_linearring(
(
VALUE /aws1/cl_locposition_w=>tt_position(
( new /aws1/cl_locposition_w( |0.1| ) )
)
)
)
)
)
)
)
it_polygon = VALUE /aws1/cl_locposition_w=>tt_linearrings(
(
VALUE /aws1/cl_locposition_w=>tt_linearring(
(
VALUE /aws1/cl_locposition_w=>tt_position(
( new /aws1/cl_locposition_w( |0.1| ) )
)
)
)
)
)
iv_geobuf = '5347567362473873563239796247513D'
)
it_geofenceproperties = VALUE /aws1/cl_locpropertymap_w=>tt_propertymap(
(
VALUE /aws1/cl_locpropertymap_w=>ts_propertymap_maprow(
value = new /aws1/cl_locpropertymap_w( |string| )
key = |string|
)
)
)
iv_collectionname = |string|
iv_geofenceid = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_id = lo_result->get_geofenceid( ).
lv_timestamp = lo_result->get_createtime( ).
lv_timestamp = lo_result->get_updatetime( ).
ENDIF.