Así es vanesamacri y rubendaga!! Muchas gracias!!
Este es mi código resultante por si a alguien más le sirve:
***Faltaría comprobaciones y control de errores.
TYPES: BEGIN OF gt_matid,
matid TYPE /sapapo/matkey-matid,
END OF gt_matid.
DATA: git_matid TYPE TABLE OF gt_matid WITH HEADER LINE.
*Declaracio rango
*[======================================
DATA: rang_matid TYPE RANGE OF gt_matid WITH HEADER LINE.
*======================================]
*inicializar rangos con tabla interna
*[=====================================
SELECT
lwh~matid
INTO TABLE git_matid
FROM /sapapo/matlwh AS lwh
FOR ALL ENTRIES IN git_lwh WHERE matid = git_lwh-matid
* INNER JOIN marc AS mc
* ON ma~matnr = mc~matnr
.
SORT git_matid BY matid.
* IF git_matid IS NOT INITIAL.
LOOP AT git_matid.
CLEAR: rang_matid.
rang_matid-sign = 'I'.
rang_matid-option = 'EQ'.
rang_matid-low = git_matid-matid.
APPEND rang_matid.
ENDLOOP.
* ENDIF.
*=======================================]
DATA l_tabix_lismat TYPE i.
*utilización
*[=====================================
LOOP AT git_listmat
WHERE matid IN rang_matid.
l_tabix_lismat = sy-tabix.
READ TABLE git_lwh WITH KEY matid = git_listmat-matid.
git_listmat-scuguid = git_lwh-scuguid.
git_listmat-ptdetind = git_lwh-ptdetind.
git_listmat-put_stra = git_lwh-put_stra.
git_listmat-rem_stra = git_lwh-rem_stra.
MODIFY git_listmat INDEX l_tabix_lismat.
ENDLOOP.
*=======================================]
|