2008 Jun 12 11:40 AM
Hi experts how to display flat file records in database
tables by using bdc.plz tell the coding
Hi experts how to display flat file records in database
tables by using bdc.plz tell the coding
2008 Jun 12 11:42 AM
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
| User | Count |
|---|---|
| 5 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |