‎2009 Mar 04 12:21 PM
HI Experts,
I have created a recording for Material Master creation in shdb, filling in all required fields.
When I process the recording, I am not able to create any Material numbers.
But I am able to create the Material Manually.
What can be the problem ?
Thanks
Kumar
‎2009 Mar 04 12:23 PM
Hi dude,
Insted of BDC goo for BAPI yar.. this is the best method to upload the data.. BAPI can handle table control automatically..
BAPI_MATERIAL_SAVEDATA
‎2009 Mar 04 12:27 PM
Process it in ALL SCREEN Mode and analyse the error.
Regards,
Santosh
‎2009 Mar 04 12:28 PM
Hi ,
when recording case u r able to get material no ??
or when u run the recording program how u check the material no is not create.
One suggestion use BAPI for material cration its better in future case, and u will handle error and material no too,
For bapi u can refer that program
REPORT YGECICI MESSAGE-ID 00
No Standard Page Heading
Line-Size 200
Line-Count 65.
*TO CREATE MATERIAL USING BAPI.
**********************************************************************
STRUCTURE DECLARATIONS *
**********************************************************************
TABLES: BAPIMATHEAD, u201CHeaderdata
BAPI_MARA, u201CClientdata
BAPI_MARAX, u201CClientdatax
BAPI_MARC, u201CPlantdata
BAPI_MARCX, u201CPlantdatax
BAPI_MAKT, u201CMaterial description
BAPI_MBEW, u201CVALUATION DATA
BAPI_MBEWX,
BAPI_MARM,
BAPI_MARMX,
bapi_mean,
BAPIRET2. u201CReturn messages
DATA:V_FILE TYPE STRING. u201Cinput data file
DATA:
BEGIN OF LSMW_MATERIAL_MASTER,
MATNR(018) TYPE C, u201CMaterial number
MTART(004) TYPE C, u201CMaterial type
MBRSH(001) TYPE C, u201CIndustry sector
WERKS(004) TYPE C, u201CPlant
MAKTX(040) TYPE C, u201CMaterial description
DISMM(002) TYPE C, u201CExtra Field Added In the Program as itsrequired
MEINS(003) TYPE C, u201CBase unit of measure
MATKL(009) TYPE C, u201CMaterial group
SPART(002) TYPE C, u201CDivision
LABOR(003) TYPE C, u201CLab/office
PRDHA(018) TYPE C, u201CProduct hierarchy
MSTAE(002) TYPE C, u201CX-plant matl status
MTPOS_MARA(004) TYPE C, u201CGen item cat group
BRGEW(017) TYPE C, u201CGross weight
GEWEI(003) TYPE C, u201CWeight unit
NTGEW(017) TYPE C, u201CNet weight
GROES(032) TYPE C, u201CSize/Dimensions
MAGRV(004) TYPE C, u201CMatl grp pack matls
BISMT(018) TYPE C, u201COld material number
WRKST(048) TYPE C, u201CBasic material
PROFL(003) TYPE C, u201CDG indicator profile
KZUMW(001) TYPE C, u201CEnvironmentally rlvt
BSTME(003) TYPE C, u201COrder unit
VABME(001) TYPE C,
EKGRP(003) TYPE C, u201CPurchasing group
XCHPF(001) TYPE C, u201CBatch management
EKWSL(004) TYPE C, u201CPurchasing key value
WEBAZ(003) TYPE C, u201CGR processing time
MFRPN(040) TYPE C, u201CManufacturer part number
MFRNR(010) TYPE C, u201CManufacturer number
VPRSV(001) TYPE C, u201CPrice control indicator
STPRS(015) TYPE C, u201CStandard price
BWPRH(014) TYPE C, u201CCommercial price1
BKLAS(004) TYPE C, u201CValuation 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 u2018F4_FILENAMEu2019
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = u2018P_FILEu2019
IMPORTING
FILE_NAME = P_FILE.
**********************************************************************
TO UPLOAD THE DATA *
**********************************************************************
START-OF-SELECTION.
V_FILE = P_FILE.
CALL FUNCTION u2018GUI_UPLOADu2019
EXPORTING
filename = V_FILE
FILETYPE = u2018ASCu2019
HAS_FIELD_SEPARATOR = u2018Xu2019
HEADER_LENGTH = 0
READ_BY_LINE = u2018Xu2019
DAT_MODE = u2018 u2018
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 = u2018Xu2019.
BAPIMATHEAD-PURCHASE_VIEW = u2018Xu2019.
BAPIMATHEAD-ACCOUNT_VIEW = u2018Xu2019.
*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 = u2018KGu2019.
BAPI_MARA-UNIT_OF_WT_ISO = u2018KGu2019.
BAPI_MARA-UNIT_OF_WT = u2018KGu2019.
BAPI_MARA-PACK_VO_UN = u2018KGu2019.
BAPI_MARA-BASE_UOM_ISO = u2018KGu2019.
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 = u2018Xu2019.
BAPI_MARAX-DIVISION = u2018Xu2019.
BAPI_MARAX-DSN_OFFICE = u2018Xu2019.
BAPI_MARAX-PROD_HIER = u2018Xu2019.
BAPI_MARAX-PUR_STATUS = u2018Xu2019.
BAPI_MARAX-ITEM_CAT = u2018Xu2019.
BAPI_MARAX-NET_WEIGHT = u2018Xu2019.
BAPI_MARAX-UNIT_OF_WT = u2018Xu2019.
BAPI_MARAX-UNIT_OF_WT_ISO = u2018Xu2019.
bapi_maraX-size_dim = u2018Xu2019.
BAPI_MARAX-MAT_GRP_SM = u2018Xu2019.
BAPI_MARAX-OLD_MAT_NO = u2018Xu2019.
BAPI_MARAX-BASE_UOM = u2018Xu2019.
BAPI_MARAX-BASE_UOM_ISO = u2018Xu2019.
BAPI_MARAX-BASIC_MATL = u2018Xu2019.
BAPI_MARAX-MFR_NO = u2018Xu2019.
BAPI_MARAX-HAZMATPROF = u2018Xu2019.
BAPI_MARAX-ENVT_RLVT = u2018Xu2019.
BAPI_MARAX-PO_UNIT = u2018Xu2019.
BAPI_MARAX-PACK_VO_UN = u2018Xu2019.
BAPI_MARAX-VAR_ORD_UN = u2018Xu2019.
BAPI_MARAX-PUR_VALKEY = u2018Xu2019.
BAPI_MARAX-MANU_MAT = u2018Xu2019.
BAPI_MARAX-MFR_NO = u2018Xu2019.
*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 = u2018Xu2019.
BAPI_MARCX-BATCH_MGMT = u2018Xu2019.
BAPI_MARCX-GR_PR_TIME = u2018Xu2019.
*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 = u2018Xu2019.
BAPI_MBEWX-STD_PRICE = u2018Xu2019.
BAPI_MBEWX-COMMPRICE1 = u2018Xu2019.
BAPI_MBEWX-VAL_AREA = IT_MATMASTER-BWKEY.
BAPI_MBEWX-VAL_CLASS = u2018Xu2019.
IT_MATERIALDESC-LANGU = u2018ENu2019.
IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.
append IT_materialdesc.
IT_UOM-GROSS_WT = IT_MATMASTER-BRGEW.
IT_UOM-ALT_UNIT = u2018KGu2019.
IT_UOM-ALT_UNIT_ISO = u2018KGu2019.
IT_UOM-UNIT_OF_WT = IT_MATMASTER-GEWEI.
APPEND IT_UOM.
IT_UOMX-GROSS_WT = u2018Xu2019.
IT_UOMX-ALT_UNIT = u2018KGu2019.
IT_UOMX-ALT_UNIT_ISO = u2018KGu2019.
IT_UOMX-UNIT_OF_WT = u2018Xu2019.
APPEND IT_UOMX.
it_mean-unit = u2018KD3u2032.
append it_mean.
it_mltx-langu = u2018Eu2019.
it_mltx-text_name = it_matmaster-matnr.
APPEND IT_MLTX.
CALL FUNCTION u2018BAPI_MATERIAL_SAVEDATAu2019
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 = u2018 u2018
FLAG_CAD_CALL = u2018 u2018
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 = u2018Su2019.
if sy-subrc = 0.
CALL FUNCTION u2018BAPI_TRANSACTION_COMMITu2019
EXPORTING
WAIT =
IMPORTING
RETURN =
.
*else.
*
*CALL FUNCTION u2018BAPI_TRANSACTION_ROLLBACKu2019
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.
‎2009 Mar 04 12:29 PM
Hi,
There must be some field that is missing.
Try doing it in the 'E' mode and also try using bdcmsgcoll table loop and find the messages it might give you some info.
Much Regards,
Amuktha.
‎2009 Mar 04 12:29 PM
Hi ,
if u are using call transactio method , run it in MODE 'A'. their might be some Enter missing in while recording through shdb.
‎2009 Mar 04 12:29 PM
Hi,
Check u r input file material group and type with the recorded material group and material type.
i think both are not matching. input file mateial is having different views than recorded.
Regards,
Nandha
‎2009 Mar 04 12:30 PM
Hi,
Check it with Ok code for all screens, May be you are missing with something.
Let me know if everything was fine.
Regards,
Rajani
‎2009 Mar 04 12:40 PM
Hi,
See if through recording and manually,u are getting same screen or not.
Check with mode 'E' which displays the error screen.
There might a field whose length is more than ur screen field length and that might be right justified,that is the reason why it is not taking it into screenfield.
‎2009 Mar 04 12:42 PM
Hi,
Check in Debug mode proceesed all screens. May be you screen flow worng. Check once.
Regards
Md.MahaboobKhan