To display mainacc and posting profile account in General ledger
To display
mainaccount(10037-COM-ADMIN-G-CR 3…CRANE-Iran) and Accountnumber(10037) of Ledger
Customeraccount(CUST0009) and posting profile of Customer(10501) of Customer Vendoraccount(F0003) and posting profile of vendor(20201) of Vendor
BankAccounnt(Loan) and posting profile of Bank(10023) of Bank
Fixed assets(COMHRD-00006) and posting profile of Fixed assets(12410) of Fixed assets
display str 20 mainAccDisplay()
{
Name nameFind;
MainAccountNum mainaccountdisplay;
switch(this.AccountType)
{
case LedgerJournalACType::Cust :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
case LedgerJournalACType::Vend :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
case LedgerJournalACType::Bank :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
case LedgerJournalACType::FixedAssets :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
case LedgerJournalACType::Ledger :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
}
return mainaccountdisplay;
}
-------------------------
public MainAccountNum mainAccFind(LedgerJournalACType _accountType,DimensionDynamicAccount _dimensionDynamicAccount)
{
DimensionAttributeValueCombination ledgerDimension,ledgerDimensionmainacc;
CustTable custtable;
VendTable vendTable;
AssetTable assetTable;
CustLedgerAccounts custledgeraccounts;
VendLedgerAccounts vendledgeraccounts;
AssetLedgerAccounts assetledgeraccounts;
MainAccount mainaccount;
MainAccountNum mainaccountnum;
VendParameters vendParameters;
CustParameters custParameters;
AssetParameters assetParameters;
select ledgerDimension where ledgerDimension.RecId == _dimensionDynamicAccount;
if(_dimensionDynamicAccount != 0)
{
switch(_accountType)
{
case LedgerJournalACType::Cust:
//customer posting profile - start
select custParameters;
select custtable where custtable.AccountNum == ledgerDimension.DisplayValue;
while select custledgeraccounts
where custledgeraccounts.PostingProfile == CustLedger::find(custParameters.PostingProfile).PostingProfile
{
if(custledgeraccounts.AccountCode == TableGroupAll::Table)
{
if(custledgeraccounts.Num == custtable.AccountNum)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == custledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(custledgeraccounts.AccountCode == TableGroupAll::GroupId)
{
if(custledgeraccounts.Num == custtable.CustGroup)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == custledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(custledgeraccounts.AccountCode == TableGroupAll::All)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == custledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
}
}
break;
//customer posting profile - end
case LedgerJournalACType::Vend:
//Vend posting profile - start
select vendParameters;
select vendTable where vendTable.AccountNum == ledgerDimension.DisplayValue;
while select vendledgeraccounts
where vendledgeraccounts.PostingProfile == VendLedger::find(vendParameters.PostingProfile).PostingProfile
{
if(vendledgeraccounts.AccountCode == TableGroupAll::Table)
{
if(vendledgeraccounts.Num == vendTable.AccountNum)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == vendledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(vendledgeraccounts.AccountCode == TableGroupAll::GroupId)
{
if(vendledgeraccounts.Num == vendTable.VendGroup)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == vendledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(vendledgeraccounts.AccountCode == TableGroupAll::All)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == vendledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
}
}
break;
//Vend posting profile - end
case LedgerJournalACType::Bank:
//Bank posting profile - start
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == BankAccountTable::find(DimensionStorage::ledgerDimension2AccountNum(_dimensionDynamicAccount)).LedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
break;
//Bank posting profile - end
case LedgerJournalACType::FixedAssets:
//FixedAsset posting profile - start
select assetParameters;
select assetTable where assetTable.AssetId == ledgerDimension.DisplayValue;
while select assetledgeraccounts
where assetledgeraccounts.PostingProfile == AssetLedger::find(assetParameters.PostingProfile).PostingProfile
{
if(assetledgeraccounts.AccountCode == TableGroupAll::Table)
{
if(assetledgeraccounts.AccountRelation == assetTable.AssetId)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == assetledgeraccounts.LedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(assetledgeraccounts.AccountCode == TableGroupAll::GroupId)
{
if(assetledgeraccounts.AccountRelation == assetTable.AssetGroup)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == assetledgeraccounts.LedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(assetledgeraccounts.AccountCode == TableGroupAll::All)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == assetledgeraccounts.LedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
}
}
break;
//FixedAsset posting profile - end
case LedgerJournalACType::Ledger:
//Ledger posting profile - start
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == _dimensionDynamicAccount
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//Ledger posting profile - end
}
}
return mainaccountnum;
}
mainaccount(10037-COM-ADMIN-G-CR 3…CRANE-Iran) and Accountnumber(10037) of Ledger
Customeraccount(CUST0009) and posting profile of Customer(10501) of Customer Vendoraccount(F0003) and posting profile of vendor(20201) of Vendor
BankAccounnt(Loan) and posting profile of Bank(10023) of Bank
Fixed assets(COMHRD-00006) and posting profile of Fixed assets(12410) of Fixed assets
display str 20 mainAccDisplay()
{
Name nameFind;
MainAccountNum mainaccountdisplay;
switch(this.AccountType)
{
case LedgerJournalACType::Cust :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
case LedgerJournalACType::Vend :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
case LedgerJournalACType::Bank :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
case LedgerJournalACType::FixedAssets :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
case LedgerJournalACType::Ledger :
mainaccountdisplay = this.mainAccFind(this.AccountType,this.LedgerDimension);
break;
}
return mainaccountdisplay;
}
-------------------------
public MainAccountNum mainAccFind(LedgerJournalACType _accountType,DimensionDynamicAccount _dimensionDynamicAccount)
{
DimensionAttributeValueCombination ledgerDimension,ledgerDimensionmainacc;
CustTable custtable;
VendTable vendTable;
AssetTable assetTable;
CustLedgerAccounts custledgeraccounts;
VendLedgerAccounts vendledgeraccounts;
AssetLedgerAccounts assetledgeraccounts;
MainAccount mainaccount;
MainAccountNum mainaccountnum;
VendParameters vendParameters;
CustParameters custParameters;
AssetParameters assetParameters;
select ledgerDimension where ledgerDimension.RecId == _dimensionDynamicAccount;
if(_dimensionDynamicAccount != 0)
{
switch(_accountType)
{
case LedgerJournalACType::Cust:
//customer posting profile - start
select custParameters;
select custtable where custtable.AccountNum == ledgerDimension.DisplayValue;
while select custledgeraccounts
where custledgeraccounts.PostingProfile == CustLedger::find(custParameters.PostingProfile).PostingProfile
{
if(custledgeraccounts.AccountCode == TableGroupAll::Table)
{
if(custledgeraccounts.Num == custtable.AccountNum)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == custledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(custledgeraccounts.AccountCode == TableGroupAll::GroupId)
{
if(custledgeraccounts.Num == custtable.CustGroup)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == custledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(custledgeraccounts.AccountCode == TableGroupAll::All)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == custledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
}
}
break;
//customer posting profile - end
case LedgerJournalACType::Vend:
//Vend posting profile - start
select vendParameters;
select vendTable where vendTable.AccountNum == ledgerDimension.DisplayValue;
while select vendledgeraccounts
where vendledgeraccounts.PostingProfile == VendLedger::find(vendParameters.PostingProfile).PostingProfile
{
if(vendledgeraccounts.AccountCode == TableGroupAll::Table)
{
if(vendledgeraccounts.Num == vendTable.AccountNum)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == vendledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(vendledgeraccounts.AccountCode == TableGroupAll::GroupId)
{
if(vendledgeraccounts.Num == vendTable.VendGroup)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == vendledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(vendledgeraccounts.AccountCode == TableGroupAll::All)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == vendledgeraccounts.SummaryLedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
}
}
break;
//Vend posting profile - end
case LedgerJournalACType::Bank:
//Bank posting profile - start
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == BankAccountTable::find(DimensionStorage::ledgerDimension2AccountNum(_dimensionDynamicAccount)).LedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
break;
//Bank posting profile - end
case LedgerJournalACType::FixedAssets:
//FixedAsset posting profile - start
select assetParameters;
select assetTable where assetTable.AssetId == ledgerDimension.DisplayValue;
while select assetledgeraccounts
where assetledgeraccounts.PostingProfile == AssetLedger::find(assetParameters.PostingProfile).PostingProfile
{
if(assetledgeraccounts.AccountCode == TableGroupAll::Table)
{
if(assetledgeraccounts.AccountRelation == assetTable.AssetId)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == assetledgeraccounts.LedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(assetledgeraccounts.AccountCode == TableGroupAll::GroupId)
{
if(assetledgeraccounts.AccountRelation == assetTable.AssetGroup)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == assetledgeraccounts.LedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
break;
}
}
else if(assetledgeraccounts.AccountCode == TableGroupAll::All)
{
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == assetledgeraccounts.LedgerDimension
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//info(strFmt("%1",mainaccount.MainAccountId));
}
}
break;
//FixedAsset posting profile - end
case LedgerJournalACType::Ledger:
//Ledger posting profile - start
select ledgerDimensionmainacc join mainaccount
where ledgerDimensionmainacc.RecId == _dimensionDynamicAccount
&& ledgerDimensionmainacc.MainAccount == mainaccount.RecId;
mainaccountnum = mainaccount.MainAccountId;
//Ledger posting profile - end
}
}
return mainaccountnum;
}
Comments
Post a Comment