Buenas tardes.
Estoy usando un programa para actualizar la información del infotipo 1001, basados en un archivo con dos campos, como posicion y funcion , sin embargo al momento de consultar la tabla cuando hago read table y uso BINARY SEARCH , el sistema no me encuentra los registros.
report ZTEST2.
data lv_tabla TYPE dd02l-tabname.
FIELD-SYMBOLS: <gfs_hrp1001> TYPE p1001.
TYPES: BEGIN OF gty_archivo,
objid TYPE p1001-objid,
funcion TYPE p1001-objid,
mensaje TYPE string,
END OF gty_archivo.
data: gt_archivo TYPE TABLE OF gty_archivo,
gt_datatab TYPE TABLE OF gty_archivo,
c_gt_1001 TYPE TABLE Of p1001,
gt_raw TYPE truxs_t_text_data,
gs_archivo like LINE OF gt_datatab.
parameter p_file TYPE rlgrap-filename.
at SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = p_file
.
START-OF-SELECTION.
perform cargar_archivo .
IF gt_datatab IS NOT INITIAL.
SORT gt_datatab BY objid.
SORT c_gt_1001 BY objid.
DELETE ADJACENT DUPLICATES FROM gt_datatab COMPARING objid.
SELECT * FROM hrp1001 INTO CORRESPONDING FIELDS OF TABLE c_gt_1001
FOR ALL ENTRIES IN gt_datatab WHERE objid = gt_datatab-objid
AND otype = 'S' AND rsign = 'B' AND relat = '007'.
ENDIF.
LOOP AT gt_datatab INTO gs_archivo.
SORT gt_datatab BY objid.
SORT c_gt_1001 BY objid.
READ TABLE c_gt_1001 ASSIGNING <gfs_hrp1001> WITH KEY
objid = gs_archivo-objid
sobid = gs_archivo-funcion
BINARY SEARCH.
endloop.
*ENDIF.
end-OF-SELECTION.
FORM cargar_archivo .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_line_header = 'X'
i_tab_raw_data = gt_raw " WORK TABLE
i_filename = p_file
TABLES
i_tab_converted_data = gt_datatab[] "ACTUAL DATA
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform.
Donde esta la falla?