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

как создать таблицу



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



Joined: 12 Mar 2008
Posts: 108
Location: Белгород

PostPosted: Thu Jul 16, 2009 2:32 pm    Post subject: как создать таблицу Reply with quote

как создать таблицу у себя в программе, аналогично таблице которая объявлене в другом отчете как
Code:
 Data it_data like table of ....


что бы не копировать объявление себе в программу. В словаре структуры нет такой. Только в программе.

_________________
(SAP) Система нипель... выпускает лучше, чем впускает!

Crystal_Ra
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 Jul 16, 2009 5:46 pm    Post subject: Reply with quote

Никак , ну хотя теоретически ну как вариант , если предположить что в другом отчете эта внутренняя таблица описана глобально и в отдельном инклуде (с другими объявлениями) , то можно включить этот инклуд к себе , но это честно говоря изврат. Поэтому никак.

Но что мешает вам создать эту структуру в словаре , если таковая отсутствует ?

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



Joined: 12 Mar 2008
Posts: 108
Location: Белгород

PostPosted: Fri Jul 17, 2009 1:23 am    Post subject: Reply with quote

To GHOST - можно если размножать самодеятельность и кол-во кода и определений. А что будет если автор чужой программы изменит определение структуры ? Придется как-то искать все косяки? Да? Wink

Знаю способ такой:
Code:

  sType = '\PROGRAM=ZISU_CH_POCKET_PC_DOWNLOAD\TYPE=TKTOKL'.

  data reft type ref to data.
  Field-Symbols <it_data> type any table.

  catch SYSTEM-EXCEPTIONS others = 1.
          create data reft type STANDARD TABLE OF (sType).
  endcatch.
  ....
  Assign reft->* To <it_data>.


при учете того что TKTOKL определен в программе ZISU_CH_POCKET_PC_DOWNLOAD как TYPES !!!

Но там аффтор написал DATA Sad - и подступиться вроде как не возможно... Или я не нашел еще способ?
Кто нибудь знает как сделать ? А?

_________________
(SAP) Система нипель... выпускает лучше, чем впускает!

Crystal_Ra
Back to top
View user's profile Send private message
ghost
Специалист
Специалист


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

PostPosted: Fri Jul 17, 2009 8:37 am    Post subject: Reply with quote

таким же макаром он и название таблицы может поменять и еще чегод нибудь , поэтому единственный способ если вы хотите использовать одну структуру таблица, создать общую . Другого решения не вижу. А выше представленный код - это изврат Confused
_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
Back to top
View user's profile Send private message Send e-mail Blog
Crystal_Ra
Старший специалист
Старший специалист



Joined: 12 Mar 2008
Posts: 108
Location: Белгород

PostPosted: Fri Jul 17, 2009 11:28 am    Post subject: Reply with quote

ghost wrote:
таким же макаром он и название таблицы может поменять и еще чегод нибудь , поэтому единственный способ если вы хотите использовать одну структуру таблица, создать общую . Другого решения не вижу. А выше представленный код - это изврат Confused


Very Happy В данном случае программа выгружает файлик и если тот самый аффтор изменит название этой таблицы то мягко говоря ему придется переписать ОЧЕНЬ много кода! А ЛЕНЬ программеров известная штука Laughing Wink так что изврат этот застрахует от лажи в будущем... А может и увеличит кол-во геммора Exclamation

_________________
(SAP) Система нипель... выпускает лучше, чем впускает!

Crystal_Ra
Back to top
View user's profile Send private message
Armann
Модератор
Модератор



Joined: 01 Jan 2008
Posts: 422
Location: Moscow

PostPosted: Fri Jul 17, 2009 11:53 am    Post subject: Reply with quote

Crystal_Ra wrote:
Very Happy В данном случае программа выгружает файлик и если тот самый аффтор изменит название этой таблицы то мягко говоря ему придется переписать ОЧЕНЬ много кода! А ЛЕНЬ программеров известная штука Laughing Wink так что изврат этот застрахует от лажи в будущем... А может и увеличит кол-во геммора Exclamation

