Текущее время: Вт, июл 15 2025, 04:51

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Использование расширения QQMA0025
СообщениеДобавлено: Чт, авг 19 2010, 08:34 
Ассистент
Ассистент

Зарегистрирован:
Чт, апр 22 2010, 08:09
Сообщения: 46
Откуда: Сургут
Пол: Мужской
Добрый день!

Подскажите, почему в расширении QQMA0025 в INCLUDE ZXWOCU21 значения внесенные в таблицу T_VIQMFE передаются в сообщение только со второго раза, т.е. в заказе ТОРО нажимаю кнопку создать попадаю в EXIT заполняю T_VIQMFE попадаю в сообщение значений нет, выхожу в заказ, нажимаю кнопку изменить сообщение им только тогда данные из T_VIQMFE переносятся в сообщение?

Как побороть?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Использование расширения QQMA0025
СообщениеДобавлено: Чт, авг 19 2010, 12:10 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

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

Подскажите, почему в расширении QQMA0025 в INCLUDE ZXWOCU21 значения внесенные в таблицу T_VIQMFE передаются в сообщение только со второго раза, т.е. в заказе ТОРО нажимаю кнопку создать попадаю в EXIT заполняю T_VIQMFE попадаю в сообщение значений нет, выхожу в заказ, нажимаю кнопку изменить сообщение им только тогда данные из T_VIQMFE переносятся в сообщение?

Как побороть?

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Использование расширения QQMA0025
СообщениеДобавлено: Чт, авг 19 2010, 15:03 
Ассистент
Ассистент

Зарегистрирован:
Чт, апр 22 2010, 08:09
Сообщения: 46
Откуда: Сургут
Пол: Мужской
*&---------------------------------------------------------------------*
*& Include ZXWOCU21 *
*&---------------------------------------------------------------------*
RANGES: r_larnt for afvc-larnt.
SELECT valsign valoption valfrom valto
INTO TABLE r_larnt
FROM setleaf
WHERE setname = 'Z_LARNT_4_M102'.

if I_VIQMEL-QMART = 'NM'.
* Заполняем поле 'Автор сообщения'
E_VIQMEL-QMNAM = sy-uname.
endif.


if I_TQ80-QMART = 'D1'.

