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

InterFace Programming : Create Material.

Former Member
0 Likes
332

Hi Gurus,

I want to create one interface program for creating new material from External system like foxpro.

I don't have any knowledge about writing interface programs.

I anyone from u please tell me how to write this program.

thanks in advance.

Vinod.

1 REPLY 1
Read only

Former Member
0 Likes
301

Hi ,

See the sample code

*TO CREATE MATERIAL USING BAPI.

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

  • STRUCTURE DECLARATIONS *

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

TABLES: BAPIMATHEAD, "Headerdata

BAPI_MARA, "Clientdata

BAPI_MARAX, "Clientdatax

BAPI_MARC, "Plantdata

BAPI_MARCX, "Plantdatax

BAPI_MAKT, "Material description

BAPI_MBEW, "VALUATION DATA

BAPI_MBEWX,

BAPI_MARM,

BAPI_MARMX,

bapi_mean,

BAPIRET2. "Return messages

DATA:V_FILE TYPE STRING. "input data file

DATA:

BEGIN OF LSMW_MATERIAL_MASTER,

MATNR(018) TYPE C, "Material number

MTART(004) TYPE C, "Material type

MBRSH(001) TYPE C, "Industry sector

WERKS(004) TYPE C, "Plant

MAKTX(040) TYPE C, "Material description

DISMM(002) TYPE C, "Extra Field Added In the Program as itsrequired

MEINS(003) TYPE C, "Base unit of measure

MATKL(009) TYPE C, "Material group

SPART(002) TYPE C, "Division

LABOR(003) TYPE C, "Lab/office

PRDHA(018) TYPE C, "Product hierarchy

MSTAE(002) TYPE C, "X-plant matl status

MTPOS_MARA(004) TYPE C, "Gen item cat group

<b>BRGEW(017) TYPE C, "Gross weight

GEWEI(003) TYPE C, "Weight unit</b> NTGEW(017) TYPE C, "Net weight

GROES(032) TYPE C, "Size/Dimensions

MAGRV(004) TYPE C, "Matl grp pack matls

BISMT(018) TYPE C, "Old material number

WRKST(048) TYPE C, "Basic material

PROFL(003) TYPE C, "DG indicator profile

KZUMW(001) TYPE C, "Environmentally rlvt

BSTME(003) TYPE C, "Order unit

VABME(001) TYPE C,

EKGRP(003) TYPE C, "Purchasing group

XCHPF(001) TYPE C, "Batch management

EKWSL(004) TYPE C, "Purchasing key value

WEBAZ(003) TYPE C, "GR processing time

MFRPN(040) TYPE C, "Manufacturer part number

MFRNR(010) TYPE C, "Manufacturer number

VPRSV(001) TYPE C, "Price control indicator

STPRS(015) TYPE C, "Standard price

BWPRH(014) TYPE C, "Commercial price1

BKLAS(004) TYPE C, "Valuation class

bwkey(004) type c,

END OF LSMW_MATERIAL_MASTER.

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

  • INTERNAL TABLE DECLARATIONS *

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

*to store the input data

DATA:

BEGIN OF it_matmaster OCCURS 0.

INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.

DATA:

END OF it_matmaster.

*for material description

DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.

INCLUDE STRUCTURE BAPI_MAKT .

DATA:END OF IT_MATERIALDESC.

*FOR gross wt

data: begin of it_uom occurs 0.

include structure BAPI_MARM.

data:end of it_uom.

DATA: BEGIN OF IT_UOMX OCCURS 0.

INCLUDE STRUCTURE BAPI_MARMX.

DATA:END OF IT_UOMX.

data:begin of it_mean occurs 0.

include structure bapi_mean.

data:end of it_mean.

DATA:BEGIN OF IT_MLTX OCCURS 0.

INCLUDE STRUCTURE BAPI_MLTX.

DATA:END OF IT_MLTX.

*to return messages

DATA:BEGIN OF IT_RETURN OCCURS 0.

INCLUDE STRUCTURE BAPIRET2.

DATA:END OF IT_RETURN.

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

  • SELECTION SCREEN *

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

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

PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B1 .

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

  • AT SELECTION SCREEN *

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

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

PROGRAM_NAME = SYST-CPROG

DYNPRO_NUMBER = SYST-DYNNR

FIELD_NAME = 'P_FILE'

