cancel
Showing results for 
Search instead for 
Did you mean: 

"/DMO/AGENCY_D" is not a suitable draft persistency for "/DMO/R_AGENCYTP"

MartinKnechtel
Product and Topic Expert
Product and Topic Expert
0 Kudos

I am in Learning Journey "Acquiring Core ABAP Skills", Unit 7 "Database Updates Using Business Objects", last exercise "Modifying Data Using EML" (link)

[Update 2023-11-15: without me running anything, just freshly launching Eclipse and ADT, I see the syntax error already. Inserting Screenshot below.]

AGENCY_D.png

 

 

 

 

On execution I receive the following error. Looks like it has nothing to with my code. Is this because on Trial the ABAP Platform instance is shared and sb. could have broken the /DMO/R_AGENCYTYP?

"/DMO/AGENCY_D" is not a suitable draft persistency for "/DMO/R_AGENCY
TP" (there is a type mismatch in field "/DMO/ZZSLOGANZAG").

I use a BTP Trial account in US East (link)

My implementation code looks very similar to the code presented in the demo in that chapter and I cannot see why it should not be working. Here is my implementation.

METHOD if_oo_adt_classrun~main.

DATA update_tab TYPE TABLE FOR UPDATE /DMO/R_AgencyTP.

update_tab = VALUE #( ( agencyID = '070002' Name = 'Fligh High Martin' ) ).

MODIFY ENTITIES OF /DMO/R_AgencyTP
ENTITY /DMO/Agency
UPDATE FIELDS ( name )
WITH update_tab.

COMMIT ENTITIES.

out->write( `written to DB. Now check for updates.` ).

ENDMETHOD.

View Entire Topic
Clemens_Mannert
Product and Topic Expert
Product and Topic Expert

Hi @MartinKnechtel , 

This error indicates a mismatch between the CDS view entity /DMO/R_AgencyTP and the related draft table /DMO/AGENCY_D. 

Those objects lie in the  /DMO/ namespace. They were imported into your BTP trial instance from a git repository and I am sure, the objects were consistent when imported.

The simplest explanation is,  that another user changed CDS view entity /DMO/R_AgencyTP (that's what you assumed already). In particular, the user must have changed the type of field ZZSLOGANZAG,  which is part of a demo extension of business object /DMO/R_AgencyTP. 

Unfortunately, I was not able to access your BTP trial instance myself.  

What you can do to try and fix this issue:

  1. Navigate to the behavior definition /DMO/R_AgencyTP (as for the screenshot).
  2. In the code row with the error, place the cursor on /DMO/AGENCY_D and press Ctrl + 1. 
  3. Execute the quickfix that adjusts the draft table /DMO/AGENCY_D 

Let me know if this fixes the issue.

Regards,

Clemens 

MartinKnechtel
Product and Topic Expert
Product and Topic Expert

Thanks Clemens! I am missing the permissions to do that:


The system and namespace change option set for this SAP System does not allow any changes to be made to object TABL /DMO/AGENCY_D.

System Response

Editing is terminated, the object can only be displayed.

Procedure

If you want to edit the object TABL /DMO/AGENCY_D in this SAP System, have your system administator set the SAP System to "modifiable" for this object.

This can affect the modifiability of the namespace /DMO/ or the namespaces that correspond to the pattern /DMO/, as well as the global setting of the system change option.

The system changeoption is set using the Transport Organizer tools (Transaction SE03). Expand the Administration node and execute the program Set system change option. The options are described there.



quickfix_1.pngquickfix_2.png