Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Custom error message in user exit is giving Short dump

Hi All,

We have a scenario where in if any user try to create/Change/Delete particular types of contract in SAP system we have to issue error message

saying ZIN/ZIR contract creation/Change/Deletion is blocked in SAP. This has to be done from the web application. So we are putting below code

in user exit MV45AFZZ in the form USEREXIT_SAVE_DOCUMENT_PREPARE.

CONSTANTS: lc_vbcpic01 TYPE sy-uname VALUE u2018VBCPIC01u2019, u201CWeb application user ID
         lc_zin           TYPE vbak-auart VALUE u2018ZINu2019,
                     lc_zir            TYPE vbak-auart VALUE u2018ZIRu2019,
                     lc_text(32)    TYPE c VALUE u2018Check long text for more detailsu2019.

DATA: l_uname TYPE sy-uname.

CLEAR: l_uname.
MOVE sy-uname TO l_uname.

*If user ID is not the Web application ID then block the creation/Change/Deletion
IF   l_uname NE lc_vbcpic01
AND ( vbak-auart EQ lc_zin
OR    vbak-auart EQ lc_zir ).
MESSAGE e830(zv) WITH lc_text.
ENDIF.

This code is working fine while creating/Changing the contract i.e. Giving us error message so that user wonu2019t be able to create/change the contract.

But when we delete the contract from VA42, Control is coming to this message statement and is giving Short dump. Below is the error analysis of the dump.

Error Analysis:

During "Exit Command" processing, the program tried to send a " " message.

This is not allowed at this point in processing.

The program had to be terminated.

Screen name.............. "SAPMV45A"

Screen number............ 4001

If any one has come across such scenario/any work around for this problem please let me know your inputs. Your inputs are highly appreciated.

I am working on 4.6C version of SAP.

Note: When i issue information/Warning message contract is getting deleted after displaying the message.

Thanks,

Vinod.

Tags:
Former Member
replied

I exactly replicated the same in DELETE_DOCUMENT also

I am getting the Dump. I tried with exit also , but it continued and deleted. To avoid deletion we have to use Leave program or LEAVE TO CURRENT TRANSACTION.

Delete Function is Defined as EXIT command. so it is not possible to give error message. To convice you i just copied demo program and raised the error message.

it is also giving the dump.

copy the demo program DEMO_DYNPRO_AT_EXIT_COMMAND and make this change , information to error .

MODULE cancel INPUT.
  MESSAGE e888(sabapdocu) WITH text-001 ok_code input1 input2.
  IF ok_code = 'CANCEL'.
    CLEAR ok_code.
    LEAVE PROGRAM.
  ENDIF.
ENDMODULE.

and see...

0 View this answer in context

Helpful Answer

by
Not what you were looking for? View more on this topic or Ask a question