s4/AccountingDocuments.sql (841 lines of code) (raw):
WITH BSEG AS (
-------------------------------------------------------------------------
-- Subquery to flip "debit/credit" transactions with "positive" for debit
-- and "negative" for credit
SELECT
* EXCEPT (
DMBTR,
WRBTR,
KZBTR,
PSWBT,
TXBHW,
TXBFW,
MWSTS,
WMWST,
HWBAS,
FWBAS,
HWZUZ,
FWZUZ,
QSSHB,
GBETR,
BDIF2,
FDWBT,
SKFBT,
SKNTO,
WSKTO,
NEBTR,
DMBT1,
WRBT1,
DMBT2,
WRBT2,
DMBT3,
WRBT3,
BLNBT,
KLIBT,
QBSHB,
QSFBT,
REWRT,
REWWR,
BONFB,
DMBE2,
DMBE3,
DMB21,
DMB22,
DMB23,
DMB31,
DMB32,
DMB33,
MWST2,
MWST3,
NAVH2,
NAVH3,
SKNT2,
SKNT3,
BDIF3,
RDIF3,
TXBH2,
TXBH3,
STTAX,
PYAMT,
PENLC1,
PENLC2,
PENLC3,
PENFC
),
CASE
WHEN shkzg = 'S' THEN DMBTR -- When debit = keep it the way it is
WHEN shkzg = 'H' THEN DMBTR * -1 -- When credit = make it negative
ELSE DMBTR
END AS DMBTR,
CASE
WHEN shkzg = 'S' THEN WRBTR
WHEN shkzg = 'H' THEN WRBTR * -1
ELSE WRBTR
END AS WRBTR,
CASE
WHEN shkzg = 'S' THEN KZBTR
WHEN shkzg = 'H' THEN KZBTR * -1
ELSE KZBTR
END AS KZBTR,
CASE
WHEN shkzg = 'S' THEN PSWBT
WHEN shkzg = 'H' THEN PSWBT * -1
ELSE PSWBT
END AS PSWBT,
CASE
WHEN shkzg = 'S' THEN TXBHW
WHEN shkzg = 'H' THEN TXBHW * -1
ELSE TXBHW
END AS TXBHW,
CASE
WHEN shkzg = 'S' THEN TXBFW
WHEN shkzg = 'H' THEN TXBFW * -1
ELSE TXBFW
END AS TXBFW,
CASE
WHEN shkzg = 'S' THEN MWSTS
WHEN shkzg = 'H' THEN MWSTS * -1
ELSE MWSTS
END AS MWSTS,
CASE
WHEN shkzg = 'S' THEN WMWST
WHEN shkzg = 'H' THEN WMWST * -1
ELSE WMWST
END AS WMWST,
CASE
WHEN shkzg = 'S' THEN HWBAS
WHEN shkzg = 'H' THEN HWBAS * -1
ELSE HWBAS
END AS HWBAS,
CASE
WHEN shkzg = 'S' THEN FWBAS
WHEN shkzg = 'H' THEN FWBAS * -1
ELSE FWBAS
END AS FWBAS,
CASE
WHEN shkzg = 'S' THEN HWZUZ
WHEN shkzg = 'H' THEN HWZUZ * -1
ELSE HWZUZ
END AS HWZUZ,
CASE
WHEN shkzg = 'S' THEN FWZUZ
WHEN shkzg = 'H' THEN FWZUZ * -1
ELSE FWZUZ
END AS FWZUZ,
CASE
WHEN shkzg = 'S' THEN QSSHB
WHEN shkzg = 'H' THEN QSSHB * -1
ELSE QSSHB
END AS QSSHB,
CASE
WHEN shkzg = 'S' THEN GBETR
WHEN shkzg = 'H' THEN GBETR * -1
ELSE GBETR
END AS GBETR,
CASE
WHEN shkzg = 'S' THEN BDIF2
WHEN shkzg = 'H' THEN BDIF2 * -1
ELSE BDIF2
END AS BDIF2,
CASE
WHEN shkzg = 'S' THEN FDWBT
WHEN shkzg = 'H' THEN FDWBT * -1
ELSE FDWBT
END AS FDWBT,
CASE
WHEN shkzg = 'S' THEN SKFBT
WHEN shkzg = 'H' THEN SKFBT * -1
ELSE SKFBT
END AS SKFBT,
CASE
WHEN shkzg = 'S' THEN SKNTO
WHEN shkzg = 'H' THEN SKNTO * -1
ELSE SKNTO
END AS SKNTO,
CASE
WHEN shkzg = 'S' THEN WSKTO
WHEN shkzg = 'H' THEN WSKTO * -1
ELSE WSKTO
END AS WSKTO,
CASE
WHEN shkzg = 'S' THEN NEBTR
WHEN shkzg = 'H' THEN NEBTR * -1
ELSE NEBTR
END AS NEBTR,
CASE
WHEN shkzg = 'S' THEN DMBT1
WHEN shkzg = 'H' THEN DMBT1 * -1
ELSE DMBT1
END AS DMBT1,
CASE
WHEN shkzg = 'S' THEN WRBT1
WHEN shkzg = 'H' THEN WRBT1 * -1
ELSE WRBT1
END AS WRBT1,
CASE
WHEN shkzg = 'S' THEN DMBT2
WHEN shkzg = 'H' THEN DMBT2 * -1
ELSE DMBT2
END AS DMBT2,
CASE
WHEN shkzg = 'S' THEN WRBT2
WHEN shkzg = 'H' THEN WRBT2 * -1
ELSE WRBT2
END AS WRBT2,
CASE
WHEN shkzg = 'S' THEN DMBT3
WHEN shkzg = 'H' THEN DMBT3 * -1
ELSE DMBT3
END AS DMBT3,
CASE
WHEN shkzg = 'S' THEN WRBT3
WHEN shkzg = 'H' THEN WRBT3 * -1
ELSE WRBT3
END AS WRBT3,
CASE
WHEN shkzg = 'S' THEN BLNBT
WHEN shkzg = 'H' THEN BLNBT * -1
ELSE BLNBT
END AS BLNBT,
CASE
WHEN shkzg = 'S' THEN KLIBT
WHEN shkzg = 'H' THEN KLIBT * -1
ELSE KLIBT
END AS KLIBT,
CASE
WHEN shkzg = 'S' THEN QBSHB
WHEN shkzg = 'H' THEN QBSHB * -1
ELSE QBSHB
END AS QBSHB,
CASE
WHEN shkzg = 'S' THEN QSFBT
WHEN shkzg = 'H' THEN QSFBT * -1
ELSE QSFBT
END AS QSFBT,
CASE
WHEN shkzg = 'S' THEN REWRT
WHEN shkzg = 'H' THEN REWRT * -1
ELSE REWRT
END AS REWRT,
CASE
WHEN shkzg = 'S' THEN REWWR
WHEN shkzg = 'H' THEN REWWR * -1
ELSE REWWR
END AS REWWR,
CASE
WHEN shkzg = 'S' THEN BONFB
WHEN shkzg = 'H' THEN BONFB * -1
ELSE BONFB
END AS BONFB,
CASE
WHEN shkzg = 'S' THEN DMBE2
WHEN shkzg = 'H' THEN DMBE2 * -1
ELSE DMBE2
END AS DMBE2,
CASE
WHEN shkzg = 'S' THEN DMBE3
WHEN shkzg = 'H' THEN DMBE3 * -1
ELSE DMBE3
END AS DMBE3,
CASE
WHEN shkzg = 'S' THEN DMB21
WHEN shkzg = 'H' THEN DMB21 * -1
ELSE DMB21
END AS DMB21,
CASE
WHEN shkzg = 'S' THEN DMB22
WHEN shkzg = 'H' THEN DMB22 * -1
ELSE DMB22
END AS DMB22,
CASE
WHEN shkzg = 'S' THEN DMB23
WHEN shkzg = 'H' THEN DMB23 * -1
ELSE DMB23
END AS DMB23,
CASE
WHEN shkzg = 'S' THEN DMB31
WHEN shkzg = 'H' THEN DMB31 * -1
ELSE DMB31
END AS DMB31,
CASE
WHEN shkzg = 'S' THEN DMB32
WHEN shkzg = 'H' THEN DMB32 * -1
ELSE DMB32
END AS DMB32,
CASE
WHEN shkzg = 'S' THEN DMB33
WHEN shkzg = 'H' THEN DMB33 * -1
ELSE DMB33
END AS DMB33,
CASE
WHEN shkzg = 'S' THEN MWST2
WHEN shkzg = 'H' THEN MWST2 * -1
ELSE MWST2
END AS MWST2,
CASE
WHEN shkzg = 'S' THEN MWST3
WHEN shkzg = 'H' THEN MWST3 * -1
ELSE MWST3
END AS MWST3,
CASE
WHEN shkzg = 'S' THEN NAVH2
WHEN shkzg = 'H' THEN NAVH2 * -1
ELSE NAVH2
END AS NAVH2,
CASE
WHEN shkzg = 'S' THEN NAVH3
WHEN shkzg = 'H' THEN NAVH3 * -1
ELSE NAVH3
END AS NAVH3,
CASE
WHEN shkzg = 'S' THEN SKNT2
WHEN shkzg = 'H' THEN SKNT2 * -1
ELSE SKNT2
END AS SKNT2,
CASE
WHEN shkzg = 'S' THEN SKNT3
WHEN shkzg = 'H' THEN SKNT3 * -1
ELSE SKNT3
END AS SKNT3,
CASE
WHEN shkzg = 'S' THEN BDIF3
WHEN shkzg = 'H' THEN BDIF3 * -1
ELSE BDIF3
END AS BDIF3,
CASE
WHEN shkzg = 'S' THEN RDIF3
WHEN shkzg = 'H' THEN RDIF3 * -1
ELSE RDIF3
END AS RDIF3,
CASE
WHEN shkzg = 'S' THEN TXBH2
WHEN shkzg = 'H' THEN TXBH2 * -1
ELSE TXBH2
END AS TXBH2,
CASE
WHEN shkzg = 'S' THEN TXBH3
WHEN shkzg = 'H' THEN TXBH3 * -1
ELSE TXBH3
END AS TXBH3,
CASE
WHEN shkzg = 'S' THEN STTAX
WHEN shkzg = 'H' THEN STTAX * -1
ELSE STTAX
END AS STTAX,
CASE
WHEN shkzg = 'S' THEN PYAMT
WHEN shkzg = 'H' THEN PYAMT * -1
ELSE PYAMT
END AS PYAMT,
CASE
WHEN shkzg = 'S' THEN PENLC1
WHEN shkzg = 'H' THEN PENLC1 * -1
ELSE PENLC1
END AS PENLC1,
CASE
WHEN shkzg = 'S' THEN PENLC2
WHEN shkzg = 'H' THEN PENLC2 * -1
ELSE PENLC2
END AS PENLC2,
CASE
WHEN shkzg = 'S' THEN PENLC3
WHEN shkzg = 'H' THEN PENLC3 * -1
ELSE PENLC3
END AS PENLC3,
CASE
WHEN shkzg = 'S' THEN PENFC
WHEN shkzg = 'H' THEN PENFC * -1
ELSE PENFC
END AS PENFC
FROM
`{{ project_id_src }}.{{ dataset_cdc_processed_s4 }}.bseg`
)
SELECT
BKPF.MANDT AS Client_MANDT,
BKPF.BUKRS AS CompanyCode_BUKRS,
BKPF.BELNR AS AccountingDocumentNumber_BELNR,
BKPF.GJAHR AS FiscalYear_GJAHR,
BSEG.BUZEI AS NumberOfLineItemWithinAccountingDocument_BUZEI,
BKPF.BLART AS DocumentType_BLART,
BKPF.BLDAT AS DocumentDateInDocument_BLDAT,
BSEG.H_BUDAT AS PostingDateInTheDocument_BUDAT,
BKPF.MONAT AS FiscalPeriod_MONAT,
BKPF.CPUDT AS DayOnWhichAccountingDocumentWasEntered_CPUDT,
BKPF.CPUTM AS TimeOfEntry_CPUTM,
BKPF.AEDAT AS DateOfTheLastDocumentChangeByTransaction_AEDAT,
BKPF.UPDDT AS DateOfTheLastDocumentUpdate_UPDDT,
BKPF.WWERT AS TranslationDate_WWERT,
BKPF.USNAM AS UserName_USNAM,
BKPF.TCODE AS TransactionCode_TCODE,
BKPF.BVORG AS NumberOfACrossCompanyCodePostingTransaction_BVORG,
BKPF.XBLNR AS ReferenceDocumentNumber_XBLNR,
BKPF.DBBLG AS RecurringEntryDocumentNumber_DBBLG,
BKPF.STBLG AS ReverseDocumentNumber_STBLG,
BKPF.STJAH AS ReverseDocumentFiscalYear_STJAH,
BKPF.BKTXT AS DocumentHeaderText_BKTXT,
BKPF.WAERS AS CurrencyKey_WAERS,
BKPF.KURSF AS ExchangeRate_KURSF,
BKPF.KZWRS AS CurrencyKeyForTheGroupCurrency_KZWRS,
BKPF.KZKRS AS GroupCurrencyExchangeRate_KZKRS,
BKPF.BSTAT AS DocumentStatus_BSTAT,
BKPF.XNETB AS Indicator_DocumentPostedNet_XNETB,
BKPF.FRATH AS UnplannedDeliveryCosts_FRATH,
BKPF.XRUEB AS Indicator_DocumentIsPostedToAPreviousPeriod_XRUEB,
BKPF.GLVOR AS BusinessTransaction_GLVOR,
BKPF.GRPID AS BatchInputSessionName_GRPID,
BKPF.DOKID AS DocumentNameInTheArchiveSystem_DOKID,
BKPF.ARCID AS ExtractIdDocumentHeader_ARCID,
BKPF.IBLAR AS InternalDocumentTypeForDocumentControl_IBLAR,
BKPF.AWTYP AS ReferenceProcedure_AWTYP,
BKPF.AWKEY AS ObjectKey_AWKEY,
BKPF.FIKRS AS FinancialManagementArea_FIKRS,
BKPF.HWAER AS LocalCurrency_HWAER,
BKPF.HWAE2 AS CurrencyKeyOfSecondLocalCurrency_HWAE2,
BKPF.HWAE3 AS CurrencyKeyOfThirdLocalCurrency_HWAE3,
BKPF.KURS2 AS ExchangeRateForTheSecondLocalCurrency_KURS2,
BKPF.KURS3 AS ExchangeRateForTheThirdLocalCurrency_KURS3,
BKPF.BASW2 AS SourceCurrencyForCurrencyTranslation_BASW2,
BKPF.BASW3 AS SourceCurrencyForCurrencyTranslation_BASW3,
BKPF.UMRD2 AS TranslationDateTypeForSecondLocalCurrency_UMRD2,
BKPF.UMRD3 AS TranslationDateTypeForThirdLocalCurrency_UMRD3,
BKPF.XSTOV AS Indicator_DocumentIsFlaggedForReversal_XSTOV,
BKPF.STODT AS PlannedDateForTheReversePosting_STODT,
BKPF.XMWST AS CalculateTaxAutomatically_XMWST,
BKPF.CURT2 AS CurrencyTypeOfSecondLocalCurrency_CURT2,
BKPF.CURT3 AS CurrencyTypeOfThirdLocalCurrency_CURT3,
BKPF.KUTY2 AS ExchangeRateType_KUTY2,
BKPF.KUTY3 AS ExchangeRateType_KUTY3,
BKPF.XSNET AS GlAccountAmountsEnteredExcludeTax_XSNET,
BKPF.AUSBK AS SourceCompanyCode_AUSBK,
BKPF.XUSVR AS EnterVatSalesTaxOnDetailScreen_XUSVR,
BKPF.DUEFL AS StatusOfDataTransferIntoSubsequentRelease_DUEFL,
BKPF.AWSYS AS LogicalSystem_AWSYS,
BKPF.TXKRS AS ExchangeRateForTaxes_TXKRS,
BKPF.CTXKRS AS RateForTaxValuesInLocalCurrency__plantsAbroad___CTXKRS,
BKPF.LOTKZ AS LotNumberForRequests_LOTKZ,
BKPF.XWVOF AS Indicator_CustomerBillOfExchangePaymentBeforeDueDate_XWVOF,
BKPF.STGRD AS ReasonForReversal_STGRD,
BKPF.PPNAM AS NameOfUserWhoParkedThisDocument_PPNAM,
BKPF.BRNCH AS BranchNumber_BRNCH,
BKPF.NUMPG AS NumberOfPagesOfInvoice_NUMPG,
BKPF.ADISC AS Indicator_EntryRepresentsADiscountDocument_ADISC,
BKPF.XREF1_HD AS ReferenceKey1InternalForDocumentHeader_XREF1_HD,
BKPF.XREF2_HD AS ReferenceKey2InternalForDocumentHeader_XREF2_HD,
BKPF.XREVERSAL AS IsReversalDoc_XREVERSAL,
BKPF.REINDAT AS InvoiceReceiptDate_REINDAT,
BKPF.RLDNR AS LedgerInGeneralLedgerAccounting_RLDNR,
BKPF.LDGRP AS LedgerGroup_LDGRP,
BKPF.PROPMANO AS RealEstateManagementMandate_PROPMANO,
BKPF.XBLNR_ALT AS AlternativeReferenceNumber_XBLNR_ALT,
BKPF.VATDATE AS TaxReportingDate_VATDATE,
BKPF.DOCCAT AS ClassificationOfAnFiDocument_DOCCAT,
BKPF.XSPLIT AS FiDocumentOriginatesFromSplitPosting__indicator___XSPLIT,
BKPF.CASH_ALLOC AS CashRelevantDocument_CASH_ALLOC,
BKPF.FOLLOW_ON AS FollowOnDocumentIndicator_FOLLOW_ON,
BKPF.XREORG AS ContainsOpenItemTransferredDuringReorg_XREORG,
BKPF.SUBSET AS DefinesSubsetOfComponentsForTheFicoInterface_SUBSET,
BKPF.KURST AS ExchangeRateType_KURST,
BKPF.KURSX AS MarketDataExchangeRate_KURSX,
BKPF.KUR2X AS MarketDataExchangeRate2_KUR2X,
BKPF.KUR3X AS MarketDataExchangeRate3_KUR3X,
BKPF.XMCA AS DocumentOriginatesFromMultiCurrencyAccounting_XMCA,
BKPF.RESUBMISSION AS DateOfResubmission_RESUBMISSION,
BKPF.PSOTY AS DocumentCategoryPaymentRequests_PSOTY,
BKPF.PSOAK AS Reason_PSOAK,
BKPF.PSOKS AS Region_PSOKS,
BKPF.PSOSG AS ReasonForReversalIsPsRequests_PSOSG,
BKPF.PSOFN AS IsPs_FileNumber_PSOFN,
BKPF.INTFORM AS InterestFormula_INTFORM,
BKPF.INTDATE AS InterestCalcDate_INTDATE,
BKPF.PSOBT AS PostingDay_PSOBT,
BKPF.PSOZL AS ActualPosting_PSOZL,
BKPF.PSODT AS DateOfLastChange_PSODT,
BKPF.PSOTM AS LastChangedAt_PSOTM,
BKPF.FM_UMART AS TypeOfPaymentTransfer_FM_UMART,
BKPF.CCINS AS PaymentCards_CardType_CCINS,
BKPF.CCNUM AS PaymentCards_CardNumber_CCNUM,
BKPF.SSBLK AS PaymentStatisticalSamplingBlock_SSBLK,
BKPF.BATCH AS LotNumberForDocuments_BATCH,
BKPF.SNAME AS UserName_SNAME,
BKPF.SAMPLED AS SampledInvoiceByPaymentCertification_SAMPLED,
BKPF.EXCLUDE_FLAG AS PpaExcludeIndicator_EXCLUDE_FLAG,
BKPF.BLIND AS BudgetaryLedgerIndicator_BLIND,
BKPF.OFFSET_STATUS AS TreasuryOffsetStatus_OFFSET_STATUS,
BKPF.OFFSET_REFER_DAT AS DateRecordReferredToTreasury_OFFSET_REFER_DAT,
BKPF.KNUMV AS NumberOfTheDocumentCondition_KNUMV,
BSEG.BUZID AS IdentificationOfTheLineItem_BUZID,
BSEG.AUGDT AS ClearingDate_AUGDT,
BSEG.AUGCP AS ClearingEntryDate_AUGCP,
BSEG.AUGBL AS DocumentNumberOfTheClearingDocument_AUGBL,
BSEG.BSCHL AS PostingKey_BSCHL,
BSEG.KOART AS AccountType_KOART,
BSEG.UMSKZ AS SpecialGlIndicator_UMSKZ,
BSEG.UMSKS AS SpecialGlTransactionType_UMSKS,
BSEG.ZUMSK AS TargetSpecialGlIndicator_ZUMSK,
BSEG.SHKZG AS DebitcreditIndicator_SHKZG,
BSEG.GSBER AS BusinessArea_GSBER,
BSEG.PARGB AS TradingPartnersBusinessArea_PARGB,
BSEG.MWSKZ AS TaxOnSalespurchasesCode_MWSKZ,
BSEG.QSSKZ AS WithholdingTaxCode_QSSKZ,
BSEG.PSWSL AS UpdateCurrencyForGeneralLedgerTransactionFigures_PSWSL,
BSEG.FWZUZ AS AdditionalTaxInDocumentCurrency_FWZUZ,
BSEG.SHZUZ AS DebitcreditAdditionForCashDiscount_SHZUZ,
BSEG.STEKZ AS VersionNumberComponent_STEKZ,
BSEG.MWART AS TaxType_MWART,
BSEG.TXGRP AS GroupIndicatorForTaxLineItems_TXGRP,
BSEG.KTOSL AS TransactionKey_KTOSL,
BSEG.KURSR AS HedgedExchangeRate_KURSR,
BSEG.BDIFF AS ValuationDifference_BDIFF,
BSEG.BDIF2 AS ValuationDifferenceForTheSecondLocalCurrency_BDIF2,
BSEG.VALUT AS ValueDate_VALUT,
BSEG.ZUONR AS AssignmentNumber_ZUONR,
BSEG.SGTXT AS ItemText_SGTXT,
BSEG.ZINKZ AS ExemptedFromInterestCalculation_ZINKZ,
BSEG.VBUND AS CompanyIdOfTradingPartner_VBUND,
BSEG.BEWAR AS TransactionType_BEWAR,
BSEG.ALTKT AS GroupAccountNumber_ALTKT,
BSEG.VORGN AS TransactionTypeForGeneralLedger_VORGN,
BSEG.FDLEV AS PlanningLevel_FDLEV,
BSEG.FDGRP AS PlanningGroup_FDGRP,
BSEG.FDWBT AS PlannedAmountInDocumentOrGlAccountCurrency_FDWBT,
BSEG.FDTAG AS PlanningDate_FDTAG,
BSEG.FKONT AS FinancialBudgetItem_FKONT,
BSEG.KOKRS AS ControllingArea_KOKRS,
BSEG.KOSTL AS CostCenter_KOSTL,
BSEG.PROJN AS Ps_posnr_PROJN,
BSEG.AUFNR AS OrderNumber_AUFNR,
BSEG.VBELN AS BillingDocument_VBELN,
BSEG.VBEL2 AS SalesDocument_VBEL2,
BSEG.POSN2 AS SalesDocumentItem_POSN2,
BSEG.ETEN2 AS ScheduleLineNumber_ETEN2,
BSEG.ANLN1 AS MainAssetNumber_ANLN1,
BSEG.ANLN2 AS AssetSubnumber_ANLN2,
BSEG.ANBWA AS AssetTransactionType_ANBWA,
BSEG.BZDAT AS AssetValueDate_BZDAT,
BSEG.PERNR AS PersonnelNumber_PERNR,
BSEG.XUMSW AS Indicator_SalesRelatedItem_XUMSW,
BSEG.XHRES AS Indicator_ResidentGlAccount_XHRES,
BSEG.XKRES AS Indicator_CanLineItemsBeDisplayedByAccount_XKRES,
BSEG.XOPVW AS Indicator_OpenItemManagement_XOPVW,
BSEG.XCPDD AS Indicator_AddressAndBankDataSetIndividually_XCPDD,
BSEG.XSKST AS Indicator_StatisticalPostingToCostCenter_XSKST,
BSEG.XSAUF AS Indicator_PostingToOrderIsStatistical_XSAUF,
BSEG.XSPRO AS Indicator_PostingToProjectIsStatistical_XSPRO,
BSEG.XSERG AS Indicator_PostingToProfitabilityAnalysisIsStatistical_XSERG,
BSEG.XFAKT AS Indicator_BillingDocumentUpdateSuccessful_XFAKT,
BSEG.XUMAN AS Indicator_TransferPostingFromDownPayment_XUMAN,
BSEG.XANET AS Indicator_DownPaymentInNetProcedure_XANET,
BSEG.XSKRL AS Indicator_LineItemNotLiableToCashDiscount_XSKRL,
BSEG.XINVE AS Indicator_CapitalGoodsAffected_XINVE,
BSEG.XPANZ AS DisplayItem_XPANZ,
BSEG.XAUTO AS Indicator_LineItemAutomaticallyCreated_XAUTO,
BSEG.XNCOP AS Indicator_ItemsCannotBeCopied_XNCOP,
BSEG.XZAHL AS Indicator_IsPostingKeyUsedInAPaymentTransaction_XZAHL,
BSEG.SAKNR AS GlAccountNumber_SAKNR,
BSEG.HKONT AS GeneralLedgerAccount_HKONT,
BSEG.KUNNR AS CustomerNumber_KUNNR,
BSEG.LIFNR AS AccountNumberOfVendorOrCreditor_LIFNR,
BSEG.FILKD AS AccountNumberOfTheBranch_FILKD,
BSEG.XBILK AS Indicator_AccountIsABalanceSheetAccount_XBILK,
BSEG.GVTYP AS PlStatementAccountType_GVTYP,
BSEG.HZUON AS AssignmentNumberForSpecialGlAccounts_HZUON,
BSEG.ZFBDT AS BaselineDateForDueDateCalculation_ZFBDT,
BSEG.ZTERM AS TermsOfPaymentKey_ZTERM,
BSEG.ZBD1T AS CashDiscountDays1_ZBD1T,
BSEG.ZBD2T AS CashDiscountDays2_ZBD2T,
BSEG.ZBD3T AS NetPaymentTermsPeriod_ZBD3T,
BSEG.ZBD1P AS CashDiscountPercentage1_ZBD1P,
BSEG.ZBD2P AS CashDiscountPercentage2_ZBD2P,
BSEG.ZLSCH AS PaymentMethod_ZLSCH,
BSEG.ZLSPR AS PaymentBlockKey_ZLSPR,
BSEG.ZBFIX AS FixedPaymentTerms_ZBFIX,
BSEG.HBKID AS ShortKeyForAHouseBank_HBKID,
BSEG.BVTYP AS PartnerBankType_BVTYP,
BSEG.MWSK1 AS TaxCodeForDistribution_MWSK1,
BSEG.MWSK2 AS TaxCodeForDistribution_MWSK2,
BSEG.MWSK3 AS TaxCodeForDistribution_MWSK3,
BSEG.REBZG AS InvoiceToWhichTheTransactionBelongs_REBZG,
BSEG.REBZJ AS FiscalYearOfTheRelevantInvoice__forCreditMemo___REBZJ,
BSEG.REBZZ AS LineItemInTheRelevantInvoice_REBZZ,
BSEG.REBZT AS FollowOnDocumentType_REBZT,
BSEG.ZOLLT AS CustomsTariffNumber_ZOLLT,
BSEG.ZOLLD AS CustomsDate_ZOLLD,
BSEG.LZBKZ AS StateCentralBankIndicator_LZBKZ,
BSEG.LANDL AS SupplyingCountry_LANDL,
BSEG.DIEKZ AS ServiceIndicator__foreignPayment___DIEKZ,
BSEG.SAMNR AS InvoiceListNumber_SAMNR,
BSEG.ABPER AS SettlementPeriod_ABPER,
BSEG.VRSKZ AS InsuranceIndicator_VRSKZ,
BSEG.VRSDT AS InsuranceDate_VRSDT,
BSEG.DISBN AS NumberOfBillOfExchangeUsageDocument_DISBN,
BSEG.DISBJ AS FiscalYearOfBillOfExchangeUsageDocument_DISBJ,
BSEG.DISBZ AS LineItemWithinTheBillOfExchangeUsageDocument_DISBZ,
BSEG.WVERW AS BillOfExchangeUsageType_WVERW,
BSEG.ANFBN AS DocumentNumberOfTheBillOfExchangePaymentRequest_ANFBN,
BSEG.ANFBJ AS FiscalYearOfTheBillOfExchangePaymentRequestDocument_ANFBJ,
BSEG.ANFBU AS CompanyCodeInWhichBillOfExchPaymentRequestIsPosted_ANFBU,
BSEG.ANFAE AS BillOfExchangePaymentRequestDueDate_ANFAE,
BSEG.BLNBT AS BaseAmountForDeterminingThePreferenceAmount_BLNBT,
BSEG.BLNKZ AS SubsidyIndicatorForDeterminingTheReductionRates_BLNKZ,
BSEG.BLNPZ AS PreferencePercentageRate_BLNPZ,
BSEG.MSCHL AS DunningKey_MSCHL,
BSEG.MANSP AS DunningBlock_MANSP,
BSEG.MADAT AS DateOfLastDunningNotice_MADAT,
BSEG.MANST AS DunningLevel_MANST,
BSEG.MABER AS DunningArea_MABER,
BSEG.ESRNR AS PorSubscriberNumber_ESRNR,
BSEG.ESRRE AS PorReferenceNumber_ESRRE,
BSEG.ESRPZ AS PorCheckDigit_ESRPZ,
BSEG.QSZNR AS CertificateNumberOfTheWithholdingTaxExemption_QSZNR,
BSEG.NAVHW AS NonDeductibleInputTax_NAVHW,
BSEG.NAVFW AS NonDeductibleInputTax_NAVFW,
BSEG.MATNR AS MaterialNumber_MATNR,
BSEG.WERKS AS Plant_WERKS,
BSEG.MENGE AS Quantity_MENGE,
BSEG.MEINS AS BaseUnitOfMeasure_MEINS,
BSEG.ERFMG AS QuantityInUnitOfEntry_ERFMG,
BSEG.ERFME AS UnitOfEntry_ERFME,
BSEG.BPMNG AS QuantityInPurchaseOrderPriceUnit_BPMNG,
BSEG.BPRME AS OrderPriceUnit__purchasing___BPRME,
BSEG.EBELN AS PurchasingDocumentNumber_EBELN,
BSEG.EBELP AS ItemNumberOfPurchasingDocument_EBELP,
BSEG.ZEKKN AS SequentialNumberOfAccountAssignment_ZEKKN,
BSEG.ELIKZ AS deliveryCompleted_ELIKZ,
BSEG.VPRSV AS PriceControlIndicator_VPRSV,
BSEG.PEINH AS PriceUnit_PEINH,
BSEG.BWKEY AS ValuationArea_BWKEY,
BSEG.BWTAR AS ValuationType_BWTAR,
BSEG.BUSTW AS PostingStringForValues_BUSTW,
BSEG.REWRT AS InvoiceValueEntered__inLocalCurrency___REWRT,
BSEG.REWWR AS InvoiceValueInForeignCurrency_REWWR,
BSEG.BUALT AS AmountPostedInAlternativePriceControl_BUALT,
BSEG.PSALT AS AlternativePriceControl_PSALT,
BSEG.NPREI AS NewPrice_NPREI,
BSEG.TBTKZ AS Indicator_SubsequentDebitcredit_TBTKZ,
BSEG.SPGRP AS BlockingReason_Price_SPGRP,
BSEG.SPGRM AS BlockingReason_Quantity_SPGRM,
BSEG.SPGRT AS BlockingReason_Date_SPGRT,
BSEG.SPGRG AS BlockingReason_OrderPriceQuantity_SPGRG,
BSEG.SPGRV AS BlockingReason_ProjectBudget_SPGRV,
BSEG.SPGRQ AS ManualBlockingReason_SPGRQ,
BSEG.STCEG AS VatRegistrationNumber_STCEG,
BSEG.EGBLD AS CountryOfDestinationForDeliveryOfGoods_EGBLD,
BSEG.EGLLD AS SupplyingCountryForDeliveryOfGoods_EGLLD,
BSEG.RSTGR AS ReasonCodeForPayments_RSTGR,
BSEG.RYACQ AS YearOfAcquisition_RYACQ,
BSEG.RPACQ AS PeriodOfAcquisition_RPACQ,
BSEG.RDIFF AS ExchangeRateGainlossRealized_RDIFF,
BSEG.RDIF2 AS ExchangeRateDifferenceRealizedForSecondLocalCurrency_RDIF2,
BSEG.PRCTR AS ProfitCenter_PRCTR,
BSEG.XHKOM AS Indicator_GlAccountAssignedManually_XHKOM,
BSEG.VNAME AS JointVenture_VNAME,
BSEG.RECID AS RecoveryIndicator_RECID,
BSEG.EGRUP AS EquityGroup_EGRUP,
BSEG.VPTNR AS PartnerAccountNumber_VPTNR,
BSEG.VERTT AS ContractType_VERTT,
BSEG.VERTN AS ContractNumber_VERTN,
BSEG.VBEWA AS FlowType_VBEWA,
BSEG.DEPOT AS SecuritiesAccount_DEPOT,
BSEG.TXJCD AS TaxJurisdiction_TXJCD,
BSEG.IMKEY AS InternalKeyForRealEstateObject_IMKEY,
BSEG.DABRZ AS ReferenceDateForSettlement_DABRZ,
BSEG.POPTS AS RealEstateOptionRate_POPTS,
BSEG.FIPOS AS CommitmentItem_FIPOS,
BSEG.KSTRG AS CostObject_KSTRG,
BSEG.NPLNR AS NetworkNumberForAccountAssignment_NPLNR,
BSEG.AUFPL AS TaskListNumberForOperationsInOrder_AUFPL,
BSEG.APLZL AS GeneralCounterForOrder_APLZL,
BSEG.PROJK AS WorkBreakdownStructureElement__wbsElement___PROJK,
BSEG.PAOBJNR AS ProfitabilitySegmentNumber_PAOBJNR,
BSEG.PASUBNR AS ProfitabilitySegmentChanges_PASUBNR,
BSEG.SPGRS AS BlockingReason_ItemAmount_SPGRS,
BSEG.SPGRC AS BlockingReason_Quality_SPGRC,
BSEG.BTYPE AS PayrollType_BTYPE,
BSEG.ETYPE AS EquityType_ETYPE,
BSEG.XEGDR AS Indicator_TriangularDealWithinTheEu_XEGDR,
BSEG.LNRAN AS SequenceNumberOfAssetLineItemsInFiscalYear_LNRAN,
BSEG.HRKFT AS OriginGroupAsSubdivisionOfCostElement_HRKFT,
BSEG.BDIF3 AS ValuationDifferenceForTheThirdLocalCurrency_BDIF3,
BSEG.RDIF3 AS ExchangeRateDifferenceRealizedForThirdLocalCurrency_RDIF3,
BSEG.HWMET AS MethodWithWhichTheLocalCurrencyAmountWasDetermined_HWMET,
BSEG.GLUPM AS UpdateMethodForFmFi_GLUPM,
BSEG.XRAGL AS Indicator_ClearingWasReversed_XRAGL,
BSEG.UZAWE AS PaymentMethodSupplement_UZAWE,
BSEG.LOKKT AS AlternativeAccountNumberInCompanyCode_LOKKT,
BSEG.FISTL AS FundsCenter_FISTL,
BSEG.GEBER AS Fund_GEBER,
BSEG.STBUK AS TaxCompanyCode_STBUK,
BSEG.TXBH2 AS TaxBaseoriginalTaxBaseInSecondLocalCurrency_TXBH2,
BSEG.TXBH3 AS TaxBaseoriginalTaxBaseInThirdLocalCurrency_TXBH3,
BSEG.PPRCT AS PartnerProfitCenter_PPRCT,
BSEG.XREF1 AS BusinessPartnerReferenceKey_XREF1,
BSEG.XREF2 AS BusinessPartnerReferenceKey_XREF2,
BSEG.KBLNR AS DocumentNumberForEarmarkedFunds_KBLNR,
BSEG.KBLPOS AS EarmarkedFunds_DocumentItem_KBLPOS,
BSEG.FKBER AS FunctionalArea_FKBER,
BSEG.OBZEI AS NumberOfLineItemInOriginalDocument_OBZEI,
BSEG.XNEGP AS Indicator_NegativePosting_XNEGP,
BSEG.RFZEI AS PaymentCardItem_RFZEI,
BSEG.CCBTC AS PaymentCards_SettlementRun_CCBTC,
BSEG.KKBER AS CreditControlArea_KKBER,
BSEG.EMPFB AS Payeepayer_EMPFB,
BSEG.XREF3 AS ReferenceKeyForLineItem_XREF3,
BSEG.DTWS1 AS InstructionKey1_DTWS1,
BSEG.DTWS2 AS InstructionKey2_DTWS2,
BSEG.DTWS3 AS InstructionKey3_DTWS3,
BSEG.DTWS4 AS InstructionKey4_DTWS4,
BSEG.GRICD AS ActivityCodeForGrossIncomeTax_GRICD,
BSEG.GRIRG AS Region_GRIRG,
BSEG.GITYP AS DistributionTypeForEmploymentTax_GITYP,
BSEG.XPYPR AS Indicator_ItemsFromPaymentProgramBlocked_XPYPR,
BSEG.KIDNO AS PaymentReference_KIDNO,
BSEG.ABSBT AS CreditManagement_HedgedAmount_ABSBT,
BSEG.IDXSP AS InflationIndex_IDXSP,
BSEG.LINFV AS LastAdjustmentDate_LINFV,
BSEG.KONTT AS AccountAssignmentCategoryForIndustrySolution_KONTT,
BSEG.KONTL AS AcctAssignment_KONTL,
BSEG.TXDAT AS DateForDefiningTaxRates_TXDAT,
BSEG.AGZEI AS ClearingItem_AGZEI,
BSEG.PYCUR AS CurrencyForAutomaticPayment_PYCUR,
BSEG.PYAMT AS AmountInPaymentCurrency_PYAMT,
BSEG.BUPLA AS BusinessPlace_BUPLA,
BSEG.SECCO AS SectionCode_SECCO,
BSEG.LSTAR AS ActivityType_LSTAR,
BSEG.CESSION_KZ AS AccountsReceivablePledgingIndicator_CESSION_KZ,
BSEG.PRZNR AS BusinessProcess_PRZNR,
BSEG.PPDIFF AS RealizedExchangeRateGainloss1_PPDIFF,
BSEG.PPDIF2 AS RealizedExchangeRateGainloss2_PPDIF2,
BSEG.PPDIF3 AS RealizedExchangeRateGainloss3_PPDIF3,
BSEG.PENDAYS AS NumberOfDaysForPenaltyChargeCalculation_PENDAYS,
BSEG.PENRC AS ReasonForLatePayment_PENRC,
BSEG.GRANT_NBR AS Grant_GRANT_NBR,
BSEG.SCTAX AS TaxPortionFiCaLocalCurrency_SCTAX,
BSEG.FKBER_LONG AS FunctionalArea_FKBER_LONG,
BSEG.GMVKZ AS ItemIsInExecution_GMVKZ,
BSEG.SRTYPE AS TypeOfAdditionalReceivable_SRTYPE,
BSEG.INTRENO AS InternalRealEstateMasterDataCode_INTRENO,
BSEG.MEASURE AS FundedProgram_MEASURE,
BSEG.AUGGJ AS FiscalYearOfClearingDocument_AUGGJ,
BSEG.PPA_EX_IND AS PpaExcludeIndicator_PPA_EX_IND,
BSEG.DOCLN AS SixCharacterPostingItemForLedger_DOCLN,
BSEG.SEGMENT AS SegmentForSegmentalReporting_SEGMENT,
BSEG.PSEGMENT AS PartnerSegmentForSegmentalReporting_PSEGMENT,
BSEG.PFKBER AS PartnerFunctionalArea_PFKBER,
BSEG.HKTID AS IdForAccountDetails_HKTID,
BSEG.KSTAR AS CostElement_KSTAR,
BSEG.XLGCLR AS ClearingSpecificToLedgerGroups_XLGCLR,
BSEG.TAXPS AS TaxDocumentItemNumber_TAXPS,
BSEG.PAYS_PROV AS PaymentServiceProvider_PAYS_PROV,
BSEG.PAYS_TRAN AS PaymentReferenceOfPaymentServiceProvider_PAYS_TRAN,
BSEG.MNDID AS UniqueReferenceToMandateForEachPayee_MNDID,
BSEG.XFRGE_BSEG AS PaymentIsReleased_XFRGE_BSEG,
BSEG.SQUAN AS QuantitySign_SQUAN,
BSEG.RE_BUKRS AS CashLedger_CompanyCodeForExpenserevenue_RE_BUKRS,
BSEG.RE_ACCOUNT AS CashLedger_ExpenseOrRevenueAccount_RE_ACCOUNT,
BSEG.PGEBER AS PartnerFund_PGEBER,
BSEG.PGRANT_NBR AS PartnerGrant_PGRANT_NBR,
BSEG.BUDGET_PD AS Fm_BudgetPeriod_BUDGET_PD,
BSEG.PBUDGET_PD AS Fm_PartnerBudgetPeriod_PBUDGET_PD,
BSEG.J_1TPBUPL AS BranchCode_J_1TPBUPL,
BSEG.PEROP_BEG AS BillingPeriodOfPerformanceStartDate_PEROP_BEG,
BSEG.PEROP_END AS BillingPeriodOfPerformanceEndDate_PEROP_END,
BSEG.FASTPAY AS PpaFastPayIndicator_FASTPAY,
BSEG.IGNR_IVREF AS Fmfg_IgnoreTheInvoiceReferenceDuringFiDocSplitting_IGNR_IVREF,
BSEG.FMFGUS_KEY AS UnitedStatesFederalGovernmentFields_FMFGUS_KEY,
BSEG.FMXDOCNR AS FmReferenceDocumentNumber_FMXDOCNR,
BSEG.FMXYEAR AS FmReferenceYear_FMXYEAR,
BSEG.FMXDOCLN AS FmReferenceLineItem_FMXDOCLN,
BSEG.FMXZEKKN AS FmReferenceSequenceAccountAssignment_FMXZEKKN,
BSEG.PRODPER AS ProductionMonth__dateToFindPeriodAndYear___PRODPER,
BSEG.RECRF AS ServiceTaxRecreditFlag_RECRF,
--##CORTEX-CUSTOMER Consider adding other dimensions from the calendar_date_dim table as per your requirement
CalendarDateDimension_H_BUDAT.CalYear AS YearOfPostingDateInTheDocument_BUDAT,
CalendarDateDimension_H_BUDAT.CalMonth AS MonthOfPostingDateInTheDocument_BUDAT,
CalendarDateDimension_H_BUDAT.CalWeek AS WeekOfPostingDateInTheDocument_BUDAT,
CalendarDateDimension_H_BUDAT.CalQuarter AS QuarterOfPostingDateInTheDocument_BUDAT,
CalendarDateDimension_BLDAT.CalYear AS YearOfDocumentDateInDocument_BLDAT,
CalendarDateDimension_BLDAT.CalMonth AS MonthOfDocumentDateInDocument_BLDAT,
CalendarDateDimension_BLDAT.CalWeek AS WeekOfDocumentDateInDocument_BLDAT,
CalendarDateDimension_BLDAT.CalQuarter AS QuarterOfDocumentDateInDocument_BLDAT,
COALESCE(BSEG.DMBTR * TCURXHWAER.CURRFIX, BSEG.DMBTR) AS AmountInLocalCurrency_DMBTR,
COALESCE(BSEG.WRBTR * TCURXWAERS.CURRFIX, BSEG.WRBTR) AS AmountInDocumentCurrency_WRBTR,
COALESCE(BSEG.KZBTR * TCURXHWAER.CURRFIX, BSEG.KZBTR) AS OriginalReductionAmountInLocalCurrency_KZBTR,
COALESCE(BSEG.PSWBT * TCURXPSWSL.CURRFIX, BSEG.PSWBT) AS AmountForUpdatingInGeneralLedger_PSWBT,
COALESCE(BSEG.TXBHW * TCURXHWAER.CURRFIX, BSEG.TXBHW) AS OriginalTaxBaseAmountInLocalCurrency_TXBHW,
COALESCE(BSEG.TXBFW * TCURXWAERS.CURRFIX, BSEG.TXBFW) AS OriginalTaxBaseAmountInDocumentCurrency_TXBFW,
COALESCE(BSEG.MWSTS * TCURXHWAER.CURRFIX, BSEG.MWSTS) AS TaxAmountInLocalCurrency_MWSTS,
COALESCE(BSEG.WMWST * TCURXWAERS.CURRFIX, BSEG.WMWST) AS TaxAmountInDocumentCurrency_WMWST,
COALESCE(BSEG.HWBAS * TCURXHWAER.CURRFIX, BSEG.HWBAS) AS TaxBaseAmountInLocalCurrency_HWBAS,
COALESCE(BSEG.FWBAS * TCURXWAERS.CURRFIX, BSEG.FWBAS) AS TaxBaseAmountInDocumentCurrency_FWBAS,
COALESCE(BSEG.HWZUZ * TCURXHWAER.CURRFIX, BSEG.HWZUZ) AS ProvisionAmountInLocalCurrency_HWZUZ,
COALESCE(BSEG.QSSHB * TCURXWAERS.CURRFIX, BSEG.QSSHB) AS WithholdingTaxBaseAmount_QSSHB,
COALESCE(BSEG.GBETR * TCURXHWAER.CURRFIX, BSEG.GBETR) AS HedgedAmountInForeignCurrency_GBETR,
COALESCE(BSEG.SKFBT * TCURXWAERS.CURRFIX, BSEG.SKFBT) AS AmountEligibleForCashDiscountInDocumentCurrency_SKFBT,
COALESCE(BSEG.SKNTO * TCURXHWAER.CURRFIX, BSEG.SKNTO) AS CashDiscountAmountInLocalCurrency_SKNTO,
COALESCE(BSEG.WSKTO * TCURXWAERS.CURRFIX, BSEG.WSKTO) AS CashDiscountAmountInDocumentCurrency_WSKTO,
COALESCE(BSEG.NEBTR * TCURXWAERS.CURRFIX, BSEG.NEBTR) AS NetPaymentAmount_NEBTR,
COALESCE(BSEG.DMBT1 * TCURXHWAER.CURRFIX, BSEG.DMBT1) AS AmountInLocalCurrencyForTaxDistribution_DMBT1,
COALESCE(BSEG.WRBT1 * TCURXHWAER.CURRFIX, BSEG.WRBT1) AS AmountInForeignCurrencyForTaxBreakdown_WRBT1,
COALESCE(BSEG.DMBT2 * TCURXHWAE2.CURRFIX, BSEG.DMBT2) AS AmountInLocalCurrencyForTaxDistribution_DMBT2,
COALESCE(BSEG.WRBT2 * TCURXHWAE2.CURRFIX, BSEG.WRBT2) AS AmountInForeignCurrencyForTaxBreakdown_WRBT2,
COALESCE(BSEG.DMBT3 * TCURXHWAE3.CURRFIX, BSEG.DMBT3) AS AmountInLocalCurrencyForTaxDistribution_DMBT3,
COALESCE(BSEG.WRBT3 * TCURXHWAE3.CURRFIX, BSEG.WRBT3) AS AmountInForeignCurrencyForTaxBreakdown_WRBT3,
COALESCE(BSEG.KLIBT * TCURXHWAER.CURRFIX, BSEG.KLIBT) AS CreditControlAmount_KLIBT,
COALESCE(BSEG.QBSHB * TCURXWAERS.CURRFIX, BSEG.QBSHB) AS WithholdingTaxAmount__inDocumentCurrency___QBSHB,
COALESCE(BSEG.QSFBT * TCURXWAERS.CURRFIX, BSEG.QSFBT) AS WithholdingTaxExemptAmount_QSFBT,
COALESCE(BSEG.BONFB * TCURXHWAER.CURRFIX, BSEG.BONFB) AS AmountQualifyingForBonusInLocalCurrency_BONFB,
COALESCE(BSEG.DMBE2 * TCURXHWAE2.CURRFIX, BSEG.DMBE2) AS AmountInSecondLocalCurrency_DMBE2,
--BSEG.ZZSPREG AS SpecialRegion_ZZSPREG,
--BSEG.ZZBUSPARTN AS BusinessPartner_ZZBUSPARTN,
--BSEG.ZZCHAN AS DistributionChannel_ZZCHAN,
--BSEG.ZZPRODUCT AS ProductGroup_ZZPRODUCT,
--BSEG.ZZLOCA AS City_ZZLOCA,
--BSEG.ZZLOB AS BusinessLine_ZZLOB,
--BSEG.ZZUSERFLD1 AS Territory_ZZUSERFLD1,
--BSEG.ZZUSERFLD2 AS Ownercont_ZZUSERFLD2,
--BSEG.ZZUSERFLD3 AS Vein_ZZUSERFLD3,
--BSEG.ZZSTATE AS StateprovinceCode_ZZSTATE,
--BSEG.ZZREGION AS Location_ZZREGION,
COALESCE(BSEG.DMBE3 * TCURXHWAE3.CURRFIX, BSEG.DMBE3) AS AmountInThirdLocalCurrency_DMBE3,
COALESCE(BSEG.DMB21 * TCURXHWAE2.CURRFIX, BSEG.DMB21) AS AmountInSecondLocalCurrencyForTaxBreakdown_DMB21,
COALESCE(BSEG.DMB22 * TCURXHWAE2.CURRFIX, BSEG.DMB22) AS AmountInSecondLocalCurrencyForTaxBreakdown_DMB22,
COALESCE(BSEG.DMB23 * TCURXHWAE2.CURRFIX, BSEG.DMB23) AS AmountInSecondLocalCurrencyForTaxBreakdown_DMB23,
COALESCE(BSEG.DMB31 * TCURXHWAE3.CURRFIX, BSEG.DMB31) AS AmountInThirdLocalCurrencyForTaxBreakdown_DMB31,
COALESCE(BSEG.DMB32 * TCURXHWAE3.CURRFIX, BSEG.DMB32) AS AmountInThirdLocalCurrencyForTaxBreakdown_DMB32,
COALESCE(BSEG.DMB33 * TCURXHWAE3.CURRFIX, BSEG.DMB33) AS AmountInThirdLocalCurrencyForTaxBreakdown_DMB33,
COALESCE(BSEG.MWST2 * TCURXHWAE2.CURRFIX, BSEG.MWST2) AS TaxAmountInSecondLocalCurrency_MWST2,
COALESCE(BSEG.MWST3 * TCURXHWAE3.CURRFIX, BSEG.MWST3) AS TaxAmountInThirdLocalCurrency_MWST3,
COALESCE(BSEG.NAVH2 * TCURXHWAE2.CURRFIX, BSEG.NAVH2) AS NonDeductibleInputTaxInSecondLocalCurrency_NAVH2,
COALESCE(BSEG.NAVH3 * TCURXHWAE3.CURRFIX, BSEG.NAVH3) AS NonDeductibleInputTaxInThirdLocalCurrency_NAVH3,
COALESCE(BSEG.SKNT2 * TCURXHWAE2.CURRFIX, BSEG.SKNT2) AS CashDiscountAmountInSecondLocalCurrency_SKNT2,
COALESCE(BSEG.SKNT3 * TCURXHWAE3.CURRFIX, BSEG.SKNT3) AS CashDiscountAmountInThirdLocalCurrency_SKNT3,
COALESCE(BSEG.STTAX * TCURXWAERS.CURRFIX, BSEG.STTAX) AS TaxAmountAsStatisticalInformationInDocumentCurrency_STTAX,
COALESCE(BSEG.PENLC1 * TCURXHWAER.CURRFIX, BSEG.PENLC1) AS PenaltyChargeAmountInFirstLocalCurrency_PENLC1,
COALESCE(BSEG.PENLC2 * TCURXHWAE2.CURRFIX, BSEG.PENLC2) AS PenaltyChargeAmountInSecondLocalCurrency_PENLC2,
COALESCE(BSEG.PENLC3 * TCURXHWAE3.CURRFIX, BSEG.PENLC3) AS PenaltyChargeAmountInThirdLocalCurrency_PENLC3,
COALESCE(BSEG.PENFC * TCURXWAERS.CURRFIX, BSEG.PENFC) AS PenaltyChargeAmountInDocumentCurrency_PENFC,
--BSEG.H_BLART AS DocumentType_BLART,
--BSEG.H_BLDAT AS DocumentDateInDocument_BLDAT,
--BSEG.H_BSTAT AS DocumentStatus_BSTAT,
IF(BSEG.UMSKZ = 'D', BSEG.DMBTR, 0) AS WrittenOffAmount_DMBTR,
IF(BSEG.UMSKZ = 'D', BSEG.DMBTR, 0) AS BadDebt_DMBTR,
IF(BSEG.AUGDT IS NULL, COALESCE(BSEG.DMBTR * TCURXHWAER.CURRFIX, BSEG.DMBTR), 0) AS AmountInLocalCurrencyClearingDate_DMBTR,
`{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T) AS NetDueDateCalc,
`{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.DueDateForCashDiscount1`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T) AS sk1dtCalc,
`{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.DueDateForCashDiscount2`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T) AS sk2dtCalc,
IF(BSEG.H_BUDAT < CURRENT_DATE() AND `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T) > CURRENT_DATE()
AND BSEG.AUGDT IS NULL, BSEG.DMBTR, 0) AS OpenAndNotDue,
IF(BSEG.H_BUDAT < CURRENT_DATE() AND BSEG.AUGDT > `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T)
AND BSEG.AUGDT IS NOT NULL, BSEG.DMBTR, 0) AS ClearedAfterDueDate,
IF(BSEG.H_BUDAT < CURRENT_DATE() AND BSEG.AUGDT <= `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T)
AND BSEG.AUGDT IS NOT NULL, BSEG.DMBTR, 0) AS ClearedOnOrBeforeDueDate,
IF(BSEG.H_BUDAT < CURRENT_DATE() AND `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T) < CURRENT_DATE()
AND BSEG.AUGDT IS NULL, BSEG.DMBTR, 0) AS OpenAndOverDue,
IF(BSEG.H_BUDAT < CURRENT_DATE() AND (DATE_DIFF(`{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T), CURRENT_DATE(), DAY) > 90 )
AND BSEG.AUGDT IS NULL, BSEG.DMBTR, 0) AS DoubtfulReceivables,
DATE_DIFF( `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T), CURRENT_DATE(), DAY)
AS DaysInArrear,
--## CORTEX-CUSTOMER The calculation will give positive DoubtfulReceivables(amount) for the items which are due more than 90 days from the key date.
-- IF(BKPF.BUDAT < CURRENT_DATE() AND (DATE_DIFF(CURRENT_DATE(), `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T), DAY) > 90 )
-- AND BSEG.AUGDT IS NULL, BSEG.DMBTR, 0) AS DoubtfulReceivables,
--## CORTEX-CUSTOMER The calculation will give positive DaysInArrear for the late payment and negative when expected on time.
-- DATE_DIFF(CURRENT_DATE(), `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(BSEG.KOART, BSEG.ZFBDT, BKPF.BLDAT, BSEG.SHKZG, BSEG.REBZG, BSEG.ZBD3T, BSEG.ZBD2T, BSEG.ZBD1T), DAY)
-- AS DaysInArrear,
IF(bseg.koart = 'D' AND bseg.augdt IS NULL AND bseg.H_BUDAT < CURRENT_DATE(), bseg.dmbtr, 0) AS AccountsReceivable,
IF(bseg.koart = 'D' AND bseg.H_BUDAT < CURRENT_DATE() AND bseg.xumsw = 'X', bseg.dmbtr, 0) AS Sales
FROM BSEG AS BSEG
INNER JOIN `{{ project_id_src }}.{{ dataset_cdc_processed_s4 }}.bkpf` AS BKPF
ON BKPF.MANDT = BSEG.MANDT
AND BKPF.BUKRS = BSEG.BUKRS
AND BKPF.GJAHR = BSEG.GJAHR
AND BKPF.BELNR = BSEG.BELNR
-- Joining to this table(currency_decimal) is necesssary to fix the decimal place of
-- amounts for non-decimal-based currencies. SAP stores these amounts
-- offset by a factor of 1/100 within the system (FYI this gets
-- corrected when a user observes these in the GUI) Currencies w/
-- decimals are unimpacted.
-- Example of impacted currencies JPY, IDR, KRW, TWD
-- Example of non-impacted currencies USD, GBP, EUR
-- Example 1,000 JPY will appear as 10.00 JPY
LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.currency_decimal` AS TCURXWAERS
ON BKPF.WAERS = TCURXWAERS.CURRKEY
LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.currency_decimal` AS TCURXHWAER
ON BKPF.HWAER = TCURXHWAER.CURRKEY
LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.currency_decimal` AS TCURXHWAE2
ON BKPF.HWAE2 = TCURXHWAE2.CURRKEY
LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.currency_decimal` AS TCURXHWAE3
ON BKPF.HWAE3 = TCURXHWAE3.CURRKEY
LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.currency_decimal` AS TCURXPSWSL
ON BSEG.PSWSL = TCURXPSWSL.CURRKEY
LEFT JOIN `{{ project_id_src }}.{{ k9_datasets_processing }}.calendar_date_dim` AS CalendarDateDimension_H_BUDAT
ON CalendarDateDimension_H_BUDAT.Date = BSEG.H_BUDAT
LEFT JOIN `{{ project_id_src }}.{{ k9_datasets_processing }}.calendar_date_dim` AS CalendarDateDimension_BLDAT
ON CalendarDateDimension_BLDAT.Date = BKPF.BLDAT