Текущее время: Ср, июн 18 2025, 23:19

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 18 2008, 08:09 
Специалист
Специалист

Зарегистрирован:
Чт, апр 13 2006, 08:44
Сообщения: 133
Откуда: 56
Пол: Мужской
Silence написал(а):
zIk написал:
вопрос решился?

Не, я ночью спала :)
Сейчас начну тестить дальше
Вы что-то писали про пространство имен, может в этом дело?
не так официально - "ты".
про имена писал не я - я процитировал.
жду решения


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 18 2008, 08:53 
Специалист
Специалист

Зарегистрирован:
Вт, май 22 2007, 08:26
Сообщения: 123
Откуда: S-Pb
В DOWNLOAD_WEB_OBJECT
после CALL FUNCTION 'WWWDATA_IMPORT'
SY-SUBRC<>0
после этого возврат в ZSMW0_OPEN_XLS
check wa_rc = 0. - после этого сразу идет на endfunction и вылетает в дамп

Local variables must not be used to receive returned parameters in calls
to controls or automation servers.
For performance reasons, calls to frontend components such as controls are bundled in a queue, and not sent to the frontend until a flush occurrs.
The automation requests are then processed asynchronously to the ABAP code.
If you use local variables for returned values from controls (for example, the ID of the selected node in a tree), it is possible that the local variable no longer exists when the flush occurs, and consequently, the value cannot be returned.
The system must assume that the program can no longer function properly without these values and terminates the program.
Check whether your application uses local variables to receive values from control or automation calls.
The variable used here pointed to sector "stack area", data object
"\FUNCTION=ZSMW0_OPEN_XLS\DATA=WA_SAPWORKDIR".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 18 2008, 13:20 
Специалист
Специалист

Зарегистрирован:
Чт, апр 13 2006, 08:44
Сообщения: 133
Откуда: 56
Пол: Мужской
обновил топик


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 11:03 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Всем доброго времени суток,
уважаемый, zIk, спасибо за этот полезный ФМ
итак, для 4.6С (мой уровень ABAP-обновления 54):

метод cl_gui_frontend_services=>get_sapgui_workdir
нужно заменить на:
Code:
CALL METHOD cl_gui_frontend_services=>get_sapgui_directory
  CHANGING
    sapgui_directory = wa_sapworkdir
  EXCEPTIONS
    CNTL_ERROR       = 1
    others           = 2
        .


после секции удаление прошлых выгрузок отчета добавить строку:
Code:
CALL METHOD cl_gui_cfw=>flush.

кстати, Silence, это поможет решить вашу проблему.

Ну и напоследок несколько советов по сохранению шаблона в Excel2007:
1) шаблон нужно сохранять с типом xlsm (т.е. с поддержкой макросов)
2) убедитесь, что не установлена защита книги
3) сам шаблон в SMW0 нужно сохранять в двоичном формате


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 12:24 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Parazit написал:
zIk написал:
El Mario написал:
А в чем собственно отличие, от того что предложил нам Parazit ?
здесь SAPу - ABAP, Excelю - VB.
Здесь вы делаете только то что надо вам, Parazit, я подозреваю, делает все что может понадобится для тех, кто хочет работать только с ABAP.

Я постарался сделать так, чтобы не нужно было особо знать ни то ни другое. :)


Я б тебе памятник поставил :roll: :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 13:10 
Специалист
Специалист

Зарегистрирован:
Чт, апр 13 2006, 08:44
Сообщения: 133
Откуда: 56
Пол: Мужской
Дима, спасибо.
Обновил топик


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 01 2008, 15:25 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 01 2008, 14:54
Сообщения: 4
Откуда: Samara
Спасибо zIk за ФМ! В Exel выгрузил удачно, вот только хотелось пример какой-нибудь выгрузки в него табличной части и используемой техники. Второй момент, возможно ли расширить на Ворд? Достаточно было бы Вашим ФМ выгружать на локальную машину шаблон Ворда и дальше передать управление макросу VBA, сформированному на ABAP (аналогично как и в Exel).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 02 2008, 13:45 
Специалист
Специалист

Зарегистрирован:
Чт, апр 13 2006, 08:44
Сообщения: 133
Откуда: 56
Пол: Мужской
2 Shkalic
Вырезка - "рисование" для каждого проекта своего столбца (шапка, границы, цветные ячейки):
Code:
  loop at it_pspnr into wa_pspnr.
    loop at it_proj_prps into wa_proj_prps where pspnr = wa_pspnr.
      wa_vba = 'Application.Goto Reference:="sh_top"'. append wa_vba to it_vba.
      wa_vba = 'Selection.Copy'. append wa_vba to it_vba.
      wa_vba = 'Cells(wa_nrow, wa_ncol).Select'. append wa_vba to it_vba.
      wa_vba = 'ActiveSheet.Paste'. append wa_vba to it_vba.


      concatenate wa_proj_prps-posid wa_proj_prps-post1 into wa_str separated by space.
      replace all occurrences of '"' in wa_str with '""'.
      concatenate 'Cells(wa_nrow, wa_ncol) = "Проект:' wa_str '"'
        into wa_vba separated by space. append wa_vba to it_vba.
      wa_str = wa_proj_prps-dogname.
      replace all occurrences of '"' in wa_str with '""'.
      concatenate 'Cells(wa_nrow + 1, wa_ncol) = "Договор:' wa_str '"'
        into wa_vba separated by space. append wa_vba to it_vba.

      wa_vba = 'wa_ncol = wa_ncol + 6'. append wa_vba to it_vba.
    endloop.
  endloop.


Копирование всей строки № wa_nrow_t и вставка в позицию ячейки с именем "cur". Строка вставится над ячейкой "cur".
Code:
        wa_vba = 'Cells(wa_nrow_t, wa_ncol_t).EntireRow.Select'. append wa_vba to it_vba.
        wa_vba = 'Selection.Copy'. append wa_vba to it_vba.
        wa_vba = 'Range("cur").EntireRow.Insert'. append wa_vba to it_vba.



Про Word
у меня задачи с Word-ом не было.
Технически наверняка все так же - только ни Workbooks, ни Sheets, ни Cells, а что-то другое.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для выгрузки отчетов в Excel (SMW0 + Visual Basic)
СообщениеДобавлено: Пт, янв 22 2010, 01:01 
Начинающий
Начинающий

Зарегистрирован:
Сб, янв 16 2010, 23:06
Сообщения: 2
Огромное спасибо Вам, zIk, за выложенный метод.
Перепробовала уже все варианты выгрузки, для большого объема данных - это самый эффективный метод выгрузки.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ для выгрузки отчетов в Excel (SMW0 + Visual Basic)
СообщениеДобавлено: Пн, янв 25 2010, 14:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
SvtK написал(а):
Огромное спасибо Вам, zIk, за выложенный метод.
Перепробовала уже все варианты выгрузки, для большого объема данных - это самый эффективный метод выгрузки.

Можно поподробней о задаче, что за отчет, какой объем данных, время формирования и т.д.?

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

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


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

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


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

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