Import Label files ( ALD ) script, using SysLabelFile class


If you have to import many Label files in different languages into AX 2012, you can use the script below.
If the label file doesn’t exists, it will be created at the current level. 
This operation will overwrite any existing label different from file.

    str             path = @"C:\Program Files\Microsoft Dynamics AX\60\Server\MicrosoftDynamicsAX\bin\Application\Appl\Standard\";
    container       files = ["axXXX","axYYY"
    container       extensions = [ "en-us.ald",
                                   "zh-cn.ald" ];
    FilenameOpen    file;
    int             i;
    int             j;
    SysLabelFile    labelFile;
    for(i=1; i<=conLen(files); i++)
        for(j=1; j<=conLen(extensions); j++)
            file = path + conPeek(files, i) + conPeek(extensions, j);            
            if( WinAPI::fileExists(file)) // check file exists
                // In AX 2012 there are 2 files for chinese, so we copy(overwrite) the old file in the user desktop with the new name                 
                if( conPeek(extensions, j) == "zh-cn.ald")
                    WinAPI::copyFile(file, WinAPI::getFolderPath(#CSIDL_DESKTOP) + @"\" + conPeek(files, i) + "zh-hans.ald", true);                    
                    file = WinAPI::getFolderPath(#CSIDL_DESKTOP) + @"\" + conPeek(files, i) + "zh-hans.ald";
                // create from file
                labelFile = SysLabelFile::newFilename(file);
                warning(strFmt("File %1 not found", file));         

That's it!

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.