2010 May 31 3:19 PM
I have implemented the BADI LE_SHP_DELIVERY_PROC available in for delivery enhancement.
If user deletes the delivery I have to give the error message depending on some checks but it is
getting into dump.
I read note 415716 for the delivery enhancement there it is written we cannot use 'E' or 'W' message type
here. Please help me with any other alternative solution which will behave same as of error message.
Thanx...
2010 Jun 01 8:09 AM
Check for the type declarations.....
From log of this BADI:
You can use the CF_ITEM_NOT_DELETABLE flag to control whether the item can be deleted. Set the flag to X if the item should not be deletable. You can also issue a suitable error message using the table parameter CT_LOG. For technical reasons, the system displays this message as an information message.
Check the log.
2010 Jun 01 8:09 AM
Check for the type declarations.....
From log of this BADI:
You can use the CF_ITEM_NOT_DELETABLE flag to control whether the item can be deleted. Set the flag to X if the item should not be deletable. You can also issue a suitable error message using the table parameter CT_LOG. For technical reasons, the system displays this message as an information message.
Check the log.
2010 Jun 01 2:27 PM
Thanks...
I have checked for this thing..
I tried giving error message in ct_log table by passing msgid and msgno but it does not fetch
the maintained message it only shows the msgid and msgno in the error description..
So now i created new screen as error pop up and handled the events to be in same transaction..
2010 Jun 12 5:32 AM
hi Pawang,
i faced the same problem also, can you post your sample code that you used to solve this dump?
thanks
2010 Jun 14 5:12 AM
Hi Mingo,
As u can see in the description of the dump u cannot give the error message in AT EXIT command module. so there are 2 options to solve this dump
1) U can implement the method CHECK_ITEM_DELETION of this BADI. This method will be called as no of items in the delivery..
so u can make the CF_ITEM_NOT_DELETABLE = 'X' for the corresponding materail u dont want to delete and give the message
in CT_LOG table either by passing msgclass and msgid or by passing the error message to the MSGV1, MSGV2 variables..
2) U can have one function module and design one pop up screen and then give ur message in the pop screen and handle the
user commands here...like u can have OK and CANCEL button..
I implemented 2nd method as it was required by concrened person..
This thing was done at item deletion level....if u have to do at the entire delivery level u can explore the method
DELIVERY_DELETION of this badi or in DELIVERY_FINAL_CHECK method implement the 2nd solution...
on cancel button on this pop to be in same transaction use following code..
leave to current transaction and skip first screen.
thanx..
Edited by: PawanG on Jun 14, 2010 6:33 AM
2010 Jun 14 8:47 AM
hi PawanG,
thanks for your reply, i tried check_item_deletion method, but even i did append my message to CT_LOG and make CF_ITEM_NOT_DELETABLE = 'X' , but system display the default message "The item cannot be deleted due to customer's own checks" instead of my own message, is it i missed out any thing?
thanks
2010 Jun 14 10:14 AM
I also got the same message but if u pass MSGV1, MSGV2... variable with actual message the original message will be overwritten
I wrote like this,
cf_item_not_deletable = 'X'.
ls_log-vbeln = is_xlips-vbeln.
ls_log-posnr = is_xlips-posnr.
ls_log-msgid = 'ZZ'.
ls_log-msgno = '001'.
ls_log-msgty = 'E'.
ls_log-msgv1 = 'This delivery canu2019t be delete'. " Your Message here
append ls_log to ct_log.
clear ls_log.