cancel
Showing results for 
Search instead for 
Did you mean: 

OCC Specification composition upload error

satya11719
Active Contributor
0 Kudos
2,399

Hallo all,

I was trying to upload the specification composition via OCC in OCC upload format. I was uploaded REAL_SUB and LIST_SUB via OCC, i just want to create composition SAP_EHS_1012_003 . But i'm getting following errors sm37.

Please help me on this.

When i was trying to create composition its working fine, OCC upload its giving above error.LIST_SUB already available in the system

Help me Out.

Thanks

Satya

Accepted Solutions (1)

Accepted Solutions (1)

former_member408313
Active Participant

Hello Christoph,

Just for information - A:ORD means Instance administration data that is ESTVA, L:ORD means Composition that is ESTVP. Both are related with one another as shown below

I aggree when you are loading composition data into difference instances like one with Public with REG_WORLD and another one with Public with REG_WORLD.But when you load into the same instance it becomes optional, system will load the into the same instance all the components. Though your suggested approach is good to avoid any issues.

Now coming to the Usages being declared twice, it is a typo. Even then system will not generate two instances of the compositions because we have declared L:ORD at the beginning and it has preceedance in the structure definition. However while writing the Usage to the record system might find data is already available and will give an error that “Record already available” and it will not write any data and usage data becomes blank.

Thanks and Regards

Jayakumar

christoph_bergemann
Active Contributor
0 Kudos

Dear Jayakumar

we are now 100% aligned. But coming back to detail: what wil happen in system if you do not define "COMPREL" value?

COMPREL (and concentration) to gether are "key facts" to differentiate property of type "B" or C". Do you know OCC approach here? What will happen wiout comprel (as in this example)? I would assume: it will be "empty" (but this would be not good). Do you know: is OCC checking (in upload) the "type" of property? What means. If you prepare data as for type "C" but property is of type "B" (you have prepared wrong content) => what will happen? Error message?

C.B.

former_member408313
Active Participant
0 Kudos

Hello Christoph,

COMPREL is a mandatory field and if reference quantity is not defined then the load will fail; in the above example system picks the COMPREL based on the reference unit we defined for the component like pc or %.

For Substance listing load the Character Type is "L" but the Field is not COMPAVG, instead it is something like REFSUBTR, so it would be different format and system will not automatically create a listing for a composition type like VA type B or C. if you mistakenly put a wrong data then if you do not declare Unit or value it will fail to load.

Thanks and Regards

Jayakumar

christoph_bergemann
Active Contributor
0 Kudos

Dear Jayakumar

thanks for explanation. Now the story is more transparent

C.B.

Answers (8)

Answers (8)

former_member408313
Active Participant

Hi Satya,

I understand you are using SAP OCC to create a *.dat file and then trying to import into the system using Import / Export Option.

You are loading identifiers as well as composition in the single excel sheet. The best practice is to load them in pieces that is load the header data first, then identifiers and then value assignments and then compositions so on.

Try to separate out the identifiers as a load file and use only the components in the current load. I have used the below format previously and I could successfully load the data.

Please try this format

Other option to check also is using the EH&S OCC online mode where you connect to SAP system and call the excel and load the data.

Thanks and Regards

Jayakumar

satya11719
Active Contributor
0 Kudos

Hi Jaya ji,

Thanks for your reply,

Actually i did the same uploaded Header data and identifiers first for REAL,LIST sub first.

Then i was trying to upload the composition i tried the above mentioned format also, i was getting an error in cg33 like syntax $ESTRI is missing. Please check my previous reply.

Is there any configuration related to syntax ?

Online mode we have to OCC via user exit right ?

Thanks

Satya

former_member408313
Active Participant
0 Kudos

Hi Satya,

We need to look into the generated *.dat file for the line segment 23.

Please check the syntax as mentioned in the help text Specification Import structure Via Dat Format

Thanks and Regards

Jayakumar

christoph_bergemann
Active Contributor
0 Kudos

Dear Jayakumar

I am not sure if your load file is correct. If you use the "ORD" in combinaiton with the "property" I would assume that any line of the file will get an "own" VAT. But the story is: one VAT should be generated with many components.

So we need some link to "ESTVA" and "ESTVP" in the load file. to seperate the "VAT" par (ESTVA) from "Composition" part (ESTVP)

C.B:

former_member408313
Active Participant
0 Kudos

Hello Chrstoph,

Here "ORD" is a order number of the component. When it is used in composition load it takes the order number of the component against the composition in the specification. The reference structure from which this file is created are the below two references

1) Provides the structure and the mandatory fields and optional fields to load the data

2) Load structure as per the reference guide

-

Now coming to the error which Satya is getting is due to he using the *.dat file being used to import which do not have Identifiers in them. As per the syntax structure shown in above 1 item - identifiers are mandatory.

Thanks and Regards

Jayakumar

satya11719
Active Contributor
0 Kudos

Hello Jaya ji,

i was uploaded the same format into fresh system which is doesn't have any REAL_SUB and LIST_SUB , The upload was successful and system created REAL_SUB and LIST_SUB without any identifier cause my upload doesn't contain any identifiers and composition was updated as required.

My question is i have to delete the header of all REAL & LIST subs ??? and upload a new single file which includes composition also.

But i i didn't understand logic of this OCC ,why it is not working with existing REAL & LIST substances.

Thanks

Satya

former_member408313
Active Participant
0 Kudos

Hello Satya,

Based on the information I understand that there is already data existing in the system for which it is not able to create new data.

When you have chosen a system with no data, it could create since it do not have conflict.

Thanks and Regards

Jayakumar

former_member408313
Active Participant

Hi Satya,

if the required List Substances, Real Substances are already available in the system and if you are only creating a composition I suggest you to use only the following columns and try to upload

Substance ID, Order Number, Component Substance, Component Type, AVG value, Unit of Measure, Upper Value, Lower Value Rating and validity area.

Thanks and Regards

Jayakumar

satya11719
Active Contributor
0 Kudos

Hi Jaya ji,

i was tried with the mentioned format but it is giving below error in cg33 . please find screen shot.

Then i tried with below format i found this in one of the sap given documents for OCC

it is was sucessfull proceeded to background job but that job is also giving some error again 😞 it was updated VA but not that composition part.

But the composition not updated...

Please provide if you have any other format to upload this or help me out like if i can upload this through some custom program or some other way.

I know this is only the way to upload composition.

Please help me on this if you are sucessfully uploaded composition before.

Thanks

Satya

christoph_bergemann
Active Contributor
0 Kudos

Dear Satya

let us "seperate". With Cg33 you can always get what you want

Let us focus on OCC: I believe the "load file" is not teh "right" one. Teh system create "two data records". but shoiuld generate one data record with many components

Honestly: i have reread OCC document: I did not get the message. So proposal is:

Use offline modus. Here you will get the "dat" file and this you can check (what is inside)

Recommended is thsi sequence:

1.) use a REAL_Sub and create a composition e.g. with 3 components

2.) Export the RREAL_Sub

3.) Check Dat file content

Compare this dat file content with that you will get using OCC.

C.B.

PS: check may be: https://help.sap.com/doc/saphelp_afs64/6.4/en-US/a7/287b420a6c11d28a220000e829fbbd/content.htm

PPS: rereading the OCC document:

I believe the "component property column is not "correct"

Example:

A:ORD;SAP*003

STRING

1

REPEAT THIS BY ONE OF COMPONENT (the 1). I believe this will tell OCC to use one "sort sequence" (in this case 1)

0 Kudos

Hello,

I have resolved this problem, To allocate the pure substance it is necessary to add an identifier with the letter "L" to establish connection with the ESTVP table.

Loading with this header is successful, I share the solution for future community queries.

Regards

0 Kudos

Hello Satya,

The PURE_SUB "100000000003" exists in the system but I believe that for some reason it does not find it.

I tried to add an identifier to a PURE_SUB for a better identification of the system, but this identifier is not added to the PURE_SUB one but creates another row of $ESTRI for the REAL_SUB, so the error is the same.

If I check the checkbox "Spec. key int. no.rang", the system create a new "real substance" (wich is a incorrect substance type). Otherwise the charge fails.

And this new real substance allocates it as component instead my PURE_SUB "100000000003"

The problem is that I need assign my PURE_SUB "100000000003 to my REAL_SUB "000000000120" but I don´t know how.

If I add the table field directly in the .DAT file the charge is successful:

But I don´t know how to build the header.

Thank you for your help

Regards.

0 Kudos

Hi Satya,

I am having the same error:

I have used this header:

Based on the OCC Document:

Did you resolve this problem?

Regards.

satya11719
Active Contributor
0 Kudos

Hello Jordi,

