Текущее время: Сб, июл 19 2025, 15:59

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Управление курсором в таблице на экране
СообщениеДобавлено: Ср, окт 11 2006, 13:46 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 12:45
Сообщения: 164
Откуда: Свердловская обл., г. Екатеринбург
Пол: Мужской
Есть необходимость организовать ручной ввод данных в таблицу на экране по-строчно, по клавише ENTER. Столкнулся с проблемкой: курсор после нажатия на ENTER перескакивает на первую запись экранной таблицы, а хотелось бы чтоб он переходил на следующую после введенной.
Уважаемые гуру, подскажите плиз, как решить данную проблему....


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 11 2006, 14:31 
Специалист
Специалист

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
ALV-table или просто таблица?


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

Зарегистрирован:
Ср, май 04 2005, 12:45
Сообщения: 164
Откуда: Свердловская обл., г. Екатеринбург
Пол: Мужской
Boger написал(а):
ALV-table или просто таблица?

Просто таблица нарисованная на экране...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 12 2006, 08:45 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
попробуйте
SET CURSOR ...


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

Зарегистрирован:
Ср, май 04 2005, 12:45
Сообщения: 164
Откуда: Свердловская обл., г. Екатеринбург
Пол: Мужской
Lars написал:
попробуйте
SET CURSOR ...

Не канает


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 12 2006, 10:56 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 20 2006, 16:47
Сообщения: 78
Откуда: Москва
El Mario написал:
Lars написал:
попробуйте
SET CURSOR ...

Не канает

че так?


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

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
El Mario написал:
Lars написал:
попробуйте
SET CURSOR ...

Не канает


Печально.
http://help.sap.com/saphelp_470/helpdat ... ameset.htm


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

Зарегистрирован:
Ср, май 04 2005, 12:45
Сообщения: 164
Откуда: Свердловская обл., г. Екатеринбург
Пол: Мужской
Lars написал:
El Mario написал:
Lars написал:
попробуйте
SET CURSOR ...

Не канает


Печально.
http://help.sap.com/saphelp_470/helpdat ... ameset.htm


Да пробовал я в LOOP ставить set cursor, он все равно на первую запись таблицы прыгает, а мне надо чтоб на следующую после введенной :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 12 2006, 12:37 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
El Mario написал:
Да пробовал я в LOOP ставить set cursor, он все равно на первую запись таблицы прыгает, а мне надо чтоб на следующую после введенной :roll:


Может я чего не понимаю, зачем LOOP ?
Делается это в PBO.

Cursor Position on Table Controls

At PBO you can set the cursor on a specific field of a specific row of a table control.

SET CURSOR FIELD <f> LINE <lin> [OFFSET <off>].

Using the optional addition OFFSET, you can enter the offset of the cursor in the field as described under Setting the Cursor Position .

At PAI you can read the current cursor position.

GET CURSOR FIELD <f> LINE <lin> ...

In addition to the information given under Finding Out the Cursor Position , field <lin> contains information on which row of the table control the cursor is currently on. You can also use

GET CURSOR LINE <lin>.

if you only want to determine the row of the table control. SY´-SUBRC allows you to check if the cursor is placed in a row of a table control.


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

Зарегистрирован:
Ср, май 04 2005, 12:45
Сообщения: 164
Откуда: Свердловская обл., г. Екатеринбург
Пол: Мужской
Lars написал:
El Mario написал:
Да пробовал я в LOOP ставить set cursor, он все равно на первую запись таблицы прыгает, а мне надо чтоб на следующую после введенной :roll:


Может я чего не понимаю, зачем LOOP ?
Делается это в PBO.

Cursor Position on Table Controls

At PBO you can set the cursor on a specific field of a specific row of a table control.

SET CURSOR FIELD <f> LINE <lin> [OFFSET <off>].

Using the optional addition OFFSET, you can enter the offset of the cursor in the field as described under Setting the Cursor Position .

At PAI you can read the current cursor position.

