abapGit/docs/collections/_development/serializers.md

1.9 KiB

title order
Serializers 220

All object serializers must be named ZCL_ABAPGIT_OBJECT_type, where type is the corresponding TADIR-OBJECT type

Use SAP Standard APIs for retriving and updating object information where possible. If not possible try using ZCL_ABAPGIT_OBJECTS_GENERIC

As code is stored in git, no usernames, timestamps, states (e.g. active/inactive) or other system specific information should be part of the serialized object files.

Serializers must implement interface ZIF_ABAPGIT_OBJECT:

ZIF_ABAPGIT_OBJECT~SERIALIZE Contains of all process steps to read all relevant object type specific information and serialize it (as one or many files)

ZIF_ABAPGIT_OBJECT~DESERIALIZE Contains of all process steps to create or update an object based on one or many files

ZIF_ABAPGIT_OBJECT~DELETE Contains of all process steps to delete an object based on one or many files

ZIF_ABAPGIT_OBJECT~EXISTS Returns whether a given object already exists

ZIF_ABAPGIT_OBJECT~IS_LOCKED Returns whether a given object is currently locked

ZIF_ABAPGIT_OBJECT~IS_ACTIVE Returns whether a given object exists in active state

ZIF_ABAPGIT_OBJECT~CHANGED_BY Returns the user information of the last changer

ZIF_ABAPGIT_OBJECT~JUMP Navigates to the corresponding object maintenance screen

ZIF_ABAPGIT_OBJECT~GET_METADATA Returns object specific metadata

ZIF_ABAPGIT_OBJECT~GET_COMARATOR Triggered before deserialization to perform checks, eg warn the user that database tables are changed.

ZIF_ABAPGIT_OBJECT~GET_DESERIALIZE_STEPS Defines the kind of Deserialzation Step (DDIC, ABAP, LATE), which is used to build the processing sequence of an import run

When adding new serializers, add tests to organization https://github.com/abapGit-tests

Deserialization sequence/prioritization is handled in ZCL_ABAPGIT_OBJECTS->PRIORITIZE_DESER