Data syncup issue - Custom extractor for revenue recognition data from ECC into BW

Hi there,
We have created a custom extractor on top of a Function Module (FM) in ECC that reads data primarily from VBREVE table. Currently, we have close to 10 million records and full load isn't a preferred option so we built in a delta mechanism using "Created On" (ERDAT) and "Posting Date" (BUDAT). The idea is to do an initial full load and then switch over to delta loads on a nightly basis for data where:
"Created On" OR "Posting Date" is within last 6 months.
This will ensure if any updates are made to the existing VBREVE entries, this change will be reflected in the BW DSO, provided the "Created On" or "Posting Date" fall within last 6 months. The issue comes up if in ECC a billing plan is cut down to a smaller term, let's say from 3 years to 2 years, the entries for the 1 year will be deleted from VBREVE table. How can I pick up this change in BW DSO since this data has already been loaded in the past? Addition of entries are okay but I need to address the deletion on entries in VBREVE table so that it reflects this in BW DSO. Any ideas how I can accomplish this? In the example on the screenshots, BW still shows the before image and I need to be able to get it to sync up with ECC as per the after image.
-Rohit

Dear Rohit,
The case is complicated , there can be workaround using the changedon date from VBAK table. if the billing plan is changed in the sales order VBAK will be updated for changedon.
1) If the billing plan deletion is a very specific case, then using the change log tables find out which are the sales order for which there has been billing plan change. Store this sales order details in DSO day wise. call it DSO1
2) Create a self transformation to the DSO ( DSO2) where you are currently loading from the table VBREVE (DSO2 to DSO2 -For loading data from the same DSO) .Transformation should have reverse record mode given as a constant.
3) load the data DSO2 from DSO2 by filling up sales order details from DSO1 in the DTP filter.
( This will reverse the complete entry for the sales order in DSO2 for the sales order for which billing plan has been changed)
4) Now load afresh for these sales order again from source system to DSO2 from the table VBREVE.
You can also use VBAK changedon date to trigger this load.
Hope I have not confused you
Regards
Gajesh

