‎2007 Apr 19 9:05 AM
HI,
I DEVELOPED BDC PROGRAM, WEN I RUN THE SESION VALUES ARE NOT UPLOADED IN TRANSACTION AC03.IT IS SAYING NO VALUES FOR SCREEN SAPLBASO 0300. I AM ATTACHING THE CODE ALSO.PLEASE HELP ME IN THIS REGARD.
REPORT Z_DISPLAY_SERVICE2.
PARAMETER: INFILE TYPE STRING.
DATA : BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: OPEN_FLG(1) VALUE '0',RD_FLG(1) VALUE '0'.
DATA: SESSION LIKE APQI-GROUPID VALUE 'asserror'.
TABLES: ASMD,ASMDT,BDCMSGCOLL.
DATA: BEGIN OF ITAB OCCURS 0,
ASNUM LIKE ASMD-ASNUM,
ASTYP LIKE ASMD-ASTYP,
MEINS LIKE ASMD-MEINS,
MATKL LIKE ASMD-MATKL,
BKLAS LIKE ASMD-BKLAS,
END OF ITAB.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = infile
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'x'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
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.
WRITE:/ SY-SUBRC, 'ERROR IN UPLOAD'.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT ITAB.
RD_FLG = '1'.
PERFORM FILL_BDCTAB.
CALL TRANSACTION 'AC03' USING BDCTAB MODE 'N'.
IF SY-SUBRC <> 0.
IF OPEN_FLG = '0' .
WRITE 😕 SY-SUBRC , 'ERROR...Session created named ASSERROR'.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
DEST = FILLER8
GROUP = SESSION
HOLDDATE = FILLER8
KEEP = FILLER1
USER = SY-UNAME
RECORD = FILLER1
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.
OPEN_FLG = '1'.
ELSE.
WRITE 😕 SY-SUBRC ,'Error in BDC OPEN GROUP'.
ENDIF.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'AC03'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
TABLES
DYNPROTAB = BDCTAB
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7.
ENDIF.
ENDLOOP.
IF OPEN_FLG = '1'.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
WRITE 😕 SY-SUBRC ,' Error in BDC CLOSE GROUP '.
ENDIF.
ENDIF.
IF ( OPEN_FLG = '0' AND RD_FLG = '1' ) .
WRITE:/ 'Successfully uploaded....'.
ENDIF.
FORM FILL_BDCTAB.
REFRESH BDCTAB.
PERFORM POPULATE_BDCTAB USING:
'X' 'SAPLBASO' '0300'.
PERFORM POPULATE_BDCTAB USING:
' ' 'ASMD-ASNUM' ITAB-ASNUM,
' ' 'ASMD-MEINS' ITAB-MEINS,
' ' 'ASMD-MATKL' ITAB-MATKL,
' ' 'ASMD-BKLAS' ITAB-BKLAS,
' ' 'BDC_OKCODE' '/11'.
ENDFORM.
FORM POPULATE_BDCTAB USING VAR1 VAR2 VAR3.
CLEAR BDCTAB.
IF VAR1 = 'X'.
BDCTAB-DYNBEGIN = 'X'.
BDCTAB-PROGRAM = VAR2.
BDCTAB-DYNPRO = VAR3.
ELSE.
append bdctab.
endform.
form populate_bdcfld using var4 var 5.
clear bdctab.
BDCTAB-FNAM = VAR2.
BDCTAB-FVAL = VAR3.
ENDIF.
APPEND BDCTAB.
ENDFORM
THANKS IN ADVANCE
SIVA
‎2007 Apr 19 9:12 AM
‎2007 Apr 19 9:16 AM
HI
After the APPEND BDCDATA then write the CLEAR BDCDATA
Regards
Sudheer