@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,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Where-used operations for ABAP objects
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getWhereUsed = getWhereUsed;
|
|
7
|
+
const connection_1 = require("@mcp-abap-adt/connection");
|
|
8
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
9
|
+
/**
|
|
10
|
+
* Build object URI based on type and name
|
|
11
|
+
*/
|
|
12
|
+
function buildObjectUri(objectName, objectType) {
|
|
13
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(objectName);
|
|
14
|
+
switch (objectType.toLowerCase()) {
|
|
15
|
+
case 'class':
|
|
16
|
+
case 'clas/oc':
|
|
17
|
+
return `/sap/bc/adt/oo/classes/${encodedName}`;
|
|
18
|
+
case 'program':
|
|
19
|
+
case 'prog/p':
|
|
20
|
+
return `/sap/bc/adt/programs/programs/${encodedName}`;
|
|
21
|
+
case 'include':
|
|
22
|
+
return `/sap/bc/adt/programs/includes/${encodedName}`;
|
|
23
|
+
case 'function':
|
|
24
|
+
case 'functiongroup':
|
|
25
|
+
case 'fugr':
|
|
26
|
+
return `/sap/bc/adt/functions/groups/${encodedName}`;
|
|
27
|
+
case 'functionmodule':
|
|
28
|
+
case 'function_module':
|
|
29
|
+
case 'fugr/ff':
|
|
30
|
+
if (objectName.includes('|')) {
|
|
31
|
+
const [group, fm] = objectName.split('|');
|
|
32
|
+
return `/sap/bc/adt/functions/groups/${(0, internalUtils_1.encodeSapObjectName)(group)}/fmodules/${(0, internalUtils_1.encodeSapObjectName)(fm)}`;
|
|
33
|
+
}
|
|
34
|
+
throw new Error('Function module name must be in format GROUP|FM_NAME');
|
|
35
|
+
case 'interface':
|
|
36
|
+
case 'intf/if':
|
|
37
|
+
return `/sap/bc/adt/oo/interfaces/${encodedName}`;
|
|
38
|
+
case 'package':
|
|
39
|
+
case 'devc/k':
|
|
40
|
+
return `/sap/bc/adt/packages/${encodedName}`;
|
|
41
|
+
case 'table':
|
|
42
|
+
case 'tabl/dt':
|
|
43
|
+
return `/sap/bc/adt/ddic/tables/${encodedName}`;
|
|
44
|
+
case 'structure':
|
|
45
|
+
case 'stru/dt':
|
|
46
|
+
return `/sap/bc/adt/ddic/structures/${encodedName}`;
|
|
47
|
+
case 'domain':
|
|
48
|
+
case 'doma/dd':
|
|
49
|
+
return `/sap/bc/adt/ddic/domains/${encodedName}`;
|
|
50
|
+
case 'dataelement':
|
|
51
|
+
case 'dtel':
|
|
52
|
+
return `/sap/bc/adt/ddic/dataelements/${encodedName}`;
|
|
53
|
+
case 'view':
|
|
54
|
+
case 'ddls/df':
|
|
55
|
+
return `/sap/bc/adt/ddic/ddl/sources/${encodedName}`;
|
|
56
|
+
default:
|
|
57
|
+
throw new Error(`Unsupported object type for where-used: ${objectType}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get where-used references for ABAP object
|
|
62
|
+
*
|
|
63
|
+
* @param connection - ABAP connection
|
|
64
|
+
* @param params - Where-used parameters
|
|
65
|
+
* @returns Where-used references
|
|
66
|
+
*/
|
|
67
|
+
async function getWhereUsed(connection, params) {
|
|
68
|
+
if (!params.object_name) {
|
|
69
|
+
throw new Error('Object name is required');
|
|
70
|
+
}
|
|
71
|
+
if (!params.object_type) {
|
|
72
|
+
throw new Error('Object type is required');
|
|
73
|
+
}
|
|
74
|
+
const baseUrl = await connection.getBaseUrl();
|
|
75
|
+
const objectUri = buildObjectUri(params.object_name, params.object_type);
|
|
76
|
+
const url = `${baseUrl}/sap/bc/adt/repository/informationsystem/usageReferences?uri=${encodeURIComponent(objectUri)}`;
|
|
77
|
+
const requestBody = '<?xml version="1.0" encoding="UTF-8"?><usagereferences:usageReferenceRequest xmlns:usagereferences="http://www.sap.com/adt/ris/usageReferences"><usagereferences:affectedObjects/></usagereferences:usageReferenceRequest>';
|
|
78
|
+
return connection.makeAdtRequest({
|
|
79
|
+
url,
|
|
80
|
+
method: 'POST',
|
|
81
|
+
timeout: (0, connection_1.getTimeout)('default'),
|
|
82
|
+
data: requestBody,
|
|
83
|
+
headers: {
|
|
84
|
+
'Content-Type': 'application/xml',
|
|
85
|
+
'Accept': 'application/xml'
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StructureBuilder - Fluent API for structure 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 StructureBuilder(connection, logger, {
|
|
14
|
+
* structureName: 'Z_TEST_STRUCT',
|
|
15
|
+
* packageName: 'ZOK_TEST_PKG_01'
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* await builder
|
|
19
|
+
* .setFields([{ name: 'FIELD1', data_type: 'CHAR', length: 10 }])
|
|
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 { StructureField, StructureInclude } from './types';
|
|
34
|
+
import { ValidationResult } from '../shared/validation';
|
|
35
|
+
export interface StructureBuilderLogger {
|
|
36
|
+
debug?: (message: string, ...args: any[]) => void;
|
|
37
|
+
info?: (message: string, ...args: any[]) => void;
|
|
38
|
+
warn?: (message: string, ...args: any[]) => void;
|
|
39
|
+
error?: (message: string, ...args: any[]) => void;
|
|
40
|
+
}
|
|
41
|
+
export interface StructureBuilderConfig {
|
|
42
|
+
structureName: string;
|
|
43
|
+
packageName?: string;
|
|
44
|
+
transportRequest?: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
ddlCode?: string;
|
|
47
|
+
fields?: StructureField[];
|
|
48
|
+
includes?: StructureInclude[];
|
|
49
|
+
sessionId?: string;
|
|
50
|
+
onLock?: (lockHandle: string, sessionId: string) => void;
|
|
51
|
+
}
|
|
52
|
+
export interface StructureBuilderState {
|
|
53
|
+
validationResult?: ValidationResult;
|
|
54
|
+
createResult?: AxiosResponse;
|
|
55
|
+
lockHandle?: string;
|
|
56
|
+
updateResult?: AxiosResponse;
|
|
57
|
+
checkResult?: AxiosResponse;
|
|
58
|
+
unlockResult?: AxiosResponse;
|
|
59
|
+
activateResult?: AxiosResponse;
|
|
60
|
+
readResult?: AxiosResponse;
|
|
61
|
+
errors: Array<{
|
|
62
|
+
method: string;
|
|
63
|
+
error: Error;
|
|
64
|
+
timestamp: Date;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
export declare class StructureBuilder {
|
|
68
|
+
private connection;
|
|
69
|
+
private logger;
|
|
70
|
+
private config;
|
|
71
|
+
private lockHandle?;
|
|
72
|
+
private sessionId;
|
|
73
|
+
private state;
|
|
74
|
+
constructor(connection: AbapConnection, logger: StructureBuilderLogger, config: StructureBuilderConfig);
|
|
75
|
+
setPackage(packageName: string): this;
|
|
76
|
+
setRequest(transportRequest: string): this;
|
|
77
|
+
setName(structureName: string): this;
|
|
78
|
+
setDescription(description: string): this;
|
|
79
|
+
setDdlCode(ddlCode: string): this;
|
|
80
|
+
setFields(fields: StructureField[]): this;
|
|
81
|
+
setIncludes(includes: StructureInclude[]): this;
|
|
82
|
+
addField(field: StructureField): this;
|
|
83
|
+
addInclude(include: StructureInclude): this;
|
|
84
|
+
validate(): Promise<this>;
|
|
85
|
+
create(): Promise<this>;
|
|
86
|
+
lock(): Promise<this>;
|
|
87
|
+
update(ddlCode?: string): Promise<this>;
|
|
88
|
+
check(version?: 'active' | 'inactive'): Promise<this>;
|
|
89
|
+
unlock(): Promise<this>;
|
|
90
|
+
activate(): Promise<this>;
|
|
91
|
+
read(version?: 'active' | 'inactive'): Promise<this>;
|
|
92
|
+
forceUnlock(): Promise<void>;
|
|
93
|
+
getState(): Readonly<StructureBuilderState>;
|
|
94
|
+
getStructureName(): string;
|
|
95
|
+
getLockHandle(): string | undefined;
|
|
96
|
+
getSessionId(): string;
|
|
97
|
+
getValidationResult(): ValidationResult | undefined;
|
|
98
|
+
getCreateResult(): AxiosResponse | undefined;
|
|
99
|
+
getUpdateResult(): AxiosResponse | undefined;
|
|
100
|
+
getCheckResult(): AxiosResponse | undefined;
|
|
101
|
+
getUnlockResult(): AxiosResponse | undefined;
|
|
102
|
+
getActivateResult(): AxiosResponse | undefined;
|
|
103
|
+
getReadResult(): AxiosResponse | undefined;
|
|
104
|
+
getErrors(): ReadonlyArray<{
|
|
105
|
+
method: string;
|
|
106
|
+
error: Error;
|
|
107
|
+
timestamp: Date;
|
|
108
|
+
}>;
|
|
109
|
+
getResults(): {
|
|
110
|
+
validate?: ValidationResult;
|
|
111
|
+
create?: AxiosResponse;
|
|
112
|
+
update?: AxiosResponse;
|
|
113
|
+
check?: AxiosResponse;
|
|
114
|
+
unlock?: AxiosResponse;
|
|
115
|
+
activate?: AxiosResponse;
|
|
116
|
+
lockHandle?: string;
|
|
117
|
+
errors: Array<{
|
|
118
|
+
method: string;
|
|
119
|
+
error: Error;
|
|
120
|
+
timestamp: Date;
|
|
121
|
+
}>;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=StructureBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StructureBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/structure/StructureBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* StructureBuilder - Fluent API for structure operations with Promise chaining
|
|
4
|
+
*
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Method chaining: builder.create().then(b => b.lock()).then(b => b.update())...
|
|
7
|
+
* - Error handling: .catch() for error callbacks
|
|
8
|
+
* - Cleanup: .finally() for guaranteed execution
|
|
9
|
+
* - Result storage: all results stored in logger/state
|
|
10
|
+
* - Chain interruption: chain stops on first error (standard Promise behavior)
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const builder = new StructureBuilder(connection, logger, {
|
|
15
|
+
* structureName: 'Z_TEST_STRUCT',
|
|
16
|
+
* packageName: 'ZOK_TEST_PKG_01'
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* await builder
|
|
20
|
+
* .setFields([{ name: 'FIELD1', data_type: 'CHAR', length: 10 }])
|
|
21
|
+
* .create()
|
|
22
|
+
* .then(b => b.lock())
|
|
23
|
+
* .then(b => b.update())
|
|
24
|
+
* .then(b => b.check())
|
|
25
|
+
* .then(b => b.unlock())
|
|
26
|
+
* .then(b => b.activate())
|
|
27
|
+
* .catch(error => {
|
|
28
|
+
* logger.error('Operation failed:', error);
|
|
29
|
+
* });
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.StructureBuilder = void 0;
|
|
34
|
+
const sessionUtils_1 = require("../../utils/sessionUtils");
|
|
35
|
+
const create_1 = require("./create");
|
|
36
|
+
const lock_1 = require("./lock");
|
|
37
|
+
const update_1 = require("./update");
|
|
38
|
+
const check_1 = require("./check");
|
|
39
|
+
const unlock_1 = require("./unlock");
|
|
40
|
+
const activation_1 = require("./activation");
|
|
41
|
+
const validation_1 = require("./validation");
|
|
42
|
+
const read_1 = require("./read");
|
|
43
|
+
class StructureBuilder {
|
|
44
|
+
connection;
|
|
45
|
+
logger;
|
|
46
|
+
config;
|
|
47
|
+
lockHandle;
|
|
48
|
+
sessionId;
|
|
49
|
+
state;
|
|
50
|
+
constructor(connection, logger, config) {
|
|
51
|
+
this.connection = connection;
|
|
52
|
+
this.logger = logger;
|
|
53
|
+
this.config = { ...config };
|
|
54
|
+
this.sessionId = config.sessionId || (0, sessionUtils_1.generateSessionId)();
|
|
55
|
+
this.state = {
|
|
56
|
+
errors: []
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// Builder methods - return this for chaining
|
|
60
|
+
setPackage(packageName) {
|
|
61
|
+
this.config.packageName = packageName;
|
|
62
|
+
this.logger.debug?.('Package set:', packageName);
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
setRequest(transportRequest) {
|
|
66
|
+
this.config.transportRequest = transportRequest;
|
|
67
|
+
this.logger.debug?.('Transport request set:', transportRequest);
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
setName(structureName) {
|
|
71
|
+
this.config.structureName = structureName;
|
|
72
|
+
this.logger.debug?.('Structure name set:', structureName);
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
setDescription(description) {
|
|
76
|
+
this.config.description = description;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
setDdlCode(ddlCode) {
|
|
80
|
+
this.config.ddlCode = ddlCode;
|
|
81
|
+
this.logger.debug?.('DDL code set');
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
setFields(fields) {
|
|
85
|
+
this.config.fields = fields;
|
|
86
|
+
this.logger.debug?.('Fields set:', fields.length);
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
setIncludes(includes) {
|
|
90
|
+
this.config.includes = includes;
|
|
91
|
+
this.logger.debug?.('Includes set:', includes.length);
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
addField(field) {
|
|
95
|
+
if (!this.config.fields) {
|
|
96
|
+
this.config.fields = [];
|
|
97
|
+
}
|
|
98
|
+
this.config.fields.push(field);
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
addInclude(include) {
|
|
102
|
+
if (!this.config.includes) {
|
|
103
|
+
this.config.includes = [];
|
|
104
|
+
}
|
|
105
|
+
this.config.includes.push(include);
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
// Operation methods - return Promise<this> for Promise chaining
|
|
109
|
+
async validate() {
|
|
110
|
+
try {
|
|
111
|
+
this.logger.info?.('Validating structure name:', this.config.structureName);
|
|
112
|
+
const result = await (0, validation_1.validateStructureName)(this.connection, this.config.structureName, this.config.description);
|
|
113
|
+
this.state.validationResult = result;
|
|
114
|
+
if (!result.valid) {
|
|
115
|
+
throw new Error(`Structure name validation failed: ${result.message}`);
|
|
116
|
+
}
|
|
117
|
+
this.logger.info?.('Structure name validation successful');
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
this.state.errors.push({
|
|
122
|
+
method: 'validate',
|
|
123
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
124
|
+
timestamp: new Date()
|
|
125
|
+
});
|
|
126
|
+
this.logger.error?.('Validation failed:', error);
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async create() {
|
|
131
|
+
try {
|
|
132
|
+
if (!this.config.packageName) {
|
|
133
|
+
throw new Error('Package name is required');
|
|
134
|
+
}
|
|
135
|
+
if (!this.config.ddlCode) {
|
|
136
|
+
throw new Error('DDL code is required');
|
|
137
|
+
}
|
|
138
|
+
this.logger.info?.('Creating structure:', this.config.structureName);
|
|
139
|
+
const params = {
|
|
140
|
+
structure_name: this.config.structureName,
|
|
141
|
+
package_name: this.config.packageName,
|
|
142
|
+
transport_request: this.config.transportRequest,
|
|
143
|
+
description: this.config.description,
|
|
144
|
+
ddl_code: this.config.ddlCode
|
|
145
|
+
};
|
|
146
|
+
const result = await (0, create_1.createStructure)(this.connection, params);
|
|
147
|
+
this.state.createResult = result;
|
|
148
|
+
this.logger.info?.('Structure created successfully:', result.status);
|
|
149
|
+
return this;
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
this.state.errors.push({
|
|
153
|
+
method: 'create',
|
|
154
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
155
|
+
timestamp: new Date()
|
|
156
|
+
});
|
|
157
|
+
this.logger.error?.('Create failed:', error);
|
|
158
|
+
throw error;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
async lock() {
|
|
162
|
+
try {
|
|
163
|
+
this.logger.info?.('Locking structure:', this.config.structureName);
|
|
164
|
+
const lockHandle = await (0, lock_1.lockStructure)(this.connection, this.config.structureName, this.sessionId);
|
|
165
|
+
this.lockHandle = lockHandle;
|
|
166
|
+
this.state.lockHandle = lockHandle;
|
|
167
|
+
// Register lock in persistent storage if callback provided
|
|
168
|
+
if (this.config.onLock) {
|
|
169
|
+
this.config.onLock(lockHandle, this.sessionId);
|
|
170
|
+
}
|
|
171
|
+
this.logger.info?.('Structure locked, handle:', lockHandle.substring(0, 10) + '...');
|
|
172
|
+
return this;
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
this.state.errors.push({
|
|
176
|
+
method: 'lock',
|
|
177
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
178
|
+
timestamp: new Date()
|
|
179
|
+
});
|
|
180
|
+
this.logger.error?.('Lock failed:', error);
|
|
181
|
+
throw error;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
async update(ddlCode) {
|
|
185
|
+
try {
|
|
186
|
+
if (!this.lockHandle) {
|
|
187
|
+
throw new Error('Structure must be locked before update. Call lock() first.');
|
|
188
|
+
}
|
|
189
|
+
const code = ddlCode || this.config.ddlCode;
|
|
190
|
+
if (!code) {
|
|
191
|
+
throw new Error('DDL code is required. Use setDdlCode() or pass as parameter.');
|
|
192
|
+
}
|
|
193
|
+
this.logger.info?.('Updating structure:', this.config.structureName);
|
|
194
|
+
const params = {
|
|
195
|
+
structure_name: this.config.structureName,
|
|
196
|
+
ddl_code: code,
|
|
197
|
+
transport_request: this.config.transportRequest
|
|
198
|
+
};
|
|
199
|
+
const result = await (0, update_1.updateStructure)(this.connection, params, this.lockHandle, this.sessionId);
|
|
200
|
+
this.state.updateResult = result;
|
|
201
|
+
this.logger.info?.('Structure updated successfully:', result.status);
|
|
202
|
+
return this;
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
this.state.errors.push({
|
|
206
|
+
method: 'update',
|
|
207
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
208
|
+
timestamp: new Date()
|
|
209
|
+
});
|
|
210
|
+
this.logger.error?.('Update failed:', error);
|
|
211
|
+
throw error;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
async check(version = 'inactive') {
|
|
215
|
+
try {
|
|
216
|
+
this.logger.info?.('Checking structure:', this.config.structureName, 'version:', version);
|
|
217
|
+
const result = await (0, check_1.checkStructure)(this.connection, this.config.structureName, version, this.sessionId);
|
|
218
|
+
this.state.checkResult = result;
|
|
219
|
+
this.logger.info?.('Structure check successful:', result.status);
|
|
220
|
+
return this;
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
this.state.errors.push({
|
|
224
|
+
method: 'check',
|
|
225
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
226
|
+
timestamp: new Date()
|
|
227
|
+
});
|
|
228
|
+
this.logger.error?.('Check failed:', error);
|
|
229
|
+
throw error;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
async unlock() {
|
|
233
|
+
try {
|
|
234
|
+
if (!this.lockHandle) {
|
|
235
|
+
throw new Error('Structure is not locked. Call lock() first.');
|
|
236
|
+
}
|
|
237
|
+
this.logger.info?.('Unlocking structure:', this.config.structureName);
|
|
238
|
+
const result = await (0, unlock_1.unlockStructure)(this.connection, this.config.structureName, this.lockHandle, this.sessionId);
|
|
239
|
+
this.state.unlockResult = result;
|
|
240
|
+
this.lockHandle = undefined;
|
|
241
|
+
this.state.lockHandle = undefined;
|
|
242
|
+
this.logger.info?.('Structure unlocked successfully');
|
|
243
|
+
return this;
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
this.state.errors.push({
|
|
247
|
+
method: 'unlock',
|
|
248
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
249
|
+
timestamp: new Date()
|
|
250
|
+
});
|
|
251
|
+
this.logger.error?.('Unlock failed:', error);
|
|
252
|
+
throw error;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
async activate() {
|
|
256
|
+
try {
|
|
257
|
+
this.logger.info?.('Activating structure:', this.config.structureName);
|
|
258
|
+
const result = await (0, activation_1.activateStructure)(this.connection, this.config.structureName, this.sessionId);
|
|
259
|
+
this.state.activateResult = result;
|
|
260
|
+
this.logger.info?.('Structure activated successfully:', result.status);
|
|
261
|
+
return this;
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
this.state.errors.push({
|
|
265
|
+
method: 'activate',
|
|
266
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
267
|
+
timestamp: new Date()
|
|
268
|
+
});
|
|
269
|
+
this.logger.error?.('Activate failed:', error);
|
|
270
|
+
throw error;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
async read(version = 'active') {
|
|
274
|
+
try {
|
|
275
|
+
this.logger.info?.('Reading structure:', this.config.structureName);
|
|
276
|
+
const result = await (0, read_1.getStructureSource)(this.connection, this.config.structureName);
|
|
277
|
+
this.state.readResult = result;
|
|
278
|
+
this.logger.info?.('Structure read successfully:', result.status);
|
|
279
|
+
return this;
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
this.state.errors.push({
|
|
283
|
+
method: 'read',
|
|
284
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
285
|
+
timestamp: new Date()
|
|
286
|
+
});
|
|
287
|
+
this.logger.error?.('Read failed:', error);
|
|
288
|
+
throw error;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
async forceUnlock() {
|
|
292
|
+
if (!this.lockHandle) {
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
try {
|
|
296
|
+
await (0, unlock_1.unlockStructure)(this.connection, this.config.structureName, this.lockHandle, this.sessionId);
|
|
297
|
+
this.logger.info?.('Force unlock successful for', this.config.structureName);
|
|
298
|
+
}
|
|
299
|
+
catch (error) {
|
|
300
|
+
this.logger.warn?.('Force unlock failed:', error);
|
|
301
|
+
}
|
|
302
|
+
finally {
|
|
303
|
+
this.lockHandle = undefined;
|
|
304
|
+
this.state.lockHandle = undefined;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// Getters for accessing results
|
|
308
|
+
getState() {
|
|
309
|
+
return { ...this.state };
|
|
310
|
+
}
|
|
311
|
+
getStructureName() {
|
|
312
|
+
return this.config.structureName;
|
|
313
|
+
}
|
|
314
|
+
getLockHandle() {
|
|
315
|
+
return this.lockHandle;
|
|
316
|
+
}
|
|
317
|
+
getSessionId() {
|
|
318
|
+
return this.sessionId;
|
|
319
|
+
}
|
|
320
|
+
getValidationResult() {
|
|
321
|
+
return this.state.validationResult;
|
|
322
|
+
}
|
|
323
|
+
getCreateResult() {
|
|
324
|
+
return this.state.createResult;
|
|
325
|
+
}
|
|
326
|
+
getUpdateResult() {
|
|
327
|
+
return this.state.updateResult;
|
|
328
|
+
}
|
|
329
|
+
getCheckResult() {
|
|
330
|
+
return this.state.checkResult;
|
|
331
|
+
}
|
|
332
|
+
getUnlockResult() {
|
|
333
|
+
return this.state.unlockResult;
|
|
334
|
+
}
|
|
335
|
+
getActivateResult() {
|
|
336
|
+
return this.state.activateResult;
|
|
337
|
+
}
|
|
338
|
+
getReadResult() {
|
|
339
|
+
return this.state.readResult;
|
|
340
|
+
}
|
|
341
|
+
getErrors() {
|
|
342
|
+
return [...this.state.errors];
|
|
343
|
+
}
|
|
344
|
+
getResults() {
|
|
345
|
+
return {
|
|
346
|
+
validate: this.state.validationResult,
|
|
347
|
+
create: this.state.createResult,
|
|
348
|
+
update: this.state.updateResult,
|
|
349
|
+
check: this.state.checkResult,
|
|
350
|
+
unlock: this.state.unlockResult,
|
|
351
|
+
activate: this.state.activateResult,
|
|
352
|
+
lockHandle: this.lockHandle,
|
|
353
|
+
errors: [...this.state.errors]
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
exports.StructureBuilder = StructureBuilder;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure activation operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Activate the structure after creation
|
|
8
|
+
*/
|
|
9
|
+
export declare function activateStructure(connection: AbapConnection, structureName: string, sessionId: string): Promise<AxiosResponse>;
|
|
10
|
+
//# sourceMappingURL=activation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../../src/core/structure/activation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAGxB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure activation operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.activateStructure = activateStructure;
|
|
7
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
8
|
+
const activationUtils_1 = require("../../utils/activationUtils");
|
|
9
|
+
/**
|
|
10
|
+
* Activate the structure after creation
|
|
11
|
+
*/
|
|
12
|
+
async function activateStructure(connection, structureName, sessionId) {
|
|
13
|
+
const objectUri = `/sap/bc/adt/ddic/structures/${(0, internalUtils_1.encodeSapObjectName)(structureName)}`;
|
|
14
|
+
return await (0, activationUtils_1.activateObjectInSession)(connection, objectUri, structureName, sessionId, true);
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure check operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Check structure syntax
|
|
8
|
+
* Note: For DDIC objects like structures, check may not be fully supported in all SAP systems.
|
|
9
|
+
* If check fails with "inactive version does not exist" or "importing from database" error, it's often safe to skip.
|
|
10
|
+
*/
|
|
11
|
+
export declare function checkStructure(connection: AbapConnection, structureName: string, version?: string, sessionId?: string): Promise<AxiosResponse>;
|
|
12
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/structure/check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,MAAiB,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAmCxB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Structure check operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.checkStructure = checkStructure;
|
|
7
|
+
const checkRun_1 = require("../shared/checkRun");
|
|
8
|
+
/**
|
|
9
|
+
* Check structure syntax
|
|
10
|
+
* Note: For DDIC objects like structures, check may not be fully supported in all SAP systems.
|
|
11
|
+
* If check fails with "inactive version does not exist" or "importing from database" error, it's often safe to skip.
|
|
12
|
+
*/
|
|
13
|
+
async function checkStructure(connection, structureName, version = 'active', sessionId) {
|
|
14
|
+
const response = await (0, checkRun_1.runCheckRun)(connection, 'structure', structureName, version, 'abapCheckRun', sessionId);
|
|
15
|
+
const checkResult = (0, checkRun_1.parseCheckRunResponse)(response);
|
|
16
|
+
if (!checkResult.success && checkResult.has_errors) {
|
|
17
|
+
// For DDIC objects, "inactive version does not exist", "importing from database", or "has been checked" errors
|
|
18
|
+
// are often non-critical and can be safely ignored, especially for inactive versions
|
|
19
|
+
const errorMessage = checkResult.message || '';
|
|
20
|
+
// Check both message and errors array for "has been checked" message
|
|
21
|
+
const hasCheckedMessage = errorMessage.toLowerCase().includes('has been checked') ||
|
|
22
|
+
checkResult.errors.some((err) => (err.text || '').toLowerCase().includes('has been checked'));
|
|
23
|
+
if (hasCheckedMessage) {
|
|
24
|
+
// This is expected behavior - structure was already checked, return response anyway
|
|
25
|
+
if (process.env.DEBUG_TESTS === 'true') {
|
|
26
|
+
console.warn(`Check warning for structure ${structureName}: ${errorMessage} (structure was already checked)`);
|
|
27
|
+
}
|
|
28
|
+
return response; // Return response anyway
|
|
29
|
+
}
|
|
30
|
+
if ((errorMessage.toLowerCase().includes('inactive version') &&
|
|
31
|
+
errorMessage.toLowerCase().includes('does not exist')) ||
|
|
32
|
+
(errorMessage.toLowerCase().includes('importing') &&
|
|
33
|
+
errorMessage.toLowerCase().includes('database'))) {
|
|
34
|
+
// This is expected behavior for DDIC objects - check may not be fully supported
|
|
35
|
+
// Return response without throwing - test chain can continue
|
|
36
|
+
if (process.env.DEBUG_TESTS === 'true') {
|
|
37
|
+
console.warn(`Check warning for structure ${structureName}: ${errorMessage} (check may not be fully supported for DDIC objects)`);
|
|
38
|
+
}
|
|
39
|
+
return response; // Return response anyway
|
|
40
|
+
}
|
|
41
|
+
throw new Error(`Structure check failed: ${checkResult.message}`);
|
|
42
|
+
}
|
|
43
|
+
return response;
|
|
44
|
+
}
|