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