cancel
Showing results for 
Search instead for 
Did you mean: 

Category for material group <***> does not exist

Former Member
0 Kudos

Hi,

I am trying to download materials from R/3 to CRM. I have defined the product hierarchy structure and product ID settings in CRM. I have also downloaded the required customizing objects - DNL_CUST_PROD0, DNL_CUST_PROD1, DNL_CUST_PROD3. When I try to download MATERIAL, it gives me the following error message. I checked in Transaction comm_hierarchy and for R3MATCLASS, it is showing all the categories from R/3.

The error message is given below:

Category for R/3 material group XXX does not exist

Message no. COM_PRODUCT_API002

Diagnosis

If material groups are used in R/3, they must exist as categories in CRM/EBP before materials are imported from R/3. When Customizing object DNL_CUST_PROD1 is imported, the R/3 material groups are imported automatically and created in the category hierarchy R3MATCLASS (material group).

Procedure

Check whether the R/3 material groups have been imported successfully and exist as categories.

Proceed

If necessary, import the Customizing object DNL_CUST_PROD1.

Accepted Solutions (1)

Accepted Solutions (1)

former_member189549
Active Contributor
0 Kudos

Hello Saffarulla,

The root cause is the missing of customizing data in R3 for materials. Please maintain these necessary material groups

in IMG, path:

SPRO - Logistics General - Material Master - Settings for Key Fields

- Define Material Groups

Please maintain the necessary material groups there and then retest the scenario.

If you have maitained correctly the data, then  check this second solution;

From R3AM1, DNL_CUST_PROD1 has been successuflly loaded. But it seems  that either not all the hierarchies were update correctly or else there is now an inconsistency.

To correct this, I would suggest you first delete the exisiting hierachies form the CRM, then downlaod object DNL_CUST_PROD1 again. You can delete the existing hierarchies using  report COM_HIERARCHY_DELETE_ALL. After, please download object MATERIAL again.

thanks

Willie

Former Member
0 Kudos

Thanks Ankush and Musa for your prompt replies.

 

@ Musa : I have deleted the existing hierarchy R3MATCLASS using the report com_hirearchy_delete_single. But now, when I try to run the DNL_CUST_PROD1 again, the CRM inbound queue results in SYSFAIL  with the message " The ABAP/4 Open SQL array insert results in duplicate database records".

I checked the comm_category table and all the relevant entries have been deleted from there. Is there any GUID for category in any table which is causing the problem? I mean Comm_Prcat or any other table entries?

former_member189549
Active Contributor
0 Kudos

Hello Ullas,

For this error "

To resolve the error  "the ABAP/4 Open SQL array insert results in duplicate database records"., please apply note 1252147.

thanks

Willie

Former Member
0 Kudos

Hi Musa,

Are you sure this note is relevant? Because I am not doing any customer-specific changes for the processing of  equipment.

Also the note 457365 is mentioning the exact error but is inconclusive.

Thanks

Ullas

former_member189549
Active Contributor
0 Kudos

Hello Ullas,

Can you please double check if you are getting any ST22 short dump, if yes, please attach the full dump error

thanks

Willie

Former Member
0 Kudos

Hi Willie,

Here's the dump report

Category               ABAP Programming Error

Runtime Errors         SAPSQL_ARRAY_INSERT_DUPREC

Except.                CX_SY_OPEN_SQL_DB

ABAP Program           SAPLCOM_PRODUCT_CUST_INBOUND

Application Component  CRM-MD-PRO-IF-PRO

Short text
    The ABAP/4 Open SQL array insert results in duplicate database records.

What happened?
    Error in the ABAP Application Program

    The current ABAP program "SAPLCOM_PRODUCT_CUST_INBOUND" had to be terminated
     because it has
    come across a statement that unfortunately cannot be executed.

Error analysis
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not ca
     in
    procedure "COMM_CATEGORYDEL_INIT" "(FORM)", nor was it propagated by a RA
     clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    If you use an ABAP/4 Open SQL array insert to insert a record in
    the database and that record already exists with the same key,
    this results in a termination.

    (With an ABAP/4 Open SQL single record insert in the same error
    situation, processing does not terminate, but SY-SUBRC is set to 4.)

How to correct the error
    Use an ABAP/4 Open SQL array insert only if you are sure that none of
    the records passed already exists in the database.

    If the error occures in a non-modified SAP program, you may be able to
    find an interim solution in an SAP Note.
    If you have access to SAP Notes, carry out a search with the following
    keywords:

    "SAPSQL_ARRAY_INSERT_DUPREC" "CX_SY_OPEN_SQL_DB"
    "SAPLCOM_PRODUCT_CUST_INBOUND" or "LCOM_PRODUCT_CUST_INBOUNDF01"
    "COMM_CATEGORYDEL_INIT"

Former Member
0 Kudos

217

218     COMMIT WORK.

219   ENDIF.

220

221 ENDFORM.                                                    " T023T

222

223

224 *&---------------------------------------------------------------------*

225 *&      Form  comm_categorydel_init

226 *&---------------------------------------------------------------------*

