Здравствуйте,
GoSu. Видел Ваш вопрос на Абап форуме, бапи по изменению я не нашел в свое время, скорее всего таковой и нету... В чем у Вас проблема? если только текст поменять, то я думаю вполне хватит SAVE_TEXT. Почему у Вас не работает? Причины могут быть такие,
1не правильно обозначили
Code:
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
HEADER = Z_HEADER
INSERT = 'X'
SAVEMODE_DIRECT = ' '
Чтоб наверняка, советую поставить точку прерывания на этом модуле и в ручную в техкарте изменить текст, а потом глянуть в отладке параметры Фм-а.
2Не вызвали
Code:
CALL FUNCTION 'COMMIT_TEXT'
EXPORTING
OBJECT = 'ROUTING'
NAME = Z_NAME
ID = 'PLPO'
LANGUAGE = 'R'.
COMMIT WORK.
И еще может понадобиться вот такая вещь, давно это было, не помню деталей, но косяк был точно.
Code:
SELECT SINGLE * INTO S_PLPO FROM PLPO WHERE PLNNR = Z4_OPER-PLNNR AND PLNKN = Z4_OPER-PLNKN AND ZAEHL = Z4_OPER-ZAEHL.
IF SY-SUBRC = 0.
S_PLPO-TXTSP = 'R'.
MODIFY PLPO FROM S_PLPO.
ENDIF.
ENDIF.
В общем вот весь код с какой то старой программы
Code:
DATA: FUNC(1).
SET UPDATE TASK LOCAL.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
HEADER = Z_HEADER
INSERT = 'X'
SAVEMODE_DIRECT = ' '
* OWNER_SPECIFIED = 'X'
* LOCAL_CAT = ' '
* IMPORTING
* FUNCTION = FUNC
* NEWHEADER = z_HEADER
TABLES
LINES = Z_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
ELSE.
" Установить для сообщения индикатор подр текста (а то не показывает в с
"ообщении)
CALL FUNCTION 'COMMIT_TEXT'
EXPORTING
OBJECT = 'ROUTING'
NAME = Z_NAME
ID = 'PLPO'
LANGUAGE = 'R'.
SELECT SINGLE * INTO S_PLPO FROM PLPO WHERE PLNNR = Z4_OPER-PLNNR
AND PLNKN = Z4_OPER-PLNKN AND ZAEHL = Z4_OPER-ZAEHL.
IF SY-SUBRC = 0.
S_PLPO-TXTSP = 'R'.
MODIFY PLPO FROM S_PLPO.
ENDIF.
ENDIF.
COMMIT WORK.