2013 Feb 26 7:42 AM
Hi All,
I am creating sales order via Idoc, and using FM SAVE_TEXT in user exit to insert header text in sales order.
After creating sales order, When i view this in VA02 it show the same text in Incomplete log that "Long text missing".
but text update in header text in is showing in order, what I have inserted thru FM SAVE_TEXT. then why it is showing me Incomplete log.
thead-tdobject = 'VBBK'.
thead-tdid = 'ZTTR'.
thead-tdspras = sy-langu.
thead-tdname = sales_document.
tline-tdformat = '*'.
IF tbl_vbkd-inco1 IS NOT INITIAL.
CONCATENATE tbl_vbkd-inco1 tbl_vbkd-inco2 INTO tline-tdline SEPARATED BY space.
APPEND tline.
CLEAR tline.
ENDIF.
IF tline[] IS NOT INITIAL.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
header = thead
insert = 'X'
savemode_direct = 'X'
TABLES
lines = tline
EXCEPTIONS
id = 1
language = 2
name = 3
object = 4
OTHERS = 5.
COMMIT WORK AND WAIT.
ENDIF.
Please help me .
Regards
Jitendra
2013 Feb 26 7:50 AM
2013 Feb 26 8:12 AM
Hi Nabheet.
Thanks for reply.
Please see in attached image .
Jitendra
2013 Feb 26 8:09 AM
2013 Feb 26 8:28 AM
Hi Maen,
I have use COMMIT_TEXT but still is same problem .
CALL FUNCTION 'COMMIT_TEXT'
EXPORTING
OBJECT = 'VBBK'
NAME = txt_nm
ID = 'ZTTR'
LANGUAGE = sy-langu
SAVEMODE_DIRECT = 'X'
* KEEP = ' '
* LOCAL_CAT = ' '
* IMPORTING
* COMMIT_COUNT =
* TABLES
* T_OBJECT =
* T_NAME =
* T_ID =
* T_LANGUAGE =
Jitendra
2013 Feb 26 12:38 PM
Hi Jitendra,
Which USER EXIT u r using to SAVE the TEXT.
Thanks
Tarak
2013 Feb 26 12:16 PM
Hi Jitendra,
Use parameter NEWHEADER and check original values in the parameter HEADER .
if the values returned in the parameter NEWHEADER do not correspond to the original values in the parameter HEADER, then check this Note 1701217 - SAVE_TEXT with incorrect header return.
Regard's
Smruti
2013 Feb 26 12:23 PM
Hi Jitendra,
Which USER EXIT u r using to SAVE the TEXT.
please let me know than I will check with thats EXIT.
Thanks
Tarak
2013 Feb 27 4:58 AM
Hi Tarak,
First I tried user exit USEREXIT_SAVE_DOCUMENT_PREPARE (MV45AFZZ). Now I am using user exit USEREXIT_SAVE_DOCUMENT (MV45AFZZ) .
Jitendra
2013 Feb 27 5:10 AM
Hi Jitendra,
please try to use thats USEREXIT_SAVE_DOCUMENT (MV45AFZZ) .
If it will not work , tell me than I will try to find out different way.
Thanks
Tarak
2013 Feb 27 8:10 AM
Hi Tarak,
I have use this on USEREXIT_SAVE_DOCUMENT (MV45AFZZ) but still is same problem .
Jitendra
2013 Feb 27 9:49 AM
Hi Jitendra ,
try to use below way.
USEREXIT_SAVE_DOCUMENT (MV45AFZZ)
data : header type THEAD.
data : lines type standard table of TLINE .
data : wa_line type tline.
header-TDOBJECT = 'VBBK'.
header-TDNAME = '0000003561'. "sales order number or text name
header-TDID = 'Z007'. " Confirmation text - text id
header-TDSPRAS = sy-langu.
wa_line-TDFORMAT = '*'. "paragraph format
wa_line-TDLINE = 'This is 1st line of text'.
append wa_line to lines.
wa_line-TDFORMAT = '*'.
wa_line-TDLINE = 'This is 2nd line of text'.
append wa_line to lines.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
header = header
tables
lines = lines
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Thanks
Tarak
2013 Feb 27 10:06 AM
Hi Jitendra,
try this code
data lo_node type ref to if_wd_context_node.
data lo_element type ref to if_wd_context_element.
data ls_text TYPE if_v_quocrte=>element_header_txt.
data ls_context type wd_this->element_context.
DATA lv_string TYPE string.
DATA lt_str_comp TYPE TABLE OF swastrtab.
DATA ls_str_comp TYPE swastrtab.
DATA lt_lines TYPE TABLE OF tline.
DATA ls_tline TYPE tline.
DATA ls_header TYPE thead.
lo_node = wd_context->get_child_node( name = 'HEADER_TXT' ).
lo_element = lo_node->get_element( ).
lo_node->get_static_attributes( IMPORTING static_attributes = ls_text ).
LOOP AT ls_text-text INTO lv_string.
CALL FUNCTION 'SWA_STRING_SPLIT'
EXPORTING
input_string = lv_string
max_component_length = 132
TABLES
string_components = lt_str_comp
EXCEPTIONS
max_component_length_invalid = 1
OTHERS = 2.
LOOP AT lt_str_comp INTO ls_str_comp.
IF sy-tabix EQ 1.
ls_tline-tdformat = '*'.
ELSE.
CLEAR ls_tline-tdformat.
ENDIF.
ls_tline-tdline = ls_str_comp-str.
APPEND ls_tline TO lt_lines.
CLEAR ls_tline.
ENDLOOP.
CLEAR lt_str_comp[].
ENDLOOP.
IF ls_text-text_name IS INITIAL.
ls_header-tdobject = 'VBBK'.
ls_header-tdname = lv_vbeln.
ls_header-tdid = '0001'.
ls_header-tdspras = sy-langu.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
header = ls_header
SAVEMODE_DIRECT = 'X'
TABLES
lines = lt_lines
EXCEPTIONS
id = 1
language = 2
name = 3
object = 4
OTHERS = 5.
IF sy-subrc <> 0.
ENDIF.
ENDIF.