Motivation
VSP does not currently expose ABAP Dynpro objects through the normal source-reading contract. Screen definitions and flow logic are useful when analyzing or documenting classic dialog programs.
Proposed initial scope
Add read-only DYNP support with a deliberately narrow, fail-closed contract:
- Accept GetSource with object type DYNP.
- Accept either name=ZPROGRAM_SAMPLE/0100 or name=0100 with parent=ZPROGRAM_SAMPLE.
- Normalize the screen number to four digits.
- Read through the existing ZADT_VSP generic CallRFC bridge using RPY_DYNPRO_READ.
- Return a structured representation containing header, containers, fieldsToContainers, and flowLogic.
- Reject bridge errors, unexpected RFC response shapes, and non-zero return codes instead of returning partial data.
Create, update, and delete should remain unsupported until the behavior is validated against a non-production SAP system and reliable activation/locking semantics are defined.
Validation
A downstream implementation uses synthetic fixtures and is covered by unit tests, full Go tests, vet, build, and GitHub Actions. No customer data or SAP credentials are included.
Reference: Augusto42#4 (commit b098713).
Motivation
VSP does not currently expose ABAP Dynpro objects through the normal source-reading contract. Screen definitions and flow logic are useful when analyzing or documenting classic dialog programs.
Proposed initial scope
Add read-only DYNP support with a deliberately narrow, fail-closed contract:
Create, update, and delete should remain unsupported until the behavior is validated against a non-production SAP system and reliable activation/locking semantics are defined.
Validation
A downstream implementation uses synthetic fixtures and is covered by unit tests, full Go tests, vet, build, and GitHub Actions. No customer data or SAP credentials are included.
Reference: Augusto42#4 (commit b098713).