Гм, а как вам такой вариант - концепция сильно поменялась, и автор копирует эту программу в другую (дабы не порушить уже работающую), и эту другую изменяет? А после изменений старая программа остается как есть, а в меню пользователя вставляется новая, возможно с новой структурой таблицы?
Я бы сделал так:
1. создал бы структуру
2. поменял бы исходную программу, вместо определения begin of вставив like 'структура'
3. использовал бы в своей свежесозданную структуру

примерно так
Back to top
View user's profile Send private message Blog
ghost
Специалист
Специалист


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

PostPosted: Fri Jul 17, 2009 12:38 pm    Post subject: Reply with quote

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



Joined: 12 Mar 2008
Posts: 108
Location: Белгород

PostPosted: Fri Jul 17, 2009 1:19 pm    Post subject: Reply with quote

[quote="Armann"]
Crystal_Ra wrote:

Гм, а как вам такой вариант - концепция сильно поменялась, и автор копирует эту программу в другую (дабы не порушить уже работающую), и эту другую изменяет? А после изменений старая программа остается как есть, а в меню пользователя вставляется новая, возможно с новой структурой таблицы?
Я бы сделал так:
1. создал бы структуру
2. поменял бы исходную программу, вместо определения begin of вставив like 'структура'
3. использовал бы в своей свежесозданную структуру

примерно так


Безусловно это лучшее решение...
но менять чужую программу не есть гуд в моей ситуации ...
Просто эти программы работают в связке: по результатам первой отрабатывает моя.
Вот я и хотел решить все меньшей "кровью"...
Вижу что решения для этого в абапе нет - увы.

_________________
(SAP) Система нипель... выпускает лучше, чем впускает!

Crystal_Ra
Back to top
View user's profile Send private message
Armann
Модератор
Модератор



Joined: 01 Jan 2008
Posts: 422
Location: Moscow

PostPosted: Fri Jul 17, 2009 3:13 pm    Post subject: Reply with quote

Crystal_Ra wrote:
Вот я и хотел решить все меньшей "кровью"...

дело конечно ваше, но предложенное и есть 'меньшая кровь' Smile Даже если и была бы возможность доступа к определению таблицы как вы описали для TYPES

А вообще, ИМХО, отношение 'чужая/своя' к нашим программам тут не очень уместно - программы принадлежат работодателю или клиенту, а ему нужно надежно работающее решение (как правилоSmile)
Если решать по хорошему - создать структуру и предложить автору поменять программу. Если автор не хочет или не может - уведомить своего РП и поменять самому, естессно оставив в исходнике комментарий - кто, зачем и почему

Но решение естесственно за вами Smile
Back to top
View user's profile Send private message Blog
vga
Мастер
Мастер


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

PostPosted: Fri Jul 17, 2009 3:57 pm    Post subject: Reply with quote

ghost wrote:
если предположить что в другом отчете эта внутренняя таблица описана глобально и в отдельном инклуде (с другими объявлениями) , то можно включить этот инклуд к себе , но это честно говоря изврат.


А чего изврат? Smile По-моему, метод стар как мир и широко используется во многих языках.

Другое дело, что за глобальными инклюдами всегда тщательно следить приходится, чтобы какой-нибудь перец не завалил 20 связанных проектов, но на то на проекте и д.б. манагер.
Back to top
View user's profile Send private message Blog Visit poster's website
ghost
Специалист
Специалист


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

PostPosted: Fri Jul 17, 2009 4:07 pm    Post subject: Reply with quote

vga wrote:
ghost wrote:
если предположить что в другом отчете эта внутренняя таблица описана глобально и в отдельном инклуде (с другими объявлениями) , то можно включить этот инклуд к себе , но это честно говоря изврат.


А чего изврат? Smile По-моему, метод стар как мир и широко используется во многих языках.

Другое дело, что за глобальными инклюдами всегда тщательно следить приходится, чтобы какой-нибудь перец не завалил 20 связанных проектов, но на то на проекте и д.б. манагер.


да наверное вы правы , насчет изврата для этого варианта наверное преувеличил , но сам не являюсь сторонником , по мне, если структура используется многократно, то лучше создать ее в словаре и не париться , но это как всегда IMHO

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
Back to top
View user's profile Send private message Send e-mail 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.