Exportfile for AOT version 1.0 or later
Formatversion: 1
***Element: CLS
; Microsoft Dynamics AX Class: AKACOAExportToHyperion unloaded
; --------------------------------------------------------------------------------
CLSVERSION 1
CLASS #AKACOAExportToHyperion
Id 51542
PROPERTIES
Name #AKACOAExportToHyperion
Extends #RunBaseBatch
RunOn #Called from
ENDPROPERTIES
METHODS
Version: 3
SOURCE #caption
#public ClassDescription caption()
#{
# return "@AKA64";
#}
ENDSOURCE
SOURCE #classDeclaration
#abstract class AKACOAExportToHyperion extends RunBaseBatch
#{
#
# FilenameSave fileName;
# FromDate fromDate;
# ToDate toDate;
#
#
# DialogField dialogFilename;
# DialogField dialogFromDate;
# DialogField dialogToDate;
#
# FilenameFilter filenameFilter;
#
# CommaIo commaIO;
#
# RunbaseProgress importProgress;
#
# Counter lineCounter;
#
# SysQueryRun queryrun;
# Query query;
#
# LedgerTrans ledgerTrans;
# LedgerTable ledgerTable;
#
#
#
# #AviFiles
# #File
# #DEFINE.CurrentVersion(2)
# #LOCALMACRO.CurrentList
# filename,
# fromDate,
# toDate
# #ENDMACRO
#
# }
ENDSOURCE
SOURCE #constructProgress
#//to show the Progressbar
#public RunBaseProgress constructProgress()
#{
# importProgress = RunbaseProgress::construct(this.numOfProgressBars());
# importProgress.setAnimation(#AviTransfer);
# importProgress.setCaption((strfmt("@SYS79623",fileName)));
# return importProgress;
#}
ENDSOURCE
SOURCE #dialog
#protected Object dialog()
#{
# DialogRunBase dialog;
# Container filterCriteria;
# ;
#
# dialog = super();
#
# dialog.addGroup("@SYS14598");
# dialogFromDate = dialog.addFieldValue(typeid(FromDate),fromDate);
# dialogToDate = dialog.addFieldValue(typeid(ToDate),toDate);
#
# dialog.addGroup("@SYS65209");
# filterCriteria = ["@SYS39829",'*.csv'];
#
# dialogFilename = dialog.addFieldValue(typeid(FilenameSave),fileName);
# filenameFilter = dialog.filenameLookupFilter(filterCriteria);
#
#
#
#
# return dialog;
#}
ENDSOURCE
SOURCE #field2Container
#protected container field2Container()
#{
#
# return [LedgerTable.dataAreaId,
# ledgerTrans.Dimension[1],
# LedgerTable.AccountNum,
# SystemDateGet(),
# ledgerTrans.Dimension[2],
# ledgerTrans.Dimension[3],
# ledgerTrans.AmountMST];
#
#
#}
ENDSOURCE
SOURCE #filename
#public FilenameSave filename(FileNameSave _fileName)
#{
# ;
# fileName = _fileName;
#
# return filename;
#}
ENDSOURCE
SOURCE #getFromDialog
#public boolean getFromDialog()
#{
# boolean ret;
#
# ret = super();
#
# fileName = dialogFilename.value();
# fromDate = dialogFromDate.value();
# toDate = dialogToDate.value();
#
#
# return ret;
#}
ENDSOURCE
SOURCE #getHeader
#public container getHeader()
#{
# #define.Entity('Entity')
# #define.Product('Product')
# #define.Date('Date')
# #define.GLAccount('GL Account')
# #define.Region('Region')
# #define.Project('Project')
# #define.Amount('Amount')
# container ret;
# int counter;
#
# void addField(str _header)
# {
# ;
# counter++;
# ret = conins(ret, conlen(ret) + 1, _header);
# }
# ;
# counter = 0;
# ret = connull();
#
# addField(#Entity);
# addField(#Product);
# addField(#Date);
# addField(#GLAccount);
# addField(#Region);
# addField(#Project);
# addField(#Amount);
#
#
# return ret;
#}
ENDSOURCE
SOURCE #getLast
#public void getLast()
#{
# super();
#
# if (!WinAPI::showMruAllowed())
# {
# fileName = '';
# }
#}
ENDSOURCE
SOURCE #initializeFile
#// Permissions needed:
#// FileIOPermission('fileName','w')
#public void initializeFile()
#{
# #define.writeMode('W')
#
# FileIOPermission permission;
# ;
#
# permission = new FileIOPermission(filename, #writeMode);
# permission.assert();
#
# // BP deviation documented
# commaIO = new CommaIO(fileName,#writeMode);
#
# if (!commaIO)
# throw error("@SYS26757" + "@DTE2357");
#
# CodeAccessPermission::revertAssert();
#}
ENDSOURCE
SOURCE #initParmDefault
#public void initParmDefault()
#{
# this.initQuery();
#
# super();
#}
ENDSOURCE
SOURCE #initQuery
#public void initQuery()
#{
#
# QueryBuildDataSource qBds1;
# QueryBuildDataSource qBds2;
# ;
#
# query = new Query();
# qBds1 = query.addDataSource(tablenum(LedgerTrans));
# qBds1.addRange(fieldnum(LedgerTrans, TransDate)).value(SysQuery::range(fromDate, ToDate));
# // Don't count system generated ultimo transactions
# qBds1.addRange(FieldId2Ext(fieldnum(LedgerTrans, Dimension),1));
# // qBds1.addRange(FieldId2Ext(fieldnum(LedgerTrans, Dimension),3));
# // qBds1.addRange(FieldId2Ext(fieldnum(LedgerTrans, Dimension),4));
# qBds1.orderMode(OrderMode::GroupBy);
#
# qBds2 = qBds1.addDataSource(tablenum(LedgerTable));
# qBds2.addRange(fieldnum(LedgerTable, AccountPlType)).value(enum2Str(LedgerAccountType::AccountOperations));
# qBds2.addLink(fieldnum(LedgerTrans, AccountNum), fieldnum(LedgerTable, AccountNum));
# // qBds2.fetchMode(QueryFetchMode::One2One);
# qBds2.joinMode(JoinMode::InnerJoin);
#
# qBds1.addSelectionField(fieldnum(LedgerTrans, AmountMST), SelectionField::Sum);
# // qBds1.addSelectionField(fieldnum(LedgerTrans, AmountCur), SelectionField::Sum);
# //qBds1.addSelectionField(fieldnum(LedgerTrans, AmountMSTSecond), SelectionField::Sum);
# //qBds1.addSelectionField(fieldnum(LedgerTrans, Qty), SelectionField::Sum);
#
# qBds1.addSortField(fieldnum(LedgerTrans, AccountNum));
# query.allowCrossCompany(True);
# // qBds1.addSortField(fieldnum(LedgerTrans, OperationsTax));
# //qBds1.addSortField(fieldnum(LedgerTrans, CurrencyCode));
# //qBds1.addSortField(fieldnum(LedgerTrans, euroTriangulation));
# queryRun = new SysQueryRun(query);
#
#}
ENDSOURCE
SOURCE #lineCounter
#public Counter lineCounter(Counter _lineCounter = lineCounter)
#{
# lineCounter = _lineCounter;
#
# return lineCounter;
#}
#
ENDSOURCE
SOURCE #numOfProgressBars
#public int numOfProgressBars()
#{
# return 1;
#}
ENDSOURCE
SOURCE #pack
#public container pack()
#{
# ;
# return [#CurrentVersion,#CurrentList];
#}
ENDSOURCE
SOURCE #queryRun
#public QueryRun queryRun()
#{
# return queryRun;
#}
ENDSOURCE
SOURCE #recordCounter
#public Counter recordCounter()
#{
# return SysQuery::countTotal(queryRun);
#}
ENDSOURCE
SOURCE #run
#public void run()
#{
# if (! this.validate())
# throw error("@DTE2365");
# try
# {
# ttsbegin;
# this.initQuery();
# this.writeTable2File();
#
# ttscommit;
# }
# catch (Exception::Deadlock)
# {
# retry;
# }
#}
#
ENDSOURCE
SOURCE #showQueryValues
#public boolean showQueryValues()
#{
# return true;
#}
ENDSOURCE
SOURCE #unpack
#public boolean unpack(container packedClass)
#{
# Version version = runbase::getVersion(packedClass);
# container queryCon;
# ;
# switch (version)
# {
# case #CurrentVersion:
# [version,#CurrentList ] = packedClass;
#
# break;
# default:
# return false;
# }
#
# return true;
#
# }
#
#
ENDSOURCE
SOURCE #validate
#public boolean validate()
#{
# boolean ret = true;
# Container checkType;
#
# if (! filename)
# {
# ret = checkFailed("@SYS18624");
# }
#
# checkType = Docu::splitFilename(filename);
#
# if(Conpeek(checkType,2) != 'csv')
# {
# ret = checkFailed("@SYS18624");
# }
#
# if(!LedgerPeriod::existEndDate(toDate))
# {
# ret = checkFailed("@SYS18624");
# }
#
# if(!LedgerPeriod::existDate(fromDate))
# {
# ret = checkFailed("@SYS18624");
# }
# return ret;
#}
ENDSOURCE
SOURCE #writeTable2File
#public void writeTable2File()
#{
#
# int noOfRecords;
# SysOperationProgress sysOperationProgress = new SysOperationProgress(1);
#
# #AviFiles
# Container c = ['cec','CEE', 'CEU','FB', 'CHU']
# ;
#
#
# startLengthyOperation();
# setprefix("@DTE2355");
# sysOperationProgress.setAnimation(#AviTransfer);
# sysOperationProgress.setCaption(this.caption());
# sysOperationProgress.setTotal( SysQuery::countTotal(queryRun));
#
# noOfRecords = 0;
#
# commaIO.writeExp(this.getHeader());
#
# While select crossCompany:c ledgerTable
# where ledgerTable.AccountPlType == LedgerAccountType::AccountOperations
#
# {
#
# changecompany(ledgerTable.dataAreaId)
# {
# while select crossCompany:c sum(amountMst),dimension[1], dimension[2], dimension[3] from ledgerTrans
# group by accountNum, dimension[1], dimension[2], dimension[3]
# where ledgerTrans.TransDate >= fromDate
# && ledgerTrans.TransDate <= toDate
# && ledgerTrans.AccountNum== ledgerTable.AccountNum
#{
# //}
#
# //while(queryRun.next())
# // {
#
# // {
# // ledgerTrans = queryRun.getNo(1);
# commaIO.writeExp(this.field2Container());
# sysOperationProgress.setText(strfmt("@DTE2353",tableid2pname(tableNum(InventTable)),fileName));
# sysOperationProgress.setCount(noOfRecords);
# noOfRecords++;
# setprefix(tableid2pname(tableNum(LedgerTrans)));
# }
# }
# }
#
# endLengthyOperation();
# info(strfmt("@DTE2354", noOfRecords, filename));
#
#}
ENDSOURCE
SOURCE #construct
#public Static Object construct(ClassId classId)
#{
# DictClass dictClass;
# Object action;
# ;
#
# if (! classId)
# {
# throw error(strFmt("@SYS59121"));
# }
#
#
# dictClass = new DictClass(classId);
# action = dictClass.makeObject();
#
# return action;
#}
ENDSOURCE
SOURCE #description
#// Here goes a description of the class
#public static ClassDescription description()
#{
# throw error(Error::missingOverload(funcname()));
#}
ENDSOURCE
SOURCE #main
#static void main(Args args)
#{
# AKACOAExportToHyperion exportToHyperion ;
#;
# exportToHyperion = AKACOAExportToHyperion::construct(classIdget(exportToHyperion));
#
# if (exportToHyperion.prompt())
# {
# exportToHyperion.initializeFile();
# exportToHyperion.run();
# }
#
#
#}
#
ENDSOURCE
ENDMETHODS
ENDCLASS
***Element: END
Formatversion: 1
***Element: CLS
; Microsoft Dynamics AX Class: AKACOAExportToHyperion unloaded
; --------------------------------------------------------------------------------
CLSVERSION 1
CLASS #AKACOAExportToHyperion
Id 51542
PROPERTIES
Name #AKACOAExportToHyperion
Extends #RunBaseBatch
RunOn #Called from
ENDPROPERTIES
METHODS
Version: 3
SOURCE #caption
#public ClassDescription caption()
#{
# return "@AKA64";
#}
ENDSOURCE
SOURCE #classDeclaration
#abstract class AKACOAExportToHyperion extends RunBaseBatch
#{
#
# FilenameSave fileName;
# FromDate fromDate;
# ToDate toDate;
#
#
# DialogField dialogFilename;
# DialogField dialogFromDate;
# DialogField dialogToDate;
#
# FilenameFilter filenameFilter;
#
# CommaIo commaIO;
#
# RunbaseProgress importProgress;
#
# Counter lineCounter;
#
# SysQueryRun queryrun;
# Query query;
#
# LedgerTrans ledgerTrans;
# LedgerTable ledgerTable;
#
#
#
# #AviFiles
# #File
# #DEFINE.CurrentVersion(2)
# #LOCALMACRO.CurrentList
# filename,
# fromDate,
# toDate
# #ENDMACRO
#
# }
ENDSOURCE
SOURCE #constructProgress
#//to show the Progressbar
#public RunBaseProgress constructProgress()
#{
# importProgress = RunbaseProgress::construct(this.numOfProgressBars());
# importProgress.setAnimation(#AviTransfer);
# importProgress.setCaption((strfmt("@SYS79623",fileName)));
# return importProgress;
#}
ENDSOURCE
SOURCE #dialog
#protected Object dialog()
#{
# DialogRunBase dialog;
# Container filterCriteria;
# ;
#
# dialog = super();
#
# dialog.addGroup("@SYS14598");
# dialogFromDate = dialog.addFieldValue(typeid(FromDate),fromDate);
# dialogToDate = dialog.addFieldValue(typeid(ToDate),toDate);
#
# dialog.addGroup("@SYS65209");
# filterCriteria = ["@SYS39829",'*.csv'];
#
# dialogFilename = dialog.addFieldValue(typeid(FilenameSave),fileName);
# filenameFilter = dialog.filenameLookupFilter(filterCriteria);
#
#
#
#
# return dialog;
#}
ENDSOURCE
SOURCE #field2Container
#protected container field2Container()
#{
#
# return [LedgerTable.dataAreaId,
# ledgerTrans.Dimension[1],
# LedgerTable.AccountNum,
# SystemDateGet(),
# ledgerTrans.Dimension[2],
# ledgerTrans.Dimension[3],
# ledgerTrans.AmountMST];
#
#
#}
ENDSOURCE
SOURCE #filename
#public FilenameSave filename(FileNameSave _fileName)
#{
# ;
# fileName = _fileName;
#
# return filename;
#}
ENDSOURCE
SOURCE #getFromDialog
#public boolean getFromDialog()
#{
# boolean ret;
#
# ret = super();
#
# fileName = dialogFilename.value();
# fromDate = dialogFromDate.value();
# toDate = dialogToDate.value();
#
#
# return ret;
#}
ENDSOURCE
SOURCE #getHeader
#public container getHeader()
#{
# #define.Entity('Entity')
# #define.Product('Product')
# #define.Date('Date')
# #define.GLAccount('GL Account')
# #define.Region('Region')
# #define.Project('Project')
# #define.Amount('Amount')
# container ret;
# int counter;
#
# void addField(str _header)
# {
# ;
# counter++;
# ret = conins(ret, conlen(ret) + 1, _header);
# }
# ;
# counter = 0;
# ret = connull();
#
# addField(#Entity);
# addField(#Product);
# addField(#Date);
# addField(#GLAccount);
# addField(#Region);
# addField(#Project);
# addField(#Amount);
#
#
# return ret;
#}
ENDSOURCE
SOURCE #getLast
#public void getLast()
#{
# super();
#
# if (!WinAPI::showMruAllowed())
# {
# fileName = '';
# }
#}
ENDSOURCE
SOURCE #initializeFile
#// Permissions needed:
#// FileIOPermission('fileName','w')
#public void initializeFile()
#{
# #define.writeMode('W')
#
# FileIOPermission permission;
# ;
#
# permission = new FileIOPermission(filename, #writeMode);
# permission.assert();
#
# // BP deviation documented
# commaIO = new CommaIO(fileName,#writeMode);
#
# if (!commaIO)
# throw error("@SYS26757" + "@DTE2357");
#
# CodeAccessPermission::revertAssert();
#}
ENDSOURCE
SOURCE #initParmDefault
#public void initParmDefault()
#{
# this.initQuery();
#
# super();
#}
ENDSOURCE
SOURCE #initQuery
#public void initQuery()
#{
#
# QueryBuildDataSource qBds1;
# QueryBuildDataSource qBds2;
# ;
#
# query = new Query();
# qBds1 = query.addDataSource(tablenum(LedgerTrans));
# qBds1.addRange(fieldnum(LedgerTrans, TransDate)).value(SysQuery::range(fromDate, ToDate));
# // Don't count system generated ultimo transactions
# qBds1.addRange(FieldId2Ext(fieldnum(LedgerTrans, Dimension),1));
# // qBds1.addRange(FieldId2Ext(fieldnum(LedgerTrans, Dimension),3));
# // qBds1.addRange(FieldId2Ext(fieldnum(LedgerTrans, Dimension),4));
# qBds1.orderMode(OrderMode::GroupBy);
#
# qBds2 = qBds1.addDataSource(tablenum(LedgerTable));
# qBds2.addRange(fieldnum(LedgerTable, AccountPlType)).value(enum2Str(LedgerAccountType::AccountOperations));
# qBds2.addLink(fieldnum(LedgerTrans, AccountNum), fieldnum(LedgerTable, AccountNum));
# // qBds2.fetchMode(QueryFetchMode::One2One);
# qBds2.joinMode(JoinMode::InnerJoin);
#
# qBds1.addSelectionField(fieldnum(LedgerTrans, AmountMST), SelectionField::Sum);
# // qBds1.addSelectionField(fieldnum(LedgerTrans, AmountCur), SelectionField::Sum);
# //qBds1.addSelectionField(fieldnum(LedgerTrans, AmountMSTSecond), SelectionField::Sum);
# //qBds1.addSelectionField(fieldnum(LedgerTrans, Qty), SelectionField::Sum);
#
# qBds1.addSortField(fieldnum(LedgerTrans, AccountNum));
# query.allowCrossCompany(True);
# // qBds1.addSortField(fieldnum(LedgerTrans, OperationsTax));
# //qBds1.addSortField(fieldnum(LedgerTrans, CurrencyCode));
# //qBds1.addSortField(fieldnum(LedgerTrans, euroTriangulation));
# queryRun = new SysQueryRun(query);
#
#}
ENDSOURCE
SOURCE #lineCounter
#public Counter lineCounter(Counter _lineCounter = lineCounter)
#{
# lineCounter = _lineCounter;
#
# return lineCounter;
#}
#
ENDSOURCE
SOURCE #numOfProgressBars
#public int numOfProgressBars()
#{
# return 1;
#}
ENDSOURCE
SOURCE #pack
#public container pack()
#{
# ;
# return [#CurrentVersion,#CurrentList];
#}
ENDSOURCE
SOURCE #queryRun
#public QueryRun queryRun()
#{
# return queryRun;
#}
ENDSOURCE
SOURCE #recordCounter
#public Counter recordCounter()
#{
# return SysQuery::countTotal(queryRun);
#}
ENDSOURCE
SOURCE #run
#public void run()
#{
# if (! this.validate())
# throw error("@DTE2365");
# try
# {
# ttsbegin;
# this.initQuery();
# this.writeTable2File();
#
# ttscommit;
# }
# catch (Exception::Deadlock)
# {
# retry;
# }
#}
#
ENDSOURCE
SOURCE #showQueryValues
#public boolean showQueryValues()
#{
# return true;
#}
ENDSOURCE
SOURCE #unpack
#public boolean unpack(container packedClass)
#{
# Version version = runbase::getVersion(packedClass);
# container queryCon;
# ;
# switch (version)
# {
# case #CurrentVersion:
# [version,#CurrentList ] = packedClass;
#
# break;
# default:
# return false;
# }
#
# return true;
#
# }
#
#
ENDSOURCE
SOURCE #validate
#public boolean validate()
#{
# boolean ret = true;
# Container checkType;
#
# if (! filename)
# {
# ret = checkFailed("@SYS18624");
# }
#
# checkType = Docu::splitFilename(filename);
#
# if(Conpeek(checkType,2) != 'csv')
# {
# ret = checkFailed("@SYS18624");
# }
#
# if(!LedgerPeriod::existEndDate(toDate))
# {
# ret = checkFailed("@SYS18624");
# }
#
# if(!LedgerPeriod::existDate(fromDate))
# {
# ret = checkFailed("@SYS18624");
# }
# return ret;
#}
ENDSOURCE
SOURCE #writeTable2File
#public void writeTable2File()
#{
#
# int noOfRecords;
# SysOperationProgress sysOperationProgress = new SysOperationProgress(1);
#
# #AviFiles
# Container c = ['cec','CEE', 'CEU','FB', 'CHU']
# ;
#
#
# startLengthyOperation();
# setprefix("@DTE2355");
# sysOperationProgress.setAnimation(#AviTransfer);
# sysOperationProgress.setCaption(this.caption());
# sysOperationProgress.setTotal( SysQuery::countTotal(queryRun));
#
# noOfRecords = 0;
#
# commaIO.writeExp(this.getHeader());
#
# While select crossCompany:c ledgerTable
# where ledgerTable.AccountPlType == LedgerAccountType::AccountOperations
#
# {
#
# changecompany(ledgerTable.dataAreaId)
# {
# while select crossCompany:c sum(amountMst),dimension[1], dimension[2], dimension[3] from ledgerTrans
# group by accountNum, dimension[1], dimension[2], dimension[3]
# where ledgerTrans.TransDate >= fromDate
# && ledgerTrans.TransDate <= toDate
# && ledgerTrans.AccountNum== ledgerTable.AccountNum
#{
# //}
#
# //while(queryRun.next())
# // {
#
# // {
# // ledgerTrans = queryRun.getNo(1);
# commaIO.writeExp(this.field2Container());
# sysOperationProgress.setText(strfmt("@DTE2353",tableid2pname(tableNum(InventTable)),fileName));
# sysOperationProgress.setCount(noOfRecords);
# noOfRecords++;
# setprefix(tableid2pname(tableNum(LedgerTrans)));
# }
# }
# }
#
# endLengthyOperation();
# info(strfmt("@DTE2354", noOfRecords, filename));
#
#}
ENDSOURCE
SOURCE #construct
#public Static Object construct(ClassId classId)
#{
# DictClass dictClass;
# Object action;
# ;
#
# if (! classId)
# {
# throw error(strFmt("@SYS59121"));
# }
#
#
# dictClass = new DictClass(classId);
# action = dictClass.makeObject();
#
# return action;
#}
ENDSOURCE
SOURCE #description
#// Here goes a description of the class
#public static ClassDescription description()
#{
# throw error(Error::missingOverload(funcname()));
#}
ENDSOURCE
SOURCE #main
#static void main(Args args)
#{
# AKACOAExportToHyperion exportToHyperion ;
#;
# exportToHyperion = AKACOAExportToHyperion::construct(classIdget(exportToHyperion));
#
# if (exportToHyperion.prompt())
# {
# exportToHyperion.initializeFile();
# exportToHyperion.run();
# }
#
#
#}
#
ENDSOURCE
ENDMETHODS
ENDCLASS
***Element: END