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

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


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

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


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

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