Professional Documents
Culture Documents
{
LedgerJournalTrans ledgerJournalTrans;
bankAccountTrans bankAccountTrans ;
VendTrans VendTrans;
CustTrans CustTrans;
bankAccountTable bankAccoffountTable;
Voucher voucher;
DimensionStorage dimensionStorageMain;
DimensionAttribute deparmentDimensionAttributeMain;
DimensionAttributeValue newDepartmentValueMain;
DimensionStorage dimensionStorageOffset;
DimensionAttribute deparmentDimensionAttributeOffset;
DimensionAttributeValue newDepartmentValueOffset;
MainAccount mainAccount;
DimensionHierarchy hierarchy;
DimensionAttributeValueSetStorage storage = new
DimensionAttributeValueSetStorage();
DimensionDefault dimDef;
DimensionAttributeValue dimAttrValue;
DimensionAttribute dimAttr;
DimensionAttributeValueSetStorage davss;
DimensionAttributeLevelValueView valueView;
DimensionAttribute attribute;
;
ttsBegin;
{
bankAccoff =
DimensionAttributeValueCombination::find(ledgerJournalTrans.OffsetLedgerDimension).
DisplayValue;
bankAccMain =
DimensionAttributeValueCombination::find(ledgerJournalTrans.LedgerDimension).Displa
yValue;
voucher = bankAccountTrans.Voucher;
voucher = VendTrans.Voucher;
voucher = CustTrans.Voucher;
if(ledgerJournalTrans.OffsetAccountType == LedgerJournalACType::Bank)
{
ledgerJournalTrans.OffsetDefaultDimension =
bankAccountTable::find(bankAccoff).DefaultDimension;
ledgerJournalTrans.DefaultDimension =
bankAccountTable::find(bankAccoff).DefaultDimension;
ledgerJournalTrans.update();
//
if(VendTrans)
{
VendTrans.selectForUpdate(true);
VendTrans.DefaultDimension = ledgerJournalTrans.DefaultDimension;
VendTrans.update();
}
if(bankAccountTrans)
{
bankAccountTrans.selectForUpdate(true);
bankAccountTrans.DefaultDimension =
ledgerJournalTrans.DefaultDimension;
bankAccountTrans.update();
}
if(CustTrans)
{
CustTrans.selectForUpdate(true);
CustTrans.DefaultDimension = ledgerJournalTrans.DefaultDimension;
CustTrans.update();
}
while select GeneralJournalEntry
where GeneralJournalEntry.SubledgerVoucher ==
ledgerJournalTrans.Voucher
join generalJournalAccountEntry
where generalJournalAccountEntry.GeneralJournalEntry ==
GeneralJournalEntry.recid
outer join subledgerJournalAccountEntry
where subledgerJournalAccountEntry.GeneralJournalAccountEntry ==
generalJournalAccountEntry.RecId
{
mainAccount =
MainAccount::findByMainAccountId(MainAccount::findByLedgerDimension(generalJournalA
ccountEntry.LedgerDimension).MainAccountId);
hierarchy = DimensionHierarchy::findByTypeAndName(
DimensionHierarchyType::AccountStructure, 'YMSLI');
attribute = DimensionAttribute::findByName('Department');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
ledgerJournalTrans.OffsetLedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Department'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('BusinessUnit');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
ledgerJournalTrans.OffsetLedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('BusinessUnit'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('CostCenter');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
ledgerJournalTrans.OffsetLedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('CostCenter'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Location');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
ledgerJournalTrans.OffsetLedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Location'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Region');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
ledgerJournalTrans.OffsetLedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Region'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Project');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
ledgerJournalTrans.OffsetLedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Project'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Worker');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
ledgerJournalTrans.OffsetLedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Worker'),
valueView.DisplayValue));
generalJournalAccountEntry.LedgerDimension =
DimensionDefaultingEngine::getLedgerDimensionFromAccountAndDim(
mainAccount.RecId, hierarchy.RecId, storage.save());
generalJournalAccountEntry.LedgerAccount =
DimensionAttributeValueCombination::find(generalJournalAccountEntry.LedgerDimension
).DisplayValue;
generalJournalAccountEntry.selectForUpdate(true);
generalJournalAccountEntry.update();
//storage.addItemDisplayValue(DimensionAttributeValueCombination::find(generalJourn
alAccountEntry.LedgerDimension).DisplayValue);
if(bankAccoff == "B101")
{
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('BusinessUnit'),
"00000061"));
}
/* else
{
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('BusinessUnit'),
"00000002"));
}*/
attribute = DimensionAttribute::findByName('Department');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Department'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('BusinessUnit');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('BusinessUnit'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('CostCenter');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('CostCenter'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Location');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Location'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Region');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Region'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Project');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Project'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Worker');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Worker'),
valueView.DisplayValue));
generalJournalAccountEntry.LedgerDimension =
DimensionDefaultingEngine::getLedgerDimensionFromAccountAndDim(
mainAccount.RecId, hierarchy.RecId, storage.save());
generalJournalAccountEntry.LedgerAccount =
DimensionAttributeValueCombination::find(generalJournalAccountEntry.LedgerDimension
).DisplayValue;
generalJournalAccountEntry.selectForUpdate(true);
generalJournalAccountEntry.update();
}
info(strFmt("%1",ledgerJournalTrans.voucher));
}
if(ledgerJournalTrans.AccountType == LedgerJournalACType::Bank)
{
ledgerJournalTrans.DefaultDimension =
bankAccountTable::find(bankAccMain).DefaultDimension;
ledgerJournalTrans.offsetDefaultDimension =
bankAccountTable::find(bankAccMain).DefaultDimension;
ledgerJournalTrans.update();
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('BusinessUnit'),
"00000061"));
}
/*else
{
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('BusinessUnit'),
"00000002"));
}*/
attribute = DimensionAttribute::findByName('Department');
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Department'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('CostCenter');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('CostCenter'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Location');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Location'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Region');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Region'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Project');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Project'),
valueView.DisplayValue));
attribute = DimensionAttribute::findByName('Worker');
select DisplayValue from valueView
where valueView.ValueCombinationRecId ==
generalJournalAccountEntry.LedgerDimension
&& valueView.DimensionAttribute == attribute.RecId;
if(valueView)
storage.addItem(DimensionAttributeValue::findByDimensionAttributeAndValue(
DimensionAttribute::findByName('Worker'),
valueView.DisplayValue));
generalJournalAccountEntry.LedgerDimension =
DimensionDefaultingEngine::getLedgerDimensionFromAccountAndDim(
mainAccount.RecId, hierarchy.RecId, storage.save());
generalJournalAccountEntry.LedgerAccount =
DimensionAttributeValueCombination::find(generalJournalAccountEntry.LedgerDimension
).DisplayValue;
generalJournalAccountEntry.selectForUpdate(true);
generalJournalAccountEntry.update();
}
if(VendTrans)
{
VendTrans.selectForUpdate(true);
VendTrans.DefaultDimension = ledgerJournalTrans.DefaultDimension;
VendTrans.update();
}
if(bankAccountTrans)
{
bankAccountTrans.selectForUpdate(true);
bankAccountTrans.DefaultDimension =
ledgerJournalTrans.DefaultDimension;
bankAccountTrans.update();
}
if(CustTrans)
{
CustTrans.selectForUpdate(true);
CustTrans.DefaultDimension = ledgerJournalTrans.DefaultDimension;
CustTrans.update();
}
info(strFmt("%1",ledgerJournalTrans.voucher));
}
}
ttsCommit;