Creating and organizing workspaces. How to use Workbench.
Recently active
Hello FME community,I have a fairly complex series of workspaces that dynamically harvest, validate and write featuretypes. We harvest using WFS and online GML.I have an issue where in FME Desktop (2018.1.2-b18590) the FeatureReader reads both the schema and the features, but in FME Server (2019.0-b19238) it doesn't create a schema feature in the gml FeatureReader, so when I want to dynamically write to my database it doesnt recieve a schema feature.The XSD and the GML are findable and downloadable by FME Server. The steps to reproduce this behaviour is to run it in Desktop, publish it FME Server.See attached an isolated Workspace to show my problem with the logfile saying in FME Server: 103 INFO Merged 0 schema features read from 1 datasets into 0 resulting feature types104 WARN UniversalReader -- readSchema resulted in 0 schema features being returned105 WARN Reader Parameter(0) = >https://geotest.drenthe.nl/website/ngr/am.xml168 WARN Reader Directive(..)176 WARN UniversalReader -
I combine 3 to 6 smaller 3in tif aerials to create a PRM grid we use. They look great when viewed in ArcvIew, Autocad, Photo Viewer but in GTechnology they are horible with strips. The raw 3in look great in Gtechnology by themselfs but not combined? We had 6in raw tif but those combine work prefectly in Gtechnology so I can confused since there is not much to change.
I have the following workflow:1. SDE reader reads the polygon feature which will be used for clipping feature types;2. FEATURE_TYPES public parameter is fetched. It lists what feature types to read;3. A few Testers and FeatureReaders is used (depending how many layers are in the DB):If FEATURE_TYPES contains FeatureX When FeatureReader is initiated to read only what FeatureX;4. All features read are passed on to the Clippee, etc. Is there any better workflow which reduces Testers and FeatureReaders to be used? I tried using one FeatureReader and query the feature types to read, but FeatureReader always reads all the features and passes only the ones, what are queried. This is not good, considering the different DB features have millions objects and reading all of them is time consuming.So if DB contains, for exmaple 60 layers, I need to use 60 Testers and 60 FeatureReaders. It's insane.
How is it possible to retriew more information in the RESULT DATA window on fme server? I currently only get "FME_FAILURE" and "A fatal error has occured. Check the logfile above for more details." I would like for the message from the terminator to be wieved here. When a job terminates on the server, it does not passes the Termination Message on to the statusMessageattribute from the job result. I am using version 2017.1 17725 WIN 64 on both server and workbench.
I am trying to use a FeatureReader to read a list of feature classes from a .csv file, project each feature class, and truncate/append to already existing feature classes in a different geodatabase with a different table qualifier. If I use the owner connection to read the inputs it works but if I use a read-only account to read the input it does not know the table qualifier unless listed in the .csv file. But if I include the table qualifier in the .csv input the output includes the table qualifier as part of the name and fails to write to the output geodatabase because it includes the table qualifier as part of the name and that table qualifier does not exist in that database. I have tried checking the Remove Table Qualifier in the FeatureReader but it did not seem to make any difference.Thanks, Dave
When promoting a list element using the ListRenamer in FME 2018.0, the cog remains red even though none of the fields within the transformer is red. When hovering over the red cog, it says "Parameter 'Component to Rename' must have a value". But as I am promoting rather than renaming, this doesn't make sense.I never had a problem with this in v2017, so I almost suspect it is a bug? But I'm happy to be shown otherwise!
Hi There, I am working on a functionality that converts events table into feature classes. I have large number of tables that need to processed. In order to keep the process clean, I created custom transformer that I could call for all these layers, details below: Issue: Once I call the custom transformer, for List Attribute option, it doesn’t let me put a value. I wanted to know the best way to resolve this issue. Appreciate any feedbackThanksJay
I have the following issue in Dynamic workflow. When converting from GDB to Shapefile, all the date fields (fme_datetime) become strings. I need what those fields stay fme_datetime. How can I solve this issue?
Hello,I have one feature reader that reads one table City, then I have another reader that reads table Person and then for each feature from City and for each feature from Person that are merged I'm performing job submitter operation with parameters CityId, PersonId I would like to change it a bit:What I would like to achieve is to take all objects from City and then take all objects from Person but then group results from Person to merge every n records into one. As example: Lets say I have 2 records in City table: New York Chicago And I have 4 records in Person table:Person1Person2Person3Person4 In o regular flow I would have JobSubmitter executed 8 times for: CITY IDPERSON IDCITY IDPERSON IDNew York Person1 Chicago Person1New York Person2 ChicagoPerson2 New York Person3 Chicago Person3 New York Person4 Chicago Person4 What I would like to do is to group every n row from Person table and merge PersonIds into one attribute and modifie it a bit (by adding '' and ,) so
Hello, In my current setup I have serverJobSubmitter which may be executed even few thousand times in one JOB. I noticed that it goes great for about 2000 executions and then I start receiving error: BADNEWS: FMEWorkspaceRunner: Error in opening the configured workspace (fmeworkspacerunner.cpp:468) FMEWorkspaceRunner: Error in opening the configured workspaceFMEServerJobSubmitter_2(ServerJobSubmissionFactory): Failed to complete run of workspace ... I also noticed that log file is growing rapidly and at moment when it starts failing it is ~600 MB big but I can't say if it is always the same. I checked that still there is enough disc space for logs. Session duration was around 27 hours and then it started to throw that error without any additional information.
Hello! I need to convert shape and geojson files from one pathe into the opposite file type (shape/geojson). I already created a Workspace with the reprojector. This has to work with the WorkspaceRunner, because it has to run through the whole amount of new files every time. My question now: How can I make my Workbench realize if it is a GeoJSON or Shapefile to continue the process? Does this need to be defined in the workspace Setting? Thanks a lot. Best Sara
I have an Office365 Business Premium account which includes OneDrive, but that's not the kind of OneDrive account that FME can connect to. Instead it appears to connect to a 'regular' (I guess) Microsoft account. I.e. the one I have for Skype.Is there a way to connect to that OneDrive account that's part of the Office365 Business stuff? Has anybody managed to do that?
I'm wondering if anyone can think of a way where I can control the number of jobs being run on FME. I have a process whereby I need to run some complex analysis on FME Server. To do this, I need to split the process into a large number of jobs (current process has 250,000 jobs). This is the only way to do it without crashing FME due to features needing to be held in memory. When on desktop, you can control the number of processes in WorkspaceRunner, however, this doesn't seem to exist with the FMEServerJobSubmitter. I've also tried using the REST API and that has the same problem. If I run the process in sequence, it would take way too long. If I run in parallel, it tries to load all 250,000 jobs to the FME Serve Queue and crashes the application. So, I'm looking for a away to tell FME Server to queue a certain number of jobs in batches. Once the first batch is done, it would release the second batch. This would enable me to run in parallel but without crashing the appl
At a client, a proces runs consisting of a master workspace, controlling four workspaces being triggered with FMEServerJobSubmitters, waiting for job completion 'yes'. The FME Server version is 2016.1.3.1 and the host-OS Windows Serer 2012 and FME engine running under a service account within the local network. In one of the slave workspaces a (custom transformer containing a) HTTPCaller calls a service on a different machine in the same local domain. This fails, giving a time-out, with the usual proxy warnings etc....Putting the custom transformer with HTTPCaller in the master workspace works fine. What could be the network related difference between having this HTTPCaller in the master workspace and in a slave workspace?There is some proxy on this machine which is supposed to be non-existent to the local network domain. Having the thing work in the master workspace (and separate test workspaces) shows this is the case. We tinkered and tampered with proxy settings on FMEServer
I have a dynamic feature reader (reading schema and generic ports) and a dynamic feature writer. I need to fanout the dataset based on an attribute and then write it. But, using dynamic writer the incoming attributes are not visible. Is there any possible way to make the attributes visible and then fanout?
Hi All,I wish to rename a folder name from ABC to XYZ. Do we have any simple way of renaming it without using any python script?
So I get this error every time im trying to use the multiprocessing library within python:Python Exception <FileNotFoundError>: [WinError 2] The system cannot find the file specifiedTraceback (most recent call last): File "<string>", line 19, in input File "C:\apps\FME2018.1_b18474_64\fmepython36\python36.zip\multiprocessing\context.py", line 119, in Pool context=self.get_context()) File "C:\apps\FME2018.1_b18474_64\fmepython36\python36.zip\multiprocessing\pool.py", line 174, in __init__ self._repopulate_pool() File "C:\apps\FME2018.1_b18474_64\fmepython36\python36.zip\multiprocessing\pool.py", line 239, in _repopulate_pool w.start() File "C:\apps\FME2018.1_b18474_64\fmepython36\python36.zip\multiprocessing\process.py", line 105, in start self._popen = self._Popen(self) File "C:\apps\FME2018.1_b18474_64\fmepython36\python36.zip\multiprocessing\context.py", line 322, in _Popen return Popen(process_obj) File "C:\apps\FME2018.1_b18474_64\fmepython36\pytho
Hey everybody,For example, I have .fmw with a user parameter (with choce list) that contains all users. But user list can change: some of them can be deleted, and there can also be new ones. This list is fetchable, so at any time I can get it in txt file or any. But I want the whole proces to be automatic.Question: Can I automatically update choice list in published parameter using other source?Thank you for your help
I have written a Python code to retrieve a list of unique values from several rows with several attributes (in the example below, there are 5 attributes). The problem with this code is that the output field has only the result for the first row. It copies it to the rest of the fields. Here is the code: import fmeimport fmeobjectsindex = 0list_yes = []# Template Function interface:# When using this function, make sure its name is set as the value of# the 'Class or Function to Process Features' transformer parameterdef compare_attributes(feature): global list_yes global index s1=feature.getAttribute('Att_1') s2=feature.getAttribute('Att_2') s3=feature.getAttribute('Att_3') s4=feature.getAttribute('Att_4') s5=feature.getAttribute('Att_5') myList_1 = [s1,s2,s3,s4,s5] for i in myList_1: myList_2 = myList_1[index:] if i!='': for j in myList_2: if i == j: list_yes.append(i) else:
Hello, I've studies lookup solutions but Iit still does not work.I have 2 ora-tables. - a lookup table KALENDER with DATE_START and DATE_END and a corresponding number ie DATE_IN DATE_OUT PERIOD 20181101 20181124 10 20181125 20181212 11 20181213 20181215 12 20181216 20190114 13 20190115 20190125 1 20190126 20190228 2 20190301 20190310 4 20190311 20190322 5 - a table with a dossiernumber and a DATE_INVOICE. DOSSNR DD_INVOICE D099 20181120 D099 20190305 D125 20190127 D125 20190315 D127 20190306There are more invoices per DOSSNR / YEAR. The output should be like:DOSSNR YEAR_2017 PER_2017 YEAR_2018 PER_2018 YEAR_2019 PER_2019 D125 2019 2,5 D127
I am trying to run a workbench from a batch file. The workbench is found in a shared drive (with access permissions), while FME is installed in the C: drive. According to what I've seen in the forums it is a simple command line. However, when running from a batch file, the following error arises: "The specified path is invalid".The batch file is stored in the same shared drive. I have tried the following options, using two path formats "\\\\shareddrive\\maps\\" and "Y:\\":Option one:"C:\\Program Files\\FME\\fme.exe" "\\\\shareddrive\\maps\\FME\\AddressGaz.fmw"Option two:"C:\\Program Files\\FME\\fme.exe" "Y:\\FME\\AddressGaz.fmw" In theory "\\\\shareddrive\\maps\\" and "Y:\\" are equivalent. I don't know what I am doing wrong. Does anybody have a clue?Thanks
Hi,I have a core workbench that is called from a fmeserverjobsubmitter with several parameters from the submitter workbench.Now in the core workbench I added a new parameter. If I don't refresh the fmemserverjobsubmitter in the submitter workbench, the behaviour is what I expected: new runs of the submitter workbench works with the default value set in the new parameter.If I refresh the fmeserverjobsubmitter the new parameter is present in the list of my parameters. Now I'm forced to set a value in the parameter box. If I leave the value empty, the jobsumbitter send an empty value to the core workbench. I've tried to switch to private parameter and set the default value but I have to maintain the value in the private parameter.How I can force the core workbench to use the default parameter set in it? I'd like that the behavoiur in this case is the same as the programming language. For example:def myProcedure(param1, param2 = False):The param2 is set to false when I call myProcedure(val
After processing I would like to fanout my data based on a created attribute (dataset) and fme_feature_type (10 tables) and write it to an Esri geodatabase with a FeatureWriter. In the created attribute are 4 categories, so basically I need a FGDB with 4 datasets and 10 featuretypes each. So I used the parameter 'Feature Class or Table name' to specify the <variable dataset>/<variable feature type>. It works but the Workbench only creates the first dataset and drops all feature classes and all records in it... What do I miss? Is there a way to let the FeatureWriter create more datasets?
For example, if the shapefile contain an attribute filed called 'CONTACT' and need to populate its rows with following URLs embedded to display as text strings (display text) instead of actual URL vales as follows. CONTACTSafeEsri
Hi FME Experts, I am trying to use the "WorkspaceRunner" transformer to run workbench based on the other one. in the first workbench I used the creator transformer the WorkspaceRunner, it gives me it is run successfully but it the caching is still updating at the same time also (snapshot).Anyone can help me with that?