AX2009テーブルのlabelModuleIdからすべてのラベルを挿入したいと思います。AX2009の最後のラベルIDはどのようにして見つけることができますか?
私はこの仕事をしています。それは私が必要とするすべてのことをしています。しかし、私は、最大ID(toLabel = 1000)を入力する必要があります。
static void OcShowAllLabel(Args _args)
{
xInfo xinfo;
LanguageId currentLanguageId;
LabelModuleId labelModuleId = 'OCM'; // hier evt eine Eingabe durch Benutzer zur Auswahl
LabelIdNum frLabel;
LabelIdNum toLabel = 1000;
LabelId labelId;
OcShowAllLabels_RS tab;
Label blub = new Label();
str label;
;
xInfo = new xInfo();
currentLanguageId = xInfo.language();
delete_from tab
where tab.LanguageId == currentLanguageId
&& tab.LabelModuleId == labelModuleId;
for (frLabel = 1; frLabel <= toLabel; frLabel++)
{
labelId = strfmt('@%1%2', labelModuleId, frLabel);
label = SysLabel::labelId2String(labelId, currentLanguageId);
if (labelId != label)
{
tab.initValue();
tab.LabelId = labelId;
tab.Label = label;
tab.LanguageId = currentLanguageId;
tab.LabelModuleId = labelModuleId;
tab.insert();
}
}
Info('done');
}
1.これは一度限りの仕事ではなく、私はlabelfileを直接使用したくありません。しかし、あなたが正しいです、それは最も簡単な解決策です。 2. sysLabel.searchFirstはlabelIdではなく、ラベルを検索します。だからここでは助けにならない。 – supertobi