cancel
Showing results for 
Search instead for 
Did you mean: 

Transport error "Syntax error in routine"

former_member182541
Active Contributor
0 Kudos

Dear all,

I collected few transformation in a request and faced a error "Syntax error in routine", I have attached the below screenshot for reference.

when i checked the routine in development it looks fine and in quality also it looks fine.

I tried to create a new request for 0customer transformation and sent to QA it went fine but, i can't re-import the previous request. Still giving me the same error. kindly help me to resolve the issue. Is there any option to find exactly from where this is error is coming, I mean the routine or master data info object.

regards,

Suman T

Accepted Solutions (1)

Accepted Solutions (1)

RamanKorrapati
Active Contributor
0 Kudos

Hi suman,

Please check your transformation mappings for this two iobj from source fields

infoobjects 0GN_PAR_SSY and 0POSTCD_GIS. seems like something wrong.

For above two objects your rules details type as routine.

please share the routine screen short if you maintained or have you check syntax check?

pls perform syntax check and activate your transformations. collect them in new request and move to further.

Thanks

former_member182541
Active Contributor
0 Kudos

Hi Ram,

Both Attr & Text transformations are looking fine. I have attached the routine screenshot check.

Regards,

Suman T

RamanKorrapati
Active Contributor
0 Kudos

hi suman,

Text data source always it contains primary field,langu and  short or medium text.

Whats your requirement to add 0GN_PAR_SSY at text data source level? Already you done the same at attributes level. so no need to do the same at text data source level. target(0customer) is same for two data sources. delete the iobj 0GN_PAR_SSY from text data source or keep no rules.

Even there is no code on your screen. have you wrote any logic to fill 0GN_PAR_SSY & 0POSTCD_GIS. am unable to see code on your attached screens.

Thanks

anshu_lilhori
Active Contributor
0 Kudos

Hi,

Check this thread

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

Might be helpful.

Regards,

AL

MGrob
Active Contributor
0 Kudos

Hi

Check below the infosource this is where your problem lies your transformation seems fine

Hope it helps

Martin

former_member182541
Active Contributor
0 Kudos

Hi Ram,

0POSTCD_GIS

PROGRAM trans_routine.

*---------------------------------------------------------------------*

*       CLASS routine DEFINITION

*---------------------------------------------------------------------*

*

*---------------------------------------------------------------------*

CLASS lcl_transform DEFINITION.

   PUBLIC SECTION.

*  Attributs

     DATA:

       p_check_master_data_exist

             TYPE RSODSOCHECKONLY READ-ONLY,

*-    Instance for getting request runtime attributs;

*     Available information: Refer to methods of

*     interface 'if_rsbk_request_admintab_view'

       p_r_request

             TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.

   PRIVATE SECTION.

     TYPE-POOLS: rsd, rstr.

*   Rule specific types

     TYPES:

       BEGIN OF _ty_s_SC_1,

*      Field: PSTL2 PO Box PCode.

         PSTL2           TYPE C LENGTH 10,

*      Field: PSTLZ Postal Code.

         PSTLZ           TYPE C LENGTH 10,

*      Field: RECORD.

         RECORD           TYPE RSARECORD,

       END   OF _ty_s_SC_1.

     TYPES:

       BEGIN OF _ty_s_TG_1,

*      InfoObject: 0POSTCD_GIS BAS: Postal Code (Geo-Relevant).

         POSTCD_GIS           TYPE /BI0/OIPOSTCD_GIS,

       END   OF _ty_s_TG_1.

*$*$ begin of global - insert your declaration only below this line  *-*

     ... "insert your code here

*$*$ end of global - insert your declaration only before this line   *-*

     METHODS

       compute_0POSTCD_GIS

         IMPORTING

           request                  type rsrequest

           datapackid               type rsdatapid

           SOURCE_FIELDS              type _ty_s_SC_1

         EXPORTING

           RESULT                   type _ty_s_TG_1-POSTCD_GIS

           monitor                  type rstr_ty_t_monitor

         RAISING

           cx_rsrout_abort

           cx_rsrout_skip_record

           cx_rsrout_skip_val.

     METHODS

       invert_0POSTCD_GIS

         IMPORTING

           i_th_fields_outbound         TYPE rstran_t_field_inv

           i_r_selset_outbound          TYPE REF TO cl_rsmds_set

           i_is_main_selection          TYPE rs_bool

           i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set

           i_r_universe_inbound         TYPE REF TO cl_rsmds_universe

         CHANGING

           c_th_fields_inbound          TYPE rstran_t_field_inv

           c_r_selset_inbound           TYPE REF TO cl_rsmds_set

           c_exact                      TYPE rs_bool.

ENDCLASS.                    "routine DEFINITION

*$*$ begin of 2nd part global - insert your code only below this line  *

*$*$ begin of version

*-- migration tool version 19.02.2009

*$*$ end of version

*$*$ end of rule type

TYPES:

   BEGIN OF _ty_s_tg_1_full,

*      InfoObject: 0CUSTOMER Customer number.

     customer           TYPE /bi0/oicustomer,

*      InfoObject: 0ACCNT_GRP Customer account group.

     accnt_grp           TYPE /bi0/oiaccnt_grp,

*      InfoObject: 0ADDR_NUMBR Address.

     addr_numbr           TYPE /bi0/oiaddr_numbr,

*      InfoObject: 0CITY Location.

     city           TYPE /bi0/oicity,

*      InfoObject: 0COUNTRY Country Key.

     country           TYPE /bi0/oicountry,

*      InfoObject: 0CUST_CLASS Customer Classification.

     cust_class           TYPE /bi0/oicust_class,

*      InfoObject: 0CUST_MKT Customer Market.

     cust_mkt           TYPE /bi0/oicust_mkt,

*      InfoObject: 0CUS_F_CONS Customer is Consumer.

     cus_f_cons           TYPE /bi0/oicus_f_cons,

*      InfoObject: 0DBDUNS_NUM D-U-N-S Number.

     dbduns_num           TYPE /bi0/oidbduns_num,

*      InfoObject: 0FISCVARNT Fiscal year variant.

     fiscvarnt           TYPE /bi0/oifiscvarnt,

*      InfoObject: 0INDUSTRY Industry key.

     industry           TYPE /bi0/oiindustry,

*      InfoObject: 0IND_CODE_1 Industry code 1.

     ind_code_1           TYPE /bi0/oiind_code_1,

*      InfoObject: 0IND_CODE_2 Industry Code 2.

     ind_code_2           TYPE /bi0/oiind_code_2,

*      InfoObject: 0IND_CODE_3 Industry Code 3.

     ind_code_3           TYPE /bi0/oiind_code_3,

*      InfoObject: 0IND_CODE_4 Industry Code 4.

     ind_code_4           TYPE /bi0/oiind_code_4,

*      InfoObject: 0IND_CODE_5 Industry Code 5.

     ind_code_5           TYPE /bi0/oiind_code_5,

*      InfoObject: 0KEYACCOUNT Key Account.

     keyaccount           TYPE /bi0/oikeyaccount,

*      InfoObject: 0LOGSYS Source System.

     logsys           TYPE rsdlogsys,

*      InfoObject: 0NAME Name 1.

     name           TYPE /bi0/oiname,

*      InfoObject: 0NAME2 Name 2.

     name2           TYPE /bi0/oiname2,

*      InfoObject: 0NAME3 Name 3.

     name3           TYPE /bi0/oiname3,

*      InfoObject: 0NIELSEN_ID Nielsen ID.

     nielsen_id           TYPE /bi0/oinielsen_id,

*      InfoObject: 0OUTL_TYPE Branch Category.

     outl_type           TYPE /bi0/oioutl_type,

*      InfoObject: 0PCOMPANY Partner Company Number.

     pcompany           TYPE /bi0/oipcompany,

*      InfoObject: 0PHONE First telephone number.

     phone           TYPE /bi0/oiphone,

*      InfoObject: 0PLANT Plant.

     plant           TYPE /bi0/oiplant,

*      InfoObject: 0POBOX P.O. Box.

     pobox           TYPE /bi0/oipobox,

*      InfoObject: 0POSTAL_CD Postal Code.

     postal_cd           TYPE /bi0/oipostal_cd,

