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

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


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

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


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

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