Oracle · Flexcube · Python 3

fcx-toolkit

Un appel, une réponse JSON. Toujours.

Exécuter du SQL Oracle, exporter un résultat, intégrer un batch d'écritures comptables — depuis votre code, pas seulement depuis un terminal. Chaque exécution rend un document JSON unique sur la sortie standard, succès comme échec.

Ce que vous appelez Ce que vous recevez
$ python3 fcx.py extract \
    --env cofina \
    --query "select cust_ac_no,
                    acy_avl_bal
             from sttm_cust_account
             where rownum <= 2"
Le code de sortie suit la réponse
$ echo $?
0
{
  "status": "success",
  "command": "extract",
  "exit_code": 0,
  "messages": ["2 ligne(s) extraite(s)."],
  "data": {
    "columns": ["CUST_AC_NO", "ACY_AVL_BAL"],
    "rows": [
      ["0012345678", 150000.0],
      ["0098765432", 250000.0]
    ],
    "row_count": 2
  },
  "error": null
}

Sortie standard : le JSON, rien d'autre Compact par défaut · indenté ici pour la lecture

01 — Installation

Cinq lignes, aucun Instant Client

Le driver oracledb fonctionne en mode thin : rien à installer côté Oracle. Python 3.9 ou plus récent suffit.

git clone https://github.com/mawena/fcx-toolkit.git
cd fcx-toolkit
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
cp envs/exemple.conf.dist envs/cofina.conf   # puis renseignez vos accès

02 — Les commandes

Cinq appels pour tout faire

--env désigne un fichier de configuration sous envs/. Les mots de passe n'y figurent jamais en clair : ils sont lus dans les variables d'environnement au lancement.

$ python3 fcx.py envs

envs

Liste les environnements configurés.

$ python3 fcx.py commands

commands

Liste les commandes disponibles, en JSON — la découverte pour un appelant automatisé.

$ python3 fcx.py execute --env cofina \
    --query "exec MON_PKG.MA_PROC"

execute

Exécute du SQL ou du PL/SQL : requêtes, procédures, blocs anonymes. S'arrête à la première instruction en échec.

$ python3 fcx.py extract --env cofina \
    --query "select * from sttm_cust_account" \
    --out ./comptes.xlsx

extract

Exporte le résultat d'un SELECT en CSV, Excel ou JSON. Sans --out, les lignes reviennent dans la réponse.

$ python3 fcx.py flexcube-batch --env cofina \
    --file ./ecritures.csv --no-batch B0012 \
    --value-date 15/07/2026 --user-id OPS01 \
    --dry-run

flexcube-batch

Intègre un batch d'écritures depuis un CSV ou un Excel. Contrôle l'existence des comptes, les soldes et l'équilibre débit/crédit avant tout envoi. --dry-run vérifie sans rien transmettre.

03 — Ce sur quoi vous pouvez compter

Trois garanties

Intégration

Décodable sans précaution

Un seul document JSON par exécution, compact, erreurs d'usage comprises. Aucun journal affiché : le décodage tient même si votre appelant fusionne les flux.

Sécurité

Rien n'est envoyé sur un doute

Les anomalies sont accumulées puis rendues ensemble : une exécution suffit pour connaître toutes les corrections. Un contrôle qui échoue annule l'intégration.

Extension

Un fichier suffit

Déposez un .py dans workflows/ : il devient une sous-commande. Aucun code existant à modifier.