Sie sind auf Seite 1von 21

How to Write a Routine for

0CALDAY in InfoPackage
Selection

Applies to:
SAP NetWeaver Business Warehouse (Formerly BI), Will also work on SAP BI 3.5. For more information,
visit the EDW homepage.

Summary
This article gives clear picture about how to use a Routine for 0CALDAY in InfoPackage Selection.
Author:

Surendra Kumar Reddy Koduru

Company: ITC Infotech India Ltd. (Bangalore/INDIA)


Created on: 24 June, 2011

Author Bio
Surendra Kumar Reddy Koduru is a SAP BI Lead Consultant currently working with ITC Infotech India
Ltd (Bangalore/INDIA). He has got rich experience and worked on various BW/BI
Implementation/Support Projects and he is the author for various Articles and Blogs (SAP-BW/BI) in
SAP Community Network.

SAP COMMUNITY NETWOR


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


1

How to Write a Routine for 0CALDAY in InfoPackage Selection

Table of Contents
Introduction: ........................................................................................................................................................ 3
Live Scenario: ................................................................................................................................................. 3
Create Flat File DataSource: .......................................................................................................................... 3
All Tabs of Flat File DataSource: .................................................................................................................... 4
Transformations and DTP:.................................................................................................................................. 7
Routine in InfoPackage:...................................................................................................................................... 8
Code Window: .................................................................................................................................................. 10
Code before Change: ....................................................................................................................................... 10
Code After Change: .......................................................................................................................................... 11
Data Loading using above InfoPackage: .......................................................................................................... 13
Monitor Screen: ................................................................................................................................................ 16
PSA Data: ......................................................................................................................................................... 16
Related Content ................................................................................................................................................ 20
Disclaimer and Liability Notice .......................................................................................................................... 21

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


2

How to Write a Routine for 0CALDAY in InfoPackage Selection

Introduction:
This article addresses the requirement of a Routine in InfoPackage selection on 0CALDAY. Using this
routine, I need to load only that particular Date Data into InfoCube and other data just ignore.
Live Scenario:
Some times when we are loading data from Source System into BW/BI System, we need some selections in
InfoPackage in BW/BI side, this is useful specially when we are doing Full Loads, and actually we need only
One Day before data, i.e. SY-DATUM 1 data only.
Here in this example I took Flat File as my Source System and explained all steps how to do it.
Create Flat File DataSource:
Create one Transactional Flat File DataSource and allow 0CALDAY for selection in InfoPackage, see the
below screens.

If you see the above screen, in Fields Tab we can find all fields which are using for extraction and for
0CALDAY, in selection column I selected it as X , this means once you select it, then this Field/InfoObejct will
be available in InfoPackage select. You just press F4 in that Selection it will display the values like below

Apart from this the remaining part is same as normal Flat File DataSource creation only. You just Save &
Activate the DataSource.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


3

How to Write a Routine for 0CALDAY in InfoPackage Selection

All Tabs of Flat File DataSource:

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


4

How to Write a Routine for 0CALDAY in InfoPackage Selection

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


5

How to Write a Routine for 0CALDAY in InfoPackage Selection

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


6

How to Write a Routine for 0CALDAY in InfoPackage Selection

Transformations and DTP:


See the below screen, it is just normal Transformations and DTP.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


7

How to Write a Routine for 0CALDAY in InfoPackage Selection

Routine in InfoPackage:
This is the place where we are going to write the routine using ABAP code and implementing our logic. i.e.
just consider only System date 1 records.
Eg: This article I prepared on 24-06-2011, and my flat file is having data from 2010 year to 2011 (till
December), but I need only 23-06-2011 Data.
See the InfoPackage in below screen and also settings for creating a routine.

If you see the above screen, you can find the 0CALDAY in Data Selection tab, this is because of our
selection at the time of DataSource creation, for reference see the initial screens and DataSource creation.

In above screen, you can find Type (Variable Change.) if you press F4 it will show the below options.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


8

How to Write a Routine for 0CALDAY in InfoPackage Selection

Just select 6 (ABAP Routine) option, it will ask namefollow the below steps.
Give name Routine for Date Selection and click on Editor Button.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


9

How to Write a Routine for 0CALDAY in InfoPackage Selection

Code Window:
Once you click on Editor Button, you can see the below screen.

Code before Change:


program conversion_routine.
* Type pools used by conversion program
type-pools: rsarc, rsarr, rssm.
tables: rssdlrange.
* Global code used by conversion rules
*$*$ begin of global - insert your declaration only below this line *-*
* TABLES: ...
* DATA:
...
*$*$ end of global - insert your declaration only before this line
*-*
* ------------------------------------------------------------------*
InfoObject
=
*
Fieldname
= CALDAY
*
data type
= DATS
*
length
= 000008
*
convexit
=
* ------------------------------------------------------------------form compute_CALDAY
tables
l_t_range
structure rssdlrange
using
p_infopackage type rslogdpid
p_fieldname
type rsfnm
changing p_subrc
like sy-subrc.
*
Insert source code to current selection field
*$*$ begin of routine - insert your code only below this line
*-*
data: l_idx like sy-tabix.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


10

How to Write a Routine for 0CALDAY in InfoPackage Selection

read table l_t_range with key


fieldname = 'CALDAY'.
l_idx = sy-tabix.
*....
modify l_t_range index l_idx.
p_subrc = 0.
*$*$ end of routine - insert your code only before this line
endform.
"

