export const libSymbols = {
RfcOpenConnection: { parameters: [ "buffer", "i32", "buffer" ], result: "void" }
} as const satisfies Deno.ForeignLibraryInterface;
type typNWInterface = typeof libSymbols;
class loadNetWeaver{
static init() {
//Métodos da Biblioteca
const __prefixDir : string = path.dirname(path.fromFileUrl(import.meta.url)) as string
const libPath = path.join(__prefixDir, "nwrfcsdk", "lib", "sapnwrfc.dll")
const nw = Deno.dlopen(libPath, libSymbols);
return nw;
}
}
const NW = loadNetWeaver.init()
const conectionParam = [{
name: "SAPTESTE",
value: "123"
}]
const DEFAULT_LENGTH = 2792;
const outPtrs = new ArrayBuffer(DEFAULT_LENGTH);
const errorRET = new Uint8Array(outPtrs, 0, DEFAULT_LENGTH);
const esTamanhoView = new Uint16Array(outPtrs, 0, 4);
esTamanhoView[0] = DEFAULT_LENGTH;
NW.symbols.RfcOpenConnection(
new TextEncoder().encode(conectionParam.toString() + '\0'),
6,
errorRET
)
export const libSymbols = {
RfcOpenConnection: { parameters: [ "buffer", "i32", "buffer" ], result: "void" }
} as const satisfies Deno.ForeignLibraryInterface;
type typNWInterface = typeof libSymbols;
class loadNetWeaver{
static init() {
//Métodos da Biblioteca
const __prefixDir : string = path.dirname(path.fromFileUrl(import.meta.url)) as string
const libPath = path.join(__prefixDir, "nwrfcsdk", "lib", "sapnwrfc.dll")
const nw = Deno.dlopen(libPath, libSymbols);
return nw;
}
}
const NW = loadNetWeaver.init()
const conectionParam = [{
name: "SAPTESTE",
value: "123"
}]
const DEFAULT_LENGTH = 2792;
const outPtrs = new ArrayBuffer(DEFAULT_LENGTH);
const errorRET = new Uint8Array(outPtrs, 0, DEFAULT_LENGTH);
const esTamanhoView = new Uint16Array(outPtrs, 0, 4);
esTamanhoView[0] = DEFAULT_LENGTH;
NW.symbols.RfcOpenConnection(
new TextEncoder().encode(conectionParam.toString() + '\0'),
6,
errorRET
)