Application Builder

The company is about to decide for an Aplication Builder. What I am not sure about is how it works when different modules were developed by Partner companies (we are end-user with small it-team).

→ do I have then allso acces to the code (we need only reading acces - not to create or modify anything) from the Partners?

For example: Adressmanagement comes from one partner, SwissSalary NAV come from another, ‘Kassensystem’ allso from another… We had allready discussions with partners because they said “We have no acces to this and this module…” - does this mean that they only can not modify object from specific module - or they can not even read code from a specific module?

…i would be very gratefull for some directions…

just for the info- i work in Switzerland (when the problem is local specific)

Thanks,
Borut

Hopefully I explain all of this correctly.

First you need to understand the difference between Application Builder and Solution Developer granules.

From the price list explanation:

Application Builder: While Application Builder includes access to C/AL, it does not allow access to existing C/AL code that updates write-protected tables (postings for instance). Application Builder lets you create entirely new areas of functionality for your application, enabling you to tailor Microsoft Dynamics NAV to fit your entire organization.

Solution Developer: You use this granule for the same purposes as the Application Builder granule, but it also gives you access to code that updates write-protected tables.This granule gives you the access necessary to change or create any object type, and gives you access to the Merge Tool and Upgrade Tool as well as the TIF Editor. This granule also enables you to use the menu options Translate/Export and Translate/Import in the Object Designer. These options are not available with the Application Builder granule.

Hopefully I explain all of this correctly. As for your add-ons it depends on if they are add-ons registered by a partner or if they are just modifications to your system. The object ID will tell you this. Anything between 50,000 and 99,999 is just a modification. Anytime you create a new object you must put it in that range (and that range must be supported by your license). With Solution Developer you will be able to see the code for just about everything, including add-ons. You can even modify that add-on code. But you cannot add objects in the add-on number range.

Does that make sense?

  1. What is then the difference between modifications and registered add-ons - > Did you mean that i can acces only modifications?

  2. Can i create new objects (and wich ones) when we decide only for “Application Builder” (What will probably be the case)?

  3. Can i export txt file (object export) with “Application Builder”?

Thanks for your help,

Greetings,
Borut

  1. What is then the difference between modifications and registered add-ons - > Did you mean that i can acces only modifications?

Modifications are base objects that have been changed or objects with IDs between 50,000 and 99,999. You will only be able to access some base objects, but you should be able to access all objects between 50,000 and 99,999 (assuming those objects are in your allowed range in your license).

  1. Can i create new objects (and wich ones) when we decide only for “Application Builder” (What will probably be the case)?

Again, you can create new objects in the 50,000 to 99,999 range. You have to purchase object IDs from Microsoft, though. These object IDs are assigned to your license. So you can only create as many objects as you’ve paid for. IDs outside of that range are reserved for companies that provide registered add-ons to the NAV product. If your license permits you should be able to add code to those add-ons, but you will not be able to create new objects in that reserved ID range.

  1. Can i export txt file (object export) with “Application Builder”?

Yes, but again, only for the object your license gives you access to. If you haven’t purchased Manufacturing, for example, you won’t be able to export the Manufacturing objects because your license doesn’t give you read permission to them.

So, the licence is here … and i am happy that it is not exactly how you wrote it [;)] i can read quite some more objects (out of the reange you described). We have Adressmanagement, SwisS Salary NAV, LS Retail added to the standard Swis NAV version… and it works [:P] i finally have some more overwiev … just for the info …

Regards,

b

I may not have written everything exactly right. Could you share what you are able to do that I said you couldn’t?

Also, can you confirm that you only added Application Builder to your license and not Solution Developer?

Additionally, access is given to country-local object number range.

P.S. Matt - I allowed myself to edit a little bit your post hereinabove, but only formatting, as copy/pasted text was 3 pixels high & thus almost ureadable. I’ll email you how to avoid this further on…

That’s weird. I don’t remember it looking strange after I originally posted it. Thanks for making it look better [:)]

