Текущее время: Пн, авг 04 2025, 04:34

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Insert в Hash
СообщениеДобавлено: Вт, дек 15 2009, 16:16 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, фев 04 2009, 13:46
Сообщения: 95
Пол: Мужской
Здравствуйте. Не нашел ничего по поиску.
Code:
LOOP AT it_factreal ASSIGNING <wa_factreal>.
    READ TABLE it_mainrep ASSIGNING <wa_mainrep> WITH TABLE KEY   matnr = <wa_factreal>-matnr kunnr = <wa_factreal>-kunnr.
    IF sy-subrc EQ 0.
      <wa_mainrep>-factr = wa_factreal-f_quan_iu_snm.
    ELSE.
      wa_mainrep-kunnr = wa_factreal-kunnr.
      wa_mainrep-matnr = wa_factreal-matnr.
      wa_mainrep-factr = wa_factreal-f_quan_iu_snm.
      wa_mainrep-name1 = wa_factreal-name1.
      wa_mainrep-maktx = wa_factreal-maktx.
      INSERT wa_mainrep INTO TABLE it_mainrep.
   ENDIF.
  ENDLOOP.

Почему в таблицу it_mainrep не вставляется строка wa_mainrep? Хотя строка заполняется. ( it_mainrep TYPE HASHED TABLE OF tt_mainrep WITH UNIQUE KEY matnr kunnr. )


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Insert в Hash
СообщениеДобавлено: Вт, дек 15 2009, 16:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Определение типа tt_mainrep покажите. И какого типа wa_mainrep тоже покажите


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Insert в Hash
СообщениеДобавлено: Вт, дек 15 2009, 16:38 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, фев 04 2009, 13:46
Сообщения: 95
Пол: Мужской
Кодер написал(а):
Определение типа tt_mainrep покажите. И какого типа wa_mainrep тоже покажите

Структура:
Code:
TYPES:
BEGIN OF tt_mainrep,
  kunnr  TYPE kna1-kunnr,
  name1  TYPE kna1-name1,
  matnr  TYPE mara-matnr,
  maktx  TYPE makt-maktx,
  "auart  TYPE vbak-auart,
  mashk  TYPE p length 10 DECIMALS 0,
  planm  TYPE p length 10 DECIMALS 0,
  plans  TYPE p length 10 DECIMALS 0,
  factr  TYPE p length 10 DECIMALS 0,
  plssz  TYPE p length 10 DECIMALS 0,
  otkln  TYPE p length 10 DECIMALS 0,
  sdach  TYPE p length 10 DECIMALS 0,
  sda00  TYPE p length 10 DECIMALS 0,
  sda77  TYPE p length 10 DECIMALS 0,
  rea00  TYPE p length 10 DECIMALS 0,
  rea77  TYPE p length 10 DECIMALS 0,
  ossgd  TYPE labst, "P LENGTH 10 DECIMALS 0,
  osnzp  TYPE labst,"P LENGTH 10 DECIMALS 0,
END OF tt_mainrep.

Code:
DATA:           wa_mainrep       LIKE LINE OF it_mainrep.


Добавлю: что ошибки никакой не выводит...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Insert в Hash
СообщениеДобавлено: Вт, дек 15 2009, 16:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Для отладки замените:
Code:
INSERT wa_mainrep INTO TABLE it_mainrep

на
Code:
INSERT wa_mainrep INTO TABLE it_mainrep ASSIGNING <wa_mainrep>


и посмотрите, что по результатам вставки будет в <wa_mainrep>.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Insert в Hash
СообщениеДобавлено: Вт, дек 15 2009, 16:59 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Не вставляется всегда или иногда ?
Если второе, то ключ маловат, расширить надо. Дублирующие записи не вставятся.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Insert в Hash
СообщениеДобавлено: Вт, дек 15 2009, 17:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
О! точно! просмотрел, что там чтение идет из филдсимбола <wa_factreal>, а вставка - из раб.области wa_factreal. А они скорее всего разные, судя по приведенному коду :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Insert в Hash
СообщениеДобавлено: Ср, дек 16 2009, 08:44 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, фев 04 2009, 13:46
Сообщения: 95
Пол: Мужской
Изображение
Строка заполнена перед инсертом:
Изображение
После Исерта Таблица все равно пустая:
Изображение

Строк не одной не добавилось :((

Я может чего, то не понимаю, объясните пожалуйста, сырому кодеру)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Insert в Hash
СообщениеДобавлено: Ср, дек 16 2009, 09:20 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Что после INSERT sy-subrc говорит ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Insert в Hash
СообщениеДобавлено: Ср, дек 16 2009, 09:53 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, фев 04 2009, 13:46
Сообщения: 95
Пол: Мужской
Разобрался.
Причина:
В Include_data объявлена таблица, как хэш с двумя ключами. После этого, запускается Form и сразу Loop обрабатывается эта хэш таблица с двумя ключами и инсертит... Далее последовательно в этом же Form, обрабытывается ряд Loop, и в одном из последних Loop, есть DATA где эта хэш таблица передэйтится в хэш с одним ключом. Так вот при входе в Form, оказывается, система ищет в нем все DATA и передэйтивает, соотвественно моя таблица стала с одним ключом сначала. Но странно почему когда я ее Read по двум ключам, ошибку не выдавала(((


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB