Application Development 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: 

Update was terminated on WSM8 " POSTING_ILLEGAL_STATEMENT"

Former Member
0 Kudos

Hi all

our system is ecc6 with IS -retail activated. support Stack level is 12 and database is oracle , os is windows.

We are getting express document error " Update was terminated " when executing WSM8 . on ST22, we are getting following error

POSTING_ILLEGAL_STATEMENT . We applied note 1053491

which is similar to the issue but it does not solve.

Here are the st22 dump details

####

Runtime Errors POSTING_ILLEGAL_STATEMENT

Date and Time 24.04.2008 19:03:48

-


-


Short text

Statement "COMMIT" is not allowed in this form.

-


-


What happened?

Error in the ABAP Application Program

The current ABAP program "SAPLSYDB" had to be terminated because it has

come across a statement that unfortunately cannot be executed.

-


-


What can you do?

Note down which actions and inputs caused the error.

To process the problem further, contact you SAP system

administrator.

Using Transaction ST22 for ABAP Dump Analysis, you can look

at and manage termination messages, and you can also

keep them for a long time.

-


-


Error analysis

There is probably an error in the program

"SAPLSYDB".

This program is triggered in the update task. There, the

following ABAP/4 statements are not allowed:

- CALL SCREEN

- CALL DIALOG

- CALL TRANSACTION

- SUBMIT

-


-


How to correct the error

Probably the only way to eliminate the error is to correct the program.

-

If the error occures in a non-modified SAP program, you may be able to

find an interim solution in an SAP Note.

If you have access to SAP Notes, carry out a search with the following

keywords:

"POSTING_ILLEGAL_STATEMENT" " "

"SAPLSYDB" or "LSYDBU27"

"DB_COMMIT"

If you cannot solve the problem yourself and want to send an error

notification to SAP, include the following information:

1. The description of the current problem (short dump)

To save the description, choose "System->List->Save->Local File

(Unconverted)".

2. Corresponding system log

Display the system log by calling transaction SM21.

Restrict the time interval to 10 minutes before and five minutes

after the short dump. Then choose "System->List->Save->Local File

(Unconverted)".

3. If the problem occurs in a problem of your own or a modified SAP

program: The source code of the program

In the editor, choose "Utilities->More

Utilities->Upload/Download->Download".

4. Details about the conditions under which the error occurred or which

actions and input led to the error.

-


this is sm21 error log

---

Time

Type

Nr

Clt

User

TCode

Grp

N

Text

-


18:09:55

UP1

006

600

SAUGATA

AB

0

Run-time error "POSTING_ILLEGAL_STATEMENT" occurred

-


Run-time error "POSTING_ILLEGAL_STATEMENT" occurred

Details

Recording at local and central time........................ 24.04.2008 18:09:55

-


Task......

Process

User......

Terminal

Session

TCode

Program

Cl

Problem cl

Package

-


05460

V1 Update Task No. 006

SAUGATA

LB-TULIP

1

T

Transaction Problem

SABP

-


Further details for this message type

-


Module nam

Line

Error text

-


thxxvb

1346

ThVBCheckCommit

-


-


Documentation for system log message AB 0 :

The specified runtime error has occurred in the system.

-


Parameter

-


abcdefghijklmnopqrstuvwxyz .. POSTING_ILLEGAL_STATEMENT

-


Technical details

-


File

Offset

RecFm

System log type

Grp

N

variable message data

-


66

160740

l

Error (Module, Row)

AB

0

ThVBCheckCommit thxxvb 1346

-


Please check and let me know if you need more details.

5 REPLIES 5

Jelena
Active Contributor
0 Kudos

Most likely you have a user exit, a VOFM routine, an info structure update or something like that, which has one of those commands included:

- CALL SCREEN  
- CALL DIALOG  
- CALL TRANSACTION  
- SUBMIT

In ST22 if you go to ABAP developer view -> Source Code Extract, you'll see exactly where the error occurs. Have one of your ABAPers look at it. If an error is in a standard SAP program, contact SAP.

Former Member
0 Kudos

Hi Jelena,

Here is the source code extract where error is . Will this be a standard sap program or a program modified by abaper?.

"

Source Code Extract

Line SourceCde

1 FUNCTION DB_COMMIT.

2 *"----


3 ""Lokale Schnittstelle:

4 *"----


5

6 EXEC SQL.

>>>>> COMMIT WORK

8 ENDEXEC.

9

10 ENDFUNCTION.

"

Can you share some more tips on this.

Thank you once again for that help full answer.

Jelena
Active Contributor
0 Kudos

As far as I understand, program SAPLSYDB (standard SAP program) is basically called when there is the command COMMIT WORK in ABAP code. The function that you mention is the one that actually commits the updates.

I was hoping that ST22 would show the place in the calling program, but, apparently, no such luck. Since you know in which transaction the termination occurs (WSM8), you might want to check if you have any code in these user exits:

WSOR0001

WSOS0001

WSOT0001

You will find them in transaction CMOD or SMOD (or, again, grill your ABAPers). Then in those exits, search for COMMIT WORK.

Just for the heck of it I searched for COMMIT in RWSORALL program (which runs WSM8 transaction). Since we don't use this transaction, this should give you a "clean" picture. The only place where COMMIT WORK command was found was the program SORALLSTSC at these lines:

69               COMMIT WORK AND WAIT. "waiting in background "ins note 687812
  83               COMMIT WORK.                 " changing 46C
 271   COMMIT WORK.

To do the same in your system, go to SE38 with RWSORALL and click on menu Edit -> Find/Replace. If you find an additional COMMIT WORK command, check where it is located. If it's not in your custom code, send a message to SAP, otherwise have your ABAPers fix the code.

Also see if there are additional clues in the termination messages in SM13 or ST22 (your ABAPers might have better luck finding them).

Hope this helps.

Former Member
0 Kudos

Hi Jelena,

Thank you so much for the reply.

I will ask my abaper to do as you said now.

I did asked abapers to to check if the program for WSM8 has been modified by userexits/ badi/ enhancements spot but they could not find anything like this.

. Shouldnt commit work occur only if we change any data while here we are just viewing when the short dump is coming. We have checked userexits and badis to see if we have called commit work but didnt find any . So is it a bug in the standard program ?.

Tomorrow I will ask the abaper to check as you said.

Thank you once again for your great help

Jelena
Active Contributor
0 Kudos

If you're saying that the transaction was not modified, I'd have to assume that there is an error in the standard SAP program.

Another option to try is to set the breakpoint before the line where termination occurs and then debug the transaction. At the breakpoint you should be able to see "call stack" (i.e. a list of the routines that were called so far). This should help to pin-point the source of this error. If you include details when writing to SAP, it should also help them to solve the problem faster.

Good luck!