Fonction SAP CACS_LOG_CHECK_MESSAGETYPE - Check Message Type for DB-Update

Paramètre Reférence Type Long. Valeur par déf. Facultatif Description
I_LOG_HANDLE BALLOGHNDL C 22 X Application Log: Log Handle

Exception Description
LOG_NOT_FOUND Log Not Found in Main Memory
MSG_NOT_FOUND Message Not Found in Main Memory
SEVERE_ERROR Critical Error

Functionality
This function module checks the messages collected in the memory for apossible hide before they are written to the database. A message can bediscarded when it should not be saved as per filter query_for_db AND allthe messages exactly under this message in the concerned messagebranch(i.e. have a higher value DETLEVEL) can also be discarded.
Example: In case an S-message at the level 1 is not there in the filterquery_for_db, then it can be alone deleted from the memorybefore the logis written to the database. Nevertheless, if a W-message under theS-message in the branch needs to be savedthen the S-message cannot bediscarded.
This function module is called from the function moduleCACS_LOG_DETLEVEL_CHG, and precisely then, when the next (!)messageneeds to be saved at the highest level (DETLEVEL = 1). By calling atthis point, the entire log with all the messages can be divided in seve
ral sub-branches where one (or more) message(s) with DETLEVEL 1arepresent at the start (and only at the start).
Already processed messages are deleted once ALL the messages collectedtill now are read from the main memory.After that the log is reversed inorder to be able to process the message table recursive from the botton/below.
In case a message cannot be discarded because it is contained in thefilter, the form routine CHECK_TREE is called, where the messagesarranged above this message in the branch are provided with flagKEEP_MESSAGE (independent of the fact, whether they are there in thefilter or not ).
All those messages, which are not discarded, are collected in the globalinternal table GT_MSG_DATA at the end of function module.