Skip to Content
-1
May 07, 2018 at 10:16 AM

Endroutine - Lookup to derive multiple values

338 Views

Hi,

I am not able to derive multiple values with below code. My requirement is to derive to a lookup to the material master data table and derive all materials where the first 7 characters match with the input file material .


* declaring material table
DATA: Z_MATERIAL TYPE STANDARD TABLE OF /BI0/PMATERIAL.
FIELD-SYMBOLS: <Z_MATERIAL> LIKE LINE OF Z_MATERIAL.
* selecting data from material table
SELECT * FROM /BI0/PMATERIAL INTO CORRESPONDING FIELDS OF TABLE
 Z_MATERIAL WHERE OBJVERS = 'A'.

Types: ty_data type _ty_s_TG_1.
Data: t_data type STANDARD TABLE OF ty_data,
      w_data type ty_data,
      l_tabix type sy-tabix,
      l_line type I.

clear: l_tabix, w_data.
BREAK-POINT.
t_data[] = RESULT_PACKAGE[].
loop at t_data into w_data.
       l_tabix = sy-tabix.
       l_line = l_line + 1.
 LOOP AT Z_MATERIAL ASSIGNING <Z_MATERIAL>
  WHERE MATERIAL+0(7) = w_data-MATERIAL.
       clear w_data.
        W_DATA-MATERIAL = <Z_MATERIAL>-MATERIAL.
        W_DATA-TYPE= <RESULT_FIELDS>-TYPE.

        W_DATA-RECORD  = l_line.
        APPEND  <RESULT_FIELDS> TO T_DATA.
ENDLOOP.
endloop. " Result_package

RESULT_PACKAGE[] = t_data[].

Attachments