Replication of Customer master data from R/3 to CRM.
Dear Friends,
If i want to replicate customer from R/3 to CRM what are the prerequisites and how to execute a campaign for the replicated BP's(target groups).What is the load object that we use in R3AS.
REgards,
Prabhu.
CUSTOMER_MAIN is the object used to download customers from R/3 to CRM.
For CRM 5.0 you can use the link below:
http://help.sap.com/bp_crmv250/CRM_DE/BBLibrary/html/BBlibrary.htm
You then need to read the instructions for:
CRM Generation
CRM Connectivity
CRM Customizing Replication
CRM Organization Model
CRM Master and Transaction Data Replication
Those steps will provide on how to setup the middleware for customers.
You then will need the to read the following building blocks for marketing:
CRM Central Master Data
CRM Marketing Master Data
CRM Lean Campaign Management.
Good luck,
Stephen
Similar Messages
-
Error while replicating customer master data from R/3 to CRM
Hi gurus,
I am working on replication of customer master data from R/3 to CRM. It was working fine till date. But Now I am not able to replicate because in Inbound queue (in CRM 5.0) I get the status SYSFAIL for queue name R3AI_DNL_CUST_ACGRPB. When I checked SYSFAIL it shows "Incorrect parameter with CALL FUNCTION"
Kindly help regarding it.
regards,
vimalHello Vimal,
Please refer 552435 and see if this helps.
Please reward points.
regards,
Muralidhar Prasad.c -
Error in pulling customer master data from R/3 to CRM
Hi,
I am trying to pull customer data from R/3 to CRM with different SHIP-TO partner. In this case, the VAT REG. NO. is different from its country ISO code, so when i try to execute in tcode R3AR2 and R3AR4, I was encountered error message in tcode 'SMW01' saying "ISO CODE <code> IS NOT CORRECT IN THE VAT REGISTRATION NUMBER".
Is there anyone knows any recent updates from SAP that might solve this problem?
Please help.
Thanks.Hello,
it seems your customizing of ERP and CRM is different in this area.
Please try a new initial load for all the customizing objects which may be responsible:
DNL_CUST_BASIS
DNL_CUST_BASIS2
DNL_CUST_BASIS3
DNL_CUST_BASIS5
DNL_CUST_BASIS6
DNL_CUST_BNKA
DNL_CUST_KTOKD
DNL_CUST_PRC
DNL_CUST_PROD0
DNL_CUST_PROD1
DNL_CUST_PROD3
DNL_CUST_SPROD
DNL_CUST_TVAST
DNL_CUST_TVFS
DNL_CUST_TVKN
DNL_CUST_TVLS
We do every week a new load of this objects using a background job.
Alternativly you could investigate which customizing object is the correct one and only load this.
After this new load retest your scenario.
Best regards
Manfred -
Unable to extract Customer Master data from MDC
Hello,
We creating an MDM-XI-ERP2005 Customer scenario. We want to work with all bussiness scenarios (not customizing scenario).
First I'm trying to extract Customer Master Data from EP 2005 using MDM_CLNT_EXTR.
I have created a New Variant which properties are:
Variant: CUSTOMER_TOTAL
Description: Send all customer data to MDM
Extraction Object: CUSTOMER_EXTRACT.
Target System: PI7.
But, the display jobs shows the following error: Could not determine recipients for message type MDMRECEIPT. Job cancelled after system exception.
We need to focus the problem. We have done the following ALE configuration.
SALE transaction:
In Basic Settings -> Logical Systems -> Define Logical System we have add the following logical systems:
EUS100
MDM: Master Data Management
PI7: Process Integration 7.0
WE21:
Transactional RFC -> PI7, IDOC record types SAP Release 4.x
RFC destination: SAPSLDAPI
BD64
New Model -> PFMC
Add message type: Model iview: PFMC
Sender: EUS100
Receiver: PI7
Message Type: DEBMDM
WE20 transaction shows:
Partner profiles -> Partner Type LS (logical system)
PI7: Outbound parmtrs. DEBMDM, SYNCH.
Any idea will be very helpful,
Thanks in advance
Marta.
Edited by: Marta Sánchez on Jul 9, 2008 12:34 PMSorry because I made a mistake in my previous message. ALE seems to be correctly configured. I'll try to update correctly my current situation:
In WE02 I can see al IDOCs that I'm trying to send to XI. All them have the IDoc Status = 3 (Data Passed to Port OK) instead of 12 Status Dispatch OK :(. So, It seems an tRFC error.
SM58 shows me more trails: "Basic type 'DEBMDM06' is unknown"
before that I have done the following steps at SAP ERP:
1. WE21: I have created a PI7 port with 700PI70CLNT RFC.
2. SM59: I have checked successfully 700PI70CLNT RFC connection.
3. WE20: I have created a PI7 Partner Type LS with the following inbound and outbound parameters: DEBMDM and MDMRECEIPT.
4. BD64: I have created a Distribution Model with DEBMDM and MDMRECEIPT message types.
and at SAP PI:
5.IDX: Port: SAPEUS. Client: 111. RFC Destination: PI7.
6. technical and business system for sender SAP system(System Landscape Directory)...
- Maybe some of the previous steps is not correct....
- Is RFC Destination = PI7 is correct in step #5?
- Is also necessary to configure more steps in PI system like RFC destinations or Transactional port?
- I have read that is neccessary to check that the option "transfer idoc immediately" in we20. How?
Please any idea will be very helpful.......
Thank you!
Best regards,
Marta. -
Downloading Master data from R/3 to CRM
Hi all,
Inorder to download Master data from R/3 to CRM, first we need to download all relavent customizing and condition objects, is this is the correct procedure. Pls anyone clarify this.
If we make any changes to the data in R/3 which is already downloaded to CRM, will those changes replicate in CRM, inorder to replicate those changes in CRM what are the necessary things to be done.
please anyone clarify on this
Thanks In advance
Phani Kumar TNHi Phani -
You will need to download all the condition and customizing objects which are relavant for the data you are replicating. Else you will get errors.
Ans to 2nd part of your Q - you can do this by doing a delta load.
I have some documents which u may find useful for this. Let me know where I can e-mail that.
Cheers,
Aarthi. -
Initial Load for Master Data from R/3 to CRM
Hi Middleware Experts,
I have an ambiguity on initial load of enhanced master data from R/3 to CRM. The current situation is
1)I have already enhanced master data on R/3 side with some additional fields. Now shall i go ahead with standard intial load of these Master data to CRM without creating middleware interfaces to map those enhanced fields on CRM side?
2)Also after doing initial load from R/3 to CRM, if I develop middleware interfaces for mapping these new fields of master data and then again do the initial load, so that new fields also get mapped, will the initial load be done properly as i have already done it once? will it overwrite the previous initial load data on CRM side properly?
Please suggest whether it can be done or not and which is the better option.
Regards,
RahulHi Rahul,
Since you have not done the mapping yet the middleware will not bring those fields to CRM it will work just like a standard initial load without considering the enhanced master data field.
When you develop the middleware interface and enhance the CRM data structure also and then you can see the exchange of those fields through MW. You can start the intial load at that time also its not that you can do the initial load just once. But the better option would be that you avoid doing initial load several times because its time consuming activity. You do all the enhancement and then finally perform the initaial load.
<b>Allot points if my post helps!!</b>
Best regards,
Vikash. -
Demo - Extraction of Customer Master Data from SAP R/3 ECC6 to MDM5.5
Hello,
I am new to MDM . Would appreciate if someone can give a solution to the below request.
We are doing a demo project in our Company to extract all the master data related to SALES cycle. We are doing an extraction of Customer Master Data. Currently we have the unlicensed version of MDM and very soon we will get the licensed version.
We have the Customer Master Repository created in MDM Console. The IDOC type we are using is DEBMDM05.
Is there a easy way to map the fields of IDOC to the MDM Repository. Right now we are doing a manual process of comparing the IDOC fields and MDM Repo in an excel but this is tedious and time consuming.
Can anyone suggest an easier way to identify so that we know which fields match correctly.
Thanks
LeenaHi Leena,
First of all you have 2 options to generate IDOCs from SAP R/3 system
1.mdmgx>one IDoc per record
2.mdm_clnt_extr>for generating single IDoc having entire set of records.
Secondly,if you want to get the data mapped automatically,you should use standard maps provided by SAP(Business Content).
If at all you have created new fields then you should manually map those fields.
If any other queries pl ask
Reward points if found useful
Regards,
Pramod. -
Error while loading customer master data through Idoc (DEBMAS) from BODS
Hi All,
I am trying to load customer master data from BODS to SAP ECC through IDOC(DEBMAS). The jobs run successfully but IDOC is not getting posted. Please find the error below.
I checked in TSKD table the entry 0 is present. Please help me to resolve this issue.
Thanks & Regards,
Balamurugan GHi, did you referred this link : Error during customer master mass update through XD99
-
Query in customer master data upload ....?
Hi Guru's,
I am uploading the customer master data from presentaion server to customer tables using functional module SD_CUSTOMER_MAINTAIN_ALL.
while check the Function module separatly and it working properley and i am able to ctere customer...
and i am using the same function module in the program i am unable to upload ..could please check and let me know where i am doing mistake in the below program logis..and values also moving properly before calling function module..while calling the functinal module the controle comming out of the loop and program went to dump i am able to see the message in dump as like this(it may helpfull for resolve):
Name of function module...............: "SD_CUSTOMER_MAINTAIN_ALL"
Name of formal parameter..............: "O_KNA1"
Technical type of actual parameter....: "C"
Technical length of actual parameter..: 20 bytes
Technical type of formal parameter....: "u"
Technical length of formal parameter..: 3634 bytes
Name of formal parameter at caller....: "O_KNA1"
*& Report ZERP_CUSTOMER_CREATE_UPLOAD
REPORT zerp_customer_create_upload.
PARAMETERS:p_files TYPE string.
*DATA :xkunnr(10) LIKE kna1-kunnr. "unique KUNNR
DATA: gs_i_kna1 TYPE kna1,
gs_i_knb1 TYPE knb1,
gs_i_knvv TYPE knvv,
gs_return TYPE bapireturn1,
gs_i_bapiaddr1 TYPE bapiaddr1,
gt_t_xknvi TYPE STANDARD TABLE OF fknvi,
gwa_t_xknvi TYPE fknvi,
gt_t_xknbk TYPE STANDARD TABLE OF fknbk,
gwa_t_xknbk TYPE fknbk,
gt_t_yknvp TYPE STANDARD TABLE OF fknvp,
gwa_t_xknvp TYPE fknvp.
TYPES:BEGIN OF gty_itab1,
abc(305),
END OF gty_itab1.
DATA: gt_itab1 TYPE STANDARD TABLE OF gty_itab1,
gwa_itab1 TYPE gty_itab1.
TYPES :BEGIN OF gty_itab2,
ktokd(4), "customer account grp kna1
kunnr(10), "customer kna1
name1(35), "name1 kna1
sortl(10), "sort filed kna1
stras(35), "house number and adres kna1
pstlz(10), "postal code kna1
ort01(35), "city kna1
land1(3), "country kna1
telf1(16), "tele phone no kna1
telfx(31), "fax num kna1
kukla(2), "cust classificaion kna1
bukrs(4), "company code knb1
akont(10), "reconcilation acct knb1
vkorg(4), "sales org knvv
vtweg(2), "distr chan knvv
spart(2), "division knvv
zterm(4), "terms of payment knvv
bzirk(6), "sales district knvv
vkbur(4), "sales office knvv
vkgrp(3), "sales grp knvv
kdgrp(2), "cust grp knvv
waers(5), "currency knvv
konda(2), "price grp knvv
kalks(1), "pricing procedure assign knvv
lprio(2), "delivery plant knvv
vsbed(2), "shipping conditions knvv
vwerk(4), "delivering plant knvv
inco1(3), "inco1 knvv
inco2(28), "inco2 knvv
kkber(4), "cred control area knvv
ktgrd(2), "acc assgn grp knvv
taxkd(1), "tax classification 4 cust knvi
bankn(18), "bank account number knbk -
xkunnr(10),
END OF gty_itab2.
DATA: gt_itab2 TYPE STANDARD TABLE OF gty_itab2,
gwa_itab2 TYPE gty_itab2.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_files
filetype = 'ASC'
TABLES
data_tab = gt_itab1
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT gt_itab1 INTO gwa_itab1.
gwa_itab2 = gwa_itab1-abc(305).
APPEND gwa_itab2 TO gt_itab2.
ENDLOOP.
LOOP AT gt_itab2 INTO gwa_itab2.
SPLIT gwa_itab2 AT ',' INTO gwa_itab2-ktokd
gwa_itab2-kunnr
gwa_itab2-name1 gwa_itab2-sortl
gwa_itab2-stras gwa_itab2-pstlz
gwa_itab2-ort01 gwa_itab2-land1
gwa_itab2-telf1 gwa_itab2-telfx
gwa_itab2-kukla gwa_itab2-bukrs
gwa_itab2-akont gwa_itab2-vkorg
gwa_itab2-vtweg gwa_itab2-spart
gwa_itab2-zterm gwa_itab2-bzirk
gwa_itab2-vkbur gwa_itab2-vkgrp
gwa_itab2-kdgrp gwa_itab2-waers
gwa_itab2-konda gwa_itab2-kalks
gwa_itab2-lprio gwa_itab2-vsbed
gwa_itab2-vwerk gwa_itab2-inco1
gwa_itab2-inco2 gwa_itab2-kkber
gwa_itab2-ktgrd
gwa_itab2-taxkd
gwa_itab2-bankn.
*moving files values from ITAB2 work area to global structure related to FM.
gs_i_kna1-ktokd = gwa_itab2-ktokd.
gs_i_kna1-kunnr = gwa_itab2-kunnr.
gs_i_kna1-name1 = gwa_itab2-name1.
gs_i_kna1-sortl = gwa_itab2-sortl.
gs_i_kna1-stras = gwa_itab2-stras.
gs_i_kna1-pstlz = gwa_itab2-pstlz.
gs_i_kna1-ort01 = gwa_itab2-ort01.
gs_i_kna1-regio = gwa_itab2-land1.
gs_i_kna1-telf1 = gwa_itab2-telf1.
gs_i_kna1-telfx = gwa_itab2-telfx.
gs_i_kna1-kukla = gwa_itab2-kukla.
gs_i_knb1-bukrs = gwa_itab2-bukrs.
gs_i_knb1-akont = gwa_itab2-akont.
*I FOR GOT TO INCLUDE THE ZTERM VALUE IN EXCELL SHEET SO INCLUDED HARD CODE HERE
gs_i_knb1-zterm = '0001'.
gs_i_knvv-vkorg = gwa_itab2-vkorg.
gs_i_knvv-vtweg = gwa_itab2-vtweg.
gs_i_knvv-spart = gwa_itab2-spart.
gs_i_knvv-zterm = gwa_itab2-zterm.
gs_i_knvv-bzirk = gwa_itab2-bzirk.
gs_i_knvv-vkbur = gwa_itab2-vkbur.
gs_i_knvv-vkgrp = gwa_itab2-vkgrp.
gs_i_knvv-kdgrp = gwa_itab2-kdgrp.
gs_i_knvv-waers = gwa_itab2-waers.
gs_i_knvv-konda = gwa_itab2-konda.
gs_i_knvv-kalks = gwa_itab2-kalks.
gs_i_knvv-lprio = '02'. "gwa_itab2-lprio.
gs_i_knvv-vsbed = gwa_itab2-vsbed.
gs_i_knvv-vwerk = gwa_itab2-vwerk.
gs_i_knvv-inco1 = gwa_itab2-inco1.
gs_i_knvv-inco2 = gwa_itab2-inco2.
gs_i_knvv-kkber = gwa_itab2-kkber.
gs_i_knvv-ktgrd = gwa_itab2-ktgrd.
gwa_t_xknvi-tatyp = 'UTXJ'. "HARD CODE
gwa_t_xknvi-aland = 'US'. "HARD CODED
gwa_t_xknvi-kz = '0'. "HADR CODE
gwa_t_xknvi-taxkd = '0'. "gwa_itab2-taxkd.
APPEND gwa_t_xknvi TO gt_t_xknvi.
gwa_t_xknbk-bankn = gwa_itab2-bankn.
APPEND gwa_t_xknbk TO gt_t_xknbk.
gs_i_knb1-lockb = 'X'.
gs_i_knvv-kzazu = 'X'.
gs_i_knvv-kztlf = 'X'.
gs_i_knvv-perfk = 'X'.
gs_i_knvv-prfre = 'X'.
gs_i_kna1-spras = 'EN'.
CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
EXPORTING
i_kna1 = gs_i_kna1
i_knb1 = gs_i_knb1
i_knvv = gs_i_knvv
I_BAPIADDR1 =
I_BAPIADDR2 =
I_MAINTAIN_ADDRESS_BY_KNA1 = ' '
I_KNB1_REFERENCE = ' '
I_FORCE_EXTERNAL_NUMBER_RANGE = ' '
I_NO_BANK_MASTER_UPDATE = ' '
I_CUSTOMER_IS_CONSUMER = ' '
I_RAISE_NO_BTE = ' '
PI_POSTFLAG = ' '
PI_CAM_CHANGED = ' '
PI_ADD_ON_DATA =
I_FROM_CUSTOMERMASTER = ' '
IMPORTING
e_kunnr = xkunnr
o_kna1 = xkunnr
E_SD_CUST_1321_DONE =
TABLES
T_XKNAS =
t_xknbk = gt_t_xknbk
T_XKNB5 =
T_XKNEX =
T_XKNVA =
T_XKNVD =
t_xknvi = gt_t_xknvi
T_XKNVK =
T_XKNVL =
T_XKNVP =
T_XKNZA =
T_YKNAS =
T_YKNBK =
T_YKNB5 =
T_YKNEX =
T_YKNVA =
T_YKNVD =
T_YKNVI =
T_YKNVK =
T_YKNVL =
t_yknvp = gt_t_yknvp
T_YKNZA =
T_UPD_TXT =
EXCEPTIONS
client_error = 1
kna1_incomplete = 2
knb1_incomplete = 3
knb5_incomplete = 4
knvv_incomplete = 5
kunnr_not_unique = 6
sales_area_not_unique = 7
sales_area_not_valid = 8
insert_update_conflict = 9
number_assignment_error = 10
number_not_in_range = 11
number_range_not_extern = 12
number_range_not_intern = 13
account_group_not_valid = 14
parnr_invalid = 15
bank_address_invalid = 16
tax_data_not_valid = 17
no_authority = 18
company_code_not_unique = 19
dunning_data_not_valid = 20
knb1_reference_invalid = 21
cam_error = 22
OTHERS = 23.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF sy-subrc EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
WRITE: / 'Error Message:', 'error in creation'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
WRITE: / 'costomer', gwa_itab2-kunnr, 'created'.
ENDIF.
ENDLOOP.please let me know if my qestion is not clear...
and please cinfirm me ..that can i use the function module (SD_CUSTOMER_MAINTAIN_ALL) instead of BAPI (BAPI_CUSTOMER_CREATEFROMDATA1) for uploading customer master data.
please respond me ASAP.
thanks in advance and will give full points
thanks®ards
Srinivas. -
Migration of customer master data
hi guys
while uploading the customer master data from legacy to sap r/3 with lsmw
if some files are not uploaded, in which transaction code we see that filesHi Krishna,
You can use the standard batch input program RFBIDE00 in LSMW to update the customer master data. However, there might be scenarios where you might be required to update the fields which do not get updated by the standard bacth input program. If any of such fields are defined as mandatory, then you wont be able to use this method directly.
In such cases you will have to either create a recording to poplate the fields which do not get updated by the standard program and use both the recording and the standard batch input program to update the customer master data OR create a recording for customer master create and use the same in LSMW.
Best regards,
Harsh -
Loading customer master data using lsmw and bdc
Hi all..
Iam a beginner in sap world and my first project is to load the customer master data from mainframes into sap.
Can anyone guide me how to approach to this project and what are the best materials to go through. Also can any one send some sample programs related to these..
It would be a great help of you guys for a beginner like me..
Thanks,
mahiMessage type DEBMAS
Idoc type DEBMAS** where ** is highest number available in your system (check via WE30). e.g. DEBMAS06 -
Retrieving Dunning Clerk's name from Customer master data
Hi all,
I have to retrieve the dunning clerk's name in report ZRSD0001 (Customer Master Data Report).
There are standard methods to call the subroutine to retrieve the texts for some field like the bank statement text:
PERFORM TEXTFIELD_CALL(RSAQEXCE) USING KNB1 'KNB1' 'XAUSZ' TEXT_KNB1_XAUSZ.
This works perfectly. But it fails when I use the same method to retrieve the dunning clerk's name:
PERFORM TEXTFIELD_CALL(RSAQEXCE) USING KNB5 'KNB5' 'BUSAB' TEXT_KNB5_BUSAB.
So any other standard subroutine that I can use instead of using a sql statement myself ?
Thanks.Hi,
Why do you want to use a standard routine for this?? If you know the customer number(KUNNR), Company Code(BUKRS) and Dunning Area(MABER) You can get Dunning clerk(BUSAB) from KNB5 and using this BUSAB and BUKRS you can go to table T001S to get the SNAME which is Dunning Clerk's name.
Thanks,
Kavitha -
How to load master data from SAP R/3 system like Customer master, materioal master , vendor master.............
Hi Bramha,
Check ...........
Re: master data loading in BI 7.0
/message/4708129#4708129 [original link is broken]
Re: Master data loading.
Regards,
Vijay. -
Copy mode of payment from customer master data to sales order,
Hi Gurus,
Hope all is fine.
I have a small doubt. If we want to transfer the mode of payment from customer master data to sales order, do we have to use Exit- MV45AFZZ.
Can't we transfer the data without the exit?Hi,
I have tested this in sand box.Thought the customer master is having payment method ( payer ) ,It is not copying from customer master to sales order but if you maintain manually in sales order ,it is copying into billing document level.FYI see below snap shot.
Note:If you want it from customer master into sales order,may be you need to take help of abaper on this.
BR's,
Naren -
Customer master data updation from one system to another system
HI Experts,
I have an issue with customer master data updation from one system to another system. And here only one field is not updating properly from one system to another system. and we found this is through idoc , but we don't find field in any segment.
and the field is called ADDR1_DATA-HOME_CITY.
and this will displayed as different city in address column.
but as per the notes given in help , it is by program , form through only passing. but not able to trace and as per my analysis ADRC table , ADRNR had this field HOME CITY.
And this is for some customers updating wrong one from one system to another system , and for some customers field itself not updating in address column.
please can you suggest any one. here are screenshot for your reference.that is not enough, it was enough in times before 40b release, but this was in the last century
Please read OSS note 384462 - Master data and addresses
it explains what you have to do for ALE
Maybe you are looking for
-
Dang DVD drive refuses to open
Gday Evry1, Went out today and bought myself a shiny new DVD Burner. An MSI DF4-A. Installed it, the computer recognised it, but no matter what I tried, the drive tray would just not open. When I either pressed the eject button, or tried to eject it
-
I am trying to change a file name. It is so difficult. I cannot get the name to be highlighted. Is their an easy way to change name?
-
can Can apple fix my ipod , only the bottom keyboard wont work and it takes me forever to slide it & my screen is cracked and i dont have insurance can they replace mine & how much ?
-
my tv only has 1 hdmi input which i use between the cable box and the tv. i now have apple TV and don't want to have to disconnect the cable box and attach the apple tv each time i want to use it. can i use a hdmi spliter?
-
I have an iPod Touch which I've had for almost 4 years, with 32 GB of memory. I am unable to update it, and consequently cannot install any newer apps. I am very disappointed that I spent a lot of $$; now Apple wants me to spend $$ again to get a new