data z_pos(4) type c.
data z_resb_get like RESBDGET occurs 100 with header line.
data z_AFVGD_GET like AFVGDGET occurs 100 with header line.
data z_csla like CSLA occurs 10 with header line.
data z_riwol like RIWOL occurs 10 with header line.
data i_nr type i.
DATA: Z_LARNT(6) TYPE C,
Z_UPD_DATA TYPE I.
TABLES: ZLARNT.
i_nr = 0.
* Определяем номер операции заказа...
if T_VIQMFE[] is initial.
CALL FUNCTION 'CO_MP_OPERATION_ASSIGN'
EXPORTING
AUFNR_IMP = I_VIQMEL-AUFNR
AUTYP_IMP = '30'
* IPHAS_IMP = ' '
MATNR_IMP = ''
POSNR_IMP = ''
* RCLST_IMP =
IMPORTING
* AFFLD_EXP =
* AFVGD_EXP =
* ANSWER_EXP =
* APLFL_EXP =
* INDEX_PLFL_EXP =
* INDEX_PLPO_EXP =
VORNR_EXP = z_pos
.
if z_pos is initial.
leave screen.
endif.
CALL FUNCTION 'CO_BO_OPR_OF_ORDER_GET'
EXPORTING
AUFNR_IMP = I_VIQMEL-AUFNR
CHECK_DELETED = 'X'
GET_OLD = ' '
FLG_STATUS = ' '
FLG_WORK = ' '
SORT_BY_SEQ = ' '
GET_ALT_SEQ = 'X'
FLG_PROV = ' '
FLG_QUAL = ' '
FLG_CONV = ' '
FLG_OPROLL = 'X'
TABLES
AFVGD_GET = z_AFVGD_GET
* AFVGT_OLD =
.
loop at z_AFVGD_GET where VORNR = z_pos.
IF Z_AFVGD_GET-PLNTY IS INITIAL
OR Z_AFVGD_GET-PLNNR IS INITIAL
OR Z_AFVGD_GET-PLNAL IS INITIAL. "Нет техкарты...
IF Z_AFVGD_GET-LARNT IS INITIAL
OR Z_AFVGD_GET-LARNT(1) NE 'U'.
SELECT SINGLE * FROM ZLARNT
WHERE LARNT = Z_AFVGD_GET-LARNT.
IF SY-SUBRC <> 0 and sy-BINPT is initial.
MESSAGE W020(ZERR1) WITH Z_AFVGD_GET-VORNR.
leave screen.
ENDIF.
ENDIF.
ELSE. "Техкарта есть
****** Пытаемся наити вид работ в операции техкарты
SELECT SINGLE LARNT INTO Z_LARNT FROM PLPO
WHERE PLNTY = Z_AFVGD_GET-PLNTY
AND PLNNR = Z_AFVGD_GET-PLNNR
AND ZAEHL = Z_AFVGD_GET-ZAEHL.
IF SY-SUBRC <> 0.
******* Нет вида работ в техкарте ..... ?
ENDIF.
IF Z_AFVGD_GET-LARNT IS INITIAL "Нет вида работ в операции
OR Z_AFVGD_GET-LARNT NE Z_LARNT. "или вид работ не из ТК
Z_AFVGD_GET-LARNT = Z_LARNT.
MODIFY Z_AFVGD_GET.
Z_UPD_DATA = 1.
ELSE.
IF Z_AFVGD_GET-LARNT(1) NE 'U'.
SELECT SINGLE * FROM ZLARNT
WHERE LARNT = Z_AFVGD_GET-LARNT.
IF SY-SUBRC <> 0 and sy-BINPT is initial.
MESSAGE W020(ZERR1) WITH Z_AFVGD_GET-VORNR.
leave screen.
ELSE.
**** Осуществляем поиск МЗВ рабочего места операции...
CALL FUNCTION 'Z_IS_LSTAR_IN_ARB'
EXPORTING
P_OBJID = Z_AFVGD_GET-ARBID
P_LSTAR = Z_AFVGD_GET-LARNT
P_GJAHR = Z_AFVGD_GET-FSAVD(4)
P_DATE = Z_AFVGD_GET-FSAVD
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE W021(ZERR1) WITH
Z_AFVGD_GET-VORNR Z_AFVGD_GET-LARNT.
leave screen.
ENDIF.
ENDIF.
ELSE.
**** Осуществляем поиск МЗВ рабочего места операции...
CALL FUNCTION 'Z_IS_LSTAR_IN_ARB'
EXPORTING
P_OBJID = Z_AFVGD_GET-ARBID
P_LSTAR = Z_AFVGD_GET-LARNT
P_GJAHR = Z_AFVGD_GET-FSAVD(4)
P_DATE = Z_AFVGD_GET-FSAVD
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE W021(ZERR1) WITH
Z_AFVGD_GET-VORNR Z_AFVGD_GET-LARNT.
leave screen.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF Z_UPD_DATA NE 0. "Меняем виды работ в операциях
CALL FUNCTION 'CO_BO_UPDATE_OPR_OF_ORDER'
TABLES
AFVGD_UPD = Z_AFVGD_GET.
ENDIF.
select single * from CSLA into z_csla where
KOKRS = 'SNG' and
LSTAR = z_AFVGD_GET-LARNT and
VKSTA IN ( select VALFROM from SETLEAF
where SETNAME = 'ZVZKRTRD1' ).
if sy-subrc <> 0.
message w058(zerr1) with z_AFVGD_GET-LARNT.
LEAVE SCREEN.
endif.
endloop.
endif.
* Выяснение перечня компонентов заказа
CALL FUNCTION 'CO_BC_RESBD_OF_ORDER_GET'
EXPORTING
AUFNR_ACT = I_VIQMEL-AUFNR
* GET_OLD = ' '
* NO_MAKTX = 'X'
* NO_STATX = 'X'
CHECK_DELETED = 'X'
* NO_READ = ' '
* CHECK_VBKZ_DEL = 'X'
* I_ARCHIVE = ' '
TABLES
* ARESB_EXP =
RESBD_GET = z_resb_get
.
READ TABLE Z_AFVGD_GET WITH KEY VORNR = z_pos.
if Z_AFVGD_GET-LARNT in r_larnt.
else.
if z_resb_get is initial and sy-binpt <> 'X'.
message w043(zerr1) with z_pos.
LEAVE SCREEN.
endif.
endif.
if T_VIQMFE[] is initial.
loop at z_resb_get.
if z_resb_get-VORNR = z_pos.
i_nr = i_nr + 1.
T_VIQMFE-QMNUM = I_VIQMEL-QMNUM.
T_VIQMFE-BAUTL = z_resb_get-MATNR.
T_VIQMFE-BAUTX = z_resb_get-MATXT.
T_VIQMFE-POSNR = i_nr.
T_VIQMFE-FENUM = i_nr.
T_VIQMFE-VORNR = z_resb_get-VORNR.
T_VIQMFE-AEKNZ = 'I'.
T_VIQMFE-KZMLA = I_VIQMEL-KZMLA.
T_VIQMFE-zz_menge = z_resb_get-bdmng.
T_VIQMFE-zz_meins = z_resb_get-meins.
T_VIQMFE-zz_rsnum = z_resb_get-rsnum.
T_VIQMFE-zz_rspos = z_resb_get-rspos.
APPEND T_VIQMFE.
endif.
endloop.
* Заполняем поле 'Автор сообщения'
E_VIQMEL-QMNAM = sy-uname.
READ TABLE Z_AFVGD_GET WITH KEY VORNR = z_pos.
if Z_AFVGD_GET-LARNT in r_larnt.
else.
if i_nr = 0 and sy-binpt <> 'X'.
message w043(zerr1) with z_pos.
leave screen.
endif.
endif.
concatenate 'К позиции' z_pos into E_VIQMEL-QMTXT SEPARATED BY SPACE.
CALL FUNCTION 'IWOL_GET_OBJECT_LIST_ALL'
EXPORTING
I_AUFNR = I_VIQMEL-AUFNR
* CAUFVD_IMP =
* I_HEAD_OBJ = ' '
I_LOCK = ' '
* I_PMQM = ' '
TABLES
IRIWOL = z_riwol
* IRIWOL_UPD =
* IRIPW0_EXP =
EXCEPTIONS
NO_OBJECT_LIST = 1
NO_ORDER = 2
* OTHERS = 3
.
endif.
endif.

E_VIQMEL отрабатывает сразу, а вот T_VIQMFE со второго


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Использование расширения QQMA0025
СообщениеДобавлено: Чт, авг 19 2010, 15:17 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Изучите и установите эту ноту Note 415784 - QQMA0007, QQMA0025: Preassigning items, tasks ... Должно помочь.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Использование расширения QQMA0025  Тема решена
СообщениеДобавлено: Пт, авг 20 2010, 15:04 
Ассистент
Ассистент

Зарегистрирован:
Чт, апр 22 2010, 08:09
Сообщения: 46
Откуда: Сургут
Пол: Мужской
Спасибо Besa помогло.


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

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


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

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


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

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