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

Создание fieldcatalog из локальной структуры



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Garik
Специалист
Специалист



Joined: 11 Oct 2007
Posts: 60

PostPosted: Tue Apr 29, 2008 3:14 pm    Post subject: Создание fieldcatalog из локальной структуры Reply with quote

Добрый день, я создал локальную структуру с использованием TYPES. Затем создал внутреннюю таблицу на основе этой структуры. При попытке создания fieldcatalog для этой таблицы с использованием функции lvc_fieldcatalog_merge выдается ошибка. Имя структуры передаю через параметр I_STRUCTURE_NAME. Вопрос такой, может ли fieldcatalog создаваться на основе локальной структуры, или обязательно нужно создать ее в словаре?
Back to top
View user's profile Send private message
Armann
Модератор
Модератор



Joined: 01 Jan 2008
Posts: 422
Location: Moscow

PostPosted: Tue Apr 29, 2008 3:38 pm    Post subject: Reply with quote

а попробуйте имя передать через I_INTERNAL_TABNAME
Back to top
View user's profile Send private message Blog
John Doe
Модератор
Модератор


Age: 46
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Tue Apr 29, 2008 3:50 pm    Post subject: Reply with quote

Надо через два шага это делать:
Code:
 
DATA: FCAT_LVC TYPE LVC_T_FCAT,
       FCAT_SLIS TYPE SLIS_T_FIELDCAT_ALV.
DATA: BEGIN OF LT_DEBT OCCURS 0,
         HKUNNR LIKE KNVH-HKUNNR,
         KUNNR  LIKE KNA1-KUNNR,
       END OF LT_DEBT.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
            I_PROGRAM_NAME         = G_REPID
            I_INTERNAL_TABNAME     = 'LT_DEBT'
            I_INCLNAME             = G_REPID
            I_BYPASSING_BUFFER     = 'X'
       CHANGING
            CT_FIELDCAT            = FCAT_SLIS
       EXCEPTIONS
            INCONSISTENT_INTERFACE = 1
            PROGRAM_ERROR          = 2
            OTHERS                 = 3.
  IF SY-SUBRC <> 0.
    MESSAGE S701(BC) WITH 'Ошибка построения каталога полей'.
    EXIT.
  ENDIF.

  CALL FUNCTION 'LVC_TRANSFER_FROM_SLIS'
       EXPORTING
            IT_FIELDCAT_ALV = FCAT_SLIS
       IMPORTING
            ET_FIELDCAT_LVC = FCAT_LVC
       TABLES
            IT_DATA         = LT_DEBT
       EXCEPTIONS
            IT_DATA_MISSING = 1
            OTHERS          = 2.
  IF SY-SUBRC <> 0.
    MESSAGE S701(BC) WITH 'Ошибка построения каталога полей'.
    EXIT.
  ENDIF.
Back to top
View user's profile Send private message Blog
klkuznetsov
Специалист
Специалист


Age: 48
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Mon Sep 20, 2010 3:05 pm    Post subject: Reply with quote

Попробовал так сденлать получил вот такую ошибку

ДинамОшибка READ_REPORT_LINE_TOO_LONG
Исключ. CX_SY_READ_SRC_LINE_TOO_LONG
Дата и время 20.09.2010 14:03:45



Краткий текст
The ABAP program lines are wider than the internal table.



Что произошло?
Error in the ABAP Application Program

The current ABAP program "SAPLSKBH" had to be terminated because it has
come across a statement that unfortunately cannot be executed.

Кто подскажет что не так?
Back to top
View user's profile Send private message
vga
Мастер
Мастер


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

PostPosted: Mon Sep 20, 2010 3:28 pm    Post subject: Reply with quote

Изжиток прошлого.
Инклюда, в которой определена внутренняя таблица, не должна иметь строк длиной более 73 символов.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
klkuznetsov
Специалист
Специалист


Age: 48
Joined: 06 Aug 2010
Posts: 79
Location: Ukraine

PostPosted: Mon Sep 20, 2010 3:44 pm    Post subject: Reply with quote

Спасибо! Действительно прошелся по программе, сделал так чтобы строк длинее 72-х символов не было. И все заработало... Это жесть... Sad
Дальше идет эмоциональная непереводимая игра слов...
Back to top
View user's profile Send private message
Armann
Модератор
Модератор



Joined: 01 Jan 2008
Posts: 422
Location: Moscow

PostPosted: Mon Sep 20, 2010 4:19 pm    Post subject: Reply with quote

klkuznetsov wrote:
Спасибо! Действительно прошелся по программе, сделал так чтобы строк длинее 72-х символов не было. И все заработало... Это жесть... Sad
Дальше идет эмоциональная непереводимая игра слов...

По этой и по другим разным причинам структуру для отображения данных предпочительней создавать в словаре, а не в программе
Back to top
View user's profile Send private message Blog
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
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.