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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Не сохраняется значение в поле экрана
СообщениеДобавлено: Чт, фев 05 2009, 19:05 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Имеется грид с данными. По двойному клику вызываю новое окно с набором полей для редактирования. Меняю значение поля, нажимаю Сохранить, попадаю в PAI, а там значение этого параметра осталось прежним. Что-то не так делаю или почему так? Поле экрана текстовое длиной 18, сам параметр типа р с 3 знаками после запятой.

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сохраняется значение в поле экрана
СообщениеДобавлено: Пт, фев 06 2009, 06:58 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Возможно, вы обращаетесь к полю до его первого упоминания в Field выражении.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сохраняется значение в поле экрана
СообщениеДобавлено: Пт, фев 06 2009, 07:36 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
VID написал:
Поле экрана текстовое длиной 18


почему текстовый ? вы это поле добавляли из проги на экран ? или все же формат DEC

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не сохраняется значение в поле экрана
СообщениеДобавлено: Пт, фев 06 2009, 12:46 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Code:
SELECTION-SCREEN BEGIN OF SCREEN 9301 AS SUBSCREEN.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(18) gc_9205.
    PARAMETERS p_matnmr(18) LOWER CASE.
    SELECTION-SCREEN COMMENT 39(40) gc_mtxt.
  SELECTION-SCREEN END OF LINE.

  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(18) gc_9206.
    PARAMETERS p_quant(18) LOWER CASE.
  SELECTION-SCREEN END OF LINE.

  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(18) gc_9207.
    PARAMETERS p_hmatnr(18) LOWER CASE.
    SELECTION-SCREEN COMMENT 39(40) gc_hmtxt.
  SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF SCREEN 9301.

Вот так объявлены параметры. Им соответствуют определенные поля структуры со своими типами. Так вот почему-то я не могу в PAI получить то, что ввел в эти параметры, т.к. они пустые остаются.

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сохраняется значение в поле экрана
СообщениеДобавлено: Пт, фев 06 2009, 13:09 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Может, забыли CALL SUBSCREEN в PAI родительского экрана поставить?

Стесняюсь спросить, зачем использовать для ввода данных экран выбора, да еще такой странный?
Экран выбора - это еще ладно, раз хочется - пусть. Но ввод данных в текстовые поля... Все проверки (приведение типов, существование в справочниках и т.д.) вручную будете делать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сохраняется значение в поле экрана
СообщениеДобавлено: Пт, фев 06 2009, 13:16 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
VID написал:
Поле экрана текстовое длиной 18

еще были сомнения подумал может автор ошибся при написании поста
ghost написал:
почему текстовый ? вы это поле добавляли из проги на экран ? или все же формат DEC

ан нет все верно :shock:
VID написал:
Code:
SELECTION-SCREEN BEGIN OF SCREEN 9301 AS SUBSCREEN.
  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(18) gc_9205.
    PARAMETERS p_matnmr(18) LOWER CASE.
    SELECTION-SCREEN COMMENT 39(40) gc_mtxt.
  SELECTION-SCREEN END OF LINE.

  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(18) gc_9206.
    PARAMETERS p_quant(18) LOWER CASE.
  SELECTION-SCREEN END OF LINE.

  SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(18) gc_9207.
    PARAMETERS p_hmatnr(18) LOWER CASE.
    SELECTION-SCREEN COMMENT 39(40) gc_hmtxt.
  SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF SCREEN 9301.

Вот так объявлены параметры. Им соответствуют определенные поля структуры со своими типами. Так вот почему-то я не могу в PAI получить то, что ввел в эти параметры, т.к. они пустые остаются.


PAI можете выложить ?

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не сохраняется значение в поле экрана
СообщениеДобавлено: Пт, фев 06 2009, 13:32 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Rokhay написал:
Все проверки (приведение типов, существование в справочниках и т.д.) вручную будете делать?

Именно... Сам знаю, что ненормально это, но клиента ужас как радуют поля одинаковой длины на экране... Мне этого правда не понять.

Вот PAI:
Code:
MODULE user_command_9300 INPUT.
  CASE ok_code.
    WHEN 'EXIT' OR 'BACK' OR 'BTN_CL'.
      SET SCREEN 0.
      LEAVE.
    WHEN 'BTN_OK'.
      IF gv_mlact = 'N' OR gv_mlact = 'A'.
        PERFORM save_changes USING 'M'.
      ENDIF.

      SET SCREEN 0.
      LEAVE.
  ENDCASE.
ENDMODULE.

и часть save_changes:
Code:
CLEAR gs_mat_con.

          gs_mat_con-mandt = sy-mandt.
          gs_mat_con-aufnr = p_anumm.
          gs_mat_con-vornr = gv_vornr.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
            EXPORTING
              input  = p_matnmr
            IMPORTING
              output = gs_mat_con-matnr.
          gs_mat_con-matnr_gesamt = p_hmatnr.
          gs_mat_con-datum        = gv_fbuda.
          gs_mat_con-plant        = '0191'.
          gs_mat_con-store_loc    = 'MOD'.
          gs_mat_con-aktivitaet   = ''.

          PERFORM check_data USING lv_isok 'M'.

          IF lv_isok = 'X'.
            APPEND gs_mat_con TO gt_mat_con.
          ELSE.
            ls_msg-msgid = 'SABAPDOCU'.
            ls_msg-msgty = 'E'.
            ls_msg-msgno = '888'.
            ls_msg-msgv1 = 'Die Daten sind nicht korrekt.'.
            ls_msg-msgv2 = 'Bitte überprüfen Sie die Eingabe'.

            CALL FUNCTION 'RSDA_MESSAGE_AS_POPUP'
              EXPORTING
                i_s_msg = ls_msg.
          ENDIF.

check_data пустая, возвращает пока просто все время Х.

_________________
Вежливость - лучшее оружие чайника :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не сохраняется значение в поле экрана
СообщениеДобавлено: Пт, фев 06 2009, 14:03 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
вообщето введенные данные вы сможете обрабтывать в AT SELECTION-SCREEN
взгляните в демо пример DEMO_SEL_SCREEN_AS_SUBSCREEN

P.S. : а насчет длинны это можно указать в рписании параметров, а выбранный вами вариант неверен (все параметры текстовые)

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не сохраняется значение в поле экрана
СообщениеДобавлено: Пт, фев 06 2009, 14:20 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 20 2008, 10:29
Сообщения: 339
Откуда: Мюнхен
Пол: Мужской
Пример гляну, а вот с указанием длины проблема. Все поля, которые к примеру длиннее 18, получают тип поля в таблице с ограничением по длине (VISIBLE LENGTH). Ну а те, которые короче 18, приходится делать текстовыми, т.к. растянуть их не удается. К счастью только что переубедил всетаки заказчика, что поля одинаковой длины не кул, теперь переделываю на стандартные.

_________________
Вежливость - лучшее оружие чайника :-)


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

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


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

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


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

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