Skip to Content
0
Jun 05, 2009 at 11:59 AM

Function module based generic extractor - Problem with the selection

48 Views

Hi all

The following is my code in the function module. I am able to get the entire data if i dont give any selections and the number of records is also correct. But when i select a MATNR value, it returns 0 records where as it needs to return 3 records. If i give selection based on bukrs, werks, lgort its working fine. But if i give selection based on MATNR, then it is not working.... I think there is a problem in the bold part of my code. If i debug, LS_MATNR is having the correct value which indicates that there is no problem with the value being passed to LS_MATNR from my selection screen of my datasource in RSA3. Even GT_WERKS is also having data. Please help.

OPEN CURSOR WITH HOLD S_CURSOR FOR

SELECT MARA~MANDT

MARA~MATNR

MARC~WERKS

MARD~LGORT

MARA~MEINS

MARD~LABST

MARD~EINME

MARD~SPEME

MARD~RETME

MARD~INSME

MARD~UMLME

MARD~VMLAB

MARD~VMEIN

MARD~VMSPE

MARD~VMRET

MARD~VMINS

MARD~VMUML

MARC~XCHPF

MARD~KLABS

MARD~KEINM

MARD~KSPEM

MARD~KINSM

from MARA inner join MARC on

MARAMANDT = MARCMANDT AND

MARAMATNR = MARCMATNR

inner join MARD on

MARAMANDT = MARDMANDT AND

MARAMATNR = MARDMATNR

AND MARCWERKS = MARDWERKS

for all entries in gt_werks

where MARC~werks EQ gt_werks-werks

AND MARA~MATNR in LS_MATNR.

ENDIF. "First data package ?

  • Fetch records into interface table.

  • named E_T_'Name of extract structure'.

FETCH NEXT CURSOR S_CURSOR

APPENDING CORRESPONDING FIELDS

OF TABLE E_T_DATA

PACKAGE SIZE S_S_IF-MAXSIZE.