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

VK15 BDC issues

Former Member
0 Likes
871

Hi,

In VK15, I am uploading Condition record through BDC,

where Its only updating the 14 line items,If its excedding more than 14 lines I am getting error...

How to upload all excel data at a time ..

Can anybody suggest me ...with simple example coding

Thanks

Kumar

4 REPLIES 4
Read only

Former Member
0 Likes
699

Hi,

Please use every 14 Entries below code:

perform bdc_field using 'BDC_OKCODE'

'=NEWP'.

Regards

jana

Read only

0 Likes
699

Hi

I thing ur recording shopuld be wrong..u chk ur recording.

What function module u r using getting the files.

u use: F4_FILENAME.

And upload u fiollow : gui_upload.

Read only

0 Likes
699

Can u give me the simple coding..

I tried but its not working.

Thanks

kumar

Read only

0 Likes
699

hi kumar,

try the below sample code for data upload ,with your transaction.

TYPES: BEGIN OF T_CDATA,

ATKLA LIKE CABN-ATKLA,

ATNAM LIKE CABN-ATNAM,

ATFOR LIKE CABN-ATFOR,

END OF T_CDATA.

TYPES: BEGIN OF T_CCHAR,

ATWRT(30),

ATWTB(30),

END OF T_CCHAR.

DATA: IT_CDATA TYPE STANDARD TABLE OF T_CDATA,

IT_CCHAR TYPE STANDARD TABLE OF T_CCHAR,

IT_BDC TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE.

DATA: WA_CDATA TYPE T_CDATA,

WA_BDC TYPE BDCDATA,

WA_CCHAR TYPE T_CCHAR.

PARAMETERS: P_ATKLA LIKE CABN-ATKLA OBLIGATORY,

P_FNAME LIKE RLGRAP-FILENAME OBLIGATORY.

CONSTANTS: C_TCODE LIKE TSTC-TCODE VALUE 'CT04'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.

PERFORM f_get_f4_help USING p_fname.

START-OF-SELECTION.

SELECT ATKLA ATNAM ATFOR INTO TABLE IT_CDATA

FROM CABN

WHERE ATKLA = P_ATKLA.

IF NOT IT_CDATA[] IS INITIAL.

PERFORM UPLOAD_DATA.

  • PERFORM BDC_OPEN_GROUP.

LOOP AT IT_CDATA INTO WA_CDATA.

REFRESH: IT_BDC.

PERFORM BDC_UPLOAD_DATA.

PERFORM BDC_CALL_TRANS.

  • PERFORM BDC_UPLOAD.

CLEAR WA_CDATA.

ENDLOOP.

  • PERFORM BDC_CLOSE_GROUP.

ENDIF.

&----


*& Form UPLOAD_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM UPLOAD_DATA .

  • UPLOAD DATA USING GUI_UPLOAD

DATA: l_v_filename TYPE string.

CONSTANTS: l_c_asc TYPE filetype VALUE 'ASC',

l_c_x TYPE char1 VALUE 'X'.

l_v_filename = p_fname.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = l_v_filename

FILETYPE = l_c_asc

HAS_FIELD_SEPARATOR = l_c_x

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = ','

  • CHECK_BOM = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = IT_CCHAR

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

ENDFORM. " UPLOAD_DATA

&----


*& Form BDC_OPEN_GROUP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BDC_OPEN_GROUP .

  • OPEN GROUP

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = 'ZCHARU'

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

ENDFORM. " BDC_OPEN_GROUP

&----


*& Form BDC_UPLOAD_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BDC_UPLOAD_DATA .

CLEAR: WA_CCHAR.

PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.

PERFORM BDC_FIELD USING 'RCTAV-ATNAM' WA_CDATA-ATNAM.

perform bdc_field using 'BDC_OKCODE' '=ANDE'.

PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.

perform bdc_field using 'BDC_OKCODE' '=WERT'.

LOOP AT IT_CCHAR INTO WA_CCHAR.

PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'CAWN-ATWRT(01)'.

perform bdc_field using 'BDC_OKCODE' '=INSE'.

IF WA_CDATA-ATFOR = 'CHAR'.

PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'CAWN-ATWRT(01)'.

PERFORM BDC_FIELD USING 'CAWN-ATWRT(01)' WA_CCHAR-ATWRT.

PERFORM BDC_FIELD USING 'CAWN-ATWTB(01)' WA_CCHAR-ATWTB.

perform bdc_field using 'BDC_OKCODE' '=/00'.

ELSE.

PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.

PERFORM BDC_FIELD USING 'BDC_CURSOR' 'CAWN-ATWRT(01)'.

PERFORM BDC_FIELD USING 'CAWN-ATWRT(01)' WA_CCHAR-ATWRT.

perform bdc_field using 'BDC_OKCODE' '=/00'.

ENDIF.

ENDLOOP.

PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.

perform bdc_field using 'BDC_OKCODE' '=SICH'.

PERFORM bdc_dynpro USING 'SAPLCTMV' '2100'.

perform bdc_field using 'BDC_OKCODE' '=BACK'.

ENDFORM. " BDC_UPLOAD_DATA

&----


*& Form BDC_CLOSE_GROUP

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BDC_CLOSE_GROUP .

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.

ENDFORM. " BDC_CLOSE_GROUP

&----


*& Form BDC_FIRST_SCREEN

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form bdc_dynpro using program dynpro.

CLEAR IT_BDC.

IT_BDC-program = program.

IT_BDC-dynpro = dynpro.

IT_BDC-dynbegin = 'X'.

append IT_BDC.

ENDFORM. " bdc_dynpro

----


  • Insert field *

----


form bdc_field using fnam fval.

clear IT_BDC.

IT_BDC-fnam = fnam.

IT_BDC-fval = fval.

append IT_BDC.

endform.

&----


*& Form BDC_UPLOAD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BDC_UPLOAD .

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = C_TCODE

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

DYNPROTAB = IT_BDC

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

ENDFORM. " BDC_UPLOAD

&----


*& Form f_get_f4_help

&----


  • text

----


  • -->P_P_FILE text

----


FORM f_get_f4_help USING P_P_FILE.

*F4 help for file path

CALL FUNCTION 'F4_FILENAME'

IMPORTING

file_name = p_p_file.

ENDFORM. " f_get_f4_help

&----


*& Form BDC_CALL_TRANS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BDC_CALL_TRANS .

DATA: IT_BDCMSGCOLL TYPE STANDARD TABLE OF BDCMSGCOLL.

CLEAR: IT_BDC.

CALL TRANSACTION 'CT04' USING IT_BDC

MODE 'A'

MESSAGES INTO IT_BDCMSGCOLL.

IF SY-SUBRC EQ 0.

ENDIF.

ENDFORM. " BDC_CALL_TRANS

hope it helps.try this and if not let us knw where exactly u face the problem.

Regards,

Leena.