‎2008 Jul 24 5:47 PM
Hi Experts
I use create_text fm create a long text for object, The FM's sy-subrc is 0, But I can't view it in object's Text Edit. Otherwise I Edit the text use standard TCODE then the text which i created by FM will display in Text Edit,Can anyone tell me why?
thanks
Chirs
‎2008 Jul 24 5:50 PM
I use create_text fm create a long text for object, The FM's sy-subrc is 0,
Show me how you did that..?
‎2008 Jul 24 7:37 PM
Hmm... normally I use SAVE_TEXT & COMMIT_TEXT, but perhaps you need to add COMMIT_TEXT call too.
Doug -
‎2008 Jul 24 7:54 PM
Hi,
Sorry to tell that your question is not clear. Would you like to create long text in text editor for particular transaction or what?
If that is the case, given code will help solve your problem. But this code is written for create long text for transaction code MM01.
*Internal table to hold long text...
DATA:
BEGIN OF T_UPLOAD OCCURS 0,
MATNR LIKE MARA-MATNR, " Material number
ID(2) TYPE C, " Identification
LTEXT LIKE TLINE-TDLINE, " Long text
END OF T_UPLOAD,
*Internal table to hold long text....
T_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA:
W_GRUN LIKE THEAD-TDID , " To hold id
W_OBJECT LIKE THEAD-TDOBJECT VALUE 'MATERIAL',
" To hold object id
LV_VALUE(70). " Value to hold material number
START-OF-SELECTION.
This perform is used to upload the file
PERFORM UPLOAD_FILE.
This perform is used to place the text in MM02 transaction
PERFORM PLACE_LONGTEXT.
&----
*& Form create_text
&----
This routine used to create text in MM02 transaction
----
Passed the parameter w_grun to P_C_GRUN
and lv_value to P_LV_VALUE
----
FORM CREATE_TEXT USING P_C_GRUN
P_LV_VALUE.
DATA:
L_ID LIKE THEAD-TDID,
L_NAME(70).
MOVE : P_C_GRUN TO L_ID,
P_LV_VALUE TO L_NAME.
CALL FUNCTION 'CREATE_TEXT'
EXPORTING
FID = L_ID
FLANGUAGE = SY-LANGU
FNAME = L_NAME
FOBJECT = W_OBJECT
SAVE_DIRECT = 'X'
FFORMAT = '*'
TABLES
FLINES = T_LINE
EXCEPTIONS
NO_INIT = 1
NO_SAVE = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
CLEAR LV_VALUE.
ELSE.
DELETE T_LINE INDEX 1.
ENDIF.
ENDFORM. " create_text
&----
*& Form upload_file
&----
This routine is used to upload file
----
No interface parameters are passed
----
FORM UPLOAD_FILE .
CALL FUNCTION 'UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = ' '
FILETYPE = 'DAT'
ITEM = ' '
FILEMASK_MASK = ' '
FILEMASK_TEXT = ' '
FILETYPE_NO_CHANGE = ' '
FILEMASK_ALL = ' '
FILETYPE_NO_SHOW = ' '
LINE_EXIT = ' '
USER_FORM = ' '
USER_PROG = ' '
SILENT = 'S'
IMPORTING
FILESIZE =
CANCEL =
ACT_FILENAME =
ACT_FILETYPE =
TABLES
DATA_TAB = T_UPLOAD
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SORT T_UPLOAD BY MATNR ID.
ENDFORM. " upload_file
&----
*& Form place_longtext
&----
This routine places the text in MM02 transaction
----
No interface parameters are passed
----
FORM PLACE_LONGTEXT .
LOOP AT T_UPLOAD.
T_LINE-TDFORMAT = 'ST'.
T_LINE-TDLINE = T_UPLOAD-LTEXT.
APPEND T_LINE.
IF T_UPLOAD-ID EQ 'BT'.
MOVE T_UPLOAD-MATNR TO LV_VALUE.
MOVE 'GRUN' TO W_GRUN. u201CTest ID for Basic data text
PERFORM CREATE_TEXT USING W_GRUN LV_VALUE.
ENDIF.
IF T_UPLOAD-ID EQ 'IT'.
CLEAR W_GRUN.
MOVE T_UPLOAD-MATNR TO LV_VALUE.
MOVE 'PRUE' TO W_GRUN. u201CTest ID for Inspection text
PERFORM CREATE_TEXT USING W_GRUN LV_VALUE.
ENDIF.
IF T_UPLOAD-ID EQ 'IC'.
CLEAR W_GRUN.
MOVE : T_UPLOAD-MATNR TO LV_VALUE,
'IVER' TO W_GRUN.
u201CTest ID for Internal comment
PERFORM CREATE_TEXT USING W_GRUN LV_VALUE.
ENDIF.
ENDLOOP.
ENDFORM. " place_longtext
Thanks,
Phani Diwakar.
‎2008 Jul 24 9:02 PM
Try to use following way :
*--In my dialog program i created TEXT-EDITOR, so below method will help to get values whtever written in EDITOR and put inti G_MYTABLE.
CALL METHOD G_EDITOR->GET_TEXT_AS_R3TABLE
IMPORTING
TABLE = G_MYTABLE.
CALL METHOD CL_GUI_CFW=>FLUSH
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC NE 0.
add your handling
ENDIF.
LOOP AT G_MYTABLE INTO WS_MYTABLE.
CONCATENATE ws_mytable INTO li_tline-tdline SEPARATED BY space.
LI_TLINE-TDLINE = WS_MYTABLE.
LI_TLINE-TDFORMAT = '*'.
APPEND LI_TLINE .
ENDLOOP.
*******IMPORTANT FOR U
*--logic for appending header notes into Sales Order
IF NOT LI_TLINE[] IS INITIAL.
THEAD-TDID = 'Z030'.
THEAD-TDOBJECT = 'VBBK'.
THEAD-TDSPRAS = 'EN'.
THEAD-TDNAME = WS_DORD_NO.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
HEADER = THEAD
SAVEMODE_DIRECT = 'X'
INSERT = ' '
TABLES
LINES = LI_TLINE
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.
CALL FUNCTION 'COMMIT_TEXT'
EXPORTING
OBJECT = 'VBBK'
ID = 'Z030'
LANGUAGE = SY-LANGU.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
ENDIF.