Вы находитесь на странице: 1из 12

How to write routine to fetch current day's filename

Applies to:
SAP BI 7.0 developers for carrying out tasks related to data loading and monitoring.

Summary
This document provides step by step approach to create infopackage/ datasource routine to fetch
current day's file name present on the application server.
Author(s):

Sanjeev Singh

Company: Vridhi Softech Services Private Limited, India.


Created on: 24 December 2015

Author Bio
Sanjeev Singh is a SAP BI Consultant at Vridhi Softech Services Private Limited, India.

Business Scenario
You have been tasked to load files available on application server on daily basis.
File name contains the date appended to it which matches system date. You have not been able to
identify a standard procedure that will accomplish this task for you.
You need to deliver a solution to appropriately generate file names on daily basis through
infopackage and load them to specified data targets.

Introduction
Within SAP-BI system there are info package routines available under "Extraction" tab page in
datasource as well as in Infopackage
which can be leveraged to capture file names as per current system date through the use of
customized ABAP routine to generate file name

Procedure
1. Create Generic Datasource for flatfile source system.

2. Go to external tab page and maintain specific settings for Adapter and File name.
3. Write an ABAP routine to fetch current day's file available on the Application server.
4. Activate datasource and preview the records present in the file.
5. Create an infopackage with similar setting as that of datasource.
6. Schedule the infopackage and monitor to view file records in PSA.

Prerequisite
Files should be placed on Application server with naming convention such as <File
Name>+<Current Day(YYYYMMDD)>

1.

Create Generic Datasource for flatfile source system.

The flat file datasource allows you to capture the file fields information and then to load data into
the BI system.
1.Navigate to Source Systems->File. Expand File to select Flat file source system.
2.Double Click Flat File and create a datasource in appropriate Application Component.

3.Enter the Description and type of Datasource

4.Fill out the details in the " General" tab page for datasource

2.
Go to "Extraction" tab page and maintain specific settings for Adapter and
File name.
In this tab page you need to fill in settings related to Delta Process, Adapter and routine for
generating file name

1.Enter the details for Adapter and Click on routine to generate a file name

3.
Write an ABAP routine to fetch current day's file available on the
Application server.
1.Enter the name for routine.

2.Click Editor and write code in the space provided in ABAP editor.

3.Below is the ABAP code which is to be written at DataSource"Extraction" tabpage to fetch file
name:program filename_routine.program filename_routine.program filename_routine.

Global code
$$ begin of global - insert your declaration only below this line -

Enter here global variables and type declarations

as well as additional form routines, which you may call from the

main routine COMPUTE_FLAT_FILE_FILENAME below


*TABLES: ...

DATA: ...
*$$ end of global - insert your declaration only before this line *-

------------------------------------------------------------------form compute_flat_file_filename
using p_infopackage type rslogdpid
p_datasource type rsoltpsourcer
p_logsys
type rsslogsys
changing p_filename type RSFILENM
p_subrc
like sy-subrc.
$$ begin of routine - insert your code only below this line

This routine will be called by the adapter,


o when the infopackage is executed.
DATA Z_FILENAME TYPE RSFILENM.
DATA ZFILE_13(100).
DATA: ZDATE LIKE SY-DATUM,
DD(2),
MM(2),
YY(4).
ZDATE = SY-DATUM.
Z_FILENAME =
'Application Server Path\<Filename>'. YY = ZDATE+0(4).
MM = ZDATE+4(2).
DD = ZDATE+6(2).
CONCATENATE YY MM DD INTO ZFILE_13.
CONCATENATE Z_FILENAME '' ZFILE_13 '' '.csv' INTO
Z_FILENAME. p_filename = Z_FILENAME.
p_subrc = 0.
$$ end of routine - insert your code only before this line
endform.

4.

Activate datasource and preview the records present in the file.

5.

Create an infopackage with similar setting as that of datasource.

1. Right click on datasource to create infopackage.

2. Maintain all Infopackage settings similar to the one defined at the datasource level for fetching
filename through 'ZTEST' routine.

6.

Schedule the infopackage and monitor to view file records in PSA.

1. Keep default settings for infopackage, go to Schedule tab and click on Start for dataloading.
Alternatively, you can include the infopackag at process chain level as per your design

consideration.

2. Once load finishes successfully, click on Monitor to view and verify the records as per the file
available on the application server.

Вам также может понравиться