ABAPer日記

プログラム言語ではマイナーなABAPを扱える人が、解説記事に憧れてはじめてみました

とりあえず覚えておかないといけない基本タイプ 

ABAPのタイプとオブジェクト

ABAPのタイプは公式のヘルプなど見ると、
階層化になっているということになっていますが、
なんだかわかりづらいので、即実践で必要になるタイプの解説をしたいと思います。

基本的にABAPにはデータ型と参照タイプと2種類あります。
絶対覚えておかないといけないのは、データ型になります。
最初は参照タイプは置いておきます。

データ型

基本タイプ(これ覚えておけば、なんとかなります)

固定長 文字タイプ
  • TYPE C テキスト

     これが一番使うかな
     文字列の格納から、フラグの変数もTYPE Cが多いです

  • TYPE N 数値テキスト

     ゼロ埋めしたい数値を扱う場合に使います。
     例)000010

  • TYPE D 日付

     日付型といえばこれで、
     R/3の標準テーブルの日付に多いです
     timestampも扱えますが、あまり使わない印象
     (標準でも突然timestampもでてくるので注意が必要だが、
      後々解説したいです)

  • TYPE T 時刻

     日付と同じで時刻といえばこれで、
     R/3の標準テーブルの時刻に多いです

  • TYPE X 16進数

     バイナリデータ扱う場合に使いますが、
     あまり使わない印象
     古いバージョンのR/3だと、改行コードなど制御コードを
     テキストに入れる場合とか使ってました。

固定長 数値タイプ
  • TYPE P パック数値

    パックの説明は省きます。
    ABAPの計算では、P型で行うことが多いです

  • TYPE I 整数

    整数型なので、扱える桁が10桁で範囲が決まっていますので、
    数量、金額の計算では使用しません。
    アドオンプログラムでは結構な頻度で出てきます。
    カウンタや、件数取得など幅広く使います。

    私が携わったプロジェクトでは、あまり使いませんでした

可変長
  • TYPE STRING 文字列順序

    可変なので文字列を格納する際使いますが、
    標準のテーブル、汎用モジュールなどSTRINGで受け渡しする
    ことが少ない印象。
    アドオンでは、TYPE C でやることが多いです。
    R/3はテーブル項目でSTRINGが少なく、
    TYPE Cの項目が多いからでしょうね。
    使える時は使っていくと便利ですよ。

  • TYPE XSTRING バイト文字列順序

    あまり使いません。
    バイナリファイルを扱ったりする場合使いますが、
    今までに要件的にあまりなかったです。
    pdfファイル作るとかで、使ったかな・・・。

まとめ

基本データの上記をさらっと覚えておくだけで良いかなと思います。
次は内部テーブルなどの、複合タイプの説明をします。

ABAPの質問や悩みにスピーディーに答えます ABAP開発の初心者、トラブルだらけのSEにオススメ!