SEPA NL: aanleveren van DD bestanden voor elke sequence type

lvanvugtlvanvugt Member Posts: 774
edited 2014-07-08 in NAV Dutch speaking only
Ben momenteel bezig SEPA NL oplossing om te bouwen, zodat bij het exporteren voor elke sequence type een apart bestand wordt gemaakt. Dit aangezien de banken geen bestanden accepteren met verschillende sequence types in één bestand.
Enfin, vroeg me af of ik het wiel opnieuw zit uit te vinden.
Wie is hier al mee bezig geweest en heeft tips of meer te delen?
Luc van Vugt, fluxxus.nl
Never stop learning
Van Vugt's dynamiXs
Dutch Dynamics Community

Comments

  • mdPartnerNLmdPartnerNL Member Posts: 802
    ik heb over sepa en de sequence al iets gelezen hier. Even zoeken..
  • lvanvugtlvanvugt Member Posts: 774
    edited 2013-12-28
    ik heb over sepa en de sequence al iets gelezen hier. Even zoeken..
    Gevonden?

    Ondertussen ben ik al gaan bouwen en heb het als volgt opgelost:

    * In het betaal voorstelvenster (telebankieren) laat ik gewoon de voorstelregels aanmaken
    * bij het verwerken van deze regels (COD11000000 - Process Proposal Lines) zorg ik dat eerst alle regels verwerkt worden in een temporary table (Payment History Line), zodat het Sequence Type bepaald wordt
    * daarna worden al deze tijdelijke Payment History Line records weer doorlopen en een voor een weggeschreven naar de database, tevens wordt voor records met zelfde Sequence Type een kop aan gemaakt (Payment History)

    Resultaat

    * alle voorstel regels worden bij het verwerken gescheiden in betaalruns met hetzelfde Sequence Type
    * export gaat op basis van betaalruns, zoals we dat al gewend waren en levert dus per betaalrun (en dus met één Sequence Type) een bestand op
    Luc van Vugt, fluxxus.nl
    Never stop learning
    Van Vugt's dynamiXs
    Dutch Dynamics Community
  • mdPartnerNLmdPartnerNL Member Posts: 802
    Dus dit moeten we als partner zelf gaan maken? Dus het enige wat de sepa update inhoud is een extra veldje en een export programma wat jij dus nu aan het aanpassen bent.

    Ps.
    viewtopic.php?f=22&t=58478 hier nog iemand die het loopt aan te passen zodat de klant wel tevreden is...
  • tinoruijstinoruijs Member Posts: 1,226
    Dus dit moeten we als partner zelf gaan maken? Dus het enige wat de sepa update inhoud is een extra veldje en een export programma wat jij dus nu aan het aanpassen bent.

    Wat een drama-project dit SEPA.. ](*,)

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • lvanvugtlvanvugt Member Posts: 774
    Code getest en goed bevonden. Dus hieronder de aanpassing die ik gedaan heb in COD11000000 (Process Proposal Lines) en TAB110000001 (Payment History)

    TAB110000001 (Payment History)
    * Veld 50000 (Sequence Type) toegevoegd à la hetzelfde veld 50 (Sequence Type) in TAB11000001 (Payment History Line)
    * Tevens 1e SK uitgebreid et dit veld: Our Bank,Export Protocol,Status,User ID,Sequence Type

    COD11000000 (Process Proposal Lines)
    Alle aanpassingen zijn gemarkeerd met FLXXS
    OBJECT Codeunit 11000000 Process Proposal Lines
    {
      OBJECT-PROPERTIES
      {
        Date=19-12-13;
        Time=12:00:00;
        Version List=NAVNL6.00.01,TFS348943;
      }
      PROPERTIES
      {
        TableNo=11000000;
        OnRun=BEGIN
                CLEARALL;
                Prop:=Rec;
                Prop.COPYFILTERS(Rec);
                Prop.SETCURRENTKEY("Our Bank No.",Process);
                Prop.SETRANGE(Process,TRUE)
              END;
    
      }
      CODE
      {
        VAR
          Text1000000@1000000 : TextConst 'ENU=There is nothing to check.;NLD=Er is niets te controleren.';
          Text1000001@1000001 : TextConst 'ENU=%1 %4 have been checked\;NLD=Er zijn %1 %4 gecontroleerd\';
          Text1000002@1000002 : TextConst 'ENU=This contains:\\;NLD=Daarin zijn:\\';
          Text1000003@1000003 : TextConst 'ENU="  %2 error(s) \";NLD="  %2 fout(en) \"';
          Text1000004@1000004 : TextConst 'ENU="  %3 warning(s)";NLD="  %3 waarschuwing(en) gevonden"';
          Text1000005@1000005 : TextConst 'ENU=Process proposal lines?;NLD=Voorstelregels verwerken?';
          Text1000006@1000006 : TextConst 'ENU=Output cancelled.;NLD=Output geannuleerd.';
          Text1000007@1000007 : TextConst 'ENU=There is nothing to process.;NLD=Er is niets te verwerken.';
          Text1000008@1000008 : TextConst 'ENU=The proposal lines were processed.;NLD=De voorstelregels zijn verwerkt.';
          Text1000009@1000009 : TextConst 'ENU=There are %3 lines processed and %2 lines not processed of %1 lines.;NLD=Er zijn %3 regel verwerkt en %2 regels van de %1 regels niet verwerkt.';
          Text1000010@1000010 : TextConst 'ENU=%1 is not filled out correctly.;NLD=%1 is niet correct ingevuld.';
          Text1000011@1000011 : TextConst 'ENU=No %1 entered in %2.;NLD=Er is geen %1 ingevuld in %2.';
          Text1000012@1000012 : TextConst 'ENU=%1 is not stated correctly %2.;NLD=%1 is niet correct opgegeven %2.';
          Text1000013@1000013 : TextConst 'ENU=%1 in number series must be switched on in number serie %2.;NLD=%1 in nummerreeksen moet aan staan in nummerreeks %2.';
          Text1000014@1000014 : TextConst 'ENU=%1 %2 must not be in the past.;NLD=%1 %2 mag niet in het verleden liggen.';
          Text1000015@1000015 : TextConst 'ENU=%1 must not be zero.;NLD=%1 mag niet nul zijn.';
          Text1000016@1000016 : TextConst 'ENU="%1 must be negative when %2=%3.";NLD="%1 moet negatief zijn wanneer %2=%3."';
          Text1000017@1000017 : TextConst 'ENU="%1 must be positive when %2=%3.";NLD="%1 moet positief zijn wanneer %2=%3."';
          Text1000018@1000018 : TextConst 'ENU=%1 is not filled out.;NLD=%1 is niet ingevuld.';
          Text1000019@1000019 : TextConst 'ENU=%1 is already in use, modify %1.;NLD=%1 wordt reeds gebruikt, wijzig %1.';
          Text1000020@1000020 : TextConst 'ENU=%1 is already used more than once in the proposal.;NLD=%1 is reeds meer dan 1 keer in het voorstel gebruikt';
          Text1000021@1000021 : TextConst 'ENU=Credit limit for bank %1 will be exceeded.;NLD=Kredietlimiet voor bank %1 zal overschreden worden.';
          Text1000022@1000022 : TextConst 'ENU=The %2 from bank %1 has not been entered.;NLD=Het %2 van bank %1 is niet ingevuld.';
          Text1000023@1000023 : TextConst 'ENU=%1 of %2 has not been entered correctly.;NLD=%1 van %2 is niet correct ingevuld.';
          Text1000024@1000024 : TextConst 'ENU=%1 is not found in table %2.;NLD=%1 komt niet voor in tabel %2.';
          Text1000025@1000025 : TextConst 'ENU=%1 %2 has open credit memo''s.;NLD=%1 %2 heeft openstaande creditnota''s.';
          Text1000026@1000026 : TextConst 'ENU=%1 %2 has not been entered correctly.;NLD=%1 %2 is niet correct ingevuld.';
          Text1000027@1000027 : TextConst 'ENU=%1 is not entered.;NLD=%1 is niet ingevoerd.';
          Text1000028@1000028 : TextConst 'ENU=%1 is filled in, but %2 is 0.;NLD=%1 is ingevuld, maar %2 is 0.';
          Text1000029@1000029 : TextConst 'ENU=%1 must not be zero in detail line for %2 %3.;NLD=%1 mag niet nul zijn in detailregel voor %2 %3.';
          Text1000030@1000030 : TextConst 'ENU=No Check ID entered in %1 %2.;NLD=Er is geen controle-id ingevuld in %1 %2.';
          Text1000031@1000031 : TextConst 'ENU=PG0123456789;NLD=PG0123456789';
          Text1000032@1000032 : TextConst 'ENU=P;NLD=P';
          Text1000033@1000033 : TextConst 'ENU=G;NLD=G';
          Text1000034@1000034 : TextConst 'ENU=PG;NLD=PG';
          Prop@1000035 : Record 11000000;
          PaymHist@1000036 : Record 11000001;
          TempPaymHistLine@1000000001 : TEMPORARY Record 11000002;
          TempJnlDim@1000000002 : TEMPORARY Record 356;
          NumberPosted@1000037 : Integer;
          ErrorNumber@1000038 : Integer;
          Errortext@1000039 : Text[125];
          Warningstext@1000040 : Text[125];
          WarningNumber@1000041 : Integer;
          TelebankFinancialConnection@1000042 : Codeunit 11000001;
          GenJnlLine@1000043 : TEMPORARY Record 81;
          LocalFuncMgt@1000044 : Codeunit 11400;
          AccountNo@1000045 : Text[30];
          TempJournalLineDimension@1000000000 : TEMPORARY Record 356;
          Text1000035@1000 : TextConst 'ENU=%1 must not be zero in %2.;NLD=%1 moet geen nul zijn in %2.';
    
        PROCEDURE CheckProposallines@1000000();
        BEGIN
          ErrorNumber:=0;
          NumberPosted:=0;
          WarningNumber:=0;
    
          IF Prop.FIND('-') THEN
            REPEAT
              NumberPosted:=NumberPosted+1;
              IF NOT CheckAProposalLine(Prop) THEN
                ErrorNumber:=ErrorNumber+1;
              IF Warningstext<>'' THEN
                WarningNumber:=WarningNumber+1;
              IF (Errortext<>Prop."Error Message") OR
                 (Warningstext<>Prop.Warning)
              THEN BEGIN
                Prop."Error Message":=Errortext;
                Prop.Warning:=Warningstext;
                Prop.MODIFY;
              END;
            UNTIL Prop.NEXT=0;
    
          IF NumberPosted=0 THEN
            MESSAGE(Text1000000)
          ELSE
            MESSAGE(Text1000001+Text1000002+Text1000003+Text1000004, NumberPosted,ErrorNumber,WarningNumber,Prop.TABLECAPTION);
        END;
    
        PROCEDURE ProcessProposallines@1000001();
        BEGIN
          IF NOT CONFIRM(Text1000005,FALSE) THEN
            ERROR(Text1000006);
    
          ErrorNumber:=0;
          NumberPosted:=0;
          GenJnlLine.DELETEALL;
    
          IF Prop.FIND('-') THEN BEGIN
            REPEAT
              NumberPosted:=NumberPosted+1;
              IF CheckAProposalLine(Prop) THEN BEGIN
                //FLXXS-BEGIN
                //IF NOT PaymentHistoryPresent(Prop,PaymHist) THEN
                //  CreatePaymentHistory(Prop,PaymHist);
                //CreatePaymentHistoryLine(Prop,PaymHist);
                //DeleteProposallines(Prop);
                CreatePaymentHistoryLine2(Prop,TempPaymHistLine);
                //FLXXS-END
              END ELSE BEGIN
                IF (Errortext<>Prop."Error Message") OR
                   (Warningstext<>Prop.Warning)
                THEN BEGIN
                  Prop."Error Message":=Errortext;
                  Prop.Warning:=Warningstext;
                  Prop.MODIFY;
                END;
                ErrorNumber:=ErrorNumber+1;
              END
            UNTIL Prop.NEXT=0;
            //FLXXS-BEGIN
            IF TempPaymHistLine.FINDSET THEN
              REPEAT
                IF NOT PaymentHistoryPresent2(TempPaymHistLine,PaymHist) THEN
                  CreatePaymentHistory2(TempPaymHistLine,PaymHist);
                InsertPaymentHistoryLine2(TempPaymHistLine,PaymHist);
              UNTIL TempPaymHistLine.NEXT = 0;
            TempPaymHistLine.DELETEALL;
            DeleteProposalLines(Prop);
            //FLXXS-END
    
            TelebankFinancialConnection.PostFDBR(GenJnlLine,TempJournalLineDimension);
            GenJnlLine.DELETEALL;
          END;
    
          IF NumberPosted=0 THEN
            MESSAGE(Text1000007)
          ELSE
            CASE ErrorNumber OF
              0: MESSAGE(Text1000008);
              1: MESSAGE(Text1000009,NumberPosted,ErrorNumber,NumberPosted-ErrorNumber);
              ELSE
                 MESSAGE(Text1000009,NumberPosted,ErrorNumber,NumberPosted-ErrorNumber);
            END;
        END;
    
        PROCEDURE CheckAProposalLine@1000002(CheckRecord@1000001 : Record 11000000) res@1000000 : Boolean;
        VAR
          TranMode@1000002 : Record 11000004;
          ExportProtocol@1000003 : Record 11000005;
          CustomerAcc@1000004 : Record 18;
          VenAcc@1000005 : Record 23;
          CustBankAcc@1000006 : Record 287;
          VendBankAcc@1000007 : Record 288;
          OurBnk@1000008 : Record 270;
          NoSeries@1000009 : Record 308;
          CustEntries@1000010 : Record 21;
          VendEntries@1000011 : Record 25;
          "Detail line"@1000012 : Record 11000003;
          PaymentHistLine@1000013 : Record 11000002;
          Propline@1000014 : Record 11000000;
        BEGIN
          Errortext:='';
          Warningstext:='';
    
          ////////////////////////////////////////////////////////////////////////
          // General information
    
          IF NOT TranMode.GET(CheckRecord."Account Type",CheckRecord."Transaction Mode") THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000010,CheckRecord.FIELDCAPTION("Transaction Mode"));
            EXIT(FALSE);
          END;
    
          IF NOT ExportProtocol.GET(TranMode."Export Protocol") THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000011, TranMode.FIELDCAPTION("Export Protocol"), TranMode.TABLECAPTION);
            EXIT(FALSE);
          END;
    
          IF NOT NoSeries.GET(TranMode."Run No. Series") THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000012,
                       TranMode.FIELDCAPTION("Run No. Series"),TranMode.TABLECAPTION);
            EXIT(FALSE);
          END;
    
          IF NOT NoSeries."Default Nos." THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000013,
              NoSeries.FIELDCAPTION("Default Nos."),NoSeries.Code);
            EXIT(FALSE);
          END;
    
          IF CheckRecord."Transaction Date"<TODAY THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000014,
                             CheckRecord.FIELDCAPTION(CheckRecord."Transaction Date"),
                             CheckRecord."Transaction Date");
            EXIT(FALSE);
          END;
          IF CheckRecord.Amount=0 THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000015,CheckRecord.FIELDCAPTION(Amount));
            EXIT(FALSE);
          END;
    
    
          CASE CheckRecord.Order OF
            CheckRecord.Order::Credit:
              IF CheckRecord.Amount>0 THEN BEGIN
                Errortext:=
                  STRSUBSTNO(Text1000016,CheckRecord.FIELDCAPTION(Amount),
                    CheckRecord.FIELDCAPTION("Transaction Mode"),CheckRecord."Transaction Mode");
                EXIT(FALSE);
              END;
            CheckRecord.Order::Debit:
              IF CheckRecord.Amount<0 THEN BEGIN
                Errortext:=
                  STRSUBSTNO(Text1000017,CheckRecord.FIELDCAPTION(Amount),
                    CheckRecord.FIELDCAPTION("Transaction Mode"),CheckRecord."Transaction Mode");
                EXIT(FALSE);
              END;
          END;
    
          ////////////////////////////////////////////////////////////////////////
          // identification
    
          IF CheckRecord.Identification='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000018,
                             CheckRecord.FIELDCAPTION(Identification));
            EXIT(FALSE);
          END;
    
          PaymentHistLine.SETCURRENTKEY("Our Bank",Identification,Status);
          PaymentHistLine.SETRANGE("Our Bank",CheckRecord."Our Bank No.");
          PaymentHistLine.SETRANGE(Identification,CheckRecord.Identification);
          PaymentHistLine.SETFILTER(Status,'<>%1&<>%2&<>%3',
              PaymentHistLine.Status::Posted,
              PaymentHistLine.Status::Cancelled,
              PaymentHistLine.Status::Rejected);
          IF PaymentHistLine.FIND('-') THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000019,
                                CheckRecord.FIELDCAPTION(Identification));
            EXIT(FALSE);
          END;
          Propline.SETCURRENTKEY("Our Bank No.",Identification);
          Propline.SETRANGE("Our Bank No.",CheckRecord."Our Bank No.");
          Propline.SETRANGE(Identification,CheckRecord.Identification);
          Propline.SETFILTER(Propline."Line No.",'<>%1',CheckRecord."Line No.");
          IF Propline.FIND('-') THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000020,
                                CheckRecord.FIELDCAPTION(Identification));
            EXIT(FALSE);
          END;
    
    
    
          ////////////////////////////////////////////////////////////////////////
          // Own account
    
          IF NOT OurBnk.GET(CheckRecord."Our Bank No.") THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000010,CheckRecord.FIELDCAPTION(CheckRecord."Our Bank No."));
            EXIT(FALSE);
          END;
    
          IF OurBnk."Credit limit" < 0 THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000021, CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Bank Account No."='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000022,
                             CheckRecord."Our Bank No.",OurBnk.FIELDCAPTION("Bank Account No."));
            EXIT(FALSE);
          END;
    
          IF NOT LocalFuncMgt.CheckBankAccNo(OurBnk."Bank Account No.",OurBnk."Country/Region Code",AccountNo) THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
            OurBnk.FIELDCAPTION("Bank Account No."),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Account Holder Name"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
                       OurBnk.FIELDCAPTION("Account Holder Name"),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Account Holder Address"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
                       OurBnk.FIELDCAPTION("Account Holder Address"),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Account Holder Post Code"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
                       OurBnk.FIELDCAPTION("Account Holder Post Code"),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
          IF OurBnk."Account Holder City"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000023,
                       OurBnk.FIELDCAPTION("Account Holder City"),CheckRecord."Our Bank No.");
            EXIT(FALSE);
          END;
    
    
          ////////////////////////////////////////////////////////////////////////
          // Customer and Vendor
    
          CASE CheckRecord."Account Type" OF
            CheckRecord."Account Type"::Customer:
              BEGIN
                IF NOT CustomerAcc.GET(CheckRecord."Account No.") THEN BEGIN
                  Errortext:=STRSUBSTNO(Text1000024,CheckRecord.FIELDCAPTION(CheckRecord."Account No."),CustomerAcc.TABLECAPTION);
                  EXIT(FALSE);
                END;
                CustEntries.SETCURRENTKEY("Document Type","Customer No.");
                CustEntries.SETRANGE("Customer No.",CheckRecord."Account No.");
                CustEntries.SETRANGE("Document Type",CustEntries."Document Type"::"Credit Memo");
                CustEntries.SETRANGE(Open,TRUE);
                IF CustEntries.FIND('-') THEN
                  Warningstext:=STRSUBSTNO(Text1000025,
                                      CustomerAcc.TABLECAPTION,CheckRecord."Account No.");
              END;
            CheckRecord."Account Type"::Vendor:
              BEGIN
                IF NOT VenAcc.GET(CheckRecord."Account No.") THEN BEGIN
                  Errortext:=STRSUBSTNO(Text1000024, CheckRecord.FIELDCAPTION(CheckRecord."Account No."),VenAcc.TABLECAPTION);
                  EXIT(FALSE);
                END;
                VendEntries.SETCURRENTKEY("Document Type","Vendor No.");
                VendEntries.SETRANGE("Vendor No.",CheckRecord."Account No.");
                VendEntries.SETRANGE("Document Type",VendEntries."Document Type"::"Credit Memo");
                VendEntries.SETRANGE(Open,TRUE);
                IF VendEntries.FIND('-') THEN
                  Warningstext:=STRSUBSTNO(Text1000025,
                                      VenAcc.TABLECAPTION,CheckRecord."Account No.");
              END;
          END;
    
          IF NOT LocalFuncMgt.CheckBankAccNo(CheckRecord."Bank Account No.",CheckRecord."Bank Country/Region Code",AccountNo) THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000026,CheckRecord.FIELDCAPTION(CheckRecord."Bank Account No."),CheckRecord."Bank Account No.");
            EXIT(FALSE);
          END;
    
          IF CheckRecord."Account Holder Name"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000027,
                       CheckRecord.FIELDCAPTION(CheckRecord."Account Holder Name"));
            EXIT(FALSE);
          END;
    
          IF CheckRecord."Account Holder City"='' THEN BEGIN
            Errortext:=STRSUBSTNO(Text1000027,
                       CheckRecord.FIELDCAPTION(CheckRecord."Account Holder City"));
            EXIT(FALSE);
          END;
    
          IF (CheckRecord."Foreign Currency" <> '') AND
             (CheckRecord."Foreign Amount" = 0)
          THEN BEGIN
            Errortext :=
              STRSUBSTNO(
                Text1000028,CheckRecord.FIELDCAPTION(CheckRecord."Foreign Currency"), CheckRecord.FIELDCAPTION(CheckRecord."Foreign Amount")
          );
            EXIT(FALSE);
          END;
    
          ///////////////////////////////////////////////////////////////////////
          // Per detail line
    
          "Detail line".SETCURRENTKEY("Our Bank",Status,"Connect Batches","Connect Lines");
          "Detail line".SETRANGE("Our Bank",CheckRecord."Our Bank No.");
          "Detail line".SETRANGE(Status,"Detail line".Status::Proposal);
          "Detail line".SETRANGE("Detail line"."Connect Batches",'');
          "Detail line".SETRANGE("Detail line"."Connect Lines",CheckRecord."Line No.");
          IF "Detail line".FIND('-') THEN
            REPEAT
              IF "Detail line".Amount=0 THEN BEGIN
                Errortext:=
                  STRSUBSTNO(
                    Text1000029,
                    "Detail line".FIELDCAPTION(Amount),
                    "Detail line".FIELDCAPTION("Serial No. (Entry)"),
                    "Detail line"."Serial No. (Entry)");
                EXIT(FALSE);
              END;
              IF "Detail line"."Serial No. (Entry)"=0 THEN BEGIN
                Errortext:=
                  STRSUBSTNO(
                    Text1000035,
                    "Detail line".FIELDCAPTION("Serial No. (Entry)"),
                    "Detail line".TABLECAPTION);
                EXIT(FALSE);
              END;
            UNTIL "Detail line".NEXT=0;
    
          ////////////////////////////////////////////////////////////////////////
          // Protocol specific
    
          IF ExportProtocol."Check ID"<>0 THEN BEGIN
            CheckRecord."Error Message":='';
            CheckRecord.Warning:='';
            CODEUNIT.RUN(ExportProtocol."Check ID",CheckRecord);
            IF CheckRecord.Warning<>'' THEN
              Warningstext:=CheckRecord.Warning;
            IF CheckRecord."Error Message"<>'' THEN BEGIN
              Errortext:=CheckRecord."Error Message";
              EXIT(FALSE)
            END;
          END ELSE BEGIN
            Errortext:= STRSUBSTNO(Text1000030,ExportProtocol.TABLECAPTION,ExportProtocol.Code);
            EXIT(FALSE);
          END;
    
          EXIT(TRUE);
        END;
    
        PROCEDURE PaymentHistoryPresent@1000003(VAR Prop@1000001 : Record 11000000;VAR PaymHist@1000002 : Record 11000001) Present@1000000 : Boolean;
        VAR
          TranMode@1000003 : Record 11000004;
        BEGIN
          TranMode.GET(Prop."Account Type",Prop."Transaction Mode");
    
          PaymHist.SETCURRENTKEY("Our Bank","Export Protocol",Status,"User ID");
          PaymHist.SETRANGE("Our Bank",Prop."Our Bank No.");
          PaymHist.SETRANGE("Export Protocol",TranMode."Export Protocol");
          PaymHist.SETRANGE(Status,PaymHist.Status::New);
          PaymHist.SETRANGE("User ID",USERID);
    
          EXIT(PaymHist.FIND('-'));
        END;
    
        PROCEDURE PaymentHistoryPresent2@1000000003(PaymHistLine@1000001 : Record 11000002;VAR PaymHist@1000002 : Record 11000001) Present@1000000 : Boolean;
        VAR
          TranMode@1000003 : Record 11000004;
        BEGIN
          //FLXXS-BEGIN
          TranMode.GET(PaymHistLine."Account Type",PaymHistLine."Transaction Mode");
    
          PaymHist.SETCURRENTKEY("Our Bank","Export Protocol",Status,"User ID");
          PaymHist.SETRANGE("Our Bank",PaymHistLine."Our Bank");
          PaymHist.SETRANGE("Export Protocol",TranMode."Export Protocol");
          PaymHist.SETRANGE(Status,PaymHist.Status::New);
          PaymHist.SETRANGE("User ID",USERID);
          PaymHist.SETRANGE("Sequence Type",PaymHistLine."Sequence Type");
    
          EXIT(PaymHist.FIND('-'));
          //FLXXS-END
        END;
    
        PROCEDURE CreatePaymentHistory@1000004(VAR Prop@1000000 : Record 11000000;VAR PaymHist@1000001 : Record 11000001);
        VAR
          TranMode@1000002 : Record 11000004;
          OurBnk@1000003 : Record 270;
          FromJnlDim@1000000001 : Record 356;
          ToJnlDim@1000000002 : Record 356;
          NoSeriesManagement@1000004 : Codeunit 396;
          DimManagement@1000000000 : Codeunit 408;
          GeneralLedgerSetup@1000000003 : Record 98;
        BEGIN
          CLEAR(PaymHist);
          TranMode.GET(Prop."Account Type",Prop."Transaction Mode");
          TranMode.TESTFIELD("Run No. Series");
    
          PaymHist."Our Bank":=Prop."Our Bank No.";
          NoSeriesManagement.InitSeries(TranMode."Run No. Series",'',TODAY,PaymHist."Run No.",PaymHist."No. Series");
          PaymHist.INIT;
    
          PaymHist.Status:=PaymHist.Status::New;
          PaymHist."Creation Date":=TODAY;
          PaymHist."User ID":=USERID;
    
          TranMode.GET(Prop."Account Type",Prop."Transaction Mode");
          PaymHist."Export Protocol":=TranMode."Export Protocol";
    
          OurBnk.GET(Prop."Our Bank No.");
    
          PaymHist."Account No.":=OurBnk."Bank Account No.";
          PaymHist."Account Holder Name":=OurBnk."Account Holder Name";
          PaymHist."Account Holder Address":=OurBnk."Account Holder Address";
          PaymHist."Account Holder Post Code":=OurBnk."Account Holder Post Code";
          PaymHist."Account Holder City":=OurBnk."Account Holder City";
          PaymHist."Acc. Hold. Country/Region Code":=OurBnk."Acc. Hold. Country/Region Code";
    
          FromJnlDim.SETRANGE("Table ID", DATABASE::"Proposal Line");
          FromJnlDim.SETRANGE("Journal Template Name", Prop."Our Bank No.");
          FromJnlDim.SETRANGE("Journal Line No.", 0);
    
          ToJnlDim."Table ID" := DATABASE::"Payment History";
          ToJnlDim."Journal Template Name" := PaymHist."Our Bank";
          ToJnlDim."Journal Batch Name" := PaymHist."Run No.";
          ToJnlDim."Journal Line No." := 0;
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(FromJnlDim, ToJnlDim);
          GeneralLedgerSetup.GET;
    
          IF ToJnlDim.GET(DATABASE::"Payment History",
                          PaymHist."Our Bank",
                          PaymHist."Run No.",
                          0,0,
                          GeneralLedgerSetup."Global Dimension 1 Code",0) THEN
            PaymHist."Global Dimension 1 Code" := ToJnlDim."Dimension Value Code";
    
          IF ToJnlDim.GET(DATABASE::"Payment History",
                          PaymHist."Our Bank",
                          PaymHist."Run No.",
                          0,0,
                          GeneralLedgerSetup."Global Dimension 2 Code",0) THEN
            PaymHist."Global Dimension 2 Code" := ToJnlDim."Dimension Value Code";
          PaymHist.INSERT(TRUE);
        END;
    
        PROCEDURE CreatePaymentHistory2@1000000024(PaymHistLine@1000000 : Record 11000002;VAR PaymHist@1000001 : Record 11000001);
        VAR
          TranMode@1000002 : Record 11000004;
          OurBank@1000003 : Record 270;
          FromJnlDim@1000000001 : Record 356;
          ToJnlDim@1000000002 : Record 356;
          NoSeriesManagement@1000004 : Codeunit 396;
          DimManagement@1000000000 : Codeunit 408;
          GeneralLedgerSetup@1000000003 : Record 98;
        BEGIN
          //FLXXS-BEGIN
          CLEAR(PaymHist);
          TranMode.GET(PaymHistLine."Account Type",PaymHistLine."Transaction Mode");
          TranMode.TESTFIELD("Run No. Series");
    
          PaymHist."Our Bank" := PaymHistLine."Our Bank";
          NoSeriesManagement.InitSeries(TranMode."Run No. Series",'',TODAY,PaymHist."Run No.",PaymHist."No. Series");
          PaymHist.INIT;
    
          PaymHist.Status := PaymHist.Status::New;
          PaymHist."Creation Date" := TODAY;
          PaymHist."User ID" := USERID;
    
          TranMode.GET(Prop."Account Type",PaymHistLine."Transaction Mode");
          PaymHist."Export Protocol" := TranMode."Export Protocol";
    
          OurBank.GET(PaymHistLine."Our Bank");
    
          PaymHist."Account No." := OurBank."Bank Account No.";
          PaymHist."Account Holder Name" := OurBank."Account Holder Name";
          PaymHist."Account Holder Address" := OurBank."Account Holder Address";
          PaymHist."Account Holder Post Code" := OurBank."Account Holder Post Code";
          PaymHist."Account Holder City" := OurBank."Account Holder City";
          PaymHist."Acc. Hold. Country/Region Code" := OurBank."Acc. Hold. Country/Region Code";
    
          FromJnlDim.SETRANGE("Table ID", DATABASE::"Proposal Line");
          FromJnlDim.SETRANGE("Journal Template Name", PaymHistLine."Our Bank");
          FromJnlDim.SETRANGE("Journal Line No.", 0);
    
          ToJnlDim."Table ID" := DATABASE::"Payment History";
          ToJnlDim."Journal Template Name" := PaymHist."Our Bank";
          ToJnlDim."Journal Batch Name" := PaymHist."Run No.";
          ToJnlDim."Journal Line No." := 0;
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(FromJnlDim, ToJnlDim);
          GeneralLedgerSetup.GET;
    
          IF ToJnlDim.GET(DATABASE::"Payment History",
                          PaymHist."Our Bank",
                          PaymHist."Run No.",
                          0,0,
                          GeneralLedgerSetup."Global Dimension 1 Code",0) THEN
            PaymHist."Global Dimension 1 Code" := ToJnlDim."Dimension Value Code";
    
          IF ToJnlDim.GET(DATABASE::"Payment History",
                          PaymHist."Our Bank",
                          PaymHist."Run No.",
                          0,0,
                          GeneralLedgerSetup."Global Dimension 2 Code",0) THEN
            PaymHist."Global Dimension 2 Code" := ToJnlDim."Dimension Value Code";
    
          PaymHist."Sequence Type" := PaymHistLine."Sequence Type";
    
          PaymHist.INSERT(TRUE);
          //FLXXS-END
        END;
    
        PROCEDURE CreatePaymentHistoryLine@1000005(VAR Propline@1000000 : Record 11000000;VAR PaymHist@1000001 : Record 11000001);
        VAR
          PaymentHistLine@1000002 : Record 11000002;
          "Detail line"@1000003 : Record 11000003;
          FromJnlDim@1000000000 : Record 356;
          ToJnlDim@1000000001 : Record 356;
          DimManagement@1000000002 : Codeunit 408;
        BEGIN
          PaymHist."No. of Transactions":=PaymHist."No. of Transactions"+1;
          IF Propline.Docket THEN
            PaymHist."Print Docket":=TRUE;
          PaymHist.MODIFY(TRUE);
    
          PaymentHistLine."Our Bank":=PaymHist."Our Bank";
          PaymentHistLine."Run No.":=PaymHist."Run No.";
          PaymentHistLine."Line No.":=PaymHist."No. of Transactions";
          PaymentHistLine.Status:=PaymentHistLine.Status::New;
    
          PaymentHistLine."Account Type":=Propline."Account Type";
          PaymentHistLine."Account No.":=Propline."Account No.";
          PaymentHistLine.Date:=Propline."Transaction Date";
          PaymentHistLine.Amount:=Propline.Amount;
          PaymentHistLine.Bank:=Propline.Bank;
          PaymentHistLine."Bank Account No.":=Propline."Bank Account No.";
    
          PaymentHistLine."Description 1":=Propline."Description 1";
          PaymentHistLine."Description 2":=Propline."Description 2";
          PaymentHistLine."Description 3":=Propline."Description 3";
          PaymentHistLine."Description 4":=Propline."Description 4";
          PaymentHistLine.Identification:=Propline.Identification;
    
          PaymentHistLine."Account Holder Name":=Propline."Account Holder Name";
          PaymentHistLine."Account Holder Address":=Propline."Account Holder Address";
          PaymentHistLine."Account Holder Post Code":=Propline."Account Holder Post Code";
          PaymentHistLine."Account Holder City":=Propline."Account Holder City";
          PaymentHistLine."Acc. Hold. Country/Region Code":=Propline."Acc. Hold. Country/Region Code";
          PaymentHistLine."National Bank Code":=Propline."National Bank Code";
          PaymentHistLine."SWIFT Code":=Propline."SWIFT Code";
          PaymentHistLine.IBAN := Propline.IBAN;
          PaymentHistLine."Direct Debit Mandate ID" := Propline."Direct Debit Mandate ID";
          PaymentHistLine."Abbrev. National Bank Code" := Propline."Abbrev. National Bank Code";
          PaymentHistLine."Bank Name":=Propline."Bank Name";
          PaymentHistLine."Bank Address":=Propline."Bank Address";
          PaymentHistLine."Bank City":=Propline."Bank City";
          PaymentHistLine."Bank Country/Region":=Propline."Bank Country/Region Code";
          PaymentHistLine."Transfer Cost Domestic":=Propline."Transfer Cost Domestic";
          PaymentHistLine."Transfer Cost Foreign":=Propline."Transfer Cost Foreign";
    
          PaymentHistLine."Currency Code":=Propline."Currency Code";
          PaymentHistLine.Order:=Propline.Order;
          PaymentHistLine."Transaction Mode":=Propline."Transaction Mode";
          PaymentHistLine.Docket:=Propline.Docket;
    
          PaymentHistLine."Nature of the Payment":=Propline."Nature of the Payment";
          PaymentHistLine."Registration No. DNB":=Propline."Registration No. DNB";
          PaymentHistLine."Description Payment":=Propline."Description Payment";
          PaymentHistLine."Item No.":=Propline."Item No.";
          PaymentHistLine."Traders No.":=Propline."Traders No.";
          PaymentHistLine.Urgent:=Propline.Urgent;
    
          IF ((PaymentHistLine.Order=PaymentHistLine.Order::Credit) AND
              (PaymentHistLine."Account Type"=PaymentHistLine."Account Type"::Vendor)) OR
             ((PaymentHistLine.Order=PaymentHistLine.Order::Credit)  AND
              (PaymentHistLine."Account Type"=PaymentHistLine."Account Type"::Customer))
          THEN
            PaymentHistLine."Payment/Receipt":=PaymentHistLine."Payment/Receipt"::Receipt
          ELSE
            PaymentHistLine."Payment/Receipt":=PaymentHistLine."Payment/Receipt"::Payment;
    
          PaymentHistLine."Foreign Currency" := Propline."Foreign Currency";
          PaymentHistLine."Foreign Amount" := Propline."Foreign Amount";
    
          FromJnlDim.SETRANGE("Table ID", DATABASE::"Proposal Line");
          FromJnlDim.SETRANGE("Journal Template Name", Propline."Our Bank No.");
          FromJnlDim.SETRANGE("Journal Line No.", Propline."Line No.");
    
          ToJnlDim."Table ID" := DATABASE::"Payment History Line";
          ToJnlDim."Journal Template Name" := PaymHist."Our Bank";
          ToJnlDim."Journal Batch Name" := PaymHist."Run No.";
          ToJnlDim."Journal Line No." := PaymentHistLine."Line No.";
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(FromJnlDim, ToJnlDim);
    
          PaymentHistLine."Global Dimension 1 Code" := Propline."Shortcut Dimension 1 Code";
          PaymentHistLine."Global Dimension 2 Code" := Propline."Shortcut Dimension 2 Code";
    
          IF ((PaymentHistLine.Order = PaymentHistLine.Order::Credit) AND
              (PaymentHistLine."Account Type" = PaymentHistLine."Account Type"::Customer))
          THEN
            UpdateDirectDebitMandate(PaymentHistLine);
    
          PaymentHistLine.INSERT(TRUE);
    
          "Detail line".SETCURRENTKEY("Our Bank",Status,"Connect Batches","Connect Lines");
          "Detail line".SETRANGE("Our Bank",Propline."Our Bank No.");
          "Detail line".SETRANGE(Status,"Detail line".Status::Proposal);
          "Detail line".SETRANGE("Connect Batches",'');
          "Detail line".SETRANGE("Connect Lines",Propline."Line No.");
          WHILE "Detail line".FIND('-') DO BEGIN
            "Detail line".Status:="Detail line".Status::"In process";
            "Detail line"."Connect Batches":=PaymentHistLine."Run No.";
            "Detail line"."Connect Lines":=PaymentHistLine."Line No.";
            "Detail line".MODIFY(TRUE);
          END;
          TelebankFinancialConnection.PostPaymReceived(GenJnlLine,PaymentHistLine,TempJournalLineDimension,PaymHist);
        END;
    
        PROCEDURE CreatePaymentHistoryLine2@1000000005(ProposalLine@1000000 : Record 11000000;VAR PaymentHistLine@1000001 : Record 11000002);
        VAR
          "Detail line"@1000003 : Record 11000003;
          FromJnlDim@1000000000 : Record 356;
          DimManagement@1000000002 : Codeunit 408;
        BEGIN
          //FLXXS-BEGIN
          PaymentHistLine."Our Bank" := ProposalLine."Our Bank No.";
          PaymentHistLine."Line No." := ProposalLine."Line No.";
          PaymentHistLine.Status := PaymentHistLine.Status::New;
    
          PaymentHistLine."Account Type" := ProposalLine."Account Type";
          PaymentHistLine."Account No." := ProposalLine."Account No.";
          PaymentHistLine.Date := ProposalLine."Transaction Date";
          PaymentHistLine.Amount := ProposalLine.Amount;
          PaymentHistLine.Bank := ProposalLine.Bank;
          PaymentHistLine."Bank Account No." := ProposalLine."Bank Account No.";
    
          PaymentHistLine."Description 1" := ProposalLine."Description 1";
          PaymentHistLine."Description 2" := ProposalLine."Description 2";
          PaymentHistLine."Description 3" := ProposalLine."Description 3";
          PaymentHistLine."Description 4" := ProposalLine."Description 4";
          PaymentHistLine.Identification := ProposalLine.Identification;
    
          PaymentHistLine."Account Holder Name" := ProposalLine."Account Holder Name";
          PaymentHistLine."Account Holder Address" := ProposalLine."Account Holder Address";
          PaymentHistLine."Account Holder Post Code" := ProposalLine."Account Holder Post Code";
          PaymentHistLine."Account Holder City" := ProposalLine."Account Holder City";
          PaymentHistLine."Acc. Hold. Country/Region Code" := ProposalLine."Acc. Hold. Country/Region Code";
          PaymentHistLine."National Bank Code" := ProposalLine."National Bank Code";
          PaymentHistLine."SWIFT Code" := ProposalLine."SWIFT Code";
          PaymentHistLine.IBAN := ProposalLine.IBAN;
          PaymentHistLine."Direct Debit Mandate ID" := ProposalLine."Direct Debit Mandate ID";
          PaymentHistLine."Abbrev. National Bank Code" := ProposalLine."Abbrev. National Bank Code";
          PaymentHistLine."Bank Name" := ProposalLine."Bank Name";
          PaymentHistLine."Bank Address" := ProposalLine."Bank Address";
          PaymentHistLine."Bank City" := ProposalLine."Bank City";
          PaymentHistLine."Bank Country/Region" := ProposalLine."Bank Country/Region Code";
          PaymentHistLine."Transfer Cost Domestic" := ProposalLine."Transfer Cost Domestic";
          PaymentHistLine."Transfer Cost Foreign" := ProposalLine."Transfer Cost Foreign";
    
          PaymentHistLine."Currency Code" := ProposalLine."Currency Code";
          PaymentHistLine.Order := ProposalLine.Order;
          PaymentHistLine."Transaction Mode" := ProposalLine."Transaction Mode";
          PaymentHistLine.Docket := ProposalLine.Docket;
    
          PaymentHistLine."Nature of the Payment" := ProposalLine."Nature of the Payment";
          PaymentHistLine."Registration No. DNB" := ProposalLine."Registration No. DNB";
          PaymentHistLine."Description Payment" := ProposalLine."Description Payment";
          PaymentHistLine."Item No." := ProposalLine."Item No.";
          PaymentHistLine."Traders No." := ProposalLine."Traders No.";
          PaymentHistLine.Urgent := ProposalLine.Urgent;
    
          IF ((PaymentHistLine.Order=PaymentHistLine.Order::Credit) AND
              (PaymentHistLine."Account Type"=PaymentHistLine."Account Type"::Vendor)) OR
             ((PaymentHistLine.Order=PaymentHistLine.Order::Credit)  AND
              (PaymentHistLine."Account Type"=PaymentHistLine."Account Type"::Customer))
          THEN
            PaymentHistLine."Payment/Receipt" := PaymentHistLine."Payment/Receipt"::Receipt
          ELSE
            PaymentHistLine."Payment/Receipt" := PaymentHistLine."Payment/Receipt"::Payment;
    
          PaymentHistLine."Foreign Currency" := ProposalLine."Foreign Currency";
          PaymentHistLine."Foreign Amount" := ProposalLine."Foreign Amount";
    
          FromJnlDim.SETRANGE("Table ID", DATABASE::"Proposal Line");
          FromJnlDim.SETRANGE("Journal Template Name", ProposalLine."Our Bank No.");
          FromJnlDim.SETRANGE("Journal Line No.", ProposalLine."Line No.");
    
          TempJnlDim."Table ID" := DATABASE::"Payment History Line";
          TempJnlDim."Journal Template Name" := PaymHist."Our Bank";
          TempJnlDim."Journal Batch Name" := PaymHist."Run No.";
          TempJnlDim."Journal Line No." := PaymentHistLine."Line No.";
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(FromJnlDim,TempJnlDim);
    
          PaymentHistLine."Global Dimension 1 Code" := ProposalLine."Shortcut Dimension 1 Code";
          PaymentHistLine."Global Dimension 2 Code" := ProposalLine."Shortcut Dimension 2 Code";
    
          IF ((PaymentHistLine.Order = PaymentHistLine.Order::Credit) AND
              (PaymentHistLine."Account Type" = PaymentHistLine."Account Type"::Customer))
          THEN
            UpdateDirectDebitMandate(PaymentHistLine);
    
          PaymentHistLine.INSERT(TRUE);
          //FLXXS-END
        END;
    
        PROCEDURE InsertPaymentHistoryLine2@1000000012(PaymHistLine2@1000000 : Record 11000002;VAR PaymHist@1000001 : Record 11000001);
        VAR
          PaymentHistLine@1000002 : Record 11000002;
          DetailLine@1000003 : Record 11000003;
          ToJnlDim@1000000001 : Record 356;
          DimManagement@1000000002 : Codeunit 408;
        BEGIN
          //FLXXS-BEGIN
          CLEAR(PaymentHistLine);
          PaymentHistLine := PaymHistLine2;
    
          PaymHist."No. of Transactions" := PaymHist."No. of Transactions" + 1;
          IF PaymentHistLine.Docket THEN
            PaymHist."Print Docket":=TRUE;
          PaymHist.MODIFY(TRUE);
    
          PaymentHistLine."Run No." := PaymHist."Run No.";
    
          TempJnlDim.SETRANGE("Table ID", DATABASE::"Payment History Line");
          TempJnlDim.SETRANGE("Journal Template Name", PaymHistLine2."Our Bank");
          TempJnlDim.SETRANGE("Journal Line No.", PaymHistLine2."Line No.");
    
          ToJnlDim."Table ID" := DATABASE::"Payment History Line";
          ToJnlDim."Journal Template Name" := PaymHist."Our Bank";
          ToJnlDim."Journal Batch Name" := PaymHist."Run No.";
          ToJnlDim."Journal Line No." := PaymentHistLine."Line No.";
    
          DimManagement.CopyJnlLineDimToOtherJnlLnDim(TempJnlDim,ToJnlDim);
    
          PaymentHistLine.INSERT(TRUE);
    
          DetailLine.SETCURRENTKEY("Our Bank",Status,"Connect Batches","Connect Lines");
          DetailLine.SETRANGE("Our Bank",PaymHistLine2."Our Bank");
          DetailLine.SETRANGE(Status,DetailLine.Status::Proposal);
          DetailLine.SETRANGE("Connect Batches",'');
          DetailLine.SETRANGE("Connect Lines",PaymHistLine2."Line No.");
          WHILE DetailLine.FIND('-') DO BEGIN
            DetailLine.Status:=DetailLine.Status::"In process";
            DetailLine."Connect Batches":=PaymentHistLine."Run No.";
            DetailLine."Connect Lines":=PaymentHistLine."Line No.";
            DetailLine.MODIFY(TRUE);
          END;
          TelebankFinancialConnection.PostPaymReceived(GenJnlLine,PaymentHistLine,TempJournalLineDimension,PaymHist);
          //FLXXS-END
        END;
    
        PROCEDURE DeleteProposalLines@1000006(VAR ProposalLine@1000000 : Record 11000000);
        BEGIN
          //FLXXS-BEGIN
          //Prop.DELETE(TRUE);
          ProposalLine.DELETEALL(TRUE);
          //FLXXS-END
        END;
    
        PROCEDURE FinalError@1000009() Res@1000000 : Text[125];
        BEGIN
          EXIT(Errortext);
        END;
    
        PROCEDURE FinalWarning@1000010() Res@1000000 : Text[125];
        BEGIN
          EXIT(Warningstext);
        END;
    
        PROCEDURE GetAccountnumber@1000011() Acc@1000000 : Text[30];
        BEGIN
          EXIT(AccountNo);
        END;
    
        LOCAL PROCEDURE UpdateDirectDebitMandate@1000007(VAR PaymentHistoryLine@1000000 : Record 11000002);
        VAR
          DirectDebitMandate@1000001 : Record 1230;
        BEGIN
          IF DirectDebitMandate.GET(PaymentHistoryLine."Direct Debit Mandate ID") THEN BEGIN
            DirectDebitMandate.VALIDATE("Debit Counter",DirectDebitMandate."Debit Counter" + 1);
            DirectDebitMandate.MODIFY(TRUE);
    
            PaymentHistoryLine.VALIDATE("Direct Debit Mandate Counter",DirectDebitMandate."Debit Counter");
          END;
        END;
    
        BEGIN
        {
          FLXXS 20131119 LVV - Separate Payment History per Sequence Type
        }
        END.
      }
    }
    
    Luc van Vugt, fluxxus.nl
    Never stop learning
    Van Vugt's dynamiXs
    Dutch Dynamics Community
  • marcgernermarcgerner Member Posts: 6
    Goedemorgen,

    Ik heb een klant waarvan de bank inderdaad aangeeft dat het Sequence Type ontbreekt... Jullie hebben het hier over een Sequence Type dat al mee gestuurd wordt, maar dat de bestanden apart moeten worden aangeleverd aan de bank. Nou heb ik gekeken in de hotfix die voor Direct Debit uitgekomen is vanuit MS, maar daar staat het Sequence Type helemaal niet in! Klopt het dat we dat zelf nog in elkaar moeten fietsen? Zo ja, hebben jullie de code toevallig al voor me? Dat scheelt weer wat uitzoekwerk ;-).

    Thanks!
  • tinoruijstinoruijs Member Posts: 1,226
    Je vind Sequence Type in de betaalrunregel-tabel en ook in het rapport "SEPA ISO20022".
    In dat rapport vind je ook PmtMtd DD. Dat is de code die aangeeft dat je met incasso te maken hebt.
    Nog even goed zoeken in de hotfix dus.

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • marcgernermarcgerner Member Posts: 6
    Hoi Tino,

    Thanks voor het antwoord! Ben ik nou zo suf dat ik eroverheen kijk? Voor zover bij mij bekend is alleen deze hotfix voor 2009R2 uitgebracht: https://mbs.microsoft.com/partnersource ... EPANLdebit

    In die hotfix zit geen Sequence Type veld in tabel Payment History Line. Kijk ik eroverheen of gebruik ik de verkeerde hotfix? :oops:

    Marc
  • tinoruijstinoruijs Member Posts: 1,226
    Er staan twee te downloaden bestanden; je hebt "​Netherlands - SEPA Credit Transfer and Direct Debit -
    Payment Grouping Update​" ook nodig.

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • marcgernermarcgerner Member Posts: 6
    Hoi Tino,

    Ik ben dus inderdaad zo suf dat ik eroverheen kijk... Thanks voor je hulp!

    Marc
  • tinoruijstinoruijs Member Posts: 1,226
    Graag gedaan. Ik mag deze maand nog een klant overhelpen naar SEPA incasso, dus ik blijf graag op de hoogte. ;-)

    Tino Ruijs
    Microsoft Dynamics NAV specialist
  • souoiksouoik Member Posts: 128
    @tinoruijs hi it is SEPA DD Core Good With you am workingto put this payment method on nav 2017 can you please help me , the SEPA was export from the slipe payment , if you have any adea share with me thank you
Sign In or Register to comment.