Check the spec 1*003 existing in your system or not ..it is telling specification not exist/may be deleted so that number range is got locked. You need to delete the specification physically from the table as well if it is deleted.

Best

Saty

christoph_bergemann
Active Contributor
0 Kudos

Dear JAyakumar

for "L:ORD" Story I agree. BUt you load file yontains two rows with same "H:SUBID"; two rows with same usage etc.

My current understanding of OCC approach would be: to be on the "safe side" one should add a column with "A:ORD + Spec type (composition); which is of type string (not more than three characters). Using this you would use

1.) in first column only one row for "H:SUBID"; one rwo for "A:ORD" number (e.g. 1) then the "L:ORD"stroy + "L:SUBID" etc.

2:) Next row,. one need not to repeat "H:SUBID" and not teh "A:ORD" number. Per line one component is to be added

3.) According to my understaind: if, as in your example: you would add two rows with "PUBLICH; REG_WORLD", tehn the VAT will get "two" usages with "PUBLIC/REG_WORLD"

I am interested in your feedback regarding this

C.B:

gaurishdessai
Participant
0 Kudos

Hello Satya,

please use the following format:

H:SUBID H:SUBCAT H:AUTHGRP="XXX" A:COMPREL;SAP_EHS_1012_003 L:ORD L:SUBID L:COMPCAT L:COMPAVG L:COMPEXP L:PRECL L:COMPLOW L:PRECU L:COMPUPP U:RVLID U:VACLID


If you are not using any of the column, keep them in the file structure with blank values.

Regards,

Gaurish

satya11719
Active Contributor
0 Kudos

Hi Gaurish,

Thanks for your reply.

what exactly A:COMPREL;SAP_EHS_1012_003 is this ? is it A: ?

Thanks

Satya

gaurishdessai
Participant
0 Kudos

A:COMPREL;SAP_EHS_1012_003 is the column that indicates:

  1. header property (class) for which you want to upload the composition.
  2. COMPREL indicates Ref. quantity you can maintain v/v or w/w for all the rows for this column.

christoph_bergemann
Active Contributor
0 Kudos

Dear Gaursih

the "COMPREL" topic is needed as well as part of the "load" file. But as well we need the relation to "ESTVA" as well. I assume we would need two columns. One column for "COMPREL" data and a second one for the "ESTVA" related data

From my perspecitve: neither "SUBCAT" nor "AUTHGRP" is required if the "SUBID still exists. The tool (OCC) must be able to select the "SUBID" using the key only. Still i miss a "relation" to ESTVA table. I can see only ESTVP. And this is one "issue" which should be solved

C.B.

christoph_bergemann
Active Contributor
0 Kudos

Dear Gaurish

correct. COMPREL is as well "mandatory" (form my point of view) for upload. BUt still we need data for "ESTVA".

C.B.

christoph_bergemann
Active Contributor
0 Kudos

Hello Satya

1.) we are not using OCC for upload so i can not really help here

2.) try to simplify first the load file. One REAL_SUB with one component and try again.

3.) Some lines of your "error" long have message as: Parent object contains error. So something is wrong on top there

The OCC structure is taking about a "string". But in EXCEL you should have a "strict" control. Here i can not judge. But the "string" can not be longer than the spec key. So it is a good idea to use some kind of macro or other EXCEL function to "control" if the spec keys do not have a "space" at the end: But the "error" log does not "indicate" here an issue

KEEP IN MIND: EXCEL does not know "customizing". So if "%" is there.. .. If EXCEL files are used to do upload you should run a "precheck" on them to make sure that you will not "end" in cycles of corrections of excel contetn for upload.

I am not "100 %" how teh componeht sotry is done in OCC. IN your case: you nominate spec key and two identifers. For Standard import: there is some "check". I can nmot remember here the story But may be the system is doing an "and check". that means. Systrm is checking: is spec key there and does have the two assigned identfiers. If this not the case. create new spec.

May be others from SCN community can provide more help

C.B.

PS: please check may be https://help.sap.com/saphelp_erp60_sp/helpdata/en/ed/a5ce5314894208e10000000a174cb4/frameset.htm

PPS: I just checked the OCC documentation. For "component" you need not to specify an identifier. Refer to page 67 of the docuent, You will find an example

Document is like: In onlinde modus EITHER specify spec key (for component) or "use identifiers); Here the document is lieetle bit confusing: As after that (for online) the spec key and identifer is "mandatroy". For "offline" only spec id is needed.. May be reread this part