Tuesday, January 8, 2019

Finding yesterday Closing Balance from Main account id

static void Job1(Args _args)
{

    LedgerTrialBalanceListPageTmp _tmp;
    Name _primaryFocus = 'Main account set';
    FromDate _fromDate = today() - 203;
    ToDate _toDate = _fromDate;
    boolean _includeOpening = false;
    boolean _includeClosing = false;
    OperationsTax _postingLayer = OperationsTax::Current;
    boolean _showErrors = false;
    LedgerTrialBalanceDP trialBalanceDP = new LedgerTrialBalanceDP();
    LedgerTrialBalanceContract trialBalanceContract = new LedgerTrialBalanceContract();
    LedgerTrialBalanceTmp trialBalanceTmp;
    UserConnection userConn;
    DimensionHierarchy dimHier;
    #define.ShowErrors(true)

     dimHier = DimensionHierarchy::getMainAccountFocus();
    select firstOnly RecId from _tmp;

    delete_from _tmp;
    if (!_primaryFocus)
    {
        return;
    }

    DimensionFocusUpdateBalance::updateBalance(
        DimensionHierarchy::findByTypeAndName(DimensionHierarchyType::Focus, _primaryFocus),
        _showErrors);

    userConn = new UserConnection();

    trialBalanceTmp.setConnection(userConn);
    _tmp.setConnection(userConn);

    userConn.ttsbegin();

    // Use the trial balance DP to generate a summary trial balance
    trialBalanceContract.parmDetailSummary(DetailSummary::Summary);
    trialBalanceContract.parmFromDate(_fromDate);
    trialBalanceContract.parmToDate(_toDate);
    trialBalanceContract.parmIncludeOpening(_includeOpening);
    trialBalanceContract.parmIncludeClosing(_includeClosing);
    trialBalanceContract.parmOperationsTax(_postingLayer);
    trialBalanceContract.parmPrimaryDimensionFocus(_primaryFocus);

    trialBalanceDP.parmDataContract(trialBalanceContract);
    trialBalanceDP.parmUserConnection(userConn);
    trialBalanceDP.processReport();

    // Copy that data into the LedgerTrialBalanceListPageTmp, disabling RLS so the insert doesn't
    // degrade to row-by-row
    _tmp.recordLevelSecurity(false);

    trialBalanceTmp = trialBalanceDP.getLedgerTrialBalanceTmp();

    while select trialBalanceTmp where trialBalanceTmp.PrimaryFocus == '1111001'
    {

    info(strFmt("%1 -- %2", trialBalanceTmp.OpeningBalance , trialBalanceTmp.EndingBalance));
    }

    // Copy the data from the report run over to the DBTemp table backing the form
    //insert_recordset _tmp (PrimaryFocus, LedgerDimension, OpeningBalance, AmountDebit, AmountCredit, ClosingBalance, EndingBalance, Description, DimensionValues)
        //select PrimaryFocus, LedgerDimension, OpeningBalance, AmountDebit, AmountCredit, ClosingBalance, EndingBalance, PrimaryFocusDescription, DimensionValues
        //from trialBalanceTmp;

    _tmp.recordLevelSecurity(true);

    userConn.ttsCommit();

}

No comments:

Post a Comment