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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: call transaction 'CO1F'
СообщениеДобавлено: Пн, сен 09 2013, 08:02 
Ассистент
Ассистент

Зарегистрирован:
Ср, июн 26 2013, 13:45
Сообщения: 46
Добрый день.

Возник вот такой вопрос. Есть транзакция CO1F, я из ALV GRID двойным щелчком по полю грида вызываю транзакцию CO1F. Так вот в этой транзакции есть кнопка "Фактические данные". Вопрос как программно реализовать нажатие на эту кнопку "Фактические данные" и чтобы информация из поля расположенного вверху ALV GRID (моей программы) попала в поле "Рабочее место" на закладке "Персонал/Дополнительные данные" в транзакции CO1F

perform append_bdc_dyn using 'SAPLCORU' '0700'.
perform append_bdc_value using 'CORUF-AUFNR' wa_sum-aufnr.
perform append_bdc_value using 'CORUF-VORNR' wa_sum-vornr.
perform append_bdc_value using 'BDC_OKCODE' '/00'.
perform append_bdc_dyn using 'SAPLCORU' '0750'.
perform append_bdc_value using 'CORUF-LMENG' RABMESTO.
perform append_bdc_value using 'BDC_OKCODE' '/00'.

call transaction 'CO1F' using it_bdc[] options from opt.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Пн, сен 09 2013, 09:07 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 133
Откуда: Набережные Челны
Пол: Мужской
А записать последовательность действий в CO1F через SHDB и посмотреть запись транзакции не пробовали?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Чт, сен 12 2013, 13:55 
Ассистент
Ассистент

Зарегистрирован:
Ср, июн 26 2013, 13:45
Сообщения: 46
Есть программа, из нее вызываю транзакцию CO12 в которую передаю параметр "Заказ". Запустил тр SHDB сгенерировал код выполнения. Когда я ввожу номер заказа в поле "Заказ" далее нажимаю Enter и выделяю строку, так вот. Только вот в этом коде нет нажатия на кнопку Enter и выделения строки грида как на стриншоте. Подскажите пожалуйста как запрограммировать нажатие на Enter и выделение строки.

perform append_bdc_dyn using 'SAPLCORU' '0300'.
perform append_bdc_value using 'BDC_OKCODE' '/00'.
perform append_bdc_value using 'BDC_SUBSCR' 'SAPLCORU'.
perform append_bdc_value using 'BDC_SUBSCR' 'SAPLCORU'.
perform append_bdc_value using 'BDC_CURSOR' 'AFRD-AUFNR(01)'.
perform append_bdc_value using 'AFRD-AUFNR(01)' wa_sum-aufnr.
perform append_bdc_value using 'BDC_CURSOR' 'AFRUD-VORNR(01)'.
perform append_bdc_value using 'AFRUD-VORNR(01)' wa_sum-vornr.

perform append_bdc_dyn using 'SAPLCORU' '0300'.
perform append_bdc_value using 'BDC_OKCODE' '/00'.
perform append_bdc_value using 'BDC_OKCODE' '=VODA'.
perform append_bdc_value using 'BDC_SUBSCR' 'SAPLCORU'.
perform append_bdc_value using 'BDC_SUBSCR' 'SAPLCORU'.
perform append_bdc_value using 'BDC_CURSOR' 'AFRUD-AUFNR(02)'.

perform append_bdc_dyn using 'SAPLCORU' '0301'.
perform append_bdc_value using 'BDC_OKCODE' '=ENTR'.
perform append_bdc_value using 'BDC_CURSOR' 'TCORU-VSSLE'.
perform append_bdc_value using 'TCORU-VSSLE' 'X'.

perform append_bdc_dyn using 'SAPLCORU' '0300'.
perform append_bdc_value using 'BDC_OKCODE' '=VODA'.
perform append_bdc_value using 'BDC_SUBSCR' 'SAPLCORU'.
perform append_bdc_value using 'BDC_SUBSCR' 'SAPLCORU'.
perform append_bdc_value using 'BDC_CURSOR' 'CORUF-GM_ICON(01)'.
perform append_bdc_value using 'AFRU_COL-SELKZ(01)' 'X'.

perform append_bdc_dyn using 'SAPLCORU' '0301'.
perform append_bdc_value using 'BDC_OKCODE' '=ENTR'.
perform append_bdc_value using 'BDC_CURSOR' 'TCORU-VSSLE'.
perform append_bdc_value using 'TCORU-VSSLE' 'X'.


Последний раз редактировалось Knedlik Пт, сен 13 2013, 09:05, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Чт, сен 12 2013, 14:20 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
выделение строки.
Code:
perform append_bdc_value using 'AFRU_COL-SELKZ(01)' 'X'.

нажатие на Enter
Одно из двух:
Code:
perform append_bdc_value using 'BDC_OKCODE' '/00'.
perform append_bdc_value using 'BDC_OKCODE' '=ENTR'.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Чт, сен 12 2013, 14:29 
Ассистент
Ассистент

Зарегистрирован:
Ср, июн 26 2013, 13:45
Сообщения: 46
Rokhay написал:
выделение строки.
Code:
perform append_bdc_value using 'AFRU_COL-SELKZ(01)' 'X'.

нажатие на Enter
Одно из двух:
Code:
perform append_bdc_value using 'BDC_OKCODE' '/00'.
perform append_bdc_value using 'BDC_OKCODE' '=ENTR'.



Выделение строки не срабатывает как и Enter ((

Срабатывает если передавать только один парметр или Заказ или Операцию, а как сделать так чтобы срабатывало на два параметра?

perform append_bdc_value using 'AFRD-AUFNR(01)' wa_sum-aufnr.
perform append_bdc_value using 'AFRUD-VORNR(01)' wa_sum-vornr.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Чт, сен 12 2013, 19:19 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Я потерял нить: что же именно не получается.
Уточните:
1) Что должно получиться
2) Покажите соответствующий кусок кода.
3) Что получается в результате.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Пт, сен 13 2013, 08:17 
Ассистент
Ассистент

Зарегистрирован:
Ср, июн 26 2013, 13:45
Сообщения: 46
Rokhay написал:
Я потерял нить: что же именно не получается.
Уточните:
1) Что должно получиться
2) Покажите соответствующий кусок кода.
3) Что получается в результате.



1) В транзакцию CO12 надо передать 4 переменных: Заказ (p_aufnr), Операция (wa_sum-vornr), Рабочее место (RABMESTO), Дата проводки (RABDATA). Выделить строку с сказом и нажать на кнопку "Фактические данные", где проставляю галку в поле "Работа/Услуги" и жму ОК. Далее сохраняю.
2)
perform append_bdc_dyn using 'SAPLCORU' '0300'.
perform append_bdc_value using 'AFRUD-VORNR(01)' wa_sum-vornr.
perform append_bdc_value using 'AFRD-AUFNR(01)' p_aufnr.
perform append_bdc_value using 'AFRUD-BUDAT(01)' RABDATA.
perform append_bdc_value using 'AFRUD-ARBPL(01)' RABMESTO.
perform append_bdc_value using 'AFRU_COL-SELKZ(01)' 'X'.
perform append_bdc_dyn using 'SAPLCORU' '0300'.

perform append_bdc_dyn using 'SAPLCORU' '0301'.
perform append_bdc_value using 'BDC_OKCODE' '=ENTR'.
perform append_bdc_value using 'BDC_CURSOR' 'TCORU-VSSLE'.
perform append_bdc_value using 'TCORU-VSSLE' 'X'.
perform append_bdc_value using 'BDC_OKCODE' '/00'.

call transaction 'CO12' using it_bdc[] options from opt.

3) Если все задать то получается что все переменные проставляются, а вот заказ не проставляется в поле "Заказ"


Последний раз редактировалось Knedlik Пт, сен 13 2013, 09:04, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Пт, сен 13 2013, 08:21 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Цитата:
perform append_bdc_value using 'AFRD-AUFNR(01)' p_aufnr.

Вы не в то поле проставляете заказ. В этой таблице структура AFRUD, а не AFRD.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Пт, сен 13 2013, 08:37 
Ассистент
Ассистент

Зарегистрирован:
Ср, июн 26 2013, 13:45
Сообщения: 46
Rokhay Спасибо за помощь, все получилось ))))


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Чт, сен 26 2013, 14:15 
Ассистент
Ассистент

Зарегистрирован:
Ср, июн 26 2013, 13:45
Сообщения: 46
Вот такой вопрос.

В траназкции MB51 есть поле "Вид движения", если я хочу просто поле заполнить (пакетным вводом) одним параметром то пишу вот так

SET PARAMETER ID 'ANR' FIELD str2-aufnr.

А вот если мне надо в поле "Вид движения" передать массив данных (т.е. два значения 101 и 102). Как это сделать?

CLASS cl_my2 IMPLEMENTATION.
METHOD mymeth2.
READ TABLE it_pipi_new INDEX e_row-index INTO str2.
IF ( e_column-fieldname = 'AUFNR' AND str2-aufnr <> '' ).
SET PARAMETER ID 'ANR' FIELD str2-aufnr.
CALL TRANSACTION 'CO02' AND SKIP FIRST SCREEN.
ELSEIF ( e_column-fieldname = 'BISMT' AND str2-bismt <> '' ).
SET PARAMETER ID 'MAT' FIELD str2-plnbez.
SET PARAMETER ID 'WRK' FIELD '1000'.
SET PARAMETER ID 'BWA' FIELD '*'.
CALL TRANSACTION 'MB51' AND SKIP FIRST SCREEN.
ENDIF.
ENDMETHOD.
METHOD handle_before_user_command.
ENDMETHOD.
ENDCLASS.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Пт, сен 27 2013, 16:25 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Цитата:
А вот если мне надо в поле "Вид движения" передать массив данных (т.е. два значения 101 и 102). Как это сделать?

Можно запустить отчет через submit и передать туда все критерии выбора в нужном объеме.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Вт, окт 01 2013, 06:56 
Ассистент
Ассистент

Зарегистрирован:
Ср, июн 26 2013, 13:45
Сообщения: 46
А как это можно реализовать через submit?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: call transaction 'CO1F'
СообщениеДобавлено: Вт, окт 01 2013, 07:27 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Как-нибудь так:
Code:

submit RM07DOCS
with MATNR-LOW = str2-plnbez
with WERKS-LOW = '1000'
with BWART BETWEEN '101' AND '102'
and return.


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

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


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

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


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

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