Sunteți pe pagina 1din 3

Note 932032 Note Language: English

BDLS: specific conversion for large tables


Version: 5 Validity:
Valid from 21.03.2006

Summary
Symptom
You are in BDLS and want to execute the conversion of logical file names in a test run or an "update run". When you do this, very long runtimes occur for certain tables.

More Terms
BDLS, COEP

Cause and Prerequisites


In a test run, BDLS checks whether the new logical system name already exists in the table. In addition to this, the number of entries to be converted is determined for the purpose of statistics. Since the fields that are checked are not normally in an index, these checks are usually performed as a "full table scan", which results in extremely long runtimes in the case of large tables that contain a large number of entries. In principle, you can exclude tables from the conversion that use the domains that are checked, but in which the relevant fields are not filled.

Solution
The solution describes how you can use the exception table 'BDLSEXZ' to implement your own conversion process for these tables. You can maintain the table using SM30. The table COEP, which as a special case contains two fields to be converted, serves as an example here. For tables in which the fields in question (typed with the domains 'LOGSYS' or 'EDI_PARNUM') are not filled, it is sufficient to exclude them from the conversion process. The solution consists of several steps. Excluding the table from the standard conversion process To exclude a table, make the following entry in the table 'BDLSEXZ': Class (OBJCLS) : T (Excluded Table) Object name (OBJKEY) : COEP Activating a specific conversion process To activate a specific conversion process, make the following table entry: Class Object name Program Routine (OBJCLS) (OBJKEY) (PROGRAM) (SUBROUTINE) : : : : X (Objects for Specific Treatment) COEP_XXX (any) Z_BDLS_COEP (own program) TABLE_CHANGE (subroutine)

You can enter the object name of your choice. The parameter 'Routine' denotes a subroutine within the program that is called with certain parameters by BDLS. Program attributes. Define the subroutine as follows: FORM table_change TABLES i_protocols USING s_extparam TYPE bdi_lsext.
21.04.2008 Page 1 of 3

Note 932032 -

BDLS: specific conversion for large tables

The data declarations that are required in the program are: DATA: i_protocols TYPE TABLE OF edimessage WITH HEADER LINE, s_extparam TYPE bdi_lsext, wa_prot LIKE edimessage. Log information can be transmitted to the calling program by making entries in the table i_protocols: wa_prot-msgid = 'B1'. wa_prot-msgty = 'I'. wa_prot-msgno = '999'. wa_prot-msgv1 = 'Test run table COEP'. wa_prot-msgv2 = 'with/without Existence check'. wa_prot-msgv3 = 'is unsupported'. wa_prot-msgv4 = '!'. INSERT wa_prot INTO TABLE i_protocols. The routine is also called in the test run, so the actual conversion must be encapsulated by a query of the indicator s_extparam-test. The correction instructions contain source code for converting the table COEP with the CURSOR method. Implement the correction using the Note Assistant after you have created the (empty) report Z_BDLS_COEP.

Header Data
Release Status: Released on: Priority: Category: Main Component Released for Customer 13.02.2008 13:47:02 Recommendations/additional info Consulting BC-MID-ALE Integration Technology ALE

Valid Releases
Software Component SAP_BASIS SAP_BASIS SAP_BASIS Release 60 70 71 From Release 620 700 710 To Release 640 700 710 and Following

Attachments
File Type TXT File Name Z_BDLS_COEP.txt Language E Size 3 KB

Correction Instructions

21.04.2008

Page 2 of 3

Note 932032 -

BDLS: specific conversion for large tables

Correction Valid Valid Software Typ Reference Last Instructio from to Component e Correction Changed ns *) 798114 620 700 SAP_BASIS C 13.02.2008 08:45:18 *) C Correction, B Pre-Implementation, A Post-Implementation, M Undetermined

21.04.2008

Page 3 of 3

S-ar putea să vă placă și