BADI for Virtual Characteristic

Hi,
I am able to use BADI to populate Virtual Key Figure, but getting an error when I use similar code for Virtual Char.
Following are the details
Characteristic InfoObjects IO_MATRAL, IO_PLANT, IO_CMATRL (virtual char)
I want to assign the value of IO_MATRAL to IO_CMATRAL using BADI.
Attributes are
P_CHA_IO_CMATRL  associated type I (level: instance, visibility: private)
P_CHA_IO_MATRL   associated type I (level: instance, visibility: private)
DEFINE method
method IF_EX_RSR_OLAP_BADI~DEFINE.
  DATA: l_s_chanm   TYPE rrke_s_chanm,
        l_kyfnm     TYPE rsd_kyfnm.
  FIELD-SYMBOLS:
        <l_s_chanm> TYPE rrke_s_chanm.
CASE i_s_rkb1d-infocube.
   WHEN 'IC_SEKH'.
    l_s_chanm-chanm = 'IO_MATRL'.
    l_s_chanm-mode = rrke_c_mode-read.
    APPEND l_s_chanm TO c_t_chanm.
    l_s_chanm-chanm = 'IO_CMATRL'.
    l_s_chanm-mode = rrke_c_mode-read.
    APPEND l_s_chanm TO c_t_chanm.
ENDCASE.
ENDMETHOD.                    "if_ex_rsr_olap_badi~define
INITIALIZE method
method IF_EX_RSR_OLAP_BADI~INITIALIZE.
  DATA: l_global_name TYPE string.
  FIELD-SYMBOLS:
        <l_global>    TYPE i,
        <l_s_sfc>     TYPE rrkg_s_sfc,
        <l_s_sfk>     TYPE rrkg_s_sfk.
there's no need to change this method
Just create attributes for each charactersitic
with name P_CHA_<characteristic> TYPE i.
and constants for each key figure with name
P_KYF_<key figure> TYPE i.
  CLASS cl_exm_im_rsr_olap_badi DEFINITION LOAD.
get field postions for characteristics in structure
  LOOP AT i_th_sfc ASSIGNING <l_s_sfc>
       WHERE user_exit NE rrke_c_mode-none.
field name in structure is keyreturnnm
name of the global variable
    CONCATENATE 'P_CHA' <l_s_sfc>-chanm
        INTO l_global_name
        SEPARATED BY '_'.
fill the global variable
    UNASSIGN <l_global>.
    ASSIGN (l_global_name) TO <l_global>.
    CHECK <l_global> IS ASSIGNED.
    <l_global> = cl_exm_im_rsr_olap_badi=>get_field_position_d(
                                       i_fieldnm = <l_s_sfc>-keyreturnnm
                                       i_s_data  = i_s_data ).
  ENDLOOP.
endmethod.
COMPUTE method
method IF_EX_RSR_OLAP_BADI~COMPUTE.
  FIELD-SYMBOLS: <fs_io_cmatrl>   TYPE ANY,
                 <fs_io_matrl>    TYPE ANY.
  ASSIGN COMPONENT p_cha_io_matrl  OF STRUCTURE c_s_data TO <fs_io_matrl>.
  ASSIGN COMPONENT p_cha_io_cmatrl OF STRUCTURE c_s_data TO <fs_io_cmatrl>.
  <fs_io_cmatrl> = <fs_io_matrl>.
endmethod.
I am not getting any value in IO_CMATRL in the query.
Even when I assign hardcoded value like 's', in compute method, it's not showing the value in the query result.
Can you guys please suggest what am I missing here? (similar code works for Virtual keyFig. implementation)
Thank you,
Lakshmi

Hi,
In DEFINE Method
l_s_chanm-chanm = 'IO_MATRL'.
l_s_chanm-mode = rrke_c_mode-read.
APPEND l_s_chanm TO c_t_chanm.
l_s_chanm-chanm = 'IO_CMATRL'.
l_s_chanm-mode = rrke_c_mode-read.
APPEND l_s_chanm TO c_t_chanm.
If u2018IO_CMATRLu2019 is your virtual characteristic u2026try changing the read mode to  rrke_c_mode-no_selection
Thanks,
Advait

