Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

FM SAVE_TEXT Long text missing

Former Member
0 Likes
2,449

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

12 REPLIES 12
Read only

nabheetscn
SAP Champion
SAP Champion
0 Likes
1,963

What do you see in incompletion log..?

Nabheet

Read only

0 Likes
1,963

Hi Nabheet.

Thanks for reply.

Please see in attached image .

Jitendra

Read only

Former Member
0 Likes
1,963

Try function COMMIT_TEXT instead of COMMIT WORK.

Read only

0 Likes
1,963

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

Read only

0 Likes
1,963

Hi Jitendra,

Which USER EXIT u r using to SAVE the TEXT.

Thanks

Tarak

Read only

Former Member
0 Likes
1,963

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

Read only

Former Member
0 Likes
1,963

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

Read only

0 Likes
1,963

Hi Tarak,

First I tried user exit   USEREXIT_SAVE_DOCUMENT_PREPARE (MV45AFZZ). Now I am using user exit   USEREXIT_SAVE_DOCUMENT  (MV45AFZZ) .

Jitendra

Read only

0 Likes
1,963

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

Read only

0 Likes
1,963

Hi Tarak,

I have use this on USEREXIT_SAVE_DOCUMENT  (MV45AFZZ) but still is same problem .

Jitendra

Read only

0 Likes
1,963

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

Read only

Former Member
0 Likes
1,963

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.