SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Creating Material With BAPI



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ММ
View previous topic :: View next topic  
Author Message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1640

PostPosted: Sat Oct 06, 2007 12:29 am    Post subject: Creating Material With BAPI Reply with quote

Code:
*———————————————————————*
* Report Name : YGECICI
*———————————————————————*
* Author : Mehmet Avşar
* Location : @Altunizade - Uskudar / Istanbul
* Date / Time : 05 Jan 2007
* Subject : User Exits of Transaction Codes
*———————————————————————*
REPORT YGECICI MESSAGE-ID 00
No Standard Page Heading
Line-Size 200
Line-Count 65.

*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
BRGEW(017) TYPE C, “Gross weight
GEWEI(003) TYPE C, “Weight unit
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.
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.

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.

ENDLOOP.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ММ All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.