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

J1id bdc- error

Former Member
0 Likes
679

Hi all,

i'm doing BDC for J1ID, i'm not able to process . error is coming has

J_1IGRXREF field lenght is loner then screen field. i've increased the lenght but still getting erro.

REPORT ZSPK_BDC

*REPORT ZEXCISE_PROG

NO STANDARD PAGE HEADING LINE-SIZE 255.

DATA: BEGIN OF ITAB OCCURS 0,

MATNR(20),

WERKS(5),

J_1ICHID(12),

J_1ICAPIND(40),

J_1IGRXREF(60),

J_1IDECFLAG(2),

J_1IDECDATE(10),

END OF ITAB.

DATA: BEGIN OF BDCDATA OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA: END OF BDCDATA.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETERS: P_GROUP(12) OBLIGATORY,

KEEP AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK B1.

START-OF-SELECTION.

PERFORM FETCH_DATA.

IF NOT ITAB[] IS INITIAL.

PERFORM INSERT_DATA.

ENDIF.

END-OF-SELECTION.

&----


*& Form FETCH_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_DATA .

DATA : I_FILE_TABLE TYPE TABLE OF FILE_TABLE,

L_FILETABLE TYPE FILE_TABLE,

L_RC TYPE I,

L_P_DEF_FILE TYPE STRING,

L_P_FILE TYPE STRING,

L_USR_ACT TYPE I.

L_P_DEF_FILE = 'C:\'.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

EXPORTING

  • WINDOW_TITLE =

  • DEFAULT_EXTENSION =

  • DEFAULT_FILENAME =

  • FILE_FILTER =

  • WITH_ENCODING =

INITIAL_DIRECTORY = L_P_DEF_FILE

  • MULTISELECTION =

CHANGING

FILE_TABLE = I_FILE_TABLE

RC = L_RC

USER_ACTION = L_USR_ACT

  • FILE_ENCODING =

EXCEPTIONS

FILE_OPEN_DIALOG_FAILED = 1

CNTL_ERROR = 2

ERROR_NO_GUI = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5 .

IF SY-SUBRC = 0

AND L_USR_ACT <>

CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.

LOOP AT I_FILE_TABLE INTO L_FILETABLE.

L_P_FILE = L_FILETABLE.

EXIT.

ENDLOOP.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = L_P_FILE

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = 'ibm'

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

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

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

ENDIF.

ENDIF.

ENDFORM. " FETCH_DATA

&----


*& Form INSERT_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM INSERT_DATA .

PERFORM OPEN_GROUP.

LOOP AT ITAB.

PERFORM BDC_DYNPRO USING 'SAPMJ1ID' '0200'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'RB1'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=EX'.

PERFORM BDC_FIELD USING 'RB11'

''.

PERFORM BDC_FIELD USING 'RB1'

'X'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=NEWL'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-J_1IDECDATE(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'J_1IMTCHID-MATNR(01)'

ITAB-MATNR.

PERFORM BDC_FIELD USING 'J_1IMTCHID-WERKS(01)'

ITAB-WERKS.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1ICHID(01)'

ITAB-J_1ICHID.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1ISUBIND(01)'

'X'.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1ICAPIND(01)'

ITAB-J_1ICAPIND.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1IGRXREF(01)'

ITAB-J_1IGRXREF.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1IDECFLAG(01)'

ITAB-J_1IDECFLAG.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1IDECDATE(01)'

ITAB-J_1IDECDATE.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=SAVE'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(02)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=BACK'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(02)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=BACK'.

PERFORM BDC_DYNPRO USING 'SAPMJ1ID' '0200'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/EEXIT'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EXCISE'.

ENDLOOP.

PERFORM BDC_TRANSACTION USING 'J1ID'.

PERFORM CLOSE_GROUP.

ENDFORM. " INSERT_DATA

&----


*& Form OPEN_GROUP

&----


  • text

----


FORM OPEN_GROUP.

SKIP.

WRITE: /(20) 'Create group'(I01), P_GROUP.

SKIP.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = P_GROUP

USER = SY-UNAME

KEEP = KEEP.

  • WRITE: /(30) 'BDC_OPEN_GROUP'(I02),

  • (12) 'returncode:'(I05),

  • SY-SUBRC.

ENDFORM. "OPEN_GROUP

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDFORM. "BDC_FIELD

&----


*& Form BDC_TRANSACTION

&----


  • Start new transaction *

----


  • -->tcode transaction code *

----


FORM BDC_TRANSACTION USING TCODE.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = TCODE

TABLES

DYNPROTAB = BDCDATA.

  • REFRESH BDCDATA.

*

  • WRITE: /(25) 'BDC_INSERT'(I03),

  • TCODE,

  • (12) 'returncode:'(I05),

  • SY-SUBRC.

ENDFORM. "BDC_TRANSACTION

&----


*& Form CLOSE_GROUP

&----


  • end batchinput session *

----


FORM CLOSE_GROUP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

  • WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),

  • (12) 'returncode:'(I05),

  • SY-SUBRC.

SKIP 1.

endform.

pls help me

regards

Suprith

Hi all,

i'm doing BDC for J1ID, i'm not able to process . error is coming has

J_1IGRXREF field lenght is loner then screen field. i've increased the lenght but still getting erro.

REPORT ZSPK_BDC

*REPORT ZEXCISE_PROG

NO STANDARD PAGE HEADING LINE-SIZE 255.

DATA: BEGIN OF ITAB OCCURS 0,

MATNR(20),

WERKS(5),

J_1ICHID(12),

J_1ICAPIND(40),

J_1IGRXREF(60),

J_1IDECFLAG(2),

