Skip to main content

API Part 5 - Add Custom API in List.

Hi Readers,

Sorry for the delay on next article in API Series for NAV 2018. I exactly forgot about that I didn't complete this series.

Thank you all who requested for this article. Hope this article continues from that.

We already have four posts about NAV 2018 API listed below -

API Part 1

API Part 2 - Configure API

API Part 3 - Consuming API

API Part 4 - Develop a Custom API.

In this article, we will see how we can add Page External Item Entity in the API Web Service Page. After adding External Item Entity in list we will be able to consume ExtItem API Page.



Let's create a New custom Codeunit "Graph Mgt - External Item" that we will use for adding functions which are required to publish New API Page.

To Publish New Page in API, we don't need to modify any base object. Microsoft has added Required Publisher in Base NAV Code to publish new API's.

We need to subscribe to three Published Events -

Event 1 - ApiSetup.
Event 2 - OnGetPredefinedIdValue.
Event 3 - OnUpdateReferencedIdField.

We will Create Three Subscribers in New Codeunit to Subscribe above Listed Events - 

Subscriber 1 - HandleApiSetup

Event Publisher Object - Codeunit Graph Mgt - General Tools
Event Function - ApiSetup



Subscriber 2 - HandleGetPredefinedIdValue

Event Publisher Object - Codeunit Integration Management
Event Function - OnGetPredefinedIdValue



Subscriber 3 - HandleUpdateReferencedIdFieldOnItem

Event Publisher Object - Codeunit Integration Management
Event Function - OnUpdateReferencedIdField



Additionally Create a Function UpdateIntegrationRecords with one parameter like - OnlyItemsWithoutId of Type Boolean.

Let's Start adding code to these functions and subscribers.

Subscriber 1 - HandleApiSetup. 
This Subscriber will call the Newly Created Function "UpdateIntegrationRecords".

Subscriber 2 - HandleGetPredefinedIdValue
This Subscriber will check that API is already Configured in the database using Integration API action in Page API Setup.
(Discussed in Article Microsoft Dynamics NAV 2018 - API Part 2 - Configure API.)



Subscriber 3 - HandleUpdateReferencedIdFieldOnItem
This Subscriber will check and update Field ID Value if changes in the source table.



Function UpdateIntegrationRecords

This function (Which is called by First Subscriber) insert or modify Integration Record. With Record in Integration Record then it will be ready to publish as API.



Hope you find the information useful and Complete API Development.

Next article we will try to see a demo of how we add this Custom API and will try to use it.

Let me know your views.

Regards,
Saurav Dhyani
www.sauravdhyani.com

Comments

  1. Waiting for part 6! Grateful so far.

    ReplyDelete
    Replies
    1. Hi, thank you for the comment. I am no longer using BC 14, but if you are interested, I can do a series on BC API as they have changed. Please let me know.

      Delete
  2. Replies
    1. Hi please refer this YouTube playlist -
      https://www.youtube.com/playlist?list=PL2-PuYsxlF1dpqpRdHUbOtpsbrecuY1wR

      ** This series covers all regarding standard API's. Let me know if you have any questions.

      Delete

Post a Comment

Popular posts from this blog

VIEW SERVER STATE permission on SQL Server?

Hi all, Sometime While trying to Login into a database we face an error message as shown below. --------------------------- Microsoft Dynamics NAV Classic --------------------------- You cannot start Microsoft Dynamics NAV Classic because you do not have the VIEW SERVER STATE permission on SQL Server. Contact your system administrator. --------------------------- OK    ---------------------------

RTC Report It is not possible to instantiate the Visual Studio bridge.

Hi all, As a Navision developers I have Multiple Versions of Navision running in single Machine. As discussed Earlier in the post how to run multiple Version of RTC in single machine. So my machine have following details for RTC Versions - NAV 2009 R2    - is installed. NAV 2009 SP1  - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 SP1 IN\ NAV 2009         - is copied at C:\Program Files (x86)\Microsoft Dynamics NAV\60\NAV 6.0 IN\ This approach has been working great for execution of Classic and RTC Clients. However, after installing Dynamics NAV 2009 R2, if i tried to view the Layout for an NAV 2009 SP1 Report i was getting the following error: ---------------------------  Microsoft Dynamics NAV Classic  ---------------------------  It is not possible to instantiate  the Visual Studio bridge.  ---------------------------  OK    --------------------------- After searching for the error i figured out the issue was due to - Design change in NA

NAV 2013 R2 - Cumulative update 12 Released.

Hi all, Please find below the details of  Cumulative Update 12 released for Microsoft Dynamics NAV 2013 R2. Title - Cumulative Update 12 for Microsoft Dynamics NAV 2013 R2 Build No. - 38053 Release Date - October, 2014 Local Version Included - AU, AT, BE, CH, DE, DK, ES, FI, FR, IS, IT, NA, NL, NO, NZ, SE, UK, RU Download Link Note: Implementing this cumulative update will require a database conversion unless you have already implemented update rollup 5.