1"use strict";(self.webpackChunkerpl_docusaurus=self.webpackChunkerpl_docusaurus||[]).push([[561],{14381:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>f,frontMatter:()=>o,metadata:()=>i,toc:()=>l});const i=JSON.parse('{"id":"references/remote_function_call","title":"Remote Function Call (RFC)","description":"Reference documentation for SAP RFC functions in ERPL","source":"@site/docs/references/remote_function_call.md","sourceDirName":"references","slug":"/references/remote_function_call","permalink":"/docs/references/remote_function_call","draft":false,"unlisted":false,"editUrl":"https://github.com/datazoode/erpl-landingpage/tree/main/docs/references/remote_function_call.md","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"title":"Remote Function Call (RFC)","description":"Reference documentation for SAP RFC functions in ERPL"},"sidebar":"docs","previous":{"title":"sap_rfc_reload_ini_file","permalink":"/docs/references/pragma/sap_rfc_reload_ini_file"},"next":{"title":"sap_rfc_invoke","permalink":"/docs/references/rfc/sap_rfc_invoke"}}');var c=s(74848),t=s(28453);const o={sidebar_position:2,title:"Remote Function Call (RFC)",description:"Reference documentation for SAP RFC functions in ERPL"},r="Remote Function Call (RFC) Functions",a={},l=[{value:"Available RFC Functions",id:"available-rfc-functions",level:2},{value:"Table Operations",id:"table-operations",level:3},{value:"Function Discovery and Inspection",id:"function-discovery-and-inspection",level:3},{value:"Function Invocation",id:"function-invocation",level:3},{value:"Usage Examples",id:"usage-examples",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(n.header,{children:(0,c.jsx)(n.h1,{id:"remote-function-call-rfc-functions",children:"Remote Function Call (RFC) Functions"})}),"\n",(0,c.jsx)(n.p,{children:"You can find detailed documentation about SAP Remote Function Call (RFC) functions on SAP's official website. This documentation provides comprehensive information on the various types of RFCs, such as Synchronous RFC (sRFC), Asynchronous RFC (aRFC), Transactional RFC (tRFC), Queued RFC (qRFC), Background RFC (bgRFC), and Local Data Queue (LDQ), along with their specific characteristics and uses. It also covers aspects of data transfer and security relevant to RFC communication."}),"\n",(0,c.jsx)(n.p,{children:"All ERPL functions loaded into DuckDB can be retrieved by the following SQL statement:"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-sql",children:"SELECT * FROM duckdb_functions() WHERE function_name LIKE '%sap%';\n"})}),"\n",(0,c.jsx)(n.h2,{id:"available-rfc-functions",children:"Available RFC Functions"}),"\n",(0,c.jsx)(n.h3,{id:"table-operations",children:"Table Operations"}),"\n",(0,c.jsxs)(n.ul,{children:["\n",(0,c.jsxs)(n.li,{children:[(0,c.jsx)(n.strong,{children:(0,c.jsx)(n.a,{href:"/docs/references/rfc/sap_show_tables",children:"sap_show_tables"})})," - Lists all or specific tables available in the SAP system."]}),"\n",(0,c.jsxs)(n.li,{children:[(0,c.jsx)(n.strong,{children:(0,c.jsx)(n.a,{href:"/docs/references/rfc/sap_describe_fields",children:"sap_describe_fields"})})," - Provides detailed information about fields in a specified table."]}),"\n",(0,c.jsxs)(n.li,{children:[(0,c.jsx)(n.strong,{children:(0,c.jsx)(n.a,{href:"/docs/references/rfc/sap_read_table",children:"sap_read_table"})})," - Reads data from a specified SAP table."]}),"\n"]}),"\n",(0,c.jsx)(n.h3,{id:"function-discovery-and-inspection",children:"Function Discovery and Inspection"}),"\n",(0,c.jsxs)(n.ul,{children:["\n",(0,c.jsxs)(n.li,{children:[(0,c.jsx)(n.strong,{children:(0,c.jsx)(n.a,{href:"/docs/references/rfc/sap_rfc_show_groups",children:"sap_rfc_show_groups"})})," - Lists SAP function groups that contain RFC-enabled function modules."]}),"\n",(0,c.jsxs)(n.li,{children:[(0,c.jsx)(n.strong,{children:(0,c.jsx)(n.a,{href:"/docs/references/rfc/sap_rfc_show_function",children:"sap_rfc_show_function"})})," - Searches RFC-enabled function modules by name/group pattern."]}),"\n",(0,c.jsxs)(n.li,{children:[(0,c.jsx)(n.strong,{children:(0,c.jsx)(n.a,{href:"/docs/references/rfc/sap_rfc_describe_function",children:"sap_rfc_describe_function"})})," - Returns the full parameter interface of a function module."]}),"\n"]}),"\n",(0,c.jsx)(n.h3,{id:"function-invocation",children:"Function Invocation"}),"\n",(0,c.jsxs)(n.ul,{children:["\n",(0,c.jsxs)(n.li,{children:[(0,c.jsx)(n.strong,{children:(0,c.jsx)(n.a,{href:"/docs/references/rfc/sap_rfc_invoke",children:"sap_rfc_invoke"})})," - Executes a specified function module in the SAP system."]}),"\n"]}),"\n",(0,c.jsx)(n.h2,{id:"usage-examples",children:"Usage Examples"}),"\n",(0,c.jsx)(n.pre,{children:(0,c.jsx)(n.code,{className:"language-sql",children:"-- List all available tables\nSELECT * FROM sap_show_tables()\n\n-- Find tables starting with \"FLIGHT\"\nSELECT * FROM sap_show_tables(TABLENAME='*SPFL*')\n\n-- Get field descriptions for a table\nSELECT * FROM SAP_DESCRIBE_FIELDS('SPFLI');\n\n-- Search for functions\nSELECT * FROM sap_rfc_show_function(FUNCNAME='BAPI_FLIGHT*') ORDER BY 1\n\n-- Get function details\nSELECT * FROM sap_rfc_describe_function('BAPI_FLIGHT_GETLIST')\n\n-- Invoke a function\nSELECT * FROM sap_rfc_invoke('BAPI_FLIGHT_GETLIST', path='/FLIGHT_LIST')\n\n-- Read table data\nSELECT * FROM sap_read_table(\"SFLIGHT\")\n"})}),"\n",(0,c.jsx)(n.p,{children:"For detailed documentation on each function, see the individual function pages linked above."})]})}function f(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,c.jsx)(n,{...e,children:(0,c.jsx)(d,{...e})}):d(e)}},28453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>r});var i=s(96540);const c={},t=i.createContext(c);function o(e){const n=i.useContext(t);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:o(e.components),i.createElement(t.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.