HI ,
I want to do data source enhancemnt as per the followint logic
IF xvbak-vbtyp = 'K' OR xvbak-vbtyp = 'H').
SELECT vbeln posnn rfmng vbtyp_n FROM vbfa
INTO TABLE xvbfa
WHERE vbelv = xvbak-vbeln
AND posnv = xvbap-posnr
LOOP AT xvbfa.
CASE xvbfa-vbtyp_n.
WHEN 'O'.
doccnt = doccnt + 1.
WHEN 'S'.
canccnt = canccnt + 1.
ENDCASE.
ENDLOOP.
IF doccnt > canccnt.
get the Amount and quantity .
<b>
i wrote the following logic in user exit for 2lis_11_vaitm</b>
IF ( S_MC11VA0ITM-VBTYP = 'K' OR S_MC11VA0ITM-VBTYP = 'H' ).
CLEAR: DOCCNT, CANCCNT, NOCOUNT.
CLEAR I_VBFA.
CLEAR L_VBELN.
SELECT SINGLE VBELN FROM VBAK INTO L_VBELN
WHERE VBELN = S_MC11VA0ITM-VBELN .
SELECT VBELN POSNN RFMNG VBTYP_N FROM VBFA INTO TABLE I_VBFA WHERE VBELV = L_VBELN AND POSNV = S_MC11VA0ITM-POSNR .
LOOP AT I_VBFA.
CASE I_VBFA-VBTYP_N.
WHEN 'O'.
DOCCNT = DOCCNT + 1.
WHEN 'S'.
CANCCNT = CANCCNT + 1.
WHEN OTHERS.
NOCOUNT = NOCOUNT + 1 .
ENDCASE.
ENDLOOP.
IF ( DOCCNT > CANCCNT ) .
S_MC11VA0ITM-ZZCRDBAMT = S_MC11VA0ITM-NETWR.
S_MC11VA0ITM-ZZCRDBQTY = S_MC11VA0ITM-KWMENG.
ENDIF.
ENDIF.
IS THIS logic correct.