SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L1S31 {
font-style. italic;
color: #808080;
}
.L1S32 {
color: #3399FF;
}
.L1S33 {
color: #4DA619;
}
.L1S52 {
color: #0000FF;
}
FUNCTION POPUP_TO_SELECT_MONTH.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" ACTUAL_MONTH LIKE ISELLIST-MONTH
*" FACTORY_CALENDAR LIKE TFACD-IDENT DEFAULT SPACE
*" HOLIDAY_CALENDAR LIKE THOCI-IDENT DEFAULT SPACE
*" LANGUAGE LIKE SY-LANGU DEFAULT SY-LANGU
*" START_COLUMN LIKE SY-SCOLS DEFAULT 8
*" START_ROW LIKE SY-SROWS DEFAULT 5
*" EXPORTING
*" SELECTED_MONTH LIKE ISELLIST-MONTH
*" RETURN_CODE LIKE SY-SUBRC
*" EXCEPTIONS
*" FACTORY_CALENDAR_NOT_FOUND
*" HOLIDAY_CALENDAR_NOT_FOUND
*" MONTH_NOT_FOUND
*"----------------------------------------------------------------------
函数模块作用:
弹出一个对话框显示月份和年度下拉列表,让用户选择年月。
输入参数:
ACTUAL_MONTH:当前月份,必须填写。形式为 YYYYMM,可以直接用一个日期类型对象 adate 取偏移 adate+0(6) 做为输入。
FACTORY_CALENDAR:工厂日历,可以省略,默认值为空。更多信息请参考表 TFACD。
HOLIDAY_CALENDAR:公共假日日历,可以省略,默认值为空。更多信息请参考表 THOCI。
LANGUAGE:语言,可以省略。用来指定月份名称用哪种语言显示,不指定就是当前登录语言。
START_COLUMN:对话框出现的位置,列,可以省略,默认值为 8。
START_ROW:对话框出现的位置,行,可以省略,默认值为 5。
输出参数:
SELECTED_MONTH:选择的月份,如果按了取消按钮,则值为 000000。
RETURN_CODE:返回码,如果按了取消按钮,则值为 4,否则为 0。
异常:
FACTORY_CALENDAR_NOT_FOUND:没有找到指定的工厂日历。
HOLIDAY_CALENDAR_NOT_FOUND:没有找到指定公共假日日历。
MONTH_NOT_FOUND:没有找到月份,月份名称表 T247 中没有指定语言的月份名称。
说明:
工厂日历和公共假日日历主要用来限制下拉列表中的年份范围。如果不指定,就是当前年前后各 50 年,共 100 年。
FORM check_budat .
* local data definition
DATA:l_date TYPE kmonth.
* Popup to choose a month
CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
EXPORTING
actual_month = sy-datum+(6)
* FACTORY_CALENDAR = ' '
* HOLIDAY_CALENDAR = ' '
* LANGUAGE = SY-LANGU
* START_COLUMN = 8
* START_ROW = 5
IMPORTING
selected_month = l_date
* RETURN_CODE =
EXCEPTIONS
factory_calendar_not_found = 1
holiday_calendar_not_found = 2
month_not_found = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
l_date = l_date+(6).
gt_dynpupdate-fieldname = 'PA_BUDAT'.
gt_dynpupdate-fieldvalue = l_date.
APPEND gt_dynpupdate.
* set the description of Vendor
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = gt_dynpupdate.
ENDFORM. " CHECK_BUDAT
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17204926/viewspace-591002/
,如需转载,请注明出处,否则将追究法律责任。