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

BDC Recording problem

ashok_kumar24
Contributor
0 Likes
1,017

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

9 REPLIES 9
Read only

former_member632729
Contributor
0 Likes
991

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

Read only

SantoshKallem
Active Contributor
0 Likes
991

Process it in ALL SCREEN Mode and analyse the error.

Regards,

Santosh

Read only

Former Member
0 Likes
991

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.

Read only

Former Member
0 Likes
991

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.

Read only

Former Member
0 Likes
991

Hi ,

if u are using call transactio method , run it in MODE 'A'. their might be some Enter missing in while recording through shdb.

Read only

Former Member
0 Likes
991

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

Read only

Former Member
0 Likes
991

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

Read only

Former Member
0 Likes
991

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.

Read only

Former Member
0 Likes
991

Hi,

Check in Debug mode proceesed all screens. May be you screen flow worng. Check once.

Regards

Md.MahaboobKhan