Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • “.BPDESCR”   BinaryPackage description
  • “.I” and “.D” files, one of each
    • Optionally: “.BII”, “.BID”, “.FB” files (one of each)  when the model have been updated in write transactions
      0 to n number of “.F” files.
  • The “.I” ,“.D” , “.BII”, “.BID”, “.FB” files will always be copied in an update operation
  • Only “.F” files updated later than corresponding “.F” file in the target model will be copied in an UPDATE operation.
  • To keep track of the updates, the BinaryPackage description file may be used to make a “update history” in the target system.

EDMbinaryPackage API

Note: Exporting/importing a BinaryPackage from an SSP requires the BinaryPackage to be located in the “EDM_SERVER_CLIENTS_FILES_PATH” directory.

Using emiRemoteExport/ImportBinaryPackage, the BinaryPackage may be located in the caller clients directory or in the EDM_SERVER_CLIENTS_FILES_PATH” directory

When the importing EDMserver system have direct access to the location of the BinaryPackage, renameFile will be used instead of copyFile. An option KEEP_BINARY_PACKAGE may be implemented in case such BinaryPackage should be used by other systems or kept for any other reasons

Code Block
languagecpp
titlesdai.h

/* options for the edmiExportBinaryPackage() and edmiExportBinaryPackage() functions */
#define START_OPTIONS
#define ALL_FILE_OBJECTS                         01000
#define NO_FILE_OBJECTS                          02000
#define BINARY_PACKAGE_ON_SERVER_FILE_SYSTEM     04000
#define DELETE_EXISTING_BINARY_PACKAGE       010000000
#define FILE_OBJECTS_NEWER_THAN              020000000
#define FILE_OBJECTS_OLDER_THAN              040000000
#define END_OPTIONS

EdmiError     _CDECL edmiExportBinaryPackage                 (SdaiModel       modelId,
                                                              SdaiString      binPackageLocation, 
                                                              SdaiString      binPackageName,
                                                              EdmiPackedDate  filesNewerThan,
                                                              EdmiPackedDate  filesOlderThan,
                                                              SdaiOptions     options);

/* Options in edmiRemoteImportBinaryPackage() function */
#define START_OPTIONS
#define DELETING_EXISTING_MODEL                   0100
#define ALL_FILE_OBJECTS                         01000
#define NO_FILE_OBJECTS                          02000
#define BINARY_PACKAGE_ON_SERVER_FILE_SYSTEM     04000
#define RENAME_IMPORTED_MODEL                010000000
#define FILE_OBJECTS_NEWER_THAN              020000000
#define FILE_OBJECTS_OLDER_THAN              040000000
#define REALLOCATE_IMPORTED_MODEL           0100000000
#define DEFINE_MISSING_ATTR_HASH_TABLES     0200000000
#define END_OPTIONS
                                   
EdmiError     _CDECL edmiImportBinaryPackage                 (SdaiString      binPackageLocation, 
                                                              SdaiString      newRepositoryName,   /* optional */
                                                              SdaiString      newModelName,        /* optional */
                                                              SdaiString      binPackageName,
                                                              EdmiPackedDate  filesNewerThan,
                                                              EdmiPackedDate  filesOlderThan,
                                                              SdaiInteger     newModelIndex,
                                                              SdaiOptions     options);

/* Options in edmiRemoteExportBinaryPackage() and function */
#define START_OPTIONS
#define ALL_FILE_OBJECTS                         01000
#define NO_FILE_OBJECTS                          02000
#define BINARY_PACKAGE_ON_SERVER_FILE_SYSTEM     04000
#define DELETE_EXISTING_BINARY_PACKAGE       010000000
#define FILE_OBJECTS_NEWER_THAN              020000000
#define FILE_OBJECTS_OLDER_THAN              040000000
#define END_OPTIONS

EdmiError   _CDECL edmiRemoteExportBinaryPackage            (SdaiServerContext          serverContextId,  
                                                             SdaiString                 repositoryName, 
                                                             SdaiString                 modelName, 
                                                             SdaiString                 binaryPackageLocation,
                                                             SdaiString                 binaryPackageName,    /* optional; default name: "EDM.dbName.MmodelIndex.RepName.ModelName.Bin" */  
                                                             EdmiPackedDate             fileObjectsNewerThan,
                                                             EdmiPackedDate             fileObjectsOlderThan, 
                                                             SdaiOptions                options,           
                                                             SdaiInvocationId          *edmiInvocationId); 
/* Options in edmiRemoteImportBinaryPackage() function */
#define START_OPTIONS
#define DELETING_EXISTING_MODEL                   0100
#define ALL_FILE_OBJECTS                         01000
#define NO_FILE_OBJECTS                          02000
#define BINARY_PACKAGE_ON_SERVER_FILE_SYSTEM     04000
#define RENAME_IMPORTED_MODEL                010000000
#define FILE_OBJECTS_NEWER_THAN              020000000
#define FILE_OBJECTS_OLDER_THAN              040000000
#define REALLOCATE_IMPORTED_MODEL           0100000000
#define DEFINE_MISSING_ATTR_HASH_TABLES     0200000000
#define END_OPTIONS

EdmiError   _CDECL edmiRemoteImportBinaryPackage            (SdaiServerContext          serverContextId,  
                                                             SdaiString                 newRepositoryName,  /* optional. Default is source repository name */
                                                             SdaiString                 newModelName,       /* optional. Default is source model name */
                                                             SdaiString                 binaryPackageLocation,
                                                             SdaiString                 binaryPackageName,    /* optional; default name: "EDM.dbName.MmodelIndex.RepName.ModelName.Bin" */  
                                                             EdmiPackedDate             fileObjectsNewerThan, /* optional */
                                                             EdmiPackedDate             fileObjectsOlderThan, /* optional */
                                                             SdaiInteger                newModelIndex,
                                                             SdaiOptions                options,           
                                                             SdaiInvocationId          *edmiInvocationId);