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

gui_upload

Former Member
0 Likes
875

parameters: P_FILE type localfile obligatory.

start-of-selection.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = P_FILE

FILETYPE = 'DAT'

TABLES

DATA_TAB = IT_ITAB.

when i wrote the code in above manner,it's giving runtime error giving the message

'the function interface allows you to specify only fields of a particular type under 'file name'.the field 'P_FILE ' specified here is a different field type'.

plz tell me where im going wrong.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
795

Hai Srinivas,

<b>Just do one modification to your code.</b>

start-of-selection.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = P_FILE

<b>FILETYPE = 'ASC'</b>

TABLES

DATA_TAB = IT_ITAB.

Also Do mension the File path as String type.

Hope you got it.

<b>

Reward points if it helps you.</b>

Regds,

Rama chary.Pammi

6 REPLIES 6
Read only

Former Member
0 Likes
795

Hi srinivas,

Go through this program.

&----


*& Application :SD Master Data *

*& Copied From Program Version : *

*& Original Program : *

&----


*& Functional :K.S.RAO *

& Developer : P.Naganjana Reddy

*& Created On :16/02/2007 *

*& Title : pericing upload *

& Report Name :YSD_PRICING_VK11

*& Development Id : *

*& Transport Request : *

*& Related Information : *

report YSDBDCVK11 no STANDARD PAGE HEADING LINE-SIZE 255.

TABLES : RV13A,RV130,KONP,KOMG.

----


*decl of internal table of recording fields

----


DATA: BEGIN OF it_itab OCCURS 0 ,

KSCHL TYPE RV13A-KSCHL,

VKORG TYPE KOMG-VKORG,

VTWEG TYPE KOMG-VTWEG,

MATNRX(150) TYPE C,

KBETRX(150) TYPE C,

END OF it_itab.

----


*decl of internal table of table control fields

----


DATA: BEGIN OF it_MATNRY OCCURS 0 ,

MATNR TYPE KOMG-MATNR,

END OF it_MATNRY.

DATA: BEGIN OF it_KBETRY OCCURS 0,

KBETR(20) TYPE N,

END OF it_KBETRY.

----


*decl of field and its count

----


DATA: FLD(40) TYPE N,

CNT(2) TYPE N.

----


*decl of internal table of table control for BDCDATA & BDCMSGCOLL

----


DATA: IT_BDCDATA TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE.

*include bdcrecx1.

START-OF-SELECTION.

data: p_file type string.

p_file = 'C:\Documents and Settings\pn70065\Desktop\quatation.txt'.

----


*call funcation module for uploading of ffile to it_itab

----


CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = p_file

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

tables

data_tab = it_itab

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.

LOOP AT it_itab.

REFRESH IT_BDCDATA .

REFRESH: it_matnry, it_kbetry.

SPLIT it_itab-MATNRX AT ',' INTO TABLE it_matnry.

SPLIT it_itab-KBETRX AT ',' INTO TABLE it_kbetry.

perform bdc_dynpro using 'SAPMV13A' '0100'.

perform bdc_field using 'BDC_CURSOR'

'RV13A-KSCHL'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'RV13A-KSCHL'

it_itab-kschl.

perform bdc_dynpro using 'SAPLV14A' '0100'.

perform bdc_field using 'BDC_CURSOR'

'RV130-SELKZ(02)'.

perform bdc_field using 'BDC_OKCODE'

'=WEIT'.

perform bdc_field using 'RV130-SELKZ(01)'

''.

perform bdc_field using 'RV130-SELKZ(02)'

'X'.

perform bdc_dynpro using 'SAPMV13A' '1304'.

perform bdc_field using 'BDC_CURSOR'

'KONP-KBETR(01)'.

perform bdc_field using 'BDC_OKCODE'

'/00'.

perform bdc_field using 'KOMG-VKORG'

it_itab-vkorg.

perform bdc_field using 'KOMG-VTWEG'

it_itab-vtweg.

----


  • start the table control logic.

----


DATA: X(2) TYPE N,

N(2) TYPE N.

N = 0.

LOOP AT it_matnry.

N = N + 1.

ENDLOOP.

X = 1.

CNT = 1.

DO N TIMES.

IF CNT > 19.

perform bdc_field using 'BDC_OKCODE' '=P+'.

perform bdc_dynpro using 'SAPMV13A' '1304'.

perform bdc_field using 'BDC_OKCODE' 'KOMG-MATNR(01)'.

CNT = 1.

ENDIF.

LOOP AT it_matnry FROM X TO X.

CONCATENATE 'KOMG-MATNR(' CNT ')' INTO FLD.

perform bdc_field using FLD it_matnry-matnr.

ENDLOOP.

LOOP AT it_kbetry FROM X TO X.

CONCATENATE 'KONP-KBETR(' CNT')' INTO FLD.

perform bdc_field using FLD it_kbetry-kbetr.

ENDLOOP.

CNT = CNT + 1.

X = X + 1.

ENDDO.

----


  • finish the table control logic.

----


perform bdc_dynpro using 'SAPMV13A' '1304'.

perform bdc_field using 'BDC_CURSOR'

'KOMG-MATNR(01)'.

perform bdc_field using 'BDC_OKCODE'

'=SICH'.

*perform bdc_transaction using 'VK11'.

CALL TRANSACTION 'VK11' USING IT_BDCDATA MODE 'A' UPDATE 'S' .

CLEAR it_itab.

ENDLOOP.

----


  • Start new screen *

----


form bdc_dynpro using program dynpro.

clear IT_bdcdata.

IT_bdcdata-program = program.

IT_bdcdata-dynpro = dynpro.

IT_bdcdata-dynbegin = 'X'.

append IT_bdcdata.

endform. "bdc_dynpro

----


  • Insert field *

----


form bdc_field using fnam fval.

  • if fval <> nodata.

clear IT_bdcdata.

IT_bdcdata-fnam = fnam.

IT_bdcdata-fval = fval.

append IT_bdcdata.

  • endif.

endform. "bdc_field

*******rewards some points.

Rgds,

P.Naganajana Reddy

Read only

former_member632991
Active Contributor
0 Likes
795

Hi,

give the file type as

P_FILE LIKE rlgrap-filename OBLIGATORY,

instaed of localfile

Regards,

Sonika

Read only

Former Member
0 Likes
795

Srinivas,

Do like this

data : P_FILE type STRING.

don't forget to reward if useful....

Read only

Former Member
0 Likes
796

Hai Srinivas,

<b>Just do one modification to your code.</b>

start-of-selection.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = P_FILE

<b>FILETYPE = 'ASC'</b>

TABLES

DATA_TAB = IT_ITAB.

Also Do mension the File path as String type.

Hope you got it.

<b>

Reward points if it helps you.</b>

Regds,

Rama chary.Pammi

Read only

Former Member
0 Likes
795

Hi Srinivas,

Pls add the highlighted code. your problem will be solved.

parameters: P_FILE type localfile obligatory.

<b>data: v_file type string.</b>

start-of-selection.

<b>v_file = p_file.</b>

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

<u>FILENAME = P_FILE</u> change this to <b>FILENAME = V_FILE</b>

FILETYPE = 'DAT'

TABLES

DATA_TAB = IT_ITAB.

Thanks

Eswar

Read only

Former Member
0 Likes
795

hi,

use this.

data : v_file type string.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = v_FILE

FILETYPE = 'DAT'

TABLES

DATA_TAB = IT_ITAB.