Tuesday, November 9, 2010

PSA, Infoobject tables

PSA Table

For PSA tables, the maintenance of database storage parameters can be found in the transfer rules maintenance, in the Extras menu.

You can also assign storage parameters for a PSA table already in the system. However, this has no effect on the existing table. If the system generates a new PSA version, that is, a new PSA table, due to changes in the transfer structure, this is created in the data area for the current storage parameters.

InfoObject Tables

For InfoObject tables, the maintenance of database storage parameters can be found in the InfoObject maintenance, in the Extras menu.

InfoCube/aggregate fact and dimension tables

For fact- and dimension tables, the maintenance of database storage parameters can be found in the InfoCube maintenance, in the Extras menu.

ODS Tables (Activation queue and table for active data)

For ODS tables, the maintenance of database storage parameters can be found in the ODS object maintenance, in the Extras menu.

Database Storage Parameters

You can maintain database storage parameters for PSA tables, master data tables, InfoCube fact- and dimension tables, and ODS tables.

Use this setting to determine how the system handles the table when it creates it in the database:

Use Data Type to set in which physical database area (tablespace) the system is to create the table. Each data type (master data, transaction data, organization- and Customizing data, customer data) has its own physical database area, in which all tables assigned to this data type are stored. If selected correctly, your table is automatically assigned to the correct area when it is created in the database. We recommend you use separate tablespaces for very large tables.

You can find information about creating a new data type in SAPNet R/3 Frontend in note 0046272 (Introduce new data type in technical settings).

Via Size Category, you can set the amount of space the table is thought to need in the database. Five categories are available in the input help. You can also see here how many data records correspond to each individual category. When creating the table, the system reserves an initial storage space in the database. If the table later requires more storage space, it obtains it as set out in the size category. Correctly setting the size category prevents there being too many small extents (save areas) for a table. It also prevents the wastage of storage space when creating extents that are too large. You can use the maintenance for storage parameters to better manage databases that support this concept.

You can find additional information about the data type and size category parameters in the ABAP Dictionary table documentation, under Technical Settings.

Frequently used ABAP Programs in SAP BI (NW 2004).