227 *       text

228 *----------------------------------------------------------------------*

229 *      <--P_LT_CATEGORY  text

230 *----------------------------------------------------------------------*

231 FORM comm_categorydel_init

232   USING      iv_logsys       TYPE comt_logsys

233              it_category     TYPE comt_category_tab.

234

235   DATA:

236    lv_int      TYPE i,

237    ls_category TYPE comt_category.

238

239 *a) delete all entries in table COMM_CATEGORYDEL with *LOGSYS

240 *   of the R/3-Backend

241

242   DELETE FROM comm_categorydel.                    "#EC CI_NOWHERE

243 *         WHERE logsys = iv_logsys. " ERP Logsys

244

245 *b) fill table COMM_CATEGORYDEL with the result of

246 *   COM_hierarchy_SELECT_R3_categ

>>>   INSERT comm_categorydel FROM TABLE it_category.

248

249 * create dummy entry and save the blocknumber

250 * during the initialdownload to secure that no blocks are deleted and

251 * prevent the deletion of to much categories

252

253   lv_int = 1.

254

255   ls_category-category_guid = gc_dummy_category.

256   ls_category-category_id   = lv_int.

257   ls_category-logsys        = iv_logsys.

258

259   INSERT comm_categorydel FROM ls_category.

260

261 ENDFORM.                    " comm_categorydel_init

262

263

264 *&---------------------------------------------------------------------*

265 *&      Form  comm_categorydel_delete

266 *&---------------------------------------------------------------------*

former_member189549
Active Contributor
0 Kudos

Hello Ullas,

Please check in COMM_PRAPPLCAT if the assignment is looking as follows:
Sales      = R3PRODHIER
Purchasing = R3PRODSTYP =>R3MATCLASS
Product    = R3PRODSTYP

changing the assignment to R3MATCLASS will solve the issue.

thanks

Willie

Former Member
0 Kudos

Hi Willie,

Please note that I have deleted the hierarchy R3MATCLASS using the report com_hirearchy_delete_single. Hence the option R3MATCLASS is not available in COMM_PRAPPLCAT.

Thanks

Ullas

former_member189549
Active Contributor
0 Kudos

Hello Ullas,

The standard reports like COM_HIERARCHY_DELETE_SINGLE, would delete the single mentioned product hierarchy and COM_HIERARCHY_DELETE_ALL,which would delete all the hierarchies

present in CRM. i believe that the dump you are having is due to the fact that the initial load is trying to delete some product categories, i n this process the categories are still being used / assigned to the products.Therefore the deletion fails to avoid any data loss thereby causing a system failure. Is this issue in production systes? if that's the case, the safe way  is to  remove the category-product assignment via

Product Maintenance and then start the initial load so that the categories gets deleted sucessfully and thereby completing the load.

other sceanrio;

Regarding the DBIF_RSQL_SQL_ERROR dump. Did you schedule two customizing objects at the same time? Because this DEADLOCK error occurs when  you processes are accessing at the same time to the same table. And this usually occurs if you schedule two customizing objects at the same time or with low time between them. please review note   548184

thanks

Willie

Former Member
0 Kudos

Hi Willie,

I have already replicated connection objects and PoDs under the hierarchy R3prodstyp. What will be the repurcussions if I delete this and all other hierarachies? Will the technical objects already replicated work fine if I delete all the hierarchies and then download all the customizing objects again?

The second scenario you have suggested can be ruled out because there is no possibility of a deadlock.

Thanks for your responses

Ullas

former_member189549
Active Contributor
0 Kudos

Hello Ullas,

Can you archive the data instead of deleting all?

thanks

Willie

Former Member
0 Kudos

Dear Willie,

Problem solved. Thanks for your inputs.

Regards

Ullas

0 Kudos

Dear Ullas,

Can you please share the details how you are solved the issue? I am facing the same issue.

Thanks in Advance!

Best Regards,

mouli.

former_member189549
Active Contributor
0 Kudos

Hi Mouli,

Just follow steps that I sent to Ullas, else post your query will try to found

an answer for you.

thanks

Willie

Answers (2)

Answers (2)

0 Kudos

Hello Ullas

iam facing same issue can  u please update soon.

Category for service category MECH does not exist

Message no. COM_PRODUCT_API004

Diagnosis

Before services are imported from the SAP system, service categories must exist as categories in CRM/EBP. When the Customizing object DNL_CUST_SRVMAS is imported, the service categories are imported automatically and created under the category SRV in the category hierarchy R3PRODSTYP (product subtype).

Procedure

Check whether the service categories have been imported successfully and exist as categories.
Proceed

If necessary, import the Customizing object DNL_CUST_SRVMAS.

Regards

Chinna babu

former_member189549
Active Contributor
0 Kudos

Hello Babu,

Please follow the steps of attached notes: 720819,1498111, and set all of the manual settings.

Thanks Willie

Former Member
0 Kudos

Hi,

Please verify table "T023" in ECC and "COMM_CATEGORY" in CRM whether required category data is available OR not.

With Regards

Ankush Rai