@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
|
+
* FunctionGroup create operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
import { CreateFunctionGroupParams } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Create ABAP function group
|
|
9
|
+
* Full workflow: create -> activate (optional)
|
|
10
|
+
*/
|
|
11
|
+
export declare function createFunctionGroup(connection: AbapConnection, params: CreateFunctionGroupParams): Promise<AxiosResponse>;
|
|
12
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/create.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AA4CpD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CAuDxB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FunctionGroup create operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createFunctionGroup = createFunctionGroup;
|
|
7
|
+
const connection_1 = require("@mcp-abap-adt/connection");
|
|
8
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
9
|
+
const systemInfo_1 = require("../shared/systemInfo");
|
|
10
|
+
const activation_1 = require("./activation");
|
|
11
|
+
/**
|
|
12
|
+
* Create function group metadata via POST
|
|
13
|
+
*/
|
|
14
|
+
async function createFunctionGroupObject(connection, functionGroupName, description, packageName, transportRequest) {
|
|
15
|
+
const baseUrl = await connection.getBaseUrl();
|
|
16
|
+
const url = `${baseUrl}/sap/bc/adt/functions/groups${transportRequest ? `?corrNr=${transportRequest}` : ''}`;
|
|
17
|
+
// Get masterSystem and responsible (only for cloud systems)
|
|
18
|
+
// On cloud, getSystemInformation returns systemID and userName
|
|
19
|
+
// On on-premise, it returns null, so we don't add these attributes
|
|
20
|
+
const systemInfo = await (0, systemInfo_1.getSystemInformation)(connection);
|
|
21
|
+
const masterSystem = systemInfo?.systemID;
|
|
22
|
+
const username = systemInfo?.userName || process.env.SAP_USERNAME || process.env.SAP_USER || '';
|
|
23
|
+
const masterSystemAttr = masterSystem ? ` adtcore:masterSystem="${masterSystem}"` : '';
|
|
24
|
+
const responsibleAttr = username ? ` adtcore:responsible="${username}"` : '';
|
|
25
|
+
const xmlPayload = `<?xml version="1.0" encoding="UTF-8"?>
|
|
26
|
+
<group:abapFunctionGroup xmlns:group="http://www.sap.com/adt/functions/groups" xmlns:adtcore="http://www.sap.com/adt/core" adtcore:description="${description}" adtcore:language="EN" adtcore:name="${functionGroupName}" adtcore:type="FUGR/F" adtcore:masterLanguage="EN"${masterSystemAttr}${responsibleAttr}>
|
|
27
|
+
<adtcore:packageRef adtcore:name="${packageName}"/>
|
|
28
|
+
</group:abapFunctionGroup>`;
|
|
29
|
+
const headers = {
|
|
30
|
+
'Content-Type': 'application/vnd.sap.adt.functions.groups.v3+xml',
|
|
31
|
+
'Accept': 'application/vnd.sap.adt.functions.groups.v3+xml'
|
|
32
|
+
};
|
|
33
|
+
return connection.makeAdtRequest({
|
|
34
|
+
url,
|
|
35
|
+
method: 'POST',
|
|
36
|
+
timeout: (0, connection_1.getTimeout)('default'),
|
|
37
|
+
data: xmlPayload,
|
|
38
|
+
headers
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create ABAP function group
|
|
43
|
+
* Full workflow: create -> activate (optional)
|
|
44
|
+
*/
|
|
45
|
+
async function createFunctionGroup(connection, params) {
|
|
46
|
+
if (!params.function_group_name || !params.package_name) {
|
|
47
|
+
throw new Error('function_group_name and package_name are required');
|
|
48
|
+
}
|
|
49
|
+
if (params.function_group_name.length > 26) {
|
|
50
|
+
throw new Error('Function group name must not exceed 26 characters');
|
|
51
|
+
}
|
|
52
|
+
if (!/^[ZY]/i.test(params.function_group_name)) {
|
|
53
|
+
throw new Error('Function group name must start with Z or Y (customer namespace)');
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
const createResponse = await createFunctionGroupObject(connection, params.function_group_name, params.description || params.function_group_name, params.package_name, params.transport_request);
|
|
57
|
+
const shouldActivate = params.activate !== false;
|
|
58
|
+
if (shouldActivate) {
|
|
59
|
+
await (0, activation_1.activateFunctionGroup)(connection, params.function_group_name);
|
|
60
|
+
}
|
|
61
|
+
// Return the real response from SAP (from initial POST)
|
|
62
|
+
return createResponse;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
let errorMessage = `Failed to create function group: ${error}`;
|
|
66
|
+
if (error.response?.status === 400) {
|
|
67
|
+
errorMessage = `Bad request. Check if function group name is valid and package exists.`;
|
|
68
|
+
}
|
|
69
|
+
else if (error.response?.status === 409) {
|
|
70
|
+
errorMessage = `Function group ${params.function_group_name} already exists.`;
|
|
71
|
+
}
|
|
72
|
+
else if (error.response?.data && typeof error.response.data === 'string') {
|
|
73
|
+
try {
|
|
74
|
+
const parser = new fast_xml_parser_1.XMLParser({
|
|
75
|
+
ignoreAttributes: false,
|
|
76
|
+
attributeNamePrefix: '@_'
|
|
77
|
+
});
|
|
78
|
+
const errorData = parser.parse(error.response.data);
|
|
79
|
+
const errorMsg = errorData['exc:exception']?.message?.['#text'] || errorData['exc:exception']?.message;
|
|
80
|
+
if (errorMsg) {
|
|
81
|
+
errorMessage = `SAP Error: ${errorMsg}`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (parseError) {
|
|
85
|
+
// Ignore parse errors, use default message
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
throw new Error(errorMessage);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FunctionGroup delete operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
export interface DeleteFunctionGroupParams {
|
|
7
|
+
function_group_name: string;
|
|
8
|
+
transport_request?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Delete ABAP function group
|
|
12
|
+
*/
|
|
13
|
+
export declare function deleteFunctionGroup(connection: AbapConnection, params: DeleteFunctionGroupParams): Promise<AxiosResponse>;
|
|
14
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/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,yBAAyB;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CAYxB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FunctionGroup delete operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.deleteFunctionGroup = deleteFunctionGroup;
|
|
7
|
+
const delete_1 = require("../delete");
|
|
8
|
+
/**
|
|
9
|
+
* Delete ABAP function group
|
|
10
|
+
*/
|
|
11
|
+
async function deleteFunctionGroup(connection, params) {
|
|
12
|
+
if (!params.function_group_name) {
|
|
13
|
+
throw new Error('function_group_name is required');
|
|
14
|
+
}
|
|
15
|
+
const deleteParams = {
|
|
16
|
+
object_name: params.function_group_name,
|
|
17
|
+
object_type: 'FUGR/F',
|
|
18
|
+
transport_request: params.transport_request
|
|
19
|
+
};
|
|
20
|
+
return await (0, delete_1.deleteObject)(connection, deleteParams);
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FunctionGroup operations - exports
|
|
3
|
+
*/
|
|
4
|
+
export * from './types';
|
|
5
|
+
export * from './create';
|
|
6
|
+
export * from './read';
|
|
7
|
+
export * from './activation';
|
|
8
|
+
export * from './check';
|
|
9
|
+
export * from './lock';
|
|
10
|
+
export * from './unlock';
|
|
11
|
+
export * from './update';
|
|
12
|
+
export * from './delete';
|
|
13
|
+
export * from './validation';
|
|
14
|
+
export { FunctionGroupBuilder, type FunctionGroupBuilderConfig, type FunctionGroupBuilderLogger, type FunctionGroupBuilderState } from './FunctionGroupBuilder';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,KAAK,0BAA0B,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FunctionGroup 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.FunctionGroupBuilder = void 0;
|
|
21
|
+
__exportStar(require("./types"), exports);
|
|
22
|
+
__exportStar(require("./create"), exports);
|
|
23
|
+
__exportStar(require("./read"), exports);
|
|
24
|
+
__exportStar(require("./activation"), exports);
|
|
25
|
+
__exportStar(require("./check"), exports);
|
|
26
|
+
__exportStar(require("./lock"), exports);
|
|
27
|
+
__exportStar(require("./unlock"), exports);
|
|
28
|
+
__exportStar(require("./update"), exports);
|
|
29
|
+
__exportStar(require("./delete"), exports);
|
|
30
|
+
__exportStar(require("./validation"), exports);
|
|
31
|
+
var FunctionGroupBuilder_1 = require("./FunctionGroupBuilder");
|
|
32
|
+
Object.defineProperty(exports, "FunctionGroupBuilder", { enumerable: true, get: function () { return FunctionGroupBuilder_1.FunctionGroupBuilder; } });
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lock Function Group operations
|
|
3
|
+
*/
|
|
4
|
+
import type { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Lock a function group for editing
|
|
8
|
+
*
|
|
9
|
+
* @param connection - ABAP connection
|
|
10
|
+
* @param functionGroupName - Name of the function group (e.g., 'Z_FUGR_TEST_0001')
|
|
11
|
+
* @param sessionId - Optional session ID for tracking
|
|
12
|
+
* @returns Lock handle string
|
|
13
|
+
*/
|
|
14
|
+
export declare function lockFunctionGroup(connection: AbapConnection, functionGroupName: string, sessionId?: string): Promise<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Unlock a function group
|
|
17
|
+
*
|
|
18
|
+
* @param connection - ABAP connection
|
|
19
|
+
* @param functionGroupName - Name of the function group
|
|
20
|
+
* @param lockHandle - Lock handle from lockFunctionGroup
|
|
21
|
+
* @param sessionId - Optional session ID for tracking
|
|
22
|
+
* @returns AxiosResponse from unlock request
|
|
23
|
+
*/
|
|
24
|
+
export declare function unlockFunctionGroup(connection: AbapConnection, functionGroupName: string, lockHandle: string, sessionId?: string): Promise<AxiosResponse>;
|
|
25
|
+
//# sourceMappingURL=lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/lock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,cAAc,EAC1B,iBAAiB,EAAE,MAAM,EACzB,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,cAAc,EAC1B,iBAAiB,EAAE,MAAM,EACzB,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,aAAa,CAAC,CAIxB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Lock Function Group operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.lockFunctionGroup = lockFunctionGroup;
|
|
7
|
+
exports.unlockFunctionGroup = unlockFunctionGroup;
|
|
8
|
+
const sessionUtils_1 = require("../../utils/sessionUtils");
|
|
9
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
10
|
+
/**
|
|
11
|
+
* Lock a function group for editing
|
|
12
|
+
*
|
|
13
|
+
* @param connection - ABAP connection
|
|
14
|
+
* @param functionGroupName - Name of the function group (e.g., 'Z_FUGR_TEST_0001')
|
|
15
|
+
* @param sessionId - Optional session ID for tracking
|
|
16
|
+
* @returns Lock handle string
|
|
17
|
+
*/
|
|
18
|
+
async function lockFunctionGroup(connection, functionGroupName, sessionId = '') {
|
|
19
|
+
const url = `/sap/bc/adt/functions/groups/${functionGroupName.toLowerCase()}?_action=LOCK&accessMode=MODIFY`;
|
|
20
|
+
const headers = {
|
|
21
|
+
'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',
|
|
22
|
+
};
|
|
23
|
+
const response = await (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null, headers);
|
|
24
|
+
// Extract lock handle from response header
|
|
25
|
+
const lockHandle = response.headers['sap-adt-lm-handle'];
|
|
26
|
+
if (!lockHandle) {
|
|
27
|
+
// Try parsing from XML body if header not present
|
|
28
|
+
const parser = new fast_xml_parser_1.XMLParser({ ignoreAttributes: false, attributeNamePrefix: '' });
|
|
29
|
+
const result = parser.parse(response.data);
|
|
30
|
+
const xmlLockHandle = result?.['asx:abap']?.['asx:values']?.['DATA']?.['LOCK_HANDLE'];
|
|
31
|
+
if (!xmlLockHandle) {
|
|
32
|
+
throw new Error('Failed to acquire lock: no lock handle in response');
|
|
33
|
+
}
|
|
34
|
+
return xmlLockHandle;
|
|
35
|
+
}
|
|
36
|
+
return lockHandle;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Unlock a function group
|
|
40
|
+
*
|
|
41
|
+
* @param connection - ABAP connection
|
|
42
|
+
* @param functionGroupName - Name of the function group
|
|
43
|
+
* @param lockHandle - Lock handle from lockFunctionGroup
|
|
44
|
+
* @param sessionId - Optional session ID for tracking
|
|
45
|
+
* @returns AxiosResponse from unlock request
|
|
46
|
+
*/
|
|
47
|
+
async function unlockFunctionGroup(connection, functionGroupName, lockHandle, sessionId = '') {
|
|
48
|
+
const url = `/sap/bc/adt/functions/groups/${functionGroupName.toLowerCase()}?_action=UNLOCK&lockHandle=${lockHandle}`;
|
|
49
|
+
return (0, sessionUtils_1.makeAdtRequestWithSession)(connection, url, 'POST', sessionId, null);
|
|
50
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FunctionGroup read operations
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { AxiosResponse } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Get ABAP function group
|
|
8
|
+
*/
|
|
9
|
+
export declare function getFunctionGroup(connection: AbapConnection, functionGroupName: string): Promise<AxiosResponse>;
|
|
10
|
+
/**
|
|
11
|
+
* Get transport request for ABAP function group
|
|
12
|
+
* @param connection - SAP connection
|
|
13
|
+
* @param functionGroupName - Function group name
|
|
14
|
+
* @returns Transport request information
|
|
15
|
+
*/
|
|
16
|
+
export declare function getFunctionGroupTransport(connection: AbapConnection, functionGroupName: string): Promise<AxiosResponse>;
|
|
17
|
+
//# sourceMappingURL=read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAWpH;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,cAAc,EAC1B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,aAAa,CAAC,CAaxB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FunctionGroup read operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getFunctionGroup = getFunctionGroup;
|
|
7
|
+
exports.getFunctionGroupTransport = getFunctionGroupTransport;
|
|
8
|
+
const connection_1 = require("@mcp-abap-adt/connection");
|
|
9
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
10
|
+
/**
|
|
11
|
+
* Get ABAP function group
|
|
12
|
+
*/
|
|
13
|
+
async function getFunctionGroup(connection, functionGroupName) {
|
|
14
|
+
const baseUrl = await connection.getBaseUrl();
|
|
15
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(functionGroupName);
|
|
16
|
+
const url = `${baseUrl}/sap/bc/adt/functions/groups/${encodedName}`;
|
|
17
|
+
return connection.makeAdtRequest({
|
|
18
|
+
url,
|
|
19
|
+
method: 'GET',
|
|
20
|
+
timeout: (0, connection_1.getTimeout)('default'),
|
|
21
|
+
headers: {}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get transport request for ABAP function group
|
|
26
|
+
* @param connection - SAP connection
|
|
27
|
+
* @param functionGroupName - Function group name
|
|
28
|
+
* @returns Transport request information
|
|
29
|
+
*/
|
|
30
|
+
async function getFunctionGroupTransport(connection, functionGroupName) {
|
|
31
|
+
const baseUrl = await connection.getBaseUrl();
|
|
32
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(functionGroupName);
|
|
33
|
+
const url = `${baseUrl}/sap/bc/adt/functions/groups/${encodedName}/transport`;
|
|
34
|
+
return connection.makeAdtRequest({
|
|
35
|
+
url,
|
|
36
|
+
method: 'GET',
|
|
37
|
+
timeout: (0, connection_1.getTimeout)('default'),
|
|
38
|
+
headers: {
|
|
39
|
+
'Accept': 'application/vnd.sap.adt.transportorganizer.v1+xml'
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/unlock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FunctionGroup unlock operations
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.unlockFunctionGroup = void 0;
|
|
7
|
+
var lock_1 = require("./lock");
|
|
8
|
+
Object.defineProperty(exports, "unlockFunctionGroup", { enumerable: true, get: function () { return lock_1.unlockFunctionGroup; } });
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FunctionGroup update operations
|
|
3
|
+
*
|
|
4
|
+
* Note: Function groups are containers for function modules.
|
|
5
|
+
* They don't have source code to update directly, but metadata can be updated.
|
|
6
|
+
*/
|
|
7
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
8
|
+
import { AxiosResponse } from 'axios';
|
|
9
|
+
export interface UpdateFunctionGroupParams {
|
|
10
|
+
function_group_name: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
transport_request?: string;
|
|
13
|
+
lock_handle?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Update function group metadata (description)
|
|
17
|
+
* Full workflow: lock -> get current -> update -> unlock
|
|
18
|
+
*/
|
|
19
|
+
export declare function updateFunctionGroup(connection: AbapConnection, params: UpdateFunctionGroupParams): Promise<AxiosResponse>;
|
|
20
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/core/functionGroup/update.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtC,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqDD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,aAAa,CAAC,CA+ExB"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FunctionGroup update operations
|
|
4
|
+
*
|
|
5
|
+
* Note: Function groups are containers for function modules.
|
|
6
|
+
* They don't have source code to update directly, but metadata can be updated.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.updateFunctionGroup = updateFunctionGroup;
|
|
10
|
+
const connection_1 = require("@mcp-abap-adt/connection");
|
|
11
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
12
|
+
const internalUtils_1 = require("../../utils/internalUtils");
|
|
13
|
+
const read_1 = require("./read");
|
|
14
|
+
const lock_1 = require("./lock");
|
|
15
|
+
const unlock_1 = require("./unlock");
|
|
16
|
+
/**
|
|
17
|
+
* Update function group metadata via PUT
|
|
18
|
+
*/
|
|
19
|
+
async function updateFunctionGroupMetadata(connection, functionGroupName, currentXml, newDescription, lockHandle, transportRequest) {
|
|
20
|
+
const baseUrl = await connection.getBaseUrl();
|
|
21
|
+
const encodedName = (0, internalUtils_1.encodeSapObjectName)(functionGroupName);
|
|
22
|
+
const url = `${baseUrl}/sap/bc/adt/functions/groups/${encodedName}${lockHandle ? `?lockHandle=${lockHandle}` : ''}${transportRequest ? `${lockHandle ? '&' : '?'}corrNr=${transportRequest}` : ''}`;
|
|
23
|
+
// Parse current XML to update description
|
|
24
|
+
const parser = new fast_xml_parser_1.XMLParser({
|
|
25
|
+
ignoreAttributes: false,
|
|
26
|
+
attributeNamePrefix: '@_',
|
|
27
|
+
parseAttributeValue: false
|
|
28
|
+
});
|
|
29
|
+
const parsedXml = parser.parse(currentXml);
|
|
30
|
+
const functionGroup = parsedXml['group:abapFunctionGroup'];
|
|
31
|
+
// Update description
|
|
32
|
+
if (functionGroup) {
|
|
33
|
+
functionGroup['@_adtcore:description'] = newDescription;
|
|
34
|
+
}
|
|
35
|
+
// Rebuild XML (simplified - use original XML with replaced description)
|
|
36
|
+
const updatedXml = currentXml.replace(/adtcore:description="[^"]*"/, `adtcore:description="${newDescription}"`);
|
|
37
|
+
const headers = {
|
|
38
|
+
'Content-Type': 'application/vnd.sap.adt.functions.groups.v3+xml; charset=utf-8',
|
|
39
|
+
'Accept': 'application/vnd.sap.adt.functions.groups.v3+xml'
|
|
40
|
+
};
|
|
41
|
+
return connection.makeAdtRequest({
|
|
42
|
+
url,
|
|
43
|
+
method: 'PUT',
|
|
44
|
+
timeout: (0, connection_1.getTimeout)('default'),
|
|
45
|
+
data: updatedXml,
|
|
46
|
+
headers
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Update function group metadata (description)
|
|
51
|
+
* Full workflow: lock -> get current -> update -> unlock
|
|
52
|
+
*/
|
|
53
|
+
async function updateFunctionGroup(connection, params) {
|
|
54
|
+
if (!params.function_group_name) {
|
|
55
|
+
throw new Error('function_group_name is required');
|
|
56
|
+
}
|
|
57
|
+
if (!params.description) {
|
|
58
|
+
throw new Error('description is required for update');
|
|
59
|
+
}
|
|
60
|
+
let lockHandle = params.lock_handle;
|
|
61
|
+
let shouldUnlock = false;
|
|
62
|
+
try {
|
|
63
|
+
// Lock if not already locked
|
|
64
|
+
if (!lockHandle) {
|
|
65
|
+
lockHandle = await (0, lock_1.lockFunctionGroup)(connection, params.function_group_name);
|
|
66
|
+
shouldUnlock = true;
|
|
67
|
+
}
|
|
68
|
+
if (!lockHandle) {
|
|
69
|
+
throw new Error('Failed to acquire lock handle');
|
|
70
|
+
}
|
|
71
|
+
// Get current XML
|
|
72
|
+
const currentResponse = await (0, read_1.getFunctionGroup)(connection, params.function_group_name);
|
|
73
|
+
const currentXml = typeof currentResponse.data === 'string'
|
|
74
|
+
? currentResponse.data
|
|
75
|
+
: JSON.stringify(currentResponse.data);
|
|
76
|
+
// Update metadata
|
|
77
|
+
const updateResponse = await updateFunctionGroupMetadata(connection, params.function_group_name, currentXml, params.description, lockHandle, params.transport_request);
|
|
78
|
+
// Unlock if we locked it
|
|
79
|
+
if (shouldUnlock && lockHandle) {
|
|
80
|
+
await (0, unlock_1.unlockFunctionGroup)(connection, params.function_group_name, lockHandle);
|
|
81
|
+
}
|
|
82
|
+
return updateResponse;
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
// Unlock on error if we locked it
|
|
86
|
+
if (shouldUnlock && lockHandle) {
|
|
87
|
+
try {
|
|
88
|
+
await (0, unlock_1.unlockFunctionGroup)(connection, params.function_group_name, lockHandle);
|
|
89
|
+
}
|
|
90
|
+
catch (unlockError) {
|
|
91
|
+
// Ignore unlock errors
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
let errorMessage = `Failed to update function group: ${error}`;
|
|
95
|
+
if (error.response?.status === 400) {
|
|
96
|
+
errorMessage = `Bad request. Check parameters.`;
|
|
97
|
+
}
|
|
98
|
+
else if (error.response?.status === 404) {
|
|
99
|
+
errorMessage = `Function group ${params.function_group_name} not found.`;
|
|
100
|
+
}
|
|
101
|
+
else if (error.response?.data && typeof error.response.data === 'string') {
|
|
102
|
+
try {
|
|
103
|
+
const parser = new fast_xml_parser_1.XMLParser({
|
|
104
|
+
ignoreAttributes: false,
|
|
105
|
+
attributeNamePrefix: '@_'
|
|
106
|
+
});
|
|
107
|
+
const errorData = parser.parse(error.response.data);
|
|
108
|
+
const errorMsg = errorData['exc:exception']?.message?.['#text'] || errorData['exc:exception']?.message;
|
|
109
|
+
if (errorMsg) {
|
|
110
|
+
errorMessage = `SAP Error: ${errorMsg}`;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch (parseError) {
|
|
114
|
+
// Keep original error message
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
throw new Error(errorMessage);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function Group validation
|
|
3
|
+
*/
|
|
4
|
+
import { AbapConnection } from '@mcp-abap-adt/connection';
|
|
5
|
+
import { ValidationResult } from '../shared/validation';
|
|
6
|
+
/**
|
|
7
|
+
* Validate function group name
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateFunctionGroupName(connection: AbapConnection, functionGroupName: 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/functionGroup/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,yBAAyB,CAC7C,UAAU,EAAE,cAAc,EAC1B,iBAAiB,EAAE,MAAM,EACzB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Function Group validation
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateFunctionGroupName = validateFunctionGroupName;
|
|
7
|
+
const validation_1 = require("../shared/validation");
|
|
8
|
+
/**
|
|
9
|
+
* Validate function group name
|
|
10
|
+
*/
|
|
11
|
+
async function validateFunctionGroupName(connection, functionGroupName, description) {
|
|
12
|
+
const params = {};
|
|
13
|
+
if (description) {
|
|
14
|
+
params.description = description;
|
|
15
|
+
}
|
|
16
|
+
return (0, validation_1.validateObjectName)(connection, 'FUGR/F', functionGroupName, params);
|
|
17
|
+
}
|