J_1IDECDATE(10),

END OF ITAB.

DATA: BEGIN OF BDCDATA OCCURS 0.

INCLUDE STRUCTURE BDCDATA.

DATA: END OF BDCDATA.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETERS: P_GROUP(12) OBLIGATORY,

KEEP AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK B1.

START-OF-SELECTION.

PERFORM FETCH_DATA.

IF NOT ITAB[] IS INITIAL.

PERFORM INSERT_DATA.

ENDIF.

END-OF-SELECTION.

&----


*& Form FETCH_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_DATA .

DATA : I_FILE_TABLE TYPE TABLE OF FILE_TABLE,

L_FILETABLE TYPE FILE_TABLE,

L_RC TYPE I,

L_P_DEF_FILE TYPE STRING,

L_P_FILE TYPE STRING,

L_USR_ACT TYPE I.

L_P_DEF_FILE = 'C:\'.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

EXPORTING

  • WINDOW_TITLE =

  • DEFAULT_EXTENSION =

  • DEFAULT_FILENAME =

  • FILE_FILTER =

  • WITH_ENCODING =

INITIAL_DIRECTORY = L_P_DEF_FILE

  • MULTISELECTION =

CHANGING

FILE_TABLE = I_FILE_TABLE

RC = L_RC

USER_ACTION = L_USR_ACT

  • FILE_ENCODING =

EXCEPTIONS

FILE_OPEN_DIALOG_FAILED = 1

CNTL_ERROR = 2

ERROR_NO_GUI = 3

NOT_SUPPORTED_BY_GUI = 4

OTHERS = 5 .

IF SY-SUBRC = 0

AND L_USR_ACT <>

CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.

LOOP AT I_FILE_TABLE INTO L_FILETABLE.

L_P_FILE = L_FILETABLE.

EXIT.

ENDLOOP.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = L_P_FILE

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = 'ibm'

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

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

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

ENDIF.

ENDIF.

ENDFORM. " FETCH_DATA

&----


*& Form INSERT_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM INSERT_DATA .

PERFORM OPEN_GROUP.

LOOP AT ITAB.

PERFORM BDC_DYNPRO USING 'SAPMJ1ID' '0200'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'RB1'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=EX'.

PERFORM BDC_FIELD USING 'RB11'

''.

PERFORM BDC_FIELD USING 'RB1'

'X'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=NEWL'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-J_1IDECDATE(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'J_1IMTCHID-MATNR(01)'

ITAB-MATNR.

PERFORM BDC_FIELD USING 'J_1IMTCHID-WERKS(01)'

ITAB-WERKS.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1ICHID(01)'

ITAB-J_1ICHID.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1ISUBIND(01)'

'X'.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1ICAPIND(01)'

ITAB-J_1ICAPIND.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1IGRXREF(01)'

ITAB-J_1IGRXREF.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1IDECFLAG(01)'

ITAB-J_1IDECFLAG.

PERFORM BDC_FIELD USING 'J_1IMTCHID-J_1IDECDATE(01)'

ITAB-J_1IDECDATE.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=SAVE'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(02)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=BACK'.

PERFORM BDC_DYNPRO USING 'SAPLJ1I5' '0020'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'J_1IMTCHID-MATNR(02)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=BACK'.

PERFORM BDC_DYNPRO USING 'SAPMJ1ID' '0200'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/EEXIT'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'EXCISE'.

ENDLOOP.

PERFORM BDC_TRANSACTION USING 'J1ID'.

PERFORM CLOSE_GROUP.

ENDFORM. " INSERT_DATA

&----


*& Form OPEN_GROUP

&----


  • text

----


FORM OPEN_GROUP.

SKIP.

WRITE: /(20) 'Create group'(I01), P_GROUP.

SKIP.

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = P_GROUP

USER = SY-UNAME

KEEP = KEEP.

  • WRITE: /(30) 'BDC_OPEN_GROUP'(I02),

  • (12) 'returncode:'(I05),

  • SY-SUBRC.

ENDFORM. "OPEN_GROUP

----


  • Start new screen *

----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM BDC_FIELD USING FNAM FVAL.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDFORM. "BDC_FIELD

&----


*& Form BDC_TRANSACTION

&----


  • Start new transaction *

----


  • -->tcode transaction code *

----


FORM BDC_TRANSACTION USING TCODE.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = TCODE

TABLES

DYNPROTAB = BDCDATA.

  • REFRESH BDCDATA.

*

  • WRITE: /(25) 'BDC_INSERT'(I03),

  • TCODE,

  • (12) 'returncode:'(I05),

  • SY-SUBRC.

ENDFORM. "BDC_TRANSACTION

&----


*& Form CLOSE_GROUP

&----


  • end batchinput session *

----


FORM CLOSE_GROUP.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

  • WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),

  • (12) 'returncode:'(I05),

  • SY-SUBRC.

SKIP 1.

endform.

pls help me

regards

Suprith

3 REPLIES 3
Read only

Former Member
0 Likes
632

Hi

This error means that the internal table field length is more than that of the screen field length. So, you have to decrease it,not increase. The length is only 1 in the J_1IMTCHID table for J_1IGRXREF and you are giving 60 in the internal table...

Regards,

Vishwa.

Read only

0 Likes
632

Hi if i keep length as 1. then it wil take first letter. so i'm using 60.

Read only

0 Likes
632

But in the standard table, the length is only 1. Check the table:J_1IMTCHID. In the table,it is only a single digit value.

Number of Goods Receipts per Excise Invoice is the field name. So, it is only single digit not more than that.

Check the order of the fields in the internal table and the the flat file are same. And debug the program to see if the correct values are coming.

Vishwa.