Skip to content

xjhowxjhow/OpenAPI-SAP-RFC-ABAPi-Python-Connector-PyRFC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OPEN API - SAP RFC/ABAPi Python Connector- PyRFC

This project consists of creating a RestAPI for ABAP/RFC'S Read Tables SAP calls, in order to be consumed in other services with dynamic parameters.

Install

Dependencies:

  pip install Cython
  pip install uvicorn
  pip install fastapi
  pip install pydantic
  pip install c:\folder\resources\pyrfc-lib\PyRFC-1.9.93.tar.gz
Install Build Tools 2019 C in resources\vss\setup.exe

environment variables :

  Create a folder called 'sap' with the files extracted from the RFC NEW SDK and Move in C:\'
  ADD to PATCH: 'C:\sap\nwrfcsdk\lib'
  CREATE environment variables  NAME:'SAPNWRFC_HOME' VALUE:'C:\sap\nwrfcsdk'

Server Change:

MainBaseModel.py

if __name__ == '__main__':
    uvicorn.run("MainBaseModel:app", port=3000, host='0.0.0.0', reload=True)

API documentation

Return swagger

  GET /docs
Description
swagger FastAPI.

ABAPI Call'S Request

  POST /bapi

Send JSon in Body:raw/Json for parameters and connection

{
    "CONFIG": {
        "ashost":"XX.XX.XX.XX",
        "sysnr": "XX",
        "client":"XXX",
        "user":  "XXXXXXX",
        "passwd":"XXXXXX",
        "lang":  "pt"
    },
    "BAPI": "BAPI_EXAMPLE_GETDETAIL", ex: //BAPI_COMPANY_GETLIST //
    "KWARGS": {
        "EXPORTPARAMS1":"Value", // Args to  ABAPI
        "EXPORTPARAMS2":"Value"
    }
}

RFCs Read Tables Call'S Request

  POST /rfc

Send JSon in Body:raw/Json for parameters and connection

{
    "ROWSKIPS": 0,
    "ROWCOUNT": 20,
    "FIELDS": [
        "NAME_FIELD1",
        "NAME_FIELD2",
        "NAME_FIELD3",
        "NAME_FIELD4",
        "NAME_FIELD5"
    ],
    "WHERE": [
        {
            "TEXT": "NAME_FIELD1  = 'S'",
            "TEXT": "NAME_FIELD2  LIKE '%VALUE%'",
            "TEXT": "NAME_FIELD3  <> 'VALUE'"

        }
    ],
    "CONFIG": {
        "ashost":"XX.XX.XX.XX",
        "sysnr": "XX",
        "client":"XXX",
        "user":  "XXXXXXX",
        "passwd":"XXXXXX",
        "lang":  "pt"
    },
    "TABELA": "PA0001" // TABLES SAP 
}

RFCs/ABAPI Receives the Organizational Structure of Employees by payroll

  POST /funcinario2

Send JSon in Body:raw/Json for parameters and connection

{
    "CONFIG": {
        "ashost":"XX.XX.XX.XX",
        "sysnr": "XX",
        "client":"XXX",
        "user":  "XXXXXXX",
        "passwd":"XXXXXX",
        "lang":  "pt"
    },
    "LIST_PAYROLL": [ Inform at least 1 payroll
        "AA",
        "BB",
        "CC",
        "DD",
        "EE",
        "FF",
        "GG",
        "HH",
        "II",
        "JJ"
    ],
    "PAGE": "1" ///Number Pagination // Return 50 Items Default
}

About

This project consists of creating a RestAPI for ABAP/RFC'S Read Tables SAP calls, in order to be consumed in other services with dynamic parameters.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages