larshp / abapmerge

Merge ABAP classes/interfaces/INCLUDEs into single file
MIT License
24 stars 14 forks source link
abap

npm version

abapmerge

Merge ABAP INCLUDEs into single file. Function groups are skipped

Building

Invocation example

Take src/zabapgit.prog.abap, merge it, rename the program (report statement) to zabapgit_standalone and save to zabapgit.abap in the current directory.

How it works

Abapmerge takes a path to the main report and analyzes its code and all files stored in the same directory and all sub-directories.

The resulting code consists of the code of all found ABAP classes and interfaces, regardless of their production use in any part of the resulting report, and contents of ABAP includes found in the main report or the included reports.

Abapmerge expects that the whole directory structure should result into a single executable program and, hence, if it finds an ABAP report that is not directly or indirectly included in the main report, abapmerge terminates its processing without issuing the input.

Abapmerge requires file naming schema compatible with the schema used by abapGit.

Global classes FOR TESTING are skipped.

Pragmas

Abapmerge supports pragmas that can be written inside an abap comment. If written as " comment, then indentation before " is also used for output.

@@abapmerge command params

Currently supported pragmas:

Examples

...
  " @@abapmerge include somefile.txt > APPEND '$$' TO styletab.
  " @@abapmerge include-cua abapgit.prog.xml > ls_cua
...