‎2007 May 01 6:29 AM
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
‎2007 May 01 6:39 AM
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
‎2007 May 01 6:39 AM
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
‎2007 May 01 7:03 AM
Frnds I need code for updating all table controls or tax table control in VA01.
Plzzz help me frnds.
thanks& regards,
kamal
‎2007 May 01 12:18 PM
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
‎2007 May 01 1:27 PM