Hi All,
I came across data load issue,while loading data from Datasource to write optimized DSO after service pack 13 upgrade.
Flag not set: get all new data request by request. Load Date not filled
Flag not set: get all new data request by request. Load Date not filledFlag not set: get all new data request by request. Load Date not filled
Flag not set: get all new data request by request. Load Date not filled
Error records written to application log
An exception has occurred
Error in substep
All the fields were direct mapping except Loading date and Calendar year/Month
Below given is the logic used to populate Loading date and Calendar year/Month,the same logic which I used worked fine before SP13 upgarde,Purple colour highlighted code was used before SP13 upgrade.But it thrown above shown error while data loading after SP13 upgrade.so i introduced new set of code which i highlighted in red colour.
DATA:
lt_range TYPE rsbk_th_range,
l_range TYPE rsbk_s_range,
l_rnr TYPE rssid,
l_requid TYPE /bi0/oirequid,
l_srctp TYPE rsstatmandta_type,
l_loaddate TYPE sy-datum,
i TYPE i.
*********************0CALMONTH***********************
DATA: l_index TYPE sy-tabix.
Data: L_Month(2) type C,
L_Year(4) type C,
L_CALMONTH(6) type C.
Data: l_date type dats.
DATA: l_result TYPE _ty_s_tg_1.
*************************************************
FIELD-SYMBOLS: <l_request> TYPE rsstatmanreqmap.
*Code which was present before SP13 upgrade and worked fine while data loading
lt_range = p_r_request->get_th_range( ).
l_srctp = p_r_request->get_srctp( ).
* Code added to correct issue due to SP13 upgrade - Start
CALL METHOD p_r_request->get_th_range
EXPORTING
i_get_src_reqs = 'X' " Boolean (or RS_C_TRUE)
RECEIVING
r_th_range = lt_range.
* Code added to correct issue due to SP13 upgrade - End
l_srctp = p_r_request->get_srctp( ).
IF l_srctp = 'DTASRC'.
CLEAR: l_range.
READ TABLE lt_range INTO l_range
WITH KEY fieldnm = 'REQUID'.
IF sy-subrc <> 0.
CLEAR monitor.
monitor_rec-msgid = 'ZSBI'.
monitor_rec-msgty = 'E'.
monitor_rec-msgno = '004'.
monitor_rec-msgv1 = 'Flag not set: get all new data request by request.'.
monitor_rec-msgv2 = 'Load Date not filled.'.
APPEND monitor_rec TO monitor.
ELSE.
IF l_range-low IS INITIAL. "Check Load data request by request no set
CLEAR monitor.
monitor_rec-msgid = 'ZSBI'.
monitor_rec-msgty = 'E'.
monitor_rec-msgno = '004'.
monitor_rec-msgv1 = 'Flag not set: get all new data request by request.'.
monitor_rec-msgv2 = 'Load Date not filled.'.
APPEND monitor_rec TO monitor.
ELSE.
l_rnr = l_range-low.
SELECT SINGLE requid FROM /bi0/srequid INTO l_requid
WHERE sid = l_rnr.
IF sy-subrc NE 0.
CLEAR monitor.
monitor_rec-msgid = 'ZSBI'.
monitor_rec-msgty = 'E'.
monitor_rec-msgno = '005'.
monitor_rec-msgv1 = 'Request information cannot be found in SID.'.
monitor_rec-msgv2 = 'Load Date not filled.'.
APPEND monitor_rec TO monitor.
ELSE.
CLEAR l_loaddate.
SELECT SINGLE datum
FROM rsreqdone
INTO l_loaddate
WHERE rnr = l_requid.
IF sy-subrc <> 0.
CLEAR monitor.
monitor_rec-msgid = 'ZSBI'.
monitor_rec-msgty = 'E'.
monitor_rec-msgno = '006'.
monitor_rec-msgv1 = 'Load Date cannot be determined.'.
APPEND monitor_rec TO monitor.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
LOOP AT result_package ASSIGNING <result_fields>.
<result_fields>-load_date = l_loaddate.
*********************0CALMONTH***********************
l_index = sy-tabix.
L_date = <result_fields>-load_date.
L_YEAR = L_date+0(4).
L_MONTH = L_date+4(2).
concatenate L_YEAR L_MONTH into L_CALMONTH.
<result_fields>-CALMONTH = L_CALMONTH.
clear L_MONTH.
clear L_YEAR.
clear L_CALMONTH.
******************************************************
ENDLOOP.
Kindly Provide your Valuable feedback on the above issue and solution.
Regards,
J.Sakthikumar
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
9 | |
7 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |