Текущее время: Чт, авг 21 2025, 08:47

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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