Schedule a transform map

jxdou0
Kilo Explorer

Hi,

I need help in getting my data to transform from an import set table to the user table.

I have a SOAP web service inserting data into an import set.
I have a transform map which manipulates the data into the correct formats and places into our user table.

When the SOAP request begins, the transform map automatically begins. I dont want this to happen. I want all the data to be inserted by the SOAP request first then to run the transform map at a later time.

I can see in the import set that the mode is set to asynchronous. I am not sure what mode I need as I am confused by what the wiki is telling me.

I have found an article on the wiki here: https://wiki.servicenow.com/index.php?title=Web_Service_Import_Sets

There are two statements which really confuse me in this article, they are:

"If the associated import set mode is set to Asynchronous, the behaviour is to save the data for transformation at a later time" - I have a mode of asynchronous yet my transform map is running concurrently with the SOAP import/insert.

"An import set with a Mode of Synchronous will transform the data as soon as it is inserted (provided that the transform map already exists). This import set will also have a default State of Loading. By default, all Synchronous import sets will automatically be modified to Processed at midnight" - this sounds like it will run the transform straight away which is my current behaviour yet my import set mode is set to Asynchronous?

Can anyone help me please?

Thanks in advance,

Jamie

4 REPLIES 4

antonymirza
Tera Expert

Hi Jamie,



I am also in the same situation and noticed your have marked it assumed answered.


Would you like to share how did you achieve it?



Brgds, AM


Hello Antony,



The relevant wiki article is below.


I do not think that this statement  


"By default, the state of all synchronous import sets is automatically set to Processed at midnight"


is in contradiction to


"Changing this import set to a Mode of Asynchronous and a State of Loading prevents the data from being transformed immediately."



If you have an import set where Mode = Asynchronous but the transform takes place immediately, this is unexpected, and should be investigated.



Could you explain exactly what you are seeing and what version your instance is?



Best Regards



Tony




Web Service Import Sets - ServiceNow Wiki


..


3 Import Set Mode


When a web service message inserts a record into an import set table, and the table did not previously have an import set referenced, a new one will be created, and its Mode will be set asSynchronous. A synchronous import set transforms the data as soon as it is inserted, provided that the transform map already exists. This import set will also have a default State of Loading. By default, the state of all synchronous import sets is automatically set to Processed at midnight. As a result, when a new insert happens to the same table, a new synchronous import set will be created.



Import set record



Changing this import set to a Mode of Asynchronous and a State of Loading prevents the data from being transformed immediately. Using this configuration, the import set is loaded but not transformed. You can then perform the transformation manually or with a scheduled script job.


ModeStateFunction
AsynchronousLoadingData transformation does not occur automatically. Data added to import set row has a State of Pending. Data transformation can be scheduled or performed manually after the state changes to Loaded.
AsynchronousLoadedMarks the completion of data loading. Data transformation can now occur in a scheduled fashion or manually.
SynchronousLoadingData transformation occurs automatically and immediately whenever data is inserted into the associated import set row.
SynchronousLoadedWhen new data is inserted into this associated import set, a new import set with a Mode of Synchronous and State of Loading is created. Changing the state toLoaded indicates that a new synchronous import set should be created for the next import set row insert and transformed immediately.

Hi Tony,



Thank you for your input. My simple objective is that I want to transform the data later (by schedule) and not immediately when a web service place data in import set table. But, the problem is data is transformed immediately when web service place it in import set table.



The only reason why I am willing to do this is because we have some very big imports which includes nearly 1000 records for one of dictionary table. And, many times part of the import set data remained unprocessed (Pending state) e.g. 300 or 400 etc. This is because of the transaction time limit. Therefore, I just come up with a thought to place the data only in import set table and set it into "Asynchronous" mode using let's say a BR script and then schedule running the transform map later at a specific time.



I believe, I am able to explain my scenario well. Let me know if you have any suggestion to achieve it.



Hope to hear from you!



Brgds, AM


Apurva16
ServiceNow Employee
ServiceNow Employee

Hi @antonymirza ,

 

Were you able to find a solution for this? We are also looking for a similar solution.

 

Thank you.