Rednada написал(а):
sy-uname написал(а):
Что значит в "В messtab они есть"? Т.е. транзакция запускается в пакетном режиме?
Да и что страшного что в строке будет пусто?
Да в пакетном.
CALL TRANSACTION 'ZNAME'
USING bdcdata
MODE 'E'
UPDATE 'S'
MESSAGES INTO messtab.
Имел ввиду что они выдаются, но не остаются на экране.
Страшного ничего, заказчик требует.
Попробуйте так:
CALL TRANSACTION 'ZNAME'
USING bdcdata
MODE 'E'
UPDATE 'S'
MESSAGES INTO messtab.
+ добавьте:
LOOP AT messtab INTO ls_messtab.
IF ls_messtab-MSGTYP = 'E'.
t_return-type = ls_messtab-MSGTYP.
SELECT SINGLE TEXT FROM T100 INTO TEXTMES
WHERE SPRSL = 'RU'
AND ARBGB = ls_messtab-MSGID
AND MSGNR = ls_messtab-MSGNR.
SPLIT TEXTMES AT '&' INTO PART1 PART2 PART3 PART4 PART5.
CONCATENATE PART1 SY-MSGV1 PART2 SY-MSGV2
PART3 SY-MSGV3 PART4 SY-MSGV4
PART5 INTO t_return-message
SEPARATED BY SPACE .
MESSAGE t_return-message type 'I'.
EXIT.
ENDIF.
ENDLOOP.
(DATA: PART1 LIKE T100-TEXT,
PART2 LIKE T100-TEXT,
PART3 LIKE T100-TEXT,
PART4 LIKE T100-TEXT,
PART5 LIKE T100-TEXT,
TEXTMES LIKE T100-TEXT.)