Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

low value and high value based on it validation

Former Member
0 Likes
859

hi

i have a requirement

based on lsection screen values low and high value

for period

sel_period-low

sel_period-high

which can be 1-12 i want to get all values as eneterd in slection screen

say if eg user enters 4-12 then

i need to add columns from a internal table from field4 to field12

if user enters

inital value 1 and hig value12

theni need to addd fields from 1 to 12

if 7 and hig value12

then add field 7 to field12

pls suggest

regards

arora

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
801

Hi!

Check out this one, it is working correctly. Pass you low and high values to lv_low and lv_high variables.

REPORT ZTESZT .

DATA: field TYPE i,
      field1 TYPE i VALUE 1,
      field2 TYPE i VALUE 2,
      field3 TYPE i VALUE 3,
      field4 TYPE i VALUE 4,
      field5 TYPE i VALUE 5,
      field6 TYPE i VALUE 6,
      field7 TYPE i VALUE 7,
      field8 TYPE i VALUE 8,
      field9 TYPE i VALUE 9,
      field10 TYPE i VALUE 10,
      field11 TYPE i VALUE 11,
      field12 TYPE i VALUE 12,

      lv_low TYPE i,
      lv_high TYPE i,
      lv_fieldname(10),
      lv_sum TYPE p.
FIELD-SYMBOLS: <fs>.

break-point.
  MOVE 3 TO lv_low.
  MOVE 12 TO lv_high.
  CLEAR: lv_sum.
  DO lv_high TIMES.

    IF sy-index < lv_low.
      CONTINUE.
    ENDIF.

    IF <fs> IS ASSIGNED.
      UNASSIGN <fs>.
    ENDIF.

    MOVE sy-index TO lv_fieldname.
    SHIFT lv_fieldname LEFT DELETING LEADING space.
    CONCATENATE 'FIELD' lv_fieldname INTO lv_fieldname.
    ASSIGN (lv_fieldname) TO <fs>.
    IF sy-subrc = 0.
      ADD <fs> TO lv_sum.
    ENDIF.
  ENDDO.

Regards

Tamá

hi

i have a requirement

based on lsection screen values low and high value

for period

sel_period-low

sel_period-high

which can be 1-12 i want to get all values as eneterd in slection screen

say if eg user enters 4-12 then

i need to add columns from a internal table from field4 to field12

if user enters

inital value 1 and hig value12

theni need to addd fields from 1 to 12

if 7 and hig value12

then add field 7 to field12

pls suggest

regards

arora

4 REPLIES 4
Read only

Former Member
0 Likes
802

Hi!

Check out this one, it is working correctly. Pass you low and high values to lv_low and lv_high variables.

REPORT ZTESZT .

DATA: field TYPE i,
      field1 TYPE i VALUE 1,
      field2 TYPE i VALUE 2,
      field3 TYPE i VALUE 3,
      field4 TYPE i VALUE 4,
      field5 TYPE i VALUE 5,
      field6 TYPE i VALUE 6,
      field7 TYPE i VALUE 7,
      field8 TYPE i VALUE 8,
      field9 TYPE i VALUE 9,
      field10 TYPE i VALUE 10,
      field11 TYPE i VALUE 11,
      field12 TYPE i VALUE 12,

      lv_low TYPE i,
      lv_high TYPE i,
      lv_fieldname(10),
      lv_sum TYPE p.
FIELD-SYMBOLS: <fs>.

break-point.
  MOVE 3 TO lv_low.
  MOVE 12 TO lv_high.
  CLEAR: lv_sum.
  DO lv_high TIMES.

    IF sy-index < lv_low.
      CONTINUE.
    ENDIF.

    IF <fs> IS ASSIGNED.
      UNASSIGN <fs>.
    ENDIF.

    MOVE sy-index TO lv_fieldname.
    SHIFT lv_fieldname LEFT DELETING LEADING space.
    CONCATENATE 'FIELD' lv_fieldname INTO lv_fieldname.
    ASSIGN (lv_fieldname) TO <fs>.
    IF sy-subrc = 0.
      ADD <fs> TO lv_sum.
    ENDIF.
  ENDDO.

Regards

Tamá

Read only

Former Member
0 Likes
801

hi

let me make more clear

i am looping into a internal table and in that based on the low and high value range i want to add fileds values from a table which are in a intenal table

for eg if the low value is 1 and high value is 7

then the toal will have fields total fom 1 to 7 as below eg

total = f1 +

f2 + f3+ f4+ f5 +f6 +f7

where f1 to f7 are fields of the intenal table ( ie sepearate columns)

similarly for others permutaion and combination

like if low value is 7 thenhigh value 12 ( low value can be from 1 to 12 only)

then total = f7 +f8 +f9 +f10 +f11 +f12

so one please suggest how to do it in the above scenerio

regards

Arora

Read only

Former Member
0 Likes
801

and this is my internal table structure

DATA:

ksl01 TYPE kslxx9,

ksl02 TYPE kslxx9,

ksl03 TYPE kslxx9,

ksl04 TYPE kslxx9,

ksl05 TYPE kslxx9,

ksl06 TYPE kslxx9,

ksl07 TYPE kslxx9,

ksl08 TYPE kslxx9,

ksl09 TYPE kslxx9,

ksl10 TYPE kslxx9,

ksl11 TYPE kslxx9,

ksl12 TYPE kslxx9,

ksl13 TYPE kslxx9,

ksl14 TYPE kslxx9,

ksl15 TYPE kslxx9,

ksl16 TYPE kslxx9,

regards

Arora

Read only

Former Member
0 Likes
801

problem solved using field symbol and using assigning components of filed symbol to the structure