bc-code-intelligence-mcp 1.3.2 → 1.3.4

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.
Files changed (567) hide show
  1. package/README.md +1 -0
  2. package/dist/config/test-enhanced-layer-service.js +10 -10
  3. package/dist/config/test-enhanced-layer-service.js.map +1 -1
  4. package/dist/dev/hot-reload.d.ts +2 -2
  5. package/dist/dev/hot-reload.d.ts.map +1 -1
  6. package/dist/dev/hot-reload.js.map +1 -1
  7. package/dist/index.d.ts +0 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +43 -41
  10. package/dist/index.js.map +1 -1
  11. package/dist/layers/index.d.ts +1 -1
  12. package/dist/layers/index.d.ts.map +1 -1
  13. package/dist/layers/index.js +1 -1
  14. package/dist/layers/index.js.map +1 -1
  15. package/dist/layers/layer-service.d.ts.map +1 -1
  16. package/dist/layers/layer-service.js +4 -1
  17. package/dist/layers/layer-service.js.map +1 -1
  18. package/dist/search/intelligent-search.d.ts.map +1 -1
  19. package/dist/search/intelligent-search.js +5 -2
  20. package/dist/search/intelligent-search.js.map +1 -1
  21. package/dist/services/code-analysis-service.d.ts.map +1 -1
  22. package/dist/services/code-analysis-service.js +8 -1
  23. package/dist/services/code-analysis-service.js.map +1 -1
  24. package/dist/services/knowledge-service.d.ts +21 -10
  25. package/dist/services/knowledge-service.d.ts.map +1 -1
  26. package/dist/services/knowledge-service.js +82 -59
  27. package/dist/services/knowledge-service.js.map +1 -1
  28. package/dist/services/multi-content-layer-service.d.ts +90 -0
  29. package/dist/services/multi-content-layer-service.d.ts.map +1 -1
  30. package/dist/services/multi-content-layer-service.js +380 -0
  31. package/dist/services/multi-content-layer-service.js.map +1 -1
  32. package/dist/services/roleplay-engine.d.ts +1 -1
  33. package/dist/services/roleplay-engine.d.ts.map +1 -1
  34. package/dist/services/roleplay-engine.js +40 -12
  35. package/dist/services/roleplay-engine.js.map +1 -1
  36. package/dist/services/workflow-service.d.ts +11 -3
  37. package/dist/services/workflow-service.d.ts.map +1 -1
  38. package/dist/services/workflow-service.js +119 -78
  39. package/dist/services/workflow-service.js.map +1 -1
  40. package/dist/streamlined-handlers.d.ts +31 -2
  41. package/dist/streamlined-handlers.d.ts.map +1 -1
  42. package/dist/streamlined-handlers.js +152 -110
  43. package/dist/streamlined-handlers.js.map +1 -1
  44. package/dist/streamlined-tools.d.ts +12 -0
  45. package/dist/streamlined-tools.d.ts.map +1 -1
  46. package/dist/streamlined-tools.js +11 -6
  47. package/dist/streamlined-tools.js.map +1 -1
  48. package/dist/tools/specialist-tools.d.ts.map +1 -1
  49. package/dist/tools/specialist-tools.js +23 -13
  50. package/dist/tools/specialist-tools.js.map +1 -1
  51. package/dist/types/bc-knowledge.d.ts +10 -7
  52. package/dist/types/bc-knowledge.d.ts.map +1 -1
  53. package/dist/types/bc-knowledge.js +23 -1
  54. package/dist/types/bc-knowledge.js.map +1 -1
  55. package/dist/types/roleplay-types.d.ts +1 -0
  56. package/dist/types/roleplay-types.d.ts.map +1 -1
  57. package/package.json +13 -4
  58. package/embedded-knowledge/.github/ISSUE_TEMPLATE/bug-report.md +0 -24
  59. package/embedded-knowledge/.github/ISSUE_TEMPLATE/content-improvement.md +0 -24
  60. package/embedded-knowledge/.github/ISSUE_TEMPLATE/knowledge-request.md +0 -30
  61. package/embedded-knowledge/AGENTS.md +0 -178
  62. package/embedded-knowledge/CONTRIBUTING.md +0 -58
  63. package/embedded-knowledge/LICENSE +0 -21
  64. package/embedded-knowledge/README.md +0 -32
  65. package/embedded-knowledge/domains/alex-architect/api-delegate-operation-pattern.md +0 -90
  66. package/embedded-knowledge/domains/alex-architect/api-fieldset-registration-pattern.md +0 -113
  67. package/embedded-knowledge/domains/alex-architect/api-interface-design-patterns.md +0 -101
  68. package/embedded-knowledge/domains/alex-architect/api-page-development-patterns.md +0 -87
  69. package/embedded-knowledge/domains/alex-architect/complex-facade-patterns.md +0 -155
  70. package/embedded-knowledge/domains/alex-architect/facade-pattern-al-implementation.md +0 -138
  71. package/embedded-knowledge/domains/alex-architect/facade-pattern-external-api.md +0 -79
  72. package/embedded-knowledge/domains/alex-architect/samples/api-delegate-operation.md +0 -280
  73. package/embedded-knowledge/domains/alex-architect/samples/api-fieldset-registration.md +0 -200
  74. package/embedded-knowledge/domains/alex-architect/samples/api-interface-design.md +0 -565
  75. package/embedded-knowledge/domains/alex-architect/samples/api-page-implementation.md +0 -665
  76. package/embedded-knowledge/domains/alex-architect/samples/complex-facade-patterns.md +0 -325
  77. package/embedded-knowledge/domains/alex-architect/samples/facade-pattern-al.md +0 -696
  78. package/embedded-knowledge/domains/alex-architect/samples/facade-pattern.md +0 -320
  79. package/embedded-knowledge/domains/alex-architect/samples/subscriber-organization.md +0 -102
  80. package/embedded-knowledge/domains/alex-architect/samples/systemid-integration.md +0 -433
  81. package/embedded-knowledge/domains/alex-architect/subscriber-codeunit-size-optimization.md +0 -66
  82. package/embedded-knowledge/domains/alex-architect/systemid-integration.md +0 -115
  83. package/embedded-knowledge/domains/dean-debug/bc24-no-series-conversion-guide.md +0 -295
  84. package/embedded-knowledge/domains/dean-debug/case-statement-performance-best-practices.md +0 -86
  85. package/embedded-knowledge/domains/dean-debug/compound-statements-debugging.md +0 -96
  86. package/embedded-knowledge/domains/dean-debug/custom-dimensions-best-practices.md +0 -70
  87. package/embedded-knowledge/domains/dean-debug/custom-telemetry-implementation.md +0 -84
  88. package/embedded-knowledge/domains/dean-debug/deleteall-performance-tradeoff.md +0 -93
  89. package/embedded-knowledge/domains/dean-debug/deleteall-sql-performance.md +0 -73
  90. package/embedded-knowledge/domains/dean-debug/extension-telemetry-isolation.md +0 -78
  91. package/embedded-knowledge/domains/dean-debug/maintainsiftindex-property-behavior.md +0 -79
  92. package/embedded-knowledge/domains/dean-debug/no-series-implementation-patterns.md +0 -87
  93. package/embedded-knowledge/domains/dean-debug/no-series-module-patterns-bc24.md +0 -209
  94. package/embedded-knowledge/domains/dean-debug/no-series-validation-module-bc24.md +0 -246
  95. package/embedded-knowledge/domains/dean-debug/no-series-validation-patterns.md +0 -107
  96. package/embedded-knowledge/domains/dean-debug/odata-query-optimization.md +0 -105
  97. package/embedded-knowledge/domains/dean-debug/samples/bc24-no-series-conversion.md +0 -186
  98. package/embedded-knowledge/domains/dean-debug/samples/case-performance-optimization.md +0 -60
  99. package/embedded-knowledge/domains/dean-debug/samples/compound-statements-debugging.md +0 -139
  100. package/embedded-knowledge/domains/dean-debug/samples/custom-dimensions.md +0 -190
  101. package/embedded-knowledge/domains/dean-debug/samples/custom-telemetry.md +0 -516
  102. package/embedded-knowledge/domains/dean-debug/samples/deleteall-performance.md +0 -298
  103. package/embedded-knowledge/domains/dean-debug/samples/error-correlation.md +0 -324
  104. package/embedded-knowledge/domains/dean-debug/samples/extension-isolation.md +0 -344
  105. package/embedded-knowledge/domains/dean-debug/samples/logmessage-methods.md +0 -137
  106. package/embedded-knowledge/domains/dean-debug/samples/maintainsiftindex-examples.md +0 -340
  107. package/embedded-knowledge/domains/dean-debug/samples/no-series-implementation.md +0 -810
  108. package/embedded-knowledge/domains/dean-debug/samples/no-series-module-bc24.md +0 -86
  109. package/embedded-knowledge/domains/dean-debug/samples/no-series-validation-module-bc24.md +0 -110
  110. package/embedded-knowledge/domains/dean-debug/samples/no-series-validation.md +0 -758
  111. package/embedded-knowledge/domains/dean-debug/samples/odata-query-optimization.md +0 -665
  112. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-case.md +0 -316
  113. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-before-filters.md +0 -223
  114. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-filter-exclusion.md +0 -149
  115. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-optimization.md +0 -412
  116. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-performance.md +0 -211
  117. package/embedded-knowledge/domains/dean-debug/samples/setloadfields-primary-key.md +0 -155
  118. package/embedded-knowledge/domains/dean-debug/samples/sift-technology-fundamentals.md +0 -475
  119. package/embedded-knowledge/domains/dean-debug/samples/singleinstance-subscribers.md +0 -238
  120. package/embedded-knowledge/domains/dean-debug/samples/table-event-batching.md +0 -97
  121. package/embedded-knowledge/domains/dean-debug/samples/table-key-requirements.md +0 -666
  122. package/embedded-knowledge/domains/dean-debug/samples/telemetry-performance.md +0 -319
  123. package/embedded-knowledge/domains/dean-debug/samples/verbosity-strategy.md +0 -236
  124. package/embedded-knowledge/domains/dean-debug/session-logmessage-methods.md +0 -59
  125. package/embedded-knowledge/domains/dean-debug/setloadfields-filter-field-exclusion.md +0 -67
  126. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-impact.md +0 -70
  127. package/embedded-knowledge/domains/dean-debug/setloadfields-performance-optimization.md +0 -90
  128. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-case-statements.md +0 -87
  129. package/embedded-knowledge/domains/dean-debug/setloadfields-placement-before-filters.md +0 -70
  130. package/embedded-knowledge/domains/dean-debug/setloadfields-primary-key-optimization.md +0 -74
  131. package/embedded-knowledge/domains/dean-debug/sift-technology-fundamentals.md +0 -81
  132. package/embedded-knowledge/domains/dean-debug/subscriber-singleinstance-performance.md +0 -56
  133. package/embedded-knowledge/domains/dean-debug/table-event-batch-operation-impact.md +0 -66
  134. package/embedded-knowledge/domains/dean-debug/table-key-requirements.md +0 -79
  135. package/embedded-knowledge/domains/dean-debug/telemetry-error-correlation.md +0 -78
  136. package/embedded-knowledge/domains/dean-debug/telemetry-performance-considerations.md +0 -83
  137. package/embedded-knowledge/domains/dean-debug/telemetry-verbosity-strategy.md +0 -76
  138. package/embedded-knowledge/domains/dean-debug/testfield-performance.md +0 -104
  139. package/embedded-knowledge/domains/eva-errors/fielderror-default-messages.md +0 -145
  140. package/embedded-knowledge/domains/eva-errors/fielderror-message-construction.md +0 -104
  141. package/embedded-knowledge/domains/eva-errors/fielderror-method-syntax.md +0 -114
  142. package/embedded-knowledge/domains/eva-errors/samples/fielderror-default-messages.md +0 -356
  143. package/embedded-knowledge/domains/eva-errors/samples/fielderror-syntax.md +0 -256
  144. package/embedded-knowledge/domains/eva-errors/samples/table-safety-validation-patterns.md +0 -101
  145. package/embedded-knowledge/domains/eva-errors/samples/testfield-error-handling.md +0 -108
  146. package/embedded-knowledge/domains/eva-errors/testfield-error-handling.md +0 -80
  147. package/embedded-knowledge/domains/jordan-bridge/al-event-subscriber-architecture.md +0 -98
  148. package/embedded-knowledge/domains/jordan-bridge/automatic-registration.md +0 -123
  149. package/embedded-knowledge/domains/jordan-bridge/business-process-template-patterns.md +0 -96
  150. package/embedded-knowledge/domains/jordan-bridge/error-response-patterns.md +0 -115
  151. package/embedded-knowledge/domains/jordan-bridge/etag-implementation.md +0 -115
  152. package/embedded-knowledge/domains/jordan-bridge/field-control-selection.md +0 -114
  153. package/embedded-knowledge/domains/jordan-bridge/samples/al-event-subscriber-architecture.md +0 -395
  154. package/embedded-knowledge/domains/jordan-bridge/samples/api-error-responses.md +0 -479
  155. package/embedded-knowledge/domains/jordan-bridge/samples/api-field-control.md +0 -548
  156. package/embedded-knowledge/domains/jordan-bridge/samples/api-url-naming.md +0 -287
  157. package/embedded-knowledge/domains/jordan-bridge/samples/business-process-templates.md +0 -434
  158. package/embedded-knowledge/domains/jordan-bridge/samples/etag-implementation.md +0 -508
  159. package/embedded-knowledge/domains/jordan-bridge/samples/task-scheduler-pattern.md +0 -615
  160. package/embedded-knowledge/domains/jordan-bridge/task-scheduler-pattern-implementation.md +0 -144
  161. package/embedded-knowledge/domains/jordan-bridge/url-structure-naming-patterns.md +0 -96
  162. package/embedded-knowledge/domains/maya-mentor/case-multiple-conditions-ranges.md +0 -124
  163. package/embedded-knowledge/domains/maya-mentor/case-statement-syntax-structure.md +0 -84
  164. package/embedded-knowledge/domains/maya-mentor/fielderror-syntax-usage.md +0 -75
  165. package/embedded-knowledge/domains/maya-mentor/fielderror-vs-testfield.md +0 -96
  166. package/embedded-knowledge/domains/maya-mentor/samples/case-statement-multiple-conditions.md +0 -385
  167. package/embedded-knowledge/domains/maya-mentor/samples/case-statement-syntax-structure.md +0 -72
  168. package/embedded-knowledge/domains/maya-mentor/samples/fielderror-syntax-usage.md +0 -48
  169. package/embedded-knowledge/domains/maya-mentor/samples/testfield-basic-syntax.md +0 -49
  170. package/embedded-knowledge/domains/maya-mentor/testfield-basic-syntax.md +0 -67
  171. package/embedded-knowledge/domains/quinn-tester/fielderror-validation-patterns.md +0 -119
  172. package/embedded-knowledge/domains/quinn-tester/rule-execution.md +0 -123
  173. package/embedded-knowledge/domains/quinn-tester/samples/case-error-handling.md +0 -64
  174. package/embedded-knowledge/domains/quinn-tester/samples/fielderror-message-construction.md +0 -60
  175. package/embedded-knowledge/domains/quinn-tester/samples/fielderror-validation-patterns.md +0 -83
  176. package/embedded-knowledge/domains/quinn-tester/samples/rule-execution.md +0 -716
  177. package/embedded-knowledge/domains/quinn-tester/samples/table-safety-validation-patterns.md +0 -101
  178. package/embedded-knowledge/domains/quinn-tester/samples/temporary-table-operation-validation.md +0 -91
  179. package/embedded-knowledge/domains/quinn-tester/table-safety-validation-patterns.md +0 -79
  180. package/embedded-knowledge/domains/quinn-tester/temporary-table-operation-validation.md +0 -79
  181. package/embedded-knowledge/domains/roger-reviewer/al-begin-end-block-structure.md +0 -89
  182. package/embedded-knowledge/domains/roger-reviewer/al-binary-operator-spacing.md +0 -76
  183. package/embedded-knowledge/domains/roger-reviewer/al-blank-line-organization.md +0 -76
  184. package/embedded-knowledge/domains/roger-reviewer/al-case-action-formatting.md +0 -76
  185. package/embedded-knowledge/domains/roger-reviewer/al-code-spacing-conventions.md +0 -81
  186. package/embedded-knowledge/domains/roger-reviewer/al-comment-spacing-standards.md +0 -76
  187. package/embedded-knowledge/domains/roger-reviewer/al-end-else-pairing.md +0 -75
  188. package/embedded-knowledge/domains/roger-reviewer/al-keyword-indentation-rules.md +0 -76
  189. package/embedded-knowledge/domains/roger-reviewer/al-line-start-keyword-positioning.md +0 -76
  190. package/embedded-knowledge/domains/roger-reviewer/al-separate-if-else-formatting.md +0 -76
  191. package/embedded-knowledge/domains/roger-reviewer/al-standard-abbreviations.md +0 -96
  192. package/embedded-knowledge/domains/roger-reviewer/al-statement-per-line-rule.md +0 -76
  193. package/embedded-knowledge/domains/roger-reviewer/al-unnecessary-else-elimination.md +0 -86
  194. package/embedded-knowledge/domains/roger-reviewer/al-variable-declaration-order.md +0 -90
  195. package/embedded-knowledge/domains/roger-reviewer/al-variable-naming-conventions.md +0 -82
  196. package/embedded-knowledge/domains/roger-reviewer/begin-block-statement-clarity.md +0 -78
  197. package/embedded-knowledge/domains/roger-reviewer/begin-end-positioning-patterns.md +0 -76
  198. package/embedded-knowledge/domains/roger-reviewer/binary-operator-line-positioning.md +0 -78
  199. package/embedded-knowledge/domains/roger-reviewer/boolean-expression-simplification-al.md +0 -100
  200. package/embedded-knowledge/domains/roger-reviewer/case-statement-error-handling-troubleshooting.md +0 -115
  201. package/embedded-knowledge/domains/roger-reviewer/compound-statement-readability.md +0 -124
  202. package/embedded-knowledge/domains/roger-reviewer/lonely-repeat-statement-pattern.md +0 -110
  203. package/embedded-knowledge/domains/roger-reviewer/samples/al-begin-end-blocks.md +0 -438
  204. package/embedded-knowledge/domains/roger-reviewer/samples/al-binary-operator-spacing.md +0 -255
  205. package/embedded-knowledge/domains/roger-reviewer/samples/al-comment-spacing-standards.md +0 -209
  206. package/embedded-knowledge/domains/roger-reviewer/samples/al-keyword-indentation-rules.md +0 -218
  207. package/embedded-knowledge/domains/roger-reviewer/samples/al-line-start-keyword-positioning.md +0 -218
  208. package/embedded-knowledge/domains/roger-reviewer/samples/al-separate-if-else-formatting.md +0 -280
  209. package/embedded-knowledge/domains/roger-reviewer/samples/al-statement-per-line-rule.md +0 -188
  210. package/embedded-knowledge/domains/roger-reviewer/samples/al-unnecessary-else-elimination.md +0 -245
  211. package/embedded-knowledge/domains/roger-reviewer/samples/al-variable-declaration-order.md +0 -244
  212. package/embedded-knowledge/domains/roger-reviewer/samples/begin-end-positioning.md +0 -278
  213. package/embedded-knowledge/domains/roger-reviewer/samples/boolean-simplification-examples.md +0 -484
  214. package/embedded-knowledge/domains/roger-reviewer/samples/case-error-handling.md +0 -64
  215. package/embedded-knowledge/domains/roger-reviewer/samples/compound-statement-readability.md +0 -107
  216. package/embedded-knowledge/domains/roger-reviewer/samples/lonely-repeat-examples.md +0 -280
  217. package/embedded-knowledge/domains/sam-coder/al-formatting-consistency-patterns.md +0 -75
  218. package/embedded-knowledge/domains/sam-coder/al-line-comment-formatting.md +0 -67
  219. package/embedded-knowledge/domains/sam-coder/al-lonely-repeat-pattern.md +0 -76
  220. package/embedded-knowledge/domains/sam-coder/al-named-parameter-pattern.md +0 -98
  221. package/embedded-knowledge/domains/sam-coder/al-object-navigation-shortcuts.md +0 -128
  222. package/embedded-knowledge/domains/sam-coder/al-readability-optimization.md +0 -75
  223. package/embedded-knowledge/domains/sam-coder/al-record-find-early-exit.md +0 -95
  224. package/embedded-knowledge/domains/sam-coder/command-queue-pattern-al.md +0 -141
  225. package/embedded-knowledge/domains/sam-coder/deleteall-alternative-implementation.md +0 -91
  226. package/embedded-knowledge/domains/sam-coder/deleteall-method-usage.md +0 -118
  227. package/embedded-knowledge/domains/sam-coder/deleteall-trigger-execution.md +0 -111
  228. package/embedded-knowledge/domains/sam-coder/event-bridge-pattern-al.md +0 -113
  229. package/embedded-knowledge/domains/sam-coder/event-payload-design-patterns.md +0 -127
  230. package/embedded-knowledge/domains/sam-coder/generic-method-patterns-al.md +0 -141
  231. package/embedded-knowledge/domains/sam-coder/manual-binding-conditional-subscribers.md +0 -66
  232. package/embedded-knowledge/domains/sam-coder/nested-compound-best-practices.md +0 -96
  233. package/embedded-knowledge/domains/sam-coder/samples/al-blank-line-organization.md +0 -161
  234. package/embedded-knowledge/domains/sam-coder/samples/al-case-action-formatting.md +0 -177
  235. package/embedded-knowledge/domains/sam-coder/samples/al-lonely-repeat-pattern.md +0 -239
  236. package/embedded-knowledge/domains/sam-coder/samples/al-named-parameter-pattern.md +0 -346
  237. package/embedded-knowledge/domains/sam-coder/samples/al-record-find-early-exit.md +0 -298
  238. package/embedded-knowledge/domains/sam-coder/samples/command-queue-pattern.md +0 -677
  239. package/embedded-knowledge/domains/sam-coder/samples/deleteall-alternative-implementation.md +0 -117
  240. package/embedded-knowledge/domains/sam-coder/samples/deleteall-triggers.md +0 -75
  241. package/embedded-knowledge/domains/sam-coder/samples/deleteall-usage.md +0 -169
  242. package/embedded-knowledge/domains/sam-coder/samples/event-bridge-pattern.md +0 -399
  243. package/embedded-knowledge/domains/sam-coder/samples/event-payload-design.md +0 -356
  244. package/embedded-knowledge/domains/sam-coder/samples/generic-method-patterns.md +0 -889
  245. package/embedded-knowledge/domains/sam-coder/samples/manual-binding.md +0 -84
  246. package/embedded-knowledge/domains/sam-coder/samples/nested-compound-best-practices.md +0 -127
  247. package/embedded-knowledge/domains/sam-coder/samples/single-to-compound-conversion.md +0 -89
  248. package/embedded-knowledge/domains/sam-coder/samples/template-method-pattern.md +0 -516
  249. package/embedded-knowledge/domains/sam-coder/samples/testfield-patterns.md +0 -61
  250. package/embedded-knowledge/domains/sam-coder/samples/type-safe-operations.md +0 -427
  251. package/embedded-knowledge/domains/sam-coder/single-to-compound-conversion.md +0 -122
  252. package/embedded-knowledge/domains/sam-coder/template-method-pattern-al.md +0 -96
  253. package/embedded-knowledge/domains/sam-coder/testfield-patterns.md +0 -101
  254. package/embedded-knowledge/domains/sam-coder/type-safe-operations-al.md +0 -149
  255. package/embedded-knowledge/domains/sam-coder/vs-code-al-keyboard-shortcuts.md +0 -107
  256. package/embedded-knowledge/domains/seth-security/al-temporary-table-safety.md +0 -95
  257. package/embedded-knowledge/domains/seth-security/api-permission-model.md +0 -115
  258. package/embedded-knowledge/domains/seth-security/istemporary-safeguard-pattern.md +0 -78
  259. package/embedded-knowledge/domains/seth-security/samples/al-temporary-table-safety.md +0 -373
  260. package/embedded-knowledge/domains/seth-security/samples/api-permission-model.md +0 -308
  261. package/embedded-knowledge/domains/taylor-docs/al-xml-documentation-structure.md +0 -79
  262. package/embedded-knowledge/domains/uma-ux/bc-action-shortcuts-syntax.md +0 -78
  263. package/embedded-knowledge/domains/uma-ux/shortcut-key-user-experience-design.md +0 -81
  264. package/embedded-knowledge/indexes/bc-version-matrix.json +0 -188
  265. package/embedded-knowledge/indexes/domain-catalog.json +0 -106
  266. package/embedded-knowledge/indexes/tags/abbreviations.json +0 -1
  267. package/embedded-knowledge/indexes/tags/abstraction.json +0 -1
  268. package/embedded-knowledge/indexes/tags/access-control.json +0 -1
  269. package/embedded-knowledge/indexes/tags/accessibility.json +0 -1
  270. package/embedded-knowledge/indexes/tags/actions.json +0 -1
  271. package/embedded-knowledge/indexes/tags/advanced-patterns.json +0 -1
  272. package/embedded-knowledge/indexes/tags/advanced.json +0 -1
  273. package/embedded-knowledge/indexes/tags/al-extension.json +0 -1
  274. package/embedded-knowledge/indexes/tags/al-generics.json +0 -1
  275. package/embedded-knowledge/indexes/tags/al-objects.json +0 -1
  276. package/embedded-knowledge/indexes/tags/al-syntax.json +0 -1
  277. package/embedded-knowledge/indexes/tags/algorithm-structure.json +0 -1
  278. package/embedded-knowledge/indexes/tags/alternatives.json +0 -1
  279. package/embedded-knowledge/indexes/tags/analytics.json +0 -1
  280. package/embedded-knowledge/indexes/tags/api-delegates.json +0 -1
  281. package/embedded-knowledge/indexes/tags/api-design.json +0 -1
  282. package/embedded-knowledge/indexes/tags/api-documentation.json +0 -1
  283. package/embedded-knowledge/indexes/tags/api-endpoints.json +0 -1
  284. package/embedded-knowledge/indexes/tags/api-extensibility.json +0 -1
  285. package/embedded-knowledge/indexes/tags/api-fieldsets.json +0 -1
  286. package/embedded-knowledge/indexes/tags/api-integration.json +0 -1
  287. package/embedded-knowledge/indexes/tags/api-interfaces.json +0 -1
  288. package/embedded-knowledge/indexes/tags/api-optimization.json +0 -1
  289. package/embedded-knowledge/indexes/tags/api-pages.json +0 -1
  290. package/embedded-knowledge/indexes/tags/api-patterns.json +0 -1
  291. package/embedded-knowledge/indexes/tags/api-permissions.json +0 -1
  292. package/embedded-knowledge/indexes/tags/api-responses.json +0 -1
  293. package/embedded-knowledge/indexes/tags/api-simplification.json +0 -1
  294. package/embedded-knowledge/indexes/tags/api.json +0 -1
  295. package/embedded-knowledge/indexes/tags/architecture.json +0 -1
  296. package/embedded-knowledge/indexes/tags/async-patterns.json +0 -1
  297. package/embedded-knowledge/indexes/tags/async-processing.json +0 -1
  298. package/embedded-knowledge/indexes/tags/automatic-registration.json +0 -1
  299. package/embedded-knowledge/indexes/tags/batch-operations.json +0 -1
  300. package/embedded-knowledge/indexes/tags/bc24-migration.json +0 -1
  301. package/embedded-knowledge/indexes/tags/begin-blocks.json +0 -1
  302. package/embedded-knowledge/indexes/tags/begin-end.json +0 -1
  303. package/embedded-knowledge/indexes/tags/behavioral-patterns.json +0 -1
  304. package/embedded-knowledge/indexes/tags/best-practices.json +0 -1
  305. package/embedded-knowledge/indexes/tags/binding.json +0 -1
  306. package/embedded-knowledge/indexes/tags/block-structure.json +0 -1
  307. package/embedded-knowledge/indexes/tags/blocks.json +0 -1
  308. package/embedded-knowledge/indexes/tags/boolean-expressions.json +0 -1
  309. package/embedded-knowledge/indexes/tags/branching.json +0 -1
  310. package/embedded-knowledge/indexes/tags/breaking-changes.json +0 -1
  311. package/embedded-knowledge/indexes/tags/breakpoints.json +0 -1
  312. package/embedded-knowledge/indexes/tags/business-foundation.json +0 -1
  313. package/embedded-knowledge/indexes/tags/business-infrastructure.json +0 -1
  314. package/embedded-knowledge/indexes/tags/business-process.json +0 -1
  315. package/embedded-knowledge/indexes/tags/business-rules.json +0 -1
  316. package/embedded-knowledge/indexes/tags/caching.json +0 -1
  317. package/embedded-knowledge/indexes/tags/case-statements.json +0 -1
  318. package/embedded-knowledge/indexes/tags/case.json +0 -1
  319. package/embedded-knowledge/indexes/tags/code-analysis.json +0 -1
  320. package/embedded-knowledge/indexes/tags/code-clarity.json +0 -1
  321. package/embedded-knowledge/indexes/tags/code-comprehension.json +0 -1
  322. package/embedded-knowledge/indexes/tags/code-conversion.json +0 -1
  323. package/embedded-knowledge/indexes/tags/code-formatting.json +0 -1
  324. package/embedded-knowledge/indexes/tags/code-organization.json +0 -1
  325. package/embedded-knowledge/indexes/tags/code-patterns.json +0 -1
  326. package/embedded-knowledge/indexes/tags/code-quality.json +0 -1
  327. package/embedded-knowledge/indexes/tags/code-reuse.json +0 -1
  328. package/embedded-knowledge/indexes/tags/code-simplification.json +0 -1
  329. package/embedded-knowledge/indexes/tags/code-standards.json +0 -1
  330. package/embedded-knowledge/indexes/tags/code-structure.json +0 -1
  331. package/embedded-knowledge/indexes/tags/code-style.json +0 -1
  332. package/embedded-knowledge/indexes/tags/codeunit-design.json +0 -1
  333. package/embedded-knowledge/indexes/tags/command-queue.json +0 -1
  334. package/embedded-knowledge/indexes/tags/comments.json +0 -1
  335. package/embedded-knowledge/indexes/tags/compile-time-validation.json +0 -1
  336. package/embedded-knowledge/indexes/tags/complex-facade.json +0 -1
  337. package/embedded-knowledge/indexes/tags/complexity-hiding.json +0 -1
  338. package/embedded-knowledge/indexes/tags/complexity-management.json +0 -1
  339. package/embedded-knowledge/indexes/tags/compound-statements.json +0 -1
  340. package/embedded-knowledge/indexes/tags/concurrency.json +0 -1
  341. package/embedded-knowledge/indexes/tags/conditional-logic.json +0 -1
  342. package/embedded-knowledge/indexes/tags/conditional.json +0 -1
  343. package/embedded-knowledge/indexes/tags/conflict-resolution.json +0 -1
  344. package/embedded-knowledge/indexes/tags/consistency.json +0 -1
  345. package/embedded-knowledge/indexes/tags/contract-design.json +0 -1
  346. package/embedded-knowledge/indexes/tags/control-flow.json +0 -1
  347. package/embedded-knowledge/indexes/tags/conversion-guide.json +0 -1
  348. package/embedded-knowledge/indexes/tags/correlation.json +0 -1
  349. package/embedded-knowledge/indexes/tags/custom-messages.json +0 -1
  350. package/embedded-knowledge/indexes/tags/data-access.json +0 -1
  351. package/embedded-knowledge/indexes/tags/data-exposure.json +0 -1
  352. package/embedded-knowledge/indexes/tags/data-integrity.json +0 -1
  353. package/embedded-knowledge/indexes/tags/data-loading.json +0 -1
  354. package/embedded-knowledge/indexes/tags/data-manipulation.json +0 -1
  355. package/embedded-knowledge/indexes/tags/data-modeling.json +0 -1
  356. package/embedded-knowledge/indexes/tags/data-patterns.json +0 -1
  357. package/embedded-knowledge/indexes/tags/data-protection.json +0 -1
  358. package/embedded-knowledge/indexes/tags/data-validation.json +0 -1
  359. package/embedded-knowledge/indexes/tags/database.json +0 -1
  360. package/embedded-knowledge/indexes/tags/debugging.json +0 -1
  361. package/embedded-knowledge/indexes/tags/decision-making.json +0 -1
  362. package/embedded-knowledge/indexes/tags/declaration.json +0 -1
  363. package/embedded-knowledge/indexes/tags/default-messages.json +0 -1
  364. package/embedded-knowledge/indexes/tags/defensive-programming.json +0 -1
  365. package/embedded-knowledge/indexes/tags/deleteall.json +0 -1
  366. package/embedded-knowledge/indexes/tags/dependencies.json +0 -1
  367. package/embedded-knowledge/indexes/tags/deployment.json +0 -1
  368. package/embedded-knowledge/indexes/tags/developer-productivity.json +0 -1
  369. package/embedded-knowledge/indexes/tags/development-workflow.json +0 -1
  370. package/embedded-knowledge/indexes/tags/diagnostics.json +0 -1
  371. package/embedded-knowledge/indexes/tags/dimensions.json +0 -1
  372. package/embedded-knowledge/indexes/tags/documentation.json +0 -1
  373. package/embedded-knowledge/indexes/tags/early-exit.json +0 -1
  374. package/embedded-knowledge/indexes/tags/else-clauses.json +0 -1
  375. package/embedded-knowledge/indexes/tags/end-statements.json +0 -1
  376. package/embedded-knowledge/indexes/tags/enterprise-patterns.json +0 -1
  377. package/embedded-knowledge/indexes/tags/entity-relationships.json +0 -1
  378. package/embedded-knowledge/indexes/tags/error-handling.json +0 -1
  379. package/embedded-knowledge/indexes/tags/error-messages.json +0 -1
  380. package/embedded-knowledge/indexes/tags/error-prevention.json +0 -1
  381. package/embedded-knowledge/indexes/tags/error-text.json +0 -1
  382. package/embedded-knowledge/indexes/tags/etag.json +0 -1
  383. package/embedded-knowledge/indexes/tags/event-bridge.json +0 -1
  384. package/embedded-knowledge/indexes/tags/event-payload.json +0 -1
  385. package/embedded-knowledge/indexes/tags/event-routing.json +0 -1
  386. package/embedded-knowledge/indexes/tags/events.json +0 -1
  387. package/embedded-knowledge/indexes/tags/execution-flow.json +0 -1
  388. package/embedded-knowledge/indexes/tags/expressions.json +0 -1
  389. package/embedded-knowledge/indexes/tags/extensibility.json +0 -1
  390. package/embedded-knowledge/indexes/tags/extensions.json +0 -1
  391. package/embedded-knowledge/indexes/tags/facade-composition.json +0 -1
  392. package/embedded-knowledge/indexes/tags/facade-pattern.json +0 -1
  393. package/embedded-knowledge/indexes/tags/field-control.json +0 -1
  394. package/embedded-knowledge/indexes/tags/field-exclusion.json +0 -1
  395. package/embedded-knowledge/indexes/tags/field-registration.json +0 -1
  396. package/embedded-knowledge/indexes/tags/field-state.json +0 -1
  397. package/embedded-knowledge/indexes/tags/field-validation.json +0 -1
  398. package/embedded-knowledge/indexes/tags/fielderror.json +0 -1
  399. package/embedded-knowledge/indexes/tags/fields.json +0 -1
  400. package/embedded-knowledge/indexes/tags/filtering.json +0 -1
  401. package/embedded-knowledge/indexes/tags/filters.json +0 -1
  402. package/embedded-knowledge/indexes/tags/formatting.json +0 -1
  403. package/embedded-knowledge/indexes/tags/generic-methods.json +0 -1
  404. package/embedded-knowledge/indexes/tags/http-status.json +0 -1
  405. package/embedded-knowledge/indexes/tags/if-statements.json +0 -1
  406. package/embedded-knowledge/indexes/tags/implementation.json +0 -1
  407. package/embedded-knowledge/indexes/tags/indentation.json +0 -1
  408. package/embedded-knowledge/indexes/tags/index-summary.json +0 -277
  409. package/embedded-knowledge/indexes/tags/indexing.json +0 -1
  410. package/embedded-knowledge/indexes/tags/inheritance.json +0 -1
  411. package/embedded-knowledge/indexes/tags/integration.json +0 -1
  412. package/embedded-knowledge/indexes/tags/integrity-checking.json +0 -1
  413. package/embedded-knowledge/indexes/tags/intellisense.json +0 -1
  414. package/embedded-knowledge/indexes/tags/interface-design.json +0 -1
  415. package/embedded-knowledge/indexes/tags/interface-segregation.json +0 -1
  416. package/embedded-knowledge/indexes/tags/isolation.json +0 -1
  417. package/embedded-knowledge/indexes/tags/job-processing.json +0 -1
  418. package/embedded-knowledge/indexes/tags/keyboard-navigation.json +0 -1
  419. package/embedded-knowledge/indexes/tags/keywords.json +0 -1
  420. package/embedded-knowledge/indexes/tags/legacy-modernization.json +0 -1
  421. package/embedded-knowledge/indexes/tags/line-breaks.json +0 -1
  422. package/embedded-knowledge/indexes/tags/line-organization.json +0 -1
  423. package/embedded-knowledge/indexes/tags/line-positioning.json +0 -1
  424. package/embedded-knowledge/indexes/tags/localization.json +0 -1
  425. package/embedded-knowledge/indexes/tags/logging.json +0 -1
  426. package/embedded-knowledge/indexes/tags/loose-coupling.json +0 -1
  427. package/embedded-knowledge/indexes/tags/maintainability.json +0 -1
  428. package/embedded-knowledge/indexes/tags/memory-management.json +0 -1
  429. package/embedded-knowledge/indexes/tags/memory-optimization.json +0 -1
  430. package/embedded-knowledge/indexes/tags/memory.json +0 -1
  431. package/embedded-knowledge/indexes/tags/message-design.json +0 -1
  432. package/embedded-knowledge/indexes/tags/message-formatting.json +0 -1
  433. package/embedded-knowledge/indexes/tags/message-patterns.json +0 -1
  434. package/embedded-knowledge/indexes/tags/metadata-driven.json +0 -1
  435. package/embedded-knowledge/indexes/tags/method-comparison.json +0 -1
  436. package/embedded-knowledge/indexes/tags/module-architecture.json +0 -1
  437. package/embedded-knowledge/indexes/tags/module-validation.json +0 -1
  438. package/embedded-knowledge/indexes/tags/monitoring.json +0 -1
  439. package/embedded-knowledge/indexes/tags/multi-layer-facade.json +0 -1
  440. package/embedded-knowledge/indexes/tags/multi-tenancy.json +0 -1
  441. package/embedded-knowledge/indexes/tags/multiple-values.json +0 -1
  442. package/embedded-knowledge/indexes/tags/naming-conventions.json +0 -1
  443. package/embedded-knowledge/indexes/tags/naming.json +0 -1
  444. package/embedded-knowledge/indexes/tags/navigation.json +0 -1
  445. package/embedded-knowledge/indexes/tags/nested-statements.json +0 -1
  446. package/embedded-knowledge/indexes/tags/no-series-conversion.json +0 -1
  447. package/embedded-knowledge/indexes/tags/no-series-validation.json +0 -1
  448. package/embedded-knowledge/indexes/tags/no-series.json +0 -1
  449. package/embedded-knowledge/indexes/tags/number-generation.json +0 -1
  450. package/embedded-knowledge/indexes/tags/object-documentation.json +0 -1
  451. package/embedded-knowledge/indexes/tags/odata.json +0 -1
  452. package/embedded-knowledge/indexes/tags/ondelete.json +0 -1
  453. package/embedded-knowledge/indexes/tags/onvalidate.json +0 -1
  454. package/embedded-knowledge/indexes/tags/operation-delegation.json +0 -1
  455. package/embedded-knowledge/indexes/tags/operation-safety.json +0 -1
  456. package/embedded-knowledge/indexes/tags/operators.json +0 -1
  457. package/embedded-knowledge/indexes/tags/optimization.json +0 -1
  458. package/embedded-knowledge/indexes/tags/order.json +0 -1
  459. package/embedded-knowledge/indexes/tags/organization.json +0 -1
  460. package/embedded-knowledge/indexes/tags/pages.json +0 -1
  461. package/embedded-knowledge/indexes/tags/parameters.json +0 -1
  462. package/embedded-knowledge/indexes/tags/patterns.json +0 -1
  463. package/embedded-knowledge/indexes/tags/performance-optimization.json +0 -1
  464. package/embedded-knowledge/indexes/tags/performance.json +0 -1
  465. package/embedded-knowledge/indexes/tags/placement.json +0 -1
  466. package/embedded-knowledge/indexes/tags/posting-codeunits.json +0 -1
  467. package/embedded-knowledge/indexes/tags/posting.json +0 -1
  468. package/embedded-knowledge/indexes/tags/preconditions.json +0 -1
  469. package/embedded-knowledge/indexes/tags/primary-key.json +0 -1
  470. package/embedded-knowledge/indexes/tags/privacy.json +0 -1
  471. package/embedded-knowledge/indexes/tags/process-automation.json +0 -1
  472. package/embedded-knowledge/indexes/tags/production.json +0 -1
  473. package/embedded-knowledge/indexes/tags/productivity.json +0 -1
  474. package/embedded-knowledge/indexes/tags/query-performance.json +0 -1
  475. package/embedded-knowledge/indexes/tags/queue-management.json +0 -1
  476. package/embedded-knowledge/indexes/tags/ranges.json +0 -1
  477. package/embedded-knowledge/indexes/tags/readability.json +0 -1
  478. package/embedded-knowledge/indexes/tags/record-access.json +0 -1
  479. package/embedded-knowledge/indexes/tags/record-methods.json +0 -1
  480. package/embedded-knowledge/indexes/tags/refactoring.json +0 -1
  481. package/embedded-knowledge/indexes/tags/reference.json +0 -1
  482. package/embedded-knowledge/indexes/tags/repeat-loops.json +0 -1
  483. package/embedded-knowledge/indexes/tags/repeat-statement.json +0 -1
  484. package/embedded-knowledge/indexes/tags/runtime-errors.json +0 -1
  485. package/embedded-knowledge/indexes/tags/runtime.json +0 -1
  486. package/embedded-knowledge/indexes/tags/safeguards.json +0 -1
  487. package/embedded-knowledge/indexes/tags/security.json +0 -1
  488. package/embedded-knowledge/indexes/tags/sequence-management.json +0 -1
  489. package/embedded-knowledge/indexes/tags/serialization.json +0 -1
  490. package/embedded-knowledge/indexes/tags/session-logmessage.json +0 -1
  491. package/embedded-knowledge/indexes/tags/session.json +0 -1
  492. package/embedded-knowledge/indexes/tags/setloadfields.json +0 -1
  493. package/embedded-knowledge/indexes/tags/shortcuts.json +0 -1
  494. package/embedded-knowledge/indexes/tags/sift.json +0 -1
  495. package/embedded-knowledge/indexes/tags/singleinstance.json +0 -1
  496. package/embedded-knowledge/indexes/tags/spacing.json +0 -1
  497. package/embedded-knowledge/indexes/tags/sql-translation.json +0 -1
  498. package/embedded-knowledge/indexes/tags/standards.json +0 -1
  499. package/embedded-knowledge/indexes/tags/statements.json +0 -1
  500. package/embedded-knowledge/indexes/tags/streaming.json +0 -1
  501. package/embedded-knowledge/indexes/tags/strong-typing.json +0 -1
  502. package/embedded-knowledge/indexes/tags/structural-patterns.json +0 -1
  503. package/embedded-knowledge/indexes/tags/structure.json +0 -1
  504. package/embedded-knowledge/indexes/tags/subscribers.json +0 -1
  505. package/embedded-knowledge/indexes/tags/switch.json +0 -1
  506. package/embedded-knowledge/indexes/tags/symbol-search.json +0 -1
  507. package/embedded-knowledge/indexes/tags/syntax.json +0 -1
  508. package/embedded-knowledge/indexes/tags/systemid.json +0 -1
  509. package/embedded-knowledge/indexes/tags/table-configuration.json +0 -1
  510. package/embedded-knowledge/indexes/tags/table-events.json +0 -1
  511. package/embedded-knowledge/indexes/tags/table-keys.json +0 -1
  512. package/embedded-knowledge/indexes/tags/table-safety.json +0 -1
  513. package/embedded-knowledge/indexes/tags/task-scheduler.json +0 -1
  514. package/embedded-knowledge/indexes/tags/telemetry.json +0 -1
  515. package/embedded-knowledge/indexes/tags/template-method.json +0 -1
  516. package/embedded-knowledge/indexes/tags/temporary-tables.json +0 -1
  517. package/embedded-knowledge/indexes/tags/testfield.json +0 -1
  518. package/embedded-knowledge/indexes/tags/tradeoffs.json +0 -1
  519. package/embedded-knowledge/indexes/tags/triggers.json +0 -1
  520. package/embedded-knowledge/indexes/tags/troubleshooting.json +0 -1
  521. package/embedded-knowledge/indexes/tags/type-safety.json +0 -1
  522. package/embedded-knowledge/indexes/tags/url-structure.json +0 -1
  523. package/embedded-knowledge/indexes/tags/user-experience.json +0 -1
  524. package/embedded-knowledge/indexes/tags/user-feedback.json +0 -1
  525. package/embedded-knowledge/indexes/tags/user-interface.json +0 -1
  526. package/embedded-knowledge/indexes/tags/validation-feedback.json +0 -1
  527. package/embedded-knowledge/indexes/tags/validation.json +0 -1
  528. package/embedded-knowledge/indexes/tags/variables.json +0 -1
  529. package/embedded-knowledge/indexes/tags/verbosity.json +0 -1
  530. package/embedded-knowledge/indexes/tags/vs-code.json +0 -1
  531. package/embedded-knowledge/indexes/tags/web-services.json +0 -1
  532. package/embedded-knowledge/indexes/tags/workflow-management.json +0 -1
  533. package/embedded-knowledge/indexes/tags/workflow-optimization.json +0 -1
  534. package/embedded-knowledge/indexes/tags/workflow-templates.json +0 -1
  535. package/embedded-knowledge/indexes/tags/workspace.json +0 -1
  536. package/embedded-knowledge/indexes/tags/xml-documentation.json +0 -1
  537. package/embedded-knowledge/indexes/topic-relationships.json +0 -128
  538. package/embedded-knowledge/methodologies/index.json +0 -81
  539. package/embedded-knowledge/methodologies/phases/analysis-full.md +0 -208
  540. package/embedded-knowledge/methodologies/phases/analysis-quick.md +0 -44
  541. package/embedded-knowledge/methodologies/phases/analysis.md +0 -182
  542. package/embedded-knowledge/methodologies/phases/execution-validation-full.md +0 -174
  543. package/embedded-knowledge/methodologies/phases/execution-validation-quick.md +0 -31
  544. package/embedded-knowledge/methodologies/phases/execution-validation.md +0 -174
  545. package/embedded-knowledge/methodologies/phases/performance-full.md +0 -211
  546. package/embedded-knowledge/methodologies/phases/performance-quick.md +0 -32
  547. package/embedded-knowledge/methodologies/phases/performance.md +0 -211
  548. package/embedded-knowledge/methodologies/phases/verification-full.md +0 -162
  549. package/embedded-knowledge/methodologies/phases/verification-quick.md +0 -48
  550. package/embedded-knowledge/methodologies/phases/verification.md +0 -146
  551. package/embedded-knowledge/methodologies/workflow-enforcement.md +0 -142
  552. package/embedded-knowledge/methodologies/workflows/code-review-workflow.md +0 -99
  553. package/embedded-knowledge/specialists/alex-architect.md +0 -216
  554. package/embedded-knowledge/specialists/casey-copilot.md +0 -226
  555. package/embedded-knowledge/specialists/chris-config.md +0 -267
  556. package/embedded-knowledge/specialists/dean-debug.md +0 -222
  557. package/embedded-knowledge/specialists/eva-errors.md +0 -235
  558. package/embedded-knowledge/specialists/jordan-bridge.md +0 -235
  559. package/embedded-knowledge/specialists/logan-legacy.md +0 -209
  560. package/embedded-knowledge/specialists/maya-mentor.md +0 -211
  561. package/embedded-knowledge/specialists/morgan-market.md +0 -226
  562. package/embedded-knowledge/specialists/quinn-tester.md +0 -235
  563. package/embedded-knowledge/specialists/roger-reviewer.md +0 -234
  564. package/embedded-knowledge/specialists/sam-coder.md +0 -359
  565. package/embedded-knowledge/specialists/seth-security.md +0 -235
  566. package/embedded-knowledge/specialists/taylor-docs.md +0 -257
  567. package/embedded-knowledge/specialists/uma-ux.md +0 -235
