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

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


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

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


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

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