SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Как отобразить внутр. таблицу?


Goto page 1, 2  Next
 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
mvs87
Участник
Участник



Joined: 25 Feb 2009
Posts: 34

PostPosted: Sun Mar 15, 2009 6:00 am    Post subject: Как отобразить внутр. таблицу? Reply with quote

Доброго времени суток.

не получается отобразить внутреннюю таблицу с запихнутыми туда данными из разных таблиц. Вывести в экран через контейнер.

короче, запарился уже. "не волшебник, только учусь".

Скажите что делать, люди, help.
Как заставить работать этот отчет?

Code:
REPORT  Z_ALV_TEST1.
*
data: begin of tab_vt occurs 0,
  citf like spfli-cityfrom,
  citt like spfli-cityto,
  pay  like sflight-paymentsum,
  end of tab_vt.
*
DATA: OK_CODE LIKE SY-UCOMM,
      tabs type table of tab_vt,
      G_CONTAINER TYPE SCRFNAME VALUE 'CONT',
      GRID1  TYPE REF TO CL_GUI_ALV_GRID,
      G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
*
SELECT * FROM spfli into table tabs.
  select * from sflight into table tab
           where connid = spfli-connid.
    endselect.
  endselect.
*
CALL SCREEN 100.
*
MODULE PBO OUTPUT.
  SET PF-STATUS 'MAIN100'.
  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 = 'SFLIGHT'
         CHANGING  IT_OUTTAB        = tabs.
  ENDIF.
ENDMODULE.
*
MODULE PAI INPUT.
    call method cl_gui_cfw=>dispatch.
  CASE OK_CODE.
    WHEN 'EXIT'.
      PERFORM EXIT_PROGRAM.
    WHEN OTHERS.
  ENDCASE.
  CLEAR OK_CODE.
ENDMODULE.
*
FORM EXIT_PROGRAM.
  CALL METHOD G_CUSTOM_CONTAINER->FREE.
  CALL METHOD CL_GUI_CFW=>FLUSH.
  LEAVE PROGRAM.
ENDFORM.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 80
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Sun Mar 15, 2009 10:44 am    Post subject: Reply with quote

1) Вы на 100 экране создали Custom Control с именем CONT?
2) Нужно определить тип, а не data
Code:
TYPES: BEGIN OF tab_vt,
  citf LIKE spfli-cityfrom,
  citt LIKE spfli-cityto,
  pay  LIKE sflight-paymentsum,
  END OF tab_vt.


3) C селектом у вас все плохо.
нужно например так
Code:
SELECT spfli~cityfrom spfli~cityto sflight~paymentsum
  INTO TABLE tabs
  FROM spfli
  INNER JOIN sflight ON sflight~connid = spfli~connid.


4) Вам нужно построить Field catalog типа tab_vt и передать его параметром
CALL METHOD grid1->set_table_for_first_display
EXPORTING
IT_FIELDCATALOG = gs_fc

Использование полей струкруры i_structure_name = 'SFLIGHT' недостаточно.
Back to top
View user's profile Send private message Blog Visit poster's website
Брат Мигель
Участник
Участник



Joined: 04 Dec 2007
Posts: 20

PostPosted: Mon Mar 16, 2009 11:57 am    Post subject: Reply with quote

а можно например таким фм вывести Smile
HR_IT_SHOW_ANY_TABLE_ON_ALV
Back to top
View user's profile Send private message
mvs87
Участник
Участник



Joined: 25 Feb 2009
Posts: 34

PostPosted: Tue Mar 17, 2009 1:42 am    Post subject: Reply with quote

hello! Благодарствую за ответы.
После некоторых преобразований всё вроде начинает "вставать на места".
Но, требует тип tab_vt. А всмысле как тип? Это же внутрянка.
tabs это внутреннняя таблица.. или скорее всего "прозрачная". tabs используется для добавления во внутреннюю таблицу вызванных селектом столбцов.
... что-то подзапутался ...