Listed below are some of the frequently used ABAP Programs in SAP BI (NW 2004).
Program name  
RSCDS_NULLELIM Delete fact table rows where all Key Figure values are zero. See Note 619826.
RSDG_CUBE_ACTIVATE Activation of InfoCubes
RSDG_CUBE_COPY Make InfoCube Copies
RSDG_CUBE_DELETE Delete InfoCubes
RSDG_DODS_REPAIR Activation of all ODS Objects with Navigation Attributes
RSDG_ODSO_ACTIVATE Activation of all ODS Objects
RSDG_IOBJ_ACTIVATE Activation of all InfoObjects
RSDG_IOBJ_DELETE Deletion of InfoObjects
RSDG_IOBJ_REORG Repair InfoObjects
RSDG_IOBJ_REORG_TEXTS Reorganization of Texts for InfoObjects
RSDG_MPRO_ACTIVATE Activating Multiproviders
RSDG_MPRO_COPY Make Multiprovider Copies
RSDG_MPRO_DELETE Deleting Multiproviders
RS_COMSTRU_ACTIVATE_ALL Activate all inactive Communication Structures
RS_TRANSTRU_ACTIVATE_ALL Activate Transfer Structure
RSAU_UPDR_REACTIVATE_ALL Activate Update Rules
RRHI_HIERARCHY_ACTIVATE Activate Hierarchies
SAP_AGGREGATES_ACTIVATE_FILL Activating and Filling the Aggregates of an InfoCube
SAP_AGGREGATES_DEACTIVATE Deactivating the Aggregates of an InfoCube
RS_PERS_ACTIVATE Activating Personalization in Bex(Inactive are highlighted)
RSSM_SET_REPAIR_FULL_FLAG Convert Full Requests to Repair Full Requests
SAP_INFOCUBE_DESIGNS Print a List of Cubes in The System and Their Layouts
SAP_ANALYZE_ALL_INFOCUBES Create DB Statstics for all InfoCubes
SAP_CREATE_E_FACTTABLES Create Missing E-Fact Tables for InfoCubes and Aggregates
SAP_DROP_EMPTY_FPARTITIONS Locate/Remove Unused or Empty partitions of F-Fact Table
SAP_DROP_TMPTABLES Remove Temperory Database Objects
SAP_RSADMIN_MAINTAIN Add, change, delete RSADMIN table entries
CUBE_SAMPLE_CREATE A fast way to put some "sample" records in a InfoCube. No need to use Flatfiles,
just enter the value in a ALV-Grid or let fill the Cube with random value.
SAP_CONVERT_NORMAL_TRANS Convert BasisCube to Transactional Cube and the opposite way around.
Listed below are some of the frequently used Function Modules within BW.
Function Module Description (Function Group RRMX)
RRMX_WORKBOOK_DELETE Delete BW Workbooks permanently from Roles & Favourites
RRMX_WORKBOOK_LIST_GET Get list of all Workbooks
RRMX_WORKBOOK_QUERIES_GET Get list of queries in a workbook
RRMX_QUERY_WHERE_USED_GET Lists where a query has been used 
RRMX_JUMP_TARGET_GET Get list of all Jump Targets
RRMX_JUMP_TARGET_DELETE Delete Jump Targets
Function Module Description
MONI_TIME_CONVERT Used for Time Conversions.
CONVERT_TO_LOCAL_CURRENCY Convert Foreign Currency to Local Currecny.
CONVERT_TO_FOREIGN_CURRENCY Convert Local Currency to Foreign Currency.
TERM_TRANSLATE_TO_UPPER_CASE Used to convert all texts to UPPERCASE
UNIT_CONVERSION_SIMPLE Used to convert any unit to another unit. (Ref. table : T006)
TZ_GLOBAL_TO_LOCAL Used to convert timestamp to local time
FISCPER_FROM_CALMONTH_CALC Convert 0CALMONTH or 0CALDAY to Financial Year or Period
RSAX_BIW_GET_DATA_SIMPLE Generic Extraction via Function Module
RSAU_READ_MASTER_DATA Used in Data Transformations to read master data InfoObjects
RSDRI_INFOPROV_READ
RSDRI_INFOPROV_READ_DEMO 
RSDRI_INFOPROV_READ_RFC
Used to read Infocube or ODS data through RFC
DATE_COMPUTE_DAY 
DATE_TO_DAY
Returns a number what day of the week the date falls on.
DATE_GET_WEEK Will return a week that the day is in.
RP_CALC_DATE_IN_INTERVAL Add/Subtract Years/Months/Days from a Date.
RP_LAST_DAY_OF_THE_MONTHS 
SLS_MISC_GET_LAST_DAY_OF_MONTH
Determine Last Day of the Month.
RSARCH_DATE_CONVERT Used for Date Converstions. We can use in Info Package routines.
RSPC_PROCESS_FINISH   
To trigger an event in process chain
 DATE_CONVERT_TO_FACTORYDATE Returns factory calendar date for a date
 CONVERSION_EXIT_PDATE_OUTPUT Conversion Exit for Domain GBDAT: YYYYMMDD  -> DD/MM/YYYY
 CONVERSION_EXIT_ALPHA_INPUT Conversion exit ALPHA, external->internal
CONVERSION_EXIT_ALPHA_OUTPUT Conversion exit ALPHA, internal->external
 RSPC_PROCESS_FINISH Finish a process (of a process chain)
RSAOS_METADATA_UPLOAD Upload of meta data from R/3
RSDMD_DEL_MASTER_DATA Deletion of master data
RSPC_CHAIN_ACTIVATE_REMOTE To activate a process chain after transport
                        
USEFUL ABAP-CLASS in NW 7 - BI to fix problems with Transformation
Class CL_RSTRAN_STAT Description
DELETE_VERSION_FROM_DB (Static Method) For deleting a transformations rule version f
hello,i have a question about process chain. i have 2 process chains

