‎2013 Apr 22 9:50 AM
Hi Experts,
I have created a report where the out is not coming as desired. In perticular in the IF condition that I have applied for 2 conditions, the data is not getting picked. Rest all fields are getting populated except the ones in the if condition.
Kindly guide me in right direction here.
FORM GET_DATA .
BREAK-POINT.
SELECT DVBDOC VKONT VKONA OLDKNO LEGAL CSFNO ORGPR ORGLP ORGPRN ORGLPN MIGPR MIGLP MIGAL MIGPRN MIGLPN MIGALN ERDAT
FROM ZCATR_DVBAR INTO CORRESPONDING FIELDS OF TABLE IT_ZCATR_DVBAR WHERE VKONT IN CA_NUM AND ERDAT IN DATE AND DVBST = 'M'.
SORT IT_ZCATR_DVBAR BY DVBDOC ASCENDING.
SELECT DVBDOC VKONT VKONA OLDKNO LEGAL CSFNO ORGPR ORGLP ORGPRN ORGLPN MIGPR MIGLP MIGAL MIGPRN MIGLPN MIGALN DVBREF ERDAT APVR1 APVR2 APVR1_DATE APVR2_DATE
FROM ZCATR_DVBAR_VW INTO CORRESPONDING FIELDS OF TABLE IT_ZCATR_DVBAR_VW FOR ALL ENTRIES IN IT_ZCATR_DVBAR WHERE DVBREF = IT_ZCATR_DVBAR-DVBDOC.
SORT IT_ZCATR_DVBAR_VW BY DVBREF ASCENDING.
LOOP AT IT_ZCATR_DVBAR_VW INTO WA_ZCATR_DVBAR_VW.
WA_FINAL-DVBREF = WA_ZCATR_DVBAR_VW-DVBREF.
WA_FINAL-APVR1 = WA_ZCATR_DVBAR_VW-APVR1.
WA_FINAL-APVR1_DATE = WA_ZCATR_DVBAR_VW-APVR1_DATE.
WA_FINAL-APVR2 = WA_ZCATR_DVBAR_VW-APVR2.
WA_FINAL-APVR2_DATE = WA_ZCATR_DVBAR_VW-APVR2_DATE.
IF WA_ZCATR_DVBAR_VW-DVBST EQ 'W' AND WA_ZCATR_DVBAR_VW-WFSTAT EQ 'A'.
WA_FINAL-WAIVED_PRIN = WA_ZCATR_DVBAR_VW-MIGPR.
WA_FINAL-WAIVED_LPSC = WA_ZCATR_DVBAR_VW-MIGLP.
WA_FINAL-WAIVEDACCRLP = WA_ZCATR_DVBAR_VW-MIGAL.
WA_FINAL-WAIVED_NTA_P = WA_ZCATR_DVBAR_VW-MIGPRN.
WA_FINAL-CLOSING_NTA_L = WA_ZCATR_DVBAR_VW-MIGLPN.
WA_FINAL-CLOSING_NTACRLP = WA_ZCATR_DVBAR_VW-MIGALN.
ENDIF.
IF WA_ZCATR_DVBAR_VW-DVBST EQ 'R' AND WA_ZCATR_DVBAR_VW-WFSTAT EQ 'A'.
"working on this right now
WA_FINAL-RECOVERABLE_PRIN = WA_ZCATR_DVBAR_VW-MIGPR.
WA_FINAL-RECOVERABLE_LPSC = WA_ZCATR_DVBAR_VW-MIGLP.
WA_FINAL-RECOVERABLE_ACCRLP = WA_ZCATR_DVBAR_VW-MIGAL.
WA_FINAL-RECOVERABLE_NTA_P = WA_ZCATR_DVBAR_VW-MIGPRN.
WA_FINAL-RECOVERABLE_NTA_L = WA_ZCATR_DVBAR_VW-MIGLPN.
WA_FINAL-RECOVERABLE_NTACRLP = WA_ZCATR_DVBAR_VW-MIGALN.
ENDIF.
* CLEAR : WA_ZCATR_DVBAR_VW.
READ TABLE IT_ZCATR_DVBAR INTO WA_ZCATR_DVBAR WITH KEY DVBDOC = WA_ZCATR_DVBAR_VW-DVBREF BINARY SEARCH.
IF SY-SUBRC = 0.
WA_FINAL-VKONT = WA_ZCATR_DVBAR-VKONT.
WA_FINAL-DVBDOC = WA_ZCATR_DVBAR-DVBDOC.
* WA_FINAL-DVBREF = WA_ZCATR_DVBAR-DVBREF.
WA_FINAL-OLDKNO = WA_ZCATR_DVBAR-OLDKNO.
WA_FINAL-ERDAT = WA_ZCATR_DVBAR-ERDAT.
WA_FINAL-LEGAL = WA_ZCATR_DVBAR-LEGAL.
WA_FINAL-CSFNO = WA_ZCATR_DVBAR-CSFNO.
WA_FINAL-ORGPR = WA_ZCATR_DVBAR-ORGPR.
WA_FINAL-ORGLP = WA_ZCATR_DVBAR-ORGLP.
WA_FINAL-ORGPRN = WA_ZCATR_DVBAR-ORGPRN.
WA_FINAL-ORGLPN = WA_ZCATR_DVBAR-ORGLPN.
WA_FINAL-MIGPR = WA_ZCATR_DVBAR-MIGPR.
WA_FINAL-MIGLP = WA_ZCATR_DVBAR-MIGLP.
WA_FINAL-MIGAL = WA_ZCATR_DVBAR-MIGAL.
WA_FINAL-MIGPRN = WA_ZCATR_DVBAR-MIGPRN.
WA_FINAL-MIGLPN = WA_ZCATR_DVBAR-MIGLPN.
WA_FINAL-MIGALN = WA_ZCATR_DVBAR-MIGALN.
ENDIF.
APPEND WA_FINAL TO IT_FINAL.
CLEAR: WA_ZCATR_DVBAR, WA_ZCATR_DVBAR_VW.
ENDLOOP.
ENDFORM. " GET_DATA
‎2013 Apr 22 3:37 PM
IF WA_ZCATR_DVBAR_VW-DVBST EQ 'W' AND WA_ZCATR_DVBAR_VW-WFSTAT EQ 'A'.
In the debugger check if there are entries on a single row which satisfy the above condition.
‎2013 Apr 22 3:37 PM
IF WA_ZCATR_DVBAR_VW-DVBST EQ 'W' AND WA_ZCATR_DVBAR_VW-WFSTAT EQ 'A'.
In the debugger check if there are entries on a single row which satisfy the above condition.
‎2013 Apr 22 3:55 PM
The field DVBST seems no to be extracted in table IT_ZCATR_DVBAR_VW only used in WHERE condition not in SELECT field list, check it first.
Nevertheless, as the data comes from Z-table, you have to debug your code, or check on your database via SE16/SE16n if there are records fulfilling the condition and to check that every field is mapped in internal tables.
Regards,
Raymond
‎2013 Apr 29 10:11 AM