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 UPLOAD

Former Member
0 Likes
403

Hi This is my BDC upload program. when i am uploading data then unit in measure comes in 'LITER' but i want that litre to be accesed as 'KILOLITER'. How I will do that. Any body could help me out of this. Where do I need to make changes to produce the desired output.

&----


*& 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
356

hi abhay

i just replied to one of your same post.

kindly check there and close this thread.

Regards

Zarina