Sap 未按预期获得输出

Sap 未按预期获得输出,sap,procedure,hana,hana-sql-script,Sap,Procedure,Hana,Hana Sql Script,我正在使用SAP HANA,但无法确定如何获得预期的输出。 让我来解释一下如何获得输出。我正在进行一个过程,我的工作是将数据插入到我成功插入的特定表中,但数据的方式不正确。 我的输出中有三列,分别是:-报告日期、报告周、周末。 如果假设我的数据从2010-01-01开始,那么周末应该从2010-01-06开始。这样我就需要从2010年到2030年的数据。它应该在报告日期中显示每周开始,在周末中显示每周结束。报告周的作用是显示当前正在进行的一周。 我的错误输出:- 我在下面发布了我的程序:-

我正在使用SAP HANA,但无法确定如何获得预期的输出。 让我来解释一下如何获得输出。我正在进行一个过程,我的工作是将数据插入到我成功插入的特定表中,但数据的方式不正确。 我的输出中有三列,分别是:-报告日期、报告周、周末。 如果假设我的数据从2010-01-01开始,那么周末应该从2010-01-06开始。这样我就需要从2010年到2030年的数据。它应该在报告日期中显示每周开始,在周末中显示每周结束。报告周的作用是显示当前正在进行的一周。 我的错误输出:-

我在下面发布了我的程序:-

    create procedure bhavya.zz_get_series()

    LANGUAGE SQLSCRIPT
    SQL SECURITY INVOKER 
    --DEFAULT SCHEMA <default_schema_name>

    AS

    LV_START_DATE date := '2010-01-01' ;
    LV_END_DATE date   := current_date ;
    LV_WEEK_END         NVARCHAR(10) := 'FRIDAY';
    lv_report_date  Date ;



    Begin



    TT_SERIES  =  (SELECT GENERATED_PERIOD_START AS REPORT_DATE,
                     week(add_days(generated_period_start , 2)) as 
    report_week, current_date as week_end --added ABHOOT
               FROM SERIES_GENERATE_DATE ( 'INTERVAL 1 DAY', :LV_START_DATE, 

    ADD_DAYS(coalesce(current_date,:LV_END_DATE), 1)));




    TT_WEEK_END = select report_week, max(report_date) as week_end
                  from :TT_SERIES
                  group by report_week ;



    insert into "BHAVYA"."AFS_BASE.KPI.TABLES::DB_WEEK_SERIES" 
    (REPORT_DATE,REPORT_WEEK,WEEK_END) 
    select S.report_date, w.report_week, w.week_end
              from :TT_SERIES S 
              left join :TT_WEEK_END W
              on w.report_week = s.report_week;



              end; 

              call bhavya.zz_get_series

非常感谢您的帮助。

我认为问题在于:

weekadd_days生成的_period_start,2将返回一年内的周数,因此它将始终介于1和52之间。由于第N周将发生在2010年、2011年、…、2017年,因此maxreport_日期将始终在发生的最后一年,因此2016年或2017年

TT_WEEK_END=选择报告_WEEK,最大报告日期为WEEK_END 发件人:TT_系列 每周分组报告


因此,您还必须从报告日期中提取年份,并将其包括在TT_WEEK_END select的group by中,以及用于INSERT语句的join子句中。

您可以在这里编写代码吗……就像它应该是什么样子……这将是一个很大的帮助。你的逻辑是有道理的,但我不知道如何正确地构建它。