IMPORTING

FILE_NAME = P_FILE.

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

  • TO UPLOAD THE DATA *

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

START-OF-SELECTION.

V_FILE = P_FILE.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = V_FILE

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

tables

data_tab = IT_MATMASTER

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.

*ELSE.

*DELETE IT_MATMASTER INDEX 1.

ENDIF.

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

  • DATA POPULATIONS *

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

LOOP AT IT_MATMASTER.

*HEADER DATA

BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.

BAPIMATHEAD-IND_SECTOR = IT_MATMASTER-Mbrsh.

BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.

BAPIMATHEAD-BASIC_VIEW = 'X'.

BAPIMATHEAD-PURCHASE_VIEW = 'X'.

BAPIMATHEAD-ACCOUNT_VIEW = 'X'.

*CLIENTDATA

BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.

BAPI_MARA-DIVISION = IT_MATMASTER-SPART.

BAPI_MARA-DSN_OFFICE = IT_MATMASTER-LABOR.

BAPI_MARA-PROD_HIER = IT_MATMASTER-PRDHA.

BAPI_MARA-PUR_STATUS = IT_MATMASTER-MSTAE.

BAPI_MARA-ITEM_CAT = IT_MATMASTER-MTPOS_MARA.

BAPI_MARA-NET_WEIGHT = IT_MATMASTER-NTGEW.

  • BAPI_MARA-PO_UNIT = 'KG'.

  • BAPI_MARA-UNIT_OF_WT_ISO = 'KG'.

BAPI_MARA-UNIT_OF_WT = 'KG'.

  • BAPI_MARA-PACK_VO_UN = 'KG'.

  • BAPI_MARA-BASE_UOM_ISO = 'KG'.

bapi_mara-size_dim = it_matmaster-groes.

BAPI_MARA-MAT_GRP_SM = IT_MATMASTER-MAGRV.

BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.

BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.

BAPI_MARA-BASIC_MATL = IT_MATMASTER-WRKST.

BAPI_MARA-HAZMATPROF = IT_MATMASTER-PROFL.

BAPI_MARA-ENVT_RLVT = IT_MATMASTER-KZUMW.

BAPI_MARA-PO_UNIT = IT_MATMASTER-BSTME.

BAPI_MARA-VAR_ORD_UN = IT_MATMASTER-VABME.

BAPI_MARA-PUR_VALKEY = IT_MATMASTER-EKWSL.

BAPI_MARA-MANU_MAT = IT_MATMASTER-MFRPN.

BAPI_MARA-MFR_NO = IT_MATMASTER-MFRNR.

BAPI_MARAX-MATL_GROUP = 'X'.

BAPI_MARAX-DIVISION = 'X'.

BAPI_MARAX-DSN_OFFICE = 'X'.

BAPI_MARAX-PROD_HIER = 'X'.

BAPI_MARAX-PUR_STATUS = 'X'.

BAPI_MARAX-ITEM_CAT = 'X'.

BAPI_MARAX-NET_WEIGHT = 'X'.

BAPI_MARAX-UNIT_OF_WT = 'X'.

  • BAPI_MARAX-UNIT_OF_WT_ISO = 'X'.

bapi_maraX-size_dim = 'X'.

BAPI_MARAX-MAT_GRP_SM = 'X'.

BAPI_MARAX-OLD_MAT_NO = 'X'.

BAPI_MARAX-BASE_UOM = 'X'.

BAPI_MARAX-BASE_UOM_ISO = 'X'.

BAPI_MARAX-BASIC_MATL = 'X'.

BAPI_MARAX-MFR_NO = 'X'.

BAPI_MARAX-HAZMATPROF = 'X'.

BAPI_MARAX-ENVT_RLVT = 'X'.

BAPI_MARAX-PO_UNIT = 'X'.

  • BAPI_MARAX-PACK_VO_UN = 'X'.

BAPI_MARAX-VAR_ORD_UN = 'X'.

BAPI_MARAX-PUR_VALKEY = 'X'.

BAPI_MARAX-MANU_MAT = 'X'.

BAPI_MARAX-MFR_NO = 'X'.

*PLANT DATA

BAPI_MARC-PLANT = IT_MATMASTER-WERKS.

BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP.

BAPI_MARC-BATCH_MGMT = IT_MATMASTER-XCHPF.