*      InfoObject: 0POSTCD_BOX BAS: PO Box Postal Code.

     postcd_box           TYPE /bi0/oipostcd_box,

*      InfoObject: 0POSTCD_GIS BAS: Postal Code (Geo-Relevant).

     postcd_gis           TYPE /bi0/oipostcd_gis,

*      InfoObject: 0REGION Region (State, Province, County).

     region           TYPE /bi0/oiregion,

*      InfoObject: 0STREET House number and street.

     street           TYPE /bi0/oistreet,

*      InfoObject: 0TAX_NUMB Tax Number 1.

     tax_numb           TYPE /bi0/oitax_numb,

*      InfoObject: 0USAGE_IND Usage Indicator for Material.

     usage_ind           TYPE /bi0/oiusage_ind,

*      InfoObject: 0VISIT_RYT Predefined Call Frequency.

     visit_ryt           TYPE /bi0/oivisit_ryt,

*      InfoObject: 0GN_PAR_SSY Source System of a Partner.

     gn_par_ssy           TYPE /bi0/oign_par_ssy,

*      InfoObject: 0CITY_2 BAS: City District.

     city_2           TYPE /bi0/oicity_2,

*      InfoObject: 0FAX_NUM Fax Number.

     fax_num           TYPE /bi0/oifax_num,

*      InfoObject: 0ID_XCPD Indicator: Is the Account a One-Time Account

*?.

     id_xcpd           TYPE /bi0/oiid_xcpd,

*      InfoObject: 0LANGU Language Key.

     langu           TYPE langu,

*      InfoObject: 0POBOX_LOC BAS: PO Box Location.

     pobox_loc           TYPE /bi0/oipobox_loc,

*      InfoObject: 0SORTL Sort Field.

     sortl           TYPE /bi0/oisortl,

*      InfoObject: 0VENDOR Vendor.

     vendor           TYPE /bi0/oivendor,

*      InfoObject: 0TAX_NUMB2 Tax Number 2.

     tax_numb2           TYPE /bi0/oitax_numb2,

*      InfoObject: 0ID_TXNUMB3 Tax Number 3.

     id_txnumb3           TYPE /bi0/oiid_txnumb3,

*      Field: RECORD Data record number.

     RECORD           TYPE rsarecord,

   END   OF _ty_s_tg_1_full.

TYPES:

   BEGIN OF _ty_s_sc_1__rule_38,

*      Field: PSTL2 PO Box PCode.

     pstl2           TYPE c LENGTH 10,

*      Field: PSTLZ Postal Code.

     pstlz           TYPE c LENGTH 10,

*      Field: RECORD.

     RECORD           TYPE rsarecord,

   END   OF _ty_s_sc_1__rule_38.

* Additional declaration for transfer rule interface

DATA:

   g_t_errorlog TYPE rssm_t_errorlog_int.

*&---------------------------------------------------------------------*

*&      Form  compute_POSTCD_GIS

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      -->RECORD_NO               text

*      -->TRAN_STRUCTURE          text

*      -->RESULT                  text

*      -->RETURNCODE              text

*      -->ABORT                   text

*      -->RAISING                 text

*      -->CX_SY_ARITHMETIC_ERROR  text

*      -->CX_SY_CONVERSION_ERROR  text

*----------------------------------------------------------------------*

FORM compute_postcd_gis

   USING

     RECORD_NO      TYPE sy-tabix

     TRAN_STRUCTURE TYPE _ty_s_sc_1__rule_38

   CHANGING

    RESULT         TYPE _ty_s_tg_1_full-postcd_gis

    RETURNCODE     LIKE sy-subrc

    ABORT          LIKE sy-subrc

  RAISING

    cx_sy_arithmetic_error

    cx_sy_conversion_error.

* DATA: l_s_errorlog TYPE rssm_s_errorlog_int.

   IF TRAN_STRUCTURE-pstlz <> space.

     RESULT = TRAN_STRUCTURE-pstlz.

   ELSEIF TRAN_STRUCTURE-pstl2 <> space.

     RESULT = TRAN_STRUCTURE-pstl2.

   ELSE.

     RESULT = space.

   ENDIF.

