Skip to Content
0
Former Member
Jan 15, 2008 at 12:57 PM

Not able to Insert Material text in trnsaction C202 with Save_TEXT

114 Views

Hi All,

I have to update / insert the material text with in the transaction C202 . I am reading the description with the help of read_text & if the mateial description is found we are updating it and if the material decription is not available we are inserting it.

After that text is saved with the function Save_text and commit_text.

The problem which i am facing is that if the material description exists its updating it but if the materail description does not existe in transaction C202 , that it not inserting the description text .

Sample code is as follows .

FORM READ_TEXT USING EV_STR TYPE STRING

CHANGING EV_INSERT TYPE CHAR01.

DATA : LT_LINE TYPE STANDARD TABLE OF TLINE,

IN_TNAME TYPE THEAD-TDNAME.

IN_TNAME = EV_STR.

CALL FUNCTION 'READ_TEXT'

EXPORTING

CLIENT = SY-MANDT

id = GC_TID

language = GC_LAN

name = IN_TNAME

object = GC_OBJ

  • ARCHIVE_HANDLE = 0

  • LOCAL_CAT = ' '

  • IMPORTING

  • HEADER = GV_THD

tables

lines = LT_LINE

EXCEPTIONS

ID = 1

LANGUAGE = 2

NAME = 3

NOT_FOUND = 4

OBJECT = 5

REFERENCE_CHECK = 6

WRONG_ACCESS_TO_ARCHIVE = 7

OTHERS = 8.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

IF LT_LINE[] IS INITIAL.

EV_INSERT = 'X'.

ENDIF.

Save text code :

FORM UPLOAD_TEXT USING IN_TNAME TYPE STRING

IN_TAB LIKE GT_TEXT

IV_INSERT TYPE c.

DATA: LV_TNM TYPE THEAD-TDNAME.

GV_THD-TDID = GC_TID.

GV_THD-TDOBJECT = GC_OBJ.

GV_THD-TDSPRAS = GC_LAN.

LV_TNM = IN_TNAME.

GV_THD-TDNAME = LV_TNM.

GV_THD-TDFORM = 'SYSTEM'.

GV_THD-TDTXTLINES = '00002'.

GV_THD-TDLINESIZE = '040'.

CALL FUNCTION 'SAVE_TEXT'

EXPORTING

  • CLIENT = SY-MANDT

HEADER = GV_THD

INSERT = IV_INSERT

SAVEMODE_DIRECT = 'X'

OWNER_SPECIFIED = 'X'

IMPORTING

newheader = GV_THD

TABLES

LINES = IN_TAB.

CALL FUNCTION 'COMMIT_TEXT'.

  • EXPORTING

  • object = 'ROUTING'

  • savemode_direct = 'X'.

CALL FUNCTION 'FREE_TEXT_MEMORY'

  • EXPORTING

  • LOCAL_CAT = ' '

EXCEPTIONS

NOT_FOUND = 1

OTHERS = 2.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Can any one can give me the tips to solve this peculiar problem.

Point is guarented