@mcp-abap-adt/adt-clients 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +184 -0
- package/bin/README.md +368 -0
- package/bin/lock-object.js +274 -0
- package/bin/manage-locks.js +331 -0
- package/bin/manage-sessions.js +235 -0
- package/bin/unlock-object.js +291 -0
- package/bin/unlock-test-objects.js +248 -0
- package/dist/clients/CrudClient.d.ts +48 -0
- package/dist/clients/CrudClient.d.ts.map +1 -0
- package/dist/clients/CrudClient.js +135 -0
- package/dist/clients/LockClient.d.ts +28 -0
- package/dist/clients/LockClient.d.ts.map +1 -0
- package/dist/clients/LockClient.js +141 -0
- package/dist/clients/ManagementClient.d.ts +34 -0
- package/dist/clients/ManagementClient.d.ts.map +1 -0
- package/dist/clients/ManagementClient.js +80 -0
- package/dist/clients/ReadOnlyClient.d.ts +70 -0
- package/dist/clients/ReadOnlyClient.d.ts.map +1 -0
- package/dist/clients/ReadOnlyClient.js +141 -0
- package/dist/clients/ValidationClient.d.ts +8 -0
- package/dist/clients/ValidationClient.d.ts.map +1 -0
- package/dist/clients/ValidationClient.js +14 -0
- package/dist/core/class/ClassBuilder.d.ts +140 -0
- package/dist/core/class/ClassBuilder.d.ts.map +1 -0
- package/dist/core/class/ClassBuilder.js +400 -0
- package/dist/core/class/activation.d.ts +11 -0
- package/dist/core/class/activation.d.ts.map +1 -0
- package/dist/core/class/activation.js +16 -0
- package/dist/core/class/check.d.ts +24 -0
- package/dist/core/class/check.d.ts.map +1 -0
- package/dist/core/class/check.js +73 -0
- package/dist/core/class/create.d.ts +30 -0
- package/dist/core/class/create.d.ts.map +1 -0
- package/dist/core/class/create.js +118 -0
- package/dist/core/class/index.d.ts +14 -0
- package/dist/core/class/index.d.ts.map +1 -0
- package/dist/core/class/index.js +31 -0
- package/dist/core/class/lock.d.ts +20 -0
- package/dist/core/class/lock.d.ts.map +1 -0
- package/dist/core/class/lock.js +49 -0
- package/dist/core/class/read.d.ts +34 -0
- package/dist/core/class/read.d.ts.map +1 -0
- package/dist/core/class/read.js +59 -0
- package/dist/core/class/run.d.ts +51 -0
- package/dist/core/class/run.d.ts.map +1 -0
- package/dist/core/class/run.js +105 -0
- package/dist/core/class/unlock.d.ts +11 -0
- package/dist/core/class/unlock.d.ts.map +1 -0
- package/dist/core/class/unlock.js +16 -0
- package/dist/core/class/update.d.ts +11 -0
- package/dist/core/class/update.d.ts.map +1 -0
- package/dist/core/class/update.js +30 -0
- package/dist/core/class/validation.d.ts +28 -0
- package/dist/core/class/validation.d.ts.map +1 -0
- package/dist/core/class/validation.js +269 -0
- package/dist/core/dataElement/DataElementBuilder.d.ts +113 -0
- package/dist/core/dataElement/DataElementBuilder.d.ts.map +1 -0
- package/dist/core/dataElement/DataElementBuilder.js +449 -0
- package/dist/core/dataElement/activation.d.ts +11 -0
- package/dist/core/dataElement/activation.d.ts.map +1 -0
- package/dist/core/dataElement/activation.js +123 -0
- package/dist/core/dataElement/check.d.ts +12 -0
- package/dist/core/dataElement/check.d.ts.map +1 -0
- package/dist/core/dataElement/check.js +32 -0
- package/dist/core/dataElement/create.d.ts +12 -0
- package/dist/core/dataElement/create.d.ts.map +1 -0
- package/dist/core/dataElement/create.js +259 -0
- package/dist/core/dataElement/delete.d.ts +14 -0
- package/dist/core/dataElement/delete.d.ts.map +1 -0
- package/dist/core/dataElement/delete.js +21 -0
- package/dist/core/dataElement/index.d.ts +14 -0
- package/dist/core/dataElement/index.d.ts.map +1 -0
- package/dist/core/dataElement/index.js +31 -0
- package/dist/core/dataElement/lock.d.ts +10 -0
- package/dist/core/dataElement/lock.d.ts.map +1 -0
- package/dist/core/dataElement/lock.js +31 -0
- package/dist/core/dataElement/read.d.ts +17 -0
- package/dist/core/dataElement/read.d.ts.map +1 -0
- package/dist/core/dataElement/read.js +42 -0
- package/dist/core/dataElement/types.d.ts +64 -0
- package/dist/core/dataElement/types.d.ts.map +1 -0
- package/dist/core/dataElement/types.js +5 -0
- package/dist/core/dataElement/unlock.d.ts +11 -0
- package/dist/core/dataElement/unlock.d.ts.map +1 -0
- package/dist/core/dataElement/unlock.js +17 -0
- package/dist/core/dataElement/update.d.ts +29 -0
- package/dist/core/dataElement/update.d.ts.map +1 -0
- package/dist/core/dataElement/update.js +269 -0
- package/dist/core/delete.d.ts +22 -0
- package/dist/core/delete.d.ts.map +1 -0
- package/dist/core/delete.js +148 -0
- package/dist/core/domain/DomainBuilder.d.ts +135 -0
- package/dist/core/domain/DomainBuilder.d.ts.map +1 -0
- package/dist/core/domain/DomainBuilder.js +430 -0
- package/dist/core/domain/activation.d.ts +11 -0
- package/dist/core/domain/activation.d.ts.map +1 -0
- package/dist/core/domain/activation.js +16 -0
- package/dist/core/domain/check.d.ts +16 -0
- package/dist/core/domain/check.d.ts.map +1 -0
- package/dist/core/domain/check.js +36 -0
- package/dist/core/domain/create.d.ts +21 -0
- package/dist/core/domain/create.d.ts.map +1 -0
- package/dist/core/domain/create.js +172 -0
- package/dist/core/domain/delete.d.ts +14 -0
- package/dist/core/domain/delete.d.ts.map +1 -0
- package/dist/core/domain/delete.js +21 -0
- package/dist/core/domain/index.d.ts +14 -0
- package/dist/core/domain/index.d.ts.map +1 -0
- package/dist/core/domain/index.js +31 -0
- package/dist/core/domain/lock.d.ts +15 -0
- package/dist/core/domain/lock.d.ts.map +1 -0
- package/dist/core/domain/lock.js +61 -0
- package/dist/core/domain/read.d.ts +17 -0
- package/dist/core/domain/read.d.ts.map +1 -0
- package/dist/core/domain/read.js +42 -0
- package/dist/core/domain/types.d.ts +38 -0
- package/dist/core/domain/types.d.ts.map +1 -0
- package/dist/core/domain/types.js +5 -0
- package/dist/core/domain/unlock.d.ts +11 -0
- package/dist/core/domain/unlock.d.ts.map +1 -0
- package/dist/core/domain/unlock.js +17 -0
- package/dist/core/domain/update.d.ts +12 -0
- package/dist/core/domain/update.d.ts.map +1 -0
- package/dist/core/domain/update.js +144 -0
- package/dist/core/functionGroup/FunctionGroupBuilder.d.ts +91 -0
- package/dist/core/functionGroup/FunctionGroupBuilder.d.ts.map +1 -0
- package/dist/core/functionGroup/FunctionGroupBuilder.js +268 -0
- package/dist/core/functionGroup/activation.d.ts +10 -0
- package/dist/core/functionGroup/activation.d.ts.map +1 -0
- package/dist/core/functionGroup/activation.js +30 -0
- package/dist/core/functionGroup/check.d.ts +24 -0
- package/dist/core/functionGroup/check.d.ts.map +1 -0
- package/dist/core/functionGroup/check.js +91 -0
- package/dist/core/functionGroup/create.d.ts +12 -0
- package/dist/core/functionGroup/create.d.ts.map +1 -0
- package/dist/core/functionGroup/create.js +90 -0
- package/dist/core/functionGroup/delete.d.ts +14 -0
- package/dist/core/functionGroup/delete.d.ts.map +1 -0
- package/dist/core/functionGroup/delete.js +21 -0
- package/dist/core/functionGroup/index.d.ts +15 -0
- package/dist/core/functionGroup/index.d.ts.map +1 -0
- package/dist/core/functionGroup/index.js +32 -0
- package/dist/core/functionGroup/lock.d.ts +25 -0
- package/dist/core/functionGroup/lock.d.ts.map +1 -0
- package/dist/core/functionGroup/lock.js +50 -0
- package/dist/core/functionGroup/read.d.ts +17 -0
- package/dist/core/functionGroup/read.d.ts.map +1 -0
- package/dist/core/functionGroup/read.js +42 -0
- package/dist/core/functionGroup/types.d.ts +11 -0
- package/dist/core/functionGroup/types.d.ts.map +1 -0
- package/dist/core/functionGroup/types.js +5 -0
- package/dist/core/functionGroup/unlock.d.ts +5 -0
- package/dist/core/functionGroup/unlock.d.ts.map +1 -0
- package/dist/core/functionGroup/unlock.js +8 -0
- package/dist/core/functionGroup/update.d.ts +20 -0
- package/dist/core/functionGroup/update.d.ts.map +1 -0
- package/dist/core/functionGroup/update.js +119 -0
- package/dist/core/functionGroup/validation.d.ts +10 -0
- package/dist/core/functionGroup/validation.d.ts.map +1 -0
- package/dist/core/functionGroup/validation.js +17 -0
- package/dist/core/functionModule/FunctionModuleBuilder.d.ts +101 -0
- package/dist/core/functionModule/FunctionModuleBuilder.d.ts.map +1 -0
- package/dist/core/functionModule/FunctionModuleBuilder.js +314 -0
- package/dist/core/functionModule/activation.d.ts +10 -0
- package/dist/core/functionModule/activation.d.ts.map +1 -0
- package/dist/core/functionModule/activation.js +17 -0
- package/dist/core/functionModule/check.d.ts +23 -0
- package/dist/core/functionModule/check.d.ts.map +1 -0
- package/dist/core/functionModule/check.js +116 -0
- package/dist/core/functionModule/create.d.ts +12 -0
- package/dist/core/functionModule/create.d.ts.map +1 -0
- package/dist/core/functionModule/create.js +158 -0
- package/dist/core/functionModule/delete.d.ts +15 -0
- package/dist/core/functionModule/delete.d.ts.map +1 -0
- package/dist/core/functionModule/delete.js +25 -0
- package/dist/core/functionModule/index.d.ts +15 -0
- package/dist/core/functionModule/index.d.ts.map +1 -0
- package/dist/core/functionModule/index.js +32 -0
- package/dist/core/functionModule/lock.d.ts +18 -0
- package/dist/core/functionModule/lock.d.ts.map +1 -0
- package/dist/core/functionModule/lock.js +52 -0
- package/dist/core/functionModule/read.d.ts +31 -0
- package/dist/core/functionModule/read.d.ts.map +1 -0
- package/dist/core/functionModule/read.js +57 -0
- package/dist/core/functionModule/types.d.ts +19 -0
- package/dist/core/functionModule/types.d.ts.map +1 -0
- package/dist/core/functionModule/types.js +5 -0
- package/dist/core/functionModule/unlock.d.ts +10 -0
- package/dist/core/functionModule/unlock.d.ts.map +1 -0
- package/dist/core/functionModule/unlock.js +20 -0
- package/dist/core/functionModule/update.d.ts +17 -0
- package/dist/core/functionModule/update.d.ts.map +1 -0
- package/dist/core/functionModule/update.js +103 -0
- package/dist/core/functionModule/validation.d.ts +27 -0
- package/dist/core/functionModule/validation.d.ts.map +1 -0
- package/dist/core/functionModule/validation.js +107 -0
- package/dist/core/interface/InterfaceBuilder.d.ts +98 -0
- package/dist/core/interface/InterfaceBuilder.d.ts.map +1 -0
- package/dist/core/interface/InterfaceBuilder.js +311 -0
- package/dist/core/interface/activation.d.ts +11 -0
- package/dist/core/interface/activation.d.ts.map +1 -0
- package/dist/core/interface/activation.js +16 -0
- package/dist/core/interface/check.d.ts +10 -0
- package/dist/core/interface/check.d.ts.map +1 -0
- package/dist/core/interface/check.js +18 -0
- package/dist/core/interface/create.d.ts +12 -0
- package/dist/core/interface/create.d.ts.map +1 -0
- package/dist/core/interface/create.js +119 -0
- package/dist/core/interface/delete.d.ts +20 -0
- package/dist/core/interface/delete.d.ts.map +1 -0
- package/dist/core/interface/delete.js +47 -0
- package/dist/core/interface/index.d.ts +15 -0
- package/dist/core/interface/index.d.ts.map +1 -0
- package/dist/core/interface/index.js +32 -0
- package/dist/core/interface/lock.d.ts +23 -0
- package/dist/core/interface/lock.d.ts.map +1 -0
- package/dist/core/interface/lock.js +51 -0
- package/dist/core/interface/read.d.ts +26 -0
- package/dist/core/interface/read.d.ts.map +1 -0
- package/dist/core/interface/read.js +51 -0
- package/dist/core/interface/types.d.ts +19 -0
- package/dist/core/interface/types.d.ts.map +1 -0
- package/dist/core/interface/types.js +5 -0
- package/dist/core/interface/unlock.d.ts +11 -0
- package/dist/core/interface/unlock.d.ts.map +1 -0
- package/dist/core/interface/unlock.js +35 -0
- package/dist/core/interface/update.d.ts +12 -0
- package/dist/core/interface/update.d.ts.map +1 -0
- package/dist/core/interface/update.js +82 -0
- package/dist/core/interface/validation.d.ts +10 -0
- package/dist/core/interface/validation.d.ts.map +1 -0
- package/dist/core/interface/validation.js +17 -0
- package/dist/core/managementOperations.d.ts +34 -0
- package/dist/core/managementOperations.d.ts.map +1 -0
- package/dist/core/managementOperations.js +136 -0
- package/dist/core/package/PackageBuilder.d.ts +129 -0
- package/dist/core/package/PackageBuilder.d.ts.map +1 -0
- package/dist/core/package/PackageBuilder.js +386 -0
- package/dist/core/package/check.d.ts +9 -0
- package/dist/core/package/check.d.ts.map +1 -0
- package/dist/core/package/check.js +29 -0
- package/dist/core/package/create.d.ts +12 -0
- package/dist/core/package/create.d.ts.map +1 -0
- package/dist/core/package/create.js +145 -0
- package/dist/core/package/delete.d.ts +27 -0
- package/dist/core/package/delete.d.ts.map +1 -0
- package/dist/core/package/delete.js +138 -0
- package/dist/core/package/index.d.ts +15 -0
- package/dist/core/package/index.d.ts.map +1 -0
- package/dist/core/package/index.js +32 -0
- package/dist/core/package/lock.d.ts +10 -0
- package/dist/core/package/lock.d.ts.map +1 -0
- package/dist/core/package/lock.js +28 -0
- package/dist/core/package/read.d.ts +17 -0
- package/dist/core/package/read.d.ts.map +1 -0
- package/dist/core/package/read.js +42 -0
- package/dist/core/package/transportCheck.d.ts +10 -0
- package/dist/core/package/transportCheck.d.ts.map +1 -0
- package/dist/core/package/transportCheck.js +52 -0
- package/dist/core/package/types.d.ts +15 -0
- package/dist/core/package/types.d.ts.map +1 -0
- package/dist/core/package/types.js +5 -0
- package/dist/core/package/unlock.d.ts +11 -0
- package/dist/core/package/unlock.d.ts.map +1 -0
- package/dist/core/package/unlock.js +16 -0
- package/dist/core/package/update.d.ts +19 -0
- package/dist/core/package/update.d.ts.map +1 -0
- package/dist/core/package/update.js +125 -0
- package/dist/core/package/validation.d.ts +14 -0
- package/dist/core/package/validation.d.ts.map +1 -0
- package/dist/core/package/validation.js +72 -0
- package/dist/core/program/ProgramBuilder.d.ts +102 -0
- package/dist/core/program/ProgramBuilder.d.ts.map +1 -0
- package/dist/core/program/ProgramBuilder.js +321 -0
- package/dist/core/program/activation.d.ts +11 -0
- package/dist/core/program/activation.d.ts.map +1 -0
- package/dist/core/program/activation.js +16 -0
- package/dist/core/program/check.d.ts +10 -0
- package/dist/core/program/check.d.ts.map +1 -0
- package/dist/core/program/check.js +18 -0
- package/dist/core/program/create.d.ts +23 -0
- package/dist/core/program/create.d.ts.map +1 -0
- package/dist/core/program/create.js +159 -0
- package/dist/core/program/delete.d.ts +14 -0
- package/dist/core/program/delete.d.ts.map +1 -0
- package/dist/core/program/delete.js +21 -0
- package/dist/core/program/index.d.ts +14 -0
- package/dist/core/program/index.d.ts.map +1 -0
- package/dist/core/program/index.js +31 -0
- package/dist/core/program/lock.d.ts +20 -0
- package/dist/core/program/lock.d.ts.map +1 -0
- package/dist/core/program/lock.js +49 -0
- package/dist/core/program/read.d.ts +26 -0
- package/dist/core/program/read.d.ts.map +1 -0
- package/dist/core/program/read.js +51 -0
- package/dist/core/program/unlock.d.ts +11 -0
- package/dist/core/program/unlock.d.ts.map +1 -0
- package/dist/core/program/unlock.js +16 -0
- package/dist/core/program/update.d.ts +16 -0
- package/dist/core/program/update.d.ts.map +1 -0
- package/dist/core/program/update.js +82 -0
- package/dist/core/program/validation.d.ts +10 -0
- package/dist/core/program/validation.d.ts.map +1 -0
- package/dist/core/program/validation.js +17 -0
- package/dist/core/readOperations.d.ts +63 -0
- package/dist/core/readOperations.d.ts.map +1 -0
- package/dist/core/readOperations.js +204 -0
- package/dist/core/shared/checkRun.d.ts +68 -0
- package/dist/core/shared/checkRun.d.ts.map +1 -0
- package/dist/core/shared/checkRun.js +292 -0
- package/dist/core/shared/readMetadata.d.ts +16 -0
- package/dist/core/shared/readMetadata.d.ts.map +1 -0
- package/dist/core/shared/readMetadata.js +74 -0
- package/dist/core/shared/readSource.d.ts +21 -0
- package/dist/core/shared/readSource.d.ts.map +1 -0
- package/dist/core/shared/readSource.js +83 -0
- package/dist/core/shared/search.d.ts +26 -0
- package/dist/core/shared/search.d.ts.map +1 -0
- package/dist/core/shared/search.js +32 -0
- package/dist/core/shared/sqlQuery.d.ts +22 -0
- package/dist/core/shared/sqlQuery.d.ts.map +1 -0
- package/dist/core/shared/sqlQuery.js +36 -0
- package/dist/core/shared/systemInfo.d.ts +22 -0
- package/dist/core/shared/systemInfo.d.ts.map +1 -0
- package/dist/core/shared/systemInfo.js +67 -0
- package/dist/core/shared/tableContents.d.ts +22 -0
- package/dist/core/shared/tableContents.d.ts.map +1 -0
- package/dist/core/shared/tableContents.js +89 -0
- package/dist/core/shared/validation.d.ts +26 -0
- package/dist/core/shared/validation.d.ts.map +1 -0
- package/dist/core/shared/validation.js +134 -0
- package/dist/core/shared/whereUsed.d.ts +19 -0
- package/dist/core/shared/whereUsed.d.ts.map +1 -0
- package/dist/core/shared/whereUsed.js +88 -0
- package/dist/core/structure/StructureBuilder.d.ts +124 -0
- package/dist/core/structure/StructureBuilder.d.ts.map +1 -0
- package/dist/core/structure/StructureBuilder.js +357 -0
- package/dist/core/structure/activation.d.ts +10 -0
- package/dist/core/structure/activation.d.ts.map +1 -0
- package/dist/core/structure/activation.js +15 -0
- package/dist/core/structure/check.d.ts +12 -0
- package/dist/core/structure/check.d.ts.map +1 -0
- package/dist/core/structure/check.js +44 -0
- package/dist/core/structure/create.d.ts +12 -0
- package/dist/core/structure/create.d.ts.map +1 -0
- package/dist/core/structure/create.js +136 -0
- package/dist/core/structure/delete.d.ts +14 -0
- package/dist/core/structure/delete.d.ts.map +1 -0
- package/dist/core/structure/delete.js +21 -0
- package/dist/core/structure/index.d.ts +15 -0
- package/dist/core/structure/index.d.ts.map +1 -0
- package/dist/core/structure/index.js +32 -0
- package/dist/core/structure/lock.d.ts +10 -0
- package/dist/core/structure/lock.d.ts.map +1 -0
- package/dist/core/structure/lock.js +28 -0
- package/dist/core/structure/read.d.ts +26 -0
- package/dist/core/structure/read.d.ts.map +1 -0
- package/dist/core/structure/read.js +51 -0
- package/dist/core/structure/types.d.ts +33 -0
- package/dist/core/structure/types.d.ts.map +1 -0
- package/dist/core/structure/types.js +5 -0
- package/dist/core/structure/unlock.d.ts +11 -0
- package/dist/core/structure/unlock.d.ts.map +1 -0
- package/dist/core/structure/unlock.js +16 -0
- package/dist/core/structure/update.d.ts +11 -0
- package/dist/core/structure/update.d.ts.map +1 -0
- package/dist/core/structure/update.js +26 -0
- package/dist/core/structure/validation.d.ts +10 -0
- package/dist/core/structure/validation.d.ts.map +1 -0
- package/dist/core/structure/validation.js +17 -0
- package/dist/core/table/TableBuilder.d.ts +115 -0
- package/dist/core/table/TableBuilder.d.ts.map +1 -0
- package/dist/core/table/TableBuilder.js +328 -0
- package/dist/core/table/activation.d.ts +10 -0
- package/dist/core/table/activation.d.ts.map +1 -0
- package/dist/core/table/activation.js +15 -0
- package/dist/core/table/check.d.ts +11 -0
- package/dist/core/table/check.d.ts.map +1 -0
- package/dist/core/table/check.js +30 -0
- package/dist/core/table/create.d.ts +12 -0
- package/dist/core/table/create.d.ts.map +1 -0
- package/dist/core/table/create.js +182 -0
- package/dist/core/table/delete.d.ts +14 -0
- package/dist/core/table/delete.d.ts.map +1 -0
- package/dist/core/table/delete.js +21 -0
- package/dist/core/table/index.d.ts +15 -0
- package/dist/core/table/index.d.ts.map +1 -0
- package/dist/core/table/index.js +32 -0
- package/dist/core/table/lock.d.ts +9 -0
- package/dist/core/table/lock.d.ts.map +1 -0
- package/dist/core/table/lock.js +29 -0
- package/dist/core/table/read.d.ts +26 -0
- package/dist/core/table/read.d.ts.map +1 -0
- package/dist/core/table/read.js +51 -0
- package/dist/core/table/types.d.ts +10 -0
- package/dist/core/table/types.d.ts.map +1 -0
- package/dist/core/table/types.js +5 -0
- package/dist/core/table/unlock.d.ts +15 -0
- package/dist/core/table/unlock.d.ts.map +1 -0
- package/dist/core/table/unlock.js +32 -0
- package/dist/core/table/update.d.ts +16 -0
- package/dist/core/table/update.d.ts.map +1 -0
- package/dist/core/table/update.js +32 -0
- package/dist/core/table/validation.d.ts +10 -0
- package/dist/core/table/validation.d.ts.map +1 -0
- package/dist/core/table/validation.js +17 -0
- package/dist/core/transport/TransportBuilder.d.ts +85 -0
- package/dist/core/transport/TransportBuilder.d.ts.map +1 -0
- package/dist/core/transport/TransportBuilder.js +154 -0
- package/dist/core/transport/create.d.ts +11 -0
- package/dist/core/transport/create.d.ts.map +1 -0
- package/dist/core/transport/create.js +157 -0
- package/dist/core/transport/index.d.ts +8 -0
- package/dist/core/transport/index.d.ts.map +1 -0
- package/dist/core/transport/index.js +25 -0
- package/dist/core/transport/read.d.ts +10 -0
- package/dist/core/transport/read.d.ts.map +1 -0
- package/dist/core/transport/read.js +22 -0
- package/dist/core/transport/types.d.ts +10 -0
- package/dist/core/transport/types.d.ts.map +1 -0
- package/dist/core/transport/types.js +5 -0
- package/dist/core/view/ViewBuilder.d.ts +117 -0
- package/dist/core/view/ViewBuilder.d.ts.map +1 -0
- package/dist/core/view/ViewBuilder.js +335 -0
- package/dist/core/view/activation.d.ts +10 -0
- package/dist/core/view/activation.d.ts.map +1 -0
- package/dist/core/view/activation.js +15 -0
- package/dist/core/view/check.d.ts +7 -0
- package/dist/core/view/check.d.ts.map +1 -0
- package/dist/core/view/check.js +57 -0
- package/dist/core/view/create.d.ts +12 -0
- package/dist/core/view/create.d.ts.map +1 -0
- package/dist/core/view/create.js +88 -0
- package/dist/core/view/delete.d.ts +14 -0
- package/dist/core/view/delete.d.ts.map +1 -0
- package/dist/core/view/delete.js +21 -0
- package/dist/core/view/index.d.ts +15 -0
- package/dist/core/view/index.d.ts.map +1 -0
- package/dist/core/view/index.js +32 -0
- package/dist/core/view/lock.d.ts +18 -0
- package/dist/core/view/lock.d.ts.map +1 -0
- package/dist/core/view/lock.js +45 -0
- package/dist/core/view/read.d.ts +26 -0
- package/dist/core/view/read.d.ts.map +1 -0
- package/dist/core/view/read.js +51 -0
- package/dist/core/view/types.d.ts +19 -0
- package/dist/core/view/types.d.ts.map +1 -0
- package/dist/core/view/types.js +5 -0
- package/dist/core/view/unlock.d.ts +10 -0
- package/dist/core/view/unlock.d.ts.map +1 -0
- package/dist/core/view/unlock.js +15 -0
- package/dist/core/view/update.d.ts +12 -0
- package/dist/core/view/update.d.ts.map +1 -0
- package/dist/core/view/update.js +89 -0
- package/dist/core/view/validation.d.ts +10 -0
- package/dist/core/view/validation.d.ts.map +1 -0
- package/dist/core/view/validation.js +17 -0
- package/dist/core.d.ts +133 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +175 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +60 -0
- package/dist/utils/activationUtils.d.ts +44 -0
- package/dist/utils/activationUtils.d.ts.map +1 -0
- package/dist/utils/activationUtils.js +127 -0
- package/dist/utils/internalUtils.d.ts +12 -0
- package/dist/utils/internalUtils.d.ts.map +1 -0
- package/dist/utils/internalUtils.js +16 -0
- package/dist/utils/lockStateManager.d.ts +64 -0
- package/dist/utils/lockStateManager.d.ts.map +1 -0
- package/dist/utils/lockStateManager.js +172 -0
- package/dist/utils/sessionUtils.d.ts +69 -0
- package/dist/utils/sessionUtils.d.ts.map +1 -0
- package/dist/utils/sessionUtils.js +134 -0
- package/package.json +75 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure create operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
import { CreateStructureParams } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Create ABAP structure using DDL SQL
|
|
9
|
+
* Full workflow: create empty -> lock -> add DDL -> unlock -> activate -> verify
|
|
10
|
+
*/
|
|
11
|
+
export declare function createStructure(connection: AbapConnection, params: CreateStructureParams): Promise<AxiosResponse>;
|
|
12
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/core/structure/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+DhD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CA+ExB"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure create operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createStructure = createStructure;
|
|
7
|
+
const connection_1 = require("@mcp-abap-adt/connection");
|
|
8
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
9
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
10
|
+
const sessionUtils_1 = require("../../utils/sessionUtils");
|
|
11
|
+
const lock_1 = require("./lock");
|
|
12
|
+
const unlock_1 = require("./unlock");
|
|
13
|
+
const activation_1 = require("./activation");
|
|
14
|
+
/**
|
|
15
|
+
* Parse XML response to extract structure creation information
|
|
16
|
+
*/
|
|
17
|
+
function parseStructureCreationResponse(xml) {
|
|
18
|
+
const parser = new fast_xml_parser_1.XMLParser({
|
|
19
|
+
ignoreAttributes: false,
|
|
20
|
+
attributeNamePrefix: '',
|
|
21
|
+
parseAttributeValue: true,
|
|
22
|
+
trimValues: true
|
|
23
|
+
});
|
|
24
|
+
try {
|
|
25
|
+
const result = parser.parse(xml);
|
|
26
|
+
if (result.error || result['asx:abap']?.['asx:values']?.ERROR) {
|
|
27
|
+
const errorMsg = result.error?.message ||
|
|
28
|
+
result['asx:abap']?.['asx:values']?.ERROR?.MESSAGE ||
|
|
29
|
+
'Unknown error during structure creation';
|
|
30
|
+
throw new Error(errorMsg);
|
|
31
|
+
}
|
|
32
|
+
if (result['ddic:structure']) {
|
|
33
|
+
const structure = result['ddic:structure'];
|
|
34
|
+
return {
|
|
35
|
+
name: structure['adtcore:name'],
|
|
36
|
+
description: structure['adtcore:description'],
|
|
37
|
+
package: structure['adtcore:packageRef']?.['adtcore:name'],
|
|
38
|
+
status: 'created',
|
|
39
|
+
objectType: 'structure'
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return { raw: result, status: 'created' };
|
|
43
|
+
}
|
|
44
|
+
catch (parseError) {
|
|
45
|
+
return {
|
|
46
|
+
raw_xml: xml,
|
|
47
|
+
status: 'created',
|
|
48
|
+
note: 'XML parsing failed, but structure creation might have succeeded'
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Verify structure exists and get its details
|
|
54
|
+
*/
|
|
55
|
+
async function verifyStructureCreation(connection, structureName) {
|
|
56
|
+
const baseUrl = await connection.getBaseUrl();
|
|
57
|
+
const url = `${baseUrl}/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(structureName)}/source/main`;
|
|
58
|
+
return connection.makeAdtRequest({
|
|
59
|
+
url,
|
|
60
|
+
method: 'GET',
|
|
61
|
+
timeout: (0, connection_1.getTimeout)('default'),
|
|
62
|
+
headers: {}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create ABAP structure using DDL SQL
|
|
67
|
+
* Full workflow: create empty -> lock -> add DDL -> unlock -> activate -> verify
|
|
68
|
+
*/
|
|
69
|
+
async function createStructure(connection, params) {
|
|
70
|
+
if (!params.structure_name) {
|
|
71
|
+
throw new Error('Structure name is required');
|
|
72
|
+
}
|
|
73
|
+
if (!params.package_name) {
|
|
74
|
+
throw new Error('Package name is required');
|
|
75
|
+
}
|
|
76
|
+
if (!params.ddl_code) {
|
|
77
|
+
throw new Error('DDL code is required');
|
|
78
|
+
}
|
|
79
|
+
const sessionId = (0, sessionUtils_1.generateSessionId)();
|
|
80
|
+
let lockHandle = null;
|
|
81
|
+
try {
|
|
82
|
+
// Step 1: Create empty structure with POST
|
|
83
|
+
const createUrl = `/sap/bc/adt/ddic/structures${params.transport_request ? `?corrNr=${params.transport_request}` : ''}`;
|
|
84
|
+
const description = params.description || params.structure_name;
|
|
85
|
+
const structureXml = `<?xml version="1.0" encoding="UTF-8"?><blue:blueSource xmlns:blue="http://www.sap.com/wbobj/blue" xmlns:adtcore="http://www.sap.com/adt/core" adtcore:description="${description}" adtcore:language="EN" adtcore:name="${params.structure_name.toUpperCase()}" adtcore:type="STRU/DT" adtcore:masterLanguage="EN" adtcore:masterSystem="${process.env.SAP_SYSTEM || process.env.SAP_SYSTEM_ID || 'DEV'}" adtcore:responsible="${process.env.SAP_USER || process.env.SAP_USERNAME || 'DEVELOPER'}">
|
|
86
|
+
<adtcore:packageRef adtcore:name="${params.package_name.toUpperCase()}"/>
|
|
87
|
+
</blue:blueSource>`;
|
|
88
|
+
const headers = {
|
|
89
|
+
'Accept': 'application/vnd.sap.adt.blues.v1+xml, application/vnd.sap.adt.structures.v2+xml',
|
|
90
|
+
'Content-Type': 'application/vnd.sap.adt.structures.v2+xml'
|
|
91
|
+
};
|
|
92
|
+
const createResponse = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, createUrl, 'POST', sessionId, structureXml, headers);
|
|
93
|
+
// Step 2: Get lockHandle for the created structure
|
|
94
|
+
lockHandle = await (0, lock_1.lockStructure)(connection, params.structure_name, sessionId);
|
|
95
|
+
// Step 3: Add DDL content to the structure with lockHandle
|
|
96
|
+
const ddlUrl = `/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(params.structure_name)}/source/main?lockHandle=${lockHandle}${params.transport_request ? `&corrNr=${params.transport_request}` : ''}`;
|
|
97
|
+
const ddlHeaders = {
|
|
98
|
+
'Accept': 'application/xml, application/json, text/plain, */*',
|
|
99
|
+
'Content-Type': 'text/plain; charset=utf-8'
|
|
100
|
+
};
|
|
101
|
+
const ddlResponse = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, ddlUrl, 'PUT', sessionId, params.ddl_code, ddlHeaders);
|
|
102
|
+
parseStructureCreationResponse(ddlResponse.data);
|
|
103
|
+
// Step 4: Unlock the structure after DDL content is added
|
|
104
|
+
try {
|
|
105
|
+
await (0, unlock_1.unlockStructure)(connection, params.structure_name, lockHandle, sessionId);
|
|
106
|
+
lockHandle = null;
|
|
107
|
+
}
|
|
108
|
+
catch (unlockError) {
|
|
109
|
+
// Continue even if unlock fails
|
|
110
|
+
}
|
|
111
|
+
// Step 5: Activate structure
|
|
112
|
+
try {
|
|
113
|
+
await (0, activation_1.activateStructure)(connection, params.structure_name, sessionId);
|
|
114
|
+
}
|
|
115
|
+
catch (activateError) {
|
|
116
|
+
// Continue even if activation fails
|
|
117
|
+
}
|
|
118
|
+
// Return the DDL response
|
|
119
|
+
return ddlResponse;
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
// Try to unlock if still locked
|
|
123
|
+
if (lockHandle) {
|
|
124
|
+
try {
|
|
125
|
+
await (0, unlock_1.unlockStructure)(connection, params.structure_name, lockHandle, sessionId);
|
|
126
|
+
}
|
|
127
|
+
catch (unlockError) {
|
|
128
|
+
// Ignore unlock errors
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const errorMessage = error.response?.data
|
|
132
|
+
? (typeof error.response.data === 'string' ? error.response.data : JSON.stringify(error.response.data))
|
|
133
|
+
: error.message;
|
|
134
|
+
throw new Error(`Failed to create structure ${params.structure_name}: ${errorMessage}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure delete operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
export interface DeleteStructureParams {
|
|
7
|
+
structure_name: string;
|
|
8
|
+
transport_request?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Delete ABAP structure
|
|
12
|
+
*/
|
|
13
|
+
export declare function deleteStructure(connection: AbapConnection, params: DeleteStructureParams): Promise<AxiosResponse>;
|
|
14
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/core/structure/delete.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAYxB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure delete operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.deleteStructure = deleteStructure;
|
|
7
|
+
const delete_1 = require("../delete");
|
|
8
|
+
/**
|
|
9
|
+
* Delete ABAP structure
|
|
10
|
+
*/
|
|
11
|
+
async function deleteStructure(connection, params) {
|
|
12
|
+
if (!params.structure_name) {
|
|
13
|
+
throw new Error('structure_name is required');
|
|
14
|
+
}
|
|
15
|
+
const deleteParams = {
|
|
16
|
+
object_name: params.structure_name,
|
|
17
|
+
object_type: 'STRU/DT',
|
|
18
|
+
transport_request: params.transport_request
|
|
19
|
+
};
|
|
20
|
+
return await (0, delete_1.deleteObject)(connection, deleteParams);
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure operations - exports
|
|
3
|
+
*/
|
|
4
|
+
export * from './types';
|
|
5
|
+
export * from './create';
|
|
6
|
+
export * from './read';
|
|
7
|
+
export * from './update';
|
|
8
|
+
export * from './delete';
|
|
9
|
+
export * from './lock';
|
|
10
|
+
export * from './unlock';
|
|
11
|
+
export * from './activation';
|
|
12
|
+
export * from './check';
|
|
13
|
+
export * from './validation';
|
|
14
|
+
export { StructureBuilder, type StructureBuilderConfig, type StructureBuilderLogger, type StructureBuilderState } from './StructureBuilder';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/structure/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure operations - exports
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.StructureBuilder = void 0;
|
|
21
|
+
__exportStar(require("./types"), exports);
|
|
22
|
+
__exportStar(require("./create"), exports);
|
|
23
|
+
__exportStar(require("./read"), exports);
|
|
24
|
+
__exportStar(require("./update"), exports);
|
|
25
|
+
__exportStar(require("./delete"), exports);
|
|
26
|
+
__exportStar(require("./lock"), exports);
|
|
27
|
+
__exportStar(require("./unlock"), exports);
|
|
28
|
+
__exportStar(require("./activation"), exports);
|
|
29
|
+
__exportStar(require("./check"), exports);
|
|
30
|
+
__exportStar(require("./validation"), exports);
|
|
31
|
+
var StructureBuilder_1 = require("./StructureBuilder");
|
|
32
|
+
Object.defineProperty(exports, "StructureBuilder", { enumerable: true, get: function () { return StructureBuilder_1.StructureBuilder; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure lock operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
/**
|
|
6
|
+
* Lock structure for modification
|
|
7
|
+
* Returns lock handle that must be used in subsequent requests
|
|
8
|
+
*/
|
|
9
|
+
export declare function lockStructure(connection: AbapConnection, structureName: string, sessionId: string): Promise<string>;
|
|
10
|
+
//# sourceMappingURL=lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/core/structure/lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D;;;GAGG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure lock operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.lockStructure = lockStructure;
|
|
7
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
8
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
9
|
+
const sessionUtils_1 = require("../../utils/sessionUtils");
|
|
10
|
+
/**
|
|
11
|
+
* Lock structure for modification
|
|
12
|
+
* Returns lock handle that must be used in subsequent requests
|
|
13
|
+
*/
|
|
14
|
+
async function lockStructure(connection, structureName, sessionId) {
|
|
15
|
+
const url = `/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(structureName).toLowerCase()}?_action=LOCK&accessMode=MODIFY`;
|
|
16
|
+
const headers = {
|
|
17
|
+
'Accept': 'application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.lock.result;q=0.8, application/vnd.sap.as+xml;charset=UTF-8;dataname=com.sap.adt.lock.result2;q=0.9'
|
|
18
|
+
};
|
|
19
|
+
const response = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null, headers);
|
|
20
|
+
// Parse lock handle from XML response
|
|
21
|
+
const parser = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, attributeNamePrefix: '' });
|
|
22
|
+
const result = parser.parse(response.data);
|
|
23
|
+
const lockHandle = result?.['asx:abap']?.['asx:values']?.['DATA']?.['LOCK_HANDLE'];
|
|
24
|
+
if (!lockHandle) {
|
|
25
|
+
throw new Error('Failed to obtain lock handle from SAP. Structure may be locked by another user.');
|
|
26
|
+
}
|
|
27
|
+
return lockHandle;
|
|
28
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure read operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Get ABAP structure metadata (without source code)
|
|
8
|
+
*/
|
|
9
|
+
export declare function getStructureMetadata(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
|
|
10
|
+
/**
|
|
11
|
+
* Get ABAP structure source code
|
|
12
|
+
*/
|
|
13
|
+
export declare function getStructureSource(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* Get ABAP structure (source code by default for backward compatibility)
|
|
16
|
+
* @deprecated Use getStructureSource() or getStructureMetadata() instead
|
|
17
|
+
*/
|
|
18
|
+
export declare function getStructure(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
|
|
19
|
+
/**
|
|
20
|
+
* Get transport request for ABAP structure
|
|
21
|
+
* @param connection - SAP connection
|
|
22
|
+
* @param structureName - Structure name
|
|
23
|
+
* @returns Transport request information
|
|
24
|
+
*/
|
|
25
|
+
export declare function getStructureTransport(connection: AbapConnection, structureName: string): Promise<AxiosResponse>;
|
|
26
|
+
//# sourceMappingURL=read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/structure/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC,CAaxB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure read operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getStructureMetadata = getStructureMetadata;
|
|
7
|
+
exports.getStructureSource = getStructureSource;
|
|
8
|
+
exports.getStructure = getStructure;
|
|
9
|
+
exports.getStructureTransport = getStructureTransport;
|
|
10
|
+
const connection_1 = require("@mcp-abap-adt/connection");
|
|
11
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
12
|
+
const readMetadata_1 = require("../shared/readMetadata");
|
|
13
|
+
const readSource_1 = require("../shared/readSource");
|
|
14
|
+
/**
|
|
15
|
+
* Get ABAP structure metadata (without source code)
|
|
16
|
+
*/
|
|
17
|
+
async function getStructureMetadata(connection, structureName) {
|
|
18
|
+
return (0, readMetadata_1.readObjectMetadata)(connection, 'structure', structureName);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get ABAP structure source code
|
|
22
|
+
*/
|
|
23
|
+
async function getStructureSource(connection, structureName) {
|
|
24
|
+
return (0, readSource_1.readObjectSource)(connection, 'structure', structureName);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get ABAP structure (source code by default for backward compatibility)
|
|
28
|
+
* @deprecated Use getStructureSource() or getStructureMetadata() instead
|
|
29
|
+
*/
|
|
30
|
+
async function getStructure(connection, structureName) {
|
|
31
|
+
return getStructureSource(connection, structureName);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get transport request for ABAP structure
|
|
35
|
+
* @param connection - SAP connection
|
|
36
|
+
* @param structureName - Structure name
|
|
37
|
+
* @returns Transport request information
|
|
38
|
+
*/
|
|
39
|
+
async function getStructureTransport(connection, structureName) {
|
|
40
|
+
const baseUrl = await connection.getBaseUrl();
|
|
41
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(structureName);
|
|
42
|
+
const url = `${baseUrl}/sap/bc/adt/ddic/structures/${encodedName}/transport`;
|
|
43
|
+
return connection.makeAdtRequest({
|
|
44
|
+
url,
|
|
45
|
+
method: 'GET',
|
|
46
|
+
timeout: (0, connection_1.getTimeout)('default'),
|
|
47
|
+
headers: {
|
|
48
|
+
'Accept': 'application/vnd.sap.adt.transportorganizer.v1+xml'
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure types
|
|
3
|
+
*/
|
|
4
|
+
export interface StructureField {
|
|
5
|
+
name: string;
|
|
6
|
+
data_type?: string;
|
|
7
|
+
length?: number;
|
|
8
|
+
decimals?: number;
|
|
9
|
+
domain?: string;
|
|
10
|
+
data_element?: string;
|
|
11
|
+
structure_ref?: string;
|
|
12
|
+
table_ref?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface StructureInclude {
|
|
16
|
+
name: string;
|
|
17
|
+
suffix?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface CreateStructureParams {
|
|
20
|
+
structure_name: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
package_name: string;
|
|
23
|
+
transport_request?: string;
|
|
24
|
+
ddl_code: string;
|
|
25
|
+
fields?: StructureField[];
|
|
26
|
+
includes?: StructureInclude[];
|
|
27
|
+
}
|
|
28
|
+
export interface UpdateStructureParams {
|
|
29
|
+
structure_name: string;
|
|
30
|
+
ddl_code: string;
|
|
31
|
+
transport_request?: string;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/structure/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure unlock operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Unlock structure
|
|
8
|
+
* Must use same session and lock handle from lock operation
|
|
9
|
+
*/
|
|
10
|
+
export declare function unlockStructure(connection: AbapConnection, structureName: string, lockHandle: string, sessionId: string): Promise<AxiosResponse>;
|
|
11
|
+
//# sourceMappingURL=unlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../src/core/structure/unlock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAIxB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure unlock operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.unlockStructure = unlockStructure;
|
|
7
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
8
|
+
const sessionUtils_1 = require("../../utils/sessionUtils");
|
|
9
|
+
/**
|
|
10
|
+
* Unlock structure
|
|
11
|
+
* Must use same session and lock handle from lock operation
|
|
12
|
+
*/
|
|
13
|
+
async function unlockStructure(connection, structureName, lockHandle, sessionId) {
|
|
14
|
+
const url = `/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(structureName).toLowerCase()}?_action=UNLOCK&lockHandle=${lockHandle}`;
|
|
15
|
+
return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null);
|
|
16
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure update operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
import { UpdateStructureParams } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Update structure with DDL code
|
|
9
|
+
*/
|
|
10
|
+
export declare function updateStructure(connection: AbapConnection, params: UpdateStructureParams, lockHandle: string, sessionId: string): Promise<AxiosResponse>;
|
|
11
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/structure/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,qBAAqB,EAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAiBxB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure update operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.updateStructure = updateStructure;
|
|
7
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
8
|
+
const sessionUtils_1 = require("../../utils/sessionUtils");
|
|
9
|
+
/**
|
|
10
|
+
* Update structure with DDL code
|
|
11
|
+
*/
|
|
12
|
+
async function updateStructure(connection, params, lockHandle, sessionId) {
|
|
13
|
+
if (!params.structure_name) {
|
|
14
|
+
throw new Error('structure_name is required');
|
|
15
|
+
}
|
|
16
|
+
if (!params.ddl_code) {
|
|
17
|
+
throw new Error('ddl_code is required');
|
|
18
|
+
}
|
|
19
|
+
const structureNameEncoded = (0, internalUtils_1.encodeSapObjectName)(params.structure_name);
|
|
20
|
+
const url = `/sap/bc/adt/ddic/structures/${structureNameEncoded}/source/main?lockHandle=${lockHandle}${params.transport_request ? `&corrNr=${params.transport_request}` : ''}`;
|
|
21
|
+
const headers = {
|
|
22
|
+
'Accept': 'application/xml, application/json, text/plain, */*',
|
|
23
|
+
'Content-Type': 'text/plain; charset=utf-8'
|
|
24
|
+
};
|
|
25
|
+
return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'PUT', sessionId, params.ddl_code, headers);
|
|
26
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure validation
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { ValidationResult } from '../shared/validation';
|
|
6
|
+
/**
|
|
7
|
+
* Validate structure name
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateStructureName(connection: AbapConnection, structureName: string, description?: string): Promise<ValidationResult>;
|
|
10
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/core/structure/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure validation
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateStructureName = validateStructureName;
|
|
7
|
+
const validation_1 = require("../shared/validation");
|
|
8
|
+
/**
|
|
9
|
+
* Validate structure name
|
|
10
|
+
*/
|
|
11
|
+
async function validateStructureName(connection, structureName, description) {
|
|
12
|
+
const params = {};
|
|
13
|
+
if (description) {
|
|
14
|
+
params.description = description;
|
|
15
|
+
}
|
|
16
|
+
return (0, validation_1.validateObjectName)(connection, 'STRU/DT', structureName, params);
|
|
17
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TableBuilder - Fluent API for table operations with Promise chaining
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Method chaining: builder.create().then(b => b.lock()).then(b => b.update())...
|
|
6
|
+
* - Error handling: .catch() for error callbacks
|
|
7
|
+
* - Cleanup: .finally() for guaranteed execution
|
|
8
|
+
* - Result storage: all results stored in logger/state
|
|
9
|
+
* - Chain interruption: chain stops on first error (standard Promise behavior)
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const builder = new TableBuilder(connection, logger, {
|
|
14
|
+
* tableName: 'Z_TEST_TABLE',
|
|
15
|
+
* packageName: 'ZOK_TEST_PKG_01'
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* await builder
|
|
19
|
+
* .setDdlCode('@AbapCatalog.tableType : #TRANSPARENT\n...')
|
|
20
|
+
* .create()
|
|
21
|
+
* .then(b => b.lock())
|
|
22
|
+
* .then(b => b.update())
|
|
23
|
+
* .then(b => b.check())
|
|
24
|
+
* .then(b => b.unlock())
|
|
25
|
+
* .then(b => b.activate())
|
|
26
|
+
* .catch(error => {
|
|
27
|
+
* logger.error('Operation failed:', error);
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
32
|
+
import { AxiosResponse } from 'axios';
|
|
33
|
+
import { ValidationResult } from '../shared/validation';
|
|
34
|
+
export interface TableBuilderLogger {
|
|
35
|
+
debug?: (message: string, ...args: any[]) => void;
|
|
36
|
+
info?: (message: string, ...args: any[]) => void;
|
|
37
|
+
warn?: (message: string, ...args: any[]) => void;
|
|
38
|
+
error?: (message: string, ...args: any[]) => void;
|
|
39
|
+
}
|
|
40
|
+
export interface TableBuilderConfig {
|
|
41
|
+
tableName: string;
|
|
42
|
+
packageName?: string;
|
|
43
|
+
transportRequest?: string;
|
|
44
|
+
ddlCode?: string;
|
|
45
|
+
sessionId?: string;
|
|
46
|
+
onLock?: (lockHandle: string, sessionId: string) => void;
|
|
47
|
+
}
|
|
48
|
+
export interface TableBuilderState {
|
|
49
|
+
validationResult?: ValidationResult;
|
|
50
|
+
createResult?: AxiosResponse;
|
|
51
|
+
lockHandle?: string;
|
|
52
|
+
updateResult?: AxiosResponse;
|
|
53
|
+
checkResult?: AxiosResponse;
|
|
54
|
+
unlockResult?: AxiosResponse;
|
|
55
|
+
activateResult?: AxiosResponse;
|
|
56
|
+
readResult?: AxiosResponse;
|
|
57
|
+
errors: Array<{
|
|
58
|
+
method: string;
|
|
59
|
+
error: Error;
|
|
60
|
+
timestamp: Date;
|
|
61
|
+
}>;
|
|
62
|
+
}
|
|
63
|
+
export declare class TableBuilder {
|
|
64
|
+
private connection;
|
|
65
|
+
private logger;
|
|
66
|
+
private config;
|
|
67
|
+
private lockHandle?;
|
|
68
|
+
private sessionId;
|
|
69
|
+
private state;
|
|
70
|
+
constructor(connection: AbapConnection, logger: TableBuilderLogger, config: TableBuilderConfig);
|
|
71
|
+
setPackage(packageName: string): this;
|
|
72
|
+
setRequest(transportRequest: string): this;
|
|
73
|
+
setName(tableName: string): this;
|
|
74
|
+
setDdlCode(ddlCode: string): this;
|
|
75
|
+
validate(): Promise<this>;
|
|
76
|
+
create(): Promise<this>;
|
|
77
|
+
lock(): Promise<this>;
|
|
78
|
+
update(): Promise<this>;
|
|
79
|
+
check(reporter?: 'tableStatusCheck' | 'abapCheckRun'): Promise<this>;
|
|
80
|
+
unlock(): Promise<this>;
|
|
81
|
+
activate(): Promise<this>;
|
|
82
|
+
read(version?: 'active' | 'inactive'): Promise<this>;
|
|
83
|
+
forceUnlock(): Promise<void>;
|
|
84
|
+
getState(): Readonly<TableBuilderState>;
|
|
85
|
+
getTableName(): string;
|
|
86
|
+
getLockHandle(): string | undefined;
|
|
87
|
+
getSessionId(): string;
|
|
88
|
+
getValidationResult(): ValidationResult | undefined;
|
|
89
|
+
getCreateResult(): AxiosResponse | undefined;
|
|
90
|
+
getUpdateResult(): AxiosResponse | undefined;
|
|
91
|
+
getCheckResult(): AxiosResponse | undefined;
|
|
92
|
+
getUnlockResult(): AxiosResponse | undefined;
|
|
93
|
+
getActivateResult(): AxiosResponse | undefined;
|
|
94
|
+
getReadResult(): AxiosResponse | undefined;
|
|
95
|
+
getErrors(): ReadonlyArray<{
|
|
96
|
+
method: string;
|
|
97
|
+
error: Error;
|
|
98
|
+
timestamp: Date;
|
|
99
|
+
}>;
|
|
100
|
+
getResults(): {
|
|
101
|
+
validate?: ValidationResult;
|
|
102
|
+
create?: AxiosResponse;
|
|
103
|
+
update?: AxiosResponse;
|
|
104
|
+
check?: AxiosResponse;
|
|
105
|
+
unlock?: AxiosResponse;
|
|
106
|
+
activate?: AxiosResponse;
|
|
107
|
+
lockHandle?: string;
|
|
108
|
+
errors: Array<{
|
|
109
|
+
method: string;
|
|
110
|
+
error: Error;
|
|
111
|
+
timestamp: Date;
|
|
112
|
+
}>;
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=TableBuilder.d.ts.map
|