cancel
Showing results for 
Search instead for 
Did you mean: 

How to configure Geospatial Services Definitions for Work Manager 6.1 (GIS)

Former Member
0 Kudos

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)



Accepted Solutions (1)

Accepted Solutions (1)

mark_pe
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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.

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

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

mark_pe
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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.

mark_pe
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Hi Mark,

I have

  • generated a map using ArcGisOnline with 1 object (see ESRI Objects below)
  • updated the /SMFND/OID01_GS table (see Mapping table for SAP below) 
  • updated Geospatial Service definition with new proxy (see Spatial Services Definition below)

  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.

mark_pe
Active Contributor
0 Kudos

Dider,

The only lead you have in your statement above is under: /SMFND/GIS_OBJECT_GEODATA_GET method. If this gets run in debug mode in SAP backend it could lead to the issue based on your input requirement above. Can you run it in debug mode?


Mark

Former Member
0 Kudos

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

Former Member
0 Kudos

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

  }

  }

  ]

}

Former Member
0 Kudos

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

Former Member
0 Kudos

You can try to use an HTTP sniffer

Former Member
0 Kudos

I have since decided to open a new thread and not have issues mixed up on this one:

Your input is appreciated.

Sizo Ndlovu

Answers (0)