Question

Call IFS Apps 10 Oracle API's from external application

  • 19 June 2020
  • 8 replies
  • 528 views

Badge +2

We are in an IFS Apps 10 managed environment and would like to interface into IFS by calling existing Oracle API's from an external application.

We run into limititations with the Excell add-in and Migration Jobs.

Any Idea's ?

 


8 replies

Badge +1

Sorry to say it, but I think you need to be a bit more specific if you want constructive answers.

Badge +2

I would like to create a '’Serial Object” from an external application.

So in fact I would like to call the next procedure:

DECLARE

   p0_ VARCHAR2(32000) := NULL;
   p1_ VARCHAR2(32000) := NULL;
   p2_ VARCHAR2(32000) := NULL;
   p3_ VARCHAR2(32000) := 'MCH_CODE'||chr(31)||'PH'||chr(30)||'CONTRACT'||chr(31)||'100'||chr(30)||'SUP_CONTRACT'||chr(31)||'100'||chr(30)||'MCH_TYPE'||chr(31)||'07020'||chr(30)||'PART_NO'||chr(31)||'PHDOS001'||chr(30)||'SERIAL_NO'||chr(31)||'SN123456'||chr(30)||'PRODUCTION_DATE'||chr(31)||'2020-06-19-00.00.00'||chr(30)||'ITEM_CLASS_ID'||chr(31)||''||chr(30)||'OWNERSHIP'||chr(31)||'Company Owned'||chr(30)||'SAFE_ACCESS_CODE'||chr(31)||'Not Required'||chr(30)||'PM_PROG_APPLICATION_STATUS'||chr(31)||'FALSE'||chr(30);
   p4_ VARCHAR2(32000) := 'DO';

BEGIN
   
IFSAPP.EQUIPMENT_SERIAL_API.NEW__( p0_ , p1_ , p2_ , p3_ , p4_ );
END;

 

Badge +1

I would like to create a '’Serial Object” from an external application.

So in fact I would like to call the next procedure:

DECLARE

   p0_ VARCHAR2(32000) := NULL;
   p1_ VARCHAR2(32000) := NULL;
   p2_ VARCHAR2(32000) := NULL;
   p3_ VARCHAR2(32000) := 'MCH_CODE'||chr(31)||'PH'||chr(30)||'CONTRACT'||chr(31)||'100'||chr(30)||'SUP_CONTRACT'||chr(31)||'100'||chr(30)||'MCH_TYPE'||chr(31)||'07020'||chr(30)||'PART_NO'||chr(31)||'PHDOS001'||chr(30)||'SERIAL_NO'||chr(31)||'SN123456'||chr(30)||'PRODUCTION_DATE'||chr(31)||'2020-06-19-00.00.00'||chr(30)||'ITEM_CLASS_ID'||chr(31)||''||chr(30)||'OWNERSHIP'||chr(31)||'Company Owned'||chr(30)||'SAFE_ACCESS_CODE'||chr(31)||'Not Required'||chr(30)||'PM_PROG_APPLICATION_STATUS'||chr(31)||'FALSE'||chr(30);
   p4_ VARCHAR2(32000) := 'DO';

BEGIN
   
IFSAPP.EQUIPMENT_SERIAL_API.NEW__( p0_ , p1_ , p2_ , p3_ , p4_ );
END;

 

It’s not the SQL code that matters.  It’s the reason you can’t connect to the database that matters.

It may be that IFS managed services have shut you out.

Or it may be that you’re just using the wrong connection string.  That’s the kind of detail you need to supply.

Osian

If you are in the IFS managed cloud then your database is not exposed for you to connect directly.

Userlevel 3
Badge +7

It is normally better to do integrations through other more controlled means.

(A note from a R&D Developer, private methods ...XyZ__, should really only be used by that LU itself. )

 

Userlevel 5
Badge +7

I would also recommend that you use the IFS built in procedures to build you attribute strings instead of concatenating strings and escape characters. It makes your code easier to read and follows some IFS development standards.

 

For example,

Client_Sys.Clear_Attr(attr_);

Client_Sys.Add_To_Attr('MCH_CODE', ‘PH’, attr_);

Client_Sys.Add_To_Attr('CONTRACT', ‘100’, attr_);

 

Userlevel 5
Badge +9

I know you are trying to access the Oracle API’s for interfacing with IFS, but you’re probably better off looking at IFS’ web-based API’s (SOAP if pre-Apps 10, or if Apps 10, SOAP or REST) for integrating with other systems.

Userlevel 4
Badge +8

Use the .net access provider and you will be able to do this without any issues from an external program.

Reply