Solved

Rookie question

  • 30 September 2021
  • 2 replies
  • 396 views

Badge +1

Hi everyone
I am new here and I have recently started playing with IFS 9. Unfortunately, I do not have a very good introduction to the meanders of the system. Recently I found a nice thing, the possibility of using the API (for example: approval_routing_api.check_exist) when I do procedures / functions in PL SQL (SqlDeveloper).

For now, I am extracting information about the API options that I can use with the debugger and the tests in the test environment in the application.
Would you be so good at telling you where I can look for leads, or a list of API options with a description?


Thank you very much for help :)

icon

Best answer by durette 30 September 2021, 17:42

View original

This topic has been closed for comments

2 replies

Userlevel 3
Badge +6

Hi Michael, I do not think such a list with descriptions exists. you can check directly in the oracle packages with ‘view specs and body’ per package what is in there and over time you will observe some patterns, i.e. you will see that for most fields a ‘get’ function exists.

 

Hope that helps,

 

Roel

Userlevel 7
Badge +18

That’s a huge question, and there’s no way I can give a complete answer here.

The modern way of interfacing with IFS is to use web service calls. If you’re new to IFS, I recommend learning Aurena as soon as you can. This is only available in IFS Applications 10 or IFS Cloud. This provides a separation layer, and database skills become less useful than an ability to make OData RESTful calls.

 

In Apps 9, the best way to interact with the system is still through the Oracle database. (Others may disagree with me here.) My favorite tip for people learning Oracle is to start here:

SELECT * FROM dictionary;

The V$ and GV$ views are from the instance. The instance is the running process in memory.

The USER_, ALL_, and DBA_ views are from the database. The database is the collection of files on disk.

That means everything in the V$ views goes away when the database gets restarted. These are things like processes and sessions. If you’re doing business analyst or reporting work, these will be less useful to you than if you’re an IT administrator.

The USER_ views will retrieve everything owned by you. If you’re not logged in as the application owner (like IFSAPP), then you likely won’t own anything.

The DBA_ views will truly retrieve everything. It’s easy to confuse ALL_ and DBA_ because ALL_ doesn’t mean “all”. The DBA_ views will only be retrievable by administrators or certain superusers.

The ALL_ views show everything you’re allowed to see. You won’t see what you’re not allowed to see, but you’ll see what you can. These ALL_ views are probably the ones you want to try.

Selecting from this DICTIONARY view is a starting point to the big deep dive into the schema of the database. From here, you’ll learn which data dictionary views you can query to learn more about various pieces of the system:

SELECT * FROM all_views;

SELECT * FROM all_objects;

 

Inside of IFS Enterprise Explorer, you’ll want to enable the System Info on the bottom of the screen to see which API and which view you’re currently touching.

 

If you want to see package source code, something like this might help:

SELECT dbms_metadata.get_ddl('PACKAGE', 'CUSTOMER_ORDER_API', 'IFSAPP')
FROM DUAL;

You’ll also see that in ALL_SOURCE.