‎2008 Jun 20 7:41 PM
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.
‎2008 Jun 20 7:44 PM
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
‎2008 Jun 20 7:55 PM
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.
‎2008 Jun 20 7:48 PM
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
‎2008 Jun 20 7:56 PM
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.
‎2008 Jun 20 7:58 PM
HI..
I REMOVED THE QUOTES BUT NOW 'KUNNR' IS COMING ON SCREEN
‎2008 Jun 20 8:02 PM
hi,
So i understand your problem is solved now ...Please close the thread marking helpful answers ...
Regards,
Santosh
‎2008 Jun 20 8:04 PM
no yaar problem is not solved..instead of getting 100 i m getting field name kunnr on screen not its value
‎2008 Jun 20 8:39 PM
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.