上周二到本周一为一个星期
*-------------------------------生成星期一-------------------------------------*
READ TABLE GTT_EXCEL INTO DATA(GSS_FIRST) INDEX 1.
DO .
IF ZDDAT2 IS INITIAL.
ZDDAT2 = GSS_FIRST-ZDDAT.
CALL FUNCTION 'DAY_IN_WEEK'
EXPORTING
DATUM = GSS_FIRST-ZDDAT
IMPORTING
WOTNR = LV_WEEK.
"第一次 判断日期星期几
IF LV_WEEK = 1.
CNT = 0.
ELSEIF LV_WEEK = 2.
CNT = 6.
ELSEIF LV_WEEK = 3.
CNT = 5.
ELSEIF LV_WEEK = 4.
CNT = 4.
ELSEIF LV_WEEK = 5.
CNT = 3.
ELSEIF LV_WEEK = 6.
CNT = 2.
ELSEIF LV_WEEK = 7.
CNT = 1.
ENDIF.
DO CNT TIMES.
ZDDAT2 = ZDDAT2 + 1.
ENDDO.
ELSE.
ZDDAT2 = ZDDAT2 + 7.
ENDIF.
GS_XQ-ZXQY = ZDDAT2.
APPEND GS_XQ-ZXQY TO GT_XQ.
IF ZDDAT2 >= S_ZDDAT-HIGH.
CLEAR ZDDAT2.
EXIT.
ENDIF.
ENDDO.
按月汇总模板
NEXT_MOUNTH = GS_XQ-ZXQY+4(2).
IF LV_ROW = 4.
THE_MOUNTH = GS_XQ-ZXQY+4(2).
ELSE.
IF NEXT_MOUNTH <> THE_MOUNTH.
LO_WORKSHEET->SET_CELL( IP_COLUMN = 'B' IP_ROW = LV_ROW IP_STYLE = LV_STYLE_GUID7 IP_VALUE = THE_MOUNTH && '月合计' ).
LO_WORKSHEET->SET_CELL( IP_COLUMN = 'C' IP_ROW = LV_ROW IP_STYLE = LV_STYLE_GUID7 IP_VALUE = MID_COUNT1 ).
LO_WORKSHEET->SET_CELL( IP_COLUMN = 'D' IP_ROW = LV_ROW IP_STYLE = LV_STYLE_GUID7 IP_VALUE = '' ).
LO_WORKSHEET->SET_CELL( IP_COLUMN = 'E' IP_ROW = LV_ROW IP_STYLE = LV_STYLE_GUID7 IP_VALUE = MID_COUNT2 ).
LO_WORKSHEET->SET_CELL( IP_COLUMN = 'F' IP_ROW = LV_ROW IP_STYLE = LV_STYLE_GUID7 IP_VALUE = '' ).
LO_WORKSHEET->SET_CELL( IP_COLUMN = 'G' IP_ROW = LV_ROW IP_STYLE = LV_STYLE_GUID7 IP_VALUE = MID_COUNT3 ).
LO_WORKSHEET->SET_CELL( IP_COLUMN = 'H' IP_ROW = LV_ROW IP_STYLE = LV_STYLE_GUID7 IP_VALUE = MID_COUNT2 - MID_COUNT3 ).
CLEAR: COUNT1,COUNT2,COUNT3,MID_COUNT1,MID_COUNT2,MID_COUNT3.
LV_ROW = LV_ROW + 1.
THE_MOUNTH = NEXT_MOUNTH.
ENDIF.
ENDIF.