Misleading BT estimate
I signed up for Infinity 2 on the basis of a download estimate of approx 50M. I never got near this (30M usually) and eventually a BT engineer came out. He checked with some technical people and was told that the very best the line would handle was about 34.
Now I am quite happy with the speed I've got and I'm sure there are many people who would be glad to have this but I'm still a little miffed about the misleading estimate and what I would really like to know is why BT marketing do not (apparently) have access to the same information on line capacities that BT technical have?
Hi
Just for the record from someone who's already been through this "pain". For download speeds, there seems to be a threshold of 38.7mbits. If you never reach this, then you're unlikely to get any benefit from Infinity2
I had Infinity installed in July 2011 and I could never get anything more than ~29mbit down.
I upgraded to Infinity2 back in April and had an estimate of 41.4mbit down. Nice I thought!
Since the upgrade I saw no improvement. I had an engineer come round and do a thorough check of my line - even changed me to a different pair with better SNR. But, I was told that there is aluminium in the service between me and the cabinet. Aluminium is not a good friend of high frequency signalling!
However, since his visit I have now gradually risen to the dizzy heights of ~35mbit down. Much better than when I first took up Infinity last year.
Infinity is still in it's infancy and we are all still learning about how it is settling in. I do agree with you in that BT should be very careful how they market Infinity2. This is pertinent as there may be quantities of aluminium cabling out there lurking in sections between one's home and the cabinet!
ptan
Similar Messages
-
How to correct Query time estimate?
In Discoverer Plus 10g,
The dialog box tells me this query will take 2 hours and 16 minutes and it completes in 15 seconds!!! I verified next day and it showed same time and completed in 15 seconds. This misleads users to take wrong action. I have deleted all the statistics data for this report from EUL5_QPP_STATS table but still no luck.
Does anyone know how we can fix this estimate time?
Thanks,
JayPuppethead - All the tables were analyzed last month
Chinmay - This is not related to query prediction performance
Michael- There are only 1083 records in EUL5_QPP_STATS table. Do you still think its best idea to rebuild all 3 indexes?
This is a strange behavior - Now reports shows estimate runtime more than 3 hrs and completes in 30 seconds with data. Same query when i ran in the TOAD it took 9 mins to complete it.
Plus shows data in 30 seconds and TOAD takes 9 mins for same query!
Any idea on this?
Thanks,
Jay -
Material Cost estimate modification
Hi Experts
I want to modified this report and add cost estimate value from MBEW (field is STPRS) for each material to this report. I have used the table MBEW but unable to locate where to start.
Can anyone have a look and comment on this report
REPORT command_extract .
*CLASS cl_gui_control DEFINITION LOAD.
*CLASS cl_gui_frontend_services DEFINITION LOAD.
Tables
TABLES:
kna1,
knb1,
knvv,
mara,
mast, "JPC20061107
marc,
makt,
sscrfields.
CONSTANTS: BEGIN OF gc_status,
acc TYPE zcrstat1 VALUE ' ACC',
hol TYPE zcrstat1 VALUE ' HOL',
sto TYPE zcrstat1 VALUE ' STO',
ok TYPE zcrstat1 VALUE ' OK',
hold TYPE zcrstat1 VALUE 'HOLD',
END OF gc_status.
CONSTANTS: BEGIN OF gc_reason,
000 TYPE zreason VALUE '000',
001 TYPE zreason VALUE '001',
002 TYPE zreason VALUE '002',
003 TYPE zreason VALUE '003',
004 TYPE zreason VALUE '004',
005 TYPE zreason VALUE '005',
006 TYPE zreason VALUE '006',
007 TYPE zreason VALUE '007',
008 TYPE zreason VALUE '008',
010 TYPE zreason VALUE '010',
011 TYPE zreason VALUE '011',
021 TYPE zreason VALUE '021',
022 TYPE zreason VALUE '022',
023 TYPE zreason VALUE '023',
024 TYPE zreason VALUE '024',
025 TYPE zreason VALUE '025',
026 TYPE zreason VALUE '026',
999 TYPE zreason VALUE '999',
END OF gc_reason.
TYPES: BEGIN OF ty_kna1_fields,
kunnr TYPE kna1-kunnr,
sperr TYPE kna1-sperr,
aufsd TYPE kna1-aufsd,
lifsd TYPE kna1-lifsd,
faksd TYPE kna1-faksd,
loevm TYPE kna1-loevm,
END OF ty_kna1_fields.
TYPES: BEGIN OF ty_knb1_fields,
kunnr TYPE knb1-kunnr,
bukrs TYPE knb1-bukrs,
sperr TYPE knb1-sperr,
loevm TYPE knb1-loevm,
END OF ty_knb1_fields.
TYPES: BEGIN OF ty_knvv_fields,
kunnr TYPE knvv-kunnr,
vkorg TYPE knvv-vkorg,
vtweg TYPE knvv-vtweg,
spart TYPE knvv-spart,
aufsd TYPE knvv-aufsd,
lifsd TYPE knvv-lifsd,
faksd TYPE knvv-faksd,
END OF ty_knvv_fields.
TYPES: BEGIN OF ty_knkk_fields,
kunnr TYPE knkk-kunnr,
kkber TYPE knkk-kkber,
ctlpc TYPE knkk-ctlpc,
crblb TYPE knkk-crblb,
knkli TYPE knkk-knkli,
klimk TYPE knkk-klimk,
skfor TYPE knkk-skfor,
ssobl TYPE knkk-ssobl,
END OF ty_knkk_fields.
TYPES: BEGIN OF ty_cust_stat_output,
kunnr(10) TYPE c, "Customer #
stat(4) TYPE c, "Customer status
END OF ty_cust_stat_output.
TYPES:
BEGIN OF ty_customers,
kunnr(10) TYPE c, " Customer #
div1(1) TYPE c, " Pipe delimiter
name1(32) TYPE c, " Customer name
div2(1) TYPE c, " Pipe delimiter
altkn(8) TYPE c, " Old Customer #
div3(1) TYPE c, " Pipe delimiter
stras(30) TYPE c, " Street
div4(1) TYPE c, " Pipe delimiter
ort01(20) TYPE c, " City
div5(1) TYPE c, " Pipe delimiter
regio(3) TYPE c, " State
div6(1) TYPE c, " Pipe delimiter
pstlz(4) TYPE c, " Postcode
div7(1) TYPE c, " Pipe delimiter
telf1(14) TYPE c, " Phone 1
div8(1) TYPE c, " Pipe delimiter
telf2(14) TYPE c, " Phone 2
div9(1) TYPE c, " Pipe delimiter
erdat(10) TYPE c, " date
div10(1) TYPE c, " Pipe delimiter
splant(2) TYPE c, " plant
div11(1) TYPE c, " Pipe delimiter
END OF ty_customers,
it_ty_customers TYPE ty_customers OCCURS 0,
BEGIN OF ty_custstat,
kunnr(11) TYPE c, " Customer #
company(2) TYPE c, " #
status(3) TYPE c, " acc,cod,hol,
END OF ty_custstat,
it_ty_custstat TYPE ty_custstat OCCURS 0.
TYPES:
BEGIN OF ty_materialm,
matnr(12) TYPE c, " Material #
maktx2(40) TYPE c, " Command sales desc.
maktx(16) TYPE c, " Basic description
extwg(6) TYPE c, " External Material Group
flag1(1) TYPE c, "
flag2(1) TYPE c, "
flag3(1) TYPE c, "
flag4(1) TYPE c, "
END OF ty_materialm,
it_ty_materialm TYPE ty_materialm OCCURS 0,
BEGIN OF ty_materialp,
matnr(12) TYPE c, " Material #
werks(4) TYPE c, " plant
batch(1) TYPE c, " download to batch
END OF ty_materialp,
it_ty_materialp TYPE ty_materialp OCCURS 0.
TYPES:
BEGIN OF ty_bom,
matnr(12) TYPE c, " Material #
werks(4) TYPE c, " Plant
posnr(3) TYPE c, " position
idnrk(12) TYPE c, " BOM material #
menge(10) TYPE c, " Quantity
meins(3) TYPE c, " Unit of Measure
END OF ty_bom,
it_ty_bom TYPE ty_bom OCCURS 0,
*Start of block of changes for JPC20061107
BEGIN OF ty_bom_sapfmt,
matnr TYPE MAST-MATNR, " Material #
werks TYPE MAST-WERKS, " Plant
posnr TYPE STPO-POSNR, " position
idnrk TYPE STPO-IDNRK, " BOM material #
menge TYPE STPO-MENGE, " Quantity
meins TYPE STPO-MEINS, " Unit of Measure
potx1 TYPE STPO-POTX1, " Text description for BOM
END OF ty_bom_sapfmt.
BEGIN OF ty_bomlist,
matnr LIKE mast-matnr, " Material #
stlnr LIKE mast-stlnr, " BOM #
posnr LIKE stpo-posnr, " BOM item#
idnrk LIKE stpo-idnrk, " BOM material #
menge LIKE stpo-menge, " BOM material qty
meins LIKE stpo-meins, " BOM material uom
END OF ty_bomlist,
it_ty_bomlist TYPE ty_bomlist OCCURS 0.
*Ending block of changes for JPC20061107
Selection screen definition
SELECTION-SCREEN: BEGIN OF BLOCK gen WITH FRAME TITLE text-001.
PARAMETERS:
p_dir like rlgrap-filename obligatory, " extract directory
p_ccust TYPE c DEFAULT ' ' AS CHECKBOX, " Check box customers
p_cmatm TYPE c DEFAULT ' ' AS CHECKBOX, " Check box Materials
p_cbom TYPE c DEFAULT ' ' AS CHECKBOX, " Check box BOMs
p_ccst TYPE c DEFAULT ' ' AS CHECKBOX. " Check box credit stat
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-006.
PARAMETERS:
p_gui RADIOBUTTON GROUP rg1 USER-COMMAND u01,
p_svr RADIOBUTTON GROUP rg1 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK a.
SELECTION-SCREEN: END OF BLOCK gen.
SELECTION-SCREEN: BEGIN OF BLOCK cust WITH FRAME TITLE text-002.
PARAMETERS:
p_dcust LIKE filepath-pathintern DEFAULT 'Z_COMMAND_CUST_EXTRACT',
p_fcust LIKE rlgrap-filename,
p_dcomp LIKE knb1-bukrs,
p_dsale LIKE knvv-vkorg,
p_dwerk(3) TYPE c.
SELECTION-SCREEN: END OF BLOCK cust.
SELECTION-SCREEN: BEGIN OF BLOCK matnr WITH FRAME TITLE text-003.
PARAMETERS:
p_dmatm LIKE filepath-pathintern
DEFAULT 'Z_COMMAND_MATERIAL_EXTRACT',
p_fmatm LIKE rlgrap-filename,
p_fmatp LIKE rlgrap-filename,
p_dwerks LIKE marc-werks,
p_dspras LIKE makt-spras,
p_dbatch(1) TYPE c,
p_dflag1(1) TYPE c,
p_dflag2(1) TYPE c,
p_dflag3(1) TYPE c,
p_dflag4(1) TYPE c.
SELECT-OPTIONS:
s_dextwg FOR mara-extwg.
SELECTION-SCREEN: END OF BLOCK matnr.
SELECTION-SCREEN: BEGIN OF BLOCK bom WITH FRAME TITLE text-004.
PARAMETERS:
p_dbom LIKE filepath-pathintern DEFAULT 'Z_COMMAND_BOM_EXTRACT',
p_fbom LIKE rlgrap-filename.
p_bwerks LIKE mast-werks. "Made a select-optoin JPC20061107
SELECT-OPTIONS:
s_bmatnr FOR MARA-MATNR, "JPC20061107
s_bwerks FOR MAST-WERKS no-extension no intervals, "JPC20061107
s_bextwg FOR mara-extwg.
SELECTION-SCREEN: END OF BLOCK bom.
SELECTION-SCREEN: BEGIN OF BLOCK ccst WITH FRAME TITLE text-005.
PARAMETERS:
p_dccst LIKE filepath-pathintern
DEFAULT 'Z_COMMAND_CUST_STAT_EXTRACT',
p_fccst LIKE rlgrap-filename,
p_fccst2 LIKE rlgrap-filename,
p_fccstl LIKE rlgrap-filename.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-007.
PARAMETERS: p_csall RADIOBUTTON GROUP gp2.
PARAMETERS: p_csdlt RADIOBUTTON GROUP gp2 DEFAULT 'X'.
PARAMETERS: p_append RADIOBUTTON GROUP GP3 DEFAULT 'X', "Append files output to server for cust credit data ?
p_owrite RADIOBUTTON GROUP GP3.
SELECTION-SCREEN END OF BLOCK b.
SELECT-OPTIONS:
s_kunnr FOR kna1-kunnr.
SELECTION-SCREEN: END OF BLOCK ccst.
DATA: clsdir TYPE REF TO cl_gui_frontend_services.
DATA: strfolder TYPE string.
DATA: folderln TYPE i.
DATA: gva_error(1) TYPE c VALUE ' '.
Initial procedure on START ***************
INITIALIZATION.
p_fcust = 'CUST.prn'.
p_fmatm = 'MATM.prn'.
p_fmatp = 'MATP.prn'.
p_fbom = 'BOM.prn'.
p_fccst = 'CCSTAT.prn'.
p_fccst2 = 'CCSTATC.prn'.
p_fccstl = 'CCSTATL.prn'.
s_dextwg-option = 'BT'.
s_dextwg-low = '1'.
s_dextwg-high = '8'.
APPEND s_dextwg.
s_bextwg-option = 'BT'.
s_bextwg-low = '1'.
s_bextwg-high = '1'.
APPEND s_bextwg.
AT SELECTION-SCREEN.
IF p_ccust EQ 'X' AND ( p_fcust IS INITIAL OR p_dcust IS INITIAL ).
MESSAGE s000(zppu)
WITH 'You must specify the file details for the customer data'.
gva_error = 'X'.
ENDIF.
IF p_cmatm EQ 'X' AND ( p_fmatm IS INITIAL OR
p_fmatp IS INITIAL OR
p_dmatm IS INITIAL ).
MESSAGE s001(zppu)
WITH 'You must specify the file details for the material data'.
gva_error = 'X'.
ENDIF.
IF p_cbom EQ 'X' AND ( p_fbom IS INITIAL OR p_dbom IS INITIAL ).
MESSAGE s002(zppu)
WITH 'You must specify the file details for the BOM data'.
gva_error = 'X'.
ENDIF.
IF p_cbom EQ 'X'.
IF s_bwerks-low is initial.
MESSAGE s002(zppu)
WITH 'You must specify a plant to run BOM extract for'.
gva_error = 'X'.
ENDIF.
IF LINES( s_bwerks ) > 1.
MESSAGE s002(zppu)
WITH 'You can only specify 1 plant for BOM extract'.
gva_error = 'X'.
ENDIF.
ENDIF.
IF p_ccst EQ 'X' AND ( p_fccst IS INITIAL OR
p_fccst2 IS INITIAL OR
p_fccstl IS INITIAL OR
p_dccst IS INITIAL ).
MESSAGE s002(zppu)
WITH 'You must specify the file details for the customer'
'status data'.
gva_error = 'X'.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
PERFORM user_command.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fcust.
PERFORM get_gui_filename USING p_dcust p_fcust.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fmatm.
PERFORM get_gui_filename USING p_dmatm p_fmatm.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fmatp.
PERFORM get_gui_filename USING p_dmatm p_fmatp.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fbom.
PERFORM get_gui_filename USING p_dbom p_fbom.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fccst.
PERFORM get_gui_filename USING p_dccst p_fccst.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fccst2.
PERFORM get_gui_filename USING p_dccst p_fccst2.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fccstl.
PERFORM get_gui_filename USING p_dccst p_fccstl.
END-OF-SELECTION.
Data selection execution.
DATA: lwa_kna1 TYPE kna1,
lwa_knb1 TYPE knb1,
lwa_knvv TYPE knvv.
DATA: lwa_marc TYPE marc,
lwa_mara TYPE marav,
lwa_makt TYPE makt.
DATA: lit_marav TYPE marav OCCURS 0.
DATA: lit_customers TYPE it_ty_customers,
lwa_customers TYPE ty_customers.
DATA: lit_custstat TYPE it_ty_custstat,
lwa_custstat TYPE ty_custstat.
DATA: lit_materialm TYPE it_ty_materialm,
lwa_materialm TYPE ty_materialm.
DATA: lit_materialp TYPE it_ty_materialp,
lwa_materialp TYPE ty_materialp.
*(del)DATA: lwa_bomlist TYPE ty_bomlist, "JPC20061107
*(del) lit_bomlist TYPE it_ty_bomlist. "JPC20061107
DATA: lwa_bom TYPE ty_bom_sapfmt,
lit_bom TYPE it_ty_bom WITH HEADER LINE. "JPC20061107
lit_bom TYPE it_ty_bom. "JPC20061107
DATA: output_file TYPE string.
DATA: lock_file TYPE string.
DATA: lva_mssage TYPE string.
DATA: lva_matnr(18) TYPE n.
DATA: lva_date TYPE datum.
DATA: txtper(3) TYPE c.
DATA: custper TYPE i.
DATA: custcount TYPE i.
DATA: itemnum TYPE i.
CHECK gva_error <> 'X'.
IF p_ccust EQ 'X'. " Do the customer file extract
PERFORM extract_customer_details.
ENDIF.
IF p_cmatm EQ 'X'. " Do the Material file extract
PERFORM extract_material_details.
ENDIF.
IF p_cbom EQ 'X'. " Do the BOM file extract
PERFORM extract_bom_details.
ENDIF.
IF p_ccst EQ 'X'. " Do the customer credit status file extract
PERFORM extract_credit_status_details.
ENDIF.
*& Form extract_customer_details
text
--> p1 text
<-- p2 text
FORM extract_customer_details.
SELECT * FROM knb1
INTO lwa_knb1
WHERE bukrs = p_dcomp.
MOVE-CORRESPONDING lwa_knb1 TO lwa_customers.
MOVE-CORRESPONDING lwa_knb1 TO lwa_custstat.
MOVE '#' TO lwa_custstat-company.
MOVE p_dwerk TO lwa_customers-splant.
WG1K903075: Start Delete---*
move: '|' to lwa_customers-div1,
'|' to lwa_customers-div2,
'|' to lwa_customers-div3,
'|' to lwa_customers-div4,
'|' to lwa_customers-div5,
'|' to lwa_customers-div6,
'|' to lwa_customers-div7,
'|' to lwa_customers-div8,
'|' to lwa_customers-div9,
'|' to lwa_customers-div10,
'|' to lwa_customers-div11.
WG1K903075: End Delete-----*
WG1K903075: Start Insert---*
MOVE: ' ' TO lwa_customers-div1,
' ' TO lwa_customers-div2,
' ' TO lwa_customers-div3,
' ' TO lwa_customers-div4,
' ' TO lwa_customers-div5,
' ' TO lwa_customers-div6,
' ' TO lwa_customers-div7,
' ' TO lwa_customers-div8,
' ' TO lwa_customers-div9,
' ' TO lwa_customers-div10,
' ' TO lwa_customers-div11.
WG1K903075: End Insert-----*
APPEND lwa_customers TO lit_customers.
APPEND lwa_custstat TO lit_custstat.
ENDSELECT.
DESCRIBE TABLE lit_customers LINES custcount.
LOOP AT lit_customers INTO lwa_customers.
txtper = 100 * sy-tabix / custcount.
custper = txtper.
SELECT SINGLE * FROM kna1
INTO lwa_kna1
WHERE kunnr = lwa_customers-kunnr.
MOVE-CORRESPONDING lwa_kna1 TO lwa_customers.
lva_date = lwa_customers-erdat.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
date_internal = lva_date
IMPORTING
date_external = lwa_customers-erdat
EXCEPTIONS
date_internal_is_invalid = 1
OTHERS = 2.
REPLACE ALL OCCURRENCES OF '.'
IN lwa_customers-erdat WITH '/'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = lwa_customers-kunnr
IMPORTING
output = lwa_customers-kunnr.
WRITE: lwa_customers-kunnr RIGHT-JUSTIFIED TO lwa_customers-kunnr.
MODIFY lit_customers FROM lwa_customers.
Percentage indicator display
lva_mssage = 'Extracting customers'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = custper
text = lva_mssage.
ENDLOOP.
IF p_gui IS INITIAL.
PERFORM get_file_path USING p_dcust p_fcust output_file.
OPEN DATASET output_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc EQ 0.
LOOP AT lit_customers INTO lwa_customers.
TRANSFER lwa_customers TO output_file.
ENDLOOP.
CLOSE DATASET output_file.
ELSE.
MESSAGE s002(zppu)
WITH 'Dataset' output_file 'cannot be opened on the server'.
ENDIF.
ELSE.
MOVE p_fcust TO output_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = output_file
filetype = 'ASC'
TABLES
data_tab = lit_customers
EXCEPTIONS
OTHERS = 11.
ENDIF.
output_file = custcount.
CONCATENATE
output_file
' Customers extracted'
INTO
lva_mssage.
message lva_mssage type 'I'.
ENDFORM. " extract_customer_details
*& Form extract_material_details
text
--> p1 text
<-- p2 text
FORM extract_material_details.
select maramatnr maramaktx
maramatkl marcwerks
SELECT *
FROM marav AS mara
INNER JOIN marc AS marc
ON marc~matnr EQ mara~matnr
INTO CORRESPONDING FIELDS OF lwa_mara
WHERE marc~werks = p_dwerks
AND mara~spras = 'EN'
AND mara~extwg IN s_dextwg.
MOVE-CORRESPONDING lwa_mara TO lwa_materialm.
WRITE: lwa_mara-matnr TO lwa_materialm-matnr.
MOVE: p_dflag1 TO lwa_materialm-flag1,
p_dflag2 TO lwa_materialm-flag2,
p_dflag3 TO lwa_materialm-flag3,
p_dflag4 TO lwa_materialm-flag4.
APPEND lwa_materialm TO lit_materialm.
ENDSELECT.
DESCRIBE TABLE lit_materialm LINES custcount.
LOOP AT lit_materialm INTO lwa_materialm.
txtper = 100 * sy-tabix / custcount.
custper = txtper.
CLEAR lwa_materialp.
CLEAR lwa_mara.
MOVE: lwa_materialm-matnr TO lwa_materialp-matnr,
p_dwerks TO lwa_materialp-werks,
p_dbatch TO lwa_materialp-batch.
APPEND lwa_materialp TO lit_materialp.
MOVE: lwa_materialm-matnr TO lva_matnr.
MOVE: lva_matnr TO lwa_mara-matnr.
SELECT SINGLE maktx FROM makt
INTO lwa_materialm-maktx2
WHERE matnr = lwa_mara-matnr
AND spras = p_dspras.
IF lwa_materialm-maktx2 IS INITIAL.
lwa_materialm-maktx2 = lwa_materialm-maktx.
ENDIF.
MODIFY lit_materialm FROM lwa_materialm.
Percentage indicator display
lva_mssage = 'Extracting materials'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = custper
text = lva_mssage.
ENDLOOP.
IF p_gui IS INITIAL.
PERFORM get_file_path USING p_dmatm p_fmatm output_file.
OPEN DATASET output_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc EQ 0.
LOOP AT lit_materialm INTO lwa_materialm.
TRANSFER lwa_materialm TO output_file.
ENDLOOP.
CLOSE DATASET output_file.
ELSE.
MESSAGE s002(zppu)
WITH 'Dataset' output_file 'cannot be opened on the server'.
ENDIF.
ELSE.
MOVE p_fmatm TO output_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = output_file
filetype = 'ASC'
write_field_separator = ' '
TABLES
data_tab = lit_materialm
EXCEPTIONS
OTHERS = 11.
ENDIF.
IF p_gui IS INITIAL.
PERFORM get_file_path USING p_dmatm p_fmatp output_file.
OPEN DATASET output_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc EQ 0.
LOOP AT lit_materialp INTO lwa_materialp.
TRANSFER lwa_materialp TO output_file.
ENDLOOP.
CLOSE DATASET output_file.
ELSE.
MESSAGE s002(zppu)
WITH 'Dataset' output_file 'cannot be opened on the server'.
ENDIF.
ELSE.
MOVE p_fmatp TO output_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = output_file
filetype = 'ASC'
write_field_separator = ' '
TABLES
data_tab = lit_materialp
EXCEPTIONS
OTHERS = 11.
ENDIF.
REFRESH lit_materialm.
ENDFORM. " extract_material_details
*& Form extract_bom_details
text
--> p1 text
<-- p2 text
FORM extract_bom_details.
Lines below commented out and replaced with SELECT from ABAP Query run from
transaction ZBOM. Previously duplicate materials were selected. JPC20061107
REFRESH lit_materialm.
SELECT *
FROM marav AS mara
INNER JOIN marc AS marc
ON marcmatnr EQ maramatnr
INTO CORRESPONDING FIELDS OF lwa_mara
WHERE marc~werks = p_bwerks
AND mara~spras = 'EN'
AND mara~extwg IN s_bextwg.
APPEND lwa_mara TO lit_marav.
ENDSELECT.
DESCRIBE TABLE lit_marav LINES custcount.
LOOP AT lit_marav INTO lwa_mara.
Percentage indicator calculation
txtper = 100 * sy-tabix / custcount.
custper = txtper.
SELECT
mast~matnr
mast~stlnr
stpo~posnr
stpo~idnrk
stpo~menge
stpo~meins
FROM mast AS mast
LEFT OUTER JOIN stpo AS stpo
ON stpostlnr EQ maststlnr
INTO lwa_bomlist
WHERE mast~matnr = lwa_mara-matnr.
CLEAR lwa_bom.
MOVE-CORRESPONDING lwa_bomlist TO lwa_bom.
WRITE: lwa_bomlist-matnr TO lwa_bom-matnr.
IF lwa_bomlist-idnrk IS INITIAL.
WRITE: 'BACKBIN' TO lwa_bom-idnrk.
ELSE.
WRITE: lwa_bomlist-idnrk TO lwa_bom-idnrk.
ENDIF.
MOVE: lwa_bomlist-posnr TO itemnum.
WRITE: itemnum TO lwa_bom-posnr RIGHT-JUSTIFIED.
write: lwa_bomlist-menge
to lwa_bom-menge
decimals 2.
MOVE: p_bwerks TO lwa_bom-werks.
APPEND lwa_bom TO lit_bom.
ENDSELECT.
Percentage indicator display
lva_mssage = 'Extracting material B.O.Ms'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = custper
text = lva_mssage.
ENDLOOP.
select MASTMATNR MASTWERKS STPOPOSNR STPOIDNRK STPOMENGE STPOMEINS "JPC20061220
select MAST~MATNR MAST~WERKS STPO~POSNR STPO~IDNRK STPO~MENGE STPO~MEINS STPO~POTX1 "JPC20061220
into lwa_bom
from ( MAST
inner join STKO
on STKO~STLAL = MAST~STLAL
and STKO~STLNR = MAST~STLNR
and STKO~WRKAN = MAST~WERKS
inner join MARA as MARA_H
on MARA_H~MATNR = MAST~MATNR
left outer join STAS
on STAS~STLAL = STKO~STLAL
and STAS~STLNR = STKO~STLNR
and STAS~STLTY = STKO~STLTY
inner join STPO
on STPO~STLKN = STAS~STLKN
and STPO~STLNR = STAS~STLNR
and STPO~STLTY = STAS~STLTY
inner join MARA JPC20061220
left outer join MARA "JPC20061220
on MARA~MATNR = STPO~IDNRK )
where MARA_H~MATNR in s_bmatnr
and MAST~WERKS in s_bwerks
and MARA_H~EXTWG in s_bextwg.
clear lit_bom.
WRITE lwa_bom-matnr TO lit_bom-matnr.
MOVE lwa_bom-werks TO lit_bom-werks.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = lwa_bom-posnr
IMPORTING
output = lit_bom-posnr.
SHIFT lit_bom-posnr right deleting trailing space.
IF lwa_bom-idnrk IS INITIAL.
WRITE 'BACKBIN' TO lit_bom-idnrk. JPC20061220
WRITE lwa_bom-potx1 TO lit_bom-idnrk. "JPC20061220
ELSE.
WRITE lwa_bom-idnrk TO lit_bom-idnrk.
ENDIF.
MOVE: lwa_bom-menge TO lit_bom-menge,
lwa_bom-meins TO lit_bom-meins.
APPEND lit_bom.
ENDSELECT.
SORT lit_bom ascending.
Ending for lines inserted for change 20061107
IF p_gui IS INITIAL. "write to server
PERFORM get_file_path USING p_dbom p_fbom output_file.
OPEN DATASET output_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc EQ 0.
custcount = lines( lit_bom ).
LOOP AT lit_bom.
txtper = 100 * sy-tabix / custcount.
custper = txtper.
lva_mssage = 'Extracting material B.O.Ms'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING percentage = custper
text = lva_mssage.
TRANSFER lit_bom TO output_file.
ENDLOOP.
CLOSE DATASET output_file.
ELSE.
MESSAGE s002(zppu)
WITH 'Dataset' output_file 'cannot be opened on the server'.
ENDIF.
ELSE.
MOVE p_fbom TO output_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = output_file
filetype = 'ASC'
write_field_separator = ' '
TABLES
data_tab = lit_bom
EXCEPTIONS
OTHERS = 11.
ENDIF.
ENDFORM. " extract_bom_details
*& Form get_file_path
text
-->P_LOGICAL_PATH_NAME text
-->P_FILENAME text
-->P_FILENAME_WITH_PATH text
FORM get_file_path USING p_logical_path_name p_filename
p_filename_with_path.
DATA: l_opsys TYPE sy-opsys,
l_blank_filename TYPE c,
l_filename TYPE string.
IF p_gui IS INITIAL.
MOVE 'WN32' TO l_opsys.
ELSE.
MOVE 'WN' TO l_opsys.
ENDIF.
IF p_filename IS INITIAL.
MOVE 'XXX' TO l_filename.
MOVE 'X' TO l_blank_filename.
ELSE.
MOVE p_filename TO l_filename.
ENDIF.
CALL FUNCTION 'FILE_GET_NAME_USING_PATH'
EXPORTING
logical_path = p_logical_path_name
operating_system = l_opsys
file_name = l_filename
IMPORTING
file_name_with_path = p_filename_with_path
EXCEPTIONS
path_not_found = 1
missing_parameter = 2
operating_system_not_found = 3
file_system_not_found = 4
OTHERS = 5.
IF NOT l_blank_filename IS INITIAL.
REPLACE ALL OCCURRENCES OF 'XXX' IN p_filename_with_path WITH space.
ENDIF.
ENDFORM. "get_file_path
*& Form value_request_p_fcust
text
--> p1 text
<-- p2 text
FORM get_gui_filename USING p_path p_filename.
DATA: l_fdir TYPE string.
CHECK NOT p_gui IS INITIAL.
PERFORM get_file_path USING p_path space
l_fdir.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = l_fdir
mask = ',.prn,.prn.'
title = 'Select Excel file for download'
IMPORTING
filename = p_filename
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
ENDFORM. " value_request_p_fcust
*& Form extract_credit_status_details
text
--> p1 text
<-- p2 text
FORM extract_credit_status_details .
DATA: lt_credit_stat TYPE STANDARD TABLE OF zint_credit_stat,
l_credit_stat TYPE zint_credit_stat,
l_current_stat1 TYPE zcrstat1,
l_current_stat2 TYPE zcrstat2,
l_current_reason TYPE zreason,
lt_output_stat TYPE STANDARD TABLE OF zint_credit_stat,
l_output_stat TYPE zint_credit_stat,
lt_output1 TYPE STANDARD TABLE OF ty_cust_stat_output,
lt_output2 TYPE STANDARD TABLE OF ty_cust_stat_output,
l_output TYPE ty_cust_stat_output.
SELECT a~mandt a~kunnr a~name1 b~curstat1 b~curstat2 b~curtimestamp
b~curreason b~prevstat1 b~prevstat2 b~prvtimestamp
b~prevreason
INTO TABLE lt_credit_stat
FROM kna1 AS a
LEFT OUTER JOIN zint_credit_stat AS b
ON a~kunnr = b~kunnr
WHERE a~kunnr IN s_kunnr.
DESCRIBE TABLE lt_credit_stat LINES custcount.
LOOP AT lt_credit_stat INTO l_credit_stat.
txtper = 100 * sy-tabix / custcount.
custper = txtper.
PERFORM determine_current_status USING l_credit_stat-kunnr
l_current_stat1
l_current_stat2
l_current_reason.
IF NOT p_csdlt IS INITIAL.
Only do delta download
IF l_current_stat1 NE l_credit_stat-curstat1 OR
l_current_stat2 NE l_credit_stat-curstat2.
PERFORM add_record_to_output TABLES lt_output_stat
USING l_current_stat1
l_current_stat2
l_current_reason
l_credit_stat.
ENDIF.
ELSE.
Download all records
PERFORM add_record_to_output TABLES lt_output_stat
USING l_current_stat1
l_current_stat2
l_current_reason
l_credit_stat.
ENDIF.
Percentage indicator display
lva_mssage = 'Extracting customer status'.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = custper
text = lva_mssage.
ENDLOOP.
Create output table
LOOP AT lt_output_stat INTO l_output_stat.
CLEAR l_output.
WRITE l_output_stat-kunnr TO l_output-kunnr.
SHIFT l_output-kunnr RIGHT DELETING TRAILING space.
MOVE l_output_stat-curstat1 TO l_output-stat.
APPEND l_output TO lt_output1.
MOVE l_output_stat-curstat2 TO l_output-stat.
APPEND l_output TO lt_output2.
ENDLOOP.
SORT lt_output1.
SORT lt_output2.
IF p_gui IS INITIAL.
Lock File
PERFORM get_file_path USING p_dccst p_fccstl lock_file.
If the file already exists then abort processing
OPEN DATASET lock_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 8.
MESSAGE s002(zppu)
WITH 'Lock file' lock_file 'already exists on server,'
'processing aborted'.
LEAVE PROGRAM.
ENDIF.
OPEN DATASET lock_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
MESSAGE s002(zppu)
WITH 'Lock file' lock_file 'cannot be opened on the server,'
'processing aborted'.
LEAVE PROGRAM.
ENDIF.
File 1
PERFORM get_file_path USING p_dccst p_fccst output_file.
If user requests cust status data to be appended use different OPEN
IF p_append is initial.
OPEN DATASET output_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
ELSE.
OPEN DATASET output_file FOR APPENDING IN TEXT MODE ENCODING DEFAULT.
ENDIF.
IF sy-subrc EQ 0.
LOOP AT lt_output1 INTO l_output.
TRANSFER l_output TO output_file.
ENDLOOP.
CLOSE DATASET output_file.
ELSE.
MESSAGE s002(zppu)
WITH 'Dataset' output_file 'cannot be opened on the server'.
ENDIF.
File 2
PERFORM get_file_path USING p_dccst p_fccst2 output_file.
If user requests cust status data to be appended use different OPEN
IF p_append is initial.
OPEN DATASET output_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
ELSE.
OPEN DATASET output_file FOR APPENDING IN TEXT MODE ENCODING DEFAULT.
ENDIF.
IF sy-subrc EQ 0.
LOOP AT lt_output2 INTO l_output.
TRANSFER l_output TO output_file.
ENDLOOP.
CLOSE DATASET output_file.
ELSE.
MESSAGE s002(zppu)
WITH 'Dataset' output_file 'cannot be opened on the server'.
ENDIF.
DELETE DATASET lock_file.
ELSE.
MOVE p_fccst TO output_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = output_file
filetype = 'ASC'
TABLES
data_tab = lt_output1
EXCEPTIONS
OTHERS = 11.
MOVE p_fccst2 TO output_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = output_file
filetype = 'ASC'
TABLES
data_tab = lt_output2
EXCEPTIONS
OTHERS = 11.
ENDIF.
IF NOT p_svr IS INITIAL.
PERFORM update_status_table TABLES lt_output_stat.
ENDIF.
output_file = custcount.
CONCATENATE
output_file
' Customers extracted'
INTO
lva_mssage.
ENDFORM. " extract_credit_status_details
*& Form user_command
text
--> p1 text
<-- p2 text
FORM user_command .
LOOP AT SCREEN.
IF screen-name EQ 'P_DCUST' OR
screen-name EQ '%_P_DCUST_%_APP_%-TEXT' OR
screen-name EQ 'P_DMATM' OR
screen-name EQ '%_P_DMATM_%_APP_%-TEXT' OR
screen-name EQ 'P_DBOM' OR
screen-name EQ '%_P_DBOM_%_APP_%-TEXT' OR
screen-name EQ 'P_DCCST' OR
screen-name EQ '%_P_DCCST_%_APP_%-TEXT' OR
screen-name EQ 'P_FCCSTL' OR
screen-name EQ '%_P_FCCSTL_%_APP_%-TEXT'.
IF p_gui IS INITIAL.
screen-input = 1.
screen-output = 1.
screen-invisible = 0.
screen-active = 1.
ELSE.
screen-input = 0.
screen-output = 0.
screen-invisible = 1.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDFORM. " user_command
*& Form determine_current_status
text
-->P_L_CREDIT_STAT_KUNNR text
-->P_L_CURRENT_STAT1 text
-->P_L_CURRENT_STAT2 text
FORM determine_current_status USING p_kunnr p_stat1 p_stat2 p_reason.
STATICS: lt_kna1 TYPE STANDARD TABLE OF ty_kna1_fields,
lt_knb1 TYPE STANDARD TABLE OF ty_knb1_fields,
lt_knvv TYPE STANDARD TABLE OF ty_knvv_fields,
lt_knkk TYPE STANDARD TABLE OF ty_knkk_fields.
DATA: l_kna1 TYPE ty_kna1_fields,
l_knb1 TYPE ty_knb1_fields,
l_knvv TYPE ty_knvv_fields,
l_knkk TYPE ty_knkk_fields,
l_faedt TYPE rfpos-faedt,
l_days TYPE p,
l_used TYPE rf02l-klprz.
IF lt_kna1[] IS INITIAL.
PERFORM load_kna1 TABLES lt_kna1.
ENDIF.
IF lt_knb1[] IS INITIAL.
PERFORM load_knb1 TABLES lt_knb1.
ENDIF.
IF lt_knvv[] IS INITIAL.
PERFORM load_knvv TABLES lt_knvv.
ENDIF.
IF lt_knkk[] IS INITIAL.
PERFORM load_knkk TABLES lt_knkk.
ENDIF.
MOVE gc_status-acc TO p_stat1.
MOVE gc_status-ok TO p_stat2.
MOVE gc_reason-000 TO p_reason.
Customer Block/Unblock
READ TABLE lt_kna1 INTO l_kna1 WITH KEY kunnr = p_kunnr BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT l_kna1-sperr IS INITIAL.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-001 TO p_reason.
ENDIF.
IF l_kna1-aufsd EQ '01'.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-002 TO p_reason.
ENDIF.
IF l_kna1-lifsd EQ '01'.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-003 TO p_reason.
ENDIF.
IF l_kna1-faksd EQ '01'.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-004 TO p_reason.
ENDIF.
IF NOT l_kna1-loevm IS INITIAL.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-999 TO p_reason.
ENDIF.
ENDIF.
CHECK p_stat1 NE gc_status-sto.
LOOP AT lt_knb1 INTO l_knb1 WHERE kunnr EQ p_kunnr.
IF NOT l_kna1-sperr IS INITIAL.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-005 TO p_reason.
ENDIF.
IF NOT l_knb1-loevm IS INITIAL.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-999 TO p_reason.
ENDIF.
IF p_stat1 EQ gc_status-sto.
EXIT.
ENDIF.
ENDLOOP.
CHECK p_stat1 NE gc_status-sto.
LOOP AT lt_knvv INTO l_knvv WHERE kunnr EQ p_kunnr.
IF l_knvv-aufsd EQ '01'.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-006 TO p_reason.
ENDIF.
IF l_knvv-lifsd EQ '01'.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-007 TO p_reason.
ENDIF.
IF l_knvv-faksd EQ '01'.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-008 TO p_reason.
ENDIF.
IF p_stat1 EQ gc_status-sto.
EXIT.
ENDIF.
ENDLOOP.
CHECK p_stat1 NE gc_status-sto.
READ TABLE lt_knkk INTO l_knkk WITH KEY kunnr = p_kunnr
kkber = 'BP01'
BINARY SEARCH.
IF sy-subrc EQ 0.
Exceeded Trading Terms
IF l_knkk-ctlpc EQ 'Z03' OR
l_knkk-ctlpc EQ 'Z04' OR
l_knkk-ctlpc EQ 'Z05'.
CALL FUNCTION 'CUSTOMER_OLDEST_OPEN_ITEM'
EXPORTING
i_kkber = l_knkk-kkber
i_kunnr = l_knkk-kunnr
IMPORTING
e_faedt = l_faedt
EXCEPTIONS
invalid_call = 1
no_bukrs = 2
no_items = 3
OTHERS = 4.
IF sy-subrc EQ 0.
l_days = sy-datum - l_faedt.
ELSE.
l_days = 0.
ENDIF.
IF l_knkk-ctlpc EQ 'Z03' AND l_knkk-crblb IS INITIAL AND
l_days GT 45.
MOVE gc_status-hol TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-021 TO p_reason.
ENDIF.
IF l_knkk-ctlpc EQ 'Z04' AND l_knkk-crblb IS INITIAL AND
l_days GT 40.
MOVE gc_status-hol TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-022 TO p_reason.
ENDIF.
IF l_knkk-ctlpc EQ 'Z05' AND l_knkk-crblb IS INITIAL AND
l_days GT 30.
MOVE gc_status-hol TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-023 TO p_reason.
ENDIF.
IF l_knkk-ctlpc EQ 'Z03' AND NOT l_knkk-crblb IS INITIAL AND
l_days GT 45.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-024 TO p_reason.
ENDIF.
IF l_knkk-ctlpc EQ 'Z04' AND NOT l_knkk-crblb IS INITIAL AND
l_days GT 40.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-025 TO p_reason.
ENDIF.
IF l_knkk-ctlpc EQ 'Z05' AND NOT l_knkk-crblb IS INITIAL AND
l_days GT 30.
MOVE gc_status-sto TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-026 TO p_reason.
ENDIF.
CHECK p_stat1 NE gc_status-sto.
Exceeded Credit Limit Checks
PERFORM get_credit_exposure USING l_knkk-knkli l_knkk-kkber
l_knkk-ctlpc l_knkk-klimk
l_knkk-skfor l_knkk-ssobl
l_used.
IF l_used GE 95 AND l_knkk-crblb IS INITIAL.
MOVE gc_status-hol TO p_stat1.
MOVE gc_status-hold TO p_stat2.
MOVE gc_reason-010 TO p_reason.
ENDIF.
IF l_used GE 95 AND NOT l_knkk-crblb IS INITIAL.
MOVE gc_status-Yes thread closed
Prioz -
Hi,
I would like to know about the Estimate required for a particular requirement.
For example,u need to set up a generic extractor based on 2 tables and then replicate it on BW side.
1)Logistics invoice verification:-Do we have any standard Extractor in R/3 for this.I have identified 2 tables RBKP and RSEG.So,I need to generate a view and build a generic extractorand then replicate it in BW.Can u tell me the estimate required for this along with building a cube ,Infosurces etc.
Thanks,
SamirSure - where do you want me to send the Purchase Order to?
In all seriousness - the generic extractor idea MAY work if you can find a timestamp or you may want to use a change pointer to generate a record
Then you will need a DSO to resolve duplicates and then build the cube
The estimate will be based on - how good are your abap skills, and how good are your BW skills
If you can;t find a std extractor do this (and I do believe there is one already) - then doing the work yyoru BI architect suggested - then about 10-25 days - and then puls opr minus denpending on whther the testing documentation needs to be watertight for SoX or ISO compliance -
Misleading ADH Information Provided By Best Buy Associates
Let me start by saying that Best Buy WAS my most FAVORITE store UNTIL walking into store on 03/08/14 in Alabama. I am a 31 yr old customer that has been purchasing electronics from Best Buy since 2003. The management and sales associates in the store I normally go to is AWESOME! Now I would be one of the first to say that "Yes, it seems that Best Buy's T&Cs on GSBT/GSRP/ADH Plans change often." Whenever I go into any Best Buy, I look at the little pamphlets that was given out when you purchased any GS protection plan. I notice they looked different from time to time. Maybe a different color or size. I mean, go to <http://www.geeksquad.com/protection-plans/terms-and-conditions.aspx> and look. It goes back to July 2007. Has it always been available online? Nope. The first extended warranty/protection Plan I purchased was on a laptop purchased in 2003 when I left for college. I don't see it on there. So it's very safe to assume they haven't always been readily available and from looking at previous comments and posts after googling "Best Buy ADH 2012," I see I'm NOT the only customer that has been mislead by the sales associates on ADH. Why not trust that the employees are explaining important details? I mean SOMETIMES you're handing me a pamphlet with the T&Cs and giving me misleading info that you claim is in there. But at the time I had every reason to trust and believe the associates are providing me with important details and accurate info that is found in what you're placing in my hand (I've been to MANY Best Buy's and purchased MANY things from each Best Buy depending on where I'm at at that time).
In 2012 I bought two iPads (3rd generation). I bought one 16gb and a 32gb along with ADH for each one (one for my parents and one for myself). And like any electronic device I buy from Best Buy, I was ALWAYS told, "Don't forget to purchase the protection plan!" Well, if you look at my history, I ALWAYS purchased the "extended warranty" or "protection plan." Like I said, when I moved away for college in 2003, I purchased a brand new laptop, had GS to hook it up and also paid for the "extended warranty" as it was called at the time. I never had to use any warranties or protection plans I purchased. I purchased protection plans on the 2 laptops I bought, a washer and dryer I bought (that was stolen when I went on vacation) and also the new ones I purchased to replace the stolen set, a washer I bought AFTER I moved (because mine was in storage and I damaged my parents older washer by overloading it with a comforter) and even on cellphones I've had in the past. Basically, if Best Buy offered it on a device, I purchased it because I felt confident that if ANYTHING went wrong, Best Buy would take care of it. Why?? Because that's what I was told when I purchased it. Now, that being said, my parents are 66 and 70 and not in the best of health. Last year, my mom dropped the iPad and broke the screen. I was confident that Best Buy would replace it with a new device like I was told. I get to the closest Best Buy to me (which is an hour and fifteen away from home; the original store where I purchased them is two and a half hours away). The iPad still powered on but of course the glass screen was shattered. Who wants to use an iPad with cracked glass and risk cutting a finger? Well, low and behold, that store reprinted the receipt and replaced the iPad 3rd gen with a NEW iPad 4th gen (there were no more iPad 3rd gen at the store) just like the sales associates said. No questions asked. No hassle. No problem. I don't even work for Best Buy but yet ANYBODY I talked to (friend, family, stranger in the store), I would push "protection plan...get it!...it's worth it!"
March 7th, 2014, while working, I accidentally dropped my 32gb iPad and cracked my screen. I had already made plans to go out of town on March 8th so I did my research and saw there's a Best Buy an hour away. I was confident that Best Buy would replace my device in store so that Monday, March 10th I would be able to go back to work and have a working iPad that's not going to slice and dice my fingers up. I get to the GS desk and I gave the GS agent my phone number to reprint my receipt so he could go ahead and replace my iPad. (Why was I so confident? My parents iPad was replaced with no issues). Well the GS agent proceeds to tell me that "Your iPad qualifies to be replaced with a refurbished iPad. Would you like to pick it up in store or have it shipped to your home?" Excuse me? Refurbished? Picked up or sent to my home? No no no. Now, I told him, "When I purchased the iPad (that I paid $599 for BRAND NEW) and the 2 yr ADH, I was told by the sales associate if anything happened to it, any Best Buy would swap it out in store with a new device that way I wouldn't have to go without." He proceeds to tell me, "The plans have changed. It might have been that way when you purchased it but the plans have changed since 2012." (Thank goodness I didn't go in the store by myself. I had two friends with me that heard all of this non-sense). Now it's always that if the T&Cs change after you purchased yours, they have to honor the T&Cs that you had from the beginning. That's like a cellphone company telling me "You cannot keep your unlimited plan because we don't offer it anymore." You can't do that. So because the company changed the T&Cs AFTER I purchased it, you're not going honor what that??? So I asked for a manager. The GM of the store comes. The same thing I explained to the GS agent, I repeated once again to the GM. He says the same thing the GS agent said. By then, I'm in shock and not only is my blood pressure going up, I'm getting more and more upset thinking about each and every ADH/GSBT/GSRP I purchased (and didn't use EXCEPT for one). Then my mind went to everybody that bought an ADH and was mislead with the same T&Cs shared by the sales associates. The GM then goes on to tell me, "Your iPad is still functional. You can keep it until your refurbished iPad comes in." I'm looking at my iPad and I run my finger across it and I feel sharp pieces of glass. I asked him "What if I cut my finger?" He then opened his mouth and let the CRAZIEST thing come out. He said, "I can discount a Zagg Invisible Shield for you if you would like." I'm thinking "what kind of FOOL does he take me for????" Seriously???? (1) You COULD replace it but you won't (which he stated it's at HIS sole discretion if he wanted to replace it or not but because the computer said send a refurbished one, he doesn't want to go against that) and (2) You want me to BUY a invisible shield that you're going to discount??? That's WHY I purchased the ADH (so I wouldn't have to spend any money later on if something happens to it). So I told him to go ahead and send it but I'm not happy about and I would call and complain about it. I now have to go to work Monday and Tuesday without the iPad I DEPEND on to do my job. I refuse to pay for a screen protector when I know the iPad could be exchanged there in the store.
I NEVER thought I would live to say "I will NEVER EVER spend another dime in Best Buy or any affiliates they may have from today going forward unless the problem is resolved." I JUST spent over $1400 in Best Buy a couple of weeks ago on a PS4 (ADH as well), 3 PS4 games, an iPod Touch 32gb, a griffin case and a set of headphones. I will be canceling that ADH on the PS4 ASAP. It's not worth it. It's not worth the hassle. My friends that witnessed all of this have now been turned away from a business that I once loved. Is it because I told them to turn away? No. It's because they know that that is poor customer service and misleading info that was provided. They've even purchased ADH on devices they've purchased and was provided the SAME misleading information that I was provided (and I'm talking about three different stores providing each of us with the same exact information). I know that myself and the two other people that were with me today will not hurt Best Buy's business by not returning and buying electronics from there. But everyone knows that one unhappy customer will go back and tell a family member or friend what happened. And that family member or friend will go and tell another family member or friend that will tell another........it then turns into a chain reaction. Do I wish anything bad on Best Buy? Nope. What I do wish is that (1) my iPad is replaced with a NEW iPad 3rd gen or better (ain't no going back to a 2nd generation) and (2) Best Buy needs to retrain EVERY employee (manager, supervisor and regular associate) to make sure instead of saying "With ADH, if anything happens to it, bring it back to any Best Buy and we'll replace it in store!" the associates need to be truthful and say "With ADH, it is at our sole discretion to replace the device in store OR have a refurbished device sent to the store where you can pick it up when it comes in or either we can have it sent to your home!" But that's too much like being right. I now see it's all about getting a sale and getting numbers up. It's not about providing excellent customer service cause if it was, I would've walked out of that store with a new iPad. I am literally SICK just thinking of the thousands of dollars I've spent in Best Buy. Lesson learned though.Hello,
There is very little more frustrating than having a device that you use every day develop a need for service, whether through defect or damage. I've had similar situations arise myself and been aggravated too. It's also important to live up to the terms of our agreements with you and our other customers -- in this case the written Terms & Conditions of the Geek Squad Protection plan you purchased. Further, it is imperative that we communicate how the coverage works accurately. I regret any miscommunication that there may have been about how the terms of your plan would be fulfilled.
The Geek Squad Agent's choice of language was unfortunate. You're quite correct in that the terms of the plan do not change once it's been purchased. However, the process by which we fill those terms can be subject to change. We reserve the right -- as stated in the Terms -- to provide a refurbished unit to fulfill our obligation under the plan.
We cannot provide the refurbished unit to you without taking possession of the damaged unit. The Agent at the store should have been specific that if you kept the damaged iPad to use in the interim, the replacement could not be shipped to you, but rather to the store for this reason. Please know that I apologize for any inconvenience to you.
Finally, I'm wholly disheartened to read that this experience may prompt you to change your future shopping destination. It is my hope that you will give Best Buy another chance to win you over one day soon. Thank you for taking the time to share your experience with us.
Sincerely,
John|Social Media Specialist | Best Buy® Corporate
Private Message -
Cost component not splitting at the time of Rune the tine of Cost Estimate
http//
Hi,
We are in developing phase for Product costing for coal mine project ,
we have raise coal material with Non component BOM , and Routing is only one activity with 400- Raised Coal Qty-MT ,
We upload the plan with Production cost center -activity type and cost element ( as per cost component -we have 10 cost component as per below )
RM - Blasting
Production Overhead
Power - Main
Stores,Spare,Consum
Repairs & Maint
Lease & Hire Char-PM
Power - Auxiliary
Depreciation
Over Burden
Development
we done the plan for Amount and Qty by KP06,KP26 and update plan price but system not calculate the cost component splitting in cost estimate as per planning while only one item showing for all cost to Production Overhead cost component
Production Overhead cost component which assign the secondary cost element which is assign to activity type 400
can any one help me to how we can resolve this issue
Please find attached documentHi,
Here I am providing the necessity and importance of splitting structure, will share the configuration steps once you go through the following and get the comfort level.
Expense Analysis and Splitting in Manufacturing Cost Centers
Introduction In SAP Cost center work as a cost responsibility center, where all the expenses and cost are stored and analyzed for the purpose of management decision making.
The cost could be fixed or variable in nature. The difference between variable and fixed costs can be made in various ways in product costing in CO module.
Fixed costs represent the static costs incurred by the organization, which doesn’t change on the basis on manufacturing activities, which remain constant irrespective of production activities like rent for the premises, salaries of office staff etc.
On the other hand, variable cost varies based on the level of production activities; if production activities increase then variable cost also increased like electricity consumes raw material charges etc.
However all the variable cost doesn’t vary in direct proportion by quantity of goods produced.
In this document will try to define; how the Expenses analysis and splitting of cost done in manufacturing cost centers.
From controlling prospective, fixed cost remain constant regardless of operating activities, but if these factor changes, variable cost will fluctuate.
Basically raw material costs represent variable cost, but in this document main focused will be given to distinguish fixed and variable activity cost.
The segregation between fixed and variable cost is optional and is derived from the configuration and master data configured in cost center accounting and overhead accounting.
Activity Price:
There are different methods that could be used in cost center accounting to determine the activity price. The simple way is the manually enter “Fixed” and “Variable” Activity cost (KP26).
However there are other methods used in Cost center Planning and Budgeting that automatically calculate the fixed and variable activity price.
Here the focused will be given on Planning and Budgeting activity and automatic calculation of plan activity rate in cost center.
This method aggregate planned costs by cost element and capacity by plan unit to calculate the activity price.
Activity independent costs are segregated among different activities based on Splitting Structure, while activity dependent cost directly used for the purpose of variable activity rate calculation.
Fixed Activity Cost:
In product costing all those cost, which doesn’t vary based on the activities in manufacturing cost will represent fixed cost.
In a manufacturing cost centers there may be two or more activities performed.
To calculate the activities rate, the fixed costs are distributed to various activities on the basis of Splitting Structure defined for cost center.
Variable Activity Cost:
Variable activity cost, which directly depend upon the activity type and fluctuate based on increase or decrease in manufacturing activities. In SAP variable activity cost are directly linked to the respective activity.
Activity Prices: Fixed and Variable Split
In Cost Center Accounting dividing the cost between Fixed and Variable requires appropriate split to be made in the cost entered for the activity. The process is described below:
i. Variable cost would be planned at activity level and expenses should be maintained at cost element in the manufacturing cost center by assigning activity and cost element combination.
In other word, the expenses should be planned on Activity type at the time of primary cost planning (KP06).
Then the variable activity rates are calculated on Total cost planned at Activity divided by Total number of activity planned at that cost center (i.e. capacity in KP26)
ii. Fixed cost would be planned at independent of activity type. These costs are maintained in KP06 at cost element level on manufacturing cost center.
Then the fixed costs are distributed on various activity types on the basis of Splitting structure defined at OKEW.
In Splitting Structure we define the rules, how the fixed cost will be distributed to Activities. For the purpose of this document, considering split of fixed cost on the basis of Capacity maintained in KP26.
Regards,
Pavan kumar Arvapally -
Report for Material Cost Estimate
Hi Everyone,
Is there any way that I could download a report from the SAP showing all the material cost estimates? Hope someone could help me. When I try using CK11n, there is no tab there for report downloads and it only shows one material.
Thank you in advance
JahzielDear Jahziel,
In standard SAP the following reports are available:
T Code : CK84_99 : COST_ELEMENT - Cost Elements
CK80_99 - Cost Components
CK84_99 - Itemization
These reports will provide you the information at individual material level.
Regards,
Pavan Kumar Arvapally -
User Exit or BADI on saving of Sales order cost estimate (CK51N)
Hi,
Can any one share with me what are the User Exit or BADI that gets triggered on saving of Sales order cost estimate (CK51N).
Regards,
BijayHi
Check the link
Need Enhancement Spot or BADI for transaction ck51n
Regards
Sanil -
Sales Order Cost Estimates -- Versions?
In our MTS plant we are creating cost estimates each month with different version numbers so they can easily be compared to review cost changes.
This concept in our MTO plant is (of course) a problem.
We would like to create a dummy sales order and on each line list a KMAT and build an "average" configuration. We use variant config, so the sales order bom is built automatically. It also costs automatically. We would like to save this cost estimate and compare it with a cost estimate of the same configuration next month. I do not have an option for version CK51n, nor do I see a Costing Date in KEKO table. Either of these items for MTS would create a second cost estimat and allow comparison.
Is there a way to compare Sale Order Cost Estimates across periods?
Any other suggestions as to how to obtain the required data??
Thank you for all suggestions!!Any one think of a solution?
thanks -
Sales Order cost estimate with variant config
Hi
I'm hoping for some advice on costing on a variant material.
I have created a sales order for a variant material and ran a cost estimate to get costs for the sales order. Should this populate a cost condition within the sales order pricing? How can the margin be seen in the sales order?
Thanks for your help.
Ashley ShannonHello Ashley
Yes, if you have done your settings correctly, especially Requirements class set up (see the documentation link), then the cost estimate will flow to a condition type in Pricing, usually EK01/EK02 conditions. These conditions are used to calculate sales prices (PR00) in cost-plus (mark-up) scenarios.
Link: http://help.sap.com/erp2005_ehp_04/helpdata/EN/90/ba6da4446711d189420000e829fbbd/frameset.htm
However Profit margin as calculated in a sales order comes from VPRS condition (which is based in Material Master) and is the difference of net value and VPRS condition value in normal circumstance.
Hope other more knowledgeable experts will weigh in. -
Sales order cost estimate with GIT account
Hi,
Business introduced Goods - in - Transit (Balance sheet account), so PGI will always post to GIT and Invoice it will get reversed.
For one of the Configuratble material (MTO) scenario we need the Sales order cost estimate to get the Planned cost.
When i try to execute the sales order cost estimate it says cost element doesnot exist for GIT GL (WHich is right).
But with maintaining the GIT how to achieve the sales order cost estimate.
I tried to create CE category 90 for GIT, in Cost estimate am getting error CE 90 not supported for Cost estimate.
Kindly help this is kind of urgent req for us
Thanks,
SudhaHello Ashley
Yes, if you have done your settings correctly, especially Requirements class set up (see the documentation link), then the cost estimate will flow to a condition type in Pricing, usually EK01/EK02 conditions. These conditions are used to calculate sales prices (PR00) in cost-plus (mark-up) scenarios.
Link: http://help.sap.com/erp2005_ehp_04/helpdata/EN/90/ba6da4446711d189420000e829fbbd/frameset.htm
However Profit margin as calculated in a sales order comes from VPRS condition (which is based in Material Master) and is the difference of net value and VPRS condition value in normal circumstance.
Hope other more knowledgeable experts will weigh in. -
hi,
While saving the sales order cost estimate its getting the GL account from GBB-ZG0.
as we assigned Balance sheet account its asking the cost element.
can you please explain what is link to get the gl from GBB-ZGO, can we change this to pick from GBB-VBR.
Thanks,
SudhaHi,
Are you are working with unvaluated special stock ? In this case, the system is looking for a consumption account via the account assignment category. For example if you are using requirement class ZPJ which uses account assignment category Q. In account assignment Q, you entered account modification VBR. Therefore, the system is looking for an account via the keys GBB / VBR.
regards
Waman -
Sales order cost estimate not happening because of GIT B/S account
Hi,
Requirement is to have Goods in Transit account in PGI and reverse it in Invoice no issues iwth it.
For the same sales order user wants to get cost using sales order cost estimate.
When i run that am getting following error
Item 00001 : Cost element 14001212 does not exist in CO area 0010 for 10/07/2011
Message no. KK689
Even though i maintain the CE for Balance sheet account with Cost element category 90 its not accpeting.
Can you please help me on how to proceed for sales order cost estimate.
Thanks,
sudhahi,
if you give a balance sheet account in obyc , you will not be able to create a cost elementin category 01 , accordignly system will give error in sales order costing , as its not able to get correct cost element in cost planning.
if your requirement is just to post cogs to a balance sheet account which is goods in transit and when invoice is done cogs to be posted.
you should actually use revenue based RA functionality on sales order instead of assinging a balance sheet account in obyc.
in this approach;
- first assign a p/l account in obyc and create cost element in cateogry 01.
- create revenue based RA and assign RA key in requirement class.
- in OKG8 for RA category WIPR and your ra key assign , goods in transit account and give a offsetting account which is not cost element (credit entry in offsetting account nullify debit in account given in OBYC when GIT is posted , when billing is done system will automatically post a oppsite entry in both account).
-in OKG8 for RA category COSR give the COGS account and a offsetting account without cost element (credit entry in offsetting account nullify debit in account given in OBYC when COGS is posted).
regards
rajesh -
PP - order cost estimate in PP-PS scenario
Hello dear colleagues!
Where can I read about the plan and actual estimate material components for pp-order in pp-ps scenario?
In the settings specified sequence of assessment strategies material component. These strategies are clear to me.
As far as I know except for these strategies, the system applies more:
- price from the stock for WBSE;
- price from cost estimate for WBSE;
- other strategy.
From my point of view is correct, but I can not find descriptions and settings that change those strategies.
Can you help me?
Thank you for your attentionFound in the following scenario
FUNCTIONS "PRICE_STRATEGY_NEW" INCLUDE "LCK36FAZ":
1. Price from segment of WBS-Stock.
2. Price from USER-EXIT "EXIT_SAPLCK36_001".
3. Price from cost estimate for WBS-element.
4. Price from confirmation.
5. Plan price from PP-order forr material and same WBS-element.
I do not quite understand how the strategy 3 and 4.
Explain, please. -
Is it possible to do Standard Cost Estimate even if we have open sales Orde
Hi,
I have a small doubt and questions regarding Standard cost estimate.
Is it possible to Execute Standard cost estimate when we have Open Sales orders and Open Purchase orders?
Is there any problem if we execute standard cost estimate when we have open Sales orders and Open purchase orders?
Kindly clarify my doubt and help me.
Thanks
SupriyaDear Supriya,
There is no relation between sales order or purchase order and a standard cost estimate.
Standard cost estimate basically sums up the cost of the BOM components and the operation(activity
cost) or the processing cost(if sub-contracted) based on the material's procurement type and the
costing variant used.
Check and revert back.
Regards
Mangalraj.S
Maybe you are looking for
-
A doubt on stabilty of temperature measurement
I have a SCXI-1102,and two SCXI-1112 in a SCXI-1000 chassis with a SCXI-1303 terminal block. I connected one thermocouple at Channel 0 in SCXI-1300, and also connected other TCS to SXCI-1112. And I tried to measure ambient temperature by T-type therm
-
Synchronous File- Soap scenario with fault message
Hi! I have a File to Soap synchronous scenario. All is right when no exception is returned by the web service. I want to use fault messages to catch thoses exceptions, so I have added fault message in message interfaces and in the mapping program in
-
Edit in photoshop cs6 from lightroom 4
Hi I am working between lightroom 4 and photoshop c6 . I have an issue though . What happens is that i use to be able to send my photo from LR to photoshop . Do my work , layers and stuff. Then save Back in LR i have now an edit.psd . Which so far is
-
Help .... with positioning a transformgroup
Is there a way to set the absolute coordinates a transformgroup with out using set() or settranslation()? I tried figiting with settranslations on a transform3d object but i cant see to translate the object to certain coordinates at run time. i've be
-
How to install Runtime Platform for more than one database on one machine
Hi, What the docs loosely call Runtime Platform Service is in my opinion a combination of A) a bunch of software (installed under an ORACLE_HOME) B) the actual service process My question: if I have more than one databases on one machine, each contai