SAP BW versus R/3 Reporting
-----Original Message----Subject: BW versus R/3 Reporting Dear All, Would it be sufficient just to Web-enable R/3 Reports ? Why does one need to implement BW ? What are the major benefits of reporting with BW over R/3 ? Thanking you, -----Reply Message----Subject: RE: BW versus R/3 Reporting There are quite a few companies that share your thought but R/3 was designed as a OLTP system and not an analytical and reporting system. In fact depending on you needs you can even get away with a reporting instance (quite easy with Sun or EMC storage) Yes you can run as many reports as you need from R/3 and web enable them but consider these factors. 1: Performance -- heavy reporting along with regular OLTP transactions can produce a lot of load both on the R/3 and the database (cpu, memory, disks, etc). Just take a look at the load put on your system during a month end, quarter end, or year end -- now imagine that occurring even more frequently. 2: Data analysis -- BW uses a Data Ware house and OLAP concepts for storing and analyzing data. Where R/3 was designed for transaction processing. With a lot of work you can get the same analysis out of R/3 but most likely would be easier from a BW. Regards, -----Reply Message----Subject: RE: BW versus R/3 Reporting Major benefits of BW include: 1) By offloading ad-hoc and long running queries from production R/3 system to BW system, overall system performance should improve on R/3. 2) Another key performance benefit with BW is the database design. It is designed specifically for query processing, not data updating and OLTP. Within BW, the data structures are designed differently and are much better suited for reporting than R/3 data structures. For example, BW utilizes star schema design which includes fact and dimension tables with bit-mapped
indexes. Other important factors include the built-in support for aggregates, database partitioning, more efficient ABAP code by utilizing TRFC processing versus IDOC. 3) Better front-end reporting within BW. Although the BW excel front-end has it's problems, it provides more flexibility and analysis capability than the R/3 reporting screens. 4) BW has ability to pull data from other SAP or non-SAP sources into a consolidated cube. In summary, BW provides much better performance and stronger data analysis capabilities than R/3.
emoving '#' in Analyzer (Report)
In ODS, there are records having a value BLANK/EMPTY for some of the fields. EX: Field: `Creation Date' and there is no value for some of the records. For the same, when I execute the query in Analyzer, the value `#' is displaying in place of `BLANK' value for DATE and other Characteristic fields. Here, I want to show it as `BLANK/SPACE' instead of `#'. How to do this? I had a similar problem and our client didn't want to see # signs in the report. And this is what I did. I created a marco in Workbook as SAPBEXonRefresh and run my code in Visual Basic editor. You can run same code in query also as when you will refresh query this # sign will be taken care. You can see similar code in SAP market place. I will still suggest not to take out # sign as this represent no value in DataMart. And this is SAP standard. I did convince my client for this and later they were OK with it. The codes are below: Sub SAPBEXonRefresh(queryID As String, resultArea As Range) If queryID = "SAPBEXq0001" Then resultArea.Select 'Remove '#' Selection.Cells.Replace What:="#", Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, MatchByte:=True 'Remove 'Not assigned' Selection.Cells.Replace What:="Not assigned", Replacement:="", LookAt:=xlWhole, _ SearchOrder:=xlByRows, MatchCase:=False, MatchByte:=True
End If ' Set focus back to top of results resultArea(1, 1).Select
How To Convert Base Units Into Target Units In BW Reports
My client has a requirement to convert the base units of measurements into target units of measurements in BW reports. How to write the conversion routine and otherwise pls refer conversion routine used so that the characteristic value(key) of an infoobject can be displayed or used in a different format to how they are stored in the database. Have a look at the how to document "HOWTO_ALTERNATE_UOM2" or You can use the function module 'UNIT_CONVERSION_SIMPLE' CALL FUNCTION 'UNIT_CONVERSION_SIMPLE' EXPORTING input = ACTUAL QUANTITY NO_TYPE_CHECK = 'X' ROUND_SIGN ='' unit_in = ACTUAL UOM unit_out = 'KG' ( UOM YOU WANT TO CONVERY ) IMPORTING ADD_CONST = DECIMALS = DENOMINATOR = NUMERATOR = output = w_output-h_qtyin_kg EXCEPTIONS CONVERSION_NOT_FOUND =1 DIVISION_BY_ZERO =2 INPUT_INVALID =3 OUTPUT_INVALID =4 OVERFLOW =5 TYPE_INVALID =6 UNITS_MISSING =7 UNIT_IN_NOT_FOUND =8 UNIT_OUT_NOT_FOUND =9 OTHERS = 10 .
* * * * * * * * * * * * * * *
IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.