‎2008 Jun 20 5:33 PM
Hi all
I am using function module gui_upload to upload my data from file.but after writing the bdc program and during processing again i have to enter the values in screens but since i have uploaded data from file the data should be automatically read from the specified file.
e.g suppose i have given kunnr = 100 , name1 = sharma travels.
on processing i have to again enter the values but it should be automatically avilable in kunnr and name1.
instead of 100 i am getting itab-kunnr on screen.
please help me
‎2008 Jun 20 5:36 PM
Hi Singh,
Your code must be faulty.
How are you populating your BDC Table?
Show us your code?
Regards,
Ravi
‎2008 Jun 20 5:38 PM
&----
*& 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.
‎2008 Jun 21 9:25 AM
BDCTAB-DYNPRO = '7100'.
BDCTAB-DYNBEGIN = 'X'.
BDCTAB-FNAM = 'RF02D-KTOKD'.
BDCTAB-FVAL = 'ITAB-KTOKD'.
APPEND BDCTAB.
check this code you have written.
remove the single cotes for ITAB-KTOKD
BDCTAB-DYNPRO = '7100'.
BDCTAB-DYNBEGIN = 'X'.
BDCTAB-FNAM = 'RF02D-KTOKD'.
BDCTAB-FVAL = ITAB-KTOKD.
APPEND BDCTAB.
apply same to rest of the code
execute and check
if any error please tell,
Regards,
Ani
‎2008 Jun 21 11:38 AM
hi check this ...
the code had some problem....means..
you r giving the data as 'itab-field' instead of itab-field..
any thing in the single cotes must taken as the char string value...
BDCTAB-PROGRAM = 'SAPMF02D'.
BDCTAB-DYNPRO = '100'.
BDCTAB-DYNBEGIN = 'X'.
BDCTAB-FNAM = 'RF02D-KUNNR'.
BDCTAB-FVAL = ITAB-KUNNR.
APPEND BDCTAB.
delete the cotes at this specified line.