¿Cuál es la diferencia entre «Datos» y «Tipo» de la creación de una estructura?

He encontrado 2 ejemplos para la creación de una estructura.

Con 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.

y este otro con 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.

He leído el tema de documentación «Las Declaraciones de TIPOS de DATOS y» en la Biblioteca SAP, pero no entiendo por qué usamos estos términos distintos TYPES y DATA para la creación de una estructura de datos tipo.

Puede explicar la diferencia?

InformationsquelleAutor Merve | 2012-06-13

3 Kommentare

  1. 7

    Primera de todas, la creación de un TIPO es el más reciente y el método recomendado para su uso.

    Cuando se crea de DATOS, digamos de una tabla interna;

    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.
    

    Usted puede tener la tabla interna con la línea de encabezado. Pero este es el método anterior.

    Cuando se utiliza el TIPO para declarar una tabla interna puede utilizar su headerline y su contenido de forma simultánea;

      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)
    

    Por ejemplo: Se puede utilizar este TIPO con el fin de crear tantas tablas internas como desee tales como:

      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)
    
    • Esta es la respuesta correcta, pero cabe señalar que no sólo están implícitos áreas de trabajo con el método antiguo, son ilegales en ABAP objects de SAP y específicamente se recomienda su uso en todas las demás.
    • Bryan Caín es correcto. Y aun cuando se crea de DATOS, en lugar del TIPO y tratar de usarlo por ejemplo en un bucle, ABAP Programa ampliado de Verificación(SL) le da un error acerca de lo que Bryan estaba hablando. Gracias Bryan.
    • Gracias por tu respuesta, es bastante claro y completo
  2. 2

    La TYPES instrucción crea un tipo de datos que son plantillas para la creación de objetos de datos.

    El DATA instrucción crea un objeto de datos que es una instancia de un tipo de datos y ocupa mucho espacio en la memoria como su tipo especifica.

  3. 0

    La primera cosa es que este código que has publicado es sin duda equivocada, inició el tipo de employee_information y terminó como personel_bilgileri.

    La cosa es que la segunda declaración define employee_information variable que tiene la estructura de name, surname and tel_no. En el segundo caso se define un tipo employee_information. A continuación, puede definir una variable de este tipo de estructura, por ejemplo, como DATA: l_str_employee_information TYPEemployee_information`.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea