Application Development and Automation 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: 
Read only

how display flatfile records in database table using bdc

Former Member
0 Likes
417

Hi experts how to display flat file records in database

tables by using bdc.plz tell the coding

1 REPLY 1
Read only

Former Member
0 Likes
398

http://www.sap-img.com/abap/bdc-program-for-purchase-info-records.htm

REPORT zje_bdc_customer1

NO STANDARD PAGE HEADING LINE-SIZE 255.

*INCLUDE bdcrecx1.

TABLES: zje_customer.

DATA: it_customer TYPE TABLE OF zje_customer,

wa_customer TYPE zje_customer.

DATA: ibdcdata TYPE TABLE OF bdcdata WITH HEADER LINE.

DATA: v_file TYPE string.

PARAMETERS: p_file LIKE ibipparms-path.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

CALL FUNCTION 'F4_FILENAME'

  • EXPORTING

  • PROGRAM_NAME = SYST-CPROG

  • DYNPRO_NUMBER = SYST-DYNNR

  • FIELD_NAME = ' '

IMPORTING

file_name = p_file .

MOVE p_file TO v_file.

START-OF-SELECTION.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = v_file

filetype = 'ASC'

has_field_separator = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

data_tab = it_customer

  • 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.

PERFORM open_group.

LOOP AT it_customer INTO wa_customer.

REFRESH ibdcdata.

PERFORM bdc_dynpro USING 'ZJE_CUSTOMER_MODULE' '0318'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=MODI'.

PERFORM bdc_field USING 'BDC_CURSOR'

'ZJE_CUSTOMER-CITY'.

PERFORM bdc_field USING 'ZJE_CUSTOMER-CUSTOMERNO'

wa_customer-customerno.

PERFORM bdc_field USING 'ZJE_CUSTOMER-NAME'

wa_customer-name.

PERFORM bdc_field USING 'ZJE_CUSTOMER-COUNTRYKEY'

wa_customer-countrykey.

PERFORM bdc_field USING 'ZJE_CUSTOMER-CITY'

wa_customer-city.

PERFORM bdc_dynpro USING 'ZJE_CUSTOMER_MODULE' '0318'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=EXIT'.

PERFORM bdc_field USING 'BDC_CURSOR'

'ZJE_CUSTOMER-CUSTOMERNO'.

  • PERFORM bdc_transaction USING 'ZCUSTOMER'.

PERFORM bdc_insert.

ENDLOOP.

SUBMIT rsbdcsub WITH mappe = 'CUSTOMER1'

EXPORTING LIST TO MEMORY AND RETURN.

if sy-subrc eq 0.

write:/ 'executed successfully'.

endif.

PERFORM close_group.

&----


*& Form BDC_DYNPRO

&----


  • text

----


  • -->PROGRAM text

  • -->DYNPRO text

----


FORM bdc_dynpro USING program dynpro.

CLEAR ibdcdata.

ibdcdata-program = program.

ibdcdata-dynpro = dynpro.

ibdcdata-dynbegin = 'X'.

APPEND ibdcdata.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

IF fval <> ' '.

CLEAR ibdcdata.

ibdcdata-fnam = fnam.

ibdcdata-fval = fval.

APPEND ibdcdata.

ENDIF.

ENDFORM. "bdc_field

&----


*& Form open_group

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM open_group .

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

  • CLIENT = SY-MANDT

  • DEST = FILLER8

group = 'CUSTOMER1'

  • HOLDDATE = FILLER8

keep = 'X'

user = sy-uname

  • RECORD = FILLER1

  • PROG = SY-CPROG

  • DCPFM = '%'

  • DATFM = '%'

  • IMPORTING

  • QID =

  • EXCEPTIONS

  • CLIENT_INVALID = 1

  • DESTINATION_INVALID = 2

  • GROUP_INVALID = 3

  • GROUP_IS_LOCKED = 4

  • HOLDDATE_INVALID = 5

  • INTERNAL_ERROR = 6

  • QUEUE_ERROR = 7

  • RUNNING = 8

  • SYSTEM_LOCK_ERROR = 9

  • USER_INVALID = 10

  • OTHERS = 11

.

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. " open_group

&----


*& Form close_group

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM close_group .

CALL FUNCTION 'BDC_CLOSE_GROUP'

  • EXCEPTIONS

  • NOT_OPEN = 1

  • QUEUE_ERROR = 2

  • OTHERS = 3

.

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. " close_group

&----


*& Form BDC_INSERT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM bdc_insert .

CALL FUNCTION 'BDC_INSERT'

EXPORTING

tcode = 'ZCUSTOMER'

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

dynprotab = ibdcdata

  • EXCEPTIONS

  • INTERNAL_ERROR = 1

  • NOT_OPEN = 2

  • QUEUE_ERROR = 3

  • TCODE_INVALID = 4

  • PRINTING_INVALID = 5

  • POSTING_INVALID = 6

  • OTHERS = 7

.

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. " BDC_INSERT

Regards,

Jagadish