Текущее время: Чт, июл 24 2025, 02:14

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


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

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


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

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