cancel
Showing results for 
Search instead for 
Did you mean: 

Routine for target 0TGTPROCCAP has type 'return table'.see long text

Former Member
0 Kudos

Hi,

Im migrating transfer rules and updates rules for a particular cube, when im trying to migrate update rules into "Transformation" in getting the following error for the fields which has field routines

Routine for target 0TGTPROCCAP has type 'return table'.see long text

Routine for target 0TGTSETCAP has type 'return table'.see long text

Routine for target 0TGTTEARCAP has type 'return table'.see long text

after creating transformation the field with routines displays unmapped in transformation, it means im not getting the routines when i migrate update rules into transformation, need solution for this

Thanks and Regards

Satish Kumar K.S

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Satish,

there is no concept called return table in Bi 7, but where as it have it in 3.5 so comes this issue, the return table is replaced with end routine in Bi 7, so kindly keep this in mind and do the changes, you to completely reform this logic, if it is a field routine then it is very easy to change if you have start routine and some field level logic and u must take to convert the same to start routine or to end routine based on some performance etc...

if you can attach the code i can check and help you...

Regards,

Nanda.S

Former Member
0 Kudos

Hi,

We are facing the same issue. Have you fixed it? Can you share the code so that we can validate what we have done.

Thanks

Sujatha

0 Kudos

We are also facing the same problem while migrating the update rule(0PM_DS02 80PM_DS01) between 0PM_DS01 and 0PM_DS02 with all standard field and code. Update rule have start routine and same field routine for all charachterstic

Start Routine Code

------------------------

 

PROGRAM UPDATE_ROUTINE.

 

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

* TABLES: ...

 

TYPE-POOLS: BWMCI.

DATA: G_T_UPDATE_IMAGE TYPE BWMCI_T_PM_DS02.

DATA: G_S_CHARACTERISTICS TYPE BWMCI_DATAPACKAGE_KEYS.

 

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

 

* The follow definition is new in the BW3.x

 

TYPES:

BEGIN OF DATA_PACKAGE_STRUCTURE.

INCLUDE STRUCTURE /BIC/CS80PM_DS01.

TYPES:

RECNO LIKE sy-tabix,

END OF DATA_PACKAGE_STRUCTURE.

DATA:

DATA_PACKAGE TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE

WITH HEADER LINE

WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.

FORM startup

TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring

MONITOR_RECNO STRUCTURE RSMONITORS " monitoring with record n

DATA_PACKAGE STRUCTURE DATA_PACKAGE

USING RECORD_ALL LIKE SY-TABIX

SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS

CHANGING ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update

 

*

 

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

* fill the internal tables "MONITOR" and/or "MONITOR_RECNO",

* to make monitor entries

CALL FUNCTION 'BW_MCI1_DATAPACKAGE_PREPARE'

CHANGING

C_DATAPACKAGE = DATA_PACKAGE[].

* if abort is not equal zero, the update process will be canceled

ABORT = 0.

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

*

ENDFORM.

--------------------------------------------

Field Routine Code

 

PROGRAM UPDATE_ROUTINE.

 

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

* TABLES: ...

 

TYPE-POOLS: BWMCI.

DATA: G_T_UPDATE_IMAGE TYPE BWMCI_T_PM_DS02.

DATA: G_S_CHARACTERISTICS TYPE BWMCI_DATAPACKAGE_KEYS.

 

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

 

 

FORM compute_data_field

TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring

RESULT_TABLE STRUCTURE /BI0/APM_DS0200

USING COMM_STRUCTURE LIKE /BIC/CS80PM_DS01

RECORD_NO LIKE SY-TABIX

RECORD_ALL LIKE SY-TABIX

SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS

ICUBE_VALUES LIKE /BI0/APM_DS0200

CHANGING RETURNCODE LIKE SY-SUBRC "Do not use!

ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update

 

*

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

* fill the internal table "MONITOR", to make monitor entries

 

DATA: L_S_CHARACTERISTICS TYPE BWMCI_DATAPACKAGE_KEYS.

MOVE-CORRESPONDING COMM_STRUCTURE TO L_S_CHARACTERISTICS.

 

* if one of the characteristics LOGSYS/EQUIPMENT/FUNCT_LOC has changed,

* a new UPDATE_IMAGE needs to be computed.

 

* Otherwise, the last UPDATE_IMAGE is still valid

IF ( L_S_CHARACTERISTICS NE G_S_CHARACTERISTICS ).

G_S_CHARACTERISTICS = L_S_CHARACTERISTICS.

CALL FUNCTION 'BW_MCI1_KEYFIGURE_ARRAY_GET'

EXPORTING

I_LOGSYS = L_S_CHARACTERISTICS-LOGSYS

I_EQUIPMENT = L_S_CHARACTERISTICS-EQUIPMENT

I_FUNCT_LOC = L_S_CHARACTERISTICS-FUNCT_LOC

IMPORTING

E_RESULTTAB = G_T_UPDATE_IMAGE.

ENDIF.

RESULT_TABLE[] = G_T_UPDATE_IMAGE.

* if the returncode is not equal zero, the result will not be updated

RETURNCODE = 0.

* if abort is not equal zero, the update process will be canceled

ABORT = 0.

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

*

ENDFORM.

Former Member
0 Kudos

Hi Lifesgud ,

posting in an answered post will not get you a lot of reaction.

Anyhow:

there is no solution for your problem.  The PM BCT is written around a module pool and in the update rule the datapackage is completely reconstructed using ABAP and return table.

You cannot convert this to transformations unless you spend a lot of time analyzing module pool BW_MCI1 and all the routines.

My two cents: keep using the update rules.