5

構造を作成するための2つの例が見つかりました。

これとTYPES:

TYPES : BEGIN OF employee_information,
            name TYPE c LENGTH 20,
            surname TYPE c LENGTH 20,
            tel_no TYPE n LENGTH 12,
          END OF employee_information.

そして、この他のものDATA

DATA : BEGIN OF employee_information,
            name TYPE c LENGTH 20,
            surname TYPE c LENGTH 20,
            tel_no TYPE n LENGTH 12,
          END OF employee_information.

SAP ライブラリのドキュメント トピック「The Statements TYPES and DATATYPES 」を読みましたが、これらの異なる用語を使用DATAして構造化データ型を作成する理由がわかりません。

違いを説明できますか?

4

3 に答える 3

8

まず、TYPEを作成することは、使用するための新しく推奨される方法です。

DATAを作成するとき、内部テーブルについて考えてみましょう。

DATA: BEGIN OF employee_information OCCURS 0,             "itab with header line
            name TYPE c LENGTH 20,
            surname TYPE c LENGTH 20,
            tel_no TYPE n LENGTH 12,
      END OF employee_information.

ヘッダー行のある内部テーブルを持つことができます。しかし、これは古い方法です。

内部テーブルを宣言するためにTYPEを使用する場合、そのヘッダー行とそのコンテンツを同時に使用できます。

  TYPES: BEGIN OF t_employee_information,
            name TYPE c LENGTH 20,
            surname TYPE c LENGTH 20,
            tel_no TYPE n LENGTH 12,
  END OF t_employee_information.

  DATA: employee_information TYPE STANDARD TABLE OF t_employee_information INITIAL SIZE 0,      "itab
        employee_information TYPE t_employee_information.                    "work area (header line)

次に例を示します。このTYPEを使用して、次のような必要な数の内部テーブルを作成できます。

  DATA: employee_information_1 TYPE TABLE OF t_employee_information, "itab1
        employee_information_1 TYPE t_employee_information.          "work area1 (header line)
  DATA: employee_information_2 TYPE TABLE OF t_employee_information, "itab2
        employee_information_2 TYPE t_employee_information.          "work area2 (header line)
  DATA: employee_information_3 TYPE TABLE OF t_employee_information, "itab3
        employee_information_3 TYPE t_employee_information.          "work area3 (header line)
于 2012-06-13T12:28:55.447 に答える
4

このTYPESステートメントは、データオブジェクトを作成するためのテンプレートであるデータ型を作成します。
このDATAステートメントは、データ型のインスタンスであり、その型が指定するのと同じ量のメモリ空間を占有するデータオブジェクトを作成します。

于 2012-06-13T12:31:45.247 に答える
0

最初に、あなたが投稿したこのコードは間違いなく間違っているということemployee_informationですpersonel_bilgileri

問題は、2 番目の宣言employee_informationで、 の構造を持つ変数を定義していることですname, surname and tel_no。2 番目のケースでは、 type を定義しますemployee_informationDATA: l_str_employee_information TYPE次に、この構造化タイプの変数を、たとえばemployee_information`として定義できます。

于 2012-06-13T12:27:49.103 に答える