cancel
Showing results for 
Search instead for 
Did you mean: 

Value not picked up

Former Member
0 Kudos

hi ABAP gurus

a using the code below to sumup the field BSEG_WRBTR but am getting the values as 0 in the output and i also debugged the code in SE38.The value under GLOBAL is coming as zero.I also used other data type like integer and float but i was geting runtime errors..please help...u wiill appreciated & rewarded..

<b>Code in Scripts</b>

/: DEFINE &SUM&

/: PERFORM GETTOTAL IN PROGRAM ZINNERDOCTEST3

/: USING &BSEG-WRBTR&

/: CHANGING &SUM&

/: ENDPERFORM

<b>Code in SAP scripts</b>

DATA:GLOBAL TYPE n .

FORM GETTOTAL TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.

READ TABLE IN_TAB INDEX 1.

DATA:SUM1 TYPE n .

SUM1 = IN_TAB-VALUE.

GLOBAL = GLOBAL + SUM1.

READ TABLE OUT_TAB INDEX 2.

LOOP AT OUT_TAB.

OUT_TAB-VALUE = GLOBAL.

MODIFY OUT_TAB INDEX sy-tabix.

ENDLOOP.

ENDFORM.

with regards

vijay

Accepted Solutions (0)

Answers (4)

Answers (4)

former_member673464
Active Contributor
0 Kudos

HI..

Try this code

DATA:GLOBAL(10) TYPE N value '100'.

FORM GETTOTAL TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.

READ TABLE IN_tab WITH KEY 'BSEG-WRBTR'.

global = global + in_tab-value.

READ TABLE out_tab WITH KEY 'SUM'.

move global to out_tab-value.

MODIFY OUT_TAB INDEX SY-TABIX.

ENDFORM.

<b>ITCSY IS A STRUCTURE WHICH CONTAINS ONLY FIELD AND FIELDVALUE SO IT IS ALWAYS BETTER TO READ TABLES WITH KEY VARIABLE NAME.</b>

reagards,

veeresh

dev_parbutteea
Active Contributor
0 Kudos

HI,

Here is your error (in bold)

Code in Scripts

/: DEFINE &SUM&

/: PERFORM GETTOTAL IN PROGRAM ZINNERDOCTEST3

/: USING &BSEG-WRBTR&

/: CHANGING &SUM&

/: ENDPERFORM

Code in SAP scripts

DATA:GLOBAL TYPE n .

FORM GETTOTAL TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.

READ TABLE IN_TAB INDEX 1.

DATA:SUM1 TYPE n .

SUM1 = IN_TAB-VALUE.

GLOBAL = GLOBAL + SUM1.

<b>BTW i think that there should have been another read like this

READ TABLE IN_TAB INDEX 1.

GLOBAL IN_TAB-VALUE.

then GLOBAL = GLOBAL + SUM1.</b>

READ TABLE OUT_TAB <b>INDEX 2</b>.

<b>SHOULD BE : READ TABLE OUT_TAB INDEX1.</b>

LOOP AT OUT_TAB.

OUT_TAB-VALUE = GLOBAL.

MODIFY OUT_TAB INDEX sy-tabix.

ENDLOOP.

ENDFORM.

Regards,

Sooness

dev_parbutteea
Active Contributor
0 Kudos

Hi,

there's a small mistake in above code

BTW i think that there should have been another read like this

<i>READ TABLE IN_TAB <b>INDEX 2.</b></i>

GLOBAL IN_TAB-VALUE.

then GLOBAL = GLOBAL + SUM1.

Former Member
0 Kudos

Hi,

Change these codes:

DATA:GLOBAL TYPE n .
FORM GETTOTAL TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.
READ TABLE IN_TAB INDEX 1.
DATA:SUM1 TYPE n .
SUM1 = IN_TAB-VALUE.
GLOBAL = GLOBAL + SUM1.


READ TABLE OUT_TAB INDEX 2.
LOOP AT OUT_TAB.
OUT_TAB-VALUE = GLOBAL.
MODIFY OUT_TAB INDEX sy-tabix.
ENDLOOP.
ENDFORM.

line this:

DATA:GLOBAL TYPE n .
FORM GETTOTAL TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.
READ TABLE IN_TAB INDEX 1.
DATA:SUM1 TYPE n .


READ TABLE OUT_TAB INDEX 2.
LOOP AT OUT_TAB.
SUM1 = IN_TAB-VALUE.
GLOBAL = GLOBAL + SUM1.
OUT_TAB-VALUE = GLOBAL.
MODIFY OUT_TAB INDEX sy-tabix.
ENDLOOP.
ENDFORM.

It will work.

Jogdand M B

Former Member
0 Kudos

hi jogdand

am still getting the same output...please help

vijay

Former Member
0 Kudos

Use Code like :

/: DEFINE &SUM&

/: PERFORM GETTOTAL IN PROGRAM ZINNERDOCTEST3

/: USING &BSEG-WRBTR&

/: CHANGING &SUM&

/: ENDPERFORM

Code in SAP scripts

DATA:GLOBAL TYPE n .

FORM GETTOTAL TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.

READ TABLE IN_TAB with key name 'BSEG-WRBTR'.

DATA:SUM1 TYPE n .

SUM1 = IN_TAB-VALUE.

GLOBAL = GLOBAL + SUM1.

READ TABLE OUT_TAB Iwith key name '= 'SUM'.

OUT_TAB-VALUE = GLOBAL.

MODIFY OUT_TAB INDEX sy-tabix.

ENDFORM.

Reward Points if it is useful

Thanks

Seshu

Former Member
0 Kudos

hi seshu

am getting the same output....please help

vijay