Skip to Content
0
Former Member
Jan 15, 2009 at 11:52 AM

Problem in retrieval of right data : because of Conversion routine

81 Views

Dear all,

I want to retrieve data for some fields in table J_1IEXCTAX and want to filter that data on the basis of

fields VALIDFROM and VALIDTO. But these two fields use the domain with conv routine INVDT.

So in one shot I wanted to write the code as

SELECT * FROM J_1IEXCTAX INTO CORRESPONDING FIELDS OF TABLE IT_J_1IEXCTAX

WHERE J_1ICHID EQ J_1IMTCHID-J_1ICHID and

VALIDFROM LE w_date1 and

VALIDTO GE w_date1.

Instead I had to code like the below...which weakens the performance....any soln please.................

SELECT * FROM J_1IEXCTAX INTO CORRESPONDING FIELDS OF TABLE IT_J_1IEXCTAX

WHERE J_1ICHID = J_1IMTCHID-J_1ICHID .

LOOP AT IT_J_1IEXCTAX.

CALL FUNCTION 'CONVERSION_EXIT_INVDT_OUTPUT'

EXPORTING

INPUT = IT_J_1IEXCTAX-VALIDFROM

IMPORTING

OUTPUT = V_DATE1.

CONCATENATE V_DATE16(4) V_DATE13(2) V_DATE1+0(2) INTO V_VALIDFROM.

CONDENSE V_VALIDFROM NO-GAPS.

CALL FUNCTION 'CONVERSION_EXIT_INVDT_OUTPUT'

EXPORTING

INPUT = IT_J_1IEXCTAX-VALIDTO

IMPORTING

OUTPUT = V_DATE2.

CONCATENATE V_DATE26(4) V_DATE23(2) V_DATE2+0(2) INTO V_VALIDTO.

CONDENSE V_VALIDTO NO-GAPS.

SELECT SINGLE BLDAT FROM MKPF INTO W_BLDAT WHERE MBLNR = T_GRREC-BELNR.

IF V_VALIDFROM LE W_BLDAT AND

V_VALIDTO GE W_BLDAT.

MOVE : IT_J_1IEXCTAX-RATE TO J_1IEXCTAX-RATE,

IT_J_1IEXCTAX-ECSRATE TO J_1IEXCTAX-ECSRATE,

IT_J_1IEXCTAX-J_1IADDRAT1 TO J_1IEXCTAX-J_1IADDRAT1.

ENDIF.

CLEAR : IT_J_1IEXCTAX,V_DATE1,V_DATE2,V_VALIDFROM,V_VALIDTO.

ENDLOOP.