Hi,
In C/AL we have property for Function like below,
C/AL : Business Central CU3

AL in Visual Studio Code : Business Central CU3

Please let us know how we can use?
You don't need it, [External] is only for C/AL Functions
i have created codeunit with some procedures and published same in web services
now i have the SOAP url , But am not able to see my procedures in explorer(Refer Standard Like below screenshot).
then i was tried by publishing the standard codeunit 1544 , then am able to see functions in explorer those are having the FunctionVisibility external , so i thought it because of External property ,
that's the reason am raised question.

may be am missing something please could you help me out? how can move further.
Hello, we are experiencing issues with this as well. Our web service functions are not accessible in on premise installs of BC. This is on CU06
@srinivasGangadhara
In C/AL we have 2 attributes [External] and [Internal]. In AL, they are mapped to [Scope('Extension')] and [Scope('Internal')]. The main use of this attributes was to limit what functions from the BaseApp can be used in the Cloud i.e. in the Cloud you cannot use a function that is marked with [Internal]/[Scope('Internal')].
Starting with the Spring Release 2019, we have deprecated [Scope('Internal')] and replaced it with [Scope('OnPrem')] and we have deprecated [Scope('Extension')] and replaced with [Scope('Cloud')].
@strophanthus In the latest release, these attributes are also used to mark what functions are accessible from web services. Functions marked with [Internal] are not accessible from web services.
To make it extra fun 'External' in C/AL gets converted to [Scope('Personalization')] in AL with txt2al.
On the C/AL side the breaking change is no decorator seems to default to Internal (meaning a breaking change).
Will this also be an issue where the lack of an explicit decorator will default to Internal (causing breaking changes) instead of External (backwards compatible changes)?
In the latest version of Txt2Al [External] gets converted to nothing, because it is the default in AL, [Internal] gets converted to [Scope('OnPrem')] or [Scope('Internal')] depending on your target runtime. The latest Txt2Al will be available in a few weeks through the Docker image preview from master.
Does this mean the property will matter in BC SaaS?
Also, does this mean that the behavior for an un-decorated function exposed through a SOAP webservice to 'External' is the 'correct' behavior, and the behavior of the un-decorated function when using a FOB defaulting to internal is incorrect? (This is referring to the breaking change introduced in BC on-prem where un-decorated functions have a different default behavior than previous versions). This discrepancy is problematic for those of us that need to maintain source for .app and as a .fob.
Hi @coffeecup007 ! For web services, make sure to set the attribute Scope to External for functions created in C/SIDE. In AL, the default is External so you don't have to do anything. The defaulting is different depending on whether you write C/AL code or AL code, but it is correct in its own right.
@srinivasGangadhara
In C/AL we have 2 attributes [External] and [Internal]. In AL, they are mapped to [Scope('Extension')] and [Scope('Internal')]. The main use of this attributes was to limit what functions from the BaseApp can be used in the Cloud i.e. in the Cloud you cannot use a function that is marked with [Internal]/[Scope('Internal')].
Starting with the Spring Release 2019, we have deprecated [Scope('Internal')] and replaced it with [Scope('OnPrem')] and we have deprecated [Scope('Extension')] and replaced with [Scope('Cloud')].@strophanthus In the latest release, these attributes are also used to mark what functions are accessible from web services. Functions marked with [Internal] are not accessible from web services.
Hey @atoader
few questions regarding scope attribute:
@gintuoklis you don't need to use [Scope('Extension')] in AL, but it should work in version 1.0 and later. I will create a bug for our docs team.
Most helpful comment
Hey @atoader
few questions regarding scope attribute: