Solved

Import external files automatically


Userlevel 7
Badge +22
  • Superhero (Customer)
  • 947 replies

Dear community,

is it possible to import an external file automatically by “External File Assistant” (Batch process)?

In our case the file type is ExtVoucher.

 

 

If yes which of these marked fields are necessary? 

Our fiels are on a local path (not in cloud) while IFS is in cloud.

icon

Best answer by Dammika Sandaruwan 30 June 2022, 00:42

View original

15 replies

Userlevel 5
Badge +6

 Hi @Link ,

 

You can choose batch process option from the ‘External File Assistant’ dialog window.

When you complete this assistant, you will be directed to ‘New Database Task Schedule’ window automatically and you can schedule how this batch process should be executed in there.

If you run this particular external file as a batch process, then you need to fill only highlighted fields in external file template as mentioned below. (no need to fill client paths)

You can try fully qualified path of the local server which you dispatch these external files and if it doesn’t work you may contact one of IFS cloud op engineer to see how to access files from this local directory.

 

Thank You and Best Regards,

Dammika

Userlevel 7
Badge +22

Hi @Dammika Sandaruwan 

thank you for replying. 

Does this mean that we have to upload the files (we want to import in IFS) in the cloud?

Userlevel 5
Badge +6

​Hi @Link 

It's only possible to select batch mode if parameter SERVER_DIRECTORY in System Parameters For Accounting Rules is set to a valid directory in the database. This means that the directory is defined with a valid server path in the database.

 

In the window System Parameters for Accounting Rules (in Accounting Rules) it is possible to define a value for the parameter SERVER_DIRECTORY.

By default the attribute SERVER_DIRECTORY has the parameter value NULL. As long as NULL is defined it will not be possible to run the External Voucher Assistant in batch mode.

This must be a directory defined in the oracle database which is set to valid server path.

Specifying a directory example: (as appowner).

 

create or replace directory EXT_DIR

as 'C:\OraDB\A\ExternalFiles';

Even in cloud hosted environments, it might be possible to create a server directory in database to achieve this requirement.

You can find further information from following IFS documentation.

https://docs.ifs.com/techdocs/foundation1/040_administration/240_integration/330_ifs_applications_business_components/190_Ext_Files_I/default.htm#External_File_Assistant

This Automatic loading of external files can be achieved through routing rule setup with FTP reader as well and there is a template routing rule provided in IFS cloud version as illustrated below.

The template routing rule for importing external files is named Example_External_File_Import. The API that will be called from the triggered Routing Rule is Ext_File_Server_Util_API.Load_External_File. Location based conditions have been used to trigger this Routing Rule. Currently, the unique parameter set is the file path.

File Path: EXTERNAL_FILE*

As seen here, default File Path accepts file names prefixed with EXTERNAL_FILE. It can be configured based on the user requirement.

Also you need to setup the FTP reader in IFS readers as below.

The steps in this process are,

Add file to the FTP IN folder with a file name that is accepted by the Routing Rule and one that satisfies the file name in External File Template.
File will be loaded through application messages.
Run the Batch Process through the schedule.

In here, the routing address connected has plsql method invocation of ‘Ext_File_Server_Util_API.Load_External_File’  and this method is not available in IFS app 10 and you may contact IFS Global support to check the possibility of implementing same routing rule setup this in app 10 version.

Thank You and Best Regards,

Dammika

Userlevel 5
Badge +10

Have you tried leaving the ‘filename’ field blank/empty. And only have the ‘Input File Directory’ set up?
 

 

Userlevel 7
Badge +22

Hi @malik.sally 

I will test it if we have created a SFTP-User and did the settings in IFS connect. :-)

Thank you a lot.

Userlevel 7
Badge +22

Have you tried leaving the ‘filename’ field blank/empty. And only have the ‘Input File Directory’ set up?
 

 

Hi @malik.sally 

how can I create an input file directory?

The settings in IFS file reader are done. Do I need also routing address and rounting rules?

Our application is in cloud.

Userlevel 5
Badge +10

To create input directory the steps are as follows;

  1. Create Folders in Database Server (in the environment that you want this set up, ex: PROD, TEST, TRN etc..) example folder 'F:\Data\FileUpload'
  2. Log on to TEST/TRN/PROD database through PL/SQL to create database folder and execute the below command.

create directory AU_TO_IFS as 'F:\Data\FileUpload'

NOTE: F:\Data\FileUpload is the folder where files will be saved

If it is IFS Managed Cloud, you will have to raise a ticket with IFS Support and ask them to create one for you, and potentially ask them to create a user so you can access the folder via FTP Client

 

Userlevel 7
Badge +22

To create input directory the steps are as follows;

  1. Create Folders in Database Server (in the environment that you want this set up, ex: PROD, TEST, TRN etc..) example folder 'F:\Data\FileUpload'
  2. Log on to TEST/TRN/PROD database through PL/SQL to create database folder and execute the below command.

create directory AU_TO_IFS as 'F:\Data\FileUpload'

NOTE: F:\Data\FileUpload is the folder where files will be saved

If it is IFS Managed Cloud, you will have to raise a ticket with IFS Support and ask them to create one for you, and potentially ask them to create a user so you can access the folder via FTP Client

 

Hi @malik.sally 

thank you a lot. I am waiting for the IFSAPP user password. 

Userlevel 7
Badge +22

Hi all

I’ve creadet a new directory with pl/sql. What does the last column mean? It doesn’t exist?

 

And I’ve entered the same path here.

@Dammika Sandaruwan: Am I right?

 

But the import doesn’t work.

Userlevel 7
Badge +19

Yes, it means that the “Directory Path” does not exist on the file system level.

Have you created the folders manually on the database server also? The Oracle command does not create the directory in the file system, that needs to be done manually.

Userlevel 7
Badge +22

Hi @Tomas Ruderfelt 

We are in cloud I can’t create anythink there. I have created all folders manually on the IFS FTP server.

This means I need to order IFS to do this, right?

Userlevel 7
Badge +19

Yes, then I think you need to create a ticket to IFS to get that created.

Maybe there is some problem with permission if you create it with your FTP user. Then the user running Oracle might not get access to that directory. Or the path is not exactly correct.

Userlevel 7
Badge +22

I see. I got the path directly from IFS (with root). See last screenshot. 

Then I will get back to IFS again.

Thank you a lot @Tomas Ruderfelt.

Userlevel 7
Badge +22

Hi all,

we have to store the files which we want to import to IFS automatically on the database server (not on the FTP application server). Now it works.

Does anybody have an idea how we can copy these files from our local server to the IFS database server? It is possbile with IFS connect?

Thank you.

Userlevel 7
Badge +22

Dear @Dammika Sandaruwan 

dear @malik.sally 

thank you a lot for supporting. Now the import works.

Reply