Professional Documents
Culture Documents
BDC Using Session Method: SAP Virtual/Onsite Trainings
BDC Using Session Method: SAP Virtual/Onsite Trainings
Home • Trainings • Quiz • Tips • Tutorials • Functional • Cert Q's • Interview Q's • Jobs • Testimonials • Advertise • Contact Us
Custom Search
SAP Virtual/Onsite BDC using Session Method Search
Trainings By Kumar Saurabh, Yash Technologies
http://saptechnical.com/Tutorials/ABAP/BDC/Session.htm 1/5
8/18/2018 BDC using Session Method
Join the Mailing List
Email:
Subscribe Unsubscribe
GO
*Input Path
PARAMETERS:
p_file TYPE rlgrap-filename. " File Path
* Structure Decleration
DATA :
BEGIN OF fs_field,
bsart TYPE eban-bsart, " Document Type.
matnr TYPE eban-matnr, " Material Number.
menge TYPE eban-menge, " Quantity Requested.
werks TYPE eban-werks, " Plant.
END OF fs_field.
DATA:
fs_bdcdata LIKE LINE OF t_bdcdata, ”Structure type of bdcdata
w_str TYPE string.
* Data decleration
DATA:
wa_path TYPE string ,
wa_error TYPE string,
wa_cnt TYPE i,
w_mode TYPE c,
wa_cnt1(2) TYPE n,
it_output type table of ty_s_error,
wa_output like line of it_output.
TYPES:
fs_struct(4096) TYPE c OCCURS 0 .
DATA:
w_struct TYPE fs_struct.
http://saptechnical.com/Tutorials/ABAP/BDC/Session.htm 2/5
8/18/2018 BDC using Session Method
* I_LINE_HEADER =
i_tab_raw_data = w_struct
i_filename = p_file
TABLES
i_tab_converted_data = t_field
EXCEPTIONS
conversion_failed = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
PERFORM open_group .
LOOP AT t_field INTO fs_field.
REFRESH: t_bdcdata.
CLEAR : fs_bdcdata.
PERFORM populate_bdcdata.
PERFORM insert_data.
ENDLOOP. " LOOP AT t_f..
*&---------------------------------------------------------------------*
*& Form open_group
*&---------------------------------------------------------------------*
* Function to open BDC
*----------------------------------------------------------------------*
FORM open_group.
*&---------------------------------------------------------------------*
*& Form POPULATE_BDCDATA
*&---------------------------------------------------------------------*
* Function to populate data
*----------------------------------------------------------------------*
FORM populate_bdcdata .
PERFORM :
*&---------------------------------------------------------------------*
*& Form FILL_BDC_DATA
*&---------------------------------------------------------------------*
* Function to populate data
*----------------------------------------------------------------------*
* -->VALUE(P_PROGRAM) Program name
* -->VALUE(P_DYNPRO) screen no
* -->VALUE(P_BEGIN) screen start
* -->VALUE(P_FIELD) field name
* -->VALUE(P_VALUE) field value
*----------------------------------------------------------------------*
FORM fill_bdc_data USING value(p_program)
value(p_dynpro)
value(p_begin)
value(p_field)
value(p_value).
CLEAR fs_bdcdata.
IF p_begin = 'X'.
*" Screen Values.
fs_bdcdata-program = p_program. " program name
fs_bdcdata-dynpro = p_dynpro. " screen no
fs_bdcdata-dynbegin = p_begin. " screen start
APPEND fs_bdcdata TO t_bdcdata.
ELSE.
*" Filed Values.
CLEAR fs_bdcdata.
fs_bdcdata-fnam = p_field. " Field name
fs_bdcdata-fval = p_value. " Field value
CONDENSE fs_bdcdata-fval.
APPEND fs_bdcdata TO t_bdcdata.
*&---------------------------------------------------------------------*
*& Form INSERT_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM insert_data .
*Data decleration
DATA:
t_msg TYPE TABLE OF bdcmsgcoll, " Collecting messages
w_msg TYPE bdcmsgcoll,
w_msg1(51).
*&---------------------------------------------------------------------*
*& Form CLOSE_GROUP
*&---------------------------------------------------------------------*
* Function to close BDC group
*----------------------------------------------------------------------*
FORM close_group .
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
not_open = 1
http://saptechnical.com/Tutorials/ABAP/BDC/Session.htm 4/5
8/18/2018 BDC using Session Method
queue_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE 'UNABLE TO CLOSE BDC SESSION !' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF. " IF sy-subrc ..
http://saptechnical.com/Tutorials/ABAP/BDC/Session.htm 5/5