Call MESSAGE dynamically

Hi all,
How can I call a message dynamically?
For e.g.: MESSAGE E011(00)
Where
00 --> Message ID (class) - get at runtime
011 --> Message number -  get at runtime
Thanks,
Khanh
Edited by: Khanh Nguyen on Mar 26, 2010 6:43 PM

You always see this in the SY-SUBRC NE 0 statement of a function module but never thought about it
DATA: v_id  TYPE sy-msgid VALUE 'Z_MSG',
      v_mtype TYPE sy-msgty VALUE 'I',
      v_num  TYPE sy-msgno VALUE '014'.
MESSAGE ID v_id TYPE v_mtype NUMBER v_num.

Similar Messages

  • HR_INFOTYPE_OPERATION not working when called from Dynamic action

    Hi ,
           Senario  : I would like to execute a form from dynamic action which
    creates a record in 0015 (Additional payment IT) .
           I have writen the code as shown below am using FM HR_INFOTYPE_OPERATION
    . When i execute the program from se38 it is creating a record, however it is
    not created when it is called from dynamic action..when i debugged the code in
    inside the FM HR_INFOTYPE_OPERATION there is a FM HR_MAINTAIN_MASTERDATA where
    they are using call dialog (statement) and
    sy-oncom = 'N'   when called from Dynamic action and
    sy-oncom = 'S'   when called executed directly.
    I tried to change the sy-oncom to S while run from Dynamic action it created
    the record.
    So Can anyone explain me abt sy-oncom and how can i resolve the issue..
    code..
    REPORT ZHRPYENH01 .
    perFORM TERMIATION_9000.
    INCLUDE DBPNPMAC.
          FORM Termiation_9000                                          *
    FORM TERMIATION_9000.
    INFOTYPES : 0015.
    *data : i .
    *i ='c'.
    *break-point.
    *message i000(000) with i.
      TABLES : PRELP.
      DATA : P9000 TYPE PA9000." with header line.
      DATA : P0000 TYPE STANDARD TABLE OF  P0000 WITH HEADER LINE.
    DATA : P0015 TYPE STANDARD TABLE OF  P0015 WITH HEADER LINE.
      DATA : HIRE_DATE  LIKE SY-DATUM,
             TERM_DATE  LIKE SY-DATUM.
      DATA : MOLGA LIKE T500L-MOLGA VALUE '25',
             SEQNR LIKE PC261-SEQNR.
      DATA : RGDIR TYPE STANDARD TABLE OF PC261 WITH HEADER LINE.
      DATA : ACTUAL_PERIOD LIKE PA9000-RETENTION.
      DATA : PNP-SW-FOUND TYPE SY-SUBRC ,
             PNP-SY-TABIX TYPE SY-TABIX.
      DATA : TER_PERNR LIKE PA0001-PERNR.
      DATA : REF_PERNR LIKE PA0001-PERNR.
      data : key type BAPIPAKEY.
      data : payed_amount type p0015-BETRG.
    data : future_payment_amount type p0015-BETRG.
    data : p0002 like pa0002.
      types : begin of t_deduction ,
              deducation_date like p0015-begda,
              future_payment_amount type p0015-BETRG.
      types : end of t_deduction.
    data :  future_deduction type standard table of t_deduction with
    *header line.
      data :  future_deduction type  t_deduction .
    data : RETURN type  BAPIRETURN1.
    *data : deduction_p0015 like standard table of p0015 with header line.
    data : deduction_p0015 like p0015 .
    xxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxx
    ****Prepare 0015 data for deduction
    *deduction for payed amount
    clear deduction_p0015.
    *refresh deduction_p0015.
    deduction_p0015-pernr = REF_PERNR.
    *deduction_p0015-pernr = TER_PERNR.
    deduction_p0015-lgart = 'M120'.
    deduction_p0015-begda = sy-datum + 1 .
    deduction_p0015-endda = sy-datum + 1 .
    deduction_p0015-BETRG = payed_amount.
    deduction_p0015-WAERS = 'SGD'.
    deduction_p0015-ZUORD =  TER_PERNR.
    *append deduction_p0015.
    **deduction for future payment amount
    *loop at future_deduction.
    *clear deduction_p0015.
    *deduction_p0015-pernr = REF_PERNR.
    **deduction_p0015-pernr = TER_PERNR.
    *deduction_p0015-lgart = 'M120'.
    *deduction_p0015-begda = FUTURE_DEDUCTION-DEDUCATION_DATE.
    *deduction_p0015-endda = FUTURE_DEDUCTION-DEDUCATION_DATE.
    *deduction_p0015-BETRG = future_deduction-future_payment_amount.
    *deduction_p0015-WAERS = 'SGD'.
    *deduction_p0015-ZUORD =  TER_PERNR.
    *append deduction_p0015.
    *endloop.
    Create a deduction wage type in 0015 for the employee
    break-point.
    CLEAR RETURN.
    CALL FUNCTION 'BAPI_EMPLOYEET_ENQUEUE'
      EXPORTING
        NUMBER              = REF_PERNR
        VALIDITYBEGIN       = '18000101'
    IMPORTING
       RETURN              = return
    if not return is initial.
    message E000(000) with
    'Referred Employee could not be locked for referal  payment deducation,
    please try after some time'.
    endif.
    CALL FUNCTION 'HR_INFOTYPE_OPERATION'
      EXPORTING
        INFTY                  = '0015'
        NUMBER                 = REF_PERNR
       SUBTYPE                = 'M120'
      OBJECTID               =
      LOCKINDICATOR          =
       VALIDITYEND            = SY-DATUM
       VALIDITYBEGIN          = SY-DATUM
      RECORDNUMBER           =
        RECORD                 = deduction_p0015
        OPERATION              = 'COPY'
      TCLAS                  = 'A'
       DIALOG_MODE            = '2'
      NOCOMMIT               =
      VIEW_IDENTIFIER        =
      SECONDARY_RECORD       =
    IMPORTING
       RETURN                 = return
       KEY                    = key
    break-point.
    COMMIT WORK.
    if not return is initial.
    *return-TYPE
    *ID
    *NUMBER
    *MESSAGE
    message I000(000) with return-MESSAGE.
    endif.
    CALL FUNCTION 'BAPI_EMPLOYEET_DEQUEUE'
      EXPORTING
        NUMBER              = REF_PERNR
        VALIDITYBEGIN       = '18000101'
    IMPORTING
       RETURN              = return
    xxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxx
    Thanks and regards
    -Senthil Bala
    Message was edited by: senthil bala

    Hi Senthil
    Why at all U want a subroutine to create a record in IT0015 through Dynamic action.There are some standard codes available to update infotypes.
    Let me give U an example
    14     9CON     BETRG     4     2     I     INS,0015 This will create a record in IT0015 when IT0014 is updated with Wagetype 9CON
    14     9CON     BETRG     4     3     W     P0015-LGART='5400' Set wagetype for IT0015(Here U can use a subroutine call to set the wagetype)
    14     9CON     BETRG     4     4     W     P0015-BETRG=P0014-BETRG set amount for IT0015(Here U can use a subroutine call to get the amount)
    14     9CON     BETRG     4     5     W     P0015-BEGDA=P0014-ENDDA set the dates(Here U can use a subroutine call to set the dates)
    Hope this will help U.
    Please award points if helpful

  • Problem with a Link calling a dynamic page

    Hi!
    I wanted to create a link calling to a dynamic page. This dynamic page displays a PDF depending on the parameter, the thing here is that I don't know how to set the bind variables or more likely how to say that the value of those variables is going to come from the link in which the dynamic page it's been called.
    I have my PL/SQL code where I have this bind variables
    id_dep
    id_tipo
    and I went to the Customization Form Display Options button and there i made them public.
    now on a page i created a link with the following structure, in order to call the dynamic page and send the parameters.
    http://your.portal.com/portal/pls/portal/SCHEMA.DYN_YOUR_DYN_PAGE_NAME.show?p_arg_names=YOUR_PARAMETER_NAME&p_arg_values=YOUR_PARAMETER_VALUEso my links looks like this one:
    http://desarrollo06:7778/pls/portal/TRANSPARENCIA.NOSEQUE.show?p_arg_names=idDep&p_arg_values=11&p_arg_names=idTipo&p_arg_values=25so I was told that I had to check that the parameters bindings are present or set, but I don't know how to do that... 'cause I thought I already did...
    can youi help me?
    thanks In Advance
    aTTe
    Blume

    Hi AMN,
    well what I meant was that, see in the manage page for the Dyn Page there are some options bellow, in the one that sais Customize you can test the page, and I put there the values for id_dep and id_tipo as *11* and *25* then run the page and it opens the PDF but when I click on the link you suggested
    http://desarrollo06:7778/portal/pls/portal/TRANSPARENCIA.NOSEQUE.show?p_arg_names=idDep&p_arg_values=*11*&p_arg_names=idTipo&p_arg_values=*25*
    u_u but it doesn't open the PDF.
    ...The code I put in my last post is the code for my dyn page, and there's an if where if it doesn't find a file to deploy it show a message that sais "No hay Datos o No Aplica", so when I clic on the link it takes me to the dyn page but shows the message for no data found...
    so I don't know what's going on.... if supposedly the dyn page is receiving the same values in different way, why it doesn't work with the link? -_-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • OSB Dynamic service call or dynamic route and transactions

    Hello,
    I've got the following problem in my OSB architecture for asynchronous incomming services.
    OSB version is 10.3.1
    ConnectionFactory is XA
    Problem domain:
    Dynamic service call or dynamic route within transaction boundary
    Elements within transaction:
    1.     JMS Queue ->
    2.     Upper Proxy Service (De-queue) ->
    3.     Lower Proxy Service (Canonical Service) ->
    4.     Business Service (Data Service) ->
    5.     Database Adapter->
    6.     Database
    Dynamic element
    Upper Proxy Service (De-Queue) must be able to determine which Lower Proxy Service (Canonical Service) has to be called on the basis of the message taken from the JMS Queue without losing the transaction (this doesn’t work yet).
    Already tried possible solutions:
    •     Make a service call dynamic by setting the $inbound name attribute. This results in a this property is read-only error.
    •     Use a Dynamic route instead of a service-call. This results in a loss of transaction. The message is deleted from the Queue without taking failure or success into account.
    •     Use a Dynamic route with a quality of service set to exactly once in the header. This seems to be ignored, results in a loss of transaction.
    •     Use a Dynamic route with an explicit reply with failure for errors. Results in a loss of transaction.
    •     Use a Dynamic Publish. This doesn’t fit the required flow because it has no response.
    I hope someone can shed some light on this because I'm at a total loss. I found some references in the forum to what seems to be the same problem but without definite answers. A work-around is also a viable answer.
    Regards,
    Bas Mul

    Hi,
    I'll try to clarify.
    Upper proxy dequeues a message.
    Depending on a value of a specific tag within the message a canonical proxy service (out of 5 at the moment but this numer could increase) has to be called (and be dynamic transform transformed to the format of the specific canonical).
    The canonical service must then pass the message to a database adaper's business service which is responsible for the database insert/update/read.
    If something in the chain from dequeue to database action goes wrong the message may not dissapear from the queue.
    Somehow a dynamic route in the message flow between dequeue proxy and canonical proxy breaks the transaction.
    Bas

  • How can Get SAP SYSTEM MESSAGES Dynamically

    i developed a report program and from that call one bdc program and pass the data to that. I can get bdc messages but how can i get SAP SYSTEM MESSAGES dynamically if possible how to store it.
    thanks in advance,
    your reply will get good points.
    From Maran,India.

    Hi Maran,
    You can use the followin code after call transaction;
    Make sure that u add the message option during call transaction
    DATA: i_messtab TYPE TABLE OF BDCMSGCOLL.
    CALL TRANSACTION p_tcode USING p_bdcdata
                     OPTIONS FROM l_params
                     MESSAGES INTO i_messtab.
        LOOP AT i_messtab INTO wa_messtab.
          CALL FUNCTION 'FORMAT_MESSAGE'
           EXPORTING
             id              = wa_messtab-msgid
             lang            = sy-langu
             no              = wa_messtab-msgnr
             v1              = wa_messtab-msgv1
             v2              = wa_messtab-msgv2
             v3              = wa_messtab-msgv3
             v4              = wa_messtab-msgv4
           IMPORTING
             msg             = l_message
          EXCEPTIONS
            not_found       = 1
            OTHERS          = 2
          IF sy-subrc <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    Regards,
    Saji.
    Message was edited by: Sajith Hari

  • Calls, Messages, Facetime going to wrong Iphone?

    Me and my mum both have an Iphone 4. Recently she has been recieving my calls, messages and facetimes? Any Ideas?
    I have recently just downloaded IOS 7 but it seems to be working fine.

    Settings>iMessage>uncheck your phoen number and email from her iphone

  • SFTP adapter error : Catching exception calling messaging system

    Error: com.aedaptive.sftp.adapter.SFTPException : Not all messages were delivered succesfully
      Could not deliver message to XI: com.sap.aii.af.lib.mp.module.ModuleException: senderChannel 'ca09269447583427adc545f8c23d244b': Catching exception calling messaging system
    This is error message which i get in sender communication channel while working  with SFTP adapter.

    Hi Pooja,
    I think it would be better to add getcause() to get the cause of the issue.
    Ref: http://help.sap.com/javadocs/pi/SP3/xpi/com/sap/aii/af/lib/mp/module/ModuleException.html
    Thanks,

  • How to add SYS ID to Alert message dynamically in BPM

    Hi,
        I am adding alert message dynamically in the BPM for ALM. When we get email alerts, we couldn't distinguish whether this alert is coming from DEV, QAS or PRD system. To resolve this issue I am thinking to add system ID to the alert message user knows from which systems message is coming from. I need to know is there any standard variable where we get system id from BPM so that I can add it to alert message. Otherwise let me know what the best approach is?.
    Your inputs are highly appreciated.
    Thanks,
    Venkat.

    Hello Venkat,
    Check out this Michals blog on using system variables...
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    Hope this will help.
    Nilesh

  • Problem with calling message in EXIT_SAPML03T_001

    Hi
    I need call message id 'zwm' type 'W' number 018 in exit EXIT_SAPML03T_001.
    Class exists, message too.
    But when I double click on message (018) information occurs that message doesn't exist.
    What should I do please help.
    Best regards,
    Greg.

    Hi,
    declare a constant and give value which u r maintaining in SE91,message class.zwm..and now instaed of goving the message from message class..try to give with constant./
    message w001 with c_message..
    Try it out if it works
    Regards,
    Nagaraj

  • CRM5.2 UI-Call a dynamic URL on button click

    Hi all, 
               My requirement is to call a dynamic url on the click of a button in the overview page. I have added a custom button in  the method  IF_BSP_WD_TOOLBAR_CALLBACK~GET_BUTTONS , and the related code in do_handle_event.I have created a custom method for the button event. I have enhanced a custom controller and created an attribute.In the custom method created for the button event, I have written the code for retrieving the parameters to be passed to the url.
    In the layout of the view associated with the display view , I have written the following code for calling the URL in a new window.
    <%
    DATA: lr_cuco_EMA TYPE REF TO ZL_BP_CONT_BPCONT_IMPL,
          lv_url TYPE string,
          lv_url1 type string,
          lv_count type i.
      lr_cuco_EMA ?= controller->get_custom_controller( 'ZBP_CONT/BPCONT' ).
      check lr_cuco_EMA is bound.
      if lr_cuco_EMA->gv_VALUE is not initial.
      if lr_cuco_EMA->gv_COUNT IS NOT INITIAL.
      clear lr_cuco_EMA->gv_COUNT.
      endif.
      LV_URL = lr_cuco_EMA->gv_VALUE.
      Concatenate 'http:/' LV_URL  into LV_URL1.
      Concatenate '"http:/' LV_URL '"' into LV_URL.
        lv_count = lr_cuco_EMA->gv_COUNT mod '2'.
        if lv_count Ne 0.
      lv_url = lv_url1.
    endif.
      %>
         <scrpt language="Javascript">
            window.open(<%= lv_url%>).focus();
          </script>
       <%
             lr_cuco_EMA->gv_COUNT = lr_cuco_EMA->gv_COUNT + 1.
             clear lr_cuco_EMA->gv_value.
             clear lv_count.
             clear lv_url.
             clear lv_url1.
             ENDIF.
    %>
    But here my URl is getting called alternate times.If I do not write the code  by using the variable GV_COUNT the url is getting called only the first time of the button click  and to call the URL again you need to navigate back to the search page and again back to the overview page and click on the button.
    Can anyone help me regarding this? I want the URL to be called in a new page on every button click.
    Thanks in Advance,
    Chandana

    Hi Nisha,
    The crux of your issue here is that you want to call the event triggered with onClick before calling the event triggered on onClientClick. This can be achieved by the following code in the function called on the onClientClick.
    function fn_button()
               htmlbSL(this,2,'b_row_selection:onInputProcessing()');
               window.open("new_page",target="BLANK");
    Here, fn_button is the javascript function called on button click, and b_row_selection is the event triggered on the onClick event of row selection.
    Try this out and let us know if it works for you.
    Regards,
    Saurabh

  • HT1688 Hello, my iphone 4s has  aproblem with the sound. The speaker rings for incoming calls/messages etc. However for non of the apps the speaker sound works anymore. volumebuttons also dont show the volume bar. Anyone has any ideas

    Hello, can anyone help Me? I have a problem with the external speaker of my iphone 4s. It works when i get calls, messages etc but nit for any app. The headphone does still work. The volumebuttons also do not show the regular volume bar. Any ideas please?

    Clean the iPhone charging port with a clean dry toothbrush. Dust or debris is causing iPhone to believe it is in Dock station.

  • Call Type node not setting Call Type Dynamically By name.

    I'm attempting to use the Call Type node to set a Call Type dynamically by name using the following logic:
    concatenate("somestring_",userParseFromVXML("CT"),"_Q")
    The userParseFromVXML is a custom function that works correctly and pulls my data out of FromExtVXML correctly.  If I use a peripheral variable and use the same logic then set the Call Type node to set the call type dynamically by name using the peripheral variable it sets the call type correctly without any problems.  I'm using UCCE 9.0.3 and I'm wondering if anyone else has run across this issue.

    I wish I'd known about the table function before myself.
    This is what my experience is now after having tested these scenarios.
    Scenario
    Example
    PASS/FAIL
    String literal
    concatenate("somestring_", "test", "_Q")
    PASS
    Peripheral Variable
    concatenate("somestring_", Call.PeripheralVariable1, "_Q")
    PASS
    Custom Function
    concatenate("somestring_", userParseFromVXML("CT"), "_Q")
    Passing now (not sure what i must have been missing)
    The custom function I'm using returns a string and when I created a new custom function returning a String literal it worked just fine.  After doing my testing and swapping back to my original custom function I started seeing the call tagged with the correct Call Type, so I can only assume that I was missing something in the original concatenate string.  The custom function I am using is as follows:
    if((find(%1%,Call.user.microapp.FromExtVXML[0]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[0])),if((find(%1%,Call.user.microapp.FromExtVXML[1]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[1])),if((find(%1%,Call.user.microapp.FromExtVXML[2]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[2])),if((find(%1%,Call.user.microapp.FromExtVXML[3]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[3])),"Not Found"))))

  • Nokia 301 Feature Request: Missed calls/messages n...

    Hi,
    I just bought a Nokia 301 dual sim phone. I'm satisfied with it except one thing - IT DOESN"T HAVE MISSED CALLS/MESSAGES NOTIFICATION. How come such important and basic function not implemented? No one will check his phone regularly and there is no way to know wether I have missed calls or messages. It should keep making a beep until I read it. I believe this function could be implemented easily in software, even by polling the status at a constant interval or setting up a counter which issues interrupts. Any Nokia staff can answer this questtion?
    Thanks.
    Leonard

    This is a feature which the majority of phone users do not want, and that's why Nokia phones have not done it since the early 2000s when Nokia phones used to beep the morse code for SMS.
    There are two primary reasons why a person might not read a message at the time it comes in:
    He didn't hear it, maybe he was in a noisy place and didn't hear or maybe the phone is in a different room.
    He heard it but was prevented from reacting by other circumstances.
    If you are away from your phone, there are visual cues when you get back to it that a message has come in. If you are walking down a busy street with your phone in your pocket, there is also in the vast majority of phones a vibrate option to give an alternative kind of notification. If you are driving a car responsibly on a journey of some length, it would becoming annoying after a while if your phone was beeping in your briefcase in the back of the car, or if you leave your phone on your desk at the office whilst you are elsewhere, the repeated beeping could be just as annoying to other people.
    If this or any post answers your question, please remember to help others by pressing the 'Accept as solution' button.

  • HR_INFOTYPE_OPERATION called inside Dynamic action

    I am writing a subroutine called by dynamic action.
    Where using FM 'HR_INFOTYPE_OPERATION' i have to delimit or delete the records of infotype 0167.
    Although, HR_INFOTYPE_OPERATION, is executing with return is 0. but there is no change in the infotype reocrd.
    The same code written independent without called from Dynamic action, infotype record is been updated.
    Any help would be highly appriciated.
    Regards
    Manvir

    Also look at thread !!
    Re: Strange behavior of  FM u0093HR_MAINTAIN_MASTERDATA u0093
    and
    Re: Why does the NOCOMMIT parameter not work in HR_INFOTYPE_OPERATION?
    I’d recommend you to write BDC program . This FM is behaving in a weird way!!!
    <b>I used it only for 'INS' ...</b>
    Hope this’ll give you idea!!
    <b>P.S award the points.</b>
    Good luck
    Thanks
    Saquib Khan
    "Some are wise and some are otherwise"

  • Call a dynamic action automatically on a regular basis

    Hi,
    We have a classic report on a page which we would like to refresh automaticallly every X minutes. We have done this using setInterval and $a_report however as I understand, this is unsupported functionality... So I would like to go down the dynamic action route.
    But my question is this... how can I call the dynamic action automatically say every 3 minutes, without any user interaction?

    Hi John,
    maybe it's easier for you to get the approval because it's a plug-in we (Oracle) provide.
    You mentioned that you already had a setInterval with $a_report solution in place. Instead of the unsupported $a_report you can use the supported
    jQuery( "#static_id_of_your_report_region" ).trigger ( "apexrefresh" );to trigger a refresh of your report region. That will be identical to the "Refresh" dynamic action. But I would still suggest to go with the "Timer" dynamic action plug-in, because this will be more transparent for other developers when looking at your page.
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX Plug-Ins: http://apex.oracle.com/plugins
    Twitter: http://www.twitter.com/patrickwolf

Maybe you are looking for