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

REGARDING call transaction

Former Member
0 Likes
815

hi,,

i am getting the error when executing the entry (plant field) already existing.

this is my code.

where is the probleam hellp me??

report ZTEST6

no standard page heading line-size 255.

include bdcrecx1.

DATA: BEGIN OF T_OMD0 OCCURS 0,

WERKS LIKE V_T024D-WERKS,

DISPO LIKE V_T024D-DISPO,

DSNAM LIKE V_T024D-DSNAM,

DSTEL LIKE V_T024D-DSTEL,

  • MEMPF LIKE V_T024D-MEMPF,

  • GSBER LIKE V_T024D-GSBER,

  • PRCTR LIKE V_T024D-PRCTR,

  • USRTYP LIKE V_T024D-USRTYP,

  • USRKEY LIKE V_T024D-USRKEY,

END OF T_OMD0.

*declaration for error handling

DATA BEGIN OF T_MESSTAB OCCURS 10.

INCLUDE STRUCTURE BDCMSGCOLL.

DATA END OF T_MESSTAB.

*messages

DATA W_MESSAGE LIKE MESSAGE.

*constants

CONSTANTS:K_MODE VALUE 'A',

K_S TYPE C VALUE 'S'.

*selection screen

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

PARAMETERS : P_FLNAME TYPE RLGRAP-FILENAME DEFAULT 'C:\DEBA.TXT'.

*PARAMETERS : P_FLNAME(11) TYPE C DEFAULT 'C:\DEBA.TXT'.

SELECTION-SCREEN END OF BLOCK B1.

*F4 selection

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FLNAME.

PERFORM F4_P_FLNAME.

*start-of-selection.

START-OF-SELECTION.

*upload data from flat file.

PERFORM SUB_UPLOAD_DATA.

*perform open_group.

LOOP AT T_OMD0.

perform bdc_dynpro using 'SAPL0PP3' '0060'.

perform bdc_field using 'BDC_CURSOR'

'VIM_POSITION_INFO'.

perform bdc_field using 'BDC_OKCODE'

'=NEWL'.

perform bdc_dynpro using 'SAPL0PP3' '0061'.

perform bdc_field using 'BDC_CURSOR'

'V_T024D-DSTEL'.

perform bdc_field using 'BDC_OKCODE'

'=SAVE'.

perform bdc_field using 'V_T024D-WERKS'

T_OMD0-WERKS.

perform bdc_field using 'V_T024D-DISPO'

T_OMD0-DISPO.

perform bdc_field using 'V_T024D-DSNAM'

T_OMD0-DSNAM.

perform bdc_field using 'V_T024D-DSTEL'

T_OMD0-DSTEL.

perform bdc_dynpro using 'SAPL0PP3' '0061'.

perform bdc_field using 'BDC_OKCODE'

'/EABR'.

perform bdc_field using 'BDC_CURSOR'

'V_T024D-WERKS'.

perform bdc_dynpro using 'SAPLSPO1' '0100'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

perform bdc_dynpro using 'SAPL0PP3' '0060'.

perform bdc_field using 'BDC_CURSOR'

'VIM_POSITION_INFO'.

perform bdc_field using 'BDC_OKCODE'

'=ENDE'.

*perform bdc_transaction using 'OMD0'.

CALL TRANSACTION 'OMD0' USING BDCDATA MODE K_MODE UPDATE K_S

MESSAGES INTO T_MESSTAB.

IF SY-SUBRC NE 0.

*capturing error

LOOP AT T_MESSTAB.

SY-MSGNO = T_MESSTAB-MSGNR.

CALL FUNCTION 'WRITE_MESSAGE'

EXPORTING

MSGID = T_MESSTAB-MSGID

MSGNO = SY-MSGNO

MSGTY = T_MESSTAB-MSGTYP

MSGV1 = T_MESSTAB-MSGV1

MSGV2 = T_MESSTAB-MSGV2

MSGV3 = T_MESSTAB-MSGV3

MSGV4 = T_MESSTAB-MSGV4

MSGV5 = T_MESSTAB-MSGV4

IMPORTING

  • error =

MESSG = W_MESSAGE

  • msgln =

EXCEPTIONS

OTHERS = 1.

WRITE: / W_MESSAGE.

  • message id messtab-msgid type 'I' number messtab-msgnr.

ENDLOOP.

ENDIF.

  • REFRESH T_OMD0.

ENDLOOP.

FORM SUB_UPLOAD_DATA.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\DEBA.TXT'

  • FILENAME = P_FLNAME

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = T_OMD0

.

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. " SUB_UPLOAD_DATA

FORM F4_P_FLNAME.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

  • FIELD_NAME = ' '

IMPORTING

FILE_NAME = P_FLNAME

.

ENDFORM.

hi,,

i am getting the error when executing the entry (plant field) already existing.

this is my code.

where is the probleam hellp me??

report ZTEST6

no standard page heading line-size 255.

include bdcrecx1.

DATA: BEGIN OF T_OMD0 OCCURS 0,

WERKS LIKE V_T024D-WERKS,

DISPO LIKE V_T024D-DISPO,

DSNAM LIKE V_T024D-DSNAM,

DSTEL LIKE V_T024D-DSTEL,

  • MEMPF LIKE V_T024D-MEMPF,

  • GSBER LIKE V_T024D-GSBER,

  • PRCTR LIKE V_T024D-PRCTR,

  • USRTYP LIKE V_T024D-USRTYP,

  • USRKEY LIKE V_T024D-USRKEY,