Hy Matt, its me again… [;)]

Yes, we added the Aplication Builder. I have acces to all licensed standard objects - only XML Ports not. Additionally to all - i persume - add ons objects → they are mostly out of the range 50,000…99,999 - only few in that range (very specific modifications according to our needs).

There is sth. still bothering me… when i want to modifiy (some tables were created in project phase and we don’t need them anymore actually) or create table in range 50000…50010 i get an error msg (we are running german-swis version - so don’t take it exactly word by word):

1800,“42000”,[Microsoft][ODBC SQL Server Driver][SQL Server]Cannnot find the object “KKL Test Navison5$ZW KKL Employee zeit” because it does not exist or you do not have permissions."

SQL:
ALTER TABLE “dynavtest”.“dbo”.KKL Test Navison5$ZW KKL Employee zeit" ADD “test bmi” INTEGER NOT NULL CONSTRAINT “$ndodefault$68386503$18” DEFAULT 0"

The table “ZW KKL Employee zeit” has data inside - my action was adding a field → any suggestions?

Gretings,

borut

borut !!

NEVER manipulate Navision database structure by SQL scripts or SQL management tools bypassing Navision !!! This includes dropping unused tables, too.

Such changes are not seen by Navision, you will corrupt your database!

Hy Modris,

Since i am not yet long with NAV (half a year ago i changed my job) and allso before i was never going into SQL scripting - i know enough to read SQL code and enough not to code a noncence in CAL… probably this is a good point to go a bit deeper…

Are you shure that this error has sth. to do with SQL scripting? Allso when i want to create a new table i receive a similar message.

Thanks for warning,

Greetings from Luzern

b

borut,

There is Object designer in Navision - this is the place to create new tables, modify existing, delete unused (empty them first).

If you have done already something with Tables outside ObjectDesigner – I mean directly by some SQL methods-- you ALREADY have corrupted the Navision DB.

This is one of reasons why Designer access is given away so hard by MS… mainly to Partners, who must prove qualification, before getting dangerous tools in their little dirty hands [;)]

Thanks God it’s not production base, if you are only training/exploring, restore from some earlier backup and start over again (you of course have backup, haven’t you? hehe…)

You’ll very rarely see a SQL error that didn’t come from messing around on the backend.

The only other time I have seen one was when I added a field to a production database during working hours (through NAV, not through SQL). Because the users had already cached some of the objects (but I guess not all) they would get an error about not being able to find the new field.

Guys, do you have an idea what i could do here? When there was sb. dropping a table in SQL i shouldnt have also a problem with adding a new Table in object designer - am i right? I work for an end user - this means we have external partners who made modifications on the system - and they probably don’t have to deal with error messages - since they made just recently some changes on few tables (extra fields, key modifying)…?

Greetings,

b

This is a pretty simple error, and has nothing to do with you playing in SQL.

What has heppened is that in the early days someone has created a link to an external table. If you go t designer of this table and look at table properties, look for the property “LinkedObject” it is probably set to YES, and “DataPerCompany” is probably set to YES also.

Now most likely the company “KKL Test Navison5” has long since been deleted. But Navision is still looking for it.

I think your best bet is to set the property “LinkedObject” to NO, but ONLY if you are certain that this table is not used. Even then it might not be all that easy.

Is this “real data” or is it just from earlier testing?

Either way there is a problem with how this code was written and needs to be solved.

Is that one of those things you just know because you’ve seen it before? Or is there something in the error that I’m missing? I don’t often use the LinkedObject property (one time in 4+ years).

Seen it before, many times.

Interesting about linked servers. I use them a lot. In fact my first ever real SQL implementation was based around linked tables.

Ooops just re-reading the message. It could be the opposite to what I said.

In that this is a BRAND NEW test company just created, not just deleted. Sorry.

When you see the error message:

In fact it could be something else, someone may have played with SQL, but in my experience errors like this are normally related to Linked Servers.