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

Table control in BDC

Former Member
0 Likes
490

Hi all,

i created my own transaction, now I want to perform BDC for that, My first screen is for selection and I am using Table control in my second screen which is having 4 fileds in it

(name, Address, Share, Relation). Can any one suggest me how to do that.

Regards

Prakash Varun

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
462

Hi,

See this link may it will help u.

http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm

Regards

Jagadeesh

3 REPLIES 3
Read only

Former Member
0 Likes
463

Hi,

See this link may it will help u.

http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm

Regards

Jagadeesh

Read only

Former Member
0 Likes
462

Hi

Go through the link given below:

http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm

http://www.google.co.in/search?hl=en&q=SAPBDCtable+control&meta=

with regards

Nikunj Shah

Read only

Former Member
0 Likes
462

Hi,

plz look at, beow example this will surely help you.


TABLES: bdcdata, rlgrap.
*&---------------------------------------------------------------------

************************************************************************
*Parameters
***********************************************************************

PARAMETERS: file1 LIKE rlgrap-filename.

************************************************************************
*Internal Table Declarations
***********************************************************************

DATA: BEGIN OF itab OCCURS 0,
        matnr(18) TYPE c,    "MaterialNumber
        werks(4) TYPE c,     "Plant
        vdatu(10) TYPE c,    "Valid From Date
        bdatu(10) TYPE c,    "Valid To Date
        lifnr(10) TYPE c,    "Vendor Number
        ekorg(4) TYPE c,     "Purchasing Organization
        feskz TYPE c,        "Fixed
        autet TYPE c,        "MRP Indicator
     END OF itab.

DATA: bdcdata LIKE TABLE OF bdcdata WITH HEADER LINE.

************************************************************************
*Variables Declarations
***********************************************************************
DATA:  wa1 LIKE LINE OF itab. "Workarea for ITAB
DATA:  n TYPE i,              "Check
       count TYPE i.          "Count
DATA:  cnt(2),                "Counter
       wa(15).                "Workarea to hold concatenatedvalue
DATA   v_msg(100).            "Message
DATA:  flag.                  "Flag
DATA:  file TYPE string.      "File

************************************************************************
*Initialization event
***********************************************************************
INITIALIZATION.

************************************************************************
*At-selection-screen event
***********************************************************************

*To provide Input help for file name

AT SELECTION-SCREEN ON VALUE-REQUEST FOR file1.


CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = file1.

***********************************************************************
*START-OF-SELECTION EVENT
***********************************************************************

START-OF-SELECTION.

MOVE file1 TO file.

*File transfer from a file on the presentation server to an internal table itab.

CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = file
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = itab
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.

*To populate BDCdata and start data transfer

LOOP AT itab .

* To validate Plant range

IF itab-werks = '1000' OR itab-werks = '2000'
OR itab-werks = '1008'.

AT NEW werks.

CLEAR: n.
cnt = 1.

PERFORM bdc_dynpro USING 'SAPLMEOR' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EORD-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'EORD-MATNR'
itab-matnr.
PERFORM bdc_field USING 'EORD-WERKS'
itab-werks.
PERFORM bdc_dynpro USING 'SAPLMEOR' '0205'.


CONCATENATE 'EORD-EKORG(' cnt ')' INTO wa.

PERFORM bdc_field USING 'BDC_CURSOR'
wa.

PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
ENDAT.

IF n = 12.


READ TABLE bdcdata WITH KEY fval = '=BU'.
bdcdata-fval = '=NS'.
MODIFY bdcdata INDEX sy-tabix TRANSPORTING fval.


PERFORM bdc_dynpro USING 'SAPLMEOR' '0205'.
PERFORM bdc_field USING 'BDC_CURSOR'
'EORD-VDATU(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.

cnt = 2.
n = 2.
ENDIF.



CONCATENATE 'EORD-VDATU(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-vdatu.

CONCATENATE 'EORD-BDATU(' cnt ')' INTO wa.

PERFORM bdc_field USING wa
itab-bdatu.
CONCATENATE 'EORD-LIFNR(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-lifnr.
CONCATENATE 'EORD-EKORG(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-ekorg.
CONCATENATE 'RM06W-FESKZ(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-feskz.
CONCATENATE 'EORD-AUTET(' cnt ')' INTO wa.
PERFORM bdc_field USING wa
itab-autet.

IF n <> 12.
n = cnt.
ENDIF.
cnt = cnt + 1.


AT END OF werks.

*Call Transaction 'ME01: Maintain Source List with synchronous update and display screenu2019

CALL TRANSACTION 'ME01' USING bdcdata
UPDATE 'S'
MODE 'A'.


CLEAR:bdcdata,bdcdata[].


*Call function module FORMAT_MESSAGE.

CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
    id = sy-msgid
    lang = 'EN'
    no = sy-msgno
    v1 = sy-msgv1
    v2 = sy-msgv2
    v3 = sy-msgv3
    v4 = sy-msgv4
IMPORTING
   msg = v_msg.

WRITE:/ v_msg.
CLEAR: bdcdata,bdcdata[],flag.


ENDAT.

ENDIF.
ENDLOOP.


*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------
*&      Form  bdc_dynpro
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*

FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.

ENDFORM.                 u201Cbdc_dynpro

*----------------------------------------------------------------------*
* Insert field values
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------
*&      Form  bdc field
*&------------_ ---------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*

FORM bdc_field USING fnam fval.
IF NOT fval IS INITIAL.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
CLEAR wa.
ENDFORM.                        u201Cbdc_field
*----------------------------------------------------------------------

Hope this help you.

plz reward if useful.

thanks,

dhanashri.