PROCESS CHAIN 1
PROCESS CHAIN 2

PROCESS CHAIN 1 runs everyday from 11 PM - 6 AM. i want to run PROCESS CHAIN 2 every 30 mins every day. but not while PROCESS CHAIN 1 is running. any idea how to do that?


You need to write some logic in a program to raise event
by including conditions (11 PM - 6 AM) and raise event for every 30mins
Add that event in 2 nd PC


1 - define ABAP Report Z_EVENT_RAISER (see sample code below)
2 - define a variant for this Report (Event Name mandatory)
3 - Call ABAP Report Z_EVENT_RAISER from within your Proces Chain.

This should work
Hope it helps

GFV

*====================================================
&---------------------------------------------------------------------
*& Report Z_EVENT_RAISER *
*& *
&---------------------------------------------------------------------
*& *
*& *
&---------------------------------------------------------------------

REPORT Z_EVENT_RAISER .

selection-screen begin of block parametri with frame.
parameters:
EVENT like BTCH1250-EVENTID obligatory,
PARAM like BTCH1250-PARAMETER.
selection-screen skip.
selection-screen end of block parametri.

CALL FUNCTION 'BP_EVENT_RAISE'
EXPORTING
eventid = EVENT
EVENTPARM = PARAM
* TARGET_INSTANCE = ' '
* EXCEPTIONS
* BAD_EVENTID = 1
* EVENTID_DOES_NOT_EXIST = 2
* EVENTID_MISSING = 3
* RAISE_FAILED = 4
* OTHERS = 5
.
IF sy-subrc 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Some Project issues

In Shell Project point of view,

*how many process chains u have* -  1800 + chains

and how many loads per day  -  3 schedule per day ( G1, G2, G3 ),  G1 is
for Europe Region ( starts at 6:15 am IST ), G2 is for Asia region  ( Starts
at 7:30 pm IST), G3 is for US region ( starts at 12:30 pm IST ).

*modules of projects* -

FSS  ( Financial Services )
PGS ( Procurment of Good and Supply),
GAME ( Global Asset  Management system )
StBC ( Sell to Business Customers ),
StRC ( Sell to Retail Customers )
HM ( Hydro Corbon Managment ),
LSC ( Lubricants supply chain management )

*data source whic u have used -*

2LIS_BAITEM -  Sales Item
2LIS_BAIHDR  -  Sales header
2LIS_12VCITEM  -  Delivery Item
2LIS_VDHRD  -  Delivery Header
2LIS_VCItem -  Billing item
These are some of SAP standdard Data sources, serach in google with  "SAP
standdard Data sources", u can find many more.
**
*title of project   -*  Shell BAM ( GSAP )
*Object of project*  -

*Shell* is a global group of energy and petrochemicals companies, operating
in over 145 countries and employing more than 119, 000 people best known to
the public for service station and for exploring and producing oil and gas
on land and at sea. GSAP will replace Shell’s fragmented Enterprise Resource
Planning systems with a harmonized global platform, critical to the delivery
of OP-One benefits. Shell aims to reduce the number of Enterprise Resource
Planning systems in oil products from 123 to less than 10.
*flow of project*   - Not clear with the question, U just can't explain the
flow of the projects but can explain flow of a particular Report.
like from which source system data is coming to BW, where u are storing it
in BW etc,

Eg : R/3 system --> 2LIS_BAITEM -->PSA-->ABAP Routine ( Update rules )
-->ODS --> Cube --> Multi Provider --> Query  ( explain Logic in the query )
--> Report name.

