Текущее время: Пт, июл 18 2025, 22:34

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Генератор ведения таблиц: автоматическое присвоение полей
СообщениеДобавлено: Чт, апр 06 2006, 14:25 
Гость
Доброе время суток!

Создана пользовательская таблица, в структуре которой присутствуют поля типа sy-uzeit sy-datum sy-uname (время, дата, имя пользователя).

Возможно ли присвоить этим полям системные значения:

1. С помощью одной настройки генератора ведения

2. С помощью изменения сгенерированного кода?
Если кто занимался автоматическим присвоением значений, подскажите, плз, в каком модуле и как можно описать процедуру данного присвоения?

Если не сложно, подскажите, где можно почитать про customizing процедур генератора ведения.

Заранее огромное спасибо!


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 06 2006, 16:43 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 01 2004, 07:44
Сообщения: 174
В диалоге ведения Среда->Модификация->Моменты времени

создаете запись для момента 19 (после инициализации глобальных переменных, символов полей и т.д.). В процедуре изменяете содержимое <initial>.

Кнопка "Информация" - читаете документацию

_________________
Жизнь прекрасна! Если правильно подобрать антидепрессанты...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 10 2006, 11:22 
Гость
Спасибо огромное, помогло.
Но отчасти :(

Есть один кусок кода, заполняющий поле текущей даты:
Code:
READ TABLE x_namtab WITH KEY viewfield = 'CPUDT'.
  IF sy-subrc = 0.
    ASSIGN COMPONENT x_namtab-viewfield OF STRUCTURE <initial> TO <cpudt>.
    <cpudt> = sy-datum.
  ENDIF.

и другой
Code:
READ TABLE x_namtab WITH KEY viewfield = 'CPUTM'.
  IF sy-subrc = 0.
    ASSIGN COMPONENT x_namtab-viewfield OF STRUCTURE <initial> TO <cputm>.
    WRITE sy-uzeit TO <cputm>.
  ENDIF.


Типизация полей таблицы (CPUDT, CPUTM) и соответствующих field-symbols (<cpudt>,<cputm>) совпадают.

Так вот, после выполнения этого кода значение по умолчанию для даты присваивается и видно, для времени - присваивается в <initial>, но не видно на экране.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 10 2006, 11:54 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 01 2004, 07:44
Сообщения: 174
во-первых, проверяйте всегда sy-subrc после assign (или is assigned), а во-вторых почему write sy-uzeit ?

_________________
Жизнь прекрасна! Если правильно подобрать антидепрессанты...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 11 2006, 08:57 
Гость
Цитата:
во-первых, проверяйте всегда sy-subrc после assign
(или is assigned),

Это в обязательном порядке. В окончательном варианте так и есть.
Тем не менее, даже без проверки assign выполняется успешно.

Цитата:
а во-вторых почему write sy-uzeit ?

write использовал, т.к. возникла идея о том, что надо при записи значения сохранить его формат. Ни к чему толковому эта идея не привела.

В отладке удалось посмотреть, что выбор значения selection при вызове средства поиска происходит в уже отформатированном (по формату чч:мм:сс) варианте:
Code:
   
call function 'DD_SHLP_CALL_FROM_DYNP'
         exporting
              help_infos                  = help_infos
         importing
              selection                   = selection
              select_value                = select_value
              rsmdy_ret                   = rsmdy_ret
         tables
              dynpselect                  = dynpselect
              dynpvaluetab                = dynpvaluetab
         exceptions
              others                      = 1.
    if sy-subrc = 0.
      exit.
    endif.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Генератор ведения таблиц: автоматическое присвоение полей
СообщениеДобавлено: Чт, июн 09 2011, 11:30 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, апр 30 2008, 07:46
Сообщения: 52
Пол: Мужской
Коллеги, добрый день!

Воскрешая старую тему.

Цитата:
создаете запись для момента 19 (после инициализации глобальных переменных, символов полей и т.д.). В процедуре изменяете содержимое <initial>.
А что делать, если нужно задать начальные значения неключевых полей? Они попросту отсутствуют в структуре <initial>.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генератор ведения таблиц: автоматическое присвоение полей
СообщениеДобавлено: Чт, июн 09 2011, 13:50 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
htk_s написал:
Коллеги, добрый день!

Воскрешая старую тему.

Цитата:
создаете запись для момента 19 (после инициализации глобальных переменных, символов полей и т.д.). В процедуре изменяете содержимое <initial>.
А что делать, если нужно задать начальные значения неключевых полей? Они попросту отсутствуют в структуре <initial>.

Попробуйте событие 05, там, если не ошибаюсь, можно это сделать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генератор ведения таблиц: автоматическое присвоение полей
СообщениеДобавлено: Чт, июн 09 2011, 14:08 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, апр 30 2008, 07:46
Сообщения: 52
Пол: Мужской
Событие 05 отрабатывает после нажатия на ENTER или после сохранения новой записи, а мне нужно чтобы у новой записи уже было присвоено значение по умолчанию.
Т.е. при нажатии на кнопку "новые записи" пользователь должен видеть на экране таблицу с выставленными значениями.

Или это неправильная логика, и правильнее выставлять значение по умолчанию после нажатия на ENTER и при условии что поле не было заполнено до нажатия ENTER ? Звучит нелогично, но для события 05 только так и получится сделать


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генератор ведения таблиц: автоматическое присвоение полей
СообщениеДобавлено: Ср, мар 07 2012, 09:17 
Специалист
Специалист

Зарегистрирован:
Вс, фев 12 2012, 18:43
Сообщения: 192
что за структура <initial> где ее можно посмотреть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Генератор ведения таблиц: автоматическое присвоение полей
СообщениеДобавлено: Ср, мар 07 2012, 15:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
GOTOHELP:
http://help.sap.com/saphelp_46c/helpdata/en/91/ca9f0ea9d111d1a5690000e82deaaa/content.htm

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


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

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


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

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


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

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