2008 Aug 06 7:03 AM
Hi Experts,
I m totally new to BDC.
I have to add 3 more columns to already developed BDC.
Plz tell me how to proceed.
Best Regards,
Savita
2008 Aug 06 7:06 AM
hi,
check out the code......add the three fields to the internal table
structure ....from where you are downloading......next see the bdc .....screen where you need to add those fields and put the perform statements ........
can you please paste ypur code here
Hi Experts,
I m totally new to BDC.
I have to add 3 more columns to already developed BDC.
Plz tell me how to proceed.
Best Regards,
Savita
2008 Aug 06 7:06 AM
hi,
check out the code......add the three fields to the internal table
structure ....from where you are downloading......next see the bdc .....screen where you need to add those fields and put the perform statements ........
can you please paste ypur code here
2008 Aug 06 7:47 AM
Hi Shailaja,
U already told me me datail but tell me the wht u mean by
structure ....from where you are downloading......next see the bdc .....screen where you need to add those fields and put the perform statements ........
My code is report zccmatmasroh
no standard page heading line-size 255.
include bdcrecx1.
parameters: dataset(132) lower case.
data: begin of record occurs 0,
*General Data
data element: MATNR
matnr_001(018),
data element: MBRSH
mbrsh_002(001),
data element: MTART
mtart_003(004),
data element: WERKS_D
werks_021(004),
data element: LGORT_D
lgort_022(004),
data element: BWTAR
bwtar_023(010),
data element: VKORG
vkorg_024(004),
data element: VTWEG
vtweg_025(002),
Basic Data1
data element: MAKTX
maktx_026(040),
data element: MEINS
meins_027(003),
data element: MATKL
matkl_028(009),
data element: BISMT
bismt_029(018),
data element: SPART
spart_030(002),
data element: GEWEI
gewei_031(003),
Basic data2
data element: DZEINR
zeinr_032(022),
Sales Organisation 1
data element: SKTOF
SKTOF_037(001),
data element: TAXKM
TAXKM_01_038(001),
data element: TAXKM
TAXKM_02_039(001),
data element: TAXKM
TAXKM_03_040(001),
data element: TAXKM
TAXKM_04_041(001),
Sales Organisation 2
data element: MTPOS_MARA
MTPOS_MARA_059(004),
data element: MTPOS
MTPOS_060(004),
Sales General/Plant
data element: MTVFP
MTVFP_064(002),
data element: TRAGR
TRAGR_065(004),
data element: LADGR
LADGR_066(004),
Purchasing
data element: BSTME
bstme_069(003),
data element: VABME
vabme_070(001),
data element: EKGRP
ekgrp_071(003),
data element: EKWSL
ekwsl_073(004),
data element: WEBAZ
webaz_074(003),
Pop Up Box
data element: UMREN
umren_075(006),
data element: UMREZ
umrez_076(006),
MRP1
data element: DISGR
disgr_087(004),
data element: DISMM
dismm_089(002),
data element: MINBE
minbe_090(017),
data element: DISPO
dispo_091(003),
data element: DISLS
disls_092(002),
data element: BSTRF
bstrf_093(013),
MRP2
data element: LGPRO
lgpro_094(004),
data element: PLIFZ
plifz_095(002),
data element: WEBAZ
webaz_096(003),
data element: FHORI
fhori_097(003),
data element: EISBE
eisbe_098(013),
MRP3
data element: PERKZ
perkz_100(001),
data element: MTVFP
mtvfp_101(002),
MRP4
data element: SA_SAUFT
sauft_103(001),
data element: SFEPR
sfepr_104(004),
Storage1
data element: LGPBE
lgpbe_107(010),
data element: MHDRZ
mhdrz_108(005),
data element: MHDHB
mhdhb_109(005),
data element: DATTP
iprkz_110(001),
Quality Management
data element: QPART
art_01_116(008),
data element: QPART
art_02_117(008),
data element: QPART
art_03_118(008),
data element: QPART
art_04_119(008),
data element: QMATAKTIV
aktiv_01_121(001),
data element: QMATAKTIV
aktiv_02_122(001),
data element: QMATAKTIV
aktiv_03_123(001),
data element: QMATAKTIV
aktiv_04_124(001),
data element: QMATAUTH
qmata_128(006),
data element: QSSPUR
ssqss_130(008),
Accounting1
data element: BWTTY_D
bwtty_133(001),
data element: BKLAS
bklas_135(004),
data element: VPRSV
vprsv_136(001),
data element: PEINH
peinh_137(006),
data element: VERPR
verpr_138(006),
Costing1
data element: CK_EKALREL
ekalr_141(001),
data element: CK_LOSGR
losgr_142(017),
end of record.
start-of-selection.
data : vf_index type i.
data : vf_start_col type i value '2', "start column
vf_start_row type i value '5', "start row
vf_end_col type i value '100', "maximum column
vf_end_row type i value '2500', "maximum row
p_text(20). "stores error messages
Internal Table
data : it_excel type kcde_cells occurs 0 with header line.
************************************************************************
*/ Work Area
data: wa_intern like it_excel.
************************************************************************
*/ Field symbol
field-symbols : <fs>.
parameters: p_file like rlgrap-filename.
*upload data from excel
call function 'KCD_EXCEL_OLE_TO_INT_CONVERT'
exporting
filename = 'c:\materoh.xls'
i_begin_col = vf_start_col
i_begin_row = vf_start_row
i_end_col = vf_end_col
i_end_row = vf_end_row
tables
intern = it_excel
exceptions
inconsistent_parameters = 1
upload_ole = 2
others = 3.
if sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
if it_excel[] is initial.
p_text = 'No Data Uploaded'.
else.
sort it_excel by row col.
loop at it_excel.
move : it_excel-col to vf_index.
assign component vf_index of structure record to <fs>.
move : it_excel-value to <fs>.
at end of row.
append record.
clear record.
endat.
endloop.
endif.
loop at record .
General Data
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'RMMG1-MATNR'
record-matnr_001.
perform bdc_field using 'RMMG1-MBRSH'
record-mbrsh_002.
perform bdc_field using 'RMMG1-MTART'
record-mtart_003.
perform bdc_field using 'BDC_OKCODE'
'=AUSW'.
Selection Views
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(15)'.
perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(02)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(04)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(05)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(06)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(09)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(12)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(13)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(14)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(15)'
'X'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
General Data
perform bdc_dynpro using 'SAPLMGMM' '0080'.
perform bdc_field using 'RMMG1-WERKS'
record-werks_021.
perform bdc_field using 'RMMG1-LGORT'
record-lgort_022.
perform bdc_field using 'RMMG1-BWTAR'
record-bwtar_023.
perform bdc_field using 'RMMG1-VKORG'
record-vkorg_024.
perform bdc_field using 'RMMG1-VTWEG'
record-vtweg_025.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
Basic data 1
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'MAKT-MAKTX'
record-maktx_026.
perform bdc_field using 'MARA-MEINS'
record-meins_027.
perform bdc_field using 'MARA-MATKL'
record-matkl_028.
perform bdc_field using 'MARA-BISMT'
record-bismt_029.
perform bdc_field using 'MARA-SPART'
record-spart_030.
perform bdc_field using 'MARA-GEWEI'
record-gewei_031.
perform bdc_field using 'BDC_OKCODE'
'=SP02'.
Basic Data 2
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'MARA-ZEINR'
record-zeinr_032.
perform bdc_field using 'BDC_OKCODE'
'=SP09'.
Sales Organisation 1
*perform bdc_dynpro using 'SAPLMGMM' '4000'.
**perform bdc_field using 'MVKE-SKTOF'
record-SKTOF_037.
**perform bdc_field using 'MG03STEUER-TAXKM(01)'
record-TAXKM_01_038.
**perform bdc_field using 'MG03STEUER-TAXKM(02)'
record-TAXKM_02_039.
*perform bdc_field using 'BDC_OKCODE'
'/00'.
*
*perform bdc_dynpro using 'SAPLMGMM' '4200'.
*perform bdc_field using 'BDC_OKCODE'
'=MAIN'.
*
**perform bdc_field using 'MG03STEUER-TAXKM(03)'
record-TAXKM_03_040.
**perform bdc_field using 'MG03STEUER-TAXKM(04)'
record-TAXKM_04_041.
*
*perform bdc_field using 'BDC_OKCODE'
'=SP05'.
*
Sales Organisation 2
*
*perform bdc_dynpro using 'SAPLMGMM' '4000'.
**perform bdc_field using 'MARA-MTPOS_MARA'
record-MTPOS_MARA_059.
**perform bdc_field using 'MVKE-MTPOS'
record-MTPOS_060.
*perform bdc_field using 'BDC_OKCODE'
'=SP06'.
*
Sales General / Plant
*perform bdc_dynpro using 'SAPLMGMM' '4000'.
**perform bdc_field using 'MARC-MTVFP'
record-MTVFP_064.
**perform bdc_field using 'MARA-TRAGR'
record-TRAGR_065.
**perform bdc_field using 'MARC-LADGR'
record-LADGR_066.
*perform bdc_field using 'BDC_OKCODE'
'=SP09'.
Purchasing
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARA-BSTME'
record-bstme_069.
perform bdc_field using 'MARA-VABME'
record-vabme_070.
perform bdc_field using 'MARC-EKGRP'
record-ekgrp_071.
perform bdc_field using 'MARA-EKWSL'
record-ekwsl_073.
perform bdc_field using 'MARC-WEBAZ'
record-webaz_074.
if record-vabme_070 <> ' '.
perform bdc_field using 'BDC_OKCODE'
'/00'.
Pop Up Box
perform bdc_dynpro using 'SAPLMGMM' '0510'.
perform bdc_field using 'RMMZU-UMREN'
record-umren_075.
perform bdc_field using 'RMMZU-UMREZ'
record-umrez_076.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
else.
perform bdc_field using 'BDC_OKCODE'
'=SP12'.
endif.
MRP 1
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARC-DISGR'
record-disgr_087.
perform bdc_field using 'MARC-DISMM'
record-dismm_089.
perform bdc_field using 'MARC-MINBE'
record-minbe_090.
perform bdc_field using 'MARC-DISPO'
record-dispo_091.
perform bdc_field using 'MARC-DISLS'
record-disls_092.
perform bdc_field using 'MARC-BSTRF'
record-bstrf_093.
perform bdc_field using 'BDC_OKCODE'
'=SP13'.
MRP2
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARC-LGPRO'
record-lgpro_094.
perform bdc_field using 'MARC-PLIFZ'
record-plifz_095.
perform bdc_field using 'MARC-WEBAZ'
record-webaz_096.
perform bdc_field using 'MARC-FHORI'
record-fhori_097.
perform bdc_field using 'MARC-EISBE'
record-eisbe_098.
perform bdc_field using 'BDC_OKCODE'
'=SP14'.
MRP3
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARC-PERKZ'
record-perkz_100.
perform bdc_field using 'MARC-MTVFP'
record-mtvfp_101.
perform bdc_field using 'BDC_OKCODE'
'=SP15'.
MRP4
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARC-SAUFT'
record-sauft_103.
perform bdc_field using 'MARC-SFEPR'
record-sfepr_104.
perform bdc_field using 'BDC_OKCODE'
'=SP19'.
Storage1
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARD-LGPBE'
record-lgpbe_107.
perform bdc_field using 'MARA-MHDRZ'
record-mhdrz_108.
perform bdc_field using 'MARA-MHDHB'
record-mhdhb_109.
perform bdc_field using 'MARA-IPRKZ'
record-iprkz_110.
perform bdc_field using 'BDC_OKCODE'
'=SP23'.
Quality Management
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=PB01'.
perform bdc_dynpro using 'SAPLQPLS' '0100'.
perform bdc_field using 'BDC_OKCODE'
'=NEU'.
perform bdc_dynpro using 'SAPLQPLS' '0100'.
perform bdc_field using 'RMQAM-ART(01)'
record-art_01_116.
perform bdc_field using 'RMQAM-ART(02)'
record-art_02_117.
perform bdc_field using 'RMQAM-ART(03)'
record-art_03_118.
perform bdc_field using 'RMQAM-ART(04)'
record-art_04_119.
if record-aktiv_01_121 = 'X'.
perform bdc_field using 'RMQAM-AKTIV(01)'
'X'."record-AKTIV_01_121.
endif.
if record-aktiv_02_122 = 'X'.
perform bdc_field using 'RMQAM-AKTIV(02)'
'X'."record-AKTIV_02_122.
endif.
if record-aktiv_03_123 = 'X' .
perform bdc_field using 'RMQAM-AKTIV(03)'
'X'."record-AKTIV_03_123.
endif.
if record-aktiv_04_124 = 'X'.
perform bdc_field using 'RMQAM-AKTIV(04)'
'X'."record-AKTIV_04_124.
endif.
perform bdc_field using 'BDC_OKCODE'
'=WEIT'.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARC-QMATA'
record-qmata_128.
perform bdc_field using 'MARC-SSQSS'
record-ssqss_130.
perform bdc_field using 'BDC_OKCODE'
'=SP24'.
Accounting1
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MBEW-BWTTY'
record-bwtty_133.
perform bdc_field using 'MBEW-BKLAS'
record-bklas_135.
perform bdc_field using 'MBEW-VPRSV'
record-vprsv_136.
perform bdc_field using 'MBEW-PEINH'
record-peinh_137.
perform bdc_field using 'MBEW-VERPR'
record-verpr_138.
perform bdc_field using 'BDC_OKCODE'
'=SP26'.
Costing1
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MBEW-EKALR'
'X'."record-EKALR_141.
perform bdc_field using 'MARC-LOSGR'
record-losgr_142.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
*perform bdc_dynpro using 'SAPLSPO1' '0300'.
*perform bdc_field using 'BDC_OKCODE'
'=YES'.
perform bdc_transaction using 'MM01'.
endloop .
Definitely rwds pts,
Savita
2008 Aug 06 8:02 AM
Hi... Savita...
As I already told you.....
Say The fields which you needs to be add are F1, F2, F3....
First you hav to find table or structure name of that field....and the screen number of that field.. in that transaction....
for this go through..... system -> status and Press F1 on that screen field and click on technical setting icon....
Later.. Just add those three fields... in the RECORD internal table...
And also write the performs... with in that screen number....
say these three fields belongs to screen number 4000...
Add these three performs at the following area of your code....
MRP 1
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'MARC-DISGR'
record-disgr_087.
perform bdc_field using 'MARC-DISMM'
record-dismm_089.
perform bdc_field using 'MARC-MINBE'
record-minbe_090.
perform bdc_field using 'MARC-DISPO'
record-dispo_091.
perform bdc_field using 'MARC-DISLS'
record-disls_092.
perform bdc_field using 'MARC-BSTRF'
record-bstrf_093.
PER FORM BDC_FIELD USING <TABLE-F1>
RECORD-F1_<GIVEN NUMBER>__
PER FORM BDC_FIELD USING <TABLE-F2>
RECORD-F2_<GIVEN NUMBER>__
PER FORM BDC_FIELD USING <TABLE-F3>
RECORD-F2_<GIVEN NUMBER>
perform bdc_field using 'BDC_OKCODE'
'=SP13'.
Thanks,
Naveen.I
2008 Aug 06 8:19 AM
Hi Naveen,
Ur answer is really helpful , but one query is there when I add field in internal table like
data element: MATNR
matnr_001(018),
data element: MBRSH
mbrsh_002(001),
data element: MTART
mtart_003(004),
data element: WERKS_D
werks_021(004),
How i know to add these numbers in front of the field name matnr_001(018)
Savita
2014 May 24 9:05 AM
hi naveen
i have already search screen number and add recording part but didnt add.
please let me know you .how to easy add new field in bdc
2008 Aug 06 7:06 AM
hi,
check out the code......add the three fields to the internal table
structure ....from where you are downloading......next see the bdc .....screen where you need to add those fields and put the perform statements ........
can you please paste ypur code here
2008 Aug 06 7:15 AM
Hi.. savitha....
I think your previous code will be like this...
> perform bdc_dynpro using 'SAPMF05A' '0100'.
> perform bdc_field using 'BDC_CURSOR'
> 'RF05A-NEWBW'.
> perform bdc_field using 'BDC_OKCODE'
> '/00'.
> perform bdc_field using 'BKPF-BLDAT'
> record-BLDAT_001.
> perform bdc_field using 'BKPF-BLART'
> record-BLART_002.
> perform bdc_field using 'BKPF-BUKRS'
> record-BUKRS_003.
> perform bdc_field using 'BKPF-BUDAT'
> record-BUDAT_004.
> perform bdc_field using 'BKPF-MONAT'
> record-MONAT_005.
> perform bdc_field using 'BKPF-WAERS'
> record-WAERS_006.
> perform bdc_field using 'RF05A-NEWBS'
> record-NEWBS_010.
> perform bdc_field using 'RF05A-NEWKO'
> record-NEWKO_011.
> perform bdc_field using 'RF05A-NEWUM'
> record-NEWUM_012.
> perform bdc_field using 'RF05A-NEWBW'
> record-NEWBW_013.
> perform bdc_dynpro using 'SAPMF05A' '0100'.
> perform bdc_field using 'BDC_OKCODE'
> '/ERW'.
> perform bdc_field using 'BDC_CURSOR'
> 'RF05A-NEWBS'.
> perform bdc_dynpro using 'SAPLSPO1' '0200'.
> perform bdc_field using 'BDC_OKCODE'
> '=YES'.
> perform bdc_transaction using 'FB01'.
See here this BDC is for FB01 transaction.....
Now i want to add the theree more fields for this program....say XBLNR, BKTXT, DOCID....
So here we are having screen 100....which you can find FB01 transaction -> system -> status....
and make sure these three fields also having with same screen number....
Once it is conformed it is very easy....
add following string....
> perform bdc_field using 'BKPF-XBLNR'
> record-XBLNR_007.
> perform bdc_field using 'BKPF-BKTXT'
> record-BKTXT_008.
> perform bdc_field using 'FS006-DOCID'
> record-DOCID_009.
to above code....in correct area....(means with in that screen...)
So now you r code will be....
> perform bdc_dynpro using 'SAPMF05A' '0100'.
> perform bdc_field using 'BDC_CURSOR'
> 'RF05A-NEWBW'.
> perform bdc_field using 'BDC_OKCODE'
> '/00'.
> perform bdc_field using 'BKPF-BLDAT'
> record-BLDAT_001.
> perform bdc_field using 'BKPF-BLART'
> record-BLART_002.
> perform bdc_field using 'BKPF-BUKRS'
> record-BUKRS_003.
> perform bdc_field using 'BKPF-BUDAT'
> record-BUDAT_004.
> perform bdc_field using 'BKPF-MONAT'
> record-MONAT_005.
> perform bdc_field using 'BKPF-WAERS'
> record-WAERS_006.
>> perform bdc_field using 'BKPF-XBLNR'
>> record-XBLNR_007.
>> perform bdc_field using 'BKPF-BKTXT'
>> record-BKTXT_008.
>> perform bdc_field using 'FS006-DOCID'
>> record-DOCID_009.
> perform bdc_field using 'RF05A-NEWBS'
> record-NEWBS_010.
> perform bdc_field using 'RF05A-NEWKO'
> record-NEWKO_011.
> perform bdc_field using 'RF05A-NEWUM'
> record-NEWUM_012.
> perform bdc_field using 'RF05A-NEWBW'
> record-NEWBW_013.
> perform bdc_dynpro using 'SAPMF05A' '0100'.
> perform bdc_field using 'BDC_OKCODE'
> '/ERW'.
> perform bdc_field using 'BDC_CURSOR'
> 'RF05A-NEWBS'.
> perform bdc_dynpro using 'SAPLSPO1' '0200'.
> perform bdc_field using 'BDC_OKCODE'
> '=YES'.
> perform bdc_transaction using 'FB01'.
And also modify... the upload internal table.. here...with these three fields.
Here record is the itab name in above code....
previously it was...
>data: begin of record,
> BLDAT_001(010),
> BLART_002(002),
> BUKRS_003(004),
> BUDAT_004(010),
> MONAT_005(002),
> WAERS_006(005),
> NEWBS_010(002),
> NEWKO_011(017),
> NEWUM_012(001),
> NEWBW_013(003),
> end of record.
and now it was....
>data: begin of record,
> BLDAT_001(010),
> BLART_002(002),
> BUKRS_003(004),
> BUDAT_004(010),
> MONAT_005(002),
> WAERS_006(005),
>> XBLNR_007(016),
>> BKTXT_008(025),
>> DOCID_009(010),
> NEWBS_010(002),
> NEWKO_011(017),
> NEWUM_012(001),
> NEWBW_013(003),
> end of record.
Get back if your code is defferent and if you are getting any error.... with this....
All the best...
Thanks,
Naveen.I
2008 Aug 06 7:21 AM
1 go to transaction SHDB
2) choose new recording,and give name ZSAVITA
3) enter tcode XK01
4)CHOOSE DEFAULT SIZE AND CHOOSE START RECORDING
5) enter company code 001
purchase organisation as 008
account group KRED
6) give title Ms.
Name SAVITA
city MUMBAI
District MUMBAI
Search iteam FRIEND
COUNTRY IN
Press ENTER
7)Create vendor screen will appear..no need to enter data
Again press enter
8))Create vendor payment transaction screen will appear..no need to enter data
Again press enter
9))Create vendor Accounting information screen will appear..
ENTER FOLLOWING DATA
RECON ACCOUNT 95000
cash management group A
press enter
10))Create vendor :payment transaction accounting screen will appear..no need to enter data
Again press enter
11))Create vendor corrospondance accounting screen will appear..no need to enter data
Again press enter
12))Create vendor purchasing data screen will appear..Enter currency as INR
Press enter
13))Create vendor partner function screen will appear..no need to enter data
Again press enter
and your transaction record will appear
If it is help full please please give me points
2008 Aug 06 8:09 AM
hi savita
is my answer help ful to you
please ask if u have any doubt
go through my procedure u will reach to the destination
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |