elielelie/laravel-sap

Laravel 集成的 SAP 功能。

v1.0.5 2024-04-20 14:24 UTC

This package is auto-updated.

Last update: 2024-09-20 18:42:23 UTC


README

Laravel 集成的 SAP 功能。

Maintainer PHP VERSION BUILD LICENSE

安装

请确保已安装 php7-sapnwrfc 扩展。

composer require elielelie/laravel-sap

要建立与 SAP 的连接,您需要将以下变量添加到您的 .env 文件中

SAP_HOST        Host
SAP_SYSTEM      System number
SAP_LANGUAGE    Language default
SAP_CLIENT      Client instance
SAP_USERNAME    Username
SAP_PASSWORD    Password    

您可以通过运行以下命令发布配置文件并添加新的连接

$ php artisan vendor:publish --provider="Elielelie\Sap\SapServiceProvider"

用法

连接到 SAP

<?php

use Elielelie\Sap\Sap;

$sap = app(Sap::class);

$connection = $sap->open();

or

// Connection name defined in the configuration file config/sap.php
 
$connection = $sap->open('name');

执行功能模块调用

<?php

// ... connection

$function = $connection->fm('BAPI_USER_GET_DETAIL');

// Get function description.
print_r($function->description());

// Add import parameter.
$function->param('USERNAME', 'USER');

// Perform function call and retrieve result.
$results = $function->execute();

$connection->close();

使用 RFC_READ_TABLE 获取用户详细信息

<?php

// ... connection

$function = $connection->fm('RFC_READ_TABLE');

$function->param('QUERY_TABLE', 'USR01')
	->param('OPTIONS', [
		['TEXT' => 'BNAME = 'USER' OR BNAME = 'USER2' OR BNAME LIKE 'USER5*']
	])
	->param('ROWCOUNT', 5)
	->param('DELIMITER', '~')
;

$result = $function->execute();

$connection->close();

查询构建器使用

<?php

// ... connection

$fm = $connection->fmc(Table::class);

$results = $fm->table('USR01')
    ->fields(['BNAME', 'STCOD', 'MANDT' ...])
	->where('bname', ['USER', 'USER5'])
	->orWhere('bname', 'LIKE', 'USER5*')
	->limit(5)
	->get()
;

许可

本软件根据 MIT 许可证授权。有关详细信息,请参阅 LICENSE

法律声明

本文提到的 SAP 以及其他 SAP 产品和服务是 SAP SE(或其附属公司)在德国和其他国家的商标或注册商标。