/** * CreateSmartForm — create or replace a SmartForm from Form Builder XML * (the format of SMARTFORMS > Utilities > Download, FB_CONVERT_FORM_TO_XML, * and the `xml` that GetSmartFormContent stores). * * SAP side: ZMCP_ADT_DISPATCH action SSF_UPLOAD_XML → FM ZMCP_SSF_UPLOAD, * which loads the XML with CL_SSF_FB_SMART_FORM->XML_UPLOAD, checks the form * and stores it active (generating its function module) when the check finds * no error — otherwise inactive, with the check messages in the result. * Companion ABAP source: sc4sap/abap/zmcp_ssf_upload.abap */ import type { HandlerContext } from '../../../lib/handlers/interfaces'; export declare const SSF_UPLOAD_INSTALL_HINT: string; export declare const TOOL_DEFINITION: { readonly name: "CreateSmartForm"; readonly available_in: readonly ["onprem", "legacy"]; readonly description: "[writes] Create (or, with overwrite, replace) a Z/Y SmartForm from Form Builder XML — the format of SMARTFORMS > Utilities > Download. The form is checked and stored active (function module generated) when the check finds no error; otherwise it is stored inactive and the check errors are returned. SmartStyles and SE78 graphics the XML names must already exist. Needs the ZMCP_SSF_UPLOAD FM and the SSF_UPLOAD_XML dispatcher action."; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly form_name: { readonly type: "string"; readonly description: "Target SmartForm name, Z* or Y* (e.g. \"ZMY_FORM\")."; }; readonly xml_file: { readonly type: "string"; readonly description: "Path of the Form Builder XML file (UTF-8)."; }; readonly package_name: { readonly type: "string"; readonly description: "Package. Default $TMP; any other package needs transport_request."; }; readonly transport_request: { readonly type: "string"; readonly description: "Transport request the form is recorded in."; }; readonly overwrite: { readonly type: "boolean"; readonly description: "Replace the form when it exists. Default false (an existing form is refused)."; }; readonly activate: { readonly type: "boolean"; readonly description: "Check and store active. Default true; false stores the form inactive without a check."; }; }; readonly required: readonly ["form_name", "xml_file"]; }; }; /** * The XML as the dispatcher takes it: the OData backend carries the params in * the URL (~8 KB), so the XML goes raw-deflate compressed (what CL_ABAP_GZIP * reads) and base64-encoded, in parts the dispatcher joins on the last one. */ export declare function uploadParts(xml: Buffer, partChars?: number): string[]; interface CreateSmartFormArgs { form_name: string; xml_file: string; package_name?: string; transport_request?: string; overwrite?: boolean; activate?: boolean; } export declare function handleCreateSmartForm(context: HandlerContext, args: CreateSmartFormArgs): Promise<{ isError: boolean; content: { type: string; text: any; }[]; }>; export {}; //# sourceMappingURL=handleCreateSmartForm.d.ts.map