AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.07.2011, 22:12   #1  
Blog bot is offline
Blog bot
Участник
 
25,640 / 848 (80) +++++++
Регистрация: 28.10.2006
palleagermark: Upper- / lowercase oddity in AIF
Источник: http://palleagermark.blogspot.com/20...ty-in-aif.html
==============

Have you ever wondered why the name of batch id tag must start with a capital letter, i.e. , when using the InventDim table in an AIF service? The field in the table starts with a lowercase i.

Well, the reason is that AIF uses the names of the methods in the AX class (AxInventDim in this case) for the naming in the schema and of other artifacts it generates. On the AX class the method for this field is named “parmInventDimId”. So here the name starts with a capital letter.

Okay, that’s not really very odd and you could probably have figured this out just by making a qualified guess.

But then, why must the tag for the Serial Id start with a lower case s? The field name in the table starts with a lowercase s, and the method name is “parmInventSerialId”. So according to the logic above, the Serial Id tag should also start with an uppercase character.

This is where it gets interesting. In the \Classes\AxInternalBase\parmMethods method AX generates a list of fieldnames based on the parm methods of the AX class. The underlying class handing out the names is DictClass.
DictClass actually returns a wrong name, or at least not what you see in the AOT, for the parmInventSerialId method. It returns the name as parminventSerialId, which matches the casing of the table field and, voila, the tag can be named exactly as the table field.

Here is a job showing the names handed out by DictClass, along with the AOT names:
static void AIF(Args _args)
{
SysDictClass dc = new SysDictClass(5790);
Map methods;
MapEnumerator me;
;

methods = dc.objectMethods2ClassId(true);
me = methods.getEnumerator();

while (me.moveNext())
{
if (substr(me.currentKey(),1,strlen('parm')) == 'parm')
{
info (me.currentKey());
}
}
}



Источник: http://palleagermark.blogspot.com/20...ty-in-aif.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axinthefield: The AIF processing services used by each of the AIF adapters in AX 2009 Blog bot DAX Blogs 0 27.05.2011 05:12
ukax: Application Integration Framework (AIF) Document Services Workshop Blog bot DAX Blogs 0 24.01.2011 20:11
daxdilip: How to: Configure Dynamics AX AIF Services to listen for SSL Requests (https) Blog bot DAX Blogs 0 23.01.2011 10:12
dynamics-ax-dev: Copying a Production Environment into a Development/Test Environment Blog bot DAX Blogs 0 02.12.2010 00:11
Dianne Siebold: AIF Top Ten Blog bot DAX Blogs 1 22.04.2008 11:19

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:37.