Age: 48 Joined: 06 Aug 2010 Posts: 79 Location: Ukraine
Posted: Mon Mar 14, 2011 6:42 pm Post subject: Несколько ALV GRID на одном экране
Здравствуйте уважаемые коллеги!
Собственно я знаю как сделать 3 горизонтальных ALV на одном экране с помощью cl_gui_easy_splitter_container. И самое интересное что три ALV GRID горизонтальной ориентации т.е. одна над другой вывести получается. А вот три ALV GRID вертикальной ориентации вывести не получается вот пример как создаются три вертикальные ALV.
Code:
DATA :
"ob_customa TYPE REF TO cl_gui_custom_container ,
ob_split1a TYPE REF TO cl_gui_easy_splitter_container ,
ob_split2a TYPE REF TO cl_gui_easy_splitter_container ,
ob_split3a TYPE REF TO cl_gui_easy_splitter_container ,
ob_grid1a TYPE REF TO cl_gui_alv_grid ,
ob_grid2a TYPE REF TO cl_gui_alv_grid ,
ob_grid3a TYPE REF TO cl_gui_alv_grid .
<поSKIPано>
if ob_custom is not INITIAL.
CALL METHOD ob_custom->free( ).
endif.
Ну вот собственно так. В результате выводятся только две ALVшки. Куда девается третья ума не приложу Помогите кто чем сможет.
Пример на форуме находил, но мне так не подходит ибо слишком сложно... для нашей задачи хватит и того что есть... Если невозможно таким образом вывести больше двух ALV на экран, так прямо и говорите...
Заранее спасибо.
Age: 46 Joined: 05 Nov 2007 Posts: 725 Location: КраснАдар
Posted: Tue Mar 15, 2011 10:52 am Post subject:
Вторую область расплитить и все. Пример можно посмотреть в ФМ SINWP_WORKPLACE_CREATE, подпрограмма splitter_control_create.
Это тразакция SBWP "Рабочее место", собственно.
Age: 48 Joined: 25 Jan 2008 Posts: 580 Location: Москва
Posted: Tue Mar 15, 2011 11:06 am Post subject:
klkuznetsov wrote:
Вполне возможно, что и здесь... Непонятно в чем проблема...
2 раза идет присвоение конейнеров одной и той же области - ob_split1a->bottom_right_container.
В результате объект ob_split2a не показывается на экране.
3-й сплиттер не нужен, для 3-х областей достаточно 2-х сплиттеров
Age: 48 Joined: 06 Aug 2010 Posts: 79 Location: Ukraine
Posted: Tue Mar 15, 2011 2:56 pm Post subject:
Удав wrote:
klkuznetsov wrote:
Вполне возможно, что и здесь... Непонятно в чем проблема...
2 раза идет присвоение конейнеров одной и той же области - ob_split1a->bottom_right_container.
В результате объект ob_split2a не показывается на экране.
3-й сплиттер не нужен, для 3-х областей достаточно 2-х сплиттеров
Age: 48 Joined: 06 Aug 2010 Posts: 79 Location: Ukraine
Posted: Tue Mar 15, 2011 5:17 pm Post subject:
Оказывается еще не все Теперь в эти ALV-шки нужно вручную ввести данные и потом их сохранить, как навесить сохранение данных на кнопку SAVE которая находится в главной панели инструментов. Потому как к каждой ALV отдельно навешивать кнопку неохота да и пользователю неудобно будет.
Age: 48 Joined: 25 Jan 2008 Posts: 580 Location: Москва
Posted: Tue Mar 15, 2011 6:19 pm Post subject:
Стреляйте консультанта
Покажите ему транзакцию FB01, XD01, VA01 к примеру и объясните, что ввод данных должен осуществляться подокументно _________________ С уважением,
Удав.
Age: 48 Joined: 06 Aug 2010 Posts: 79 Location: Ukraine
Posted: Tue Mar 15, 2011 11:46 pm Post subject:
Удав wrote:
Стреляйте консультанта
Покажите ему транзакцию FB01, XD01, VA01 к примеру и объясните, что ввод данных должен осуществляться подокументно
Хорошо Вам говорить, у вас в Москве может убийство консультанта дело обычное, а у нас за это содють
Потому приходится делать то, что просят, да и придумать как-то сделать ввод по другому я не могу, объединить весь ввод в одну ALV-шку не получается т.к. все это разные признаки одного целого. Потому если в принципе невозможно сохранение сразу во всех ALV, то так и скажите, буду делать сохранение в каждой.
Age: 48 Joined: 25 Jan 2008 Posts: 580 Location: Москва
Posted: Wed Mar 16, 2011 1:09 pm Post subject:
Сохранение нескольких табличек естественно можно организовать.
См. транзакцию ABAPDOCU, раздел "Экраны - Обработка экранов - GUI-статусы на экранах ".
Перед сохранением данных необходимо вызывать метод CHECK_CHANGED_DATA для каждого из ALV _________________ С уважением,
Удав.
Age: 47 Joined: 14 Nov 2008 Posts: 300 Location: Russia
Posted: Sat Mar 19, 2011 12:58 pm Post subject:
Fami4 wrote:
на сайте масса примеров, могли бы и сами посмотреть
Fami4, с возвращением, кэп!
Все рады, что вы остались в нашем бизнесе. А то возникали нехорошие мысли о том, что вы на Майдане за 50 гривен в день организовываете оплот новой украинской демократии. _________________ ABAP/4 You
Age: 43 Joined: 04 Aug 2009 Posts: 62 Location: UA
Posted: Thu Mar 24, 2011 6:49 pm Post subject:
klkuznetsov wrote:
Данный код который Вы приводите в пример, вызывает save_to_tab только если o_grid был изменен?
в таком случае:
Code:
...
data: l_valid type c.
...
when 'SAVE'.
CALL METHOD o_GRID->CHECK_CHANGED_DATA
IMPORTING
e_valid = l_valid.
if l_valid is not initial.
PERFORM save_to_tab USING o_GRID.
endif.
endcase.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.