Similar Messages

  • Replicating Custom Fields for Products in CRM  from ECC

    Hi All,
    I am having difficulty in replicating SAP standard field values from ECC to custom fields for products in CRM. This is what i did:
    1. I created a new settype(ZMASTER_INFO) with a single attribute(ZIND_STD) and added
        this new settype to MAT_HAWA. (As all our materials fall under this material type).
    2. I am looking to map SAP standard field from ECC to this custom field of mine.
        I wrote the code in CRM BADI 
        'ZPRODUCT_CUSTOMER2->MAP_R3_TO_CRM_MATERIAL' with the following code:
    DATA: ls_ZMASTER_INFO TYPE ZMASTER_INFO_maintain.
    DATA: ls_category_bdoc       TYPE COMT_PROD_CAT_REL_MAINTAIN,
          ls_category            TYPE COMT_PROD_CAT_REL,
          lt_categories          TYPE COMT_PROD_CAT_REL_TAB,
          ls_settype             TYPE COMT_settype_ext,
          ls_cat_settype_rel     TYPE COMT_CAT_FRAG_REL,
          lt_cat_settype_rel     TYPE COMT_CAT_FRAG_REL_TAB,
          lt_cat_settype_rel_all TYPE COMT_CAT_FRAG_REL_TAB.
    LOOP AT lt_cat_settype_rel_all INTO ls_cat_settype_rel.
          CALL FUNCTION 'COM_SETTYPE_READ_SINGLE'
            EXPORTING
              IV_SETTYPE_GUID         = ls_cat_settype_rel-frgtype_guid
            IMPORTING
              ES_SETTYPE              = ls_settype
           EXCEPTIONS
             NOT_FOUND               = 1
             NO_IMPORT_VALUES        = 2
             NO_TEXT_FOUND           = 3 .
          IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
      CASE ls_settype-frgtype_id.
          WHEN 'ZMASTER_INFO'.
          ls_ZMASTER_INFO-relation-owner = 'X'.
          ls_ZMASTER_INFO-relation-logsys = cs_product_bdoc-header-com_product-logsys.
          ls_ZMASTER_INFO-data-ZZ0010 = is_mara-STD_DESCR.
          ls_ZMASTER_INFO-DATA_X-ZZ0010 = 'X'.
          APPEND ls_ZMASTER_INFO TO cs_product_bdoc-data-ZMASTER_INFO.
          APPEND ls_settype-FRGTYPE_GUID TO cs_product_bdoc-data-MNT_SETTYPE.
       ENDCASE.
    ENDLOOP.
    Since in ECC i am not having any custom fields i did not write any code in ECC for TPS34 and TBE24. I just wrote this BADI in CRM and using the field S_MARA-STD_DESCR.
    I am not sure if i need to write the code in ECC. COUld anyone please confirm if i need the code in ECC?
    Also in the CRM BADI, lt_cat_settype_rel_all is EMPTY. Not sure how this gets its value.
    Could anyone please suggest if i am missing anything here? Any help is appreciated.
    Thanks,
    Karuna.

    Hi Karuna,
    One more solution is to change the BDoc data content before it hit the Database.
    this can be done in badi: Data_Exchange_badi (if u dont find this try with following search string: xchange)
    In the above mention badi you will find a method which is used to populated the contend jst after bdoc in CRM is being populated by R/3 data.
    Best Regards,
    Pratik Patel
    <b>Reward with Points!</b>

  • Price Change for Revenue Recognition

    Dear experts,
    I am using Revenue Recognition of type B with Revenue Recognition before invoicing.
    I have an issue/question about the way price changes are treated in the functionality.
    The below example is used to describe the issue for your understanding:
    1.Pricing master data: $100/EA
    2.Price of item in sales order: $100/EA
    3.Qty in sales order: 10 EA
    4.Delivery & Goods issue: 10 EA
    5.Revenue Recognised (VF44) for: $1000
    Accounting Entry:
    DR Unbilled Accounts Receivable $1000
    CR Revenue $1000
    6.Change in pricing master data: $120/EA
    7.Partial Invoice for: 2 EA @ $120/EA
    Accounting Entry:
    DR Customer $240
    CR Unbilled Accounts Receivable $240
    8.Partial Invoice for balance qty: 8 EA @ $120/EA
    Accounting Entry:
    DR Customer $960
    CR Unbilled Accounts Receivable $760
    CR Deferred revenue $200
    9.Subsequent Revenue Recognition (VF44)
    Accounting Entry:
    DR Deferred revenue $200
    CR Revenue $200
    As you can see in the example above, the amount of the price difference is not credited to sales in step 7. From what I have seen so far the additional amount due to price difference gets credited to sales only after the total invoice value for the item exceeds the revenue recognized.
    Is there any option to set the system so that the price difference is taken into account for revenue recognition during each invoicing (even
    when the invoicing is partial) ?
    Thanks in advance for your help.

    The price difference will not go to Sales in Step 7.  The reason being Revenue Recognition works on the item rather than the amount.  Since you have run F-44, the system finds the same in Unbilled Receivables and posts to that account.
    For updating the price changes, you have to run VF46 to cancel the original RR entries.  In this case, it will just clear of the RR lines if realization has not happened and post a reversal if realization has happened.  This txn will also create a new RR line for VF44 which you can process.
    Refer Note 820417 Implementation guide for RR.  Download the attachments and look into Part2 doc page 13.  This explains how to deal with price changes in sales document.
    Hope this helps.
    Ravi.

  • Config of billing type G2 for Revenue Recognition

    Hello Experts.
    I have a situation where I need to configure billing of credits for revenue recognition.
    For normal builling we have copied doc type SO to ZBCS and added ZTAD item category (copied from TAD) for the RR.
    To do this for credits I copied doctype CR to ZBCR and assigned ZTAD item category to it.
    When billing the ZBCR not I get the message "Item category ZBCR ZTAD cannot be invoiced with billing type G2".
    How can G2 be configured to allow this?
    This is G2's current setup.
    Billing Type G 2 C red tM e m o Created by
    Number systems
    No.range int.assgt. 19 Item no.increment 0
    General control
    SD document categ. O C re dit m emo Posting Block
    Transaction group 7 B il lin g doc um ent s Statistics
    Billing category
    Document type DG C us tom er cr ed it me mo
    Negative posting N o neg at ive p ost in g
    Branch/Head office C us tom er =Pa ye r/B ra nch =s old -t o p ar ty
    Credit memo w/ValDat N o
    Invoice list type
    Rebate settlement Rel.for rebate
    AcctDetermProc. KOF I0 0 A cco unt De e rm n ato n
    Doc. pric. procedure
    Acc. det. rec. acc.
    Acc. det. cash. set.
    Acc. det. pay. cards
    Output/partners/texts
    Output determ.proc. Z10 00 0 B il lin g Out pu t Application V 3
    Item output proc.
    Output Type
    Header partners FK B iln g D ocu m en t
    Item partners FP B il lin g Ite m
    TextDetermProcedure 03 Invo c e hea de r
    Text determ.proc.itm
    Delivery text

    Hi,
    You may be maually given the PR00 in ZBCR. But in your copy control (VTFA) --> item category ZTAD  --> pricing type, you may be maintained B (Carry out new pricing).
    If you maintain B, you have to change it to "D ". 
    When you maintain B, the system will search the Pricing again in Credit memo. All manual prices will be lost.
    Thanks
    M. Lakshmi Narasimhan

  • Date type-specific Customizing missing for date type ACTActPln

    Hi all.
    I'm using a Web Service obtained by copying the CRM 7.0 built-in WS APPTACTCRTRC.
    I'm using it to create Appointments using an Adobe Interactive Form.
    It goes everything fine (a Date is created in the system, with all the input data properly set) excepted the dates...
    The WS uses two TIMESTAMPS, TIMESTAMP_FROM for StartDateTime and TIMESTAMP_TO for EndDateTime, whereas the GUI transaction to create Dates accepts dates and times in separated fields.
    Going in Debug I can see that the execution ends with the following error, referred to the involved entity (CRM_APPOINTMENT):
    Date type-specific Customizing missing for date type ACTActPln
    CRM_APPOINTMENT uses date profile 0000000001 with three possible date types: ORDERACTUAL, ORDERPLANNED and ORDERPROPOSED and I cannot find anywhere date type ACTActPln (just to add it in customizing).
    Is anyone able to enlight me?
    Thank you in advance!
    Alessandro
    PS I've years of experience in Java programming but I'm quite new to the SAP world. Maybe the problem is not a problem at all, but it seems to me as such. Even if it has a trivial solution, please let me know. Thx!

    Hi,
    Well I was about to write that you should enter date in decimal format. but you already did that as mentioned in How to set a date in a Form where the bound date format is a decimal?
    In response to following from above thread (copied for others to understand my response)
    Hi all.
    I'm successfully using the LiveCycle Designer and I've managed to remotely create Appointments using a CRM Web Service (a mere copy of APPTACTCRTRC).
    The only problem I'm encountering is that I'm not able to set the dates/times (start and end of the appointment).
    Dragging each of the two fields from the WSDL based Data Connection I obtain a Decimal Field limited to 15 digits.
    How can I write a date and time in such a field?
    I've tried with a retroverse date as YYYYMMDDHHmmss (for example, 20100301124500) but it does not work
    (the appointment is indeed created, but with the start date and time fields filled with
    the current date/time and the end date and time fields filled with the current date and time plus 10 minutes).
    The retroverse date above is only 14 digit long, so, maybe, this is the problem.
    But, given the field definition, I'm not able to fill a blank space between the date and the time.
    I'm not able to put a dot either.
    What should I do?
    Any suggestions?
    Thank you in advance.
    Alessandro
    15 digit in UTC time format here is fraction of second so you should enter 201003011245000 (add one more zero).
    14th Oct 2010 16:00 should be written as 201010141600000, so just try it and and see if it works, I guess if you do not supply end time then by default it will be starttime + 10 min but this is just guess.
    Regards,
    Gourav

  • User exit for revenue recognition VF44

    Subject changed by moderator.  Please use informative subject in future
    I am trying to find a user exit for revenue recognition tcode : VF44. Can anybody help me in finding one. I have a program to find user exits. But it couldnt list any userexit or badi.
    Can anybody shed light on this.
    Best Regards.
    Edited by: Matt on Jan 16, 2009 11:31 AM

    Hi,
    check following link
    http://****************/Tutorials/ExitsBADIs/ExitsMain.htm
    Regards,
    Madhu

  • Customization for revenue recognition

    Can anyone advise why the customization setting for revenue recognition is greyed out?  This is related to the setting against the item category.
    Path : SD => Basic Functions => Acct Assignment/Costing => Revenue Recognition => Set revenue recognition for item categories.
    Is there some other settings need to be done first or is this customization accessed from other path?
    Thanks
    Peter

    Hi Peter,
    It's the correct path you are accessing! No prior settings required.
    It's working fine for me peter.
    Try once again.Ensure that you are in change mode.
    Regards,
    Raghav
    Edited by: Raghav on Jul 8, 2008 12:55 PM

  • Custom code for Target Source Reconciliation from a flat file

    Hi Experts,
    I need help in writing a custom code for Target Source Reconciliation from a flat file to OIM. The flat file will contain account details for different application instances. I am working on 11gr2.
    Thanks,
    Subin

    All right, all right, not so quickly.
    I am at the stage of trying to put one dimension
    array. But I stuck in one place, this is the program:
    import java.io.*;
    public class FromFile {
    public static void main(String[] args) throws IOException {
    File inputFile = new File("mac.txt");
    FileReader in = new FileReader(inputFile);
    int c;
    for(int i = 0; i < 10; i++) {
         c = in.read();
    System.out.println(c);
    and I try to read: 1 2 3 4 from text file
    This is the result so far...
    49
    32
    50
    32
    51
    32
    52
    -1
    -1
    -1
    well,
    I think I know what's wrong. I must change ASCII numbers into
    ints. But I dont' know how to do it. Some nice book, or
    tutorial on streams would come in handy. Could you correct
    it?.

  • Problems realted to changing the language for non-Unicode programs from one into anther.

    Hi,
    Hi everyone!
    Product Name: HP Pavilion dv6-6093ex
    Product Number : LM610EA#A2N.
    My Windows 7(464Bit) Ultimate,  and its base language, and display language is English.
    The Languages(English, French and Arabic) built-in (came re-downloaded and re-installed by the person who made the Windows disc installation). Thus, while installing Windows 7, those three lanauge listed for me to choose one of them to be the base language
    and display language, I have chosen 'English'. In the End of installation, there are three pre-packaged languages(English and French and Arabic) can be used as a display language.
    I would like anyone kindly to confirm for me why I have been facing these problems when changing  language for non-Unicode programs from English into Arabic.
    First: After I have installed the  AMD High-Definition Graphics Driver (sp55092) 8.882.2.3000 on my laptop. The contents of the of Intel Graphics and Media Control Panel are partially shown in Arabic while language for non-Unicode programs
    is Arabic, however, they are completely shown in English while language for non-Unicode programs is English.
    A: I found that contents of the of Intel Graphics and Media Control Panel are partially shown in Arabic (second screen shot below, however,
    when click on any options, for example 'Graphics properties' shown in Arabic in, the second window is shown in English) while language for non-Unicode programs is
    Arabic, and it doesn't matter what format or location is.
    B- when I changed language for non-Unicode programs into 
    English.
    I found that contents of the Intel Graphics and Media Control Panel are completely shown in English .
    Second:
    A- Only All Arabic contents will be displayed encryptely while language for non-Unicode programs is English
    B-  All the Arabic contents are displayed properly   while language for non-Unicode programs is  Arabic.
    Third: an error extracting drivers and software downloaded from official HP website while language for non-Unicode programs is English.
    A-  I noticed an error extracting all kinds of comprised files(drivers and software) downloaded from HP website while language for non-Unicode programs is English and whatever location and format are:
    B- However  while language for non-Unicode programs is Arabic, there is no error extracting files.
    In conclusion, Is it normal
    for all of you the contents of the of Intel Graphics and Media Control Panel are partially shown in your native while  language  used
    for non-Unicode programs is your native lanague, however, they are completely shown in English while language for non-Unicode programs is English?.  IF so I would be saying that if I have wanted the  contents of documents written in my language
    Arabic to be shown properly, then then I
    must let the language for non-Unicode programs be Arabic.
    Is this happens with you as well?
    Also, if I need extracting all kinds of comprised files(drivers and software) downloaded from HP website, then language for non-Unicode programs
    must be in my Arabic lanague English and whatever location and format are.
    Is this happened with you as well?
    I would highly appreciate any clarification from you.
    A man should convert his anger and sadness into strength to continue living in this life.

    Hi,
    I am confused about your issue.
    when you changed language for non-Unicode programs into  English, it show English.
    while language for non-Unicode programs is Arabic, it show Arabic, If it's none-Unicode.
    This is correct. Why you think it's an issue?
    About your second scenario description, I was not clear what you said. Could you give us a explanation?
    Note: System display language is not the un-Unicode program language.
    You can just choose one language to display the system at same time.
    This article might be helpful to you:
    Install or change a display language
    http://windows.microsoft.com/en-in/windows7/install-or-change-a-display-language
    Change the system locale
    http://windows.microsoft.com/en-in/windows/change-system-locale#1TC=windows-7
    Karen Hu
    TechNet Community Support

  • Unique data record means you can't  update a record from ECC with same key.

    Unique data record means you can't  update a record from ECC with same key fileds right?
    Details: For example i have two requests Req1 and Req2 in DSO with unique data record setting checked. on day one Req1 has a filed quantity with value 10 in Active data table. On day two Req1 can not be overwitten from ECC with Req2 with the same key fields but different value 20 in the filed quantity because of the Unique data record settings. finally the delta load fails from ECC going to DSO because of this setting. is it right?
    I think we can only use unique record setting going from DSO to cube right?
    Please give me a simple scenario in which we can use this setting.
    I already search the threads and will assign points only to valuable information.
    Thanks in advance.
    York

    Hi Les,
    Unique Data Records:
    With the Unique Data Records indicator, you determine whether only unique data records are to be updated to the ODS object. This means that you cannot load a data record into the ODS object the key combination for which already exists in the system – otherwise a termination occurs. Only use this setting when you are sure that only unique data records are to be loaded into the ODS object (for example, single documents). A typical application of this is in the loading of mass data. It improves the load performance.
    Hope it Helps
    Srini

  • CRM Extractor for service management - date type

    Hi,
    I want to extract data for the service management from crm system. I find the data with crm_order_read in the table et_appointment. I need the field appt_type with the time stamps.
    Is there a business content extractor available? I can not find one for this issue.
    In which table is the data from et_appointment really stored?
    Thanks in advance.
    Best regards
    Nils

    Hi Sunita,
    I think you wanted to calculate the time duration of the service requests. you can refer to tables
    CRMD_ORDERADM_H,
    CRMD_SRVPLAN_I (Service Plan Item - Service Cycle Interval).
    Or you can refer to FM CRM_ORDER_READ and export parameter ET_APPOINTMENT.
    Regards,
    Karthik.

  • Customer Exit for Number of Days from 1 st Apr to last date of Month Enter

    Hello BI Experts,
    I have a requirement to count the number of days from 1 st April of current year to the last date of month entered.
    For example : The use will enter say July 2010 or 003.2010  (as Fiscal Year Variant is V3 ).
    Today is 14 July ...So we have to first find out the end date of the July month ie 31 st July
    Then go to 1 st April 2010.
    Now calculate the Number of days between 1 st April to 31 st July 2010.
    I consider I have to create two Customer Exit variable
    as below
    1 st customer exit Bex variable  say  ZLY_MTH  ( Last day of Month Entered)
      and i_step = 1
    2 nd Customer Exit BEx Formula variable say ZF_NUMDAYS ( Number of days between two dates)
    i_step =1 .
    Please provide me the logic for the above two.
    Thanks in Advance.
    Regards,
    Amol Kulkarni

    PSUDEO CODE:
    1. Initially LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZMONTH'.
    2. Get the Month input using VAR_MONTH2 = LOC_VAR_RANGE-LOW+4(2)
    3. Now calculate Month+1: VAR_MONTH2 = VAR_MONTH2 + 1 (Refer **)
    4. Now calculate the Current Year: VAR_YEAR = LOC_VAR_RANGE-LOW+0(4).
    5. Get the 1st Day of the Month (VAR_MONTH2):  CONCATENATE '01' '/' VAR_MONTH2 '/' VAR_YEAR INTO L_S_RANGE-LOW.
    6. SUBRACT 1 (0DATE) from this DATE (This will give the logic for last day of the current month)
    Insert this code also for using the date conversions
            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
              EXPORTING
                INPUT  = VAR_MONTH2
              IMPORTING
                OUTPUT = VAR_MONTH2.
    Pls. check out this logic. Guess it would solve your need.
    Thanks,
    Arun Bala

  • Extractor for payroll reads data from cluster PCL2?

    Hello all,
    This is the line from help.sap in payroll extractor.
    "The extractor for payroll results reads data from payroll cluster PCL2, not from standard tables."
    Can someone explain to me what do we have to understand from that, and where in R/3 do we have to go and check for data.
    Thanks in advance.

    Anytime some of last information does not upload in delta to BW from payroll because payroll has a process to close it had to be executed (or something like that (sorry, i haven't enough funcional HR knoledge), it happened to me anytime).
    But, surely the user that you are using for extraction has no enought rights or authorizations.
    Look at these notes
    397208 **** very important!!!
    672514
    964569
    329961
    585682

  • How to add custom line for today's date

    Hi,
    I want to add one vertical line for today's date on my line chart.
    Is it possible to draw custom line dynamically in line chart.
    Thanks in advance
    Madhuri

    I think you will probably need CRChart by ThreeD Graphics (www.threedgraphics.com).  AFAIK, it's written by the guys who supply the charting module to Crystal, so integrates 100%, even if it's a bit fiddly.
    It's a bit pricey (more than CR!), but if you need that functionality, it's about your only option. I've bought it do add a 'your average' linesymbol and 'everyone's average' linesymbol to a chart.
    Essentially, it uses macros to plot user defined lines, box fills, shapes etc onto your chart.
    You put something like this into the text fields of the chart:
    @user_line 0,0,3,100 = draw a line from the 0,0 point to the 3rd group, 50th y-value.
    You can use variable to define these points, so if you have a chart in a group, it'll display a different line position for each group.

  • Hierarchy issue:Customer name for xyz  is blank

    Hi Guys
    I have added 1 new A/C code in the customer hierarchy thru RSH1.Description is not shown.Customer name for xyz  is Blank.So plz tell hw to check??
    Regards
    Bunty.

    Hi,
    Is there description maintained for the customer in infobject?
    Thanks
    Srikanth

Maybe you are looking for

  • Can't print online after installing IE9, HP Deskjet 1050 print scan copy

    A week ago or so I installed IE9, had IE7 and it just was not working with allot of web pages so I updated to IE9. I sell on ebay and I went to make a printing label thru ebays site and I keep getting this error message. an error has occured in the s

  • Invoive

    at the time of creating excise invoice for depo sales i am getting this error how can i ? "G/L account 400010 not maintain in chart of account INT"

  • Partition problem

    i was wondering how could i get the following error when my partition strategy is partition by range (service_dt) partition call_minvalue values less than (to_date('2007-07-09','YYYY-MM-DD')) tablespace data1, partition call_part_20070719 values less

  • TS4644 When I click on iCoud Keychain settings nothing happens.

    Just got a new iPhone 4s and I set it up with little difficulty but when I go into Settings>iCloud Keychain the screen freezes.

  • Re-installing Muse

    I can't re-install Muse. The Apps manager says it is up to date. However, it is no longer on my system. I need it. william lere