END OF T_OMD0.

*declaration for error handling

DATA BEGIN OF T_MESSTAB OCCURS 10.

INCLUDE STRUCTURE BDCMSGCOLL.

DATA END OF T_MESSTAB.

*messages

DATA W_MESSAGE LIKE MESSAGE.

*constants

CONSTANTS:K_MODE VALUE 'A',

K_S TYPE C VALUE 'S'.

*selection screen

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

PARAMETERS : P_FLNAME TYPE RLGRAP-FILENAME DEFAULT 'C:\DEBA.TXT'.

*PARAMETERS : P_FLNAME(11) TYPE C DEFAULT 'C:\DEBA.TXT'.

SELECTION-SCREEN END OF BLOCK B1.

*F4 selection

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FLNAME.

PERFORM F4_P_FLNAME.

*start-of-selection.

START-OF-SELECTION.

*upload data from flat file.

PERFORM SUB_UPLOAD_DATA.

*perform open_group.

LOOP AT T_OMD0.

perform bdc_dynpro using 'SAPL0PP3' '0060'.

perform bdc_field using 'BDC_CURSOR'

'VIM_POSITION_INFO'.

perform bdc_field using 'BDC_OKCODE'

'=NEWL'.

perform bdc_dynpro using 'SAPL0PP3' '0061'.

perform bdc_field using 'BDC_CURSOR'

'V_T024D-DSTEL'.

perform bdc_field using 'BDC_OKCODE'

'=SAVE'.

perform bdc_field using 'V_T024D-WERKS'

T_OMD0-WERKS.

perform bdc_field using 'V_T024D-DISPO'

T_OMD0-DISPO.

perform bdc_field using 'V_T024D-DSNAM'

T_OMD0-DSNAM.

perform bdc_field using 'V_T024D-DSTEL'

T_OMD0-DSTEL.

perform bdc_dynpro using 'SAPL0PP3' '0061'.

perform bdc_field using 'BDC_OKCODE'

'/EABR'.

perform bdc_field using 'BDC_CURSOR'

'V_T024D-WERKS'.

perform bdc_dynpro using 'SAPLSPO1' '0100'.

perform bdc_field using 'BDC_OKCODE'

'=YES'.

perform bdc_dynpro using 'SAPL0PP3' '0060'.

perform bdc_field using 'BDC_CURSOR'

'VIM_POSITION_INFO'.

perform bdc_field using 'BDC_OKCODE'

'=ENDE'.

*perform bdc_transaction using 'OMD0'.

CALL TRANSACTION 'OMD0' USING BDCDATA MODE K_MODE UPDATE K_S

MESSAGES INTO T_MESSTAB.

IF SY-SUBRC NE 0.

*capturing error

LOOP AT T_MESSTAB.

SY-MSGNO = T_MESSTAB-MSGNR.

CALL FUNCTION 'WRITE_MESSAGE'

EXPORTING

MSGID = T_MESSTAB-MSGID

MSGNO = SY-MSGNO

MSGTY = T_MESSTAB-MSGTYP

MSGV1 = T_MESSTAB-MSGV1

MSGV2 = T_MESSTAB-MSGV2

MSGV3 = T_MESSTAB-MSGV3

MSGV4 = T_MESSTAB-MSGV4

MSGV5 = T_MESSTAB-MSGV4

IMPORTING

  • error =

MESSG = W_MESSAGE

  • msgln =

EXCEPTIONS

OTHERS = 1.

WRITE: / W_MESSAGE.

  • message id messtab-msgid type 'I' number messtab-msgnr.

ENDLOOP.

ENDIF.

  • REFRESH T_OMD0.

ENDLOOP.

FORM SUB_UPLOAD_DATA.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\DEBA.TXT'

  • FILENAME = P_FLNAME

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = T_OMD0

.

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. " SUB_UPLOAD_DATA

FORM F4_P_FLNAME.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

  • FIELD_NAME = ' '

IMPORTING

FILE_NAME = P_FLNAME

.

ENDFORM.

5 REPLIES 5
Read only

Former Member
0 Likes
775

Hi navketan nayar,

you are using T-Code OMD0.

it's for table maintance generator.. for MRP controller..

So it's not suggestable to write BDC for it. because it will create the Customization request for creating/changing entries.

Standard way is to create it in Development server and transport the customizing request to Quality and production server.

About Error... Your flat file may contain the entries which are alread exist in the view V_T024D.

Check out.. and remove the entries which are already there in flat file..

Hope it will solve your problem..

Thanks & Regards

ilesh 24x7

ilesh Nandaniya

Read only

0 Likes
775

thanks ur reply..

in my flat file i am giving werks as 0001.

the error is the entry 0001 does not exit ...

why? because i am going to update this value..

please tell me ??

Read only

0 Likes
775

This message was moderated.

Read only

0 Likes
775

Hi Navketan Nayar,

I would like to suggest you to use T-code: OMD0

Create/change entries there manually and while saving it will generate one request...

Now transport this request to Quality and production server.

Hope it will solve your problem..

Thanks & Regards

ilesh 24x7

ilesh Nandaniya

Read only

0 Likes
775

u r right..

but the data is not updating ..

if the file data update then only i will transport it to quality server

i am very sorry...but i want some help