товарищи программисты, скажите, что не так делаю... и как надо.
и
в код вписал коментарии. отругайте если что не так.
Code:
tables: spfli, sflight.
*
data: begin of tab_vt occurs 0, " создаем внутреннюю таблицу, добавляем в неё столбцы разных таблиц.
  citf like spfli-cityfrom,
  citt like spfli-cityto,
  pay  like sflight-paymentsum,
  end of tab_vt.

DATA: OK_CODE LIKE SY-UCOMM, " сод связи с кустом-контрол
      tabs type table of tab_vt, " задаем тип переменной "tabs" равный таблице tab_vt. Тут выдает ошибку "The type "TAB_VT" uncnown".
      G_CONTAINER TYPE SCRFNAME VALUE 'CONT', " зазаем имя контейнера.
      GRID1  TYPE REF TO CL_GUI_ALV_GRID, " задаем ALV тип для переменной.
      G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER. " тут наверное гуи для контейнера.

select-options:
cid for sflight-connid. " выборка по значениям "sflight-connid"
*
start-of-selection.
*
select * from spfli where connid in cid. " присвоение переменной выборки к столбцу таблицыю
*
select spfli~cityfrom spfli~cityto sflight~paymentsum " выбор таблиц/столбцов.
  into table tabs " запихивая в tabs которая равна tab_vt.
  from spfli
  inner join sflight on sflight~connid = spfli~connid. " связка / отношение ключевых полей.
endselect.

CALL SCREEN 100. " набираем сотый скрин.
*
MODULE PBO OUTPUT. " модуль который проворачивает отображение
  SET PF-STATUS 'MAIN100'. " задаем гуи статус
  IF G_CUSTOM_CONTAINER IS INITIAL. " если кустом контейнер активирован
    CREATE OBJECT G_CUSTOM_CONTAINER " создается объект
           EXPORTING CONTAINER_NAME = G_CONTAINER. " название контейнера CONT
    CREATE OBJECT GRID1 " создается объект который наверно отображает самц таблицу.
           EXPORTING I_PARENT = G_CUSTOM_CONTAINER. " тип отображения контейнера (наверное)
       CALL   METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY " метод отображения (наверное)
*HR_IT_SHOW_ANY_TABLE_ON_ALV
               EXPORTING
*          I_STRUCTURE_NAME = 'SFLIGHT'
           IT_FIELDCATALOG = gs_fc " какой-то параметр
           IT_OUTTAB        = tabs. " таблица которая вставялется в кустом_контрол
   
  call function 'LVC_FIELDCATALOG_MERGE' " вызываем функцию. Вообще не уверен в IF-ы писать или нет.
  exporting
    i_internal_tablename = 'TABS' " назвние внтутренней табицы
  changing
    ct_fieldcat = cat " параметр какойто
  exceptions
    others = 0.
  ENDIF.
      ENDMODULE.   

MODULE PAI INPUT. " события после ввода
    call method cl_gui_cfw=>dispatch. " метод выхода.. наверное.
  CASE OK_CODE.
    WHEN 'EXIT'.
      PERFORM EXIT_PROGRAM.
    WHEN OTHERS.
  ENDCASE.
  CLEAR OK_CODE.
ENDMODULE.
*
FORM EXIT_PROGRAM.
  CALL METHOD G_CUSTOM_CONTAINER->FREE.
  CALL METHOD CL_GUI_CFW=>FLUSH.
  LEAVE PROGRAM.
ENDFORM.
Back to top
View user's profile Send private message
DKiyanov
Участник
Участник


Age: 48
Joined: 12 Jan 2009
Posts: 17
Location: Хабаровск

PostPosted: Tue Mar 17, 2009 3:51 am    Post subject: Reply with quote

вы же сами написали "tabs type table of tab_vt" соов. программа ищет тип tab_vt, откуда ей знать что у вас в программе tab_vt это внутренняя таблица, поэтому и ругается.

сделайте так

Data: tabs like table of tab_vt.
Back to top
View user's profile Send private message
mvs87
Участник
Участник



Joined: 25 Feb 2009
Posts: 34

PostPosted: Tue Mar 17, 2009 5:14 pm    Post subject: Reply with quote

