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: 

Posting_illegal_statement in sales order

Former Member
0 Kudos

Hi,

Whenever we create SALES ORDER or PURCHASE ORDER we are getting short DUMP "POSTING_ILLEGAL_STATEMENT". Help me How can i solve this? Also Suppose if i want to check is there is any Config. change in the system. How can i check for Config changes in SD?

Error message is,

Error in the program SAPLKKBL,, This program is triggered in update task ,in there following statements are not allowed,

CALL SCREEN, CALL DIALOG,CALL TRANSACTION, SUBMIT.....like this , Any idea........

Thanks,

Subashini

31 REPLIES 31

former_member188685
Active Contributor
0 Kudos

Hi Subashini,

What exactly you are doing..what data you are passing..

vijay

0 Kudos

I am creating Sales order in our POS(point of sale)system. If i click finish&pay it should go for Payment processing screen in that place it's giving short dump.

0 Kudos

I think it is user defined Screen....

Some Problem with ALV that they have used for ,

it is surely because of some ALV...

can you tell me is it standard trxn or Custom transaction..

vijay

0 Kudos

Is the POS submitting a BAPI or calling a transaction? IF so, which one?

Rob

0 Kudos

It's calling BAPI

0 Kudos

SAP or custom BAPI. IF SAP, which one?

Rob

0 Kudos

perform stack_memory_export.

if i_screen_start_line ne 0.

gt_stack-is_layout-i_am_popup = 'X'.

endif.

/Code---if gt_stack-is_layout-detail_only is initial.

if gt_stack-is_layout-suppress_dynpro is initial.

if i_screen_start_line eq 0.

-


call screen 500.(ERROR HERE)

sy-pagno = g_sypagno. "wegen Dynpro 200 Spoolinfo bei F8+Druck

else.

call screen 501 starting at i_screen_start_column

i_screen_start_line

ending at i_screen_end_column

i_screen_end_line.

sy-pagno = g_sypagno.

endif.

else.

if gt_stack-is_layout-interface_complete is initial.

perform first_list_display.

else.

perform list_output_new tables t_outtab

gt_dummy.

endif.

endif.

else.

gs_selfield-tabindex = 1.

gs_selfield-tabname = gt_stack-i_tabname.

call function 'K_KKB_OUTTAB_DETAIL_SHOW'

exporting

it_fieldcat = gt_stack-it_fieldcat

is_layout = gt_stack-is_layout

is_selfield = gs_selfield

i_callback_program = gt_stack-i_callback_program

i_callback_top_of_page = gt_stack-i_callback_top_of_page

tables

t_outtab = t_outtab

exceptions

others = 0.

if sy-subrc ne 0.

endif.

endif.

if not gt_stack-i_callback_fieldcat_save is initial.

perform (gt_stack-i_callback_fieldcat_save)

in program (gt_stack-i_callback_program)

using gt_stack-it_fieldcat if found.

gt_fieldcat[] = gt_stack-it_fieldcat.

endif.

if gt_stack-is_layout-suppress_dynpro is initial.

clear gflg_append_mode.

endif.

IT's an standard SAP PROGRAM SAPLKKLB FM K_KKB_LIST_DISPLAY

0 Kudos

If it is done by you then try to change it and see..

you keep the break point at call screen 500 and see for details , you can understand better

0 Kudos

Hi,

You mentioned the Dump was at call screen 501. So think you are posting some values like Partner in that screen. so that's why whatever values you are passing that is not updating properly...so i think that time you get this type of error messages. so you can pass correct values in that screen then you won't get these type of messages.

Thanks,

krish.

0 Kudos

Try to Use

LEAVE TO LIST-PROCESSING AND RETURN.

while calling the list may be it will avoid the dump...

vijay

0 Kudos

It's not my developement work.Its already bulit system,it was working Fine before. Today Suddenly we got this Short dump while creating Sales order * purchase order.

0 Kudos

So let us try this, you went into VA01, entered data and then SAVEd it. At this point you get the dump, is that correct?

0 Kudos

Another reason could be that in your smartform, do you have any validations and throwing an error message, if the validation fails? Error message is again illegal in a update task. May be it is today that you failed these validations and hit that error message portion.

0 Kudos

yes U are correct in Va01 while creating Sales order i got this error........

0 Kudos

OK, you also mentioned that it is coming even in your PO creation. What do you have common to both? Any custom form or piece of custom code that is common to both?

0 Kudos

No, Just getting error in VA01. Sorry about the confusions

0 Kudos

Can you please let me know about this.

<i>Another reason could be that in your smartform or any user exit that is called in update task, do you have any validations and throwing an error message, if the validation fails? Error message is again illegal in a update task. May be it is today that you failed these validations and hit that error message portion.[/]

