Matchcode con tablas internas
Buenos días.
Encontre una rutina con tablas internas y la función 'F4IF_INT_TABLE_VALUE_REQUEST' para crear matchcode . Lo que hice fue crear dos tablas internas y mandarla a la función para que me aparezcan los datos en el matchcode.
DATA: BEGIN OF IT_SGTXT OCCURS 0,
NAME1 LIKE KNA1-NAME1,
NAME2 LIKE KNA1-NAME2,
END OF IT_SGTXT.
DATA: BEGIN OF IT_MATCH OCCURS 0,
SHLPNAME LIKE DDSHRETVAL-SHLPNAME,
FIELDNAME LIKE DDSHRETVAL-FIELDNAME,
RECORDPOS LIKE DDSHRETVAL-RECORDPOS,
FIELDVAL LIKE DDSHRETVAL-FIELDVAL,
RETFIELD LIKE DDSHRETVAL-RETFIELD,
END OF IT_MATCH.
SELECTION-SCREEN BEGIN OF BLOCK KD_0 WITH FRAME TITLE TEXT-000.
SELECT-OPTIONS: KD_SGTXT FOR BSEG-SGTXT NO-EXTENSION.
PARAMETERS: KD_BUKRS TYPE BSEG-BUKRS.
SELECTION-SCREEN END OF BLOCK KD_0.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR KD_SGTXT-LOW.
SELECT NAME1 NAME2 FROM KNA1 INTO TABLE IT_SGTXT WHERE SORTL EQ 'EMPLEADO'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'NAME1'
WINDOW_TITLE = 'EMPLEADO'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_SGTXT
RETURN_TAB = IT_MATCH
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC EQ 0.
READ TABLE IT_MATCH INDEX 1.
MOVE IT_MATCH-FIELDVAL TO KD_SGTXT-LOW.
ENDIF.
|