cancel
Showing results for 
Search instead for 
Did you mean: 

Meaning of the below Routine

Former Member
0 Kudos

IF COMM_STRUCTURE-recordmode EQ ' ' OR

COMM_STRUCTURE-recordmode EQ 'N'.

IF COMM_STRUCTURE-dlvieycr GT 0 AND COMM_STRUCTURE-dlvilecr GT 0.

RESULT = 1.

ENDIF.

ELSEIF COMM_STRUCTURE-recordmode EQ 'X'.

IF COMM_STRUCTURE-dlvieycr LT 0 AND COMM_STRUCTURE-dlvilecr LT 0.

RESULT = -1.

ENDIF.

ENDIF.

I have the above update routine, for field 'dlvlcr' in one cube of update rules.

here result = 1 and result = -1 ia there.

but it shows the output values only ' 1 and 0 '.

why -1 is not coming in to the output.

Please tell me how the routine is executing .

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

hi, i think that infoobject 0recordmode can be used only in ODS object () and you write that it update rules for cube. So COMM_STRUCTURE-recordmode has null value in all cases.

pacho

Former Member
0 Kudos

Hi Venkata,

recordmode = '' or 'N' means the record is a new record or the actual one. 'X' means the record is a before image (record before the last change). So basically while loading data you get a 'N' when the record comes into BW for the first time and result is set to 1. The next time the record comes, it comes in with a before ('X') and a after (' ') image and result is set to -1 for the before and is set to 1 for the after image. In the cube, this sums up to 1 again.

Now check your additional conditions in psa or in transaction listcube, to see how they will be processed.

Hope this helps!

Siggi

Former Member
0 Kudos

Hi Venkata,

What is the data type of info object 'dlvieycr'?.

Regards,

Prakash

Former Member
0 Kudos

FIELD : DLVIEYCR

DATA TYPE : INT4

LENGTH : 10

PLEASE REVERT BACK