Текущее время: Вс, июл 13 2025, 19:30

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 07 2014, 12:24 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 30 2014, 15:05
Сообщения: 10
Как узнать название структуры в репозитории, которое соответствует выбранной таблице?
Я открыл броузер репозитория, справа в нем открыта моя таблица. Здесь 5 вкладок: Свойства, Поставка и ведение, Поля, Справка/Проверка знач.ввода, Поля валюты/количества. Нигде тут не могу найти название структуры соответствующее таблице. Как и где его найти?

Извиняюсь, если не в тот раздел запостил вопрос.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 07 2014, 13:01 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Название таблицы = название структуры. Или уточните вопрос.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 07 2014, 13:22 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 30 2014, 15:05
Сообщения: 10
Есть метод создания таблицы. This methods defines a column structure for a Table object by reading all information from the R/3 repository.

Syntax
The CreateFromR3Repository method has the syntax:
CreateFromR3Repository(R3Connection, RepositoryEntry, ParameterName)
Parameters
• R3Connection: Can be a Connection object as provided by the Logon control, or an RfcHandle as used by the native RFC API.
• RepositoryEntry: Name of the structure in the SAP R/3 Repository.
• ParameterName: Formal parameter name declared for the table in the function module interface (in the R/3 Function Library). This name is used to identify the table in a Tables collection.

VARIANT R3Connection
String RepositoryEntry - это, как я понял, название структуры таблицы в словаре
String ParameterName - это, как я понял, название самой таблицы

oTable.CreateFromR3Repository(oConnection, "RYPBMHI39", "NODETAB") - это из найденного примера

Другой найденный пример:
Set objEdidd = objTableFactory.NewTable
lngTmp = objEdidd.CreateFromR3Repository(sapConn.Connection, "EDIDD", "IDOC_DATA")
For Each objEdiddRec In objEdidd.Rows
For lngIdx = 1 To objEdidd.ColumnCount
Debug.Print objEdidd.ColumnName(lngIdx) & " = " & _
objEdiddRec(objEdidd.ColumnName(lngIdx)) & ", " & _
objEdidd.Columns(lngIdx).IntLength
Next
Next

Я хочу использовать Table Factory Control и через него работать с таблицей. Хочу разобраться, где найти параметры. В примерах имена структуры и таблицы отличаются.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 07 2014, 14:46 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 30 2014, 15:05
Сообщения: 10
В браузере репозитария у объектов есть описания. В описании бывает повторение части имени. Может это и есть имя структуры?

/BIC/AZRSP_1100 * ODS-объект ZRSP_11 : активные записи
/BIC/AZRS_1040 * Объект хранилища данных ZRS_10 : обно
/BIC/B0000395000 * PSA для ZBW_CHEQUES ORARDW Сегмент 0001
/BIC/B0000395001 * PSA для ZBW_CHEQUES ORARDW Сегмент 0001
/BIC/B0000395001 * PSA для ZBW_CHEQUES ORARDW Сегмент 0001

Т.е. для первой строки /BIC/AZRSP_1100 - имя табл, ZRSP_11 - имя структуры
для последней /BIC/B0000395001 - имя табл, ZBW_CHEQUES ORARDW - имя структуры


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 07 2014, 15:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Таблица RSOLTPSOURCEFIE. В поле OLTPSOURCE поставьте: ZBW_CHEQUES.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 07 2014, 15:24 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 30 2014, 15:05
Сообщения: 10
В общем, если вбить название табл в оба параметра, то создается структура выходной табл.
oTable.CreateFromR3Repository(oConnection, "/BIC/B0000395000", "/BIC/B0000395000")
Столбцы с названиями создаются. Но без данных.

rows.count=0
Что-то не так.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 07 2014, 15:39 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 30 2014, 15:05
Сообщения: 10
ROKO написал:
Таблица RSOLTPSOURCEFIE. В поле OLTPSOURCE поставьте: ZBW_CHEQUES.

Там сейчас стоит ROOSOURCER

А что даст замена? По правде говоря, боюсь что-нибудь завалить в системе по незнанию.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 07 2014, 17:35 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 30 2014, 15:05
Сообщения: 10
Ну, в общем разобрался.
Второй параметр - это просто сам задаешь имя создаваемой таблицы для работы с ней в своем программном модуле.

Но в целом все плохо. Пустая таблица создается с этой структурой, ее можно заполнять данными и т.д.
Но с реальной таблицей в базе она не связана - закончил работу модуль и все стало Nothing. Т.е. не получилось почему-то этим способом работать с реальной таблицей из базы.

А в документации SAP пишет, что можно.
The SAP Table Factory control encapsulates internal table (ITAB) handling as provided by the RFC Library. It eases the way the desktop programmer can use internal tables. The Table Factory control gives you easy access to these SAP internal tables.

Что-то не то. Уважаемые участники форума, имеет ли кто опыт успешного использования такого способа работы с таблицами?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Вт, ноя 11 2014, 16:27 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 133
Откуда: Набережные Челны
Пол: Мужской
Если судить по описанному выше, то вы создаете внутреннею таблицу со структурой из ABAP-словаря, т.е. типизированный массив.
Используйте функциональные модули для получения данных, например RFC_READ_TABLE.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Чт, ноя 13 2014, 21:53 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 30 2014, 15:05
Сообщения: 10
Привет, broker.chelny.

Да, вы правы. Создается именно пустая структура ABAP-словаря. Я бы не сказал, что создается внутренняя таблица - не знаю, какая-то копия структуры создается.
Читать таблицу умею функцией RFC_GET_TABLE_ENTRIES - вероятно, в большой степени это аналог RFC_READ_TABLE, порекомендованной вами.
Но приключилась неожиданная засада. После того, как получил ссылку на таблицу, вернее, не ссылку получил, а получил копию таблицы или ссылку на копию таблицы - начинаю с ней работать. Меняю данные, добавляю/ удаляю строки, т.е. все операции с записями. И для проверки вывожу эту таблицу в Excel - все хорошо, все меняется. НО когда отключаюсь и заново подключаюсь к этой таблице, то в ней все по старому без изменений. Из чего делаю вывод, что RFC_GET_TABLE_ENTRIES дает доступ к копии таблицы, а изменения не сохраняет в базе. Или я чего-то недоделываю от недостатка знаний. В общем, не понимаю этого - как бы я делаю изменения данных в таблице, а после отключения от таблицы эти изменения как бы аннулируются, либо работаю с копией таблицы не связанной с базой. Я понял название функции именно как доступ к записям, а не просто чтение - но не получается.
Мне нужно именно менять данные в таблице, а не только читать. Увы, внятной структурированной документации так и не смог найти, хотя прочитал немало.

Может, есть подходящие для этого функции, но я не знаю какие.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как узнать название структуры таблицы?
СообщениеДобавлено: Пт, ноя 14 2014, 08:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
igmar Да, эти ФМ только читают данные. Возможности менять данные полученные через RFC ФМ с одновременным изменением - нет. Точнее так: задачи изменения данных всегда узкоспециализированы. Нет обобщенных подходов. Реализовать на стороне сап такое можно, но не нужно, это чревато плохими последствями.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB