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.