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 uploading

Former Member
0 Likes
381

Hi All,

Running this program I am getting unit of measure in LITRE but I want unit of measure should be in KILOMETER format. So anybody can tell me which part of the code do i need to amke changes. and which part of code we need to make changes.

&----


*& Report ZMM_GI_FUEL

*&

&----


*&

*&

&----


REPORT zmm_gi_fuel.

PARAMETERS : p_file LIKE rlgrap-filename.

TYPES: BEGIN OF ty_data_format_gi,

flt_no TYPE char8,

tail TYPE char3,

text1 TYPE char3,

text2 TYPE char3,

date TYPE char10,

qty TYPE char13,

org TYPE char3,

des TYPE char3,

tech TYPE char6,

indicator TYPE char1,

END OF ty_data_format_gi.

DATA: it_data_gi TYPE TABLE OF ty_data_format_gi,

wa_data_gi LIKE LINE OF it_data_gi.

DATA: file TYPE string.

DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.

  • messages of call transaction

DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

INITIALIZATION.

START-OF-SELECTION.

file = p_file.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = file

has_field_separator = '#'

TABLES

data_tab = it_data_gi

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.

PERFORM make_gi.

&----


*& Form make_gi

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM make_gi .

data: text(20).

LOOP AT it_data_gi INTO wa_data_gi.

clear text.

PERFORM bdc_dynpro USING 'SAPMM07M' '0400'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RM07M-LGORT'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'MKPF-BLDAT'

wa_data_gi-date.

"'02.12.2006'.

PERFORM bdc_field USING 'MKPF-BUDAT'

wa_data_gi-date.

"'02.12.2006'.

concatenate wa_data_gi-flt_no '-' wa_data_gi-tail '-' wa_data_gi-text1 '-' wa_data_gi-text2 into text.

PERFORM bdc_field USING 'MKPF-BKTXT'

text.

"wa_data_gi-tech.

"'201377'.

PERFORM bdc_field USING 'RM07M-BWARTWA'

'201'.

PERFORM bdc_field USING 'RM07M-WERKS'

'1000'.

PERFORM bdc_field USING 'RM07M-LGORT'

'1001'.

PERFORM bdc_field USING 'XFULL'

'X'.

PERFORM bdc_field USING 'RM07M-WVERS2'

'X'.

PERFORM bdc_dynpro USING 'SAPMM07M' '0421'.

PERFORM bdc_field USING 'BDC_CURSOR'

'MSEG-ERFME(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

IF wa_data_gi-indicator = 'Y'.

PERFORM bdc_field USING 'MSEG-MATNR(01)'

'200568'.

ELSE.

PERFORM bdc_field USING 'MSEG-MATNR(01)'

'200566'.

ENDIF.

PERFORM bdc_field USING 'MSEG-ERFMG(01)'

" '1.025'.

wa_data_gi-qty.

PERFORM bdc_field USING 'MSEG-ERFME(01)'

'L'.

PERFORM bdc_field USING 'DKACB-FMORE'

'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-KOSTL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=COBL_XERGO'.

PERFORM bdc_field USING 'COBL-KOSTL'

'10122'.

PERFORM bdc_dynpro USING 'SAPLKEAK' '0300'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RKEAK-FIELD(12)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=P+'.

PERFORM bdc_field USING 'RKEAK-FIELD(08)'

'1000'.

PERFORM bdc_field USING 'RKEAK-FIELD(09)'

'1000'.

PERFORM bdc_field USING 'RKEAK-FIELD(12)'

'KF'.

PERFORM bdc_dynpro USING 'SAPLKEAK' '0300'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RKEAK-FIELD(05)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=WEIT'.

PERFORM bdc_field USING 'RKEAK-FIELD(05)'

" 'CCU'.

wa_data_gi-org.

PERFORM bdc_field USING 'RKEAK-FIELD(02)'

  • "'DEL-CCU'.

wa_data_gi-tail.

PERFORM bdc_field USING 'RKEAK-FIELD(07)'

"'DEL'.

wa_data_gi-des.

PERFORM bdc_field USING 'RKEAK-FIELD(08)'

"'IT-601'.

wa_data_gi-flt_no.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-KOSTL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTE'.

PERFORM bdc_field USING 'COBL-KOSTL'

'10122'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-KOSTL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTE'.

PERFORM bdc_field USING 'COBL-KOSTL'

'10122'.

PERFORM bdc_dynpro USING 'SAPMM07M' '0421'.

PERFORM bdc_field USING 'BDC_CURSOR'

'MSEG-ERFMG(01)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=BU'.

PERFORM bdc_field USING 'DKACB-FMORE'

'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-KOSTL'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTE'.

CALL TRANSACTION 'MB1A' USING bdcdata MODE 'N' UPDATE 'S'.

REFRESH bdcdata.

"PERFORM bdc_transaction USING 'MB1A' using bdcdata.

ENDLOOP.

ENDFORM. " make_gi

----


  • 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 REPLY 1
Read only

Former Member
0 Likes
313

hi abhay

in one of the performs where you are writing the tcode with ERFME you are hardcoing the value with <b>'L'</b>,rather keep a varaible there with the corresponding unit of measure and if you want it to be <b>Km</b> for all the entries then you can hardcode it as 'Km' in that particular perform.

here it is .

PERFORM bdc_field USING 'MSEG-ERFME(01)'

'L'. ' <b>you can keep Km or any variable with corresponding value in it</b>.

hope it solves your problem

kindly reward points if helpful.

Regards

Zarina