{"ref":"artifact:jrgkraus-tool-bi","page":"/artifacts/jrgkraus-tool-bi","json":"/artifacts/jrgkraus-tool-bi.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"jrgkraus-tool-bi","name":"tool-bi","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"Builds an ABAP batch input transaction through chained method calls, one per screen, field and value, then runs it directly or writes it to a batch input session.","short":"Chained-call builder for ABAP batch input transactions","what_it_solves":"The steps of the transaction to be automated are encapsulated in one object, which the README gives as its purpose: the clarity and maintainability of ABAP batch input programs. `new_dynpro()` opens a screen, `program()` and `dynpro()` name it, `ok_code()` sets the function code, and `field( name )->value( value )` converts character strings, dates and numerical values into the `BDC_FVAL` format automatically, with `line( index )` for fields inside table controls or loop structures. Once the screens are defined, `insert()` adds the transaction to a batch input session the caller has opened with `BDC_OPEN_GROUP`, or `mode( )->run( )` executes it immediately, and `mode()`, `no_bi_mode()`, `no_bi_end()`, `set_defsize()` and `update()` set the batch input parameters before either. Messages go through the [ABAP-Logger](artifact:abap-logger-abap-logger) framework, and it accepts instances of both the modern `ZIF_LOGGER` and the legacy `ZCL_LOGGER`. Which transaction to drive and what each field gets is the caller's; for the rest the README points at the demo report that comes with it."},"links":{"repo":"https://github.com/jrgkraus/tool-bi"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/jrgkraus/tool-bi","title":"jrgkraus/tool-bi — README, Conceptual Overview","checked":"2026-09-14","quote":"For instance, to initiate automation for the 'SO10' transaction, you would instantiate the tool as follows:"}]}},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:gui-automation","what_it_does":"Builds a batch input transaction from chained method calls and either writes it into a batch input session for later processing or executes the automated transaction immediately.","sources":[{"url":"https://github.com/jrgkraus/tool-bi","title":"jrgkraus/tool-bi — README, Conceptual Overview","checked":"2026-09-14","quote":"This toolbox provides the flexibility to either generate a batch input session for later processing or to execute the automated transaction immediately."}]}],"requires":[{"ref":"artifact:abap-logger-abap-logger","for":"Logs the messages a batch input run produces; the README names it under its own dependencies heading, with no condition stated.","sources":[{"url":"https://github.com/jrgkraus/tool-bi","title":"jrgkraus/tool-bi — README, dependencies","checked":"2026-09-14","quote":"This tool relies on the [ABAP logger library](https://github.com/ABAP-Logger/ABAP-Logger) for its logging capabilities."}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"maintainers":["actor:jrgkraus"],"contributors":["actor:jrgkraus"]},"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":"fair","evidence":"pushed 2025-04, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"fair","evidence":"README 3 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":6,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":6,"forks":1,"open_issues":0,"archived":false,"pushed_at":"2025-04-25","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2025-04-07T14:05:39Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":3556,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-04-07","last_commit":"2025-04-25","commits":11,"contributors":1,"readme_path":"readme.md","readme_sha":"91f4c0ee89c40762111caaf72c3684df67feae39","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:jrgkraus","name":"Jörg Krause","json":"/actors/jrgkraus.json"}],"contributors":[{"ref":"actor:jrgkraus","name":"Jörg Krause","json":"/actors/jrgkraus.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}