*&---------------------------------------------------------------------*
*& Report ZTEST_BDC_01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
TABLE NAME:BNKA--bank master record
FI01 tcode--create BANK
REPORT ztest_bdc_01.
TYPE-POOLS: truxs.
DATA:t_trux TYPE truxs_t_text_data. " ZSD_COND_RECORD_UPD
SELECTION-SCREEN BEGIN OF BLOCK main WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS : p_infile TYPE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK main.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
* messages of call transaction
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
TYPES: BEGIN OF ty_bnka,
banks TYPE bnka-banks,
bankl TYPE bnka-bankl,
banka TYPE bnka-banka,
provz TYPE bnka-provz,
stras TYPE bnka-stras,
ort01 TYPE bnka-ort01,
brnch TYPE bnka-brnch,
bnklz TYPE bnka-bankl,
END OF ty_bnka.
DATA: lt_bnka TYPE STANDARD TABLE OF ty_bnka,
ls_bnka TYPE ty_bnka.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_infile.
* f4_help c_p p_infile.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = sy-cprog
dynpro_number = sy-dynnr
field_name = ' '
IMPORTING
file_name = p_infile.
START-OF-SELECTION.
*PERFORM GET_DATA.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_field_seperator = 'X'
i_line_header = 'X'
i_tab_raw_data = t_trux
i_filename = p_infile
TABLES
i_tab_converted_data = lt_bnka
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.
LOOP AT lt_bnka INTO ls_bnka.
PERFORM bdc_dynpro USING 'SAPMF02B' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BNKA-BANKL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BNKA-BANKS'
ls_bnka-banka." 'IN'.
PERFORM bdc_field USING 'BNKA-BANKL'
ls_bnka-banka."'1120'.
PERFORM bdc_dynpro USING 'SAPMF02B' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BNKA-BNKLZ'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=UPDA'.
PERFORM bdc_field USING 'BNKA-BANKA'
ls_bnka-banka." 'testqwer'.
PERFORM bdc_field USING 'BNKA-PROVZ'
ls_bnka-provz."'01'.
PERFORM bdc_field USING 'BNKA-STRAS'
ls_bnka-stras." 'trred'.
PERFORM bdc_field USING 'BNKA-ORT01'
ls_bnka-ort01." 'gvuyvh'.
PERFORM bdc_field USING 'BNKA-BRNCH'
ls_bnka-brnch." 'vgtyft'.
PERFORM bdc_field USING 'BNKA-XPGRO'
'X'.
PERFORM bdc_field USING 'BNKA-BNKLZ'
ls_bnka-bnklz."'23456789076'.
CALL TRANSACTION 'FI01' USING bdcdata
MODE 'A'
UPDATE 'S'
MESSAGES INTO messtab.
ENDLOOP.
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM.
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
* IF FVAL <> NODATA.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
* ENDIF.
ENDFORM.