vga, Брат Мигель, DKiyanov Благодарю за Ваше время!
* continue
Дальше пошли ошибки что параметры в changing-е должны быть, CAT не задан. Вроде исправил.
CAT задал LVC_T_FCAT посмотрев в Class Builder: Class CL_GUI_ALV_GRID Display.

Code:
DATA: OK_CODE LIKE SY-UCOMM,
      tabs like table of tab_vt,
      G_CONTAINER TYPE SCRFNAME VALUE 'CONT',
      GRID1  TYPE REF TO CL_GUI_ALV_GRID,
      CAT type LVC_T_FCAT,
      G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

Синтаксическая ошибка изчезла. Программа запустилась.
Появились поля выборки.
Code:
MODULE PBO OUTPUT.
  SET PF-STATUS 'MAIN100'.
  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
*HR_IT_SHOW_ANY_TABLE_ON_ALV
               "EXPORTING
*          I_STRUCTURE_NAME = 'SFLIGHT'
           changing
           IT_FIELDCATALOG = cat
           IT_OUTTAB        = tabs.

  call function 'LVC_FIELDCATALOG_MERGE'
  exporting
    i_internal_tablename = 'TABS'
  changing
    ct_fieldcat = cat
  exceptions
    others = 0.
  ENDIF.
      ENDMODULE.


При запуске (execute {F8}) появляется ошибка.
Field Catalog Not Found. (иллюстрация ниже)
В хелпе пишит что имя не задано. Активировал exporting и I_STRUCTURE_NAME = 'TAB_VT'. Непомогло...

Люди, помогите... я чувствую, что осталось немного до понимания))
надо дожать. обязательно.
Ребят, пожалуйста...



field_catalog_not_found.gif
 Description:
Возникшая ошбка после запуска выборки отчета.
 Filesize:  4.82 KB
 Viewed:  35951 Time(s)

field_catalog_not_found.gif


Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 80
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Tue Mar 17, 2009 5:36 pm    Post subject: Reply with quote

Кстати, у Вас какая версия системы? Тут обнаружил, что в 4.6 параметра i_internal_tablename нет, поэтому предположение первое - определить TABS явно, с перечислением полей, а не ссылкой на другую структуру.
Это связано с тем, что функция LVC_FIELDCATALOG_MERGE очень требовательна к определению внутренней таблицы. Например в ней нельзя описывать поля через типы, определенные в программе и т.д.

Code:
DATA: BEGIN OF tabs OCCURS 0,
  citf LIKE spfli-cityfrom,
  citt LIKE spfli-cityto,
  pay  LIKE sflight-paymentsum,
  END OF tabs.


CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
     EXPORTING
          i_internal_tablename = 'TABS'
     CHANGING
          ct_fieldcat          = cat
     EXCEPTIONS
          OTHERS               = 0.



второй вариант.

Code:

TYPE-POOLS: SLIS.
*&---------------------------------------------------------------------*
*&      Form  create_field_catalog_alv
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_GS_FCAT_GR  text
* Creating field calalog from internal table REPORT_TABLE
*----------------------------------------------------------------------*
FORM f_create_field_catalog_funct
  TABLES   GS_FCAT_GR TYPE lvc_t_fcat.
DATA:
  CT_FIELDCAT type SLIS_T_FIELDCAT_ALV,
  CS_FIELDCAT type slis_fieldcat_alv,
  I_REPID type sy-REPID.

  i_repid = sy-repid.

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      I_PROGRAM_NAME               = 'ИМЯ ПРОГРАММЫ'
      I_INTERNAL_TABNAME           = 'TABS'
      I_INCLNAME                   = 'ИМЯ ИНКЛЮДА'
    CHANGING
      CT_FIELDCAT                  = CT_FIELDCAT
    EXCEPTIONS
      INCONSISTENT_INTERFACE       = 1
      PROGRAM_ERROR                = 2
      OTHERS                       = 3
            .
  if sy-subrc = 0.
    loop at ct_fieldcat into cs_fieldcat.
      move-corresponding cs_fieldcat to gs_fcat_gr.

      gs_fcat_gr-REF_FIELD  = cs_fieldcat-ref_fieldname.
      gs_fcat_gr-REF_TABLE  = cs_fieldcat-ref_tabname.
      gs_fcat_gr-SCRTEXT_L  = cs_fieldcat-seltext_l.
      gs_fcat_gr-SCRTEXT_M  = cs_fieldcat-seltext_m.
      gs_fcat_gr-SCRTEXT_S  = cs_fieldcat-seltext_s.
      gs_fcat_gr-DECIMALS_O = cs_fieldcat-decimals_out.
      gs_fcat_gr-DD_OUTLEN  = cs_fieldcat-ddic_outputlen.
      gs_fcat_gr-DECMLFIELD = cs_fieldcat-decimalsfieldname.
      gs_fcat_gr-ROUNDFIELD = cs_fieldcat-roundfieldname.
      gs_fcat_gr-TXT_FIELD  = cs_fieldcat-text_fieldname.

      append gs_fcat_gr.
    endloop.
  endif.
