Returning System Messages From A Called Routine In Dynamic Actions

I am triggering a call to a custom ABAP program from a Dynamic Action.  This program is doing updates and the user was asking me if I could return any system messages back so that the person doing the action would see them.   I've done some looking and can't seem to find an answer so I've come to the experts.  Any help is appreciated.

Problem solved.

Similar Messages

  • Is it posible to return warning message from HOST concurrent Program

    Is it posible to return warning message from HOST concurrent Program?
    Exit 0 -> successful
    Exit >1 is an error
    is there anyway to send the warning status through Host cooncurrent program ?
    Thanks
    Sachin

    I do not have access to a test instance to try this, but I believe "exit 2" will make the host concurrent program complete with a warning status. Can you pl try this and post your results here ? :-)
    HTH
    Srini

  • Returning multiple values from a called tabular form(performance issue)

    I hope someone can help with this.
    I have a form that calls another form to display a multiple column tabular list of values(needs to allow for user sorting so could not use a LOV).
    The user selects one or more records from the list by using check boxes. In order to detect the records selected I loop through the block looking for boxes checked off and return those records to the calling form via a PL/SQL table.
    The form displaying the tabular list loads quickly(about 5000 records in the base table). However when I select one or more values from the table and return back to the calling form, it takes a while(about 3-4 minutes) to return to the called form with the selected values.
    I guess it is going through the block(all 5000 records) looking for boxes checked off and that is what is causing the noticeable pause.
    Is this normal given the data volumes I have or are there any other perhaps better techniques or tricks I could use to improve performance. I am using Forms6i.
    Sorry for being so long-winded and thanks in advance for any help.

    Try writing to your PL/SQL table when the user selects (or remove when deselect) by usuing a when-checkbox-changed trigger. This will eliminate the need for you top loop through a block with 5000 records and should improve your performance.
    I am not aware of any performance issues with PL/SQL tables in forms, but if you still have slow performance try using a shared record-group instead. I have used these in the past for exactly the same thing and had no performance problems.
    Hope this helps,
    Candace Stover
    Forms Product Management

  • Supress/Prevent messages from FM call

    Hi all,
    In my program, I have a function module call,
    during an error inside the FM, an Information message pops up.
    I'd like to stop this from happening.
    The FM is not RFC-enabled so I can't use 'IN BACKGROUND TASK'.
    Also, Im not allowed to change the FM
    nor am I allowed to create a copy of the FM (...then change the message).
    How can I prevent messages from showing or popping up?
    Can I use a variation of MESSAGES INTO or something else.
    Is there a way to hardcode setting to run in background?
    Or atleast any ways to suppress/prevent messages from the FM.
    Thanks all!

    when calling the FM adopt your call with following exception:
    error_message = any free number, e.G. 9.
    That will have following effect:
    If the error_message addition is specified after EXCEPTIONS, all MESSAGE statements that are executed during the processing of the function module and do not have the RAISING addition are affected as follows:
    Messages of the type S, I, or W are not sent but are noted in the log background processing.
    Messages of the type E and A trigger the exception error_message and set sy-subrc to n_error. The message class, message type, message number, and the contents of possible placeholders for the MESSAGE statement are in the fields sy-msgid, sy-msgno, sy-msgty, and sy-msgv1, ... , sy-msgv4. With messages of the type A, the ROLLBACK WORK statement is also explicitly executed.
    Messages of the type X are not influenced. As always, they cause program termination with a short dump

  • Info group being not called while using Dynamic Actions

    Hi,
    I am facing a scenario that, while we execute some action from PA40 like termination, then it will call my subroutine for dynamic actions which will be calculating the last day worked and updating the same in Info Type 0041.
    For updating the IT 0041, i am using the function module HR_MAINTAIN_MASTERDATA. and IT0041 is getting updated properly. But now the problem is coming that when the control comes out of subroutine, it is going back to the PA40 Screen and not to the next screen of the Info group.
    What can be the cause for the same.
    RND I have done on my part: I have commented/uncommented the return parametre RP50D-Date1, commented/uncomented the use of function modules to lock and Unlock the pernr.
    Please give ur comments.
    Thanks in Advance.

    Hi Nisha,
    Not sure if I have understood correctly, but if you just wanted to calculate leaving date and write the same date in IT0041 then you don't need a function module:
    1. Create a small program, as follows:
    REPORT  ZHR_PY_R0008                           .
    INCLUDE MPPDAT00.
    TYPE-POOLS HRQTA.
    TABLES: P0000,
            RP50D,
            T001P.
    ROUTINE CALLED BY TABLE T588Z
    FORM CHANGE_DATE.
      RP50D-DATE1 = P0000-BEGDA - 1 .
    ENDFORM.                    " CHANGE_DATE
    This program will give you the last working day written to RP50D-DATE1
    2. Simply enter the following lines into table T588Z:
    0000 04 499*- LEAVING ACTION - Populate Infotypes with leave date -*
    0000 04 500 P T001P-MOLGA='08'
    0000 04 501 P PSPAR-TCLAS='A'
    0000 04 502 P PSPAR-MASSN='*'/X   (* equals your leaving action types)
    0000 04 503 P PSPAR-MASSN='*'/X   (* equals your leaving action types)
    0000 04 504 F CHANGE_DATE(ZHR_PY_R0008)
    0000 04 505 ******** INF.0041  ********
    0000 04 506 I COP,0041,,,(P0000-BEGDA),(P0000-ENDDA)/D
    0000 04 507 W P0041-DAR07='*'   (* equals your date type)
    0000 04 508 W P0041-DAT07=RP50D-DATE1
    or if you are simply looking to delimit IT0041 with the leave date then replace lines 506-508 with:
    0000 04 506 I MOD,0041,,,(RP50D-DATE1),(RP50D-DATE1)/D
    0000 04 507W     P0041-ENDDA=RP50D-DATE1
    This will solve your problem : - )

  • Re: System crashing from JSP call

    Pablo Marco <[email protected]> wrote:
              >> Crashes? Do you mean sigbus or gpf or random exception or security
              >> exception?
              > No, it doesn't throw any exception. It just dies silently.
              This means that System.exit() actually worked ;-)))
              Dimitri
              http://dima.dhs.org
              

    Crashes? Do you mean sigbus or gpf or random exception or security
              exception?
              Why are you calling System.exit(0) from a JSP? (Please say that you are not
              doing that as part of an application.) Are you trying to turn that
              capability off? (Please say yes.)
              I would suggest removing all System.exit(0) calls from your JSPs ;-),
              however I could imagine that you are an ISP and trying to set up a shared
              hosting environment using WebLogic or something like that so you are trying
              to make the environment a little more idiot-proof. Am I close?
              Peace.
              Cameron Purdy
              [email protected]
              http://www.tangosol.com
              WebLogic Consulting Available
              "Pablo Marco" <[email protected]> wrote in message
              news:[email protected]..
              > Has anybody tried calling 'System.exit(0)' from a JSP in WebLogic? Well,
              > it crashes. Is it a bug, a feature, or is my system a bit misconfigured?
              How
              > can I fix it?
              >
              > Bluemark
              > [email protected]
              >
              >
              >
              

  • System crashing from JSP call

    Has anybody tried calling 'System.exit(0)' from a JSP in WebLogic? Well,
              it crashes. Is it a bug, a feature, or is my system a bit misconfigured? How
              can I fix it?
              Bluemark
              [email protected]
              

    Crashes? Do you mean sigbus or gpf or random exception or security
              exception?
              Why are you calling System.exit(0) from a JSP? (Please say that you are not
              doing that as part of an application.) Are you trying to turn that
              capability off? (Please say yes.)
              I would suggest removing all System.exit(0) calls from your JSPs ;-),
              however I could imagine that you are an ISP and trying to set up a shared
              hosting environment using WebLogic or something like that so you are trying
              to make the environment a little more idiot-proof. Am I close?
              Peace.
              Cameron Purdy
              [email protected]
              http://www.tangosol.com
              WebLogic Consulting Available
              "Pablo Marco" <[email protected]> wrote in message
              news:[email protected]..
              > Has anybody tried calling 'System.exit(0)' from a JSP in WebLogic? Well,
              > it crashes. Is it a bug, a feature, or is my system a bit misconfigured?
              How
              > can I fix it?
              >
              > Bluemark
              > [email protected]
              >
              >
              >
              

  • Returning Multiple Rows From DBAdapter Calling PL/SQL Procedure

    Oracle XE 10g Express Edition
    JDeveloper 11.1.1.2.0
    WebLogic Server 11g
    Guys,
    I have a table of orders, which I need to interrogate, and pass back any matching rows which meet certain criteria (e.g. status = 'OPEN').
    However, rather than create a DBAdapter using an Operation Type of "Peform an Operation on a Table/Select", I need to use an Operation Type of "Call a Stored Procedure or Function".
    I therefore need the procedure to return all the matching rows, rather than a single row.
    I have looked at declaring return parameters for the procedure of the following types:
    RECORD - is good because it allows me to return the elements of the row with their correct datatypes, but does not meet my needs because it will only support the return of a single row.
    VARRAY - good because it can contain many row elements, but not good because it only supports a single row return, and also because all elements of the VARRAY must be of the same data type.
    TABLE - good because it can contain many rows, but bad because each row can contain only two elements - the index element and the data element.
    I think I could first define a RECORD (to hold a row), and then define a TABLE, with the data element being the RECORD, but I have found JDeveloper very fussy indeed when dealing with 'non-standard' data types in the DBAdapter.
    Apologies if I am missing something obvious, but can anyone suggest a way of doing this?
    Many thanks in advance.
    Edited by: user2541290 on 17-Feb-2010 02:48

    Hi, I've been able to create process that seems to work. My platform is a but different but I don't think this is important for your question.
    Here is the PL/SQL code. Just make Db Adapter for Calling stored procedure and it returns all rows!
    Be aware of possible limitations on how manyrows you could return in one select! This can have severe impact on performance.
    Succes.
    Jos Baan
    CREATE OR REPLACE PACKAGE lab2_multiple_rows IS
    -- Author : 801455
    -- Created : 18-2-2010 8:05:52
    -- Purpose :
    -- Public type declarations
    TYPE rrows IS RECORD(
    mutdat DATE,
    opmerking VARCHAR2(20));
    TYPE trows IS TABLE OF rrows INDEX BY BINARY_INTEGER;
    -- Public constant declarations
    -- Public variable declarations
    -- Public function and procedure declarations
    FUNCTION retrows RETURN trows;
    END lab2_multiple_rows;
    CREATE OR REPLACE PACKAGE BODY lab2_multiple_rows IS
    -- Private type declarations
    -- Private constant declarations
    -- Private variable declarations
    -- Function and procedure implementations
    FUNCTION retrows RETURN trows IS
    lrows trows;
    lidx binary_integer := 1;
    BEGIN
    FOR rsql IN (SELECT t.* FROM jba_transactions t ORDER BY t.mutdat)
    LOOP
    lrows(lidx).mutdat := rsql.mutdat;
    lrows(lidx).opmerking := rsql.opmerking;
    lidx := lidx + 1;
    END LOOP;
    RETURN(lrows);
    END;
    BEGIN
    -- Initialization
    NULL;
    END lab2_multiple_rows;
    Edited by: Baan, Jos on 18-feb-2010 8:53

  • Returning error messages from media server

    My application requires that I can get detailed feedback from
    the FMS upon a given failure. For instance, if I try to open a
    stream who's file does not exist, is it possible to have a message
    or error code returned to Flash so that I can deal with the problem
    accordingly (in this case display some text that says "stream not
    available or similar)?
    From my experience, the only messages that get returned are
    success or failure messages but nothing specific.

    quote:
    Originally posted by:
    ysv
    For instance, if I try to open a stream who's file does not
    exist, is it possible to have a message or error code returned to
    Flash so that I can deal with the problem accordingly (in this case
    display some text that says "stream not available or similar)?
    Look in the docs under the netStream class, and it's onStatus
    method. If a stream is not found, the onStatus returns
    netStream.play.streamNotFound as the code. You just need to have
    your netStream's onStatus method fire off your events.

  • JCo's StatefulServerExample problem (returning a value from RFC call?)

    Hi,
    I'm using JCo3 and want to run StatefulServerExample sample program. I've created the ABAP-side code according to JCo's docs (2 wrappers and report ZJCO_STATEFUL_COUNTER). I'm connecting to SAP CRM. I've successfully runned all other sample programs.
    I've got a problem with receiving data from the JCo server to CRM report. The error is reported on the SAP's side:
    error:          CALL_FUNCTION_WRONG_VALUE_LENG
    description:    Incorrect field length for 'Remote Function Call'.
    error analysis:
    A data error occured when executing a Remote Function Call
    The length of one of the fields is incorrect.
    Length of source field... 1
    Length of target field .. 4
    Data type of field....... 8
    (Data type 0=C, 1=D, 2=P, 3=T, 4=X, 6=N, 7=F, 8=I)
    error is triggered by the call to 'Z_GET_COUNTER' (see code below).
    There is no problem with preceding calls to JCo server which do not return anything.
    I would appreciate any help with this problem!
    Piotr
    Problematic report code:
    *& Report  ZJCO_STATEFUL_COUNTER
    REPORT  ZJCO_STATEFUL_COUNTER.
    PARAMETER dest TYPE RFCDEST.
    DATA value TYPE I.
    DATA loops TYPE i VALUE 5.
    DO loops TIMES.
      CALL FUNCTION 'Z_INCREMENT_COUNTER' DESTINATION dest.
    ENDDO.
    CALL FUNCTION 'Z_GET_COUNTER' DESTINATION dest
      IMPORTING
        GET_VALUE = value.
    IF value <> loops.
      write: / 'Error expecting ', loops, ', but get ', value,
      ' as counter value'.
    ELSE.
      write: / 'success'.
    ENDIF.

    It seems to me that the ABAP code in the example is wrong - it should be INT1 instead of i:
    DATA value TYPE INT1.
    Now it works.

  • Return Completion Message from DBMS Job

    I have an application that includes a button that creates a dbms job. Is it possible to display a message in the HTML DB application when the job completes on the back-end?
    Currently, if you add a success message to the button, it will come back right away with "Success" since the application successfully submitted the job. I would like for a message to be returned when the job actually completes (whether it be 1 minute or 1 hour from the time it was submitted.)
    Any ideas?

    Is this a one shot job or a recurring job?
    If it is a recurring job, you would probably have to create another job to poll the user_jobs view every so often to determine whether it has run or not. If it is a one shot deal, you would have to store the job number in either an application item or a database table. If you store it in an application item, the user will have to keep the app "open" (assuming it takes an hour) or else it will be cleared from session state.
    Storing the job number in a database table, along with the userid, and then checking to see whether the job exists in user_jobs would probably be the best way. You could create a "success" message on Page 0 and set it only to display when the job doesn't exist. That would allow the user to close the app and come back to it later. Of course you would have to delete the row in the table when it is displayed otherwise it will always be there.
    Anyway, just thinking out loud...
    chet

  • Retrieve WRITE statements of a called report from a caller one: howto?

    Hi experts, need an help for a (imho) quite interesting task. I have a little report that works on a single purchase order and , at the end of the execution, prints on screen a simple message using a WRITE statement. (something like "PO number X processed with/without errors", and eventually other lines showing a specific error).
    Now, I'm just creating a "caller" report that gets po numbers from an input file, and process them one by one; a really simple task, but considering I'd like not to modify the original "called" program, I'm wondering about how to get messages in order to print them on screen at the end of the loop.
    I tried something as follows (note: it_orders is an internal table containing my po numbers):
      LOOP AT it_orders.
        CLEAR listobject. "TYPE TABLE OF ABAPLIST
        SUBMIT MY_CALLED_REPORT
          WITH num_ctr = it_orders-ebeln
          WITH flag = flag
          EXPORTING LIST TO MEMORY AND RETURN.
    * read from memory
        CALL FUNCTION 'LIST_FROM_MEMORY'
         TABLES
           LISTOBJECT = LISTOBJECT
         EXCEPTIONS
           NOT_FOUND  = 1
           OTHERS     = 2.
        LOOP AT LISTOBJECT INTO wa_list.
          APPEND wa_list TO FINALLIST.
        ENDLOOP.
      ENDLOOP.
      FORMAT INTENSIFIED COLOR = 1. "heading
      WRITE: 'RESULTS'.
      SKIP.
    * write to output
      CALL FUNCTION 'WRITE_LIST'
    * EXPORTING
    *   WRITE_ONLY       = 'X'
       TABLES
         LISTOBJECT       = FINALLIST
       EXCEPTIONS
         EMPTY_LIST       = 1
         OTHERS           = 2.
    But... it doesn't work. The above code only shows the message of the first order processed, but I can't understand why. Can somebody give a "clean" way to solve this issue? It would be helpful in many cases similar to the one I'm working on
    Thanks in advance

    Thanks *DP, it almost worked for me. There's a little problem anyway; the first row in the output screen is the one of the last call of the REPORT called by a submit. To show it clearly, here's an example: suppose I've got 4 purchase orders to process, stored in an itab 'po_table': 300000001, 300000002, 300000003 and 300000004.
    Then the output of the trace is the following:
    Cancellazione totale dal DB                                                                       
    PO  3000001145  processed correctly.     
    10.03.2009                                                                               
    PO  3000001143  processed correctly.     
    10.03.2009                                                                               
    PO  3000001144  processed correctly.     
    10.03.2009                                                                               
    PO  3000001145  processed correctly.     
    10.03.2009
    As you can see, the original output of the last call of the 'inner' report is visible on top. How can I suppress the output of the called program in order to avoid this replication? Thanks in advance.
    Nvrmind, my fault. Works correctly now, thanks
    Edited by: Matteo Montalto on Mar 10, 2009 10:01 AM

  • Call a routine in a dynamic action.

    Hi Experts,
    i want to write a routine in which i can give the error msg while saving the infotype 0002 incase the given condition is not fulfilled.
    Can you tell me where i can write this routine and how to call it in a dynamic action.
    i hav written other types of dynamic actions before but never called any routine before
    Plz give me the detailed info regarding writing a routine.
    regards
    TS

    Hello TS,
    You can do that using F in Indicator for step but iam not sure whether it will return an error message. We have user exits for this which might solve your issue. We have userexit PBAS0001 and in this EXIT_SAPFP50M_002 Function module, we need to write the code which ever you want to do.
    For Calling FORM in Dynamic actions.
    P - Check conditions
    I - Maintain infotype record
    W - Set default values when creating a new record
    V - Reference to another step
    F - Call routine
    M - Send mail
    Say you have a program ZTEST. In this you need to write the form that needs to be called in dynamic action and say for ex:form_test.
    You can fill only structure RP50D values, because these values you can get it back to dynamic action. ypu can check for examples in dynamic actions it self which have 'F' indicator step.
    Regards,
    Kiran I

  • SRM 5 BBPSTART - System ID and System Messages issues

    Hi all,
    We just upgraded to SRM 5.0 from SRM 3.0
    The shopping cart logon page(bbpstart) doesn't show System ID and also the system Messages also doesn't work on browser when we set message by sm02.
    I already checked "System ID" and "System messages" from "Select Display" under System Logon Settings from bbpstart>Error Pages>Logon Errors>Configuration>System Logon Settings.
    I searched over the net and can't find anything. I only found a notes for the System messages, but it was for the older release and SRM 5 already applied that note. So I don't know what else I can do.
    Thanks for the itime.
    Kev

    Hello Thomas,
    It is not possible to run a system landscape with 2 identical SID's. And even if you do get it running in some kind of freeky way the system would be very instable (how would you know a transport has gone to the right system?).
    A system copy and a <SID> change is still possible. However, SAP recommends to do an export and an import of your database. Allthough this is the best and the least confusing way (and labour extensive), it is not really necessary.
    If you do a backup/restore procedure with a <SID> change, lets say from PRD to DEV, you will end up with a system that has DEV as <SID> but your tablespaces will look like PSAP-PRD-620. The owner of the database will also be sapprd. This is no problem at all to run the system, it is only confusing.
    I know it works, I've got it running. I've also got a sandbox running with user saptsc and database owner cbdamd and <SID> CBD.
    Kind regards,
    Pascal Ottens

  • How to raise Error Message in foreground through Dynamic Action?

    Hi,
    I have a requirement where I have to raise an error message in foreground so as to stop processing whenever HR_INFOTYPE_OPERATION fails to update a record in a dynamic program. I tried using MESSAGE statement but it did not work, as the error message was not displayed properly on the Infotype screen that calls the dynamic action.
    For ex.: If infotype PA0000 is calling PA0014 through dynamic action, then I want the error message to be displayed on the Actions Screen of PA0000.
    Is there any specific way to raise error messages through dynamic action programs?
    Quick answers will be appreciated.

    HI Sanjana,
    In the Substitution exits you can create the message in the configuration it self.
    You dont't need raise message explicitly.
    Thanks,

Maybe you are looking for

  • Acrobat 10. Can't print to file

    Hi! When I try to print to file from any application (Word, Excel, Notepad, ....) with Adobe PDF printer, it creates an empty PS file. Can anyone help? I'm using Acrobat Standard X on Windows XP SP3. Thanks

  • Embed one project into another (nesting)

    One feature that I would love to have in a slide show software is the ability to embed one project into another. Is this a feature of Keynote? Here is where it would be handy: I was in a band an we needed to put all of the lyrics for our original son

  • Center a horizontal UL on the page

    Hello, Here's the situation: I've got a dynamic width page (100% wide) layout. I created a horizontal menu using CSS on an unordered list < UL >. The List items are set to float: left. Is there a way to get the UL to be centered on the page? If the w

  • How do you click on object and then unclick that onbject to then click on another object?

    I am building a simple game in which you must click on a square to activate it, meaning when you click on it you have control of its movement. I then want to be able to click on the square again so that you don't have control of it, and then you can

  • Word and Excel documents vanish

    This may be the wrong forum for this question if so I apologize and wold appreciate direction. Working on numerous word and excel documents every so-often the file will disappear off my screen. If I click on another application then click on say word