*&---------------------------------------------------------------------* *& Report ZS_IMP_MY_DESIGN *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZS_IMP_MY_DESIGN. TYPES: BEGIN OF KUNDE, NAME TYPE BDC_FVAL, FELD2(10) TYPE C, FELD3(10) TYPE C, FELD4(10) TYPE C, FELD5(10) TYPE C, FELD6(10) TYPE C, VORN TYPE BDC_FVAL, REST(20) TYPE C, END OF KUNDE. TYPES: BEGIN OF IMPORT, FELD1(300) TYPE C, END OF IMPORT. DATA: IMPF TYPE STRING, IT_IMP TYPE TABLE OF IMPORT, ITAB TYPE TABLE OF KUNDE WITH HEADER LINE, WA LIKE LINE OF ITAB, WA_IMP LIKE LINE OF IT_IMP. FIELD-SYMBOLS: LIKE WA_IMP, LIKE WA, LIKE ITAB. SELECTION-SCREEN BEGIN OF BLOCK EINGABE WITH FRAME TITLE TEX. PARAMETERS: FILE TYPE LOCALFILE DEFAULT 'C:\Users\Public\Downloads\kunden.csv'. SELECTION-SCREEN END OF BLOCK EINGABE. INITIALIZATION. TEX = 'CSV eingeben'. AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE. CALL FUNCTION 'KD_GET_FILENAME_ON_F4' EXPORTING STATIC = 'X' CHANGING FILE_NAME = FILE. START-OF-SELECTION. IMPF = FILE. CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD( EXPORTING FILENAME = IMPF FILETYPE = 'ASC' HAS_FIELD_SEPARATOR = SPACE HEADER_LENGTH = 0 READ_BY_LINE = 'X' DAT_MODE = SPACE CODEPAGE = SPACE IGNORE_CERR = ABAP_TRUE CHANGING DATA_TAB = IT_IMP EXCEPTIONS FILE_OPEN_ERROR = 1 FILE_READ_ERROR = 2 OTHERS = 19 ). IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ASSIGN ITAB TO . LOOP AT IT_IMP ASSIGNING . CLEAR . SPLIT -FELD1 AT ';' INTO -NAME -FELD2 -FELD3 -FELD4 -FELD5 -FELD6 -VORN -REST. REPLACE ALL OCCURRENCES OF '"' IN -NAME WITH ''. REPLACE ALL OCCURRENCES OF '"' IN -VORN WITH ''. APPEND ITAB. ENDLOOP. SORT ITAB BY NAME VORN. DELETE ADJACENT DUPLICATES FROM ITAB COMPARING NAME VORN. WRITE 'Es waehre importiert worden'. ULINE. WRITE AT 20 'Vorname'. WRITE AT 40 'Name'. LOOP AT ITAB ASSIGNING . WRITE: / -VORN UNDER 'Vorname', -NAME UNDER 'Name'. * Funktion vorher in SHDB aufgezeichnet * und als Funktionsbaustein angelegt * * NICHT nochmal ausfuehren. Vorher BUPA_DEL aufrufen * *CALL FUNCTION 'ZS_IMP_KUNDE' * EXPORTING ** CTU = 'X' ** MODE = 'N' ** UPDATE = 'L' ** GROUP = ** USER = ** KEEP = ** HOLDDATE = * NODATA = '/' * SEARCH_TYPE_001 = '1' * SEARCH_ID_002 = '1' * PARTNER_NUMBER_003 = '*' * PARTNER_ROLE_004 = '000000' * PARTNER_TIMEDEP_005 = '000001' * TITLE_MEDI_006 = '0002' * NAME_FIRST_007 = -vorn * NAME_LAST_008 = -name * TEL_COUNTR_009 = 'DE' * MOB_COUNTR_010 = 'DE' * FAX_COUNTR_011 = 'DE' ** IMPORTING ** SUBRC = ** TABLES ** MESSTAB = * . ENDLOOP. UNASSIGN . UNASSIGN . CLEAR ITAB. CLEAR IT_IMP. UNASSIGN .