Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

upload the data through

Former Member
0 Kudos

hi,

please let me know how to upload the data through bdc in campus management, please explain me details and step by step.

thanks

suja

1 REPLY 1

Former Member
0 Kudos

hi sujatha

&----


*& Report Z_XK01_BDC1 *

*& *

&----


*& *

*& *

&----


REPORT z_xk01_bdc1 LINE-SIZE 255 . .

TYPES : BEGIN OF t_disp ,

vendorno(9),

compcc(13),

purchorg(14),

accgroup(15),

title(7),

name(5),

country(8),

ordcurr(14),

END OF t_disp.

TYPES : BEGIN OF t_err,

msgtyp LIKE bdcmsgcoll-msgtyp,

l_mstring(250),

END OF t_err.

DATA: i_disp TYPE STANDARD TABLE OF t_disp,

wa_disp TYPE t_disp,

i_err TYPE STANDARD TABLE OF t_err,

wa_err TYPE t_err.

----


  • data definition

----


  • Batchinputdata of single transaction

DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.

  • messages of call transaction

DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

  • error session opened (' ' or 'X')

DATA: e_group_opened.

  • message texts

TABLES: t100.

PARAMETER : p_file1 LIKE ibipparms-path,

p_cmode LIKE ctu_params-dismode DEFAULT 'N'.

"A: show all dynpros

"E: show dynpro on error only

"N: do not display dynpro

*selction screen.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

IMPORTING

file_name = p_file1.

AT SELECTION-SCREEN ON p_file1.

IF p_file1 IS INITIAL .

MESSAGE 'FILE IS NOT FOUND' TYPE 'E'.

ENDIF.

START-OF-SELECTION.

PERFORM f_disp_file1.

END-OF-SELECTION.

PERFORM f_disp_errs.

&----


*& Form F_DISP_FILE1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM f_disp_file1 .

DATA: l_filename1 TYPE string.

MOVE p_file1 TO l_filename1.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = l_filename1

filetype = 'ASC'

has_field_separator = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

data_tab = i_disp

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_READ_ERROR = 2

  • NO_BATCH = 3

  • GUI_REFUSE_FILETRANSFER = 4

  • INVALID_TYPE = 5

  • NO_AUTHORITY = 6

  • UNKNOWN_ERROR = 7

  • BAD_DATA_FORMAT = 8

  • HEADER_NOT_ALLOWED = 9

  • SEPARATOR_NOT_ALLOWED = 10

  • HEADER_TOO_LONG = 11

  • UNKNOWN_DP_ERROR = 12

  • ACCESS_DENIED = 13

  • DP_OUT_OF_MEMORY = 14

  • DISK_FULL = 15

  • DP_TIMEOUT = 16

  • OTHERS = 17

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

*? prepare BDC data

DELETE i_disp INDEX 1.

LOOP AT i_disp INTO wa_disp .

PERFORM bdc_dynpro USING 'SAPMF02K' '0100'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF02K-KTOKK'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF02K-LIFNR'

wa_disp-vendorno.

  • 'ztest_1'.

PERFORM bdc_field USING 'RF02K-BUKRS'

wa_disp-compcc.

  • '0001'.

PERFORM bdc_field USING 'RF02K-EKORG'

wa_disp-purchorg.

  • '0001'.

PERFORM bdc_field USING 'RF02K-KTOKK'

wa_disp-accgroup.

  • '0001'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0110'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFA1-SPRAS'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_field USING 'LFA1-ANRED'

  • wa_disp-title.

'Mr.'.

PERFORM bdc_field USING 'LFA1-NAME1'

wa_disp-name.

  • 'test name'.

PERFORM bdc_field USING 'LFA1-SORTL'

'TEST NAME'.

PERFORM bdc_field USING 'LFA1-LAND1'

wa_disp-country.

  • 'in'.

PERFORM bdc_field USING 'LFA1-SPRAS'

'en'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0120'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFA1-KUNNR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0130'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFBK-BANKS(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0210'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-AKONT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0215'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB1-ZTERM'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0220'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFB5-MAHNA'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=VW'.

PERFORM bdc_dynpro USING 'SAPMF02K' '0310'.

PERFORM bdc_field USING 'BDC_CURSOR'

'LFM1-WAERS'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=UPDA'.

PERFORM bdc_field USING 'LFM1-WAERS'

wa_disp-ordcurr.

  • 'inr'.

PERFORM bdc_transaction USING 'XK01'.

  • WRITE:/ WA_DISP-VendorNo,

  • WA_DISP-COMPCC,

  • WA_DISP-PURCHORG,

  • WA_DISP-ACCGROUP,

  • WA_DISP-title,

  • WA_DISP-name,

  • WA_DISP-country,

  • WA_DISP-ORDCURR.

clear: WA_disp.

Refresh bdcdata.

ENDLOOP.

ENDFORM. " F_DISP_FILE1

----


  • Start new screen *

----


FORM bdc_dynpro USING program dynpro.

CLEAR bdcdata.

bdcdata-program = program.

bdcdata-dynpro = dynpro.

bdcdata-dynbegin = 'X'.

APPEND bdcdata.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

  • IF FVAL <> NODATA.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

APPEND bdcdata.

  • ENDIF.

ENDFORM. "BDC_FIELD

&----


*& Form bdc_transaction

&----


  • text

----


  • -->P_0322 text

----


FORM bdc_transaction USING tcode.

DATA: l_mstring(480),

l_subrc LIKE sy-subrc.

REFRESH messtab.

CALL TRANSACTION tcode USING bdcdata

MODE p_cmode

UPDATE 'L'

MESSAGES INTO messtab.

l_subrc = sy-subrc.

  • IF SMALLLOG <> 'X'.

  • WRITE: / 'CALL_TRANSACTION',

  • TCODE,

  • 'returncode:'(I05),

  • L_SUBRC,

  • 'RECORD:',

  • SY-INDEX.

LOOP AT messtab.

SELECT SINGLE * FROM t100 WHERE sprsl = messtab-msgspra

AND arbgb = messtab-msgid

AND msgnr = messtab-msgnr.

IF sy-subrc = 0.

l_mstring = t100-text.

IF l_mstring CS '&1'.

REPLACE '&1' WITH messtab-msgv1 INTO l_mstring.

REPLACE '&2' WITH messtab-msgv2 INTO l_mstring.

REPLACE '&3' WITH messtab-msgv3 INTO l_mstring.

REPLACE '&4' WITH messtab-msgv4 INTO l_mstring.

ELSE.

REPLACE '&' WITH messtab-msgv1 INTO l_mstring.

REPLACE '&' WITH messtab-msgv2 INTO l_mstring.

REPLACE '&' WITH messtab-msgv3 INTO l_mstring.

REPLACE '&' WITH messtab-msgv4 INTO l_mstring.

ENDIF.

CONDENSE l_mstring.

  • WRITE: / messtab-msgtyp, l_mstring(250).

*? Send this errors to err internal table

wa_err-msgtyp = messtab-msgtyp.

wa_err-l_mstring = l_mstring.

APPEND wa_err TO i_err.

ELSE.

  • WRITE: / messtab.

ENDIF.

CLEAR: messtab, wa_err.

ENDLOOP.

SKIP.

  • ENDIF.

ENDFORM. " bdc_transaction

&----


*& Form f_disp_errs

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM f_disp_errs .

SORT i_err BY msgtyp.

LOOP AT i_err INTO wa_err.

AT FIRST.

WRITE : / text-002.

uline.

ENDAT.

AT NEW msgtyp.

IF wa_err-msgtyp = 'S'.

WRITE : / text-003.

uline.

ELSEIF wa_err-msgtyp = 'E'.

WRITE : / text-001.

uline.

ENDIF.

ENDAT.

WRITE : / wa_err-msgtyp, wa_err-l_mstring.

clear wa_err.

ENDLOOP.

ENDFORM. " f_disp_errs

it's will help u

kk.