*-*

Code After Change:


Now we will write few lines of ABAP code to fulfill our requirement. See the below code. Once you write the
code, check the syntax error, if it is Ok then Save the routine.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


11

How to Write a Routine for 0CALDAY in InfoPackage Selection

program conversion_routine.
* Type pools used by conversion program
type-pools: rsarc, rsarr, rssm.
tables: rssdlrange.
* Global code used by conversion rules
*$*$ begin of global - insert your declaration only below this line *-*
* TABLES: ...
* DATA:
...
*$*$ end of global - insert your declaration only before this line
*-*
* ------------------------------------------------------------------*
InfoObject
=
*
Fieldname
= CALDAY
*
data type
= DATS
*
length
= 000008
*
convexit
=
* ------------------------------------------------------------------form compute_CALDAY
tables
l_t_range
structure rssdlrange
using
p_infopackage type rslogdpid
p_fieldname
type rsfnm
changing p_subrc
like sy-subrc.
*
Insert source code to current selection field
*$*$ begin of routine - insert your code only below this line
*-*
data: l_idx like sy-tabix.
DATA: zdate LIKE sy-datum. " Declaration.
read table l_t_range with key
fieldname = 'CALDAY'.
l_idx = sy-tabix.
*....
******Surendra Kumar Reddy Koduru*****Start***
zdate = sy-datum - 1.
l_t_range-low = zdate.
l_t_range-option = 'EQ'.
l_t_range-sign = 'I'.
******Surendra Kumar Reddy Koduru*****End******
modify l_t_range index l_idx.
p_subrc = 0.
*$*$ end of routine - insert your code only before this line
endform.
"

SAP COMMUNITY NETWORK


2011 SAP AG

*-*

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


12

How to Write a Routine for 0CALDAY in InfoPackage Selection

Data Loading using above InfoPackage:

For your reference, Im showing all tabs of the InfoPackage in below screens.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


13

How to Write a Routine for 0CALDAY in InfoPackage Selection

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


14

How to Write a Routine for 0CALDAY in InfoPackage Selection

Finally in the below screen you can find the Start Button, so just click it and load the data from Flat File.

Once you click on Start Button, you can see the message Data was requested , then go to Monitor and
see the status of the Data Load.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


15

How to Write a Routine for 0CALDAY in InfoPackage Selection

Monitor Screen:
See the below Monitor screen, you can find our selection also under Selection in right side and number of
records transferred.
Here our Flat file is having only few records will fall under 23-06-2011 date, but it is showing 10681 records,
so see the PSA Data, there you can find only related to 23-06-2011 date data.

PSA Data:
Click on PSA Icon like below.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


16

How to Write a Routine for 0CALDAY in InfoPackage Selection

See in above screen, you can find only 33 records are loaded into PSA, all these records are 23-06-2011
date records.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


17

How to Write a Routine for 0CALDAY in InfoPackage Selection

Then execute the DTP and see the data in InfoCube.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


18

How to Write a Routine for 0CALDAY in InfoPackage Selection

InfoCube Data:

So in this way we can implement the Routine in InfoPackage on 0CALDAY.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


19

How to Write a Routine for 0CALDAY in InfoPackage Selection

Related Content
For all Articles and Blogs by Surendra Kumar Reddy, Please visit this URL
Using Customer Exit Variables in BW Reports Part - 1
Using Customer Exit Variables in BW Reports Part - 2
Using Customer Exit Variables in BW Reports Part - 3
Using Customer Exit Variables in BW Reports Part - 4
Using Customer Exit Variables in BW Reports Part - 5
Using Customer Exit Variables in BW Reports Part - 6
Using Customer Exit Variables in BW Reports: Part - 8
Using Customer Exit Variables in BW Reports: Part - 9
Using Customer Exit Variables in BW Reports: Part - 10
Using Customer Exit Variables in BW Reports: Part - 11
Using Customer Exit Variables in BW Reports: Part - 12
Using Customer Exit Variables in BW Reports: Part - 13
Using Customer Exit Variables in BW Reports: Part - 14
Using Customer Exit Variables in BW Reports: Part - 15
Using Customer Exit Variables in BW Reports: Part - 16
Using Customer Exit Variables in BW Reports: Part - 17
Using Customer Exit Variables in BW Reports: Part - 18
Inventory Management (0IC_C03) Part - 1
Inventory Management (0IC_C03) Part - 2
Inventory Management (0IC_C03) Part - 3
To Check the Files/Reports in Application Server and trigger mail alerts
Calculating the Ageing of the Materials
Using Selective Deletion in Process Chains
Triggering the Process Chains at Particular Date using Events
Analysis Process Designer (APD) Part - 1
Analysis Process Designer (APD) Part - 2
Analysis Process Designer (APD): Part - 3
Open Hub Destination: Part 1
Open Hub Destination: Part 2
InfoSpoke Part 1
InfoSpoke Part 2
Using Rule Group in SAP-BI Part - 1
For more information, visit the EDW homepage.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


20

How to Write a Routine for 0CALDAY in InfoPackage Selection

Disclaimer and Liability Notice


This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not
supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade.
SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document,
and anyone using these methods does so at his/her own risk.
SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or
code sample, including any liability resulting from incompatibility between the content within this document and the materials and
services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this
document.

SAP COMMUNITY NETWORK


2011 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com


21

Das könnte Ihnen auch gefallen