{"id":16163168,"url":"https://github.com/fabianlupa/abap-annotation-processing","last_synced_at":"2025-07-09T04:41:11.569Z","repository":{"id":86006130,"uuid":"76751499","full_name":"fabianlupa/abap-annotation-processing","owner":"fabianlupa","description":"Tech study on annotations in ABAP","archived":false,"fork":false,"pushed_at":"2017-06-07T08:51:02.000Z","size":213,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-28T12:33:50.842Z","etag":null,"topics":["aap","abap","abap-annotation-processing","abapgit","sap","zaap"],"latest_commit_sha":null,"homepage":"","language":"ABAP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabianlupa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-17T22:46:17.000Z","updated_at":"2021-01-11T19:10:45.000Z","dependencies_parsed_at":"2023-07-15T07:15:51.537Z","dependency_job_id":null,"html_url":"https://github.com/fabianlupa/abap-annotation-processing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabianlupa%2Fabap-annotation-processing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabianlupa%2Fabap-annotation-processing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabianlupa%2Fabap-annotation-processing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabianlupa%2Fabap-annotation-processing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabianlupa","download_url":"https://codeload.github.com/fabianlupa/abap-annotation-processing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243950927,"owners_count":20373664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aap","abap","abap-annotation-processing","abapgit","sap","zaap"],"created_at":"2024-10-10T02:34:45.920Z","updated_at":"2025-03-18T22:31:14.724Z","avatar_url":"https://github.com/fabianlupa.png","language":"ABAP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AAP - ABAP Annotation Processing [![Build Status](https://travis-ci.org/flaiker/abap-annotation-processing.svg?branch=master)](https://travis-ci.org/flaiker/abap-annotation-processing) [![ABAP Doc](https://img.shields.io/badge/ABAP%20Doc-latest-blue.svg)](https://flaiker.github.io/abap-annotation-processing/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\nAnnotations in ABAP!\n\n**This project is a technology study / proof of concept of implementing a framework to manage class based annotations in ABAP. Since there is no native language support for annotations the assignments are done in customizing tables. The current state is still very much unfinished and not production ready. I am currently not planning on finishing this project (the necessary efforts and drawbacks are way too high). Feel free to fork it or take parts of it for reference.**\n\n**DO NOT USE IN PRODUCTION.**\n\n## Using annotations in ABAP code\n```abap\nDATA: lo_annotation TYPE REF TO zcl_my_annotation.\n\nDATA(lo_annotated_class) = NEW zcl_annotated_class( ).\n\nDATA(lo_processor) = zcl_aap_proc_object=\u003efrom_object( lo_annotated_class ).\nIF lo_processor-\u003eis_annotation_present_by_data( lo_annotation ).\n  lo_annotation ?= lo_processor-\u003eget_annotation_by_data( lo_annotation ).\n  WRITE lo_annotation-\u003emv_my_attribute.\nENDIF.\n```\n[More example code](https://github.com/flaiker/abap-annotation-processing/tree/master/src/example)\n\n## Adding annotations to classes/interfaces/attributes/methods/parameters\nUsing transaction **ZAAP_CUST**:\n![Transaction ZAAP_CUST](https://github.com/flaiker/abap-annotation-processing/wiki/rendered/zaap_cust.PNG)\n\n## API Overview\n![API Overview](https://github.com/flaiker/abap-annotation-processing/wiki/rendered/api-overview.png)\n[Detailed class diagram](https://github.com/flaiker/abap-annotation-processing/wiki/rendered/api-detail.png)\n\n## License\n[MIT License Copyright (c) 2017 Fabian Lupa](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabianlupa%2Fabap-annotation-processing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabianlupa%2Fabap-annotation-processing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabianlupa%2Fabap-annotation-processing/lists"}