Nano Hash - криптовалюты, майнинг, программирование

В чем разница между данными и типами, создающими структуру?

Я нашел 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, но я не понимаю, почему мы используем эти разные термины TYPES и DATA для создания структурированного типа данных.

Можете ли вы объяснить разницу?


Ответы:


1

Прежде всего, создание TYPE является более новым и рекомендуемым методом.

Когда вы создаете ДАННЫЕ, скажем, для внутренней таблицы;

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)

Например: вы можете использовать этот ТИП, чтобы создать столько внутренних таблиц, сколько хотите, например:

  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)
13.06.2012
  • Это правильный ответ, но следует отметить, что неявные рабочие области не только являются старым методом, но и незаконны в объектах ABAP, и SAP специально рекомендует не использовать их где-либо еще. 13.06.2012
  • Брайан Кейн прав в этом. И даже когда вы создаете DATA вместо TYPE и пытаетесь использовать его, например, в цикле, расширенная проверка программы ABAP (SLIN) выдает ошибку о том, о чем говорил Брайан. Спасибо, Брайан. 13.06.2012

  • 2

    Оператор TYPES создает тип данных, которые являются шаблонами для создания объектов данных.
    Оператор DATA создает объект данных, который является экземпляром типа данных и занимает столько места в памяти, сколько указано его типом.

    13.06.2012

    3

    Во-первых, этот код, который вы разместили, безусловно, неверен, вы начали тип как employee_information и закончили его как personel_bilgileri.

    Дело в том, что второе объявление определяет переменную employee_information, которая имеет структуру name, surname and tel_no. Во втором случае вы определяете тип employee_information. Затем вы можете определить переменную этого структурированного типа, например, как DATA: l_str_employee_information TYPEemployee_information`.

    13.06.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..