8000 GitHub - DongDavid/gosap: GO 配置了SAP连接环境的Docker镜像
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

DongDavid/gosap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

go通过rfc链接SAP

准备

去SAP官网下载nwrfc750P_7-70002752.zip 然后解压后,打包成nwrfcsdk.tar.gz

# 准备SAP依赖
unzip -d nwrfcsdk nwrfc750P_7-70002752.zip
tar -czf nwrfcsdk.tar.gz nwrfcsdk
# 构建镜像
docker build -t dongdavid/gosap:latest .
# 启动容器
docker run -d -it --name gosap -p 8000:8080 -v $PWD:/data dongdavid/gosap:latest bash

需要注意的地方

在新版本的go中(我用的是1.15.6),使用go get加载sap/gorfc这个包的时候会出现一个错误提示,它会导致镜像构建失败,所以在Dockerfile中我使用的是dongdavid/gorfc来替代sap/gorfc

$ go get github.com/sap/gorfc
package github.com/sap/gorfc: no Go files in /go/src/github.com/sap/gorfc

手工配置SAP及GORFC

安装SAP NW RFC 依赖库

mkdir /usr/local/sap
mv nwrfcsdk/ /usr/local/sap/
echo export SAPNWRFC_HOME=/usr/local/sap/nwrfcsdk >> /.bashrc
source /root/.bashrc
echo /usr/local/sap/nwrfcsdk/lib >> /etc/ld.so.conf.d/nwrfcsdk.conf
ldconfig

安装GORFC

export CGO_CFLAGS="-I $SAPNWRFC_HOME/include"
export CGO_LDFLAGS="-L $SAPNWRFC_HOME/lib"
export CGO_CFLAGS_ALLOW=.*
export CGO_LDFLAGS_ALLOW=.*
go get github.com/stretchr/testify
go get github.com/sap/gorfc
cd $GOPATH/src/github.com/sap/gorfc/gorfc
go build
go install
package main

import (
	"fmt"
	"github.com/sap/gorfc/gorfc"
)
func abapSystem() gorfc.ConnectionParameters {
	return gorfc.ConnectionParameters{
		"user":   "",
		"passwd": "",
		"ashost": "127.0.0.1",
		"sysnr":  "",
		"client": "",
		"lang":   "EN",
	}
}
func main() {
	c, err := gorfc.ConnectionFromParams(abapSystem())
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("Connected:", c.Alive())
	params := map[string]interface{}{
		"VKORG": "xxx",
		"KUNNR": "",
	}
	r, e := c.Call("func_name", params)

	if e != nil {
		fmt.Println(e)
		return
	}
	fmt.Println(r)
	// fmt.Println(r["ZSD_KNVV"].([]interface{})[0].(map[string]interface{})["KUNN2"])
	c.Close()
}

About

GO 配置了SAP连接环境的Docker镜像

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0