Application Development 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: 

Wny doesn't SQ01 recognize a legitimately "repaired" query program?

Former Member
0 Kudos

This is a followup to the questions yesterday about what to do when an old query doesn't compile in ECC5.0 because of the old hyphens in places where the UNICODE compiler wants underscores.

Working with Basis, we found a combination of account/access/key and privileges that let us successfully repair the generated program for the query. (We had to do the usual delete/insert stuff for this repair - we couldn't just "edit" in the usual way.

After this legitimate repair of the original generated code, we went to SQ01 and adjusted/generated.

Then we went to the transaction and ran it. The transaction still used the old program - the one with the hyphens in it.

Why is this happening? Why doesn't SAP use the legitimately repaired query program instead of the original program? Does the "parameter" transaction look for the generated code in a special package that we don't have access to ???? This is the only thing I can think of ... that we saved to the wrong package after we did the repair ...

1 ACCEPTED SOLUTION

suresh_datti
Active Contributor
0 Kudos

>>After this legitimate repair of the original generated code, we went to SQ01 and adjusted/generated

to the best of my knowledge, a new ABAP report program is generated each time you generate the query.. you should probably repair the generatted code & leave it at that & execute your beloved parameter Tcode..

`Suresh

15 REPLIES 15

sridhar_k1
Active Contributor
0 Kudos

Did you do repairs to program AQZZZ... in SE38?

Check the repairs are still there after Adjust/generate operation in SQ01.

I think after repairs, generate step in SQ01 deleted the repairs, that's why the transaction appears to be executing old proogram.

Regards

Sridhbar

0 Kudos

Sridhar -

Thanks - will try to repair again and execute the parameter transaction without doing the adjust/generate. Will come back and let you know/reward.

Glad you're around ....!

Dave

0 Kudos

Suresh -

Also thanks - will try to repair again and execute the parameter transaction without doing the adjust/generate. Will come back and let you know/reward.

Glad you're around ....!

Dave

0 Kudos

David,

Try this option too, if it works you may not need to do repais.

I don't know why the hypens are there in the structures.

Change the query in SQ01, add a field to the report or selection, generate, go back remove the changes, and generate again.

Regards

Sridhar

0 Kudos

Sridhar/Suresh -

No - it didn't work when we ran the transaction right.

I agree with your puzzlement - since we're regenerting with the new ECC5 stack, where are the stupid hyphens coming from? It may be you're correct - that you have to "force" the stupid thing to recompile by making a change inside SQ01.

We will try this approach - but one other thing is bothering me about "package".

If you look at the attributes of the original generated program in SE80, there is NO package shown.

But when we did the repair, we had to save it somewhere so we saved it in the SAP package AQMM.

So maybe we have to specify the package differently.

I'm posting another question on this "package" issue - because it really is a separate question - what is the "package" for programs generated by SQ01?

0 Kudos

Nope - we couldn't force it to recognize the new code even by doing the change/change back you suggested.

Dave

0 Kudos

What we will try next is to delete the whole query from DEV, reimport the whole query from QA, and then re-generate.

We tried this before, but we didn't delete the query in DEV before importing from QA.

Dave

0 Kudos

Try regenerating the infoset assigned to the query by making small change in SQ02, and regenerate query in SQ01.

The hyphens might be coming from infoset dictionary structures, try Adjust function in SQ02 on infoset, that should replace old structures with new ones.

Regard

Sridhar

Message was edited by:

Sridhar K

0 Kudos

Yes - my Basis guy had a similar thought but a little different.

We're deleting the infoset and query from DEV, then importing the infoset and query from QA, then generating in DEV.

Before, we just reimported the query but not the infoset.

We'll try it his way first and if that doesn't work will try it your way.

Will let you know.

Dave

0 Kudos

No - we tried your way first and it doesn't work ... we deleted a field from the query in SQ01, then deleted the correspondign field in the infoset in SQ02, then generated in SQ02, then ran - still found the old code.

0 Kudos

BTW - we've adjusted in SQ02 several times - the hyphens are STILL there.

But you might be onto something - how to "clear" the existing dict structures.

Is there a "regenerate" infoset dictionary option, or something like that ????

0 Kudos

Adjust and generate in SQ02 should get the new dictionary structure properties into infoset.

Regards

Sridhar

0 Kudos

Sridhar -

One possibility - when we try to adjust in SQ02, we get a warning that MCMSEG-MENGE does not have the same length in the infoset as in the dictiornary - one is 19 and one is 20.

We tell it to adjust anyway.

Is it possible that it's not really adjusting because of this discrepancy and that we have to fix this discrepancy first ????

Dave

0 Kudos

Nope - the adjust/generate STILL doesn't work - I'm doing a customer message on this ...

suresh_datti
Active Contributor
0 Kudos

>>After this legitimate repair of the original generated code, we went to SQ01 and adjusted/generated

to the best of my knowledge, a new ABAP report program is generated each time you generate the query.. you should probably repair the generatted code & leave it at that & execute your beloved parameter Tcode..

`Suresh