* returncode <> 0 means skip this record

   RETURNCODE = 0.

* abort <> 0 means skip whole data package !!!

   ABORT = 0.

ENDFORM.                    "POSTCD_GIS

*$*$ end of 2nd part global - insert your code only before this line   *

*---------------------------------------------------------------------*

*       CLASS routine IMPLEMENTATION

*---------------------------------------------------------------------*

*

*---------------------------------------------------------------------*

CLASS lcl_transform IMPLEMENTATION.

   METHOD compute_0POSTCD_GIS.

*   IMPORTING

*     request     type rsrequest

*     datapackid  type rsdatapid

*     SOURCE_FIELDS-PSTL2 TYPE C LENGTH 000010

*     SOURCE_FIELDS-PSTLZ TYPE C LENGTH 000010

*    EXPORTING

*      RESULT type _ty_s_TG_1-POSTCD_GIS

     DATA:

       MONITOR_REC    TYPE rsmonitor.

*$*$ begin of routine - insert your code only below this line        *-*

   Data:

*--

     l_s_error_log    type rssm_s_errorlog_int,

     TRAN_STRUCTURE   type _ty_s_SC_1__RULE_38,

     l_subrc          type sy-tabix,

     l_abort          type sy-tabix,

     ls_monitor       TYPE rsmonitor,

     ls_monitor_recno TYPE rsmonitors.

*  REFRESH:

*   monitor,

*   monitor_recno.

*  Migrated transfer rule call

   MOVE-CORRESPONDING SOURCE_FIELDS to TRAN_STRUCTURE.

   Perform compute_POSTCD_GIS

     USING

       SOURCE_FIELDS-record

       TRAN_STRUCTURE

     CHANGING

       RESULT

       l_subrc

       l_abort.

*-- Convert Messages in Transformation format

     LOOP AT G_T_ERRORLOG INTO l_s_error_log.

       move-CORRESPONDING l_s_error_log to MONITOR_REC.

       append monitor_rec to MONITOR.

     ENDLOOP.

*   clear global message container used in transfer rules

     CLEAR G_T_ERRORLOG[].

     IF l_subrc <> 0.

       RAISE EXCEPTION TYPE cx_rsrout_skip_val.

     ENDIF.

     IF l_abort <> 0.

       RAISE EXCEPTION TYPE CX_RSROUT_ABORT.

     ENDIF.

*$*$ end of routine - insert your code only before this line         *-*

   ENDMETHOD.                    "compute_0POSTCD_GIS

*----------------------------------------------------------------------*

*       Method invert_0POSTCD_GIS

*----------------------------------------------------------------------*

*

*       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.

*

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

   METHOD invert_0POSTCD_GIS.

*$*$ 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_0POSTCD_GIS

ENDCLASS.                    "routine IMPLEMENTATION

**************************************************************************************************

0GN_PAR_SSY

PROGRAM trans_routine.

*---------------------------------------------------------------------*

*       CLASS routine DEFINITION

*---------------------------------------------------------------------*

*

*---------------------------------------------------------------------*

CLASS lcl_transform DEFINITION.

   PUBLIC SECTION.

*  Attributs

     DATA:

       p_check_master_data_exist

             TYPE RSODSOCHECKONLY READ-ONLY,

*-    Instance for getting request runtime attributs;

*     Available information: Refer to methods of

*     interface 'if_rsbk_request_admintab_view'

       p_r_request

             TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.

   PRIVATE SECTION.

     TYPE-POOLS: rsd, rstr.

*   Rule specific types

     TYPES:

       BEGIN OF _ty_s_TG_1,

*      InfoObject: 0GN_PAR_SSY Source System of a Partner.

         GN_PAR_SSY           TYPE /BI0/OIGN_PAR_SSY,

       END   OF _ty_s_TG_1.

*$*$ begin of global - insert your declaration only below this line  *-*

     ... "insert your code here

