Текущее время: Вт, июл 29 2025, 01:05

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: помогите разобратся с EXEC SQL для Oracle
СообщениеДобавлено: Чт, авг 30 2007, 12:17 
Начинающий
Начинающий

Зарегистрирован:
Чт, авг 16 2007, 08:34
Сообщения: 11
пишу код, падает ошибка 933, что не так?
Code:
exec sql.
  select
    ekko.ebeln,
    ekko.bedat,
    ekko.ekgrp,
    ekko.lifnr,
    ekko.bsart,
    lfa1.name1,
    t024.eknam,
    wappt.uhrab,
    wappt.uhrbi,
    wappt.uhria,
    wappt.uhrib,
    wappt.z_arrival_time,
    wappt.z_arrival_date,
    wappt.z_vendor_agent,
    wappt.z_tt_agent,
    wappt.z_security_agent,
    wappt.z_license_plate,
    zmm_lock.gate,
    wappt.z_vendor_doc_no,
    wappt.z_seal_no,
    wappt.z_comment,
    wappt.z_pallets,
    zmm_lock.eindt
  into :wa
  from zmm_lock as zmm_lock
    join ekko as ekko
      on ekko.ebeln  = zmm_lock.ebeln
    join lfa1 as lfa1
      on lfa1.lifnr = zmm_lock.lifnr
    join t024 as t024
      on t024.ekgrp = ekko.ekgrp
    join wappt as wappt
      on  wappt.vbtyp = 'V'
      and wappt.belnr = ekko.ebeln
where zmm_lock.werks in :s_werks
  and   zmm_lock.lifnr in :s_lifnr
  and   zmm_lock.gate  in :s_gate
  and   ( ( zmm_lock.eindt = :p_sdate and
           zmm_lock.stime >= :p_stime )
  or
         ( zmm_lock.eindt = :p_edate and
           zmm_lock.stime <= :p_etime ))
  and   ekko.ekgrp in :s_ekgrp
endexec.


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

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Очень внимательно проверить синтаксис.
Т.к. ошибка 933 - это SQL Command not properly ended at OCI call OCIStmtExecute. SQL Statament Perparation failed.
Что, вообще-то, вы должны были сообщить. Т.к. 933 никому ни о чем не говорит ;)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: помогите разобратся с EXEC SQL для Oracle
СообщениеДобавлено: Чт, авг 30 2007, 12:55 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
uchenik написал(а):
пишу код, падает ошибка 933, что не так?
Code:
exec sql.
...
where zmm_lock.werks in :s_werks
  and   zmm_lock.lifnr in :s_lifnr
  and   zmm_lock.gate  in :s_gate
...
  and   ekko.ekgrp in :s_ekgrp
...
endexec.

Это что за хрени IN в запросе? случайно не select-options/range of?
И какая-же база данных умеет данный синтаксис? Вот от того и ошибка 933.

И вообще, зачем вам для данных таблиц (ekko, lfa1, ...) nativeSql?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: помогите разобратся с EXEC SQL для Oracle
СообщениеДобавлено: Чт, авг 30 2007, 13:29 
Начинающий
Начинающий

Зарегистрирован:
Чт, авг 16 2007, 08:34
Сообщения: 11
Цитата:
И вообще, зачем вам для данных таблиц (ekko, lfa1, ...) nativeSql?


проблема с операторм join. у на с 4.6 и Oracle 10
код:
Code:
***  select
***    ekko~ebeln
***    ekko~bedat
***    ekko~ekgrp
***    ekko~lifnr
***    ekko~bsart
***    lfa1~name1
***    t024~eknam
***    wappt~uhrab
***    wappt~uhrbi
***    wappt~uhria
***    wappt~uhrib
***    wappt~z_arrival_time
***    wappt~z_arrival_date
***    wappt~z_vendor_agent
***    wappt~z_tt_agent
***    wappt~z_security_agent
***    wappt~z_license_plate
***    zmm_lock~gate
***    wappt~z_vendor_doc_no
***    wappt~z_seal_no
***    wappt~z_comment
***    wappt~z_pallets
***    zmm_lock~eindt
***  into table gt_input
***  from zmm_lock as zmm_lock
***    join ekko as ekko
***      on ekko~ebeln  = zmm_lock~ebeln
***    join lfa1 as lfa1
***      on lfa1~lifnr = zmm_lock~lifnr
***    join t024 as t024
***      on t024~ekgrp = ekko~ekgrp
***    join wappt as wappt
***      on  wappt~vbtyp = 'V'
***      and wappt~belnr = ekko~ebeln
***  where zmm_lock~werks in s_werks
***  and   zmm_lock~lifnr in s_lifnr
***  and   zmm_lock~gate  in s_gate
***  and   ( ( zmm_lock~eindt = p_sdate and
***           zmm_lock~stime >= p_stime )
***          or
***         ( zmm_lock~eindt = p_edate and
***           zmm_lock~stime <= p_etime )
***        )
***  and   ekko~ekgrp in s_ekgrp.

в трассе видем следующие читает 1 раз и весим на этом, потом падаем по timeout, тот же код на 2005 и Oracle 10 работает все нормально, вот и было решенно переписать код.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: помогите разобратся с EXEC SQL для Oracle
СообщениеДобавлено: Чт, авг 30 2007, 13:54 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
uchenik написал(а):
Цитата:
И вообще, зачем вам для данных таблиц (ekko, lfa1, ...) nativeSql?


проблема с операторм join. у на с 4.6 и Oracle 10
код:
Code:
....

в трассе видем следующие читает 1 раз и весим на этом, потом падаем по timeout, тот же код на 2005 и Oracle 10 работает все нормально, вот и было решенно переписать код.

Хм, а что думает по этому поводу SAP? сообщение им выставляли по данной проблеме?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 30 2007, 14:04 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Жестокий изврат делать это в native.
Если не накладываете ограничений на поля таблиц подобных lfa1 и t024, то возмите за правило кешировать их во внутренние таблицы и потом в цикле читать из них названия, гораздо быстрее будет. Для полей zmm_lock на которые накладываются ограничения индексы есть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 30 2007, 14:08 
Начинающий
Начинающий

Зарегистрирован:
Чт, авг 16 2007, 08:34
Сообщения: 11
EvgenySA написал(а):
Для полей zmm_lock на которые накладываются ограничения индексы есть?

да, есть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 30 2007, 14:13 
Специалист
Специалист

Зарегистрирован:
Пт, апр 13 2007, 17:15
Сообщения: 225
Могли-б огласить разбор OpenSQL запроса из ST05.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 30 2007, 15:41 
Начинающий
Начинающий

Зарегистрирован:
Чт, авг 16 2007, 08:34
Сообщения: 11
EvgenySA написал(а):
Могли-б огласить разбор OpenSQL запроса из ST05.

не получается вставить рисунок, но вообщем происходит следующие:
zmm_lock open 0 0 select where (....
zmm_lock fetch 0 0
snap declare 0 0
.....
[/img]


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

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


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

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


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

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