SAPфорум.RU
https://www.sapboard.ru/forum/

SELECT: ошибка (цель выборки не является таблицей)
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=97368
Страница 2 из 2

Автор:  Kuranov.Dmitry [ Чт, мар 07 2019, 11:34 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

Может это вы имели в виду?
Code:
if  lt_zuznospis_log_second[] is not initial.
select * into table lt_zuznospis_log_second_2
  from zuznospis_log for all entries in table  lt_zuznospis_log_second
  where matnr = lt_zuznospis_log_second-matnr and aufnr = lt_zuznospis_log_second-aufnr and charg = lt_zuznospis_log_second-charg.
endif.

Автор:  sonics [ Чт, мар 07 2019, 11:43 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

Kuranov.Dmitry написал(а):
lt_zuznospis_log_second это что такое?
я так понимаю внутренняя таблица?
Сап не умеет скрещивать так внутренние и прозрачные таблицы

Code:
lt_zuznospis_log_second_2 type table of zuznospis_log,
      ls_zuznospis_log_second_2 type zuznospis_log,
      lt_zuznospis_log_second type table of zuznospis_log,
      ls_zuznospis_log_second type zuznospis_log,

Code:
lr_selections = gc_alv_table->get_selections( ).
        lt_rows = lr_selections->get_selected_rows( ).

        read table lt_rows into ls_rows index 1.
        read table lt_zuznospis_log_second into ls_zuznospis_log_second index ls_rows.

        concatenate ls_zuznospis_log_second-matnr ls_zuznospis_log_second-charg
               into message separated by space.

Code:
when: 'LOGCOMP'.
        if lt_rows[] is NOT initial.
          PERFORM watch_list.
        else.
          message i001(00) with 'Вы НЕ выбрали заказ!'.
        endif.

и ждальше я сделал селект в новую таблицу, чтобы тупо вывести на экран Оо
я думал он будет простой.

Автор:  Kuranov.Dmitry [ Чт, мар 07 2019, 12:53 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

Code:

        lr_selections = gc_alv_table->get_selections( ).
        lt_rows = lr_selections->get_selected_rows( ).

        read table lt_rows into ls_rows index 1.
        read table lt_zuznospis_log_second into ls_zuznospis_log_second index ls_rows.

     select * into table lt_zuznospis_log_second_2
  from zuznospis_log
  where matnr = ls_zuznospis_log_second-matnr and aufnr = ls_zuznospis_log_second-aufnr and charg = ls_zuznospis_log_second-charg.

Автор:  sonics [ Чт, мар 07 2019, 13:19 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

Цитата:
"LT_ZUZNOSPIS_LOG_SECOND" is a table without a header line and therefore has no component called "MATNR".

так... оно же type table of от основной таблицы, оно же должно быть с заголовками?

Автор:  sonics [ Чт, мар 07 2019, 13:45 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

sonics написал(а):
так... оно же type table of от основной таблицы, оно же должно быть с заголовками?

может я просто сделаю type standard table of _______ with header line? и делов то ?

Автор:  sonics [ Чт, мар 07 2019, 14:08 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

попробовал с standart with header line , подвесило программу.
получается через wa_ и loop select перекинуть все содержимое с заголовками ?
или что еще можно

Автор:  pberezin [ Пн, мар 11 2019, 12:11 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

полагаю автору нужно всётаки почитать в документации азы абап-программирования - базовые конструкции циклов, принципы работы с внутренними таблицами через хедерлайн/без хедерлайна/через указатель (field-symbol) и т.п.
А то видится, что не понимая базовых конструкций, программирование наугад будет крайне неэффективное.

Автор:  sonics [ Пн, мар 11 2019, 13:03 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

pberezin написал:
полагаю автору нужно всётаки почитать в документации азы абап-программирования - базовые конструкции циклов, принципы работы с внутренними таблицами через хедерлайн/без хедерлайна/через указатель (field-symbol) и т.п.
А то видится, что не понимая базовых конструкций, программирование наугад будет крайне неэффективное.

именно... вопрос где все это взять ? читаю сейчас М.Г. Борчанинов "ОСНОВЫ ЯЗЫКА АВАР"
посоветуйте ссылками вы что-нибудь?

Автор:  pberezin [ Пн, мар 11 2019, 14:20 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

родная онлайн-справка по F1 (на индусском английском ессно - без умения читать технические тексты на аглицком хотябы, в SAPе далеко не уедешь).

И ещё полезно в SE80 в меню Среда\Примеры\Абап-примеры заходить - там подробно структурированные примеры кода, и разбор как это работает (в т.ч. запускать можно).

И обязательно Среда\Примеры\Примеры производительности. Там например в разделе Internal table есть много примеров в формате "вариант решения А vs вариант Б".

Автор:  John Doe [ Пн, мар 11 2019, 16:23 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

Я начинал с тр. SE83 и ABAPDOCU.

+ https://www.sap.com/cis/community.html

Автор:  Cathody [ Пн, мар 11 2019, 17:59 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

Если уж говорить о необходимых знаниях, то подозреваю, что автору темы уже пора почитать про SAP BW, z-версию которого ему поручили написать с нуля.

Автор:  sonics [ Вт, мар 19 2019, 10:43 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

я победил мелкую задачу, теперь вопрос состоит в другом.
У меня порядок действий:
1) экран выбора
2) проверка в базе, указывали ли мы эти значения ранее
3)если указаны - то выводим список (это отдельный экран в perform
4)если нет, то запускаем создание "узла"

меня интересует 3 пункт - т.к. это перформ с другим экраном - то кнопки exit cancel работаю относительно этого окна и при выходе из него мы проваливаемся на 4) пункт, а мне нужно просто, чтобы вышли назад.
я так понимаю эти кнопки работаю в рамках своей области видимости, в рамках своей формы.

Автор:  Kuranov.Dmitry [ Вт, мар 19 2019, 11:01 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

sonics написал(а):
я победил мелкую задачу, теперь вопрос состоит в другом.
У меня порядок действий:
1) экран выбора
2) проверка в базе, указывали ли мы эти значения ранее
3)если указаны - то выводим список (это отдельный экран в perform
4)если нет, то запускаем создание "узла"

меня интересует 3 пункт - т.к. это перформ с другим экраном - то кнопки exit cancel работаю относительно этого окна и при выходе из него мы проваливаемся на 4) пункт, а мне нужно просто, чтобы вышли назад.
я так понимаю эти кнопки работаю в рамках своей области видимости, в рамках своей формы.

эти кнопки вообще о форме не знают ничего.

Автор:  Kuranov.Dmitry [ Вт, мар 19 2019, 11:03 ]
Заголовок сообщения:  Re: Подскажите пожалуйста по select-у

При нажатии на кнопки назад /выйти срабатывает ПАИ экрана.

Code:

END-OF-SELECTION.
IF gt_list[] IS NOT INITIAL.
     PERFORM show_list.
ELSE.
     PERFORM create_new.
ENDIF.

FORM show_list.
CALL SCREEN 100.
ENDFORM.

MODULE OnUcomm INPUT.
CASE sy-ucomm.
   WHEN 'BACK' OR 'RW'. LEAVE TO SCREEN 0.
   WHEN '%EX'. LEAVE PROGRAM.

ENDCASE.
ENDMODULE.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/