Skip to Content
0
Former Member
Mar 14, 2007 at 06:02 PM

Update Rule - Routine Issue

22 Views

Hello All,

I have an Update Rule between ODS and InfoSource. I have the following routine for 0CALQUARTER. I cannot figure out why it is not being populated in the ODS. I see that 0FISCPER is being populated in the ODS. What am I missing. I am attaching the code below.

Thanks.

Regards,

bw_newbie

Routine:

PROGRAM UPDATE_ROUTINE.

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

  • TABLES: ...

DATA: v_qtr(1).

  • DATA: ...

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

FORM compute_data_field

TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring

USING COMM_STRUCTURE LIKE /BIC/CSZFI_SL_A129_TT

RECORD_NO LIKE SY-TABIX

RECORD_ALL LIKE SY-TABIX

SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS

CHANGING RESULT LIKE /BIC/AZFI_O12900-CALQUARTER

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

  • result value of the routine

IF COMM_STRUCTURE-FISCPER+4(3) = '000' OR

COMM_STRUCTURE-FISCPER+4(3) = '001' OR

COMM_STRUCTURE-FISCPER+4(3) = '002' OR

COMM_STRUCTURE-FISCPER+4(3) = '003'.

v_qtr = 1.

ELSEIF COMM_STRUCTURE-FISCPER+4(3) = '004' OR

COMM_STRUCTURE-FISCPER+4(3) = '005' OR

COMM_STRUCTURE-FISCPER+4(3) = '006'.

v_qtr = 2.

ELSEIF COMM_STRUCTURE-FISCPER+4(3) = '007' OR

COMM_STRUCTURE-FISCPER+4(3) = '008' OR

COMM_STRUCTURE-FISCPER+4(3) = '009'.

v_qtr = 3.

ELSEIF COMM_STRUCTURE-FISCPER+4(3) = '010' OR

COMM_STRUCTURE-FISCPER+4(3) = '011' OR

COMM_STRUCTURE-FISCPER+4(3) = '012' OR

COMM_STRUCTURE-FISCPER+4(3) = '013' OR

COMM_STRUCTURE-FISCPER+4(3) = '014' OR

COMM_STRUCTURE-FISCPER+4(3) = '015' OR

COMM_STRUCTURE-FISCPER+4(3) = '016'.

v_qtr = 4.

ENDIF.

CONCATENATE COMM_STRUCTURE-FISCPER(4) v_qtr INTO RESULT.

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