Former Member
0 Kudos

Is there an entry in SM13 for this update task? If yes there you may see a more detailed error description.

former_member188685
Active Contributor
0 Kudos

calling screens are not proper from Program might be a cause for the Dump.

0 Kudos

Hi,

Is this problem is coming b'cos of smart form.......It's a custom defined screen, But calling SAP standard VA01

0 Kudos

Definitely wrong in calling of custom defiend screen...

0 Kudos

PROCESS BEFORE OUTPUT. screen 500

MODULE LIST_DISPLAY.

PROCESS AFTER INPUT.

This is an SAP STANDARD PROGRAM. SAPLKKLB, FM K_KKB_LIST_DISPLAY

0 Kudos

MODULE <b>LIST_DISPLAY.</b>

this is the alv list .., calling alv in screen ...screen is not a Container so because of that it gave dump..

may be i am not sure...

0 Kudos

This whole function group is marked for internal use. Are you submitting it, or is another SAP program submitting it?

I'm trying to get at what standard SAP module you call that goes into this code.

Rob

Former Member
0 Kudos

Are you using any user exit? Without much information, this is what I guess you are doing.

You used a user exit which is called from within a section of code that is in update task. In this user exit, you are either doing something related to ALV and calling another transaction to display or do something else. If it is not a CALL TRANSACTION, you may calling a SCREEN directly or indirectly(using a popup function module that does a CALL SCREEN).

Please give us more details.

Srinivas

0 Kudos

this is the code where program terminating.......see the (****... that's where program creating Short dump)....

if ( ( not l_export is initial )

and ( l_fieldcat_state ne '2' ) ).

  • if i_buffer_active eq 'X' and

  • l_fieldcat_state ne '2'.

move-corresponding gt_stack-is_layout-s_variant to ls_ltdxkey.

if ls_ltdxkey is initial.

ls_ltdxkey-report = gt_stack-i_callback_program.

endif.

l_fieldcat_state = '2'.

l_sort_state = '2'.

call function 'ALV_EXPORT_TO_BUFFER_KKBLO'

exporting

is_ltdxkey = ls_ltdxkey

  • I_LANGU = SY-LANGU

it_fieldcat_kkblo = gt_stack-it_fieldcat

i_fieldcat_kkblo_state = l_fieldcat_state

it_sort_kkblo = gt_stack-it_sort

i_sort_kkblo_state = l_sort_state

it_filter_kkblo = gt_stack-t_filter

is_layout_kkblo = gt_stack-is_layout

exceptions

no_key = 0

no_export = 0

others = 0.

if sy-subrc ne 0.

endif.

endif.

*... Export Stack to Memory

perform stack_memory_export.

if i_screen_start_line ne 0.

gt_stack-is_layout-i_am_popup = 'X'.

endif.

if gt_stack-is_layout-detail_only is initial.

if gt_stack-is_layout-suppress_dynpro is initial.

if i_screen_start_line eq 0.

                • call screen 500.

sy-pagno = g_sypagno. "wegen Dynpro 200 Spoolinfo bei F8+Druck

else.

call screen 501 starting at i_screen_start_column

i_screen_start_line

ending at i_screen_end_column

i_screen_end_line.

sy-pagno = g_sypagno.

endif.

else.

if gt_stack-is_layout-interface_complete is initial.

perform first_list_display.

else.

perform list_output_new tables t_outtab

gt_dummy.

endif.

endif.

else.

gs_selfield-tabindex = 1.

gs_selfield-tabname = gt_stack-i_tabname.

0 Kudos
<b>if gt_stack-is_layout-detail_only is initial.
if gt_stack-is_layout-suppress_dynpro is initial.
if i_screen_start_line eq 0.</b>
******** call screen 500.

what are you doing in PBO,PAI of 500

Former Member
0 Kudos

OSS Note 183092 "Short dump "posting_illegal_statement" in sls order" looks related, but I don't think it is.

However, it leads me to believe that it may be a problem you should send to OSS.

Rob

0 Kudos

Hi Subhashini,

I was slightly off but can you let us know the program flow of your smartform? What do you in this smartform that is to do with ALV?

As you might already know, output is done in update task, even if it has "Print Immediately" option set. So when you create your sales order, do you have this smartform triggered and within the smartform you have some screen call?

0 Kudos

OSS note 381060 also doesn't seem directly to apply, but it says to re-generate the smartform. Why don't you give it a try - can't hurt.

Rob

Former Member
0 Kudos

I got the same error and solved it by checking logo in SE78 and in the smartform.