ABAPの日付を次のように分割する必要があります
20091101 --> "01", "november", "2009"
「01」と「2009」は些細なことですが、月名 (ローカライズする必要があります) を取得するにはどうすればよいですか?
それを行う機能はありますか?
そのような機能がない場合は、おそらく月名のテーブルですか?
ABAPの日付を次のように分割する必要があります
20091101 --> "01", "november", "2009"
「01」と「2009」は些細なことですが、月名 (ローカライズする必要があります) を取得するにはどうすればよいですか?
それを行う機能はありますか?
そのような機能がない場合は、おそらく月名のテーブルですか?
モジュール関数 ' ' を使用して、特定の言語で月の名前を取得し、MONTH_NAMES_GET
言語をパラメーターとして渡すことができます。日 (たとえば日曜日) は、' RH_GET_DATE_DAYNAME
'を使用して取得することもできます。
ギヨーム
最も簡単な方法は、変換出口 LDATE を日付フィールドに適用することだと思います。汎用モジュール CONVERSION_EXIT_LDATE_OUTPUT を呼び出すのが最も簡単です。
これは、たとえば変換します
20090101
に
01. January 2009
(実際に日、月のテキスト、年を別々の文字列にする必要がある場合を除きます。これは、あなたが示しているようです。とにかく、他の誰かを助けるかもしれません)。
このコードは、「2011 年 12 月 2 日」のような長いテキスト形式で日付を表示します。それに応じてコードを変更して、長い MONTH 名で日付を印刷することができます。
DATA: LONG_DATE(20).
PERFORM GET_LONG_DATE USING LONG_DATE.
WRITE: LONG_DATE.
FORM GET_LONG_DATE USING DATE.
DATA: T_MONTH_NAMES LIKE TABLE OF T247 WITH HEADER LINE.
CALL FUNCTION 'MONTH_NAMES_GET'
EXPORTING
LANGUAGE = SY-LANGU
TABLES
MONTH_NAMES = T_MONTH_NAMES
.
DATA: YEAR(4) TYPE C,
MONTH(2) TYPE C,
DAY(2) TYPE C.
YEAR = SY-DATUM+(4).
MONTH = SY-DATUM+4(2).
DAY = SY-DATUM+6(2).
READ TABLE T_MONTH_NAMES INDEX ( MONTH ).
CONCATENATE T_MONTH_NAMES-LTX ' ' DAY INTO DATE SEPARATED BY SPACE.
CONCATENATE DATE ',' INTO DATE.
CONCATENATE DATE YEAR INTO DATE SEPARATED BY SPACE.
WRITE / DATE.
ENDFORM.
* to get full name of the day / month also can use
GET_MONTH_NAME ... for month and
GET_DATE_DAYNAME for the specific day name too
日付の他の形式を取得する他の方法は次のとおりです。
WRITE ステートメントの使用
data: get_date(10). "field to store output date
SAP 日付を 20130901 から 01.09.2013 に変換します
write sy-datum to get_date dd/mm/yyyy.
SAP 日付を 20130901 から 01.09.13 に変換します
write sy-datum to get_date dd/mm/yy.
データ操作技術の使用
data: get_date(8). "field to store output date
SAP 日付を 20130901 から 01092013 に変換します
get_date(2) = sy-datum+6(2).
get_date+2(2) = sy-datum+4(2).
get_date+4(4) = sy-datum(4).
汎用モジュールの使用
data: get_date(8). "field to store output date
日付を 20130901 から 01SEP2013 に変換します
get_date = sy-datum.
CALL FUNCTION 'CONVERSION_EXIT_IDATE_OUTPUT'
EXPORTING
input = get_date
IMPORTING
OUTPUT = get_date.
特定の日付/月および年に使用できるこれらすべての形式
通常、日付を工場レベルの国固有の日付形式にエクスポートすることもできます。
if w_country is initial.
select single LAND1
from T001W
into w_country
where WERKS eq w_the_plant.
endif.
SET COUNTRY w_country.
write w_the_date to w_export.
シンプルな FM 'MONTH_NAMES_GET' を使用できます
CALL FUNCTION 'MONTH_NAMES_GET'
EXPORTING
LANGUAGE = SY-LANGU
* IMPORTING
* RETURN_CODE =
TABLES
month_names = it_t247
EXCEPTIONS
MONTH_NAMES_NOT_FOUND = 1
OTHERS = 2
.
IF sy-subrc 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
data : lv_timestamp TYPE string,
lv_str TYPE STRING.
concatenate sy-datum sy-uzeit into lv_timestamp.
concatenate 'C:\Users\Roopa Rani\desktop\header' '_' lv_timestamp '.txt' INTO FILEPATH.
便利だと思います。