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

About Create_text FM

Former Member
0 Likes
1,082

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

4 REPLIES 4
Read only

Former Member
0 Likes
670

I use create_text fm create a long text for object, The FM's sy-subrc is 0,

Show me how you did that..?

Read only

former_member196064
Active Participant
0 Likes
670

Hmm... normally I use SAVE_TEXT & COMMIT_TEXT, but perhaps you need to add COMMIT_TEXT call too.

Doug -

Read only

Former Member
0 Likes
670

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.

Read only

Former Member
0 Likes
670

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.