cancel
Showing results for 
Search instead for 
Did you mean: 

DTP error

Former Member
0 Kudos

Hi,

Whenever I execute a dtp to to load data to infoobject. I get error as

  An exception has occured

  Error in substep

  Data package processing terminated.

I reactivated Transformations and DTP and tested,still getting same error.

Please let me know if there is any way to solve the issue.

Regards,

Swathi

Accepted Solutions (1)

Accepted Solutions (1)

former_member182470
Active Contributor
0 Kudos

Run your DTP in debug mode to get the exact reason.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Swathi,

   "Exception Occured" means one of your function module is getting failed because as per your code, all the function module is having raise exception statement.

So i would suggest you to debug the code. Better double click on the transformation and from the menu bar go to Tools> Display Generated Program.

You will be taken to ABAP editor screen of the Generated Program of the transformation. Search for the word "CALL FUNCTION 'RS_BCT_RETAIL_MAP_READ_FISCYV'" and set a break point.

Now go to DTP and execute it using the debugging with simulate option. It will directly take you to that line where the break point set. Now double click on each of the exporting parameters and check whether the values are there properly as expected.

This will help you to find the error where it is and also the function module that is raising an exception.

Thanks,

Umashankar

RamanKorrapati
Active Contributor
0 Kudos

Hi Swathi,

is there any start/end routine?

if your getting any message number also pls share it

Regards

Former Member
0 Kudos

Hi Raman,

This is the following program.

METHOD start_routine.
*=== Segments ===

     FIELD-SYMBOLS:
       <SOURCE_FIELDS>    TYPE _ty_s_SC_1.

     DATA:
       MONITOR_REC     TYPE rstmonitor.

*$*$ begin of routine - insert your code only below this line        *-*
     DATA: data_package_sav TYPE _ty_s_sc_1,
           it_data_pack_new TYPE _ty_t_sc_1,
          w_gjahr TYPE gjahr.


     FIELD-SYMBOLS: <ls_source_pack> TYPE _ty_s_sc_1.

* This upload creates the comparable locations for an initial
* time period of 2 years.
* The incoming data_package is extended by the periods of the
* customized fiscal year variant. Target date is today.
     CALL FUNCTION 'RS_BCT_RETAIL_MAP_READ_FISCYV'
       IMPORTING
         e_fiscyv1 = glob_fyv
         e_fiscyv2 = glob_fyvmt
       EXCEPTIONS
         no_record = 1
         OTHERS    = 2.
     IF sy-subrc <> 0.
       RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
       EXIT.
     ENDIF.

     CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
       EXPORTING
         i_date         = sy-datum
         i_periv        = glob_fyv
       IMPORTING
         e_buper        = glob_buper
         e_gjahr        = glob_gjahr
       EXCEPTIONS
         input_false    = 1
         t009_notfound  = 2
         t009b_notfound = 3
         OTHERS         = 4.
     IF sy-subrc <> 0.
       RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
       EXIT.
     ENDIF.

     CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
       EXPORTING
         i_date         = sy-datum
         i_periv        = glob_fyvmt
       IMPORTING
         e_buper        = glob_buper_mt
         e_gjahr        = glob_gjahr_mt
       EXCEPTIONS
         input_false    = 1
         t009_notfound  = 2
         t009b_notfound = 3
         OTHERS         = 4.
     IF sy-subrc <> 0.
       RAISE EXCEPTION TYPE CX_RSROUT_ABORT.
       EXIT.
     ENDIF.

     CLEAR data_package_sav.

     DELETE SOURCE_PACKAGE WHERE plant IS INITIAL.

     LOOP AT SOURCE_PACKAGE INTO <ls_source_pack>.
* This years week
       MOVE-CORRESPONDING <ls_source_pack> TO data_package_sav.
       data_package_sav-fiscyear  = glob_gjahr.
       data_package_sav-fiscper3  = glob_buper.
       data_package_sav-fiscvarnt = glob_fyv.
       CONCATENATE glob_gjahr
                   glob_buper
                   INTO data_package_sav-fiscper.
       APPEND data_package_sav TO it_data_pack_new.
* Last years week
*       move-corresponding DATA_PACKAGE to data_package_sav.
*       w_gjahr = glob_gjahr - 1.
*       data_package_sav-fiscyear  = w_gjahr.
*       data_package_sav-fiscper3  = glob_buper.
*       data_package_sav-fiscvarnt = glob_fyv.
*       concatenate glob_gjahr
*                   glob_buper
*                   into data_package_sav-fiscper.
*       append data_package_sav.
* This years month
       MOVE-CORRESPONDING <ls_source_pack> TO data_package_sav.
       data_package_sav-fiscyear  = glob_gjahr_mt.
       data_package_sav-fiscper3  = glob_buper_mt.
       data_package_sav-fiscvarnt = glob_fyvmt.
       CONCATENATE glob_gjahr_mt
                   glob_buper_mt
                   INTO data_package_sav-fiscper.
       APPEND data_package_sav TO it_data_pack_new.
* Last years month
*       move-corresponding DATA_PACKAGE to data_package_sav.
*       w_gjahr = glob_gjahr_mt - 1.
*       data_package_sav-fiscyear  = w_gjahr.
*       data_package_sav-fiscper3  = glob_buper_mt.
*       data_package_sav-fiscvarnt = glob_fyvmt.
*       concatenate glob_gjahr_mt
*                   glob_buper_mt
*                   into data_package_sav-fiscper.
*       append data_package_sav.
     ENDLOOP.

     REFRESH SOURCE_PACKAGE.
     SOURCE_PACKAGE[] = it_data_pack_new[].


*$*$ end of routine - insert your code only before this line         *-*
   ENDMETHOD.                    "start_routine
*----------------------------------------------------------------------*
*       Inverse method inverse_start_routine
*----------------------------------------------------------------------*
*       This subroutine needs to be implemented only for direct access
*       (for better performance) and for the Report/Report Interface
*       (drill through).
*       The inverse routine should transform a projection and
*       a selection for the target to a projection and a selection
*       for the source, respectively.
*       If the implementation remains empty all fields are filled and
*       all values are selected.
*----------------------------------------------------------------------*
*       Customer comment:
*----------------------------------------------------------------------*
   METHOD inverse_start_routine.

*   IMPORTING
*     i_r_selset_outbound          TYPE REF TO cl_rsmds_set
*     i_th_fields_outbound         TYPE HASHED TABLE
*     i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
*     i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
*   CHANGING
*     c_r_selset_inbound           TYPE REF TO cl_rsmds_set
*     c_th_fields_inbound          TYPE HASHED TABLE
*     c_exact                      TYPE rs_bool

*$*$ begin of inverse routine - insert your code only below this line*-*
     ... "insert your code here
*$*$ end of inverse routine - insert your code only before this line *-*

   ENDMETHOD.                    "inverse_start_routine
ENDCLASS.                    "routine IMPLEMENTATION

AND

*$*$ begin of routine - insert your code only below this line        *-*
     CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
       EXPORTING
         i_gjahr        = SOURCE_FIELDS-fiscyear
         i_periv        = SOURCE_FIELDS-fiscvarnt
         i_poper        = SOURCE_FIELDS-fiscper3
       IMPORTING
         e_date         = glob_date
       EXCEPTIONS
         input_false    = 1
         t009_notfound  = 2
         t009b_notfound = 3
         OTHERS         = 4.
     IF sy-subrc <> 0.
*     Nothing found: automatically comparable!
       RESULT = space.
       EXIT.
     ENDIF.

     CALL FUNCTION 'RS_BCT_RETAIL_MAP_GET_COMPIND'
       EXPORTING
         i_lopdat  = SOURCE_FIELDS-rt_lopdat
         i_lcldat  = SOURCE_FIELDS-rt_lcldat
         i_lbldatf = SOURCE_FIELDS-rt_lbldatf
         i_lbldatt = SOURCE_FIELDS-rt_lbldatt
         i_date    = glob_date
         i_blck    = 'X'
       IMPORTING
         e_blck    = RESULT.

*$*$ end of routine - insert your code only before this line         *-*
   ENDMETHOD.                    "compute_0RT_BLKFG
*----------------------------------------------------------------------*
*       Inverse method invert_0RT_BLKFG
*----------------------------------------------------------------------*
*       This subroutine needs to be implemented only for direct access
*       (for better performance) and for the Report/Report Interface
*       (drill through).
*       The inverse routine should transform a projection and
*       a selection for the target to a projection and a selection
*       for the source, respectively.
*       If the implementation remains empty all fields are filled and
*       all values are selected.
*----------------------------------------------------------------------*
*       Customer comment:
*----------------------------------------------------------------------*
   METHOD invert_0RT_BLKFG.

*   IMPORTING
*     i_r_selset_outbound          TYPE REF TO cl_rsmds_set
*     i_th_fields_outbound         TYPE HASHED TABLE
*     i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
*     i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
*   CHANGING
*     c_r_selset_inbound           TYPE REF TO cl_rsmds_set
*     c_th_fields_inbound          TYPE HASHED TABLE
*     c_exact                      TYPE rs_bool

*$*$ begin of inverse routine - insert your code only below this line*-*
     ... "insert your code here
*$*$ end of inverse routine - insert your code only before this line *-*

   ENDMETHOD.                    "invert_0RT_BLKFG
ENDCLASS.                    "routine IMPLEMENTATION


RamanKorrapati
Active Contributor
0 Kudos

Hi Swathi,

Again active dtp by using Prorgam at SE38, RSDG_TRFN_ACTIVATE, and try to run it.

if same error occurs, pls follow As Said by Suman, pls go with debug at DTP with help of ABAP expert.

Debug steps are in below link:

http://scn.sap.com/thread/1753945

Regards

Former Member
0 Kudos

Message numbers

An exception has occurred - Message no. SY530

Error in substep - Message no. RSBK231

Data package processing terminated - Message no. RSBK229