SAPфорум.RU https://www.sapboard.ru/forum/ |
|
Заполнение из двух таблиц и вывод на экран https://www.sapboard.ru/forum/viewtopic.php?f=13&t=96005 |
Страница 5 из 6 |
Автор: | Kuranov.Dmitry [ Пт, мар 23 2018, 16:37 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
DATA: gt_result_tab TYPE TABLE OF zpp_result_tab_mpr5vs12. это таблица, а не структура |
Автор: | Kuranov.Dmitry [ Пт, мар 23 2018, 16:42 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
Может так вы имели в виду: Code: DATA: gt_result_tab TYPE TABLE OF zpp_result_tab_mpr5vs12.
DATA gs_result_tab LIKE LINE OF gt_result_tab. DATA: gt_result_tab_alv LIKE TABLE OF gs_result_tab. LOOP AT gt_result_tab INTO gs_result_tab. COLLECT gs_result_tab INTO gt_result_tab_alv. ENDLOOP. |
Автор: | sonics [ Пн, мар 26 2018, 11:27 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
Code: MODULE PBO OUTPUT. SET PF-STATUS 'MRP5_VS_12'. SET TITLEBAR 'MRP5_VS_12'. IF G_CUSTOM_CONTAINER IS INITIAL. CREATE OBJECT G_CUSTOM_CONTAINER EXPORTING CONTAINER_NAME = G_CONTAINER. CREATE OBJECT GRID1 EXPORTING I_PARENT = G_CUSTOM_CONTAINER. CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = 'gs_result_tab' IT_FIELDCATALOG = lvc_t_fcat CHANGING IT_OUTTAB = gt_result_tab_alv. ENDIF. ENDMODULE. Code: Field "LVC_T_FCAT" is unknown. It is neither in one of the specified но ведь вначале программы мы писали Code: DATA: ok_code LIKE sy-ucomm, g_container TYPE scrfname VALUE 'ZPP_COPYDATA_MRP5_VS_12', grid1 TYPE REF TO cl_gui_alv_grid, gt_fieldcat TYPE lvc_t_fcat," каталог полей g_custom_container TYPE REF TO cl_gui_custom_container. FIELD-SYMBOLS: <fs_fieldcat> TYPE lvc_s_fcat. в почему так странно? из-за FIELD-SYMBOLS: <fs_fieldcat> TYPE lvc_s_fcat ?? |
Автор: | Kuranov.Dmitry [ Пн, мар 26 2018, 12:18 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
Филд символ совершенно ни в чем не виноват. Field "LVC_T_FCAT" is unknown. It is neither in one of the specified тут все сказано. поле с именем LVC_T_FCAT нее определено в программе Цитата: IT_FIELDCATALOG = lvc_t_fcat зачем вы в параметр пытаетесь тип запихнуть. Да, абап позволяет создать переменную с таким же именем как и тип, но у вас уже объявлена переменная gt_fieldcatalog. Её может стоит туда передать? |
Автор: | sonics [ Пн, мар 26 2018, 12:59 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
та фигня какая-то Code: IT_FIELDCATALOG = gt_fieldcat[] Цитата: Formal parameter "IT_FIELDCATALOG" is not a IMPORTING parameter, it is a CHANGING parameter Code: IT_FIELDCATALOG = gt_fieldcatalog Цитата: The field "GT_FIELDCATALOG" is unknown, but there is a field with the не понимаю... мы должны предоставить названия полей в каталоге. по сути это и должно быть gt_fieldcat[]... т.е. нам еще нужно написать IMPORTING после EXPORTING с IT_FIELDCATALOG и чем . . . ? |
Автор: | Kuranov.Dmitry [ Пн, мар 26 2018, 14:16 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
Formal parameter "IT_FIELDCATALOG" is not a IMPORTING parameter, it is a CHANGING parameter Тут все написано. Посмотрите: 1) определение метода SET_TABLE_FOR_FIRST_DISPLAY 2) примеры с АЛВ |
Автор: | Bimit [ Пн, мар 26 2018, 14:29 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
Создайте таблицу каталога полей, прежде чем ее передавать в метод З.Ы. например так, для примера можно взять ФМ WB2_GET_FIELDCAT Code: * create fieldcatalog
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING i_structure_name = i_structure_name CHANGING ct_fieldcat = et_field_cat EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 RAISING internal_error. ENDIF. |
Автор: | sonics [ Пн, мар 26 2018, 14:41 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
как я понял Code: MODULE PBO OUTPUT. SET PF-STATUS 'MRP5_VS_12'. SET TITLEBAR 'MRP5_VS_12'. IF G_CUSTOM_CONTAINER IS INITIAL. CREATE OBJECT G_CUSTOM_CONTAINER EXPORTING CONTAINER_NAME = G_CONTAINER. CREATE OBJECT GRID1 EXPORTING I_PARENT = G_CUSTOM_CONTAINER. CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = 'gs_result_tab' CHANGING it_fieldcatalog = gt_fieldcat[] IT_OUTTAB = gt_result_tab_alv. ENDIF. ENDMODULE. я отправил в changing и все активировалось, но ошибка ушла в другую степь... нашел какой-то пример на просторах. полагаю я сделал глупость, не нашел я информацию необходимую.... Цитата: exception condition no_fieldcatalog_available raised в примерах вижу, что экспортируют outtab, а ченжинг делаю уже непосредственнок аналогу с полями. Что-то тут не так . . . |
Автор: | Kuranov.Dmitry [ Пн, мар 26 2018, 14:47 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
sonics написал(а): в примерах вижу, что экспортируют outtab, а ченжинг делаю уже непосредственнок аналогу с полями. Что-то тут не так . . . странные примеры смотрите. outtab не может экспортироваться. он именно как Changing так как ALV может изменять таблицу. Code: CALL METHOD grid->set_table_for_first_display
EXPORTING * I_BUFFER_ACTIVE = * I_BYPASSING_BUFFER = * I_CONSISTENCY_CHECK = * I_STRUCTURE_NAME = * IS_VARIANT = * I_SAVE = * I_DEFAULT = 'X' IS_LAYOUT = gs_layout * IS_PRINT = * IT_SPECIAL_GROUPS = * IT_TOOLBAR_EXCLUDING = * IT_HYPERLINK = * IT_ALV_GRAPHICS = * IT_EXCEPT_QINFO = CHANGING it_outtab = olist IT_FIELDCATALOG = alv_fcat * IT_SORT = * IT_FILTER = EXCEPTIONS INVALID_PARAMETER_COMBINATION = 1 PROGRAM_ERROR = 2 TOO_MANY_LINES = 3 others = 4. |
Автор: | sonics [ Пн, мар 26 2018, 14:55 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
ну к этому я уже приходил варианту... ошибка такая же Цитата: exception condition no_fieldcatalog_available raised Code: MODULE PBO OUTPUT.
SET PF-STATUS 'MRP5_VS_12'. SET TITLEBAR 'MRP5_VS_12'. IF G_CUSTOM_CONTAINER IS INITIAL. CREATE OBJECT G_CUSTOM_CONTAINER EXPORTING CONTAINER_NAME = G_CONTAINER. CREATE OBJECT GRID1 EXPORTING I_PARENT = G_CUSTOM_CONTAINER. CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = 'gs_result_tab' * IT_FIELDCATALOG = gt_fieldcat[] "название каталога полей CHANGING IT_OUTTAB = gt_result_tab_alv it_fieldcatalog = gt_fieldcat[]. ENDIF. ENDMODULE. |
Автор: | sonics [ Пн, мар 26 2018, 15:02 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
все равно ругается на это Цитата: raise no_fieldcatalog_available. я вставил еще Code: CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = 'gs_result_tab' * IT_FIELDCATALOG = gt_fieldcat[] "название каталога полей is_layout = gs_layout CHANGING IT_OUTTAB = gt_result_tab_alv it_fieldcatalog = gt_fieldcat[]. и вначале описал Code: gs_layout TYPE lvc_s_layo,
|
Автор: | Kuranov.Dmitry [ Пн, мар 26 2018, 15:07 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
Таблица филдкаталога заполнена правильно? |
Автор: | sonics [ Пн, мар 26 2018, 15:18 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
ZPP_RESULT_TAB_MPR5VS12 это ракурс https://netpics.org/image/d6AU7 вот ссылка на изображение ракурса |
Автор: | sonics [ Пн, мар 26 2018, 15:46 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
Решил проблему, на свою дурную голову ошибку написал в названии контейнера... спасибо |
Автор: | sonics [ Вт, мар 27 2018, 13:33 ] |
Заголовок сообщения: | Re: Заполнение из двух таблиц и вывод на экран |
какое-то странное поведение, выводит из таблицы данные +50 к примеру НормПотребность в таблице в одной и второй 39 а на выходе мы имеем в программе 79 О_о ладно бы было в два раза больше, я бы искал, что у меня суммируется, но в такой ситуации - как ? |
Страница 5 из 6 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |