on 12-02-2014 4:42 PM
Hi,
I am trying to configure GIS for WPF client and Work Manager 6.1
When accessing the location tab from the WPF Agentry client v70.5.1.10 I get a blue screen without map.
I can see this error in SMP console:
getFunction::begin
getFunction::/SMFND/GIS_OBJECT_GEODATA_GET
getRepository::begin
create::Function /SMFND/GIS_OBJECT_GEODATA_GET created
setImportParameters::COMMIT_WAIT=X
setImportParameters::MOBILE_USER=XXXXXXXX
setImportParameters::USER_GUID=005056BD1DB31EE492B09EAF0C235523
setImportParameters::MIDDLEWARE_CALL=X
setParameters()::begin
setParameters()::OBTYP=NO1
setParameters()::OBJKEY=10000189
setParameters()::OBTYP=NO1
setParameters()::OBJKEY=10000130
setParameters()::OBTYP=NO1
setParameters()::OBJKEY=10000182
setParameters()::OBTYP=NO1
setParameters()::OBJKEY=10000198
setParameters()::OBTYP=IEQ
setParameters()::OBJKEY=995119009
setParameters()::OBTYP=IEQ
setParameters()::OBJKEY=10000003
setParameters()::OBTYP=IFL
setParameters()::OBJKEY=WWL1N1DAZ001CSO01SCN01
setParameters()::OBTYP=IFL
setParameters()::OBJKEY=WTG-CWTW-DFECT-DISST-CONTK-LPB
setParameters()::OBTYP=IFL
setParameters()::OBJKEY=WTG-CTWP-TWRPU-TWRPU-HLFP1-9A
execute::::XXXXXXXX::before BAPI execute: /SMFND/GIS_OBJECT_GEODATA_GET
execute::begin
execute::::XXXXXXXX::after BAPI execute: /SMFND/GIS_OBJECT_GEODATA_GET
checkForErrors::1::message ID::W:: - 000
checkForErrors::1::message::W::{"error":{"code":400,"message":"Requested operation is not supported by this service.","details":["The requested capability is not supported."]}}
checkForErrors::2::message ID::W:: - 000
checkForErrors::2::message::W::{"error":{"code":400,"message":"Requested operation is not supported by this service.","details":["The requested capability is not supported."]}}
checkForErrors::3::message ID::W:: - 000
checkForErrors::3::message::W::{"error":{"code":400,"message":"Requested operation is not supported by this service.","details":["The requested capability is not supported."]}}
It looks like the Geospatial Services Definitions is incorrect or GIS service does not support this request.
Do you have an example of configuration using ArcGisOnline.com Query: World Street Map (ID: 0) or any other available GIS server?
Regards.
HTTP Trace:
POST /arcgis/rest/services/World_Street_Map/MapServer/0/Query
HTTP/1.1
content-type: application/x-www-form-urlencoded
content-length: 47
referer: http://xxxxxx.com:8000
accept-encoding: gzip
user-agent: SAP NetWeaver Application Server (1.0;702)
f=JSON&outFields=OBJECTID%2cGLOBALID&outSR=4326
My Geospatial Service Definition:
SAP Landscape
I am running SMP 3.0 SP04 PL01 and SMFND 610_700 SP03 SMERP 610_700 SP03
I have configured SAP Framework Foundation add on as described in SAP note 1982598 - GIS Integration Support for Mobile AddOn 6.10
I have added dll files to WPF client as described in SAP note 2071498.
I have also installed SAP Note 2035485 (Support change of object type by GIS object id mapping routine) and 2033630 (Need a lookup routine to determine work order and notification GIS object id for ESRI Service Provider)
Dider,
You mentioned you read KBA # 2071498. Did you look at the two pictures in it that states that you need to populate the tables with ESRI data running an SAP tool? Were you able to do that? The point is that your data that you are trying to locate needs to have ESRI data in it stored in the table listed in the KBA note. Are you trying to do something different (non-ESRI)?
Hope this helps.
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Mark,
Yes I have populated the table /SMFND/OID01_GS.
but I do not understand what should be the value in SPATIAL_GUID column. I put a dummy value!!!!!
Also, can I use this services? http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer/0/Query ? I do not understand the link between the SPATIAL_GUID value and this rest services?
Do you have a link to documentation that will help me to understand SAP-ESRI integration from an ESRI perspective?
regards.
Dider,
The Spatial_GUID is the ESRI Global ID. There is a BAPI / function that reads the table matching the OBJKEY to the object types in SAP and uses the Spatial_GUID to call the ESRI rest service and lookup the geometry from the ESRI ArcGIS server which is returned in json format and downloaded to the client for mapping on the device.
You definitely need to have valid values in that column.
Also, you need to make sure you have the config panel entries setup for your GIS information in the application config. If everything is setup you should at least see the basemap on the client. Either something isn't configured correctly or your client doesn't have the proper DLLs in the right locations to invoke the map.
--Bill
Dider,
Those values you get from ESRI. They have to provide the values for those special numbers. Without it you would have no data for your equipment or functional location.I assumed there is a service that is being rendered by ESRI to the customers. You need a comma delimited file like in the picture as a file to be used in the SAP tool (same in the picture of the KBA). From what I understand, we got those values in our internal system from ESRI.
If you think about it, if you are the company who has all this locations or equipment scattered in the world, you will have to mark their location somewhere in the database. Somebody has to put the location either by tool or service. This may be an ESRI question but ultimately you need that comma delimited file.
Regards,
Mark
Mark,
Thanks for explanations. I need now to understand how to generate those ESRI Global ID using the ArcGisOnline service.
can it work with ArcGisOnline ?
Regards.
Dider,
On your picture below:
the Service Path and Service Host should be the one directly tied to the ESRI proxy tied to this company. I am assuming your ESRI support would know what to put in there. From what I see with other installation the Service Host and Service Path is custom to the company setting it up. It may have something like the company name in it. The Service Path has the path tied to the Rest Services.
I still think that the ESRI should be setup for this company. I am basing this on what I see other companies set it up with. All of them have ESRI Proxy servers.
Again this may be an ESRI question (whoever setup the ESRI) solution for that company may know where the ESRI proxy server host and Service Path (Rest Services).
Regards,
Mark
Hi Mark,
I have
In the SMP console I can see an error "Unable to perform query. Please check your parameters.","No where clause specified."
HTTP request seems incorrectly formatted (see HTTP trace). Any idea?
Regards.
Data investigation:
I can query this map and retrieve the object using this URL in a browser: http://services3.arcgis.com/1r6kn8AUTAagzGFG/ArcGIS/rest/services/GIS_Objects/FeatureServer/0/query?...
If I remove the ObjectId=1 from above query I get the same error: http://services3.arcgis.com/1r6kn8AUTAagzGFG/ArcGIS/rest/services/GIS_Objects/FeatureServer/0/query?...
HTTP Trace (sniffer):
POST /1r6kn8AUTAagzGFG/ArcGIS/rest/services/GIS_Objects/FeatureServer/0/query
HTTP/1.1
content-type: application/x-www-form-urlencoded
content-length: 47
referer: http://xxxx:8000
accept-encoding: gzip
user-agent: SAP NetWeaver Application Server (1.0;702)
f=JSON&outFields=OBJECTID%2cGLOBALID&outSR=4326
Mapping table for SAP:
ESRI Objects:
Geospatial Service Definition:
SMP Console:
getFunction::/SMFND/GIS_OBJECT_GEODATA_GET
getRepository::begin
create::Function /SMFND/GIS_OBJECT_GEODATA_GET created
setImportParameters::COMMIT_WAIT=X
setImportParameters::MOBILE_USER=XXXXXXXX
setImportParameters::USER_GUID=005056BD1DB31EE492B09EAF0C235523
setImportParameters::MIDDLEWARE_CALL=X
setParameters()::begin
setParameters()::OBTYP=ORH
setParameters()::OBJKEY=4000342
setParameters()::OBTYP=ORH
setParameters()::OBJKEY=4000363
setParameters()::OBTYP=IEQ
setParameters()::OBJKEY=995119009
setParameters()::OBTYP=IEQ
setParameters()::OBJKEY=10000003
setParameters()::OBTYP=IFL
setParameters()::OBJKEY=WWL1N1DAZ001CSO01SCN01
setParameters()::OBTYP=IFL
setParameters()::OBJKEY=WTG-CTWP-TWRPU-TWRPU-HLFP1-9A
execute::::XXXXXXXX::before BAPI execute: /SMFND/GIS_OBJECT_GEODATA_GET
execute::begin
execute::::XXXXXXX::after BAPI execute: /SMFND/GIS_OBJECT_GEODATA_GET
checkForErrors::1::message ID::W:: - 000
checkForErrors::1::message::W::{"error":{"code":400,"message":"","details":["Unable to perform query. Please check your parameters.","No where clause specified.
"]}}
checkForErrors::2::message ID::W:: - 000
checkForErrors::2::message::W::{"error":{"code":400,"message":"","details":["Unable to perform query. Please check your parameters.","No where clause specified.
"]}}
checkForErrors::3::message ID::W:: - 000
checkForErrors::3::message::W::{"error":{"code":400,"message":"","details":["Unable to perform query. Please check your parameters.","No where clause specified.
Hi Dider;
Did you eventually come right with the "Unable to perform query" error? I'm facing the same issue, I have been debugging the /SMFND/GIS_OBJECT_GEODATA_GET method that is referred to but my challenge is I do not see the actual full request before it is sent to the ESRI server. Please advise if you got this right.
Thanks and Regards;
Sizo
Hi Sizo,
Yes, I got it working. The problem was in the mapping table. The MOBILE_APP parameter was incorrect. It is not WORK_MANAGER_61 but SAP_WORK_MANAGER_61
You should debug the ABAP code to see the formatted ESRI http request. Debug the class /SMFND/CL_GIS_GEOSERV_ESRI and Method EXEC_OP_QUERY
You can test the HTTP REQUEST with your deployed ESRI service, it should return a JSON string like this:
{
"objectIdFieldName" : "FID",
"globalIdFieldName" : "",
"geometryType" : "esriGeometryPoint",
"spatialReference" : {
"wkid" : 102100,
"latestWkid" : 3857
},
"fields" : [
{
"name" : "OBJECTID",
"type" : "esriFieldTypeInteger",
"alias" : "OBJECTID",
"sqlType" : "sqlTypeInteger",
"domain" : null,
"defaultValue" : null
},
{
"name" : "NAME",
"type" : "esriFieldTypeString",
"alias" : "NAME",
"sqlType" : "sqlTypeNVarchar", "length" : 256,
"domain" : null,
"defaultValue" : null
}
],
"features" : [
{
"attributes" : {
"OBJECTID" : 1,
"NAME" : "4000342"
},
"geometry" :
{
"x" : -204355.88069999963,
"y" : 7027271.7452000007
}
}
]
}
Hi Dider;
All entries in my mapping table seem fine, except that I am using a SPATIAL_OBJECT_ID instead of a SPATIAL_GUID, but I am not receiving the JSON string. I've been debugging the Method EXEC_OP_QUERY but I cannot see the actual request with the populated form fields, where exactly can I see this?
Thanks and Regards;
Sizo Ndovu
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.