Codeunit 6112 Customer Data Migration Facade
- App
- Base Application
- Namespace
- System.Integration
- Versions
- 17-28
Procedures, 74Events, 4Obsolete, 1
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/System/DataMigration/CustomerDataMigrationFacade.Codeunit.al713 lines, Copyright (c) Microsoft Corporation. MIT
namespace System.Integration;
using Microsoft.Finance.Dimension;
using Microsoft.Finance.GeneralLedger.Journal;
using Microsoft.Sales.Customer;
using Microsoft.Sales.Pricing;
codeunit 6112 "Customer Data Migration Facade"
{
TableNo = "Data Migration Parameters";
trigger OnRun()
var
DataMigrationStatusFacade: Codeunit "Data Migration Status Facade";
ChartOfAccountsMigrated: Boolean;
begin
ChartOfAccountsMigrated := DataMigrationStatusFacade.HasMigratedChartOfAccounts(Rec);
if Rec.FindSet() then
repeat
OnMigrateCustomer(Rec."Staging Table RecId To Process");
OnMigrateCustomerDimensions(Rec."Staging Table RecId To Process");
// migrate transactions for this customer
OnMigrateCustomerPostingGroups(Rec."Staging Table RecId To Process", ChartOfAccountsMigrated);
OnMigrateCustomerTransactions(Rec."Staging Table RecId To Process", ChartOfAccountsMigrated);
GenJournalLineIsSet := false;
CustomerIsSet := false;
until Rec.Next() = 0;
end;
var
GlobalCustomer: Record Customer;
GlobalGenJournalLine: Record "Gen. Journal Line";
DataMigrationFacadeHelper: Codeunit "Data Migration Facade Helper";
CustomerIsSet: Boolean;
GenJournalLineIsSet: Boolean;
InternalCustomerNotSetErr: Label 'Internal Customer is not set. Create it first.';
InternalGenJournalLineNotSetErr: Label 'Internal Gen. Journal Line is not set. Create it first.';
InternalCustomerPostingSetupNotSetErr: Label 'Internal Customer Posting Setup is not set. Create it first.';
[IntegrationEvent(true, false)]
local procedure OnMigrateCustomer(RecordIdToMigrate: RecordID)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnMigrateCustomerDimensions(RecordIdToMigrate: RecordID)
begin
end;
procedure CreateCustomerIfNeeded(CustomerNoToSet: Code[20]; CustomerNameToSet: Text[100]): Boolean
var
Customer: Record Customer;
begin
if Customer.Get(CustomerNoToSet) then begin
GlobalCustomer := Customer;
CustomerIsSet := true;
exit;
end;
Customer.Init();
Customer.Validate("No.", CustomerNoToSet);
Customer.Validate(Name, CustomerNameToSet);
Customer.Insert(true);
GlobalCustomer := Customer;
CustomerIsSet := true;
exit(true);
end;
procedure CreatePostingSetupIfNeeded(CustomerPostingGroupCode: Code[20]; CustomerPostingGroupDescription: Text[50]; ReceivablesAccount: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then begin
CustomerPostingGroup.Init();
CustomerPostingGroup.Validate(Code, CustomerPostingGroupCode);
CustomerPostingGroup.Validate(Description, CustomerPostingGroupDescription);
CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount);
CustomerPostingGroup.Insert(true);
end else
if CustomerPostingGroup."Receivables Account" <> ReceivablesAccount then begin
CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount);
CustomerPostingGroup.Modify(true);
end;
end;
procedure CreateGeneralJournalBatchIfNeeded(GeneralJournalBatchCode: Code[10]; NoSeriesCode: Code[20]; PostingNoSeriesCode: Code[20])
begin
DataMigrationFacadeHelper.CreateGeneralJournalBatchIfNeeded(GeneralJournalBatchCode, NoSeriesCode, PostingNoSeriesCode);
end;
procedure CreateGeneralJournalLine(GeneralJournalBatchCode: Code[10]; DocumentNo: Code[20]; Description: Text[50]; PostingDate: Date; DueDate: Date; Amount: Decimal; AmountLCY: Decimal; Currency: Code[10]; BalancingAccount: Code[20])
begin
DataMigrationFacadeHelper.CreateGeneralJournalLine(GlobalGenJournalLine,
GeneralJournalBatchCode,
DocumentNo,
Description,
GlobalGenJournalLine."Account Type"::Customer,
GlobalCustomer."No.",
PostingDate,
DueDate,
Amount,
AmountLCY,
Currency,
BalancingAccount);
GenJournalLineIsSet := true;
end;
procedure SetGeneralJournalLineDimension(DimensionCode: Code[20]; DimensionDescription: Text[50]; DimensionValueCode: Code[20]; DimensionValueName: Text[50])
var
DataMigrationFacadeHelper: Codeunit "Data Migration Facade Helper";
begin
if not GenJournalLineIsSet then
Error(InternalGenJournalLineNotSetErr);
GlobalGenJournalLine.Validate("Dimension Set ID",
DataMigrationFacadeHelper.CreateDimensionSetId(GlobalGenJournalLine."Dimension Set ID",
DimensionCode, DimensionDescription,
DimensionValueCode, DimensionValueName));
GlobalGenJournalLine.Modify(true);
end;
procedure SetGeneralJournalLineDocumentType(DocumentTypeToSet: Option " ",Payment,Invoice,"Credit Memo","Finance Charge Memo",Reminder,Refund)
begin
if not GenJournalLineIsSet then
Error(InternalGenJournalLineNotSetErr);
GlobalGenJournalLine.Validate("Document Type", DocumentTypeToSet);
GlobalGenJournalLine.Modify(true);
end;
procedure SetGeneralJournalLineSourceCode(SourceCodeToSet: Code[10])
begin
if not GenJournalLineIsSet then
Error(InternalGenJournalLineNotSetErr);
GlobalGenJournalLine.Validate("Source Code", SourceCodeToSet);
GlobalGenJournalLine.Modify(true);
end;
procedure SetGeneralJournalLineExternalDocumentNo(ExternalDocumentNoToSet: Code[35])
begin
if not GenJournalLineIsSet then
Error(InternalGenJournalLineNotSetErr);
GlobalGenJournalLine.Validate("External Document No.", ExternalDocumentNoToSet);
GlobalGenJournalLine.Modify(true);
end;
procedure SetGeneralJournalLineSalesPersonCode(SalespersonCodeToSet: Code[20])
begin
if not GenJournalLineIsSet then
Error(InternalGenJournalLineNotSetErr);
GlobalGenJournalLine.Validate("Salespers./Purch. Code", SalespersonCodeToSet);
GlobalGenJournalLine.Modify(true);
end;
procedure SetGeneralJournalLinePaymentTerms(PaymentTermsCodeToSet: Code[10])
begin
if not GenJournalLineIsSet then
Error(InternalGenJournalLineNotSetErr);
GlobalGenJournalLine.Validate("Payment Terms Code", PaymentTermsCodeToSet);
GlobalGenJournalLine.Modify(true);
end;
procedure SetGlobalCustomer(CustomerNo: Code[20]): Boolean
begin
CustomerIsSet := GlobalCustomer.Get(CustomerNo);
exit(CustomerIsSet);
end;
procedure ModifyCustomer(RunTrigger: Boolean)
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Modify(RunTrigger);
end;
procedure SetSearchName(SearchNameToSet: Code[50])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Search Name", SearchNameToSet);
end;
procedure DoesCustomerExist(CustomerNo: Code[20]): Boolean
var
Customer: Record Customer;
begin
exit(Customer.Get(CustomerNo));
end;
procedure SetAddress(AdressToSet: Text[50]; Adress2ToSet: Text[50]; CountryRegionCodeToSet: Code[10]; PostCodeToSet: Code[20]; CityToSet: Text[30])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate(Address, AdressToSet);
GlobalCustomer.Validate("Address 2", Adress2ToSet);
GlobalCustomer.Validate("Country/Region Code", CountryRegionCodeToSet);
GlobalCustomer.Validate("Post Code", PostCodeToSet);
GlobalCustomer.Validate(City, CityToSet);
end;
procedure SetPhoneNo(PhoneNoToSet: Text[30])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Phone No.", PhoneNoToSet);
end;
procedure SetTelexNo(TelexNoToSet: Text[20])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Telex No.", TelexNoToSet);
end;
procedure SetCreditLimitLCY(CreditLimitToSet: Decimal)
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Credit Limit (LCY)", CreditLimitToSet);
end;
procedure SetCurrencyCode(CurrencyCodeToSet: Code[10])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Currency Code", DataMigrationFacadeHelper.FixIfLcyCode(CurrencyCodeToSet));
end;
procedure SetCustomerPriceGroup(CustomerPriceGroupToSet: Code[10])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Customer Price Group", CustomerPriceGroupToSet);
end;
procedure SetGenBusPostingGroup(GenBusPostingGroupToSet: Code[10])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Gen. Bus. Posting Group", GenBusPostingGroupToSet);
end;
procedure SetLanguageCode(LanguageCodeToSet: Code[10])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Language Code", LanguageCodeToSet);
end;
procedure SetShipmentMethodCode(ShipmentMethodCodeToSet: Code[10])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Shipment Method Code", ShipmentMethodCodeToSet);
end;
procedure SetPaymentTermsCode(PaymentTermsCodeToSet: Code[10])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Payment Terms Code", PaymentTermsCodeToSet);
end;
procedure SetSalesPersonCode(SalespersonCodeToSet: Code[20])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Salesperson Code", SalespersonCodeToSet);
end;
procedure SetInvoiceDiscCode(InvoiceDiscCodeToSet: Code[20])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Invoice Disc. Code", InvoiceDiscCodeToSet);
end;
procedure SetBlocked(BlockedTypeToSet: Enum "Customer Blocked")
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate(Blocked, BlockedTypeToSet);
end;
procedure SetFaxNo(FaxNoToSet: Text[30])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Fax No.", FaxNoToSet);
end;
procedure SetVATRegistrationNo(VatRegistrationNoToSet: Text[20])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("VAT Registration No.", VatRegistrationNoToSet);
end;
procedure SetHomePage(HomePageToSet: Text[80])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Home Page", HomePageToSet);
end;
procedure SetBillToCustomerNo(BillToCustomerToSet: Code[20])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Bill-to Customer No.", BillToCustomerToSet);
end;
procedure SetPaymentMethodCode(PaymentMethodCodeToSet: Code[10])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Payment Method Code", PaymentMethodCodeToSet);
end;
procedure SetContact(ContactToSet: Text[50])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate(Contact, ContactToSet);
end;
procedure SetLastDateModified(LastDateModifiedToSet: Date)
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Last Date Modified", LastDateModifiedToSet);
end;
procedure SetLastModifiedDateTime(LastModifiedDateTimeToSet: DateTime)
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Last Modified Date Time", LastModifiedDateTimeToSet);
end;
procedure SetTaxLiable(TaxLiable: Boolean)
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Tax Liable", TaxLiable);
end;
procedure SetTaxAreaCode(TaxAreaCodeToSet: Code[20])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Tax Area Code", TaxAreaCodeToSet);
end;
procedure SetEmail(EmailToSet: Text[80])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("E-Mail", EmailToSet);
end;
procedure SetName2(Name2: Text[50])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Name 2", Name2);
end;
procedure SetTerritoryCode(TerritoryCode: Code[10])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Territory Code", TerritoryCode);
end;
procedure SetPrintStatement(PrintStatement: Boolean)
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
GlobalCustomer.Validate("Print Statements", PrintStatement);
end;
procedure CreateDefaultDimensionAndRequirementsIfNeeded(DimensionCode: Text[20]; DimensionDescription: Text[50]; DimensionValueCode: Code[20]; DimensionValueName: Text[50])
var
Dimension: Record Dimension;
DimensionValue: Record "Dimension Value";
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
DataMigrationFacadeHelper.GetOrCreateDimension(DimensionCode, DimensionDescription, Dimension);
DataMigrationFacadeHelper.GetOrCreateDimensionValue(Dimension.Code, DimensionValueCode, DimensionValueName,
DimensionValue);
DataMigrationFacadeHelper.CreateOnlyDefaultDimensionIfNeeded(Dimension.Code, DimensionValue.Code,
DATABASE::Customer, GlobalCustomer."No.");
end;
procedure CreateCustomerDiscountGroupIfNeeded(CodeToSet: Code[20]; DescriptionToSet: Text[50]): Code[20]
var
CustomerDiscountGroup: Record "Customer Discount Group";
begin
if CustomerDiscountGroup.Get(CodeToSet) then
exit(CodeToSet);
CustomerDiscountGroup.Init();
CustomerDiscountGroup.Validate(Code, CodeToSet);
CustomerDiscountGroup.Validate(Description, DescriptionToSet);
CustomerDiscountGroup.Insert(true);
exit(CustomerDiscountGroup.Code);
end;
procedure CreateShipmentMethodIfNeeded(CodeToSet: Code[10]; DescriptionToSet: Text[50]): Code[10]
begin
exit(DataMigrationFacadeHelper.CreateShipmentMethodIfNeeded(CodeToSet, DescriptionToSet));
end;
procedure CreateSalespersonPurchaserIfNeeded(CodeToSet: Code[20]; NameToSet: Text[50]; PhoneNoToSet: Text[30]; EmailToSet: Text[80]): Code[20]
begin
exit(DataMigrationFacadeHelper.CreateSalespersonPurchaserIfNeeded(CodeToSet, NameToSet, PhoneNoToSet, EmailToSet));
end;
procedure CreateCustomerPriceGroupIfNeeded(CodeToSet: Code[10]; DescriptionToSet: Text[50]; PriceIncludesVatToSet: Boolean): Code[10]
begin
exit(DataMigrationFacadeHelper.CreateCustomerPriceGroupIfNeeded(CodeToSet, DescriptionToSet, PriceIncludesVatToSet));
end;
procedure CreatePaymentTermsIfNeeded(CodeToSet: Code[10]; DescriptionToSet: Text[50]; DueDateCalculationToSet: DateFormula): Code[10]
begin
exit(DataMigrationFacadeHelper.CreatePaymentTermsIfNeeded(CodeToSet, DescriptionToSet, DueDateCalculationToSet));
end;
procedure CreatePaymentMethodIfNeeded(CodeToSet: Code[10]; DescriptionToSet: Text[50]): Code[10]
begin
exit(DataMigrationFacadeHelper.CreatePaymentMethodIfNeeded(CodeToSet, DescriptionToSet));
end;
procedure CreateTerritoryCodeIfNeeded(TerritoryCodeToSet: Code[10]; TerritoryNameToSet: Text[50]): Code[10]
begin
exit(DataMigrationFacadeHelper.CreateTerritoryIfNeeded(TerritoryCodeToSet, TerritoryNameToSet));
end;
procedure CreateTaxAreaIfNeeded(TaxAreaCodeToSet: Code[20]; TaxDescriptionToSet: Text[50]): Code[20]
begin
exit(DataMigrationFacadeHelper.CreateTaxAreaIfNeeded(TaxAreaCodeToSet, TaxDescriptionToSet));
end;
procedure DoesPostCodeExist(CodeToSearch: Code[20]; CityToSearch: Text[30]): Boolean
begin
exit(DataMigrationFacadeHelper.DoesPostCodeExist(CodeToSearch, CityToSearch));
end;
procedure CreatePostCodeIfNeeded(CodeToSet: Code[20]; CityToSet: Text[30]; CountyToSet: Text[30]; CountryRegionCodeToSet: Code[10]): Boolean
begin
exit(DataMigrationFacadeHelper.CreatePostCodeIfNeeded(CodeToSet, CityToSet, CountyToSet, CountryRegionCodeToSet));
end;
procedure CreateCountryIfNeeded(CodeToSet: Code[10]; NameToSet: Text[50]; AddressFormatToSet: Option "Post Code+City","City+Post Code","City+County+Post Code","Blank Line+Post Code+City"; ContactAddressFormatToSet: Option First,"After Company Name",Last): Code[10]
begin
exit(DataMigrationFacadeHelper.CreateCountryIfNeeded(CodeToSet, NameToSet, AddressFormatToSet, ContactAddressFormatToSet));
end;
procedure SearchCountry(CodeToSearch: Code[10]; NameToSearch: Text[50]; EUCountryRegionCodeToSearch: Code[10]; IntrastatCodeToSet: Code[10]; var CodeToGet: Code[10]): Boolean
begin
exit(
DataMigrationFacadeHelper.SearchCountry(CodeToSearch, NameToSearch, EUCountryRegionCodeToSearch, IntrastatCodeToSet, CodeToGet));
end;
procedure SearchLanguage(AbbreviatedNameToSearch: Code[3]; var CodeToGet: Code[10]): Boolean
begin
exit(DataMigrationFacadeHelper.SearchLanguage(AbbreviatedNameToSearch, CodeToGet));
end;
procedure SetCustomerPostingGroup(CustomerPostingGroupCode: Code[20]): Boolean
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
exit;
GlobalCustomer.Validate("Customer Posting Group", CustomerPostingGroupCode);
exit(true);
end;
[IntegrationEvent(true, false)]
local procedure OnMigrateCustomerPostingGroups(RecordIdToMigrate: RecordID; ChartOfAccountsMigrated: Boolean)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnMigrateCustomerTransactions(RecordIdToMigrate: RecordID; ChartOfAccountsMigrated: Boolean)
begin
end;
procedure SetCustomerPostingGroupAccounts(CustomerPostingGroupCode: Code[20]; ReceivablesAccount: Code[20]; ServiceChargeAcc: Code[20]; PaymentDiscDebitAcc: Code[20]; InvoiceRoundingAccount: Code[20]; AdditionalFeeAccount: Code[20]; InterestAccount: Code[20]; DebitCurrApplnRndgAcc: Code[20]; CreditCurrApplnRndgAcc: Code[20]; DebitRoundingAccount: Code[20]; CreditRoundingAccount: Code[20]; PaymentDiscCreditAcc: Code[20]; PaymentToleranceDebitAcc: Code[20]; PaymentToleranceCreditAcc: Code[20]; AddFeePerLineAccount: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
exit;
CustomerPostingGroup.Validate("Receivables Account", ReceivablesAccount);
CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc);
CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc);
CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount);
CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount);
CustomerPostingGroup.Validate("Interest Account", InterestAccount);
CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc);
CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc);
CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount);
CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount);
CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc);
CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc);
CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc);
CustomerPostingGroup.Validate("Add. Fee per Line Account", AddFeePerLineAccount);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupServiceChargeAcc(CustomerPostingGroupCode: Code[20]; ServiceChargeAcc: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Service Charge Acc.", ServiceChargeAcc);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupPaymentDiscDebitAcc(CustomerPostingGroupCode: Code[20]; PaymentDiscDebitAcc: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Payment Disc. Debit Acc.", PaymentDiscDebitAcc);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupInvoiceRoundingAccount(CustomerPostingGroupCode: Code[20]; InvoiceRoundingAccount: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Invoice Rounding Account", InvoiceRoundingAccount);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupAdditionalFeeAccount(CustomerPostingGroupCode: Code[20]; AdditionalFeeAccount: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Additional Fee Account", AdditionalFeeAccount);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupInterestAccount(CustomerPostingGroupCode: Code[20]; InterestAccount: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Interest Account", InterestAccount);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupDebitCurrApplnRndgAcc(CustomerPostingGroupCode: Code[20]; DebitCurrApplnRndgAcc: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Debit Curr. Appln. Rndg. Acc.", DebitCurrApplnRndgAcc);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupCreditCurrApplnRndgAcc(CustomerPostingGroupCode: Code[20]; CreditCurrApplnRndgAcc: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Credit Curr. Appln. Rndg. Acc.", CreditCurrApplnRndgAcc);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupDebitRoundingAccount(CustomerPostingGroupCode: Code[20]; DebitRoundingAccount: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Debit Rounding Account", DebitRoundingAccount);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupCreditRoundingAccount(CustomerPostingGroupCode: Code[20]; CreditRoundingAccount: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Credit Rounding Account", CreditRoundingAccount);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupPaymentDiscCreditAcc(CustomerPostingGroupCode: Code[20]; PaymentDiscCreditAcc: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Payment Disc. Credit Acc.", PaymentDiscCreditAcc);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupPaymentToleranceDebitAcc(CustomerPostingGroupCode: Code[20]; PaymentToleranceDebitAcc: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Payment Tolerance Debit Acc.", PaymentToleranceDebitAcc);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupPaymentToleranceCreditAcc(CustomerPostingGroupCode: Code[20]; PaymentToleranceCreditAcc: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Payment Tolerance Credit Acc.", PaymentToleranceCreditAcc);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerPostingGroupAddFeePerLineAccount(CustomerPostingGroupCode: Code[20]; AddFeePerLineAccount: Code[20])
var
CustomerPostingGroup: Record "Customer Posting Group";
begin
if not CustomerPostingGroup.Get(CustomerPostingGroupCode) then
Error(InternalCustomerPostingSetupNotSetErr);
CustomerPostingGroup.Validate("Add. Fee per Line Account", AddFeePerLineAccount);
CustomerPostingGroup.Modify(true);
end;
procedure SetCustomerAlternativeContact(NameToSet: Text[50]; AddressToSet: Text[50]; Address2ToSet: Text[50]; PostCodeToSet: Code[20]; CityToSet: Text[30]; CountryToSet: Code[10]; EmailToset: Text[80]; PhoneNoToSet: Text[30]; FaxToSet: Text[30]; MobileNoToSet: Text[30])
begin
if not CustomerIsSet then
Error(InternalCustomerNotSetErr);
DataMigrationFacadeHelper.SetAlternativeContact(NameToSet, AddressToSet, Address2ToSet, PostCodeToSet, CityToSet, CountryToSet,
EmailToset, PhoneNoToSet, FaxToSet, MobileNoToSet, DATABASE::Customer, GlobalCustomer."No.");
end;
}