三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!
博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退し、SAPの後進育成と啓蒙活動に従事中!
登場人物紹介
三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!
博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退し、SAPの後進育成と啓蒙活動に従事中!
この記事を読むメリット
今回は、SAPのタイムスタンプについて解説していきたいと思います。SAPに用意されているタイムスタンプはデータ型がいくつか種類が存在します。今回はそのうち、代表的な2つのタイムスタンプのデータ型に焦点をあてて、タイムスタンプ情報より日付・時刻の情報を変換取得する方法を解説します。
博士!データ登録の日付と時刻を把握したいのですが、タイムスタンプだと、いつ登録された情報なのかがわかりにくいです。
了解じゃ!
今回はタイムスタンプから日付と時刻に変換する方法を紹介していくぞい。
新着のSAPフリーランス案件
【CO】
【FI】
【MM】
【SD】
商社向けSAP導入プロジェクト支援
【CO】
【PP】
グループ内新会社設立対応支援
【FI】
BlackLine導入案件支援
【FI】
S/4HANAへのバージョンアップ支援(Jrコンサル可)
【PP】
メーカー向けSAP移行プロジェクト支援
【MM】
【SD】
製造業向けロジ領域の運用保守支援
【BASIS】
【MM】
【SD】
製造業向け運用保守支援支援
【CO】
【FI】
【MM】
【PP】
【SD】
大手メーカー社向けSAP導入支援
【FI】
商社向け基幹システムバージョン支援
【FI】
SAP運用業務支援
タイムスタンプはは作成日時や登録時刻、更新時刻、アクセス時刻など電子データに対して付与される何らかの日付・時刻を表す情報のことをいいます。
SAPではテーブル登録されるデータには登録日付や時刻を持っていることが多いですが、各テーブルに登録される日付・時刻情報の型が一律に定義されているわけではありません。
人間がみて、ぱっとわかりやすい日付・時刻のデータ項目もあれば、ぱっと見ただけでは判断がつかないデータ項目も存在します。
今回はSAPの代表的な2つのタイムスタンプ型について確認していきます。
その前段階として、まずは時間概念についてみてみましょう!
タイムスタンプから日付を変換する前段階として、代表的な時間概念について確認してみましょう。
一般社会で使用されている標準時間という考え方がありますが、過去から現在にかけて標準時間の考え方にも歴史があります。
GMT
Greenwich Mean Time(グリニッジ標準時)の略称。
昔の世界標準とされていた天体観測(地球の自転)に基づいて決められた時間のことです。英国にあるグリニッジ天文台が基準とされたことから、GMT(Greenwich mean time)と呼ばれています。
UTC
Universal time coordinated(協定世界時)の略称。
現在、世界で基準とされており、精度の高い原子時計と天体観測に基づいて決められた時間のことです。
JST
Japan Standard Time(日本標準時)の略称。
日本時間として使用されている時間になります。UTCより9時間進んでおり、UTC+9などと表現されることもあります。
細かいことを除けば、GMTとUTCは時間概念としてほとんど一緒のものだと理解して、実務上は問題ないです。SAP標準でも「GMT~」や「UTC~」と表記に揺れがありますが、両者は実質的には同じものととらえてしまって大きな問題はありません。
次にSAPで用いられる代表的なタイムスタンプのデータ型について確認をしてみましょう。
1つめは「RKE_TSTMP」のドメイン型になります。これは、GMTベースの1990/1/1 00:00から起算した秒数×10000 の数値をタイムスタンプとして保持するデータ型になります。こちらは秒数で表現されるデータ型になるため、人間がぱっとみで日付・時刻を判断することは困難です。
2つめは「TZNTSTMPS」のドメイン型になります。これは、略式の UTC タイムスタンプ (YYYYMMDDhhmmss) をタイムスタンプとして保持するデータ型になります。こちらRKE_TSTMPと比較して、割と人間が理解しやすいタイムスタンプのデータ型です。ただ、スラッシュなどの区切り情報がないため、ぱっとみだと日付・時刻を判断しにくいものになります。
次にSAPで用意されているタイムスタンプから日付・時刻に変換するための汎用モジュールをご紹介いたします。
RKE_TIMESTAMP_CONVERT_OUTPUT
主にRKE_TSTMPのデータ型で保持しているタイムスタンプより、日付・時刻を取得することができる。
IB_CONVERT_FROM_TIMESTAMP
主にTZNTSTMPSのデータ型で保持しているタイムスタンプより、日付・時刻を取得することができる。
実務的にはタイムスタンプ型より使用する汎用モジュールが異なるため、自分が変換しようとしているタイムスタンプが上記の汎用モジュールより日付・時刻変換できるかどうかを確認することが大切になります。
実際に上記の汎用モジュールを使って、タイムスタンプから日付・時刻変換できるかを試してみたいです。
了解じゃ、具体的にみていくぞい。
今回はRKE_TSTMPのデータ型として保持されているCOSS-TIMESTMP(CO内部転記の登録時刻)とTZNTSTMPSのデータ型として保持されるPLAF-PSTMP(計画手配のタイムスタンプ)をサンプルに上記の汎用モジュールを用いて変換できるかを試してみます。
COSS-TIMESTMP(CO内部転記の登録時刻)はRKE_TSTMPのデータ型でタイムスタンプを保持しています。
COSSテーブルのデータの格納状況を見ても、秒数表記のため日付時刻がわかりにくい状況です。
こちらを「RKE_TIMESTAMP_CONVERT_OUTPUT」の汎用モジュールを使用して、日付時刻変換してみます。
IMPORTパラメータ
ABAP システム項目: 夏時間のフラグ
グリニッジ標準時(秒数)
グリニッジ標準時からの時差秒数
IMPORTパラメータに変換したいタイムスタンプを設定することで、グリニッジ標準時基準の秒数から日付・時刻に変換することができました。
PLAF-PSTMP(生産計画のタイムスタンプ)はTZNTSTMPSのデータ型でタイムスタンプを保持しています。
PLAFテーブルのデータの格納状況を見ても、単なる数字の羅列でスラッシュ区切りなどもないため、日付時刻がわかりにくい状況です。
こちらを「IB_CONVERT_FROM_TIMESTAMP」の汎用モジュールを使用して、日付時刻変換してみます。
IMPORTパラメータ
略式の UTC タイムスタンプ (YYYYMMDDhhmmss)
タイムゾーン(デフォルト値はSU3のプロファイルより確認可能)
IMPORTパラメータに変換したいタイムスタンプを設定することで、UTC型のタイムスタンプから日付・時刻に変換することができました。
なお、「IB_CONVERT_FROM_TIMESTAMP」のI_TZONEで初期設定されるタイムゾーンはT-CODE:SU3より確認可能です。
この汎用モジュールを使って、私でもタイムスタンプから日付時刻・変換ができそうです。
今回、紹介したのはあくまで代表的なSAPタイムスタンプ変換方法じゃ。自分でいろいろと試行錯誤してみることが重要じゃ。
新着のSAPフリーランス案件
【CO】
【FI】
【MM】
【SD】
商社向けSAP導入プロジェクト支援
【CO】
【PP】
グループ内新会社設立対応支援
【FI】
BlackLine導入案件支援
【FI】
S/4HANAへのバージョンアップ支援(Jrコンサル可)
【PP】
メーカー向けSAP移行プロジェクト支援
【MM】
【SD】
製造業向けロジ領域の運用保守支援
【BASIS】
【MM】
【SD】
製造業向け運用保守支援支援
【CO】
【FI】
【MM】
【PP】
【SD】
大手メーカー社向けSAP導入支援
【FI】
商社向け基幹システムバージョン支援
【FI】
SAP運用業務支援
SAPラボでは、SAPの知識を活かして副業をしたい方を募集してるのじゃ!
SAPラボのライターの特徴
・ライティング初心者OK!
・報酬高単価!
・業務委託契約なので副業として最適!
SAP記事執筆者としての活動実績として利用可能なので、転職時や案件探しの際に企業へのアピール材料にもなります。
募集要項
・SAP導入や運用保守プロジェクトへの参画経験1年以上
ご応募/お問合せ先
info@sap-labo.com
少しでもご興味ある方、ぜひお気軽にご連絡下さい!
SAPコンサルタント(経験:FI/CO/ABAP)
米国公認会計士(ワシントン州)
新卒でSIerに入社して、初配属がSAPプロジェクト。その後ITコンサルファーム、不動産スタートアップを経て、システムコンサル会社を起業。
新卒時代にSAPを勉強したくても、SAP情報サイトが少なくキャッチアップに苦労した経験から、SAPをなるだけ簡単にわかりやすくをモットーにSAPラボを運営しつつ、SAP業界の裾野を広げるべく活動中!
一緒に「SAPラボ」を盛り上げてくれる副業ライター(SAP経験者)を募集してますので、お問い合わせよりお願いします!