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

BDC CODE VA01 need

Former Member
0 Likes
646

Hi frnds,

I hav written BDC for VA01 transaction. But i m very new to BDC so i want to hav a look into a code which updates each and every table control and updates the whole of the VA01 transaction i.e TAX UPDATE AND ALL.

I M GIVING A SAMPLE CODE I HAV WRITTEN BUT I NEED TO UPDATED ALL THE TABLE CONTROLS PRESENT IN THE TRANSACTION.

REPORT zmas_bdctable .

*include bdcrecx1.

TYPES : BEGIN OF ty_head,

auart(4), "Sales Document Type

vkorg(4), "Sales Organization

vtweg(2), "Distribution Channel

spart(2), "Division

kunnr(10), "sold-to-party

bstkd(10), "Customer purchase order number

END OF ty_head.

TYPES: BEGIN OF ty_item,

matnr(18) TYPE c, "Material

kwmeng(13) TYPE c, "Quantity

END OF ty_item.

DATA: it_head TYPE TABLE OF ty_head.

DATA: wa_head LIKE LINE OF it_head.

DATA: it_item TYPE TABLE OF ty_item.

DATA: wa_item LIKE LINE OF it_item.

DATA :bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.

DATA:v_kwmeng(30) TYPE c,

v_mabnr(30) TYPE c.

DATA: val(2) TYPE n VALUE 01.

DATA : w_file2 TYPE string,

w_file1 TYPE string.

PARAMETERS: filename LIKE rlgrap-filename.

PARAMETERS: filenam1 LIKE rlgrap-filename.

****************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.

CALL FUNCTION 'F4_FILENAME'

IMPORTING

file_name = filename.

******************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR filenam1.

CALL FUNCTION 'F4_FILENAME'

IMPORTING

file_name = filenam1.

*******************************************************

START-OF-SELECTION.

w_file2 = filename.

w_file1 = filenam1.

                              • HEADER ************************

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = w_file2

filetype = 'ASC'

has_field_separator = 'X'

TABLES

data_tab = it_head.

                              • ITEM *******************

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = w_file1

filetype = 'ASC'

has_field_separator = 'X'

TABLES

data_tab = it_item.

**********CREATE SESSION***************

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

client = sy-mandt

group = 'TABLECONT'

keep = 'X'

user = sy-uname.

******POPULATE BDCDATABLE***************

  • PERFORM open_group.

LOOP AT it_head INTO wa_head.

PERFORM bdc_dynpro USING 'SAPMV45A' '0101'.

PERFORM bdc_field USING 'BDC_CURSOR'

'VBAK-AUART'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'VBAK-AUART'

wa_head-auart.

PERFORM bdc_field USING 'VBAK-VKORG'

wa_head-vkorg.

PERFORM bdc_field USING 'VBAK-VTWEG'

wa_head-vtweg.

PERFORM bdc_field USING 'VBAK-SPART'

wa_head-spart.

PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'VBKD-BSTKD'

wa_head-bstkd.

PERFORM bdc_field USING 'VBKD-BSTDK'

'30.01.2006'.

PERFORM bdc_field USING 'KUAGV-KUNNR'

wa_head-kunnr.

PERFORM bdc_field USING 'RV45A-KETDAT'

'30.01.2006'.

PERFORM bdc_field USING 'RV45A-KPRGBZ'

'D'.

PERFORM bdc_field USING 'VBKD-ZTERM'

'0001'.

PERFORM bdc_field USING 'VBKD-INCO1'

'CIF'.

PERFORM bdc_field USING 'VBKD-INCO2'

' COST INSUSRABCE FRIEGHT'.

LOOP AT it_item INTO wa_item .

CONCATENATE 'RV45A-MABNR(' '0' val ')' INTO v_mabnr.

CONCATENATE 'RV45A-KWMENG(' '0' val ')' INTO v_kwmeng.

  • PERFORM bdc_field USING 'BDC_CURSOR'

  • v_kwmeng.

PERFORM bdc_field USING v_mabnr

wa_item-matnr.

PERFORM bdc_field USING v_kwmeng

wa_item-kwmeng.

PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

val = val + 1.

IF val > 5.

val = 5.

ENDIF.

ENDLOOP.

val = 01.

PERFORM bdc_dynpro USING 'SAPMV45A' '4001'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=SICH'.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

tcode = 'VA01'

TABLES

dynprotab = bdcdata.

REFRESH bdcdata.

*PERFORM bdc_transaction USING 'VA01'.

ENDLOOP.

  • PERFORM close_group.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

----


  • Start new screen *

----


FORM bdc_dynpro USING program dynpro.

CLEAR bdcdata.

bdcdata-program = program.

bdcdata-dynpro = dynpro.

bdcdata-dynbegin = 'X'.

APPEND bdcdata.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

APPEND bdcdata.

ENDFORM. "BDC_FIELD

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
607

Hai kamal jaiin ,

Welcome to SDN.

Your code is correct.But make sure that the file1's and file2's no. of fields should match correspondingly.One thing we need to define the field of itab are char type.As you are done with it,there will not be any problem.

Hope this helps you.

Regds,

Rama chary.Pammi

4 REPLIES 4
Read only

Former Member
0 Likes
608

Hai kamal jaiin ,

Welcome to SDN.

Your code is correct.But make sure that the file1's and file2's no. of fields should match correspondingly.One thing we need to define the field of itab are char type.As you are done with it,there will not be any problem.

Hope this helps you.

Regds,

Rama chary.Pammi

Read only

0 Likes
607

Frnds I need code for updating all table controls or tax table control in VA01.

Plzzz help me frnds.

thanks& regards,

kamal

Read only

Former Member
0 Likes
607

Frnds,

My requirement is while performing BDC for standard trasaction VA01

using a material i want to update the schedule lines and condition types.

Both of them are separate table controls. So if anyone can provide the logic or code for the above will be helpful for me.

looking for whole hearted help.

regards,

kamal

Read only

0 Likes
607

Any help dear friends.

Thanks & regards,

kamal