*$*$ end of global - insert your declaration only before this line   *-*

     METHODS

       compute_0GN_PAR_SSY

         IMPORTING

           request                  type rsrequest

           datapackid               type rsdatapid

         EXPORTING

           RESULT                   type _ty_s_TG_1-GN_PAR_SSY

           monitor                  type rstr_ty_t_monitor

         RAISING

           cx_rsrout_abort

           cx_rsrout_skip_record

           cx_rsrout_skip_val.

     METHODS

       invert_0GN_PAR_SSY

         IMPORTING

           i_th_fields_outbound         TYPE rstran_t_field_inv

           i_r_selset_outbound          TYPE REF TO cl_rsmds_set

           i_is_main_selection          TYPE rs_bool

           i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set

           i_r_universe_inbound         TYPE REF TO cl_rsmds_universe

         CHANGING

           c_th_fields_inbound          TYPE rstran_t_field_inv

           c_r_selset_inbound           TYPE REF TO cl_rsmds_set

           c_exact                      TYPE rs_bool.

ENDCLASS.                    "routine DEFINITION

*$*$ begin of 2nd part global - insert your code only below this line  *

*$*$ begin of version

*-- migration tool version 19.02.2009

*$*$ end of version

*$*$ end of rule type

TYPES:

   BEGIN OF _ty_s_tg_1_full,

*      InfoObject: 0CUSTOMER Customer number.

     customer           TYPE /bi0/oicustomer,

*      InfoObject: 0ACCNT_GRP Customer account group.

     accnt_grp           TYPE /bi0/oiaccnt_grp,

*      InfoObject: 0ADDR_NUMBR Address.

     addr_numbr           TYPE /bi0/oiaddr_numbr,

*      InfoObject: 0CITY Location.

     city           TYPE /bi0/oicity,

*      InfoObject: 0COUNTRY Country Key.

     country           TYPE /bi0/oicountry,

*      InfoObject: 0CUST_CLASS Customer Classification.

     cust_class           TYPE /bi0/oicust_class,

*      InfoObject: 0CUST_MKT Customer Market.

     cust_mkt           TYPE /bi0/oicust_mkt,

*      InfoObject: 0CUS_F_CONS Customer is Consumer.

     cus_f_cons           TYPE /bi0/oicus_f_cons,

*      InfoObject: 0DBDUNS_NUM D-U-N-S Number.

     dbduns_num           TYPE /bi0/oidbduns_num,

*      InfoObject: 0FISCVARNT Fiscal year variant.

     fiscvarnt           TYPE /bi0/oifiscvarnt,

*      InfoObject: 0INDUSTRY Industry key.

     industry           TYPE /bi0/oiindustry,

*      InfoObject: 0IND_CODE_1 Industry code 1.

     ind_code_1           TYPE /bi0/oiind_code_1,

*      InfoObject: 0IND_CODE_2 Industry Code 2.

     ind_code_2           TYPE /bi0/oiind_code_2,

*      InfoObject: 0IND_CODE_3 Industry Code 3.

     ind_code_3           TYPE /bi0/oiind_code_3,

*      InfoObject: 0IND_CODE_4 Industry Code 4.

     ind_code_4           TYPE /bi0/oiind_code_4,

*      InfoObject: 0IND_CODE_5 Industry Code 5.

     ind_code_5           TYPE /bi0/oiind_code_5,

*      InfoObject: 0KEYACCOUNT Key Account.

     keyaccount           TYPE /bi0/oikeyaccount,

*      InfoObject: 0LOGSYS Source System.

     logsys           TYPE rsdlogsys,

*      InfoObject: 0NAME Name 1.

     name           TYPE /bi0/oiname,

*      InfoObject: 0NAME2 Name 2.

     name2           TYPE /bi0/oiname2,

*      InfoObject: 0NAME3 Name 3.

     name3           TYPE /bi0/oiname3,

*      InfoObject: 0NIELSEN_ID Nielsen ID.

     nielsen_id           TYPE /bi0/oinielsen_id,

*      InfoObject: 0OUTL_TYPE Branch Category.

     outl_type           TYPE /bi0/oioutl_type,

*      InfoObject: 0PCOMPANY Partner Company Number.

     pcompany           TYPE /bi0/oipcompany,

*      InfoObject: 0PHONE First telephone number.

     phone           TYPE /bi0/oiphone,

