ADL_IMPORT ​
ADL_IMPORT starts the ADL import.
Syntax ​
leo-grammar
CC "ImportExport" ADL_IMPORT fileName [ otherlib ]
ModelSettings AttrProfSettings
[ protfile:strValue ]
[ import-versioned-file ] [ appmodels ]
[ silent ] [ abort-with-mixed-libs ] .
ModelSettings : [ existing-models:ExistingTreatment ]
ModelSuboptions
[ with-mgroups ] [ target-mgroupid:idValue ]
ModelSuboptions : [ update-interrefs ]
[ delete-recordrows ]
[ delete-unchanged-objects ]
[ delete-unchanged-connectors ]
[ adopt-version-into-name ]
[ models-prefix:strValue ] [ models-suffix:strValue ]
AttrProfSettings : [ existing-attrprofs:ExistingTreatment ]
AttrProfSuboptions
[ with-apgroups ] [ target-apgroupid:idValue ]
AttrProfSuboptions : [ update-attrprofrefs ]
[ delete-attrprof-recordrows ]
[ attrprofs-prefix:strValue ] [ attrprofs-suffix:strValue ]
ExistingTreatment : overwrite | paste | rename | ignore | increase-version
#--> RESULT ecode:intValue
errtext:strValue
modelids:tokenStr
attrprofids:tokenStr .Parameters ​
<main-parameter>(strValue) - fileName, the name of the ADL file.existing-models(enumValue, optional) - if given, specifies the treatment for models that already exist in the database. Five options are possible: overwrite, paste, rename, ignore, increase-versionwith-mgroups(modifier, optional) - if given, specifies that also the modelgroup hierarchy of the ADL file should be imported.target-mgroupid(idValue, optional) - if given, specifies the target modelgroup for the imported models resp. modelgroups.update-interrefs(modifier, optional) - if given, specifies that the model interreferences within the imported model set should be updated if the names of models were changed during import.delete-recordrows(modifier, optional) - if given, specifies that within the existing-models option 'paste' existing record rows are deleted before new rows from the ADL file are inserted in an object. In all other existing-models options the argument is ignored.delete-unchanged-objects(modifier, optional) - if given, specifies that within the existing-models option 'paste' already existing objects that are not changed by the import are deleted from the model. In all other existing-models options the argument is ignored.delete-unchanged-connectors(modifier, optional) - if given, specifies that within the existing-models option 'paste' already existing connectors that are not changed by the import are deleted from the model. In all other existing-models options the argument is ignored.adopt-version-into-name(modifier, optional) - if given, specifies that the new name of the model is generated from the old one + the version numbermodels-prefix(strValue, optional) - with this option a string value can be passed for renaming all imported models using this prefix.models-suffix(strValue, optional) - with this option a string value can be passed for renaming all imported models using this suffix.existing-attrprofs(enumValue, optional) - if given, specifies the treatment for attribute profiles that already exist in the database. Five options are possible: overwrite, paste, rename, ignore, increase-version.with-apgroups(modifier, optional) - if given, specifies that also the attribute profile group hierarchy of the ADL file should be importedtarget-apgroupid(idValue, optional) - if given, specifies the target attribute profile group for the imported attribute profiles resp. attribute profile groupsupdate-attrprofrefs(modifier, optional) - if given, specifies that the attributeprofile references within the imported model set should be updated if the names of attribute profiles were changed during import.delete-attrprof-recordrows(modifier, optional) - if given, specifies that within the existing-attrprofs option 'paste' existing record rows are deleted before new rows from the ADL file are inserted in an attribute profile. In all other existing-attrprofs options this argument is ignored.attrprofs-prefix(strValue, optional) - with this option a string value can be passed for renaming all imported attribute profiles using this prefix.attrprofs-suffix(strValue, optional) - with this option a string value can be passed for renaming all imported attribute profiles using this suffix.import-versioned-file(modifier, optional) - if given, allows to import ADL files from versioned libraries and risk inconsistent data (like broken references) in special cases.appmodels(modifier, optional) - if given, performs an application model import. Note: Because the application model import does not allow any suboptions, better use ADL_IMPORT_APPMODELS instead!protfile(strValue, optional) - if given, specifies a filename for a protocol file with log messages of the ADL import.otherlib(modifier, optional) - if given, sets the option "import objects from other library".silent(modifier, optional) - if given, imports in silent mode, i.e. no user interaction is necessary. A valid target-modelgroupid must be given. A target-apgroupid must be given unless with-attrprofgroups is used.abort-with-mixed-libs(modifier, optional) - if given, importing an ADL file containing more than one libraries is aborted.
Returns ​
ecode(intValue) - specifies whether the adl file was imported successfully or not. ecode is set to 0 if the import worked, to 1 if not.errtext(strValue) - contains an error text that could be displayed (in the case ecode = 1).modelids(tokenStr) - is set to a list of the model ids that have been imported. The modelids are separated by spaces (" ").attrprofids(tokenStr) - is set to a list of the attribute profile ids that have been imported. The attrprofids are separated by spaces (" ").
Details ​
If the argument silent is given, and the ADL file contains models or modelgroups also a target-modelgroupid has to be specified. If the ADL file contains attributeprofiles, additionally a target-attrprofgroupid has to be specified. Otherwise the import will yield an error.
See Also ​
ADL_EXPORT
ADL_IMPORT_APPMODELS
Examples ​
asc
CC "AdoScript" FILE_DIALOG open filter1:"ADL Filesss" type1:"**.adl"
IF (endbutton != "ok") {
EXIT
}
CC "AdoScript" GET_TEMP_FILENAME
CC "ImportExport" ADL_IMPORT (path) otherlib
existing-models:overwrite protfile:(filename)
models-prefix:">" models-suffix:"<"
attrprofs-prefix:">" attrprofs-suffix:"<"
update-interrefs update-attrprofrefs
IF (ecode = 0) {
CC "AdoScript" FREAD file:(filename)
CC "AdoScript" VIEWBOX text:(text)
}At first, the file dialog is shown and the user selects an ADL file. At next, a temporary filename is retrieved. After that, the selected file is imported with mode "overwrite" and with full renaming plus reference updating. A protocol is written to the temporary file. If the import was successful, the content of the protocol file is displayed.
Versions and Changes ​
Available since ADOxx 1.3