Текущее время: Пн, июл 28 2025, 08:52

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


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

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


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

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