*      InfoObject: 0PLANT Plant.

     plant           TYPE /bi0/oiplant,

*      InfoObject: 0POBOX P.O. Box.

     pobox           TYPE /bi0/oipobox,

*      InfoObject: 0POSTAL_CD Postal Code.

     postal_cd           TYPE /bi0/oipostal_cd,

*      InfoObject: 0POSTCD_BOX BAS: PO Box Postal Code.

     postcd_box           TYPE /bi0/oipostcd_box,

*      InfoObject: 0POSTCD_GIS BAS: Postal Code (Geo-Relevant).

     postcd_gis           TYPE /bi0/oipostcd_gis,

*      InfoObject: 0REGION Region (State, Province, County).

     region           TYPE /bi0/oiregion,

*      InfoObject: 0STREET House number and street.

     street           TYPE /bi0/oistreet,

*      InfoObject: 0TAX_NUMB Tax Number 1.

     tax_numb           TYPE /bi0/oitax_numb,

*      InfoObject: 0USAGE_IND Usage Indicator for Material.

     usage_ind           TYPE /bi0/oiusage_ind,

*      InfoObject: 0VISIT_RYT Predefined Call Frequency.

     visit_ryt           TYPE /bi0/oivisit_ryt,

*      InfoObject: 0GN_PAR_SSY Source System of a Partner.

     gn_par_ssy           TYPE /bi0/oign_par_ssy,

*      InfoObject: 0CITY_2 BAS: City District.

     city_2           TYPE /bi0/oicity_2,

*      InfoObject: 0FAX_NUM Fax Number.

     fax_num           TYPE /bi0/oifax_num,

*      InfoObject: 0ID_XCPD Indicator: Is the Account a One-Time Account

*?.

     id_xcpd           TYPE /bi0/oiid_xcpd,

*      InfoObject: 0LANGU Language Key.

     langu           TYPE langu,

*      InfoObject: 0POBOX_LOC BAS: PO Box Location.

     pobox_loc           TYPE /bi0/oipobox_loc,

*      InfoObject: 0SORTL Sort Field.

     sortl           TYPE /bi0/oisortl,

*      InfoObject: 0VENDOR Vendor.

     vendor           TYPE /bi0/oivendor,

*      InfoObject: 0TAX_NUMB2 Tax Number 2.

     tax_numb2           TYPE /bi0/oitax_numb2,

*      InfoObject: 0ID_TXNUMB3 Tax Number 3.

     id_txnumb3           TYPE /bi0/oiid_txnumb3,

*      Field: RECORD Data record number.

     RECORD           TYPE rsarecord,

   END   OF _ty_s_tg_1_full.

TYPES:

   BEGIN OF _ty_s_sc_1__rule_38,

*      Field: PSTL2 PO Box PCode.

     pstl2           TYPE c LENGTH 10,

*      Field: PSTLZ Postal Code.

     pstlz           TYPE c LENGTH 10,

*      Field: RECORD.

     RECORD           TYPE rsarecord,

   END   OF _ty_s_sc_1__rule_38.

* Additional declaration for transfer rule interface

DATA:

   g_t_errorlog TYPE rssm_t_errorlog_int.

*&---------------------------------------------------------------------*

*&      Form  compute_POSTCD_GIS

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      -->RECORD_NO               text

*      -->TRAN_STRUCTURE          text

*      -->RESULT                  text

*      -->RETURNCODE              text

*      -->ABORT                   text

*      -->RAISING                 text

*      -->CX_SY_ARITHMETIC_ERROR  text

*      -->CX_SY_CONVERSION_ERROR  text

*----------------------------------------------------------------------*

FORM compute_postcd_gis

   USING

     RECORD_NO      TYPE sy-tabix

     TRAN_STRUCTURE TYPE _ty_s_sc_1__rule_38

   CHANGING

    RESULT         TYPE _ty_s_tg_1_full-postcd_gis

    RETURNCODE     LIKE sy-subrc

    ABORT          LIKE sy-subrc

  RAISING

    cx_sy_arithmetic_error

    cx_sy_conversion_error.

