Posted: Thu Jul 16, 2009 2:32 pm Post subject: как создать таблицу
как создать таблицу у себя в программе, аналогично таблице которая объявлене в другом отчете как
Code:
Data it_data like table of ....
что бы не копировать объявление себе в программу. В словаре структуры нет такой. Только в программе. _________________ (SAP) Система нипель... выпускает лучше, чем впускает!
Age: 37 Joined: 18 Jan 2008 Posts: 71 Location: Tashkent-Astana-Moscow
Posted: Thu Jul 16, 2009 5:46 pm Post subject:
Никак , ну хотя теоретически ну как вариант , если предположить что в другом отчете эта внутренняя таблица описана глобально и в отдельном инклуде (с другими объявлениями) , то можно включить этот инклуд к себе , но это честно говоря изврат. Поэтому никак.
Но что мешает вам создать эту структуру в словаре , если таковая отсутствует ? _________________ Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
To GHOST - можно если размножать самодеятельность и кол-во кода и определений. А что будет если автор чужой программы изменит определение структуры ? Придется как-то искать все косяки? Да?
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 - и подступиться вроде как не возможно... Или я не нашел еще способ?
Кто нибудь знает как сделать ? А? _________________ (SAP) Система нипель... выпускает лучше, чем впускает!
Age: 37 Joined: 18 Jan 2008 Posts: 71 Location: Tashkent-Astana-Moscow
Posted: Fri Jul 17, 2009 8:37 am Post subject:
таким же макаром он и название таблицы может поменять и еще чегод нибудь , поэтому единственный способ если вы хотите использовать одну структуру таблица, создать общую . Другого решения не вижу. А выше представленный код - это изврат _________________ Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
таким же макаром он и название таблицы может поменять и еще чегод нибудь , поэтому единственный способ если вы хотите использовать одну структуру таблица, создать общую . Другого решения не вижу. А выше представленный код - это изврат
В данном случае программа выгружает файлик и если тот самый аффтор изменит название этой таблицы то мягко говоря ему придется переписать ОЧЕНЬ много кода! А ЛЕНЬ программеров известная штука так что изврат этот застрахует от лажи в будущем... А может и увеличит кол-во геммора _________________ (SAP) Система нипель... выпускает лучше, чем впускает!
В данном случае программа выгружает файлик и если тот самый аффтор изменит название этой таблицы то мягко говоря ему придется переписать ОЧЕНЬ много кода! А ЛЕНЬ программеров известная штука так что изврат этот застрахует от лажи в будущем... А может и увеличит кол-во геммора
Гм, а как вам такой вариант - концепция сильно поменялась, и автор копирует эту программу в другую (дабы не порушить уже работающую), и эту другую изменяет? А после изменений старая программа остается как есть, а в меню пользователя вставляется новая, возможно с новой структурой таблицы?
Я бы сделал так:
1. создал бы структуру
2. поменял бы исходную программу, вместо определения begin of вставив like 'структура'
3. использовал бы в своей свежесозданную структуру
Гм, а как вам такой вариант - концепция сильно поменялась, и автор копирует эту программу в другую (дабы не порушить уже работающую), и эту другую изменяет? А после изменений старая программа остается как есть, а в меню пользователя вставляется новая, возможно с новой структурой таблицы?
Я бы сделал так:
1. создал бы структуру
2. поменял бы исходную программу, вместо определения begin of вставив like 'структура'
3. использовал бы в своей свежесозданную структуру
примерно так
Безусловно это лучшее решение...
но менять чужую программу не есть гуд в моей ситуации ...
Просто эти программы работают в связке: по результатам первой отрабатывает моя.
Вот я и хотел решить все меньшей "кровью"...
Вижу что решения для этого в абапе нет - увы. _________________ (SAP) Система нипель... выпускает лучше, чем впускает!
дело конечно ваше, но предложенное и есть 'меньшая кровь' Даже если и была бы возможность доступа к определению таблицы как вы описали для TYPES
А вообще, ИМХО, отношение 'чужая/своя' к нашим программам тут не очень уместно - программы принадлежат работодателю или клиенту, а ему нужно надежно работающее решение (как правило)
Если решать по хорошему - создать структуру и предложить автору поменять программу. Если автор не хочет или не может - уведомить своего РП и поменять самому, естессно оставив в исходнике комментарий - кто, зачем и почему
Age: 170 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Fri Jul 17, 2009 3:57 pm Post subject:
ghost wrote:
если предположить что в другом отчете эта внутренняя таблица описана глобально и в отдельном инклуде (с другими объявлениями) , то можно включить этот инклуд к себе , но это честно говоря изврат.
А чего изврат? По-моему, метод стар как мир и широко используется во многих языках.
Другое дело, что за глобальными инклюдами всегда тщательно следить приходится, чтобы какой-нибудь перец не завалил 20 связанных проектов, но на то на проекте и д.б. манагер.
Age: 37 Joined: 18 Jan 2008 Posts: 71 Location: Tashkent-Astana-Moscow
Posted: Fri Jul 17, 2009 4:07 pm Post subject:
vga wrote:
ghost wrote:
если предположить что в другом отчете эта внутренняя таблица описана глобально и в отдельном инклуде (с другими объявлениями) , то можно включить этот инклуд к себе , но это честно говоря изврат.
А чего изврат? По-моему, метод стар как мир и широко используется во многих языках.
Другое дело, что за глобальными инклюдами всегда тщательно следить приходится, чтобы какой-нибудь перец не завалил 20 связанных проектов, но на то на проекте и д.б. манагер.
да наверное вы правы , насчет изврата для этого варианта наверное преувеличил , но сам не являюсь сторонником , по мне, если структура используется многократно, то лучше создать ее в словаре и не париться , но это как всегда IMHO _________________ Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)
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.