{"ref":"artifact:pawelwiejkut-bw-remove-characters","page":"/artifacts/pawelwiejkut-bw-remove-characters","json":"/artifacts/pawelwiejkut-bw-remove-characters.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"pawelwiejkut-bw-remove-characters","name":"pawelwiejkut/bw_remove_characters","artifact_type":"package","ecosystem":"abap","domain":"data-and-persistence","origin_ring":"independent","description":{"one_line":"An ABAP class for a BW transformation's end routine that strips the characters an InfoObject cannot accept, checked against transaction RSKC, before they cause an activation error.","short":"ABAP class stripping invalid characters in BW end routines","what_it_solves":"A flat-file load into BW can carry characters an InfoObject's data type rejects, which then fails activation partway through a DSO load. Put in a transformation's end routine between the flat-file source and the target DSO, the class checks each value with the SAP function module RSKC_CHAVL_OF_IOBJ_CHECK, going by the characters maintained in transaction RSKC, and removes whatever is not allowed. It also stops a value reaching a data type that cannot hold it, char values passed to date fields being the maintainer's example. It installs through [abapGit](artifact:abapgit-abapgit) or by copying the class, and is called with a reference to result_package."},"links":{"repo":"https://github.com/pawelwiejkut/bw_remove_characters","homepage":"https://pawelwiejkut.dev/posts/bw-remove-charters/"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/pawelwiejkut/bw_remove_characters","title":"pawelwiejkut/bw_remove_characters — README, Usage instructions","checked":"2026-10-19","quote":"2. Add following code into end routine to your transformations between flatfile datasource and DSO:"}]},"distribution":{"value":["abapgit","copy"],"sources":[{"url":"https://github.com/pawelwiejkut/bw_remove_characters","title":"pawelwiejkut/bw_remove_characters — README, Usage instructions","checked":"2026-10-19","quote":"1. Clone code using ABAP Git or just copy class,"}]}},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:warehouse-loading","what_it_does":"Removes characters an InfoObject's data type does not accept from records passed through a BW transformation's end routine, before they can fail activation.","sources":[{"url":"https://github.com/pawelwiejkut/bw_remove_characters","title":"pawelwiejkut/bw_remove_characters — README","checked":"2026-10-19","quote":"To prevent activation error of this data, please use this development in your transformation end routine on the first layer (RSDS->DSO)."},{"url":"https://github.com/pawelwiejkut/bw_remove_characters","title":"pawelwiejkut/bw_remove_characters — README, Why better than other solutions ?","checked":"2026-10-19","quote":"This development uses standard SAP function module RSKC_CHAVL_OF_IOBJ_CHECK"},{"url":"https://github.com/pawelwiejkut/bw_remove_characters","title":"pawelwiejkut/bw_remove_characters — README, Why better than other solutions ?","checked":"2026-10-19","quote":"* bases on entries that you provided in RSKC transaction"}]}],"maintainers":["actor:pawelwiejkut"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"contributors":["actor:pawelwiejkut"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2024-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"SAP_BASIS 753 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12)"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"workflows present, no completed run on the default branch"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":4,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":4,"forks":2,"open_issues":0,"archived":false,"pushed_at":"2024-10-08","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2019-11-09T15:29:01Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":1,"other_ci":false,"readme_bytes":2468,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2019-11-09","last_commit":"2024-10-08","commits":60,"contributors":1,"readme_path":"README.md","readme_sha":"7b0394b42e022c7f3f9039a4c2bf6b7c2e10fbf4","repo_read":"2026-10-26","abap_syntax":{"repo":"pawelwiejkut/bw_remove_characters","file":"abaplint.json","url":"https://github.com/pawelwiejkut/bw_remove_characters/blob/HEAD/abaplint.json","version":"v753","floor":"753","checked":"2026-10-26"}},"edges":{"maintainers":[{"ref":"actor:pawelwiejkut","name":"Paweł Wiejkut","json":"/actors/pawelwiejkut.json"}],"contributors":[{"ref":"actor:pawelwiejkut","name":"Paweł Wiejkut","json":"/actors/pawelwiejkut.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}