Текущее время: Ср, июл 30 2025, 10:35

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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