ENDFORM.                    " create_field_catalog_alv


Last edited by vga on Tue Mar 17, 2009 5:46 pm; edited 2 times in total
Back to top
View user's profile Send private message Blog Visit poster's website
mvs87
Участник
Участник



Joined: 25 Feb 2009
Posts: 34

PostPosted: Tue Mar 17, 2009 5:42 pm    Post subject: Reply with quote

а я тренеруюсь дома на MiniSAP NetWeaver 7.01 (ABAP Trial Version)
будет здорово иметь вариант для версии 4.6
Back to top
View user's profile Send private message
mvs87
Участник
Участник



Joined: 25 Feb 2009
Posts: 34

PostPosted: Tue Mar 17, 2009 8:52 pm    Post subject: Reply with quote

первый вариант пишит ошибку. Запускается, и после выбоки уже.
Quote:
The field catalog cannot be determined because the output table structure name was not specified.

Думаю что нужно включить
CALL METHOD grid1->set_table_for_first_display
EXPORTING
I_STRUCTURE_NAME = 'TABS'


включаю и опять же после выборки выдает вот это.
1 method set_sort_criteria.
2
3 *... (1) Trace?
4 if not mr_trace is initial.
5 call method mr_trace->add_trace_item
6 exporting
7 i_trace_item = 'SET_SORT_CRITERIA'
8 ir_variant = m_cl_variant
9 it_data = mt_data
10 it_info = mt_info.
11 endif.
12
13 if m_cl_variant->mt_fieldcatalog is initial.
>>>>> raise no_fieldcatalog_available.
15 endif.
16
17 m_cl_variant->mt_sort = it_sort.
18
19 call function 'LVC_SORT_COMPLETE'
20 exporting
21 it_fieldcat = m_cl_variant->mt_fieldcatalog
22 changing
23 ct_sort = m_cl_variant->mt_sort.
24
25 endmethod.

может быть мы что то ещё не учли?
думаю на минисапе должно прокатить...

