SAPфорум.RU https://sapboard.ru/forum/ |
|
Как удалить строку с условием? https://sapboard.ru/forum/viewtopic.php?f=13&t=96362 |
Страница 1 из 1 |
Автор: | sonics [ Пн, май 07 2018, 10:33 ] |
Заголовок сообщения: | Как удалить строку с условием? |
Code: IF P_CHKBOX IS NOT INITIAL. * delete <gs_result_tab> where <gs_result_tab>-elevel NE 1. delete from <gs_result_tab> where elevel NE 1. ENDIF. Если параметр не пустой на начальном экране, тогда удалить все записи у которых elevel не равен 1 А так ругается Цитата: The Dictionary structure or table "<GS_RESULT_TAB>" is either not active or does not exist. Как мне такое сделать? |
Автор: | Kuranov.Dmitry [ Пн, май 07 2018, 11:03 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
в ошибке все сказано как сделать. Установить филд символ <GS_RESULT_TAB> на таблицу |
Автор: | Kuranov.Dmitry [ Пн, май 07 2018, 11:07 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
Code: data lp2001 type TABLE OF p2001.
. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING * TCLAS = 'A' pernr = '1107010' infty = '2001' * BEGDA = '18000101' * ENDDA = '99991231' * BYPASS_BUFFER = ' ' * LEGACY_MODE = ' ' * IMPORTING * SUBRC = tables infty_tab = lp2001 EXCEPTIONS INFTY_NOT_FOUND = 1 OTHERS = 2 . IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. FIELD-SYMBOLS <ff> like lp2001. data nl type i. ASSIGN lp2001 to <ff>. DESCRIBE TABLE lp2001 LINES nl. write: / 'before:', nl. DELETE <ff> WHERE SPRPS = 'X'. DESCRIBE TABLE lp2001 LINES nl. write: / 'after:', nl. |
Автор: | RA [ Пн, май 07 2018, 11:18 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
Почитайте чем отличаются операторы: Code: DELETE и Code: DELETE FROM P.S. Цитата: Установить филд символ <GS_RESULT_TAB> на таблицу а если ТС на свою zppmrp5 установит? |
Автор: | sonics [ Пн, май 07 2018, 11:40 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
блин, да, покопался, разобрался . . . спасибо... уже новые грабли себе нашел ))) |
Автор: | Kuranov.Dmitry [ Пн, май 07 2018, 11:40 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
Code: а если ТС на свою zppmrp5 установит? :-) разве можно филдсимвол на прозрачную таблицу поставить? |
Автор: | RA [ Пн, май 07 2018, 13:02 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
Если постараться то можно: Code: ASSIGN 'ZTABLE' TO <fs>.
DELETE FROM (<fs>) WHERE.... |
Автор: | sonics [ Вт, май 08 2018, 10:54 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
RA написал: Если постараться то можно: Code: ASSIGN 'ZTABLE' TO <fs>. DELETE FROM (<fs>) WHERE.... именно так и сделал ) просто сразу неверно написал |
Автор: | Kuranov.Dmitry [ Вт, май 08 2018, 10:56 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
RA написал: Если постараться то можно: Code: ASSIGN 'ZTABLE' TO <fs>. DELETE FROM (<fs>) WHERE.... Ну это не совсем филдсимвол на прозрачную таблицу.. это филдсимвол на строку+ динамическая ссылка через скобки по имени |
Автор: | Besa [ Чт, май 10 2018, 09:50 ] |
Заголовок сообщения: | Re: Как удалить строку с условием? |
sonics написал(а): Code: IF P_CHKBOX IS NOT INITIAL. * delete <gs_result_tab> where <gs_result_tab>-elevel NE 1. delete from <gs_result_tab> where elevel NE 1. ENDIF. Если параметр не пустой на начальном экране, тогда удалить все записи у которых elevel не равен 1 А так ругается Цитата: The Dictionary structure or table "<GS_RESULT_TAB>" is either not active or does not exist. Как мне такое сделать? Лучше все таки в селекте Чекбокс на экране выбора модифицирует запрос к БД |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |