Текущее время: Сб, авг 02 2025, 20:54

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Выгрузка в EXCEL
СообщениеДобавлено: Пт, авг 24 2007, 14:01 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
Проблема: не получается выгружать в EXCEL блоками данные,
что необходимо , поскольку существует ограничение стандартного
класса для вывода в ексель на 9999 строк
в отчете их может быть больше
: один проход отрабатывает а вторую и след порцию не сует.
Такое вообще возможно сделать или нет ?
может быть имя PARAM надо менять на новое для каждого блока, хотя сувал 1,2,3 в цикле , ничего не получалось даже ошибки лезли
DO n TIMES
**********
CALL METHOD go_spreadsheet->insert_range_dim
EXPORTING
name = 'PARAM'
top = sm
left = 1
rows = d
no_flush = ''
columns = l_kol9
IMPORTING
error = oi_error
retcode = retcode
.
***********************************************

rangei-name = 'PARAM'.
rangei-rows = d.
rangei-columns = l_kol9.
APPEND rangei TO ran_tmp.

CALL METHOD go_spreadsheet->set_ranges_data
EXPORTING
ranges = ran_tmp
contents = cont_tmp
no_flush = ''
IMPORTING
error = oi_error
retcode = retcode.
ENDDO.

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 15:09 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, авг 21 2007, 16:46
Сообщения: 43
Откуда: Москва
поищи на форуме - Parasit как-то выкладывал целый ФМ для выгрузки в Ексель..

_________________
все может быть, что может быть; и лишь того лишь быть не может - что может быть не может быть - все остальное может быть...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 15:23 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
у меня вопрос проще :)
я допускаю какую то незначит ошибку
при разбиению на группы диапазонов
найти не могу мозгов не хватает

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 15:24 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
нет такого пользователя

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 15:28 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Lexx_nv написал(а):
нет такого пользователя

"Parazit"


2darth, стыдно товарищ! :)

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 15:31 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
может ты ответишь где ошибка допущена? :))

предположим есть 30 строк и 10 колонок
я его хочу выводить в ексель по 10 строк
это возможно или нет ?
у меня первые 10 выводит потом обрезает
где то ошика в каком то диапазоне
или в имени диапазона
в чем не могу понять

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 15:32 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
если это весь код, который отвечает за вызов, то не понятно где меняется значение переменной sm. Рэнджи, наверное все таки, надо обзывать по разному.

Не очень понятно что делает вызов go_spreadsheet->set_ranges_data
в do ... enddo. Если он нужен каждый раз в do, то где очистка ran_tmp. Если нужно все сразу, то почему бы вызов не сделать после do ?

Parazit - пишется через Z.
И еще можно исправлять свои сообщения, а не кидать кучу новых.

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 15:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
" к - количество строк вообще
" l - количество раз повторения запросов
" p - остаток
" d - размер блока
DATA: name(10) TYPE c.
d = 17.
k = l_g.
l = k / d.
p = k / d - l.

IF p > 0.
l = l + 1.
ENDIF.

CLEAR: idx1 , idx2.

DO l TIMES.
CLEAR: cont_tmp , cont_tmp[] ,
ran_tmp , ran_tmp[] , sm.

sm = 7 + d * sy-index - d.

IF sy-index = 1 .
idx1 = 1.
ELSE.
idx1 = d * sy-index + 1 - d.
ENDIF.

idx2 = sy-index * d.

* APPEND LINES OF cont FROM idx1 TO idx2 TO cont_tmp.
LOOP AT cont INTO cont_l WHERE row BETWEEN idx1 AND idx2 .
APPEND cont_l TO cont_tmp.
ENDLOOP.

name = sy-index.
CALL METHOD go_spreadsheet->insert_range_dim
EXPORTING
name = 'PARAM'
top = sm
left = 1
rows = d
no_flush = ''
columns = l_kol9
updating = 1
IMPORTING
error = oi_error
retcode = retcode
.
**********************************************

rangei-name = 'PARAM'.
rangei-rows = d.
rangei-columns = l_kol9.
APPEND rangei TO ran_tmp.

CALL METHOD go_spreadsheet->set_ranges_data
EXPORTING
ranges = ran_tmp
contents = cont_tmp
no_flush = ''
IMPORTING
error = oi_error
retcode = retcode.

ENDDO.

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 15:35 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
делаю по причине невозможности вывода в ексель более 9999 записей
а у меня может хоть 60000

_________________
Best regards
Dolbnev Alexandr


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 16:35 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Lexx_nv написал(а):
может ты ответишь где ошибка допущена? :))

сорри, с экселем я не дружу :) но у вышеуказанного Паразита по его разработке получилась большая ветка, может там и есть ответ на твой вопрос. Либо возьми его ФМ за основу, не обязательно же велосипед изобретать

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 24 2007, 17:31 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 24 2006, 09:33
Сообщения: 154
Откуда: Москва
Ответ :
для каждого диапазона данных нужна новая нумерация строк

тоесть было 30 записей
бью по 15
=> первый диапазон должен иметь строки с 1 по 15 и второй с 1 по 15

а у меня было первый 1-15
второй 16-30
вопрос решен
да кстати я именую поразному диапазоны
и смещаю их параметром TOP

_________________
Best regards
Dolbnev Alexandr


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

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


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

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


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

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