Второй вариант ещё не пробовал.
Скажите, во втором коде нужно имя инклюда.. а пустой инклюд ведь пойдет?
В книге Кречмера инклюд не описан(((
Back to top
View user's profile Send private message
ghost
Специалист
Специалист


Age: 37
Joined: 18 Jan 2008
Posts: 71
Location: Tashkent-Astana-Moscow

PostPosted: Wed Mar 18, 2009 8:26 am    Post subject: Reply with quote

mvs87 wrote:

Code:
MODULE PBO OUTPUT.
  SET PF-STATUS 'MAIN100'.
  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
*HR_IT_SHOW_ANY_TABLE_ON_ALV
               "EXPORTING
*          I_STRUCTURE_NAME = 'SFLIGHT'
           changing
           IT_FIELDCATALOG = cat
           IT_OUTTAB        = tabs.

  call function 'LVC_FIELDCATALOG_MERGE'
  exporting
    i_internal_tablename = 'TABS'
  changing
    ct_fieldcat = cat
  exceptions
    others = 0.
  ENDIF.
      ENDMODULE.


При запуске (execute {F8}) появляется ошибка.
Field Catalog Not Found. (иллюстрация ниже)
В хелпе пишит что имя не задано. Активировал exporting и I_STRUCTURE_NAME = 'TAB_VT'. Непомогло...

Люди, помогите... я чувствую, что осталось немного до понимания))
надо дожать. обязательно.
Ребят, пожалуйста...


а почему у вас филдкаталог формируется после вызова grid, или мне показалось ? Confused

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
Back to top
View user's profile Send private message Send e-mail Blog
Брат Мигель
Участник
Участник



Joined: 04 Dec 2007
Posts: 20

PostPosted: Wed Mar 18, 2009 10:34 am    Post subject: Reply with quote

Так, думаю сейчас расставим точки над i.
Обявляете переменную как
data: begin of .... occurs 0,
....
end of .....
Если объявляете данную переменную в отдельном инклюде, запоминаем его название.
запускаете 2 ФМ

Code:
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
   EXPORTING
     I_PROGRAM_NAME               = prog_name
     I_INTERNAL_TABNAME           = table_name
*     I_STRUCTURE_NAME             = 'STRUCT'
*   I_CLIENT_NEVER_DISPLAY       = 'X'
     I_INCLNAME                   = incl_name
*   I_BYPASSING_BUFFER           =
*   I_BUFFER_ACTIVE              =
    CHANGING
      CT_FIELDCAT                  = xfc[]
   EXCEPTIONS
     INCONSISTENT_INTERFACE       = 1
     PROGRAM_ERROR                = 2
     OTHERS                       = 3.

и дальше пользуем REUSE_ALV_GRID_DISPLAY.
если для вашего вывода требуется преобразование
SLIS_T_FIELDCAT_ALV => LVC_T_FCAT
то запускаем еще один фм.
Code:
  CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
    EXPORTING
      it_fieldcat_alv = xfc[]
    IMPORTING
      et_fieldcat_lvc = l_ifc[]
    TABLES
      it_data         = gt_outtab
    EXCEPTIONS
      it_data_missing = 1
      OTHERS          = 2.

p.s. ФМ, который я указывал выше (в другом посте), не нужно выводить в отдельном экране, просто напросто в самой программе его пишете, он сам все сгенерит.
Back to top
View user's profile Send private message
mvs87
Участник
Участник



Joined: 25 Feb 2009
Posts: 34

PostPosted: Wed Mar 18, 2009 9:33 pm    Post subject: Reply with quote

Парни, спасибо что не бросаете... всётаки все были чайниками))

Честно говоря, я запутался.
* в модуле PBO.
задается статус.
создается кустом контрол.
- имя контрола
потом вызывается функция фиелд каталога.
- указывается: имя структуры, фиелд каталог и т.д.
потом создается грид
- задается кустом контрол
потом вызывается метод отображения грида
- задаются имя, фиелд каталог, выходная таблица.

Воот. И было бы очень здорово увидеть рабочий вариант.
Прост, парни, мне уже неудобно к Вам обращаться...
убейте 5 минут времени, подставьте рабочие функции чтобы заработало. А дальше, с другими подобными я сам постараюсь разобраться. Главное иметь рабочий.. с которым можно поиграть.
Ни каких корыстных целей не приследую...
Весь код.
Code:
REPORT  z_alv_test1.
*
TABLES: spfli, sflight.
*
DATA: BEGIN OF tabs OCCURS 0,
  citf LIKE spfli-cityfrom,
  citt LIKE spfli-cityto,
  pay  LIKE sflight-paymentsum,
  END OF tabs.
DATA: ok_code LIKE sy-ucomm,
      "g_repid like sy-repid,
      tabs1 LIKE table of tabs,
      g_container TYPE scrfname VALUE 'CONT',
      grid1  TYPE REF TO cl_gui_alv_grid,
      cat TYPE slis_t_fieldcat_alv,
      cat1 type lvc_t_fcat,
      g_custom_container TYPE REF TO cl_gui_custom_container.
*
SELECT-OPTIONS:
cid FOR sflight-connid.
*
START-OF-SELECTION.
*
  SELECT * FROM spfli WHERE connid IN cid.
*
    SELECT spfli~cityfrom spfli~cityto sflight~paymentsum
      INTO TABLE tabs
      FROM spfli
      INNER JOIN sflight ON sflight~connid = spfli~connid.
  ENDSELECT.
