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

Read using non-unique key

KumarVishal
Participant
0 Likes
851

I am trying to read a column which is non - unique and not -sorted.

Instead of usual Read , I was trying the new syntax using non-unique key. But it doesn't give consistent result and even takes more time ?

PFB the sample code I have used. In the both the read same row should return as a result which does not happen ?

TYPES:
BEGIN OF LTY_domains,
as4local TYPE as4local,
as4vers TYPE as4vers,
datatype TYPE datatype_d,
leng TYPE ddleng,
outputlen TYPE outputlen,
decimals TYPE decimals,
AS4DATE TYPE AS4DATE,
END OF lty_domains.

DATA:
lt_domains TYPE TABLE OF LTY_domains,
lt_domains_key TYPE TABLE OF LTY_domains
WITH NON-UNIQUE SORTED KEY length COMPONENTS AS4DATE.

SELECT
as4local,
as4vers,
datatype,
leng,
outputlen,
decimals,
AS4DATE
FROM dd01l
INTO TABLE @lt_domains.

lt_domains_key = lt_domains.
DATA:
lv_t1 TYPE timestampl,
lv_t2 TYPE timestampl,
lv_tf TYPE timestampl.

GET TIME STAMP FIELD lv_t1.
READ TABLE lt_domains INTO DATA(ls_domains)
WITH KEY as4date = '20110901'.
GET TIME STAMP FIELD lv_t2.
WRITE : / | OLD = { lv_t2 - lv_t1 } { ls_domains-as4date } - { sy-tabix } |.

CLEAR : lv_t1,lv_t2.
GET TIME STAMP FIELD lv_t1.
READ TABLE lt_domains_key INTO DATA(ls_domains_key)
WITH KEY length COMPONENTS as4date = '20110901'.
GET TIME STAMP FIELD lv_t2.
WRITE : / | NEW = { lv_t2 - lv_t1 } { ls_domains_key-as4date } - { sy-tabix } |.

0 REPLIES 0