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
939

IF DATA IS UPLOADED USING FILE AGAIN I HAVE TO ENTER DATA INTO SCREEN OR IT IS UPLOADED FROM FILE.

EG. MY FILE HAS 100 HAS KUNNR WHEN I AM PROCESSING MY SESSION IN BDC THE VALUE SHOULD BE TAKEN FROM FILE AND IN SCREEN VALUE SHOULD BE 100 BUT ON SCREEN VALUE IS ITAB-KUNNR.

PLEASE HELP ME.

8 REPLIES 8
Read only

Former Member
0 Likes
893

Once the data is in your internal table, you do not need to enter on the screen.

I think you are doing a mistake in your BDC Table population.

perform BDC_DYNPRO '<Field name>' ITAB_KUNNR. "NOte that your ITAB-KUNNR should NOT be in QUOTES.

Regards,

Ravi

Read only

0 Likes
893

HI PLEASE THIS MY CODE...TELL ME WHERE I M WRONG..

I REMOVED QUOTES BUT KUNNR IN COMING ON SCREEN FIELD.

&----


*& Report ZMANUCUST1

*&

&----


*&

*&

&----


REPORT ZMANUCUST1.

TABLES: KNA1,RF02D.

DATA: BEGIN OF ITAB OCCURS 0,

KUMMR LIKE rf02d-kunnr,

NAME1 LIKE KNA1-NAME1,

SORTL LIKE KNA1-SORTL,

STRAS LIKE KNA1-STRAS,

LAND1 LIKE KNA1-LAND1,

SPRAS LIKE KNA1-SPRAS,

KTOKD LIKE RF02D-KTOKD,

END OF ITAB.

DATA: BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\CUST2.TXT'

FILETYPE = 'ASC'

  • HAS_FIELD_SEPARATOR = ' '

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • CHECK_BOM = ' '

  • VIRUS_SCAN_PROFILE =

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = 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.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

  • CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = 'ZRECORD1'

  • HOLDDATE = FILLER8

KEEP = 'X'

USER = SY-UNAME

  • RECORD = FILLER1

  • PROG = SY-CPROG

  • IMPORTING

  • QID =

  • EXCEPTIONS

  • CLIENT_INVALID = 1

  • DESTINATION_INVALID = 2

  • GROUP_INVALID = 3

  • GROUP_IS_LOCKED = 4

  • HOLDDATE_INVALID = 5

  • INTERNAL_ERROR = 6

  • QUEUE_ERROR = 7

  • RUNNING = 8

  • SYSTEM_LOCK_ERROR = 9

  • USER_INVALID = 10

  • OTHERS = 11

.

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 ITAB.

PERFORM ASSIGN.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'XD01'

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

DYNPROTAB = BDCTAB

  • EXCEPTIONS

  • INTERNAL_ERROR = 1

  • NOT_OPEN = 2

  • QUEUE_ERROR = 3

  • TCODE_INVALID = 4

  • PRINTING_INVALID = 5

  • POSTING_INVALID = 6

  • OTHERS = 7

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

*REFRESH BDCTAB.

*CLEAR BDCTAB.

ENDLOOP.

CALL FUNCTION 'BDC_CLOSE_GROUP'

  • EXCEPTIONS

  • NOT_OPEN = 1

  • QUEUE_ERROR = 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.

FORM ASSIGN.

BDCTAB-PROGRAM = 'SAPMF02D'.

BDCTAB-DYNPRO = '100'.

BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'RF02D-KUNNR'.

BDCTAB-FVAL = 'ITAB-KUNNR'.

APPEND BDCTAB.

BDCTAB-FNAM = 'BDC_OKCODE'.

BDCTAB-FVAL = '00'.

APPEND BDCTAB.

*BDCTAB-PROGRAM = 'SAPMF02D'.

BDCTAB-DYNPRO = '7100'.

BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'RF02D-KTOKD'.

BDCTAB-FVAL = 'ITAB-KTOKD'.

APPEND BDCTAB.

BDCTAB-DYNPRO = '110'.

BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'KNA1-NAME1'.

BDCTAB-FVAL = 'ITAB-NAME1'.

APPEND BDCTAB.

BDCTAB-FNAM = 'BDC_OKCODE'.

BDCTAB-FVAL = '00'.

APPEND BDCTAB.

*BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'KNA1-SORTL'.

BDCTAB-FVAL = 'ITAB-SORTL'.

APPEND BDCTAB.

*BDCTAB-DYNPRO = '100'.

*BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'KNA1-STRAS'.

BDCTAB-FVAL = 'ITAB-STRAS'.

APPEND BDCTAB.

*BDCTAB-DYNPRO = '100'.

*BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'KNA1-LAND1'.

BDCTAB-FVAL = 'ITAB-LAND1'.

APPEND BDCTAB.

*BDCTAB-DYNPRO = '100'.

*BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'KNA1-SPRAS'.

BDCTAB-FVAL = 'ITAB-SPRAS'.

APPEND BDCTAB.

BDCTAB-DYNPRO = '120'.

BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'BDC_OKCODE'.

BDCTAB-FVAL = '00'.

APPEND BDCTAB.

BDCTAB-DYNPRO = '125'.

BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'BDC_OKCODE'.

BDCTAB-FVAL = '00'.

APPEND BDCTAB.

ENDFORM.

Read only

Former Member
0 Likes
893

hi,

Yes Ravi is right ...remove the screen fields and replace it with table fields i.e, use itab-kunnr instead of 'KNA1-KUNNR' field ...

Regards,

Santosh

Read only

Former Member
0 Likes
893

hi,

Remove quotes at all the place where the internal table values are being used...

BDCTAB-PROGRAM = 'SAPMF02D'.

BDCTAB-DYNPRO = '100'.

BDCTAB-DYNBEGIN = 'X'.

BDCTAB-FNAM = 'RF02D-KUNNR'.

BDCTAB-FVAL = ITAB-KUNNR.

APPEND BDCTAB.

Read only

0 Likes
893

HI..

I REMOVED THE QUOTES BUT NOW 'KUNNR' IS COMING ON SCREEN

Read only

Former Member
0 Likes
893

hi,

So i understand your problem is solved now ...Please close the thread marking helpful answers ...

Regards,

Santosh

Read only

0 Likes
893

no yaar problem is not solved..instead of getting 100 i m getting field name kunnr on screen not its value

Read only

0 Likes
893

Hi,

May be your first record in the flat file has the field headings , remove the headings and upload the file Or

Delete the first record from internal table and process BDC

READ TABLE ITAB INDEX 1.

TRANSLATE ITAB-KUNNR TO UPPER CASE.

IF ITAB-KUNNR = 'KUNNR'.

DELETE ITAB INDEX 1.

ENDIF.