Professional Documents
Culture Documents
Batch Data Communication
Batch Data Communication
Communication
• BDC’s are interface are used to upload the data from legacy system
to SAP System.
• 2 Methods.
1. Call Transaction method.
2. Session method.
• Steps :
1. Get the flat file from the customer. Flat file might be excel or text
file.
2. Get a sample recording with the help of SHDB .
3. Create a program with the help of recording.
4. Create a structure according to flat file fields.
5. Upload the flat file data into internal table using GUI_UPLOAD.
6. Loop at internal table to work area to create to repeat the
operation.
• Sample record using SHDB.
• Click on new recording .
• Enter recoding name ex: zmaterial.
• Transaction code . Ex : MM01.
• Update mode .
• And click on start recording.
Call Transaction Method
TYPES : BEGIN OF T_MARA,
MATNR(18) TYPE C ,
MBRSH TYPE C,
MTART(4) TYPE C,
MAKTX(40) TYPE C,
MEINS(2) TYPE C,
END OF T_MARA.
DATA : IT_MARA TYPE TABLE OF T_MARA,
WA_MARA TYPE T_MARA.
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
* messages of call transaction
DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
*include bdcrecx1.
PARAMETERS : FILE(120) TYPE C.
• AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE.
PERFORM SEARCH_FILE.
start-of-selection.
PERFORM UPLOAD_DATA.
PERFORM BDC_DATA.
FILE = FILE_NAME.
endform. " SEARCH_FILE
• form UPLOAD_DATA .
DATA : FILENAME TYPE STRING.
FILENAME = FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = FILENAME
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_MARA[]
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.
* Implement suitable error handling here
ENDIF.
PERFORM PRINT_MESSAGE.
ENDLOOP.
endform. " BDC_DATA
• form PRINT_MESSAGE .
DATA : MES(120) TYPE C.
LOOP AT MESSTAB.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = MESSTAB-MSGID
LANG = SY-LANGU
NO = MESSTAB-MSGNR
V1 = MESSTAB-MSGV1
V2 = MESSTAB-MSGV2
V3 = MESSTAB-MSGV3
V4 = MESSTAB-MSGV4
IMPORTING
MSG = MES
EXCEPTIONS
NOT_FOUND =1
OTHERS =2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
WRITE : / MES.
ENDLOOP.
REFRESH MESSTAB.
endform. " PRINT_MESSAGE
Session Method
•
TYPES : BEGIN OF T_MARA,
MATNR(18) TYPE C,
MBRSH TYPE C,
MTART(4) TYPE C,
MAKTX(40) TYPE C,
MEINS(2) TYPE C,
END OF T_MARA.
DATA : IT_MARA TYPE TABLE OF T_MARA,
WA_MARA TYPE T_MARA.
PARAMETERS: FILE(120) TYPE C.
PERFORM SEARCH_FILE.
form SEARCH_FILE .
DATA : FILE_NAME TYPE IBIPPARMS-PATH.
FILE = FILE_NAME.
endform. " SEARCH_FILE
start-of-selection.
PERFORM UPLOAD_DATA.
form UPLOAD_DATA .
DATA : FILENAME TYPE STRING.
FILENAME = FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = FILENAME
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_MARA[]
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.
* Implement suitable error handling here
ENDIF.
ENDLOOP.
• CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN =1
QUEUE_ERROR =2
OTHERS =3
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
• 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.
• ------------------------------------------------------------------------------
• Go to Transaction ‘SM35’ and click on process.
LSMW
• Legacy System migration workbench.
• Use to upload the data from legacy system to SAP system.
• Steps :
1. Transaction code ‘LSMW’.
2. Enter Project name , Subproject name and object name.
3. Click on create.
4. Enter the description for project , Subproject and object .
5. Click on Execute.
• Maintain Object Attributes :
1. Get the recording .
Read Data :
Execute.
Actual data uploaded from flat file into SAP LSMW.
Display Read Data .
Display’s read data from flat file.
Convert Data :
1. Converts flat file data into SAP screen related data.
Execute.