Skip to Content
0
Former Member
Jan 06, 2013 at 12:42 PM

Function module for RSAX_BIW_GET_DATA

184 Views

hi ABAP Gurus

i have written code for Generic Extraction at RSAX_BIW_GET_DATA

but It is not working fine for selections .

FUNCTION ZRSAX_BIW_GET_DAT_VBAK.

STATICS C1 TYPE CURSOR.

RANGES R_VBELN FOR VBAK-VBELN.

RANGES R_ERDAT FOR VBAK-ERDAT.

IF I_INITFLAG = SPACE.

IF C1 IS INITIAL .

LOOP AT I_T_SELECT WHERE FIELDNM = 'VBELN'.

R_VBELN-SIGN = I_T_SELECT-SIGN.

R_VBELN-OPTION = I_T_SELECT-OPTION.

CALL FUNCTION 'NUMERIC_CHECK'

EXPORTING

STRING_IN = I_T_SELECT-LOW

IMPORTING

STRING_OUT = R_VBELN-LOW.

CALL FUNCTION 'NUMERIC_CHECK'

EXPORTING

STRING_IN = I_T_SELECT-HIGH

IMPORTING

STRING_OUT = R_VBELN-HIGH.

APPEND R_VBELN.

CLEAR R_VBELN.

ENDLOOP.

LOOP AT I_T_SELECT WHERE FIELDNM = 'ERDAT'.

R_ERDAT-SIGN = I_T_SELECT-SIGN.

R_ERDAT-OPTION = I_T_SELECT-OPTION.

R_ERDAT-LOW = I_T_SELECT-LOW.

R_ERDAT-HIGH = I_T_SELECT-HIGH. APPEND R_ERDAT .CLEAR R_ERDAT.

ENDLOOP.

OPEN CURSOR C1 FOR SELECT

VBELN ERDAT VKORG KUNNR NETWR WAERK FROM VBAK WHERE VBELN IN R_VBELN AND

ERDAT IN R_ERDAT.

ENDIF.

FETCH NEXT CURSOR C1

INTO CORRESPONDING FIELDS OF TABLE E_t_DATA PACKAGE SIZE I_MAXSIZE.

IF SY-SUBRC <> 0.

CLOSE CURSOR C1.

RAISE NO_MORE_DATA.

ENDIF.

FIELD-SYMBOLS <kittu> TYPE zes_vbak.

LOOP at e_t_data ASSIGNING <kittu>.

<kittu>-netwr = <kittu>-netwr + 500.

ENDLOOP.

ENDIF.

ENDFUNCTION.

It is working fine calculations

but when iam use selection criateria on ERDAT

I have used selections as 02011997 to 21011997

but it is picking all the records from VBAK

please help on this issues

Regards

Balalkrishna.c