Текущее время: Чт, июл 31 2025, 06:55

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: SAPSCRIPT и перформы
СообщениеДобавлено: Чт, авг 23 2007, 09:41 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 07:47
Сообщения: 783
Пол: Мужской
У меня в формуляре пара перформов подряд:

Code:

/:   PERFORM TAX_LFA1 IN PROGRAM Z_FUNCPOOL
/:   USING &REGUH-LIFNR&
/:   CHANGING &TAX&
/:   ENDPERFORM




Code:
/:   PERFORM SPLIT_STR IN PROGRAM Z_FUNCPOOL
/:   USING &SPELL-WORD&
/:   CANGING &STR1&
/:   CANGING &STR2&
/:   CANGING &STR3&
/:   ENDPERFORM


В Z_FUNCPOOL примерно следующее:

Code:
FORM TAX_LFA1 TABLES IN STRUCTURE ITCSY OUT STRUCTURE ITCSY.
DATA: LIFNR1 LIKE lfa1-LIFNR , ss(4).
READ TABLE IN WITH KEY 'REGUH-LIFNR'.

...

  READ TABLE OUT WITH KEY 'TAX'.
  OUT-VALUE = LFA1-STKZU . MODIFY OUT INDEX SY-TABIX.

ENDFORM.


И затем:

Code:
FORM SPLIT_STR TABLES IN STRUCTURE ITCSY OUT STRUCTURE ITCSY.
  DATA: xstring(90), str1(35), str2(35), str3(35).
  READ TABLE IN INDEX 1. xstring = IN-VALUE.


...


  READ TABLE OUT WITH KEY 'str1'.
  OUT-VALUE = str1. MODIFY OUT INDEX SY-TABIX.
  READ TABLE OUT WITH KEY 'str2'. <----------------- ДАМП!!!
  OUT-VALUE = str2. MODIFY OUT INDEX SY-TABIX.
  READ TABLE OUT WITH KEY 'str3'.
  OUT-VALUE = str3. MODIFY OUT INDEX SY-TABIX.
ENDFORM.


Почему дапм на READ TABLE OUT WITH KEY 'str2 ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 23 2007, 09:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
А в дампе что написано?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAPSCRIPT и перформы
СообщениеДобавлено: Чт, авг 23 2007, 09:47 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
oibd написал:
...
...
Code:
FORM SPLIT_STR TABLES IN STRUCTURE ITCSY OUT STRUCTURE ITCSY.
  DATA: xstring(90), str1(35), str2(35), str3(35).
  READ TABLE IN INDEX 1. xstring = IN-VALUE.


...


  READ TABLE OUT WITH KEY 'str1'.
  OUT-VALUE = str1. MODIFY OUT INDEX SY-TABIX.
  READ TABLE OUT WITH KEY 'str2'. <----------------- ДАМП!!!
  OUT-VALUE = str2. MODIFY OUT INDEX SY-TABIX.
  READ TABLE OUT WITH KEY 'str3'.
  OUT-VALUE = str3. MODIFY OUT INDEX SY-TABIX.
ENDFORM.


Почему дапм на READ TABLE OUT WITH KEY 'str2 ?

Это что, такая викторина - "угадай причину дампа по коду"?
В самом дампе, как правило содержится достаточно информации для анализа и исправления ситуации. Так что нужно посмотреть дамп.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAPSCRIPT и перформы
СообщениеДобавлено: Чт, авг 23 2007, 09:54 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 07:47
Сообщения: 783
Пол: Мужской
Z_FUNCPOOL had to be terminated because one of the
statements could not be executed.

....
"TABLE_INVALID_INDEX" C
"Z_FUNCPOOL" or "Z_FUNCPOOL"
"SPLIT_STR"

Мои предположения (т.к. не владею тонкостями):
OUT содержит записи с первой функции и не находит
ключа:
READ TABLE OUT WITH KEY 'str1'.
и не может зделать MODIFY.


Последний раз редактировалось oibd Чт, авг 23 2007, 10:01, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 23 2007, 09:58 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Может стоит после READ сделать проверку на sy-subrc ?
Запись то находится или нет ?

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAPSCRIPT и перформы
СообщениеДобавлено: Чт, авг 23 2007, 10:05 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
oibd написал:
Z_FUNCPOOL had to be terminated because one of the
statements could not be executed.

....
"TABLE_INVALID_INDEX" C
"Z_FUNCPOOL" or "Z_FUNCPOOL"
"SPLIT_STR"

Кому из нас нужно решить проблему?
Секции :
КрТекст
Что произошло?
Что Вы можете сделать?
Анализ ошибки
Указания по устранению ошибки

очень желательно видеть целиком

И ещё - TABLE_INVALID_INDEX __возможно__ указывает на ситуацию
Cause: When reading a table with READ ... WITH [TABLE] KEY, duplicative and overlapping key specifications were used

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 23 2007, 10:06 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 07:47
Сообщения: 783
Пол: Мужской
Lars написал:
Может стоит после READ сделать проверку на sy-subrc ?
Запись то находится или нет ?


В том то и дело
Записи должны появиться за счет
Code:
/:   CANGING &STR1&
/:   CANGING &STR2&
/:   CANGING &STR3&

А там остается

Code:
/:   CHANGING &TAX&


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 23 2007, 10:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
oibd написал:
Code:
/:   CANGING &STR1&
/:   CANGING &STR2&
/:   CANGING &STR3&


найдите 5 отличий в синтаксисе :))
oibd написал:
Code:
/:   CHANGING &TAX&

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 23 2007, 10:15 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 07:47
Сообщения: 783
Пол: Мужской
Удав написал(а):
oibd написал:
Code:
/:   CANGING &STR1&
/:   CANGING &STR2&
/:   CANGING &STR3&


найдите 5 отличий в синтаксисе :))
oibd написал:
Code:
/:   CHANGING &TAX&





Оч. Стыдно. Оч извиняюсь за беспокойство. Всем спасибо!


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

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


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

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


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

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