Professional Documents
Culture Documents
Carga de Excel
Carga de Excel
TYPE
TYPE
TYPE
TYPE
TYPE
filetable,
file_table,
string,
i,
sysubrc.
file_table
rc
user_action
EXCEPTIONS
file_open_dialog_failed
cntl_error
error_no_gui
not_supported_by_gui
OTHERS
= lt_filetable
= lv_rc
= lv_action
=
=
=
=
=
1
2
3
4
5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
READ TABLE lt_filetable INTO ls_file_line INDEX 1.
p_file = ls_file_line-filename.
ENDIF.
ENDFORM.
"f_localizar_arquivo
*&---------------------------------------------------------------------*
*&
Form LER_ARQUIVO
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM ler_arquivo .
DATA: i_filename TYPE rlgrap-filename.
i_filename = p_file.
CALL FUNCTION 'FAA_FILE_UPLOAD_EXCEL'
EXPORTING
i_filename
= i_filename
i_delimiter
= ';'
TABLES
et_filecontent
= t_upload
EXCEPTIONS
error_accessing_file = 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.
CLEAR: t_prov, t_prov[].
LOOP AT t_upload.
SPLIT t_upload AT ';' INTO t_prov-bukrs
t_prov-zuonr
t_prov-xblnr
t_prov-newko50
t_prov-wrbtr.
APPEND t_prov.
ENDLOOP.
ENDFORM.
" LER_ARQUIVO
*&---------------------------------------------------------------------*
*&
Form EXECUTAR
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM executar .
DATA: msgid LIKE sy-msgid,
msgno LIKE sy-msgno,
msgv1 LIKE sy-msgv1,
msgv2 LIKE sy-msgv2,
msgv3 LIKE sy-msgv3,
msgv4 LIKE sy-msgv4,
w_text(100) TYPE c.
FORMAT COLOR COL_GROUP.
WRITE: 'LOG DE PROCESSAMENTO'.
WRITE: text-000, text-001, 20 text-002, 45 text-003, 60 text-004, 75 text-005.
LOOP AT t_prov.
IF p_ignora = 'X'.
CHECK sy-tabix > 1.
ENDIF.
CONDENSE: t_prov-bukrs NO-GAPS,
t_prov-wrbtr NO-GAPS,
t_prov-newko50 NO-GAPS.
CLEAR: t_msg, t_msg[].
CALL FUNCTION
EXPORTING
mode
=
bukrs =
xblnr =
wrbtr =
zuonr =
newko50 =
TABLES
messtab =
'ZFIAA_F_PROVISAO'
p_mode
t_prov-bukrs
t_prov-xblnr
t_prov-wrbtr
t_prov-zuonr
t_prov-newko50
t_msg.
=
=
=
=
t_msg-msgid.
t_msg-msgnr.
t_msg-msgv1.
t_msg-msgv2.
msgv3 = t_msg-msgv3.
msgv4 = t_msg-msgv4.
CALL FUNCTION 'TB_MESSAGE_BUILD_TEXT'
EXPORTING
langu = sy-langu
msgid = msgid
msgno = msgno
msgv1 = msgv1
msgv2 = msgv2
msgv3 = msgv3
msgv4 = msgv4
IMPORTING
text = w_text.
IF t_msg-msgtyp = 'E'.
FORMAT COLOR COL_NEGATIVE.
ELSEIF t_msg-msgtyp = 'W'.
FORMAT COLOR COL_TOTAL.
ELSEIF t_msg-msgtyp = 'S'.
FORMAT COLOR COL_NORMAL.
ENDIF.
WRITE: / t_msg-msgtyp, ':', w_text(72).
ENDLOOP.
ENDLOOP.
ENDFORM.
" EXECUTAR