*
  CALL SCREEN 100.
*
MODULE pbo OUTPUT.
  SET PF-STATUS 'MAIN100'.
  IF g_custom_container IS INITIAL.
    CREATE OBJECT g_custom_container
      EXPORTING
       container_name = g_container.
"if sy-subrc ne 0.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
     EXPORTING
          i_internal_tablename = 'TABS'
     CHANGING
          ct_fieldcat          = cat1
     EXCEPTIONS
          OTHERS               = 0.
"endif.
    CREATE OBJECT grid1
      EXPORTING
        i_parent = g_custom_container.

        CALL   METHOD grid1->SET_TABLE_FOR_FIRST_DISPLAY
*HR_IT_SHOW_ANY_TABLE_ON_ALV
        EXPORTING
        I_STRUCTURE_NAME = 'TABS'
        CHANGING
        it_fieldcatalog = cat1
        it_outtab        = tabs1.
  ENDIF.
ENDMODULE.                    "PBO OUTPUT
*
MODULE pai INPUT.
  CALL METHOD cl_gui_cfw=>dispatch.
  CASE ok_code.
    WHEN 'EXIT'.
      PERFORM exit_program.
    WHEN OTHERS.
  ENDCASE.
  CLEAR ok_code.
ENDMODULE.                    "PAI INPUT
*
FORM exit_program.
  CALL METHOD g_custom_container->free.
  CALL METHOD cl_gui_cfw=>flush.
  LEAVE PROGRAM.
ENDFORM.                    "EXIT_PROGRAM


и объекты.



object.png
 Description:
 Filesize:  5.35 KB
 Viewed:  35855 Time(s)

object.png


Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Thu Mar 19, 2009 9:11 am    Post subject: Reply with quote

mvs87 wrote:
убейте 5 минут времени, подставьте рабочие функции чтобы заработало. А дальше, с другими подобными я сам постараюсь разобраться. Главное иметь рабочий.. с которым можно поиграть.
Ни каких корыстных целей не приследую...

1.Сделайте так, как написал Брат Мигель.
2.Чтобы посмотреть рабочий код, с которым можно "поиграться", в транзакции SE38 поищите программы по маске BCALV*GRID*

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
ghost
Специалист
Специалист


Age: 37
Joined: 18 Jan 2008
Posts: 71
Location: Tashkent-Astana-Moscow

PostPosted: Thu Mar 19, 2009 9:32 am    Post subject: Reply with quote

согласен с Удав .

но так просмотрев код , есть подозрение что возмона ошибка в объявлении таблицы tabs, просто в данном случае наверное вам надо явно указать в вызове метода отображения грида TABS[] . но лучше сделайте как вариант
Code:
data: begin of gs_main,
        ....
      end of gs_main,
      gt_main like table of gs_main.   


может и сработает , но это IMHO

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
Back to top
View user's profile Send private message Send e-mail Blog
mvs87
Участник
Участник



Joined: 25 Feb 2009
Posts: 34

PostPosted: Thu Mar 19, 2009 12:26 pm    Post subject: Reply with quote

Ребята.
Спасибо Вам всем за ответы.

Ошибка моя была в том что 'LVC_FIELDCATALOG_MERGE' не контачит с внутрянками. Ему надо структуру.
фух... как я мысленно матюкался когда узнал что людей и себя мучил попусту.

короче показали другую "концепцию" реализации.
Через аппенд.

Code:
 wa_fieldcat type line of lvc_t_fcat,
****************************
    wa_fieldcat-fieldname = 'CITYFROM'.
    wa_fieldcat-scrtext_l = 'From'.
    wa_fieldcat-scrtext_m = 'From'.
    wa_fieldcat-scrtext_s = 'From'.
    wa_fieldcat-outputlen = 20.
*    wa_fieldcat-decimals  = 3.
*    wa_fieldcat-no_out = 'X'.
    APPEND wa_fieldcat to cat1.
    clear wa_fieldcat.
и т.д.


Вобщем вопрос исчерпан.

и ещё раз всем спасибо!
Удачи в делах и жизни!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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.