DueDateForCashDiscount2.sql (25 lines of code) (raw):
CREATE OR REPLACE FUNCTION `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.DueDateForCashDiscount2`(
Ip_Koart STRING,
Ip_ZFBDT DATE,
Ip_BLDAT DATE,
Ip_Shkzg STRING,
Ip_REBZG STRING,
Ip_ZBD3T NUMERIC,
Ip_ZBD2T NUMERIC,
Ip_ZBD1T NUMERIC
) AS (
(
SELECT
CASE
WHEN
Ip_ZBD2T IS NOT NULL THEN date_add(
Ip_ZFBDT, INTERVAL cast(coalesce(Ip_ZBD2T, 0) AS INT64) DAY
)
ELSE
`{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.NetDueDateCalc`(
Ip_Koart, Ip_ZFBDT, Ip_BLDAT, Ip_Shkzg, Ip_REBZG, Ip_ZBD3T, Ip_ZBD2T, Ip_ZBD1T
)
END AS SK2DT
)
)
OPTIONS (description = "This function returns date for which cash discount 2 is due.")