How to force SNOTE to apply outdated SAP notes
Disclaimer: the procedure given in this document is in no way recommended (nor supported by SAP) and you shouldn’t follow the procedure unless you know exactly what you are doing. Regardless, I don’t take any responsibility for any possible errors/inconsistencies if any should occur because of following the procedure described in this document.
SAP NetWeaver 7.3 EHP1 SPS04 (AS ABAP) was the reference system while writing this document.
Today I had an issue where I couldn’t re-implement a SAP note because it wasn’t released. The system had a previous version of the SAP note but as you may know SNOTE will always attempt to download the latest version of the SAP note, even if a previous one exists in the system. If the latest version is not released, you won’t be able to implement the previous version of the SAP note. That is unless you follow the procedure described in this document.
Go to SE37 and open function module SCWB_NOTE_IMPLEMENT_INT in Display mode. Insert the following session break-points:
CALL FUNCTION 'SCWB_DOWNLOAD_OUTDATED_NOTES' EXPORTING iv_destination = gc_cwbadm_cs_nt iv_with_progress_indicator = true iv_ask_user_to_confirm_dwnld = true IMPORTING et_note_keys_dwnld = lt_note_keys_dwnld et_unreleased_notes = lt_unreleased_notes CHANGING ct_corr_instructions = lt_flat_queue EXCEPTIONS rfc_error = 1 OTHERS = 2. IF sy-subrc = 1. " <-- session break-point here
LOOP AT lt_unreleased_notes INTO ls_note_key FROM 13 TO 16. CONCATENATE ls_msg-msgv4 ls_note_key-numm INTO ls_msg-msgv1 SEPARATED BY space. ENDLOOP. send_i_message ls_msg. ENDIF. * exit if nothing has been downloaded. IF lt_note_keys_dwnld IS INITIAL. " <-- session break-point here
Launch transaction SNOTE and start implementing the SAP note in question. When the first break-point is reached, change the value of SY-SUBRC to 0 and once the second break-point is reached delete the contents of the internal table IT_NOTE_KEYS_DOWNLD. You might have to repeat the process as many times as there are SAP note(s) and note versions to be processed. In the next step the outdated SAP note(s) will be implemented.