To add message in Application Log in Me2xn

Hello Experts,
This is my requirement.
During creation of PO item it is required to put a check if the Vendor is one among the Vendors in the table: ZTABLE.
     If yes, it means that the PO is an internal order. Then you should check if the flag: GR Non-valuated is set for the newly added items.
     If not, send out an error into the application log when the document is saved, so that the user is notified and it has to be checked to make the document complete for further processing.
I have implemented is check in the exit <b>EXIT_SAPMM06E_012</b>. But I don't know how to update the application log.
Could you please send some sample code to update the application log saying that <b>the PO is inetrnal Order</b>
Thanks in Advance.
Regards,
Vasanth

Hi Vasanth,
in this case u have to USE BADI only ,
path-.Se18->f4--.SAP Application and check under ME package.
Regards
Prabhu

Similar Messages

  • SendMail -'Add Message to action log' on as default ?

    Hi
    Is it possible and how, to set the 'Add Message to action log' checkbox, checked, as default in the form?
    Thanks.
    /Peter

    Also, the Send Email source code can now be found at Codeplex for you to "play around" with if you would like to add new features or functionallity.
    https://scsmsendemail.codeplex.com/
    Regards
    //Anders
    Anders Asp | Lumagate | www.lumagate.com | Sweden | My blog: www.scsm.se

  • ICWC: Getting messages from application log

    HI there,
    I'm trying to retrieve messages from the SAP GUI application log. Right now, the standard views do get the messages, but I have introduced a new viewset and view. These new viewsets and views do not seem to display the error messages.
    Any help is much appreciated.
    Cheers,
    J

    Hi Joshua,
        Application log messages do not appear by default in ICWC. Application developers have to add the appropriate messages in the global message container either in the GENIL implementation (where standard APIs are called) or in the UI of your custom-built views, wherever convenient.
      I hope this has given you some hints.
    Regards,
    Sudipta.

  • Warning message into Application log of Service request

    Hi Experts,
    I have a requirement where I am using Event handlers(CRMV_EVENT) to redetermine partners of a service request whenever certain values are changed in the transaction CRMD_ORDER.
    Partners will be retrieved from a custom table.
    In any circumstances, if the partners cannot be determined then we need to push a WARNING message stating that "Partners can not be determined, pls maintain the values in the custom table'.
    For this purpose I am using the function module CRM_MESSAGE_COLLECT with the following parameters, but still I am not able to see the same into the Application log of the Service request that is going to be created.
    CALL FUNCTION 'CRM_MESSAGE_COLLECT'
      EXPORTING
        iv_caller_name         = 'ORDERADM_H'
        IV_REF_OBJECT          = iv_header_guid
        IV_REF_KIND            = 'A'
       IV_LOGICAL_KEY         = '0001'
        IV_MSGNO               = '001'
        IV_MSGID               = 'ZSP'
        IV_MSGTY               = 'W'
      IV_MSGV1               = SY-MSGV1
      IV_MSGV2               = SY-MSGV2
      IV_MSGV3               = SY-MSGV3
      IV_MSGV4               = SY-MSGV4
        IV_MSGLEVEL            = '1'
      IV_FIELDNAME           =
      IV_ACTION              =
        IV_LOG_HANDLE          = lv_log_handle
        IV_CUMULATE            = 'X'
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Do I missed in passing of any additional parameters?
    Can any one of you have encountered the same problem and solved this, pls through some light on me too(if possible with block of code).
    Thanks in advance.

    Hi,
    Here is the block of code that I used to push a message in to Application log.
    Push your message into a variable called dummy and then call the below mentioned function module.
    DATA:        lv_dummy(254)    TYPE  c,            "#EC NEEDED
              MESSAGE w052(sppf_media) WITH text-001
                                            text-002
                                        INTO lv_dummy.
              CALL FUNCTION 'CRM_MESSAGE_COLLECT'
                EXPORTING
                  iv_caller_name = 'ORDERADM_H'
                  iv_ref_object  = iv_header_guid
                  iv_ref_kind    = lc_ref_kind_a
                  iv_msgno       = sy-msgno
                  iv_msgid       = sy-msgid
                  iv_msgty       = sy-msgty
                  iv_cumulate    = lc_x
                IMPORTING
                  ev_msgty       = lv_msgtyp
                  es_msg_handle  = gv_msghandle
                EXCEPTIONS
                  not_found      = 1
                  appl_log_error = 2
                  OTHERS         = 3.
              IF sy-subrc <> 0.
                MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              ENDIF.
            ENDIF.
    Hope this helps to resolve your issue.
    Regards,
    Usha.

  • Email portlet 9.0.4 shows error message in application.log

    Hi,
    I deployed the email portlet 9.0.4 on 10g portal. It works for some time but since an unknown point in time it shows the following in the portlet area: "Failed to get the ImapClient instance, either you are not authenticated to use the service or session is lost. Logout from portal and login again. ".
    And in the application.log I found the following:
    04/01/05 15:51:39 email: [instance=25024_EMAIL_PORTLET_71546261, id=94025627009,3] ERROR: oracle.portal.integration.email.imap.ImapException: Failed to get the ImapClient instance, either you are not authenticated to use the service or session is lost. Logout from portal and login again.
    oracle.portal.integration.email.imap.ImapException: Failed to get the ImapClient instance, either you are not authenticated to use the service or session is lost. Logout from portal and login again.
    at oracle.portal.integration.email.impl.ImapClient.getInstance(Unknown Source)
    at htdocs.message__header._jspService(_message__header.java:65)
    at com.orionserver[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:251)
    at oracle.portal.provider.v2.render.http.AbstractResourceRenderer.renderBody(Unknown Source)
    at oracle.portal.provider.v2.render.RenderManager.render(Unknown Source)
    at oracle.portal.provider.v2.DefaultPortletInstance.render(Unknown Source)
    at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.showPortlet(Unknown Source)
    at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.handleHttp(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at oracle.webdb.provider.v2.adapter.SOAPServlet.doHTTPCall(Unknown Source)
    at oracle.webdb.provider.v2.adapter.SOAPServlet.service(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    04/01/05 15:51:46 email: [instance=(null), id=(null)] ERROR: Request has exceeded its warning timeout Time[elapsed=1780171ms. Warning timeout=20000ms.] Request[id=(null) providerId=71546261 portletId=(null) portletName=(null) portletInstance=(null) user=PORTAL] Thread[ name=AJPRequestHandler-ApplicationServerThread-30 priority=5 alive=true interrupted=false groupName=main]
    04/01/05 15:51:48 email: [instance=(null), id=(null)] ERROR: Request has exceeded its warning timeout Time[elapsed=180699ms. Warning timeout=20000ms.] Request[id=(null) providerId=71546261 portletId=(null) portletName=(null) portletInstance=(null) user=PORTAL] Thread[ name=AJPRequestHandler-ApplicationServerThread-35 priority=5 alive=true interrupted=false groupName=main]
    04/01/05 15:51:50 email: [instance=(null), id=(null)] ERROR: Request has exceeded its warning timeout Time[elapsed=420954ms. Warning timeout=20000ms.] Request[id=(null) providerId=71546261 portletId=(null) portletName=(null) portletInstance=(null) user=PORTAL] Thread[ name=AJPRequestHandler-ApplicationServerThread-41 priority=5 alive=true interrupted=false groupName=main]
    04/01/05 15:51:52 email: [instance=(null), id=(null)] ERROR: Request has exceeded its warning timeout Time[elapsed=100902ms. Warning timeout=20000ms.] Request[id=(null) providerId=71546261 portletId=(null) portletName=(null) portletInstance=(null) user=PORTAL] Thread[ name=AJPRequestHandler-ApplicationServerThread-48 priority=5 alive=true interrupted=false groupName=main]
    The message "ERROR: Request has exceeded its warning timeout" repeats continually and frequently. The problem stops occuring after I restart the OC4J, but it occurs again after some time. Anybody encounter the same and has solution to it?
    Thanks.

    I found that Email portlet create a new SMTP connection to the SMTP server every time initSession is called(constructor of class Smtp). These increasing number of SMTP connection finally hit the limit of the SMTP server, leading to incomplete execution of initSession, which cause the problem.
    (call path: MailProviderInstance.initSession() -> MailAuthenticationModule.authenticate() -> Smtp())
    One thing to notice is that, when I test it no mail is to be sent. There should not be any open SMTP connection. Thus I wonder if it is a mistake in the program code that makes these unnecesssary SMTP connections.
    If so, would there be a new release of email portlet available?

  • How to Write Error messages to application.log file in OAS 10g.

    Hi All i am in urgent need of writing log messages to Oracle Application Server10g application.log file.
    Using JDeveloper 10.1.3.4.0.4270.
    Thanks & Regards,
    Renuka
    Edited by: Renuka on Jan 18, 2013 8:00 AM

    Zariel wrote:Boot from where? If you want the entire boot process you can use debug parameter. BUT I dont know what you will get becauseyour harddrive gets mounted during init, and during init it dumps dmesg to a log file, i guess dmesg gets its logs from minilogd which also gets started during init. The only way of doing it would be to get the kernel to log its output to ram then flush it to disk at the relevant time. Ive no idea if you can do this or not.
    I just boot normally from my hard disk, but all the messages between "INIT version 2.86 booting" and the output from /etc/issue (when login is started), is gone. It's not in /var/log/messages nor do I get it via dmsg.
    All the kernel messages BEFORE "INIT version 2.86 booting" are logged okay.

  • WDA - Contrast Using Message Manager & Application Logs

    Hi there, I'm trying to figure out when it is appropriate to use each.  Thus far, it seems that the conclusion that I am coming upon is that the message manager is used for issuing messages at an application user, whereas the application logs should be used to address issues meant for an administrator of the application - basically someone who may be more technical.  How is this assumption?  Can someone provide me with more inside.  I'd love to understand some real life usages.   I've read documentation after documentation, but in short, it would be great to leverage off of some who have actually used this in practice.
    Thanks in advance.

    Hi Michael
    > Thus far, it seems that the
    > conclusion that I am coming upon is that the message
    > manager is used for issuing messages at an
    > application user, whereas the application logs should
    > be used to address issues meant for an administrator
    > of the application - basically someone who may be
    > more technical.
    As I can see from my point of view the main area of using IWDMessageManager is to indicate to user what is wrong with data he or she is trying to change over UI. For example, to show message "The field XXX must not be empty" or to make another kind of validation of input data on UI level.
    The main purpose of logging is to trace possible Java exceptions, to trace debugging information (with severity DEBUG), to log some critical errors for technical staff or administrators. The information from the logs can be unhelpful for end-user.
    BR
    Sergei

  • Add error message to application log from BADI

    Hi All,
    I am working on a BADI......
    As the txn is already adding its messges in log thru BAL_LOG_CREATE, BAL_LOG_MSG_ADD...etc......
    after that my badi comes into picture.....and it displays the message in POPUP
    Now i want to add my error message form BADI to this already created log .....
    Kindly suggest...
    Note..I tried to use BAL_LOG_MSG_ADD it got add but the display is in full screen...not in POPUP....
    CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'
      EXCEPTIONS
        PROFILE_INCONSISTENT = 1
        INTERNAL_ERROR       = 2
        NO_DATA_AVAILABLE    = 3
        NO_AUTHORITY         = 4
        OTHERS               = 5.
    Thanks
    RK
    Edited by: Rahul Keshav on Sep 8, 2010 12:50 AM
    Edited by: Rahul Keshav on Sep 8, 2010 12:51 AM

    The scenario is.....
    we are in an appraisal form thru txn phap_admin...
    now for goal weightage.....there is a std check ...for entered value.....check value for multiple of 5.....
    if we enter weightage as 4 ...system will make it 5 and a std POPUP  will display stating that the value 4 has been changed....
    this is a std log....
    now i have to implement a badi HRHAP00_VAL_DET......for calculating the total weightage.....
    I have to throw an error if the total weightage is less then 100%....
    i cant use message type 'E'...in Badi...
    so i want to add my error message in the std log...so that both message comes in one log/popup only.....
    If you goto se80...and for function group HRHAP_UI_DOCUMENT....
    you can seen the subroutine...
    form f3100_popup_value_log_create
    here the std messages are adding to the log.....
    simillary i want to add my message too ..inside the badi....in the same log....
    thnx
    RK
    Edited by: Rahul Keshav on Sep 8, 2010 10:20 PM

  • Displaying error messages from application log

    Hi,
    I am using the function module RV_DELIVERY_CREATE for creating delivery in my program. If the sy-subrc is not zero i.e if delivery is not created, i have to display error messages collected inside the application.How can i do this ?
    The object nd subobject are existing in SLG0 but when i
    tried to see the object and subobject in SLG1 transaction , no logs were found.
    Do we need to activate the object and sunobject somewhere before logging can take place??
    I am using the following code in my program to display the logs but it is displaying no logs found: 
    CALL FUNCTION 'APPL_LOG_SET_OBJECT'
          EXPORTING
            object                    = 'ZCH_SCL'
            subobject                 = 'DL'
      LOG_HANDLE                = ' '
      NO_LOG                    = ' '
    EXCEPTIONS
      OBJECT_NOT_FOUND          = 1
      SUBOBJECT_NOT_FOUND       = 2
      OTHERS                    = 3
          IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    CALL FUNCTION 'APPL_LOG_INIT'
    EXPORTING
    OBJECT                    = 'ZCH_SCL'
       SUBOBJECT                 = 'DL'
      LOG_HANDLE                = ' '
    EXCEPTIONS
      OBJECT_NOT_FOUND          = 1
      SUBOBJECT_NOT_FOUND       = 2
      OTHERS                    = 3
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
          PERFORM z_call_rv_delivery_create. " to call fm rv_delivery_create
          IF sy-subrc ne 0.
            CALL FUNCTION 'APPL_LOG_DISPLAY_INTERN'
      EXPORTING
        object                               = 'ZCH_SCL'
       subobject                            = 'DL'
       title_list_screen                    = 'Error Logs'
      COLUMN_SELECTION                     = '11112221122   '
      COLUMN_SELECTION_MSG_JUMP            = '1'
      EXTERNAL_NUMBER_DISPLAY_LENGTH       = 20
      I_S_DISPLAY_PROFILE                  =
    IMPORTING
      NUMBER_OF_PROTOCOLS                  =
    EXCEPTIONS
      OBJECT_NOT_FOUND                     = 1
      SUBOBJECT_NOT_FOUND                  = 2
      OTHERS                               = 3
    thanks,
    vartika

    Hi Vartika,
    you need to save that log after creating and appending to it.
    here is a code to save that log.
    If log created, save to database
      if e_bal_hndl is not initial.
        refresh: bal_hndl.
        append e_bal_hndl to bal_hndl.
        call function 'BAL_DB_SAVE'
          exporting
            i_client         = sy-mandt
           i_in_update_task = 'X'
            i_t_log_handle   = bal_hndl
          importing
            e_new_lognumbers = log_no
          exceptions
            log_not_found    = 1
            save_not_allowed = 2
            numbering_error  = 3
            others           = 4.
    u have to write this code after appending info to Log.
    hope this will help.
    regards,
    vikas

  • Add message to Processing Log for an action

    Hello experts!
    I wanted to know, if it is possible to add a custom message to the Processing Log.
    Background:
    I have an action, which is defined as a method call. In this method, I send a mail to multiple recipients. Now I want to show these recipients in the log.
    Does anybody know how I can solve this problem?
    Greetings,
    littlesam

    CALL FUNCTION 'CRM_MESSAGE_COLLECT'
          EXPORTING
            iv_caller_name = gc_object_name-orderadm_i
            iv_ref_object  = is_orderadm_i_wrk-guid.
      ELSEIF ls_set_maintain-data-zz0010 EQ 'B'.
        MESSAGE ID 'ZMSG_CRM_ORDER' TYPE 'E' NUMBER '012' WITH
          is_orderadm_i_wrk-ordered_prod
          INTO lv_save_message.

  • Custom error message in SAP application log

    Is there a way to add a custom error message to the SAP application log without passing the message variables MSGV1, MSGV2, MSGV3, MSGV4 and the Message class and number. 
    We want to pass a custom message from the BAPIRET2-MESSAGE without giving it a Message class and number.  The reason for this is that  we are using class based exceptions instead of the traditional message class with errors.  When we catch the class based exception, we take the error text of the exception and put in in the BAPIRET2-message and set the BAPIRET2-TYPE as 'E'.  Now we want to add this to the SAP application log.
    The call to 'BAL_LOG_MSG_ADD' takes a structure BAL_S_MSG which is just like BAPIRET2.  However this function builds the entry to the application log use the message variables MSGV1, MSGV2, MSGV3, MSGV4.  There is no provision to pass in the BAPIRET2 message.
    Add message to application log
      CALL FUNCTION 'BAL_LOG_MSG_ADD'
        EXPORTING
         i_log_handle              = app_log_handle
         i_s_msg                   = log_message
    Thanks,
    Jay

    Hi Jay,
    Did you see <b>BAL_LOG_EXCEPTION_ADD</b>?
    This FM is represented by the structure <b>BAL_S_EXC</b>. This can have various versions as described below:
    <b>Data of BAL_S_EXC Structure  /     Use</b>
    <b>EXCEPTION</b>  /                              Exception class from which an exception text 
                                                       is added to the log. This field must be filled.
    <b>MSGTY</b>  /                                     Message type (MSGTY) of a T100 message.
                                                       This field must also be filled for exceptions.
    <b>PROBCLASS,
    DETLEVEL,
    ALSORT, TIME_STMP</b>  /                Message or exception attributes, such as
                                                        problem class (PROBCLASS, for
                                                        example, "very important"), level of detail
                                                        (DETLEVEL, from 1 to 9), sort criterion
                                                        (ALSORT, unrestricted) and timestamp
                                                        (TIME_STMP). These fields can be displayed
                                                        in the log (except TIME_STMP).
    <b>MSG_COUNT</b>   /                            This attribute is not used for exceptions.
    Follow the link below for more details:
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/d6/5d7f38f52f923ae10000009b38f8cf/frameset.htm">SAP Help DOc</a>
    Hope this helps.
    Thanks
    Sanjeev

  • Application Logging in ABAP

    Hello,
         we are trying to use application logging feature provided with ABAP by way of function modules BAL_LOG_ADD/SAVE etc. the results of these are visible in trasnaction SLG1.
        In our scenario, we want to keep track of different abnormal situations which a background Job of a user with dialogue operation faces. So these situations could be part of a successful or un-successful transactions i.e. there could be and overall COMMIT or ROLLBACK for each transactions for which the log operations have been carried out.
        Now the problem is that , the Logs are not getting saved for unsuccessful transactions i.e. where there is no COMMIT.
         I need your help to get over this situation so that I able to save the Logs (in standard Log objects which are visiible in  SLG1) even if the business transaction is not committed.
    regards
    Sushil

    How come code always looke like this? I cut and pasted it right in my replay. Highlighted it, and selected "code"?
    Oh well, here is the FM I call I tried several times to get it to display properly.
    FUNCTION ziu_message_logging.
    *"*"Local interface:
    *"  IMPORTING
    *"     REFERENCE(I_LOG_OBJECT) TYPE  BALOBJ_D
    *"     REFERENCE(I_EXTNUMBER) TYPE  STRING
    *"  TABLES
    *"      T_LOG_MESSAGE STRUCTURE  ZZLOG_MESSAGE
    *"  EXCEPTIONS
    *"      LOG_HEADER_INCONSISTENT
    *"      LOGGING_ERROR
      CONSTANTS: c_message TYPE syst-msgid VALUE 'ZMESSAGE',
                 c_999 TYPE syst-msgno VALUE '999'.
      DATA:
      l_log_handle TYPE balloghndl,
      l_s_log TYPE bal_s_log,
      l_dummy TYPE string,
      l_ext_no TYPE bal_s_log-extnumber,
      l_s_mdef TYPE bal_s_mdef.
    *  IF t_log_message[] IS NOT INITIAL.
        l_s_log-object = i_log_object.
        l_ext_no = i_extnumber.
        l_s_log-extnumber = l_ext_no.
    * Create the log with header data
        CALL FUNCTION 'BAL_LOG_CREATE'
             EXPORTING
                  i_s_log                 = l_s_log
             IMPORTING
                  e_log_handle            = l_log_handle
             EXCEPTIONS
                  log_header_inconsistent = 1
                  OTHERS                  = 2.
        IF sy-subrc <> 0.
          CASE sy-subrc.
            WHEN 1.
              RAISE log_header_inconsistent.
            WHEN OTHERS.
              RAISE logging_error.
          ENDCASE.
        ENDIF.
        l_s_mdef-log_handle = l_log_handle.
    * Set the default value
        CALL FUNCTION 'BAL_GLB_MSG_DEFAULTS_SET'
             EXPORTING
                  i_s_msg_defaults = l_s_mdef
             EXCEPTIONS
                  others = 0.
    * Loop the message table and write the messages into the log
        LOOP AT t_log_message.
    * Use the message type ZMESSAGE and msg no 999
    * Issue the message in a dummy variable
          MESSAGE ID c_message TYPE t_log_message-msgty NUMBER c_999
          WITH t_log_message-msg_text_1 t_log_message-msg_text_2
          t_log_message-msg_text_3 t_log_message-msg_text_4
          INTO l_dummy.
    * The parameters set by message statement will be used
    * Add the message in the log
          PERFORM msg_add.
        ENDLOOP.
    * save logs in the database
        CALL FUNCTION 'BAL_DB_SAVE'
             EXPORTING
                  i_save_all       = 'X'
             EXCEPTIONS
                  log_not_found    = 1
                  save_not_allowed = 2
                  numbering_error  = 3
                  OTHERS           = 4.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    *  ENDIF.
    endfunction.
    * FORM MSG_ADD
    * Add the message to the log
    FORM msg_add.
      DATA:
      l_s_msg TYPE bal_s_msg.
    * define data of message for Application Log
      l_s_msg-msgty = sy-msgty.
      l_s_msg-msgid = sy-msgid.
      l_s_msg-msgno = sy-msgno.
      l_s_msg-msgv1 = sy-msgv1.
      l_s_msg-msgv2 = sy-msgv2.
      l_s_msg-msgv3 = sy-msgv3.
      l_s_msg-msgv4 = sy-msgv4.
    * add this message to log file
    * (I_LOG_HANDLE is not specified, we want to add to the default log.
    * If it does not exist we do not care =>EXCEPTIONS log_not_found = 0)
      CALL FUNCTION 'BAL_LOG_MSG_ADD'
      EXPORTING
    * I_LOG_HANDLE =
      i_s_msg = l_s_msg
      EXCEPTIONS
      log_not_found = 0
      OTHERS = 1.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.
    Edited by: Tom Matys on Mar 9, 2010 1:15 PM

  • Creating Application Log

    HI SAP Gurus,
    Please let me know the purpose of application log and the creation of it.
    I am strugling with one standard report which have a BADI to it. 
    It is equipement status report(IW38).
    In the production we find some equipments which are not serviceable even all the orders are done.
    I need to find the reason for that.  So, i was sugested to create application logs. But i dont know about it.  Please let me know.
    Will be rewarded with points.
    Regards,
    Kishore

    Hi
    Look at the Tcode <b>SLG1</b> which gives the application log
    You have to create a Object, Subobject for your application to see your own tcode log
    and you can use the following fun modules in your code as per the requirement
    SBAL                           Application Log: Collect Messages                             
    BAL_GLB_SEARCH_LOG             Application Log: Global: Find log(s) (in memory)              
    BAL_GLB_SEARCH_MSG             Application Log: Global: Find message(s) (in memory)          
    BAL_LOG_CREATE                 Application Log: Log: Create with Header Data                 
    BAL_LOG_EXCEPTION_ADD          Application Log: Log: Add Exception                           
    BAL_LOG_EXCEPTION_CHANGE       Application Log: Log: Exception: Change                       
    BAL_LOG_EXCEPTION_DELETE       Application Log: Log: Delete Exception                        
    BAL_LOG_EXCEPTION_READ         Application Log: Log: Exception: Read Data and Texts          
    BAL_LOG_EXC_ADD                Application Log: Log: Exception: Add                          
    BAL_LOG_HDR_CHANGE             Application Log: Log: Header data: Change                     
    BAL_LOG_HDR_READ               Application Log: Log: Header Data: Read Data and Texts        
    BAL_LOG_MSG_ADD                Application Log: Log: Message: Add                            
    BAL_LOG_MSG_ADD_FREE_TEXT      Application Log: Log: Message: Insert as free text            
    BAL_LOG_MSG_CHANGE             Application Log: Log: Message: Change                         
    BAL_LOG_MSG_CUMULATE           Application Log: Log: Message: Add Cumulatively               
    BAL_LOG_MSG_DELETE             Application Log: Log: Message: Delete                         
    BAL_LOG_MSG_DELETE_ALL         Application Log: Log: Message: Delete All Messages            
    BAL_LOG_MSG_READ               Application Log: Log: Message: Read data and texts            
    BAL_LOG_REFRESH                Application Log: Log: Delete log from memory                                                                               
    SBAL_DB                        Application Log: Database Interface                         
    BAL_ARCHIVE_LOAD               Application Log: Archive: Load Logs                         
    BAL_ARCHIVE_SEARCH                                                                         
    BAL_DB_DELETE                  Application Log: Database: Delete Logs from Database        
    BAL_DB_LOAD                    Application Log: Database: Load Logs                        
    BAL_DB_SAVE                    Application Log: Database: Save logs                        
    BAL_DB_SEARCH                  Application Log: Database: Find Logs         
    Regards
    Anji

  • Domain user no longer exists but getting errors in application log

    Hi,
    We had a domin user with which SQL service and SQL agent is configured to start. But this account does not have access to that server in which SQL is installed now. I can see the follwing message in application log:
    Log Name:      Application
    Source:        MSSQLSERVER
    Date:          3/10/2014 2:00:00 PM
    Event ID:      18456
    Task Category: Logon
    Level:         Information
    Keywords:      Classic,Audit Failure
    User:          Domain \username
    Computer:      XXXX
    Description:
    Login failed for user 'Domain \username'. Reason: Failed to open the explicitly specified database. [CLIENT: <local machine>]
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="MSSQLSERVER" />
        <EventID Qualifiers="49152">18456</EventID>
        <Level>0</Level>
        <Task>4</Task>
        <Keywords>0x90000000000000</Keywords>
        <TimeCreated SystemTime="2014-10-03T04:00:00.000000000Z" />
        <EventRecordID>20420597</EventRecordID>
        <Channel>Application</Channel>
        <Computer>XXXXXXX</Computer>
        <Security UserID="S-1-5-21-2091904384-3689332406-323980668-6522" />
      </System>
      <EventData>
        <Data>domain\usernamer</Data>
        <Data> Reason: Failed to open the explicitly specified database.</Data>
        <Data> [CLIENT: &lt;local machine&gt;]</Data>
        <Binary>184800000E000000100000004100550030003400550041005000300036003800510041004E00380032000000070000006D00610073007400650072000000</Binary>
      </EventData>
    </Event>
    How come this message is coming in the application log, since no one has tried to log in to the application?

    Hi Both are 2008R2 version. My doubt is I can see that login failed message in application log but how to find out which process is trying to use that login?
    First observe that this is something that runs on the same machine as SQL Server. (The error message says "CLIENT: <local machine>".) That may be a clue enough.
    If not, set up a includes Audit: Login Failed and no other event. Of interest are the columns ApplicationNmae and the the column ClientProcessID. ApplicationName may be sufficient, but if not you can use ClientProcessID and match this against the PIDs you
    see in Task Manager or Process Explorer. There is a risk it is a short-lived process and then you will have to look at Process Explorer and Profiler in parallel.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • OC4J Logging into Application.log

    Hi someone,
    i try to log into the Application.log configure in the orion-application.xml.
    how can do this in Java?
    Thanks to all for help
    Matthias

    After 10 Hours i find the solution ;-(
    The Application.log can be write with this code:
    FacesContext fc = FacesContext.getCurrentInstance();
    ServletContext sc = (ServletContext) fc.getExternalContext().getContext();
    sc.log("My log message for Application.log");
    very simple but not find in the OC4J Doc's

Maybe you are looking for

  • Tar problem - Not sure where to ask

    This is my post in this forum & I'm not sure where to post this. I have just installed Arch in my office system 2 days ago. I was extracting tomcat 5.0.28 official tar.gz in my arch system and it gave this error: tar: A lone zero block at 82109 The t

  • Safari 3.1.1 hesitates when loading webpage

    I have a G4/667 (circa 2001) running OS X 10.4.1 I noticed that Safari 3.1.1 hesitates noticeably when loading a webpage. The blue progress bar freezes at the beginning, & SLOWLY progresses. (it's really maddening & gets on my nerves) I tested the we

  • LOAD BALANCER

    How to find the port & host  used for load balancer in Dual stack systems. ABAP & Java.

  • How can we call actionscript functions from js

    hi how can we call Action script function from js file . i tried ExternalInterface. add Callback() .but it throws an error .is there any other chance to call action script method .thnx in advance

  • ClassCastException with arrays

    I have a class with a type parameter and an inner class. The inner class uses the type parameter, but is not itself parametized. The following compiles but gives a ClassCastException when MyClass's constructor executes. How do I avoid this error? Tha