*roles and responsibilities -*

  - Monitoring Data load activities and recovered failures in Dev, Quality
  system as part of Unit Testing**


  - Preparing the process documents for each and every enhancement.**
  - Handled the tickets of different severities by following SOP (Standard
  Operating Procedures) and never missed the SLA (Service level agreement).
  **


  - Involved in solving high-prioritized tickets regarding extractions,
  performances issues and also Data load failures.**
  - Extensively worked on process chains to automate the Deleting indexes
  in Info cubes, Process of info packages, creating indexes, ODS activation,
  further updating, PSA request deletion and Attribute change run so on.**
  - Experience using the Open Hub Feature to export data from SAP BW to
  external systems (Flat files / Database tables).**
  - Involved in Unit testing, Integration testing, Regression testing and
  User acceptance testing in different servers.**
  - Deleted the Delta queues by running the programs for different
  applications. And filled the set up tables in production during the
  downtime. Before upgrading the BI7.0 system.
  - Having experience in RMI&OPSM   interfaces technology.
  - Enhancing the existing reports as per the new requirement.
  - Monitoring the daily loads to various data targets in the system.
  - Monitoring the process chains on the basis of daily, weekly & monthly.
  - Manual loading and rolling up the data into data targets.
  - Maintaining the logs for each manual load.
  - Created aggregates to improve the query response.
  - Performance tuning of queries using aggregates, indexing of Info cubes.
  - Responsible for the Rev track system in maintaining, creating RevTracks
  for the PGS area

used in transports   -  Shell uses the toll RevTrac  to transfer the objects
from Dev to Production systems.

Above details are different from project to Project. Understand and prepare
some thing similar to ur project as well.

Return code for transportation

hi i have done transportation in sap bi/bw it sucessfully completed for se10 after that i have to see return code where i see that return code i think that se03 tcode what is the useful for se03 tcode and what's the purpose of return code kindly explain me briefly about return code and transportation also.

 Once your request is released to the next landscape, the log for that particular request appears in SE09.

Give the request name in the Display request option that you have and click the log for that particular request

You will get the step upto "Method execution", there the return code value will be displayed.


Once the request is realeased you may see logs in SE09/SE10 or SE03.
If the transprt request is transproted successfully you may see the step Method execution successful.

You may check the TR queue as well at STMS. In that for particular system queue you may see thataus as green/red for your TR.



Transportation is moving created objects with the landscape that is create the objects in Dev and collect it in the Request which can be move across the landsacpe.

Return codes are nothing but the status of the transport request which is moved to target. It can endup with warnings ( Return code = 4) or successful ( return code = 0) or errors ( return code = 8). It is to identify whether the changes has been moved to the target system successfully or not.

SE03 is the transport organizeris the tool to display request type and request status.

How to modify Process Chain to run under BWREMOTE

below is the setup
- a process chain made up of an abap program
+ the program uses 'open dataset' to read the data on a file on the server and eventually to rewrite to a different directory
- when run the process chain get the following message:
"PC could not be scheduled- termination return code 8"

-when I run the abap in the background --> get the following message:
"OPEN_DATASET_no_authority"

- I have ful authorization to run any abap program and have full access to the server file.

- Notes: 947690 & 511475 --> has solution for changing the user id for BW up to and including 4.6C. Our system is 7.0

How can I change the user id in Process Chain so it can run under BWREMOTE and not under my user id.




Issue Description:

Process Chain executes under SY-USERNAME instead of Background user.

Possible Cause:

Flag being marked as 'X' in RSADMIN table for object/field RSPC_EXECUTE_USER when the variant (dynamic always) of the program RSPROCESS is changed.
Once the flag is set for the field mentioned above the processes chain is triggered from the current user ignoring the set background user id.

Solution to reset the flag in RSADMIN table:

Execute the program RSPC_EXECUTE_USER to reset the flag for field RSPC_EXECUTE_USER.
The adverse effect of executing the program can be it will set the flag to 'X' if no such entry exists in the table.
Hence forth user ids can be switched from current user to BC or vice versa.

References

SAPNOTE: 640746


Add the user ID in Process chain --> attributes --> execution user.

1) table RSADMIN does not have an entry for RSPC_EXECUTE_USER
2) In the PC, I am directly calling my abap program instead of calling RSPROCESS