Skip to main content

Understanding and How to use APIs Business Central - 2

Introduction:
In my last blog post (Business Central API -1 ) on Creating API in Business Central, we discussed all the commonly used properties of the page, query, and controls like field and data-item.
In today's blog, we will be diving deeply into the validation of the data passed through the API endpoint, how it enters into the source tables and is manipulated to be inserted/modified into single or multiple tables.
Also, I will be demonstrating how APIs are to be used.

Pre-requisites:

Books & References:
  • API V1 from Business Central On-Premise DVD
  • API(V1.0) for Business Central (Click Here)
  • API(Beta) for Business Central (Click Here)

Theory:
Understanding API in Business Central
1. BINDSUBSCRIPTIONS: Use to trigger IntegrationEvent for the Codeunit stated in parameters whenever the function calling BINDSUBSCRIPTION is invoked.

2. Actions through OData API: Actions in API is basically a function called through to API to call some actions passing the current record as parameter

3. Parsing JSON strings to actual records: Parsing  JSON string is used generally where EDM is used. For Eg: While passing payment method on Customer, we pass one or more JSON arrays thus this value is passed as a parameter on the field. To convert JSON array to actual field values on the table, we parse the JSON string.

4. General functions on Validate Trigger: Whenever a data is passed on the field on any page, you can use OnValidate trigger on the field to invoke a code to perform a set of procedures. This can ideally used in creation of No. in a Number Series. Whenever we pass a record, we don't know the next No. in Number Series. Thus NAV/ BC should automatically insert the record with appropriate No.

5. Using Codeunits for achieving the functionality:
There are few Codeunits present in C/AL  which can be used to Install/Uninstall extensions through API. In Business Central Extensions you are not allowed to use such functions but are accessible through C/AL Development Environment.

Demonstration:
How to use APIs in Business Central

1. Viewing List of APIs:

List of Companies:

2. Filtering Records in API:
Text Filtering 


DateTime Filtering

3. Selecting Records in API:






Conclusion:
I think everyone agrees that to write an APIs, you've to be creative while adding or modifying the data. Thus, to sum up, we've seen the key components in  implementation of APIs in Business Central.Also, I have demonstrated how to use APIs. In my next blog, I'll be giving an example which consists of scenarios for API creation and explain the details of all the code used in this blog.

Comments

Popular posts from this blog

TIP: Working with changing Field DataTypes and Deleting fields in Business Central

Introduction:
Imagine a scenario where as per the requirements provided by your clients, you have set up the Database structure in NAV/Business Central.
Then comes a requirement in Phase 2 which completely redefines the database structure which was provided by you and you need to delete a few fields in a table and move it to another table.

Pre-requisites:
Microsoft Dynamics NAV
Microsoft Dynamics Business Central

Books & References:
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-obsoletestate-property

Solution:
1. In Microsoft Dynamics NAV, there was a flexibility to delete fields, tables, and keys and using  Force-Sync, you can directly delete the field, table, and keys from SQL Database.


2. Whereas in Microsoft Dynamics Business Central, you cannot delete the fields, keys, and tables.
In order to deploy this deleted change, you need to mention this field, table, and keys with Obsolete State Removed.


After you mention the field as…

How to actually use Profile Objects in Business Central

To 'Whomsoever This May Concern',
When I was working on a Production Deployment for one of my clients, I noticed that I could not create a Profile in Business Central Production Tenant. I was able to create new Profile in Sandbox.


Then I tried using configuration Package and modify the contents of 2000000178 Profile Table and as always configuration package blocked it.



There was no way of dealing with this other thancontacting Microsoft Support and this is the answer I get from a Support Engineer

I was on the verge to give my clients a link pointing to a specific page i.e https://businesscentral.dynamics.com/?page=50150

After being a little creative, I figured out that developing profile objects might help.

And this resolved this issue for me.




Permission Issues on Posting after deploying Extension in Business Central Production Tenant

Introduction:
Issues when you deploy your app in Business Central Production VS Business Central Sandbox. Let us what are the implications of the statement.
In my last blog () I have already pointed out the difference in Profile as to how can create new Profile in Business Central Sandbox but the same is not possible in Business Central Production.
Pre-requisite:
Microsoft Dynamics Business Central (SaaS)
Demonstration: 1. I was working with General Journals after deploying the App in Production Environment. Suddenly during posting I go this error.


2. To Verify this issue is not of Permission Set, I gave the User SUPER Permission and tried again.

I got the same error despite giving SUPER Permission. Again the same the error, so I checked the Effective Permissions.

I noticed that Table G/L Entry has an Indirect Permission. I replicated the same Production in Sandbox. But I didn’t find any issue like this.

3. Moreover, I noticed that when I uninstall the App, the Production works perfectly and …