* DATA: l_s_errorlog TYPE rssm_s_errorlog_int.

   IF TRAN_STRUCTURE-pstlz <> space.

     RESULT = TRAN_STRUCTURE-pstlz.

   ELSEIF TRAN_STRUCTURE-pstl2 <> space.

     RESULT = TRAN_STRUCTURE-pstl2.

   ELSE.

     RESULT = space.

   ENDIF.

* returncode <> 0 means skip this record

   RETURNCODE = 0.

* abort <> 0 means skip whole data package !!!

   ABORT = 0.

ENDFORM.                    "POSTCD_GIS

*$*$ end of 2nd part global - insert your code only before this line   *

*---------------------------------------------------------------------*

*       CLASS routine IMPLEMENTATION

*---------------------------------------------------------------------*

*

*---------------------------------------------------------------------*

CLASS lcl_transform IMPLEMENTATION.

   METHOD compute_0GN_PAR_SSY.

*   IMPORTING

*     request     type rsrequest

*     datapackid  type rsdatapid

*    EXPORTING

*      RESULT type _ty_s_TG_1-GN_PAR_SSY

     DATA:

       MONITOR_REC    TYPE rsmonitor.

*$*$ begin of routine - insert your code only below this line        *-*

     DATA:

       lv_logsys      TYPE rsdlogsys.

*   get logical system

     lv_logsys = p_r_request->get_logsys( ).

*   get source system id

     CALL FUNCTION 'RSDG_ID_GET_FROM_LOGSYS'

       EXPORTING

         i_source_system = lv_logsys

       IMPORTING

         e_soursysid     = RESULT

       EXCEPTIONS

         id_not_found    = 1.

*   error handling

     IF sy-subrc <> 0.

       MOVE-CORRESPONDING syst TO MONITOR_REC.

       APPEND MONITOR_REC TO MONITOR.

       RAISE EXCEPTION TYPE cx_rsrout_skip_val.

     ENDIF.

*$*$ end of routine - insert your code only before this line         *-*

   ENDMETHOD.                    "compute_0GN_PAR_SSY

*----------------------------------------------------------------------*

*       Method invert_0GN_PAR_SSY

*----------------------------------------------------------------------*

*

*       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.

*

*----------------------------------------------------------------------*

*

*----------------------------------------------------------------------*

   METHOD invert_0GN_PAR_SSY.

*$*$ 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_0GN_PAR_SSY

ENDCLASS.         


*******************************************************************

attached the code.

RamanKorrapati
Active Contributor
0 Kudos

Hi Suman,

Thanks for your efforts. But sorry from my end.

pls Always just share the code which you wrote only. No need to share default code.

Pls check with abap expert about your code.

Check these two points.

1. At text data source level remove this field 0GN_PAR_SSY. Because you alread loading thru attributes. no need load data to same iobj again.

2. at attribute data source level, check the logic how abaper maintained to fill those two fields.

0GN_PAR_SSY and 0POSTCD_GIS. Seek abaper  help who wrote this logic at dev envrioment

Have you tried to load attribute data source data to 0CUSTOMER, if yes then check the data for two iobj  0GN_PAR_SSY and 0POSTCD_GIS. is it showing correct valeus or not.

Thanks

former_member182541
Active Contributor
0 Kudos

Hi Ram,

Activated the particular transformation in development and created a new request only for the particular target and moved to production, the transformations went through without any issues.

Regards,

Suman T

RamanKorrapati
Active Contributor
0 Kudos

Nice to hear. keep it up suman

Answers (3)

Answers (3)

former_member182196
Contributor
0 Kudos

Hi,

Fist Check in transformation for infoobject 0GN_PAR_SSY and 0POSTCD_GIS have any routine in transformation or not.

Then check in table RSTRANROUTMAP for same. Try to unlock the object in transformation in Request and collect again in new request.

Regards,

SM

Former Member
0 Kudos

In addition to above answers check

1. if the source and the target of the transformation are correcy and in active version

2. If you are performing any lookup / read master data in the 2 routines, then check if those tables are present and in active version.

BR

abdullahqureshi
Contributor
0 Kudos

In addition to Raman's reply, Also Test Rule(F9) in transformation of your Routine .

Is it working as per your requirement?