Текущее время: Вс, июл 27 2025, 21:18

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: дополнительный экран с полем выбора
СообщениеДобавлено: Пн, мар 04 2013, 17:27 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 28 2012, 16:26
Сообщения: 52
На селекционном экране есть кнопка Загрузка из файла.
По нажатию на кнопку требуется выводить дополнительный экран с полем выбора файла для загрузки. При выборе файла данные из файла должны выводиться на экран отчета alv.
Отдельно вызов дополнительного экрана по кнопке и вывод поля выбора для загрузки могу сделать. Объединить никак не получается, помогите.
Code:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file(120) LOWER CASE OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

*----------------------------------------------------------------------*
* AT SELECTION- SCREEN ( F4 functionality )
*----------------------------------------------------------------------*


AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  PERFORM f4_file_name.

START-OF-SELECTION.

*----------------------------------------------------------------------*
* END-OF-SELECTION
*----------------------------------------------------------------------*

*END-OF-SELECTION.
  IF flag1 = 'X'.
    MESSAGE s777(hk) WITH 'Файл не существует'.
    CLEAR flag1.
  ELSE.
    WRITE 'Файл успешно выбран'.
  ENDIF.

*&---------------------------------------------------------------------*
*& Проверка существования файла на сервере приложений
*&---------------------------------------------------------------------*
FORM validate_server_file.
  DATA: l_file TYPE tpfht-pffile.
  CLEAR l_file.
  l_file = p_file.

  CALL FUNCTION 'PFL_CHECK_OS_FILE_EXISTENCE'
    EXPORTING
      fully_qualified_filename = l_file
    IMPORTING
      file_exists              = l_true.

  IF l_true = SPACE.
    flag1 = 'X'.
    STOP.
  ENDIF.

ENDFORM.                    " validate_server_file

*&---------------------------------------------------------------------*
*& Обработка F4 для поля с именем файла
*&---------------------------------------------------------------------*
FORM f4_file_name .

  wa_fieldvalues-fieldname = 'P_PRES'.
  APPEND wa_fieldvalues TO it_fieldvalues.
  CLEAR wa_fieldvalues.

  " Считаем значения экрана выбора
  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname               = sy-repid
      dynumb               = sy-dynnr
    TABLES
      dynpfields           = it_fieldvalues
    EXCEPTIONS
      invalid_abapworkarea = 1
      invalid_dynprofield  = 2
      invalid_dynproname   = 3
      invalid_dynpronummer = 4
      invalid_request      = 5
      no_fielddescription  = 6
      invalid_parameter    = 7
      undefind_error       = 8
      double_conversion    = 9
      stepl_not_found      = 10
      OTHERS               = 11.


    PERFORM get_f4_presentation.


ENDFORM.                    " f4_file_name

*&---------------------------------------------------------------------*
*& Открыть диалог выбора файла на клиенте
*&---------------------------------------------------------------------*
FORM get_f4_presentation .

*-- F4 functionality for file name on Presentation Server
  DATA: l_file TYPE STRING.
  CALL METHOD cl_salv_test_data=>select_file
    IMPORTING
      filename = l_file.

  p_file = l_file.

ENDFORM.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: дополнительный экран с полем выбора
СообщениеДобавлено: Пн, мар 04 2013, 21:39 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Создаете свой SELScreen c полем для ввода имени файла как WINDOW

Code:
SELECTION-SCREEN BEGIN OF SCREEN dynnr AS WINDOW.
   PARAMETERS: p_file(120) LOWER CASE OBLIGATORY.
SELECTION-SCREEN END OF SCREEN dynnr

На основном экране выбора создаете PUSHBUTTON или FUNCTION KEY, при нажатии на который вызываете свой подэкран:

Code:
CALL SELECTION-SCREEN dynnr STARTING AT 10 10.

За неточности прошу извинить, попытался описать общую концепцию


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

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


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

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


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

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