Application Development 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: 

BDC Code for Creating Order in SAP -Plant maintenance

Former Member
0 Kudos

We are working in sap module - plant maintenence.We need to create ZM01 or ZM08 order in SAP by reading data from an excel file. I know that BDC can be written to do it. Is anybody already had done it for their requirements and could provide me the bdc code. It will be very helpful.

2 REPLIES 2

Former Member
0 Kudos

Did u have a look at this BAPI

BAPI_ALM_ORDER_MAINTAIN

A

Former Member
0 Kudos

DATA : BEGIN OF T_BDCMSG OCCURS 0,

T_TCODE LIKE BDCMSGCOLL-TCODE,

T_DYNAME LIKE BDCMSGCOLL-DYNAME,

T_DYNUMB LIKE BDCMSGCOLL-DYNUMB,

T_MSGTYP LIKE BDCMSGCOLL-MSGTYP,

T_MSGSPRA LIKE BDCMSGCOLL-MSGSPRA,

T_MSGID LIKE BDCMSGCOLL-MSGID,

T_MSGNR LIKE BDCMSGCOLL-MSGNR,

T_MSGV1 LIKE BDCMSGCOLL-MSGV1,

T_MSGV2 LIKE BDCMSGCOLL-MSGV2,

T_MSGV3 LIKE BDCMSGCOLL-MSGV3,

T_MSGV4 LIKE BDCMSGCOLL-MSGV4,

T_ENV LIKE BDCMSGCOLL-ENV,

T_FLDNAME LIKE BDCMSGCOLL-FLDNAME.

DATA : END OF T_BDCMSG.

***************************************************

    • Variables Declarations

***************************************************

DATA: V_MODE TYPE CTU_PARAMS-DISMODE VALUE 'N',

V_MESSAGE(100) TYPE C.

PERFORM BDC_DYNPRO USING 'SAPLIQS0' '0100'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'RIWO00-QMNUM'

V_QMNUM.

PERFORM BDC_DYNPRO USING 'SAPLIQS0' '7200'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=COER'.

PERFORM BDC_DYNPRO USING 'SAPLIQS0' '8030'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'RIWO00-AUART'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=WEIT'.

PERFORM BDC_FIELD USING 'RIWO00-AUART'

V_ORDTYP.

  • record-AUART_018.

  • PERFORM bdc_dynpro USING 'SAPLIQS0' '8030'.

  • PERFORM bdc_field USING 'BDC_OKCODE'

  • '=WEIT'.

**End Comment

PERFORM BDC_DYNPRO USING 'SAPLCOIH' '3000'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=BU'.

CALL TRANSACTION 'IW22'

USING BDCDATA

MODE V_MODE

UPDATE 'S'

MESSAGES INTO T_BDCMSG.

******Moving formatted message to output message table

LOOP AT T_BDCMSG WHERE T_MSGTYP = 'E'.

IF T_BDCMSG-T_MSGNR = '298' OR T_BDCMSG-T_MSGNR = '055'.

MESSAGE = 'short description missing'.

ELSE.

CALL FUNCTION 'FORMAT_MESSAGE'

EXPORTING

ID = T_BDCMSG-T_MSGID

LANG = 'EN'

NO = T_BDCMSG-T_MSGNR

V1 = T_BDCMSG-T_MSGV1

V2 = T_BDCMSG-T_MSGV2

V3 = T_BDCMSG-T_MSGV3

V4 = T_BDCMSG-T_MSGV4

IMPORTING

MSG = V_MESSAGE

EXCEPTIONS

NOT_FOUND = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

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

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

ENDIF.

IF SY-TABIX EQ 1.

MESSAGE = V_MESSAGE.

ELSE.

CONCATENATE MESSAGE ',' V_MESSAGE INTO MESSAGE.

ENDIF.

ENDIF.

ENDLOOP.

----


  • 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