Similar Messages

  • Report doesnt hit BADi for virtual key figues

    Hello
    Report uses virtual key figures. Report is based on multicube. I generated the report after I have created BADI and class. It hits BADI for virtual kf during generation (RSRT)
    It doesnt hit BADI if I execute the report. Virtual key isnt populated. 
    Any reason why?
    thanks

    Hi,
    I have the same issue, how did you solve it ?
    Thanks
    Cyril

  • Create Badi for Virtual Key Figure

    Hi experts,
    i have to create badi for virtual key figure in BIW for dat i m creating Badi in BI development but its asking for Access Key.
    Badi name is RSR_OLAP_BADI
    i want to know while creating classic Badi with Implementation Name do developer need access key or thr any othr way to develop Badi for Virtual Key Figure.
    Tell me for creating virtual key figure in biw we use Badi and for dat we have to create the Badi in BIW Dev. or in R/3 Dev.
    it first time dat i m creating BAdi.
    Ankit
    Edited by: ankit375 on Feb 3, 2011 11:14 AM
    Edited by: ankit375 on Feb 3, 2011 11:14 AM

    To see how to create this BADI see here:
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/90b2babc-15ad-2d10-c4b2-bd3af67d86b1
    You you need to be registered as developer (you have to have dev.key) to do the coding.

  • Creating BADI for Virtual Key fig: Error: RSR_OLAP_BADI does not exist

    Hi,
    I am following some instructions to test the implementation of virtual key figure and came to the point to create the BADI.
    Intructions on page 5:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e051fda8-71a9-2a10-ac9e-8d17414a8c8c
    SE19
    Create Implementation; New BADI; Enhancement Spot:    RSR_OLAP_BADI
    At this point I get an error that RSR_OLAP_BADI does not exist.
    I then chose at random APB_LAUNCHPAD but this works in the sense that it took me to the next screen
    1. What does it mean by RSR_OLAP_BADI not existing?
    2. I know the instructions points to choose RSR_OLAP_BADI, but why that particular program and how does one gets to know that it is the one to use for virtual key figure/char implementation?
    3. When I tested with APB_LAUNCHPAD, I did not get the same screen on page 5 of the link, is it different for BI 7? Or, am I missing a point?
    Thanks

    Hi,
    thanks for the guidance.
    Yes, I tried to implement exactly as in the article.
    Yes, I defined the filter for the Infoprovider, as ZV*
    Are you suggesting that at this point, if in the method  if_ex_rsr_olap_badi~define, I change the value of
    "ZV_ZIPER" to my DSO or Cube, I should now see the virtual key figure in my query?
    Based on this understanding, I modified the method as follows, (my cube name is 2LIS_11_VASCL):
    method IF_EX_RSR_OLAP_BADI~DEFINE.
      DATA: l_s_chanm TYPE rrke_s_chanm,
      l_kyfnm TYPE rsd_kyfnm.
      FIELD-SYMBOLS:
      <l_s_chanm> TYPE rrke_s_chanm.
    Insert Code
      CASE i_s_rkb1d-infocube.
    CASE i_s_rkb1d-2LIS_11_VASCL.
          WHEN '2LIS_11_VASCL'.
          l_s_chanm-chanm = 'ZVAR_SHPR'.
          l_s_chanm-mode = rrke_c_mode-read.
          APPEND l_s_chanm TO c_t_chanm.
          l_s_chanm-chanm = 'ZVARDT'.
          l_s_chanm-mode = rrke_c_mode-read.
          APPEND l_s_chanm TO c_t_chanm.
          APPEND 'ZV_20DV' TO c_t_kyfnm.
      ENDCASE.
    endmethod. "if_ex_rsr_olap_badi~define
    After activation, I checked the query and still I am not seeing the virtual key figure in the query for selection.
    Any more ideas?
    Thanks
    Edited by: Amanda Baah on May 24, 2009 8:01 AM

  • Type conflict with ASSIGN in BADI for Virtual Key Figures

    We get the below error dump in ST22 when executing BEx queries that contain virtual key figures.
    error message - 'Type conflict with ASSIGN in
    program "ZCL_IM_THR_RSR_OLAP_BADI======CP".'
    We have a BADI implementation that calculates few virtual key figures included in some infocubes & multiproviders. The error would arise if we execute two queries (containing common Virtual Key figures) one after the other without closing the first query.
    We found a note "Note 1237689 - Virtual chars. and key figures in input-ready querys" that could be relevant to our issue and wanted to apply this note but unfortunately the note is only applicable to SAPKW70016 to SAPKW70018 and we are support pack 15.
    Can you please advise what the problem could be/suggest corrections for the same.

    Hi Kulmohan,
    Did you fix your issue? We are facing the same issue. Could you please let me know if you have any solution for this issue,
    Thank you,
    Mike

  • Passing two variables to BADI implementation for virtual chars

    I have a BADI that fills a virtual characteristic. This BADI gets a date variable value from the query. Can I send another variable value to the BADI? I want to add another retriction based on the state. If I don't add this restriction to the BADI, it will go thru all the records in the cube and make it slow. How can I do this?

    Hi there.. if that state field is available in the badi you can use that field.. check the attributes in the BADI if that field is a part of any table or is that an importing parameter..
    if <table>-<state> = 'US'.
    proceed ahead..
    endif.

  • BADI for populating virtual Key Figure : Exception Occurs

    Hello,
    I am using BADI for populating virtual Key Figure.
    Since my info provider in a Cube , query is built on it with addition to Virtual Key figure.
    I have used select statement for retrieving data from cube as input for the variables in BADI.
    But after debugging it , it stop or exception occurs at the select statement.
    Need help for the same.
    My code :  Cube name : ZGMR_C01
    DEFINE ******
    method IF_EX_RSR_OLAP_BADI~DEFINE.
      DATA: l_s_chanm TYPE rrke_s_chanm,
      l_kyfnm TYPE rsd_kyfnm.
      FIELD-SYMBOLS:
      <l_s_chanm> TYPE rrke_s_chanm.
    Insert Code
      CASE i_s_rkb1d-infocube.
        WHEN 'ZGMR_C01'.
          l_s_chanm-chanm = 'ZEC_PLOAD'.
          l_s_chanm-mode = rrke_c_mode-read.
          APPEND l_s_chanm TO c_t_chanm.
          l_s_chanm-chanm = 'ZCOM_BLM'.
          l_s_chanm-mode = rrke_c_mode-read.
          APPEND l_s_chanm TO c_t_chanm.
          APPEND 'ZVKF_TTBL' TO c_t_kyfnm.
      ENDCASE.
    endmethod.
    DEFINE ******
    COMPUTE *****
    method IF_EX_RSR_OLAP_BADI~COMPUTE.
    FIELD-SYMBOLS <fs_ZVKF_TTBL> TYPE ANY.   -
    Virtual Key Figure
    FIELD-SYMBOLS <fs_ZEC_PLOAD> TYPE ANY.  -
    Variable 1
    FIELD-SYMBOLS <fs_ZCOM_BLM> TYPE ANY.   -
    Variable 2
    DATA: l_ZVKF_TTBL TYPE /BIC/OIZVKF_TTBL.
    TYPES : BEGIN OF TY_ITAB,
    PLOAD TYPE /BIC/OIZEC_PLOAD,
    BLMONTH TYPE /BIC/OIZCOM_BLM,
    TOTBL TYPE /BIC/OIZKF_TOTBL,
    END OF TY_ITAB.
    data: IT_ITAB TYPE STANDARD TABLE OF TY_ITAB,
          WA_ITAB type TY_ITAB.
    data: IT_ITAB1 TYPE STANDARD TABLE OF TY_ITAB,
          WA_ITAB1 type TY_ITAB.
    ASSIGN COMPONENT P_KYF_ZVIR_TOT OF STRUCTURE c_s_data
    TO <fs_ZVKF_TTBL>.
    ASSIGN COMPONENT P_CHA_ZVIR_POL OF STRUCTURE c_s_data
    TO <fs_ZEC_PLOAD>.
    ASSIGN COMPONENT P_CHA_ZVIR_MON OF STRUCTURE c_s_data
    TO <fs_ZCOM_BLM>.
    break-point id z_routines.
    SELECT  /BIC/DZGMR_C011SID_ZEC_PLOAD  /BIC/DZGMR_C01TSID_0CALMONTH /BIC/VZGMR_C01F~/BIC/ZKF_TOTBL
    FROM /BIC/VZGMR_C01F
    INNER JOIN /BIC/DZGMR_C011 ON /BIC/VZGMR_C01FKEY_ZGMR_C011 = /BIC/DZGMR_C011DIMID
    INNER JOIN /BIC/DZGMR_C01T ON /BIC/VZGMR_C01FKEY_ZGMR_C01T = /BIC/DZGMR_C01TDIMID
    INTO TABLE IT_ITAB
    WHERE /BIC/DZGMR_C011~SID_ZEC_PLOAD = <fs_ZEC_PLOAD>
    AND /BIC/DZGMR_C01T~SID_0CALMONTH = <fs_ZCOM_BLM>.
    break-point id z_routines.
    LOOP AT IT_ITAB INTO WA_ITAB.
    WA_ITAB1-PLOAD = WA_ITAB-PLOAD.
    WA_ITAB1-BLMONTH = WA_ITAB-BLMONTH.
    WA_ITAB1-TOTBL = WA_ITAB-TOTBL.
    COLLECT WA_ITAB1 INTO IT_ITAB1.
    CLEAR : WA_ITAB1 , WA_ITAB.
    ENDLOOP.
    break-point id z_routines.
    IF sy-subrc EQ 0.
    <fs_ZVKF_TTBL> = WA_ITAB1-TOTBL.
    endif.
    endmethod.
    COMPUTE *****

    Exception :
    Exception CX_SY_NO_HANDLER triggered
    An exception with the type CX_SY_OPEN_SQL_DB occured, but was not handled
    This comes when i debug the BADI.

  • RSR_OLAP_BADI for virtual characteristics not getting triggered!!!

    I am facing a strange problem and am a little pressed for time to solve the same. Any help/guidance related to this will be highly appreciated.
    I am working on BI 7.0. I have two implementations of the BADI RSR_OLAP_BADI for virtual characteristics,
    (1) say A, that we implemented as a proof of concept with filter as multiprovider M1
    (2) say B, that in implemented with filter as multiprovider M2
    Both were working fine and I was able to put breakpoints inside the code and debug whenever required. I had used it till last week and everything was fine.
    Today, I had to change implementation B due to a new requirement. So a new characteristic was added to M2 and the code in B was extended at appropriate places to fill this new virtual characteristic also. However, even though the change was successfully activated and the BADI looked fine, it was not triggered when the query was executed. I checked with another query on M2 which was the query for which the implementation was initially made. For that also the BADI is not getting triggered. I put break points in the define, initialize and compute methods but none are hit during the query execution!
    I further ran the queries on M1, which shud have called the implementation A. Then also the BADI is not getting triggered. Please note that implementation A, multiprovider M1 or the queries on it were not changed at all.
    I really need to fix this issue at the earliest. What am I missing? Why are the BADIs not getting triggered eventhough the implementations are active, the BADIs are error free and the filters are correctly defined?
    Are there any global settings that can turn off all BADIs?
    Please help.
    Thanks,
    Sarath

    Further, when I created a fresh BADI implementation in a different system (a sandbox system), the BADI is working fine.
    But in the Development system the BADIs are still not getting triggered. I made the exact same implementation as the one which worked in the different system.
    Another point - when I see the Technical Information tab of queries from RSRT, or RSRT2  they have Virtual Characteristics/Key Figures "NO" in the development system.
    For the queries in the prototype system in which the BADI is working this field in "Y".
    Any idea how this is decided and how it can be changed to Y from NO?
    One more strange thing is that there are other active implementation of this BADI used by other teams here and none of them are getting triggered. They are all active and were all working fine till the last few days!
    Any help will be highly appreciated.
    Thanks,
    Sarath

  • How to fulfill the virtual characteristic value into report

    Hi Experts,
          I am working on one reporting requirement that needs to add reference date (virtual characteristic) field to report.
          I have added reference date field to query and able to display the field in report.But I am not able to display reference date field runtime data in to report output.
        Could someone please help me on this how to display this virtual characteristic values into report.where the runtime variable values are stored.How to fill the data etc.
    Thanks in advance.
    Best Regards,
    Hari.
    Edited by: k hari on Jan 29, 2008 6:22 AM
    Edited by: k hari on Jan 29, 2008 6:24 AM

    You can achieve this using Customer Exit or BADI. Check the folllowing link.
    http://help.sap.com/saphelp_nw70/helpdata/en/ac/ef1f43daac9a448f0150a02e3a7aba/content.htm
    If you are using BADI
    You can create Virtual CHAR in BADI using transaction SE19
    In this transaction you can create a new or display the existing BADI.
    There you can see two tabs
    The Attribute Tab we need to give the name of the Multiprovider on which the query with the virtual char is getting executed.
    The Inerface Tab has three following sections. Need to write the ABAP code for all the three.
    Define : Defind all the characteristics and virtual char that will be used for populating virtual char
    Initialize : Initialize them
    Compute : Here you will have to write the logic for populating the virtual char.
    Once the logic is written then you can use this char in your query .
    Hope this helps.

  • Need to restrict values in F4 help for Batch Characteristic

    Hi,
    I need to restrict values in F4 Help for a batch characteristic based on values entered for another characteristic. I could not find any BADI or Exit for this purpose. There is a BADI CACL_VALUE which is triggered after an entry is selected from dropdown list but nothing when we press F4. I thought of using Object Dependency but I need to write a programming logic for the requirement. Please let me know if there is any way to write program in Object Dependency or any other way for this requirement.
    Regards,
    Nikhil

    Hi nikhil simha,
    first of all, find out which search help is called.
    [Hierarchy of the Search Help Call|http://help.sap.com/saphelp_nw70/helpdata/en/0b/32e9b798da11d295b800a0c929b3c3/frameset.htm]
    may help you.
    If you know the search help, you may enhance it, but first of all you should check the where-used-list and make sure that the search help shows the requested behavior only in the context where you want it to.
    If it is your own program, you may be better off to create your own search help and define the triggering fields as search help interface input fields. Then you can use the values to filter results.
    Regards
    Clemens

  • How to create Virtual InfoProvider with Services - Virtual Characteristic

    Hi all,
    I need to create a virtual infoprovider that also fills a virtual characteristic in order to display custom characteristics and calculated values based on user selection.
    Basicaly what I want to do is send a variable in a virtual characteristic equal to the values I want to fill in the characteristic.  So for instance if my base cube contains the infoobjects Brand, Product Line, Region and Country I want a  have a new infoobject that has no data, but fills itself with the vales of the infoobject I specify at query time on the virtual cube.
    The reason for this is I am trying to create a WAD using the delta chart (waterfall graph) that will show the difference between the plan and actual totals for a specific characteristic in Profitibility analysis.
    I have a document that explains the situation.  Send me your mail address and I will send you the document.
    Kind Regards

    We found a way to build the structure for this.
    Regards

  • There is no more space for virtual disk ServerName_2.vmdk. You might be able to continue this session by freeing disk space on the relevant volume, and clicking Retry. Click Cancel to terminate this session.   Time: 30/05/2014 1:16:20 AM

    Recently, our mail server crashed at about 7pm one night, with the error 'There is no more space for virtual disk ServerName_2.vmdk. You might be able to continue this session by freeing disk space on the relevant volume, and clicking Retry. Click Cancel to terminate this session.'
    When we click Retry, the server starts up OK.
    There are no snapshots listed in Snapshot manager for any of the virtual machines on the host.
    There is also free disk space available on the host and for the VM with the disk errors.
    This happened at least three more times, often at bad times. Each time, we were able to click 'Retry' and the disk/system would allow the VM to start-up successfully.
    I checked the Forums, the VMware support articles and the internet as I had not seen this problem before. I have completed the VSphere 5.1 - Fast Track course and this issue was NOT covered in the training.
    Most of the advice on-line and even that on the VMware web-site was pointing to snapshots being the cause of this issue. There are no snapshots enabled and I cannot see evidence of snapshots ever being used.
    - We are running VMware vsphere (5.1.0) and there are (were) 4 virtual machines running on the ESX host. We are using the free version of VMware/ESXi.
    - The Hard disk types we are using for this Virtual Machine are 'Thin Provisioned'.
    - There are 4 [Thin Provisioned] Hard Disks for this virtual machine.
    - There are 6 CPUs
    - There is 20GB of RAM (memory)
    - The VM is running Windows Server 2008 R2 as the guest/VM operating system. It is an Exchange 2010 SP1 mail server. There is plenty of available disk space on all the drives. The [Exchange] log files are cleaned out regularly (automated).
    I decided to move one of our non-critical servers off this host and on to another host to see if this helped the problem. This took quite some time, as we are not using HA or vmotion, nor do we have VCenter Server...nonetheless, I finally managed to get the non-critical server on to another host (n.b. This was a much smaller machine with less virtual resources assigned to it).
    After moving the non-critical server off this host, we decided to monitor the Host and see if the issue resolved itself.
    I checked the host about 6-10 times a day, from first thing in the morning till last thing at night - monitoring the performance of not only the Virtual Machine, but the ESXi host also.
    There were no adverse performance issues. The only thing I did note, was in the Summary page on the ESX Host, under Storage, was If I right-clicked on the datastore and clicked refresh, then the free disk space would drop (ie from 140GB to 125GB).
    After monitoring the host and VM for about 2 weeks, we did NOT have another instance of the above error.
    Sorry for the long winded post, but I wanted to give as much detail given this error has been raised before and snapshots are usually blamed as the cause.
    My question is this:
    If the ESX host had plenty of available disk capacity and there were no snapshots enabled on the VM (or any other VM's on the same host), then why did our Virtual machine crash with the error that 'there is not more space for virtual disk Servername_2.vmdk'?
    How do we prevent this issue from happening if we don't know the underlying cause?
    I would greatly appreciate any advice or suggestions.
    If I have not provided enough info on the specs or environment, please let me know and I will provide more information.
    Thanks all,
    Kurt

    The type of storage is really based on your requirements, and your ability to withstand downtime.
    iSCSI as you are using with a NAS such as Synology or QNAP.  NAS Selector - Support - Synology - Network Attached Storage (NAS)
    I wouldn't use iSCSI for Exchange or any database.  It's a bit slow.
    Do you have a single physical host?  Then I'd probably to an external direct attached storage.  This would be a card inserted in your host server that gives you multilane SAS/SATA connectivity (www.techcable.com/SAS-SATA/SAS-SATA.pps) and an external disk enclosure/array.
    For multiple hosts to a single array, I recommend a fibre channel connection to a FC capable switch, and on to a FC connected array.
    We used to use a HP P2000 (on old G1), but it's since been retired.  Worked pretty well once firmware was upgraded.  http://www8.hp.com/us/en/products/disk-storage/product-detail.html?oid=4118559#!tab=features.  They can be connected via iSCSI, Fibre Channel or 6GB SAS so they are flexible and reasonably priced.
    Recommendations:
         Use RAID 6 with your large disk arrays.  With large disks there is a measurable failure rate when rebuilding a failed RAID5 array based on MTBF.
         Use smaller 15K disks in RAID 0+1 for speed on databases/Exchange.
         Use slower 7.2K disks in RAID6 for file storage.
    We are a small hospital and we have 3 VMware servers with dual CNA (FC and Ethernet in a single twinax cable) connections to 2 redundant Cisco Nexus 5K switches and then 4 Fibre Channel connections to an EMC VNX 5300.  It's extremely fast with about 50 virtual servers, but was quite an investment.  One thing we don't have to worry about is down time.  If there ever is an equipment failure, we have redundant everything, including power split between two UPSs.
    Our VNX has 3 tiers of performance.  3 100GB SSD "Fast Cache" in RAID 1 with hot spare, to keep the most used data ready, but it's not really a tier, however one could be built utilizing the same disks.  A second tier is performance tier with a 8 600GB RAID 0+1 and hot spare.  The third is a bunch of 7.2K 3TB disks in RAID6.  The VNX autotiers, placing data on disks depending on where it's needed.  The volumes are sliced and diced automatically in the background to make this happen and we never have to touch it.  I used a demo of Solarwinds Storage Manager to monitor performance for a while and the utilization was always low, meaning all data access was fast, througout the day.
    D

  • Project settlement to CO-PA and BAdI for automatic creation of rules

    Hello SAP experts!
    I have managed to implement settlement rule strategy to CO-PA for sales project WBS-elements, which automatically creates the settlement rules for WBS-elements with billing indicator. One or more sales order items are assigned to the WBS-elements. When the system derives settlement rules, it generates profitability segments that contain the characteristic values of the WBS elements and the sales orders assigned to them. The problem is, that only one single settlement receiver is determined for each WBS-element. And if more that one sales order item is assigned to the same WBS-element only those characteristics are copied to the settlement rule that are same in all sales order items.
    For example; it products are different in all sales order items, the automatically created settlement rule does not contain the characteristic value product or neighter other caracteristics derived from product.
    Do You have experience of using BAdI for influencing the generation of settlement rules? What it actually makes possible?
    Br, Nina

    Dear Waman,
    thank you for your reply !
    Yet - this still does not solve our problem. In that note (and also in the related note 201445) there is no valuable information included concerning transaction currency:
    Our WBS elements (and also other cost objects, e.g. sales order items) are being debited in all of the three currencies.....but the credit (during settlement) only takes place in two of them:  object and CO area currency.
    I really appreciate additional help on this. It would be hard to believe that we are the only SAP customer having this kind of problem.
    Best regards,
    Thomas

  • Creation of virtual characteristic

    I have to create a virtual characteristic (ZVCDOCNO) same as another object (Document Number - ZDOC_NO).
    This virtual characteristic should have same data as Document number but should contain values that begin with 11.
    I have checked the forum and found some good inputs, but all of them have been done using BADIs.
    Is there any other method other than BADIs?
    Solution suing BADI
    [http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e051fda8-71a9-2a10-ac9e-8d17414a8c8c?QuickLink=index&overridelayout=true]
    [http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/60e34f63-f44c-2c10-488e-c89b04e0ca7c?QuickLink=index&overridelayout=true]
    [http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b04be008-86cc-2c10-4bad-e517ea3f4c80?QuickLink=index&overridelayout=true]
    Using BADIs what will be the DEFINE and COMPUTE codes.

    I created and interface.
    In the Class interface
    Attributes tab
    Attribute          Level              Visibility     Typing    Associated Type
    P_CHA_ZDOC_NO      Instance Attribute      Public         Type      VBELN
    P_CHA_ZVCDOCNO     Instance Attribute      Public         Type      VBELN
    In Methods tab
    IF_EX_RSR_OLAP_BADI~DEFINE
    method IF_EX_RSR_OLAP_BADI~DEFINE.
      CASE i_s_rkb1d-infocube.
        When 'ZBKDSO'.
          Append 'ZVCDOCNO' to c_t_chanm.
      ENDCASE.
    endmethod.
    IF_EX_RSR_OLAP_BADI~COMPUTE
    method IF_EX_RSR_OLAP_BADI~COMPUTE.
    FIELD-SYMBOLS <fs_zdoc_no> TYPE /BI0/OIZDOC_NO.
      FIELD-SYMBOLS <fs_zvcdocno> TYPE /BIC/OIZVCDOCNO.
    If P_CHA_ZDOC_NO is not initial.
    ASSIGN COMPONENT P_CHA_ZDOC_NO OF STRUCTURE c_s_data to <fs_zdoc_no>.
    IF <fs_zdoc_no>(2) = '11'.
    <fs_zvcdocno> = <fs_zdoc_no>.
    ENDIF.
    endif.
    endmethod
    I still find some logic missing.  What are the changes to be done to code?

  • Support for virtual IP in WKA list

    I am attempting to implement Coherence Grid Edition 3.5.3 Patch 7 . It's running on Sun Java 1.6.06 on a Solaris 5.10 machine (which I will call machine A1) which has an ip address 1.2.3.261. Also, there is a virtual IP address 1.2.3.260 which points to this same machine A1, as well as a hostname that maps to the virtual IP address of the machine A1.
    (Note: I have mocked up the IP addresses in this post for security reasons).
    I am using WKA due to concerns of the local network admins regarding multicast (debatable, but for now let's please assume I need to go with WKA).
    If this production machine A1 develops any problem, we can quickly switch to an alternate machine A2. The alternate machine A2 contains automatically replicated copies of all of our important sub-directories (including the coherence xml configuration files), but it does have a different IP.
    During a failure of machine A1, we would shut down machine A1, start up machine A2, and reroute the virtual IP to alternate machine A2's true IP. Machine A2 would be supplied a copy of the file-system that A1 had when A1 was shutdown.
    We would seek to not have to edit any configuration files on A2. It is difficult to maintain alternate configuration files using our current replication scheme, and any machine-specific customizations are problematic.
    Therefore, we would prefer to list the virtual IP of machines A1 and A2 in the WKA list, rather than the true IP of these machines.
    However, when I attempt to list the virtual IP in the WKA list...
                   <well-known-addresses>
                        <socket-address id="1">
                        <address>1.2.3.260</address> <!--virtual ip -->
                        <port>8088</port>
                        </socket-address>
                   </well-known-addresses>
    ... I get the error below.
    2010-09-03 12:01:51.464/1.401 Oracle Coherence GE 3.5.3/465p7 <D5> (thread=Cluster, member=n/a): Service Cluster joined the cluster with senior service member n/a
    2010-09-03 12:01:54.760/4.697 Oracle Coherence GE 3.5.3/465p7 <Error> (thread=Cluster, member=n/a): Node myhostname/1.2.3.261:8088 is not allowed to create a new cluster; WKA list: [1.2.3.260:8088]
    2010-09-03 12:01:54.760/4.697 Oracle Coherence GE 3.5.3/465p7 <D5> (thread=Cluster, member=n/a): Service Cluster left the cluster
    Exception in thread "main" java.lang.RuntimeException: Failed to start Service "Cluster" (ServiceState=SERVICE_STOPPED, STATE_ANNOUNCE)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:38)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:38)
    at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:395)
    at com.tangosol.coherence.component.net.Cluster.start(Cluster.CDB:11)
    at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.CDB:3)
    at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.CDB:7)
    at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.CDB:27)
    at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.CDB:2)
    at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:998)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:905)
    at com.tangosol.net.DefaultCacheServer.start(DefaultCacheServer.java:139)
    at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:60)
    2010-09-03 12:01:54.763/4.700 Oracle Coherence GE 3.5.3/465p7 <Error> (thread=main, member=n/a): Error while starting cluster: java.lang.RuntimeException: Failed to start Service "Cluster" (ServiceState=SERVICE_STOPPED, STATE_ANNOUNCE)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:38)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:38)
    at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:395)
    at com.tangosol.coherence.component.net.Cluster.start(Cluster.CDB:11)
    What exactly is being checked here? Does each Coherence instance expect to see it's own IP listed in the WKA list, and refuse to run if it can't find it's own IP on the list?
    Is the instance detecting it's own IP via an operating system call, or is there some way I can influence the instance's sense of what IP it is running on?
    Is there any advice for supporting this kind of virtual IP scenario?
    I have tried listing the hostname with no better success, because the hostname points to the virtual IP, and therefore has the same effect as listing the virtual IP.
    As a workaround, I have altered the WKA list to list of the true IPs of both machines...
                   <well-known-addresses>
                        <socket-address id="1">
                        <address>1.2.3.261</address> <!-- A1 -->
                        <port>8088</port>
                        </socket-address>
                        <socket-address id="2">
                        <address>1.2.3.262</address> <!-- A2 -->
                        <port>8088</port>
                        </socket-address>
                   </well-known-addresses>
    ... even though both machines will never be up and running at the same time. This workaround avoids the error and the cluster appears to come up. I am not sure if there's any ill effect that at any given time one of these two IPs will never be up and running.
    Despite my workaround, true support for virtual IPs would be superior; listing all the true non-virtual IPs in the WKA list means re-editing the list as the hardware changes.
    Thanks for any advice!
    P.S. I tried the above with Coherence 3.5.2 with the same results.
    Edited by: user11114413 on Sep 3, 2010 11:45 AM

    Hi user11114413,
    The issue you are seeing actually has little to do with VIP, and more to do with there being multiple IP addresses for us to choose from on your box. For such multi-IP boxes, you'll want to tell us the IP to use, and in your case you want to tell as a VIP. This can be done either by editing your operational configuration file, and including an <address> element within the <unicast-listener> element, or via the tangosol.coherence.localhost system property. For example:
    <unicast-listener>
        <well-known-addresses>
            <socket-address id="1">
                <address>1.2.3.260</address> <!--virtual ip -->
                <port>8088</port>
            </socket-address>
        </well-known-addresses>
        <address>1.2.3.260</address> <!--virtual ip -->
        <port>8088</port>
    </unicast-listener>or
    java ... -Dtangosol.coherence.localhost=1.2.3.260If you are using the same operational configuration on all nodes in your cluster then the system property approach is likely preferable, and would only be necessary on the two machines sharing the VIP.
    As for using VIP or an extended WKA list, the choice is yours, either will work. If you do go the VIP route, it would obviously be a very bad idea to simultaneously use the same VIP and port at the same time from the two machines.
    thanks,
    Mark
    Oracle Coherence

Maybe you are looking for

  • Placing components without layout manager not working

    Hey there, I am working on a java game version of pong which I have begun to try and do using Java Swing. The problem I am currently having is reposition the components in the main window part of the game which is were the user can start a new game o

  • Converting fromula in pivot tables in EXcel 2013

    I'm looking to convert to Formulas in Excel 2013. The Help function says that the functionality resides in the pivot table tools-> Analyze->in the Calculations group> click OLAP tools > click convert to formula This is grayed out in my worksheet and

  • Programming Interfaces for Sharepoint

    Good morning, I have a copy of the "Programming Interfaces for LiveCycle ES2 Modules(April 2010)" and I have been using it to define an environment for a client.  What I was wondering is if there is a document that lists the APIs that are available f

  • WIP costing procedure and Material ledger

    Dear all, we are using 4.7 release and it has been asked to implement WIP in our company. I would like to have some information regarding the activation of WIP in production orders for product costing and the impacts on Material Ledger. Thanks in adv

  • Trouble with Linear Gradients

    I am trying to use a horizontal linear gradient and when I preview my image in a browser, there are vertical bars or "slices" shown instead of a smooth gradient. Has anyone seen this or does anyone know how to remedy it? rory