Use of CV Ledger Entry tables??

aavioaavio Member Posts: 143
hi frnds,
Can anybody tell me why "CV Ledger Entry Buffer" and "Detailed CV Ledg. Entry Buffer" tables are used while posting Gen Jnl Lines...

Upon analysing codeunit 12 Gen. Jnl.-Post Line procedure POSTCUST() customer ledger entry is directly filled from Gen Jnl Line but in between its using "CV Ledger Entry Buffer" and "Detailed CV Ledg. Entry Buffer" same in procedure POSTVEND() also. but why its needed?? :?

thanks in adv :wink:
aav!o

Comments

  • ara3nara3n Member Posts: 9,256
    Buffer tables are used to store or sum multiple records based on common data. in "CV Ledger Entry Buffer" case it/s
    DtldCVLedgEntryBuf.RESET;
    DtldCVLedgEntryBuf.SETRANGE("Cust. Ledger Entry No.",CVLedgEntryBuf."Entry No.");
    DtldCVLedgEntryBuf.SETRANGE("Entry Type",NewDtldCVLedgEntryBuf."Entry Type");
    DtldCVLedgEntryBuf.SETRANGE("Posting Date",NewDtldCVLedgEntryBuf."Posting Date");
    DtldCVLedgEntryBuf.SETRANGE("Document Type",NewDtldCVLedgEntryBuf."Document Type");
    DtldCVLedgEntryBuf.SETRANGE("Document No.",NewDtldCVLedgEntryBuf."Document No.");
    DtldCVLedgEntryBuf.SETRANGE("Customer No.",NewDtldCVLedgEntryBuf."Customer No.");
    DtldCVLedgEntryBuf.SETRANGE("Gen. Posting Type",NewDtldCVLedgEntryBuf."Gen. Posting Type");
    DtldCVLedgEntryBuf.SETRANGE(
      "Gen. Bus. Posting Group",NewDtldCVLedgEntryBuf."Gen. Bus. Posting Group");
    DtldCVLedgEntryBuf.SETRANGE(
      "Gen. Prod. Posting Group",NewDtldCVLedgEntryBuf."Gen. Prod. Posting Group");
    DtldCVLedgEntryBuf.SETRANGE(
      "VAT Bus. Posting Group",NewDtldCVLedgEntryBuf."VAT Bus. Posting Group");
    DtldCVLedgEntryBuf.SETRANGE(
      "VAT Prod. Posting Group",NewDtldCVLedgEntryBuf."VAT Prod. Posting Group");
    DtldCVLedgEntryBuf.SETRANGE("Tax Area Code",NewDtldCVLedgEntryBuf."Tax Area Code");
    DtldCVLedgEntryBuf.SETRANGE("Tax Liable",NewDtldCVLedgEntryBuf."Tax Liable");
    DtldCVLedgEntryBuf.SETRANGE("Tax Group Code",NewDtldCVLedgEntryBuf."Tax Group Code");
    DtldCVLedgEntryBuf.SETRANGE("Use Tax",NewDtldCVLedgEntryBuf."Use Tax");
    DtldCVLedgEntryBuf.SETRANGE(
      "Tax Jurisdiction Code",NewDtldCVLedgEntryBuf."Tax Jurisdiction Code");
    
    IF DtldCVLedgEntryBuf.FINDFIRST THEN BEGIN
      .....
        DtldCVLedgEntryBuf.MODIFY;
    
    ELSE BEGIN
     ...
        DtldCVLedgEntryBuf.INSERT;
    END;
    
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • aavioaavio Member Posts: 143
    yes ara3n, in case of "Detailed CV Ledg. Entry Buffer" its ok. then with "CV Ledger Entry Buffer"... what is its use??

    in procedure TransferCustLedgEntry() its just assigning some fields(all are flowfields).
    CVLedgEntryBuf.TRANSFERFIELDS(CustLedgEntry);
      CVLedgEntryBuf.Amount := CustLedgEntry.Amount;
      CVLedgEntryBuf."Amount (LCY)" := CustLedgEntry."Amount (LCY)";
      CVLedgEntryBuf."Remaining Amount" := CustLedgEntry."Remaining Amount";
      CVLedgEntryBuf."Remaining Amt. (LCY)" := CustLedgEntry."Remaining Amt. (LCY)";
      CVLedgEntryBuf."Original Amount" := CustLedgEntry."Original Amount";
      CVLedgEntryBuf."Original Amt. (LCY)" := CustLedgEntry."Original Amt. (LCY)";
    
    aav!o
  • ara3nara3n Member Posts: 9,256
    That's ok, I don't see a problem with that. It still is summing values based on filters I mentioned.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
Sign In or Register to comment.