BAPI_MARC-GR_PR_TIME = IT_MATMASTER-WEBAZ.

BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.

BAPI_MARCX-PUR_GROUP = 'X'.

BAPI_MARCX-BATCH_MGMT = 'X'.

BAPI_MARCX-GR_PR_TIME = 'X'.

*VALUATION DATA

BAPI_MBEW-PRICE_CTRL = IT_MATMASTER-VPRSV.

BAPI_MBEW-STD_PRICE = IT_MATMASTER-STPRS.

BAPI_MBEW-COMMPRICE1 = IT_MATMASTER-BWPRH.

BAPI_MBEW-VAL_AREA = IT_MATMASTER-BWKEY.

BAPI_MBEW-VAL_CLASS = IT_MATMASTER-BKLAS.

BAPI_MBEWX-PRICE_CTRL = 'X'.

BAPI_MBEWX-STD_PRICE = 'X'.

BAPI_MBEWX-COMMPRICE1 = 'X'.

BAPI_MBEWX-VAL_AREA = IT_MATMASTER-BWKEY.

BAPI_MBEWX-VAL_CLASS = 'X'.

IT_MATERIALDESC-LANGU = 'EN'.

IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.

append IT_materialdesc.

<b> IT_UOM-GROSS_WT = IT_MATMASTER-BRGEW.

IT_UOM-ALT_UNIT = 'KG'.

IT_UOM-ALT_UNIT_ISO = 'KG'.

IT_UOM-UNIT_OF_WT = IT_MATMASTER-GEWEI.

APPEND IT_UOM.

IT_UOMX-GROSS_WT = 'X'.

IT_UOMX-ALT_UNIT = 'KG'.

IT_UOMX-ALT_UNIT_ISO = 'KG'.

IT_UOMX-UNIT_OF_WT = 'X'.

APPEND IT_UOMX.</b>

it_mean-unit = 'KD3'.

append it_mean.

it_mltx-langu = 'E'.

it_mltx-text_name = it_matmaster-matnr.

APPEND IT_MLTX.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

EXPORTING

headdata = BAPIMATHEAD

CLIENTDATA = BAPI_MARA

CLIENTDATAX = BAPI_MARAx

PLANTDATA = BAPI_MARc

PLANTDATAX = BAPI_MARcx

  • FORECASTPARAMETERS =

  • FORECASTPARAMETERSX =

  • PLANNINGDATA =

  • PLANNINGDATAX =

  • STORAGELOCATIONDATA =

  • STORAGELOCATIONDATAX =

VALUATIONDATA = BAPI_MBEW

VALUATIONDATAX = BAPI_MBEWX

  • WAREHOUSENUMBERDATA =

  • WAREHOUSENUMBERDATAX =

  • SALESDATA =

  • SALESDATAX =

  • STORAGETYPEDATA =

  • STORAGETYPEDATAX =

  • FLAG_ONLINE = ' '

  • FLAG_CAD_CALL = ' '

IMPORTING

RETURN = IT_RETURN

TABLES

MATERIALDESCRIPTION = IT_MATERIALDESC

UNITSOFMEASURE = IT_UOM

UNITSOFMEASUREX = IT_UOMX

INTERNATIONALARTNOS = it_mean

  • MATERIALLONGTEXT = IT_MLTX

  • TAXCLASSIFICATIONS =

  • RETURNMESSAGES =

  • PRTDATA =

  • PRTDATAX =

  • EXTENSIONIN =

  • EXTENSIONINX =

.

read table it_return with key TYPE = 'S'.

if sy-subrc = 0.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

*else.

*

*CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'

    • IMPORTING

    • RETURN =

  • .

*

endif.

WRITE:/ IT_RETURN-TYPE,

2 IT_RETURN-ID,

22 IT_RETURN-NUMBER,

25 IT_RETURN-MESSAGE.

  • IT_RETURN-LOG_NO,

  • IT_RETURN-LOG_MSG_NO,

  • IT_RETURN-MESSAGE_V1,

  • IT_RETURN-MESSAGE_V2,

  • IT_RETURN-MESSAGE_V3,

  • IT_RETURN-MESSAGE_V4,

  • IT_RETURN-PARAMETER,

  • IT_RETURN-ROW,

  • IT_RETURN-FIELD,

  • IT_RETURN-SYSTEM.

Thanks

Jagadeesh.G