@@ -1,548 +0,0 @@
1
- # API Page Field Control Selection Strategy - AL Code Sample
2
-
3
- ## Basic Field Control Selection
4
-
5
- ```al
6
- page 50110 "Item API"
7
- {
8
- PageType = API;
9
- APIPublisher = 'contoso';
10
- APIGroup = 'inventory';
11
- APIVersion = 'v1.0';
12
- EntityName = 'item';
13
- EntitySetName = 'items';
14
- SourceTable = Item;
15
- DelayedInsert = true;
16
-
17
- layout
18
- {
19
- area(Content)
20
- {
21
- repeater(Records)
22
- {
23
- // Primary identifier - always include SystemId
24
- field(id; Rec.SystemId)
25
- {
26
- Caption = 'Id';
27
- Editable = false; // System-generated, read-only
28
- }
29
-
30
- // Business key - essential for integration
31
- field(number; Rec."No.")
32
- {
33
- Caption = 'Number';
34
- // Editable on insert, read-only after
35
- Editable = Rec."No." = '';
36
- }
37
-
38
- // Core business fields - commonly queried
39
- field(displayName; Rec.Description)
40
- {
41
- Caption = 'Display Name';
42
- }
43
-
44
- field(type; Rec.Type)
45
- {
46
- Caption = 'Type';
47
- }
48
-
49
- field(unitPrice; Rec."Unit Price")
50
- {
51
- Caption = 'Unit Price';
52
- }
53
-
54
- // Inventory tracking - frequently needed
55
- field(inventory; Rec.Inventory)
56
- {
57
- Caption = 'Inventory';
58
- Editable = false; // Calculated field
59
- }
60
-
61
- // Status field - important for business logic
62
- field(blocked; Rec.Blocked)
63
- {
64
- Caption = 'Blocked';
65
- }
66
-
67
- // Timestamps - useful for synchronization
68
- field(lastModifiedDateTime; Rec.SystemModifiedAt)
69
- {
70
- Caption = 'Last Modified Date Time';
71
- Editable = false;
72
- }
73
- }
74
- }
75
- }
76
- }
77
- ```
78
-
79
- ## Advanced Field Selection with Business Logic
80
-
81
- ```al
82
- page 50111 "Customer API Advanced"
83
- {
84
- PageType = API;
85
- APIPublisher = 'contoso';
86
- APIGroup = 'customers';
87
- APIVersion = 'v2.0';
88
- EntityName = 'customer';
89
- EntitySetName = 'customers';
90
- SourceTable = Customer;
91
- DelayedInsert = true;
92
-
93
- layout
94
- {
95
- area(Content)
96
- {
97
- repeater(Records)
98
- {
99
- field(id; Rec.SystemId)
100
- {
101
- Caption = 'Id';
102
- }
103
-
104
- field(number; Rec."No.")
105
- {
106
- Caption = 'Number';
107
- trigger OnValidate()
108
- begin
109
- // Custom validation for API
110
- if StrLen(Rec."No.") < 3 then
111
- Error('Customer number must be at least 3 characters');
112
- end;
113
- }
114
-
115
- field(displayName; Rec.Name)
116
- {
117
- Caption = 'Display Name';
118
- NotBlank = true; // Required field enforcement
119
- }
120
-
121
- // Complex field with business logic
122
- field(creditLimit; Rec."Credit Limit (LCY)")
123
- {
124
- Caption = 'Credit Limit';
125
- trigger OnValidate()
126
- begin
127
- // Business rule: Credit limit validation
128
- if Rec."Credit Limit (LCY)" < 0 then
129
- Error('Credit limit cannot be negative');
130
-
131
- if Rec."Credit Limit (LCY)" > 1000000 then
132
- if not ConfirmManagement.GetResponseOrDefault('Credit limit exceeds 1M. Continue?', false) then
133
- Error('Credit limit validation failed');
134
- end;
135
- }
136
-
137
- // Calculated field not stored in table
138
- field(currentBalance; CurrentBalance)
139
- {
140
- Caption = 'Current Balance';
141
- Editable = false;
142
-
143
- trigger OnLookup(var Text: Text): Boolean
144
- begin
145
- // Navigate to customer ledger entries
146
- CustLedgEntry.SetRange("Customer No.", Rec."No.");
147
- if Page.RunModal(Page::"Customer Ledger Entries", CustLedgEntry) = Action::LookupOK then
148
- exit(true);
149
- end;
150
- }
151
-
152
- // Address fields - grouped for related data
153
- field(addressLine1; Rec.Address)
154
- {
155
- Caption = 'Address Line 1';
156
- }
157
-
158
- field(addressLine2; Rec."Address 2")
159
- {
160
- Caption = 'Address Line 2';
161
- }
162
-
163
- field(city; Rec.City)
164
- {
165
- Caption = 'City';
166
- }
167
-
168
- field(state; Rec.County)
169
- {
170
- Caption = 'State';
171
- }
172
-
173
- field(postalCode; Rec."Post Code")
174
- {
175
- Caption = 'Postal Code';
176
- trigger OnValidate()
177
- begin
178
- // Postal code format validation
179
- ValidatePostalCode(Rec."Post Code", Rec."Country/Region Code");
180
- end;
181
- }
182
-
183
- field(countryCode; Rec."Country/Region Code")
184
- {
185
- Caption = 'Country Code';
186
- }
187
-
188
- // Contact information
189
- field(phoneNumber; Rec."Phone No.")
190
- {
191
- Caption = 'Phone Number';
192
- ExtendedDatatype = PhoneNo;
193
- }
194
-
195
- field(email; Rec."E-Mail")
196
- {
197
- Caption = 'Email';
198
- ExtendedDatatype = EMail;
199
- }
200
-
201
- // Financial fields
202
- field(paymentTermsId; PaymentTermsId)
203
- {
204
- Caption = 'Payment Terms Id';
205
-
206
- trigger OnValidate()
207
- begin
208
- ValidatePaymentTermsId();
209
- end;
210
-
211
- trigger OnLookup(var Text: Text): Boolean
212
- begin
213
- exit(LookupPaymentTerms(Text));
214
- end;
215
- }
216
-
217
- field(paymentMethodId; PaymentMethodId)
218
- {
219
- Caption = 'Payment Method Id';
220
- }
221
-
222
- // Status and control fields
223
- field(blocked; Rec.Blocked)
224
- {
225
- Caption = 'Blocked';
226
- }
227
-
228
- field(lastModifiedDateTime; Rec.SystemModifiedAt)
229
- {
230
- Caption = 'Last Modified Date Time';
231
- Editable = false;
232
- }
233
- }
234
- }
235
- }
236
-
237
- var
238
- CustLedgEntry: Record "Cust. Ledger Entry";
239
- ConfirmManagement: Codeunit "Confirm Management";
240
- CurrentBalance: Decimal;
241
- PaymentTermsId: Guid;
242
- PaymentMethodId: Guid;
243
-
244
- trigger OnAfterGetRecord()
245
- begin
246
- // Calculate current balance for each record
247
- CalcCurrentBalance();
248
- GetPaymentTermsId();
249
- GetPaymentMethodId();
250
- end;
251
-
252
- local procedure CalcCurrentBalance()
253
- begin
254
- Rec.CalcFields("Balance (LCY)");
255
- CurrentBalance := Rec."Balance (LCY)";
256
- end;
257
-
258
- local procedure ValidatePostalCode(PostalCode: Code[20]; CountryCode: Code[10])
259
- var
260
- PostCodeRegex: Codeunit Regex;
261
- begin
262
- // Example validation for US postal codes
263
- if CountryCode = 'US' then
264
- if not PostCodeRegex.IsMatch(PostalCode, '^\d{5}(-\d{4})?$') then
265
- Error('Invalid US postal code format');
266
- end;
267
-
268
- local procedure ValidatePaymentTermsId()
269
- var
270
- PaymentTerms: Record "Payment Terms";
271
- begin
272
- if IsNullGuid(PaymentTermsId) then
273
- Rec."Payment Terms Code" := ''
274
- else begin
275
- PaymentTerms.SetRange(SystemId, PaymentTermsId);
276
- if PaymentTerms.FindFirst() then
277
- Rec."Payment Terms Code" := PaymentTerms.Code
278
- else
279
- Error('Payment terms not found for specified ID');
280
- end;
281
- end;
282
- }
283
- ```
284
-
285
- ## Field Selection for Different API Scenarios
286
-
287
- ```al
288
- // Read-only reporting API - minimal field set
289
- page 50112 "Sales Statistics API"
290
- {
291
- PageType = API;
292
- APIPublisher = 'contoso';
293
- APIGroup = 'reporting';
294
- APIVersion = 'v1.0';
295
- EntityName = 'salesStatistic';
296
- EntitySetName = 'salesStatistics';
297
- SourceTable = Customer;
298
- DelayedInsert = true;
299
- Editable = false; // Read-only API
300
-
301
- layout
302
- {
303
- area(Content)
304
- {
305
- repeater(Records)
306
- {
307
- field(id; Rec.SystemId)
308
- {
309
- Caption = 'Id';
310
- }
311
-
312
- field(customerNumber; Rec."No.")
313
- {
314
- Caption = 'Customer Number';
315
- }
316
-
317
- field(customerName; Rec.Name)
318
- {
319
- Caption = 'Customer Name';
320
- }
321
-
322
- // Aggregated sales data - calculated fields only
323
- field(totalSalesYTD; TotalSalesYTD)
324
- {
325
- Caption = 'Total Sales YTD';
326
- }
327
-
328
- field(totalSalesLastYear; TotalSalesLastYear)
329
- {
330
- Caption = 'Total Sales Last Year';
331
- }
332
-
333
- field(averageOrderValue; AverageOrderValue)
334
- {
335
- Caption = 'Average Order Value';
336
- }
337
-
338
- field(orderCount; OrderCount)
339
- {
340
- Caption = 'Order Count';
341
- }
342
-
343
- field(lastOrderDate; LastOrderDate)
344
- {
345
- Caption = 'Last Order Date';
346
- }
347
- }
348
- }
349
- }
350
-
351
- var
352
- TotalSalesYTD: Decimal;
353
- TotalSalesLastYear: Decimal;
354
- AverageOrderValue: Decimal;
355
- OrderCount: Integer;
356
- LastOrderDate: Date;
357
-
358
- trigger OnAfterGetRecord()
359
- begin
360
- CalculateSalesStatistics();
361
- end;
362
-
363
- local procedure CalculateSalesStatistics()
364
- var
365
- SalesHeader: Record "Sales Header";
366
- SalesLine: Record "Sales Line";
367
- begin
368
- // Calculate YTD sales
369
- SalesLine.SetRange("Sell-to Customer No.", Rec."No.");
370
- SalesLine.SetRange("Document Type", SalesLine."Document Type"::Order);
371
- SalesLine.SetFilter("Shipment Date", '%1..%2', CalcDate('<-CY>', Today), Today);
372
- SalesLine.CalcSums("Line Amount");
373
- TotalSalesYTD := SalesLine."Line Amount";
374
-
375
- // Calculate last year sales
376
- SalesLine.SetFilter("Shipment Date", '%1..%2', CalcDate('<-1Y-CY>', Today), CalcDate('<-CY>', Today));
377
- SalesLine.CalcSums("Line Amount");
378
- TotalSalesLastYear := SalesLine."Line Amount";
379
-
380
- // Calculate order statistics
381
- SalesHeader.SetRange("Sell-to Customer No.", Rec."No.");
382
- SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Order);
383
- OrderCount := SalesHeader.Count;
384
-
385
- if OrderCount > 0 then
386
- AverageOrderValue := TotalSalesYTD / OrderCount;
387
-
388
- SalesHeader.SetCurrentKey("Order Date");
389
- SalesHeader.Ascending(false);
390
- if SalesHeader.FindFirst() then
391
- LastOrderDate := SalesHeader."Order Date";
392
- end;
393
- }
394
- ```
395
-
396
- ## Dynamic Field Selection Based on Context
397
-
398
- ```al
399
- // Context-aware field selection
400
- page 50113 "Item Context API"
401
- {
402
- PageType = API;
403
- APIPublisher = 'contoso';
404
- APIGroup = 'inventory';
405
- APIVersion = 'v2.0';
406
- EntityName = 'item';
407
- EntitySetName = 'items';
408
- SourceTable = Item;
409
- DelayedInsert = true;
410
-
411
- layout
412
- {
413
- area(Content)
414
- {
415
- repeater(Records)
416
- {
417
- field(id; Rec.SystemId)
418
- {
419
- Caption = 'Id';
420
- }
421
-
422
- field(number; Rec."No.")
423
- {
424
- Caption = 'Number';
425
- }
426
-
427
- field(description; Rec.Description)
428
- {
429
- Caption = 'Description';
430
- }
431
-
432
- // Conditionally visible based on item type
433
- field(inventoryPostingGroup; Rec."Inventory Posting Group")
434
- {
435
- Caption = 'Inventory Posting Group';
436
- Visible = Rec.Type = Rec.Type::Inventory;
437
- }
438
-
439
- field(unitCost; Rec."Unit Cost")
440
- {
441
- Caption = 'Unit Cost';
442
- Visible = ShowCostFields;
443
- }
444
-
445
- field(lastDirectCost; Rec."Last Direct Cost")
446
- {
447
- Caption = 'Last Direct Cost';
448
- Visible = ShowCostFields;
449
- }
450
-
451
- // Service-specific fields
452
- field(serviceItemGroup; Rec."Service Item Group")
453
- {
454
- Caption = 'Service Item Group';
455
- Visible = Rec.Type = Rec.Type::"Service";
456
- }
457
-
458
- // Manufacturing fields
459
- field(manufacturingPolicy; Rec."Manufacturing Policy")
460
- {
461
- Caption = 'Manufacturing Policy';
462
- Visible = ShowManufacturingFields;
463
- }
464
-
465
- field(replenishmentSystem; Rec."Replenishment System")
466
- {
467
- Caption = 'Replenishment System';
468
- Visible = ShowManufacturingFields;
469
- }
470
-
471
- // Conditionally calculated fields
472
- field(availableInventory; AvailableInventory)
473
- {
474
- Caption = 'Available Inventory';
475
- Visible = Rec.Type = Rec.Type::Inventory;
476
- }
477
- }
478
- }
479
- }
480
-
481
- var
482
- ShowCostFields: Boolean;
483
- ShowManufacturingFields: Boolean;
484
- AvailableInventory: Decimal;
485
-
486
- trigger OnOpenPage()
487
- begin
488
- // Determine field visibility based on user permissions or setup
489
- ShowCostFields := HasCostPermissions();
490
- ShowManufacturingFields := HasManufacturingModule();
491
- end;
492
-
493
- trigger OnAfterGetRecord()
494
- begin
495
- if Rec.Type = Rec.Type::Inventory then
496
- CalculateAvailableInventory();
497
- end;
498
-
499
- local procedure HasCostPermissions(): Boolean
500
- var
501
- UserSetup: Record "User Setup";
502
- begin
503
- if UserSetup.Get(UserId) then
504
- exit(UserSetup."View Cost Information");
505
- exit(false);
506
- end;
507
-
508
- local procedure HasManufacturingModule(): Boolean
509
- var
510
- ManufacturingSetup: Record "Manufacturing Setup";
511
- begin
512
- exit(ManufacturingSetup.Get());
513
- end;
514
-
515
- local procedure CalculateAvailableInventory()
516
- begin
517
- Rec.CalcFields(Inventory, "Reserved Qty. on Inventory");
518
- AvailableInventory := Rec.Inventory - Rec."Reserved Qty. on Inventory";
519
- end;
520
- }
521
- ```
522
-
523
- ## Implementation Notes
524
-
525
- **Field Selection Principles:**
526
- - Always include SystemId for unique identification
527
- - Include business keys (No., Code) for integration
528
- - Select fields based on API purpose (CRUD vs reporting)
529
- - Consider performance impact of calculated fields
530
- - Group related fields together logically
531
-
532
- **Validation and Business Logic:**
533
- - Implement field-level validation in triggers
534
- - Use NotBlank for required fields
535
- - Handle complex validations in OnValidate triggers
536
- - Consider API-specific validation rules
537
-
538
- **Performance Considerations:**
539
- - Avoid FlowFields in high-volume scenarios
540
- - Calculate complex fields only when needed
541
- - Use appropriate field visibility to reduce payload
542
- - Consider caching calculated values
543
-
544
- **Security and Permissions:**
545
- - Hide sensitive fields based on user permissions
546
- - Implement field-level security as needed
547
- - Consider data classification requirements
548
- - Validate user access to restricted information