GET CURSOR FIELD <f> LINE <lin> ...

In addition to the information given under Finding Out the Cursor Position , field <lin> contains information on which row of the table control the cursor is currently on. You can also use

GET CURSOR LINE <lin>.

if you only want to determine the row of the table control. SY´-SUBRC allows you to check if the cursor is placed in a row of a table control.


Насколько я знаю кроме как внутри цикла по экранной таблице в PBO
команда SET и GET CURSOR работать не будет. Поправьте, если я не прав.:roll:

PROCESS BEFORE OUTPUT.

MODULE status_9002.

MODULE init_it_narad.

LOOP AT it_narad WITH CONTROL tab_narad
CURSOR tab_narad-current_line.

MODULE get_screen_row_count.

ENDLOOP.

PROCESS AFTER INPUT.

MODULE okcode.

MODULE exit_command_9002 AT EXIT-COMMAND.

LOOP AT it_narad.
FIELD it_narad-narad MODULE modify_9002 ON REQUEST.
ENDLOOP.

MODULE user_command_9002.


Ессно я перепробовал все варианты:и в PBO ставил SET CURSOR и внутри цикла по экранной таблице. Ниче не выходит....
Еще будут предложения ? :wink:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 13 2006, 08:57 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
[quote="El Mario]
Еще будут предложения ? :wink:[/quote]

Конечно будут, завязывать со всем этим.
Вот так все работает :

PROCESS BEFORE OUTPUT.

module TAB1_init.
loop at g_TAB1_itab
into g_TAB1_wa
with control TAB1
cursor TAB1-current_line.
module TAB1_move.
endloop.
module set_cursor.

* MODULE STATUS_0200.
*
PROCESS AFTER INPUT.
loop at g_TAB1_itab.
chain.
field T001-MANDT.
field T001-BUKRS.
field T001-BUTXT.
field T001-ORT01.
field T001-LAND1.
endchain.
endloop.

Соответственно в set_cursor :
MODULE set_cursor OUTPUT.
set cursor FIELD 'T001-MANDT' LINE 5.
ENDMODULE.


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

Зарегистрирован:
Ср, май 04 2005, 12:45
Сообщения: 164
Откуда: Свердловская обл., г. Екатеринбург
Пол: Мужской
Lars написал:
[quote="El Mario]
Еще будут предложения ? :wink:


Конечно будут, завязывать со всем этим.
Вот так все работает :

PROCESS BEFORE OUTPUT.

module TAB1_init.
loop at g_TAB1_itab
into g_TAB1_wa
with control TAB1
cursor TAB1-current_line.
module TAB1_move.
endloop.
module set_cursor.

* MODULE STATUS_0200.
*
PROCESS AFTER INPUT.
loop at g_TAB1_itab.
chain.
field T001-MANDT.
field T001-BUKRS.
field T001-BUTXT.
field T001-ORT01.
field T001-LAND1.
endchain.
endloop.

Соответственно в set_cursor :
MODULE set_cursor OUTPUT.
set cursor FIELD 'T001-MANDT' LINE 5.
ENDMODULE.[/quote]

ok...thanks....попробую....


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

Зарегистрирован:
Ср, май 04 2005, 12:45
Сообщения: 164
Откуда: Свердловская обл., г. Екатеринбург
Пол: Мужской
Ура... получилось...
Я то пытался использовать конструкцию SET CURSOR LINE line...
Она не канает здесь похоже, а предложенная Lars-ом SET CURSOR FIELD... сработала.
Спасибо за помощь :pivo:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 16 2006, 13:22 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
SET CURSOR LINE - так это для листингов и степлупов


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

Зарегистрирован:
Ср, май 04 2005, 12:45
Сообщения: 164
Откуда: Свердловская обл., г. Екатеринбург
Пол: Мужской
Lars написал:
SET CURSOR LINE - так это для листингов и степлупов

Ну вот теперь буду знать, просветили сэнкс :wink:


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

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


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

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


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

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