How to indicate a message by a planning function type in an ABAP-OO-Class

Hello,
I integrated a message with following statement " MESSAGE i003(upf1) WITH v1 v2." in an ABAP-OO-Class, which is used by a Planning Function Type. The function type works but it´s not indecated after executing the Planning Sequence, neither from web template nor in the planning modeller.
Does anybody know this problem/behavior?
Thank for response
Andreas

Hi Joerg,
how about this:
data: l_dummy type char100.
MESSAGE i003(upf1) WITH v1 v2  into l_dummy.
i_r_msg->add_msg( ).
You do not need to take special care about the variables. Just raise the message as you want it to be raised. The only thing you need to do is to raise the message into a string (..into l_dummy). The interface IF_RSPLFA_MSG and the implemetation of add_msg is going to read the standard message variables (SY-MSGNO, SY-MSGID, SY-MSGTY, MSGV1 ...). You just need to throw the message
and call  i_r_msg->add_msg( ) e.g. in the execute method of your customer planning function.
Please give it a try and take a look at it in the debugger.
Hope this helps.
Matthias Nutt
SAP Consulting Switzerland

Similar Messages

  • BIIP Self-defined planning function type ( RSPLF1 )

    Dear all,
      I got 2 questions regarding the new BIIP customer defined planning function type.
      1. How do we create the class for the planning function type ? Do we copy standard one( like CL_RSPLFC_DELETE ) as template ? Or , can we create a class whcih use standard class as a supper class and change the methods as we want?
      2. Since the planning modeler is running on web , is it possible to debug the self-defined planning function type in SAPGUI?
    Thank you,
    Jeff
    How can I move this post to BPS forum?
    Message was edited by: Jeff Huang

    Jeff,
    Copying a standard planning function is the simplest way to begin and CL_RSPLFC_DELETE is the simplest function, so that is the ideal one to start with (assuming you are not looking to collect reference data as well).
    As far as debugging, simply put a hard BREAK-POINT statement in your method(s) and it will break as desired whenever you test it from the planning modeler.
    Michael

  • BI IP - Planning Function Type Formula Error "Characteristic not Supported"

    Hi all,
    I have created a planning function type formula with very simple code. The code was copied from SAP Library and FISCPER was replaced with 0CALDAY. I continue to get an error 'Characteristic 0CALDAY is not supported".
    The characteristic 0CALDAY is in the Infoprovider and the aggregation level. I have tried 'To Characteristic Usage' with both changed and in condition.
    DATA D1 TYPE D.
    DATA D2 TYPE D.
    DATA I1 TYPE I.
    DATA I2 TYPE I.
    DATA CALDAY TYPE 0CALDAY.
    FOREACH CALDAY.
    CALCULATE 1ST DAY OF ZCALEND
    D1 = C2DATE( CALDAY, S ).
    CALCULATE LAST DAY OF CALDAY
    D2 = C2DATE( CALDAY, E ).
    CALCULATE THE DIFFERENCE BETWEEN LAST AND 1ST DAY MINUS TWO DAYS
    I2 = 2.
    I1 = D2 - D1 - I2.
        MESSAGE I001(UPF) WITH 'DIFFERENCE' I1.
    ENDFOR.
    Thank you in advance for any help.
    Teri

    Thank you very much for your reply. What would you suggest? I must use 0CALDAY.  As you can tell I am very new to IP, I have tried other options for example:
    DATA ZDAYS TYPE I.
    DATA ZDT TYPE ZCALSTART.
    DATA ZDF TYPE ZCALEND.
    ZDT = ZCALSTART.
    ZDF = ZCALEND.
    ZDAYS = ZDT-ZDF.
    {KF,ZDT,ZDF} = ZDAYS.
    I received an error "ZCALSTART could not be recognized"
    I also tried to call a function. 'FIMA_DAYS_AND_MONTHS_AND_YEARS'.
    DATA D1 TYPE D.
    DATA D2 TYPE D.
    DATA DD TYPE I.
    DATA CALS TYPE ZCALSTART.
    DATA CALE TYPE ZCALEND.
    D1 = CALS.
    D2 = CALE.
    CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
      EXPORTING
        I_DATE_FROM          = D1
      I_KEY_DAY_FROM       =
        I_DATE_TO            = D2
      I_KEY_DAY_TO         =
      I_FLG_SEPARATE       = ' '
    IMPORTING
       E_DAYS               = DD.
      E_MONTHS             =
      E_YEARS              =
    I received an error "Types of parameter I_DATE_FROM () and variable D1(D) are inconsistent".  From what I could find they should be consistant.  Please provide any suggestions. Thank you!
    Teri
    Edited by: teri chandler on Mar 30, 2010 3:26 PM

  • BI Integrated Planning Self-defined planning function type ( RSPLF1 )

    Dear all,
      I got 2 questions regarding the new BIIP customer defined planning function type.
      1. How do we create the class for the planning function type ? Do we copy standard one( like CL_RSPLFC_DELETE ) as template ? Or , can we create a class whcih use standard class as a supper class and change the methods as we want?
      2. Since the planning modeler is running on web , is it possible to debug the self-defined planning function type in SAPGUI?
    Thank you,
    Jeff

    Hi Jeff,
    from the documentation it seems that you have to copy the delivered Classes: two methods are mandatory (the ones about execution IF_RSPLFA_SRVTYPE_IMP_EXEC and IF_RSPLFA_SRVTYPE_IMP_EXEC_REF). See the on line help:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/548bafbc0f357ee10000000a11466f/frameset.htm
    I didn't try yet, did you? Have you experienced something different?
    Best regards
    GFV

  • Planning function getting called in ABAP

    dear all,
    I have a requirement to call the reposting planning function from some other ABAP program and then suqsequently take the same data and update one more real time cube.
    I have the repost function well working in IP. Need to embed it into my custom abap code.
    In BPS, there used to be a function module for executing planning function.
    How ab the IP in this case?
    thanks,

    hi bindu,
    Thanks.
    How about the variables? My planning function has variables for manual input. Now these values will be supplied from ABAP code. Is variable variants to be used here?
    Also, how about copying the data into another cube?  Should RSDRI_CUBE_WRITE_PACKAGE be used?
    Regards.

  • Documentation for new Planning function types in 2004s

    Hello,
    We are analyzing the impact of migrating former BPS exit planning funtions to the new BI Planning function types. In fact, we are checking the SAP procedure for reusing the BPS exits from BI Planning, although I would like to know if there is some kind of procedure or documentation (I have already read the documentation in Business planning developer guide) for a quick reimplementation in BIP.
    Thank you for your help.
    Regards.
    Message was edited by: Ignacio Arroyo
    Message was edited by: Ignacio Arroyo
    Message was edited by: Ignacio Arroyo

    Hi
    Please check below URL for the BI IP planning function types.
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/43/37d8c2af4c1bcbe10000000a1553f7/content.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/43/37d8c2af4c1bcbe10000000a1553f7/content.htm</a>
    Hope it Helps
    Chetan
    @CP

  • Planning function type Exits.

    Hi,
      Could you guys tell me about Planning Function Type Exits. It will be helpful, if you guys send some Documents to [email protected]
    Thanks,
    meiy.

    Hi,
    Here is the step by step procedure for that.
    I assume that you have already created a planning level and Planning package.
    1.Double click on planning level
    2.From Context menu of planning Function(2nd panel which lying below the Planng area/level panel)-->create planning function
    3.Enter Tech name and description for planning function
    4.Expand 'all functions' tab -->double click on 'Exit function'
    5.Here you have to provide Function module for initialization(if necessary), and Function module where you have to write the logic, and 'Fields to be changed' and 'parameter name and data element for the same'.
    6.Now create a Parameter group from context menu of Planning function and Provide necessary values as per your requirements.
    Hope this helps

  • Standard Planning function Type

    Hi,
    Would anybody give some example of standard planning function type except COPY and REVALUATION.
    Points will be awarded to the suitable reply
    Regards,

    Hi ,
      Kindly go through the below link for more details on all standard functions,
    [http://help.sap.com/SAPHELP_NW04s/helpdata/EN/43/37d8c2af4c1bcbe10000000a1553f7/frameset.htm]
    1. Unit conversion:
               Consider that all your planned records are in "G" unit and if you want to convert this to any other unit like "Pound", then you can use this planning function. The prerequisite for this is, you need to create a suitable "Unit conversion type" using the tcode: RSUOM, for converting "G" to "Pounds".
    2. Currency Translation:
               Consider that all your planned records are in "EUR" currency and if you want to convert this to any other currency like "USD", then you can use this planning function. The prerequisite for this is, you need to create a suitable "Currency translation type" using the tcode: RSCUR, for converting "EUR" to "USD".
    3. Deleting Invalid Combinations:
                Consider that you did not have any characteristicc relationships in your project and hence you have invalid data in your planning cube. For example, you have 'Product' and 'Product Group' in your cube and the end user has entered wrong values for 'product group' for a corresponding 'product'. In this case you can create a characteristic relationship for 'Product' and 'Product Group' and then execute this planning function so that all the records with invalid relationships between 'Product' and 'Product Group' will be deleted.
    4. Repost:
             This is similar to 'Copy' planning function. But the only difference is 'Copy' copies the records from source to target. But 'Repost' moves the records from source to target, (i.e.) after the records are copied they are deleted in the source.
    5. Repost (Characteristic Relationships):
             This is similar to 'Deleting Invalid Combinations' but the only difference is, instead of deleting the invalid combinations, this function reposts the old relationships to the new correct ones based on active characteristic relationships.
    6. Distribution by Key:
            You can use the Distribution by Key function type to generate the characteristic combinations to which data is distributed in accordance with the master data and characteristic relationships. The key figure values are distributed according to the expressly specified distribution keys. These are distribution functions that determine the weighting of the distribution.
    For example, you have planned revenue based on 'Country' but you have some part of the revenue which is "not assigned" to any country. You can use this planning function to distribute this "Not Assigned" revenue to any particular "Country".
    7. Distribution by Reference Data:
              You use the Distribution by Reference Data function type to generate combinations of characteristics that correspond to the reference data. The system distributes data in accordance with these combinations. The key figure values are distributed by percentage in accordance with the reference data. You use the table for key figure selection to select the key figures that you want to distribute.
    For example, you have actual values for the year '2011' and you want to use this data to distribute it to the future year '2012'.
    In this case you can use this planning function, to distribute the '2011' data to '2012'. The prerequisite for this is there should be planned data already available for the year '2012'. This function is used after the manual planning is done for the future year.
    Hope this clears your doubt.
    Regards,
    Balajee

  • Enhance planning function type exit in BPS

    Hello,
    I have 2 questions concerning planning functions type exit in BPS:
    1. Is there any way to do a check, if the data is from the selection of the planning package itself or created in the planning function, when looping over the XTH_DATA table. I mentioned, that the loop is done also over the newly created data. Now, I copy the XTH_DATA into a working version, add the data to it and assign it afterwardws.
    2. I create new lines of data in the planning function. These lines can also contain data, which is not in the package selection. Now I need a condition for not writing the data, which checks, if the data can be added to the XTH_DATA or otherwise skips this particular line.
    Background is, I don't want to read the variable values from the package selection to keep it more generic.
    Hope anyone of you can help me solving these problems. Thanks in advance...

    Hello Jerrit,
    there's no indication in XTH_DATA if data was already existing or is new. You have to program this logic yourself.
    The selection of the planning package is passed to the exit in ITO_CHASEL. So you do not have to read the package or variables. However, checking data (XTH_DATA) against this selection can be quite performance intensive. If you are dealing with high data volumes such a check will probably take too long.
    Regards
    Marc
    SAP NetWeaver RIG

  • How to add warning message while using 'print' function in Adobe LiveCycle Designer

    I am trying to make pdf document for my company which requires adding a warning message while anyone use 'print' function from the page...
    Does anyone know how to add warning message on LiveCycle Designer
    Also my supervisor mentioned something using 'nag' if that rings any bell

    No you shoudl never go into the XML source unless uinstricted to do so.
    You can open the script editor (under the window menu). It will appear above the drawing area but below the toolbars. You can resize it if there is not enough room. When you click on an object in the form you can choose an event to script against in the Show dropdown. In your case you will want to choose the prePrint event. A line will show up that indicates the object that is associated with the script as well as the event and other information. Add your script below this line. Once that is done you are finished and your form is ready for testing.
    Paul

  • How to display error message in case of function module ?

    In the report i was using  " message-id "   to display error message....
    how to use in function module ?

    Hi,
    Messages in Function Modules and Methods
    Messages have two different functions in function modules and methods:
    Normal Messages
    If you use messages in function modules and methods without the RAISING addition in the MESSAGE statement, and the caller does not catch the message, the message is handled
    normally according to the context in which it is called within the function module or method.
    Triggering Exceptions with Messages
    If you use messages in function modules and methods with the addition
    ... RAISING <exc>
    the way in which the message is handled depends on whether the calling program handles the exception <exc> or not.
      If the calling program does not handle the exception, the message is displayed and handled according to the context in which it occurs in the function module or method from which it
    was called.
      If the calling program handles the exception, the message is not displayed. Instead, the procedure is interrupted in accordance with the message type, and processing returns to the calling program. The contents of the message are placed in the system fields SY-MSGID, SY-MSGTY, SY-MSGNO, and SY-MSGV1 to SY-MSGV4.
    Catching Message in the Calling Program
    You can catch messages from function modules that are not sent using the RAISING addition in the MESSAGE statement by including the implicit exception ERROR_MESSAGE in the
    EXCEPTIONS list of the CALL FUNCTION statement. The following conditions apply:
      Type S, I, and W messages are ignored (but logged during background processing)
      Type E and A messages trigger the exception ERROR_MESSAGE
      Type X messages trigger the usual runtime error and short dump.
    Catching messages is not currently supported for methods.
    Regards,
    Bhaskar

  • Canon MP560. How to override U043 message for using scan function?

    Hi, I've no ink cartridge on my Canon MP560, at the moment.
    How can I override U043 error message for using scan function?
    I tried to push and hold stop button for at least 10 seconds but it didn't work.
    (OS: Windows 7)

    Hello Coz,
    It's been a while since you've posted, I hope you have not given up.  I was having grief with my MF4150 as well, but got it working.  There is a more current driver - search for Mac_UFRII_V230_uk_EN and install it.
    Then, when you go to add your printer through System Preferences > Print & Fax, make sure you click the "default" icon in the top of the dialog.  It should show your Canon MF 4100 series , then use the bottom drop down menu to choose your driver and select Canno MF410 Series UFRII LT (UK) from the list.

  • How to view technical name of a planning function in IP?

    Hi,
    I have 2 aggregation levels created with 2 planning functions by someone else.
    I want to view technical name of that planning function so that I can include it in my WAD template.
    Please provide the info.
    Thanks & Regards,
    Rashmi.

    Hi Rashmi,
    In the Planning functions tab you click on the button right side of the window.
    Then you will get a window where you can select the columns to display. Pull the technical name window to display columns.
    Then you can see the technical name of that planning function.
    Regards,
    Ravi Kanth

  • Can not create planning function types (for process empty records)

    Hi! SAP Experts,
         I want to copy 0RSPL_FORMULA to another function types for processing empty records, ZRSPL_FORMULA. I checked this function type via RSPLAN, there is no error!.   But when i try to use it in planning modeler. We found the error message "Infoobject 1FORMULA is does not available in version A". Do we need to create this infoobject?... Anyone know, please let me know.
    Thanks,
    Sake

    Hi!,
    Thanks for your help but I've already put that parameter,HIDDENFORMULAVARTAB->1FORMULA, in my planning function, ZRSPL_FORMULA. I validated it and no error found. But when I go to planning modeler, in web browser, and try to create a new planning function based on ZRSPL_FORMULA. I found the problem as I mention in previous message, "infoobject 1FORMULA is not available in version A". I try to search this infoobject in my system. The result is there is no this infoobject in my system. So, my question is do i need to create it with myself? What kind of infoobject i have to create? Key Figures or Characteristics?
    Anyway, If I have to do this, why 0RSPL_FORMULA still used as normal.
    Brgds,
    Sake

  • How to print a messages inside pl/sql functions

    I have this function whihc is very similar to a number of my other functions:
    DECLARE
    check_if_set VARCHAR2 (50);
    BEGIN
         FOR c IN (SELECT proposal_id
         FROM student_current_project
         WHERE student_id = :p4_student_id
         AND second_reader_type != 'Confirmed')
         LOOP
              check_if_set := c.proposal_id;
         END LOOP;
         IF check_if_set IS NOT NULL
         THEN
              UPDATE student_current_project
              SET second_reader_id = :p4_request_reader, second_reader_type = 'Request'
              WHERE student_id = :p4_student_id;
    HTP.print ('Request Reader sent.');
    ELSE
    HTP.print ('Reader Already Confirmed.');
         END IF;
    END;
    The problem is with the printing to the screen. I basically want it to print like the process sucess message does but obviously there is two out comes listed above that it can print so i cant use the process sucess message. What is missing from the HTP.print statments above?
    Thanks for your help

    Hey Dan,
    I think you can do this with the Display-Only-Items.
    So when you have a Display-Only-Item :P4_Message then your Process can be:
    DECLARE
    check_if_set VARCHAR2 (50);
    BEGIN
    FOR c IN (SELECT proposal_id
    FROM student_current_project
    WHERE student_id = :p4_student_id
    AND second_reader_type != 'Confirmed')
    LOOP
    check_if_set := c.proposal_id;
    END LOOP;
    IF check_if_set IS NOT NULL
    THEN
    UPDATE student_current_project
    SET second_reader_id = :p4_request_reader, second_reader_type = 'Request'
    WHERE student_id = :p4_student_id;
    :P4_Message := 'Request Reader sent.';
    ELSE
    :P4_Message := 'Reader Already Confirmed.';
    END IF;
    END;
    Regards,
    Tim

Maybe you are looking for