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

Commit work and wait

Former Member
0 Likes
632

Hi all ,

This is my code. I need to copy data from 1 st internal order to 2 nd internal order .But long text not copying.

Cany any help me in this issue?

FORM CREATE_PLAN_TEXT_DETAIL .

DATA: STMPNAME LIKE THEAD-TDNAME, TTMPNAME LIKE THEAD-TDNAME.

CLEAR: TMPOBJNR.

CONCATENATE 'OR' SAUFNR INTO TMPOBJNR .

SELECT * FROM COSS

WHERE LEDNR = '00'

AND OBJNR = TMPOBJNR

AND GJAHR = SGJAHR

AND WRTTP = '01'

AND VERSN = SVERSN

AND ( VRGNG = 'RKP3' OR VRGNG = 'RKPZ' ).

CLEAR: TTMPNAME, STMPNAME,TMPOBJNR.

IF COSS-VRGNG = 'RKPZ' .

CONCATENATE '00OR' SAUFNR ' 2' SGJAHR+1(3) '01' STMPNAME SVERSN(3) INTO STMPNAME .

CONCATENATE STMPNAME COSS-KSTAR INTO STMPNAME SEPARATED BY SPACE.

CONCATENATE STMPNAME ' RKPZ' INTO STMPNAME.

CONCATENATE '00OR' TAUFNR ' 2' TGJAHR+1(3) '01' TTMPNAME SVERSN(3) INTO TTMPNAME .

CONCATENATE TTMPNAME COSS-KSTAR INTO TTMPNAME SEPARATED BY SPACE.

CONCATENATE TTMPNAME ' RKPZ' INTO TTMPNAME.

ELSE.

CONCATENATE '00OR' SAUFNR ' 2' SGJAHR+1(3) '01' SVERSN(2) INTO STMPNAME.

CONCATENATE STMPNAME COSS-KSTAR INTO STMPNAME SEPARATED BY SPACE.

CONCATENATE STMPNAME ' RKP3' COSS-PAROB+6(16) INTO STMPNAME.

CONCATENATE '00OR' TAUFNR ' 2' TGJAHR+1(3) '01' TVERSN(2) INTO TTMPNAME.

CONCATENATE TTMPNAME COSS-KSTAR INTO TTMPNAME SEPARATED BY SPACE.

CONCATENATE TTMPNAME ' RKP3' COSS-PAROB+6(16) INTO TTMPNAME.

ENDIF.

CALL FUNCTION 'READ_TEXT_INLINE'

EXPORTING

ID = 'COSS'

INLINE_COUNT = '1'

LANGUAGE = SY-LANGU

NAME = STMPNAME

OBJECT = 'CCSS'

TABLES

INLINES = INLINES

LINES = LINES

EXCEPTIONS

NOT_FOUND = 4.

IF SY-SUBRC = 0.

XTHEAD-TDOBJECT = 'CCSS'.

XTHEAD-TDNAME = TTMPNAME.

XTHEAD-TDID = 'COSS'.

XTHEAD-TDSPRAS = 'E'.

XTHEAD-TDLINESIZE = '72'.

CALL FUNCTION 'SAVE_TEXT'

EXPORTING

  • CLIENT = SY-MANDT

HEADER = XTHEAD

INSERT = ' '

SAVEMODE_DIRECT = 'X'

  • OWNER_SPECIFIED = ' '

  • LOCAL_CAT = ' '

IMPORTING

  • FUNCTION =

NEWHEADER = XTHEAD

TABLES

LINES = LINES.

CLEAR: LINES, INLINES.

REFRESH: LINES, INLINES.

CONCATENATE 'OR' TAUFNR INTO TMPOBJNR.

*

  • UPDATE COKS

  • SET TXFLG = 'X'

  • WHERE LEDNR = COSS-LEDNR

  • AND OBJNR = TMPOBJNR

  • AND GJAHR = TGJAHR

  • AND WRTTP = '01'

  • AND VERSN = TVERSN

  • AND KSTAR = COSS-KSTAR.

ENDIF.

ENDSELECT.

ENDFORM. " CREATE_PLAN_TEXT_DETAIL

&----


*& Form update_text

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM UPDATE_TEXT .

DATA: TTMPOBJNR LIKE COSS-OBJNR,

STMPOBJNR LIKE COSS-OBJNR,

ITAB_COKS TYPE TABLE OF COKS WITH HEADER LINE.

CLEAR TMPOBJNR.

CONCATENATE 'OR' TAUFNR INTO TTMPOBJNR.

CONCATENATE 'OR' SAUFNR INTO STMPOBJNR.

SELECT * FROM COKS INTO TABLE ITAB_COKS

WHERE LEDNR = COSS-LEDNR

AND OBJNR = STMPOBJNR

AND GJAHR = SGJAHR

AND WRTTP = '01'

AND VERSN = SVERSN

AND TXFLG = 'X'.

LOOP AT ITAB_COKS.

ITAB_COKS-OBJNR = TTMPOBJNR.

MODIFY ITAB_COKS.

ENDLOOP.

UPDATE COKS FROM TABLE ITAB_COKS.

commit work and wait.

WAIT UP TO 20 SECONDS.

ENDFORM. " update_text

1 ACCEPTED SOLUTION
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
569

Hi, try setting the INSERT parameter.



CALL FUNCTION 'SAVE_TEXT'
EXPORTING
* CLIENT = SY-MANDT
HEADER = XTHEAD
<b>INSERT = 'X'</b>
SAVEMODE_DIRECT = 'X'
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
IMPORTING
* FUNCTION =
NEWHEADER = XTHEAD
TABLES
LINES = LINES.



Regards,

Rich Heilman

3 REPLIES 3
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
570

Hi, try setting the INSERT parameter.



CALL FUNCTION 'SAVE_TEXT'
EXPORTING
* CLIENT = SY-MANDT
HEADER = XTHEAD
<b>INSERT = 'X'</b>
SAVEMODE_DIRECT = 'X'
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
IMPORTING
* FUNCTION =
NEWHEADER = XTHEAD
TABLES
LINES = LINES.



Regards,

Rich Heilman

Read only

0 Likes
569

No , Its not working with that one too.

Read only

Clemenss
Active Contributor
0 Likes
569

Hi prya,

it is more than risky to do changes on any SAP tables without using the transactions or (BAPI) functions designed for that purpose for a couple of reasons. Two important ones: SAP functionality will use a lock concept making it impossible for more than 1 user to change an object at the same time because you can not know what the result will be. The second and (as I think) more important reason is, that an unknown number of tables you do not know will be updated at the same time and you have no idea what will be the result of ignoring them.

OK, enough:

Standard texts can be updated using function SAVE_TEXT.

Regards,

Clemens