Sie sind auf Seite 1von 3

class XYZCustGroupImport

{
private static DMFDefinitionGroup findDMFDefinitionGroup()
{
DMFDefinitionGroup definitionGroup;

select firstonly definitionGroup


where definitionGroup.DefinitionGroupName == 'CustGroupImport'; //DMF import data project

return definitionGroup;
}

private static DMFDefinitionGroupEntity findDMFDefinitionGroupEntity(DMFDefinitionGroup _definitionGroup)


{
DMFDefinitionGroupEntity definitionGroupEntity;
DMFEntity dmfEntity;

select firstonly RecId, Entity from definitionGroupEntity exists join dmfEntity


where definitionGroupEntity.DefinitionGroup == _definitionGroup.DefinitionGroupName
&& dmfEntity.EntityName == definitionGroupEntity.Entity
&& dmfEntity.TargetEntity == dataentityviewstr(CustCustomerGroupEntity);

if (!definitionGroupEntity)
{
throw error(strFmt("@DMF:DMFNoEntityExists", _definitionGroup.DefinitionGroupName));
}

return definitionGroupEntity;
}

private static DMFLocalFilePath applyTransforms(SharedServiceUnitFileID _uploadedStatement, DMFDefinitionGroup


definitionGroup)
{
DMFDefinitionGroupEntity definitionGroupEntity =
XYZCustGroupImport::findDMFDefinitionGroupEntity(definitionGroup);
DMFExecutionId executionId = DMFUtil::setupNewExecution(definitionGroup.DefinitionGroupName);

DMFDefinitionGroupExecution execution = DMFDefinitionGroupExecution::find(


definitionGroup.DefinitionGroupName,
definitionGroupEntity.Entity,
executionId,
true);
execution.IsTransformed = NoYes::No;
DMFLocalFilePath filePath = execution.applyTransforms(_uploadedStatement);

DMFExecution e = DMFExecution::find(executionId, true);


e.delete();

return filePath;
}

/// <summary>
/// Runs the class with the specified arguments.
/// </summary>
/// <param name = "_args">The specified arguments.</param>
public static void main(Args _args)
{
SharedServiceUnitFileID fileId;

//Get the file from user


FileUploadTemporaryStorageResult result = File::GetFileFromUser() as FileUploadTemporaryStorageResult;

if (result && result.getUploadStatus())


{
fileId = result.getFileId();

DMFDefinitionGroup definitionGroup = XYZCustGroupImport::findDMFDefinitionGroup();

XYZCustGroupImport::applyTransforms(fileId, definitionGroup);

DMFDefinitionGroupEntity definitionGroupEntity =
XYZCustGroupImport::findDMFDefinitionGroupEntity(definitionGroup);
DMFExecutionId executionId = DMFUtil::setupNewExecution(definitionGroup.DefinitionGroupName);

// Find execution
DMFDefinitionGroupExecution execution = DMFDefinitionGroupExecution::find(definitionGroup.DefinitionGroupName,
definitionGroupEntity.Entity,
executionId, true);
execution.FilePath = fileId;
execution.IsTransformed = NoYes::Yes;
execution.update();

// Import the file via quick import DMF


DMFQuickImportExport::doPGImport(definitionGroup.DefinitionGroupName, executionId, true);

//deletes file
result.deleteResult();
}
}

Das könnte Ihnen auch gefallen