Commit e6256b7e authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Note de développement :

 - Requêtes SIFAC de Bourgogne + résultats des premiers tests à Caen avec Céline BERNERY
parent f062fe18
Loading
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
# Note de développement et travaux en cours

## Dépenses
> Les documents présentés ici n'ont pas valeurs de documentation mais regroupe les recherches/test liés à l'évolution fonctionnel de OSCAR

 - [Dépenses - échange OSCAR/SIFAC](./depenses/sifac/README.md)
 - [Recherche *fulltext* via ElasticSearch](./elasticsearch/README.md)
 - [ ] Requêtes SIFAC
 No newline at end of file
+131 −1
Original line number Diff line number Diff line
# Dépenses SIFAC

@@include[Commandes](./commandes.sql)
 No newline at end of file
> Ce document historise les tests pour améliorer la synchronisation des dépenses entre Oscar est SIFAC. Les résultats / notes sont historisés dans le document du plus récent au début, au plus ancien en bas.



## Test 2024/09/25

Réunion avec Céline BERNERY qui propose une optimisation des requêtes proposées par Bourgogne

> Note de céline : les résultats sont peut être corrects en bourgogne, mais chez nous ça colle pas --> une partie de ce qui remonte comme "engagé et non payé" est déjà payé.

```sql
-- point b engagement frais de d�placement
-- exemple uB J030CVAU

SELECT
  DD07V.DDTEXT,
  FMIOI.WRTTP, 
  'engage et non paye',
  LFA1.NAME1 NOMFOUR,
  FMIOI.MEASURE,
  FMIOI.RLDNR Ledger,
  FMIOI.STUNR STUNR_id_unique_BDD,
  '' numsifac,
  FMIOI.REFBN N_piece_de_ref,
  FMIOI.RFPOS n_poste_ref,
  '' numpiece,
  FMIOI.LIFNR N_cpte_four,
  '' pieceref,
  FMIOI.BUKRS codesociete,
  '' codeservicefait,
  FMIOI.FAREA FAREA_Dom_fonctionnel,
  FMIOI.SGTXT SGTXT_texte_du_poste,
  '' texteFacture,
  FMIOI.WRTTP WRTTP_type_de_valeur,
  FMIOI.TRBTR TRBTR_montant_devise_transac,
  FMIOI.FISTL FISTL_centre_financier,
  FMIOI.FIPEX FIPEX_compte_budgetaire,
  NVL(substr(FMIOI.OBJNRZ, '12'), FMIOI.PRCTR) CENTREFINANCIER,
  FMIOI.HKONT compteGeneral,
  fmioi.budat date_piece_a_confirmer,
  fmioi.bldocdate date_comptable_a_confirmer,
  fmioi.gjahr date_annee_exercice_a_confirmer,
  fmioi.zhldt date_paiement_a_confirmer,
  '' date_service_fait
FROM
  SAPSR3.FMIOI FMIOI,
  SAPSR3.DD07V DD07V,
  SAPSR3.LFA1 LFA1
WHERE 
  DD07V.DOMNAME = 'FM_WRTTP' AND DD07V.DDLANGUAGE = 'F' 
  AND FMIOI.WRTTP=DD07V.DOMVALUE_L(+) 
  AND FMIOI.LIFNR=LFA1.LIFNR(+) 
  and FMIOI.MANDT=LFA1.mandt(+)
  --mandant --> à modifier pour prod: 500
  AND FMIOI.MANDT ='430' 
  AND FMIOI.FIKRS='1010' 
  AND  FMIOI.RLDNR = '9B' 
  AND fmioi.measure = '950DSI30' 
  and FMIOI.WRTTP = '52'
;
```

```sql
--point a : commandes d'achat

SELECT
  DD07V.DDTEXT,
  FMIOI.WRTTP,
  'engage et non paye',
  LFA1.NAME1 NOMFOUR,
  FMIOI.MEASURE,
  FMIOI.RLDNR,
  FMIOI.STUNR,
  '' numsifac,
  FMIOI.REFBN,
  FMIOI.RFPOS,
  FMIOI.LIFNR,
  '' pieceref,
  FMIOI.BUKRS codesociete,
  '' codeservicefait,
  FMIOI.FAREA,
  FMIOI.SGTXT,
  '' texteFacture,
  FMIOI.WRTTP,
  FMIOI.TRBTR,
  FMIOI.FISTL,
  FMIOI.FIPEX,
  NVL(substr(FMIOI.OBJNRZ, '12'), FMIOI.PRCTR) CENTREFINANCIER,
  FMIOI.HKONT,
  fmioi.budat date_piece_a_confirmer,
  fmioi.bldocdate date_comptable_a_confirmer,
  fmioi.gjahr date_annee_exercice_a_confirmer,
  fmioi.zhldt date_paiement_a_confirmer,
  '' date_service_fait
  
FROM
  SAPSR3.FMIOI FMIOI,
  SAPSR3.DD07V, 
  SAPSR3.LFA1 LFA1
  
WHERE
  FMIOI.LIFNR=LFA1.LIFNR (+)
  and FMIOI.MANDT=LFA1.mandt (+)
  and (DD07V.DOMNAME = 'FM_WRTTP' AND DD07V.DDLANGUAGE = 'F' )
  and FMIOI.WRTTP=DD07V.DOMVALUE_L
  AND FMIOI.RLDNR='9B'
  --mandant --> à modifier pour prod: 500
  AND FMIOI.MANDT='430' 
  AND FMIOI.FIKRS='1010'
  --PFI à indiquer
  AND fmioi.measure = '950DSI06' 
  --and fmioi.refbn='4500322586'
  AND FMIOI.WRTTP = '51'
;
```

## Test 2024/09/23

> Requêtes proposées par Bourgogne. Testées à Caen (OK)
> - PFI : 011C055C
> - MANDT : 430 (base de test)

 - [Script des Commandes](./commandes.sql) : OK
 - [Script des Coûts secondaires](./comptabilisation_couts_secondaires_2611.sql) : OK, mais pas de résultat avec le PFI de test
 - [Engagement des frais de déplacement](./engagement_frais_de_déplacement_2611.sql) : OK
 - [Factures 2611](./factures_2611.sql) : OK
 - [Paiements 2611](./paiements_2611.sql) : OK
 - [Transferts de résultats](./trasferts%20de%20résultats_2611.sql) : OK, mais pas de résultats avec le PFI de test)


BLDATE/DATE PIECE = Date de référence de création de la ligne/pièce
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -30,6 +30,6 @@ budat,
''

from SAPSR3.fmia
where rmeasure = '011C055C'
where rmeasure = '014C311F'
and rwrttp = '95'
AND rclnt = '500';
AND rclnt = '430';
+68 −0
Original line number Diff line number Diff line
-- point b engagement frais de d�placement
-- exemple uB J030CVAU

SELECT
  SAPSR3.DD07V.DDTEXT,
  'engage et non paye',
  SAPSR3.LFA1.NAME1 NOMFOUR,
  SAPSR3.FMIOI.MEASURE,
  SAPSR3.FMIOI.RLDNR Ledger,
  SAPSR3.FMIOI.STUNR STUNR_id_unique_BDD,
  '' numsifac,
  SAPSR3.FMIOI.REFBN N_piece_de_ref,
  '' numpiece,
  SAPSR3.FMIOI.LIFNR N_cpte_four,
  '' pieceref,
  '1010' codesociete,
  '' codeservicefait,
  SAPSR3.FMIOI.FAREA FAREA_Dom_fonctionnel,
  SAPSR3.FMIOI.SGTXT SGTXT_texte_du_poste,
  '' texteFacture,
  SAPSR3.FMIOI.WRTTP WRTTP_type_de_valeur,
  SAPSR3.FMIOI.TRBTR TRBTR_montant_devise_transac,
  SAPSR3.FMIOI.FISTL FISTL_centre_financier,
  SAPSR3.FMIOI.FIPEX FIPEX_compte_budgetaire,
  NVL(substr(SAPSR3.FMIOI.OBJNRZ, '12'), SAPSR3.FMIOI.PRCTR) CENTREFINANCIER,
  SAPSR3.FMIOI.HKONT compteGeneral,
  sapsr3.fmioi.budat date_piece_a_confirmer,
  sapsr3.fmioi.bldocdate date_comptable_a_confirmer,
  sapsr3.fmioi.gjahr date_annee_exercice_a_confirmer,
  sapsr3.fmioi.zhldt date_paiement_a_confirmer,
  '' date_service_fait
FROM
  SAPSR3.FMIOI,
  SAPSR3.FMFCTRT,
  SAPSR3.DD07V,
  SAPSR3.DD07V  DD07V1,
  SAPSR3.FMCIT,
  SAPSR3.LFA1,
  SAPSR3.CSKT,
  SAPSR3.CSKT  CSKT_FMIOI,
  SAPSR3.TFKBT,
  SAPSR3.VBAP,
  SAPSR3.PA0001
WHERE
  ( SAPSR3.FMFCTRT.FICTR=SAPSR3.FMIOI.FISTL  )
  AND  ( SAPSR3.FMIOI.FAREA=SAPSR3.TFKBT.FKBER  )
  AND  ( SAPSR3.FMIOI.FIPEX=SAPSR3.FMCIT.FIPEX  )
  AND  ( SAPSR3.FMIOI.GJAHR=SAPSR3.FMCIT.GJAHR  )
  AND  ( SAPSR3.FMIOI.WRTTP=SAPSR3.DD07V.DOMVALUE_L(+)  )
  AND  ( SAPSR3.FMIOI.BTART=DD07V1.DOMVALUE_L  )
  AND  ( SAPSR3.FMIOI.LIFNR=SAPSR3.LFA1.LIFNR(+)  )
  AND  ( substr(SAPSR3.FMIOI.OBJNRZ,'12')=SAPSR3.CSKT.KOSTL(+)  )
  AND  ( CSKT_FMIOI.KOSTL(+)=SAPSR3.FMIOI.PRCTR  )
  AND  ( SAPSR3.FMIOI.REFBN=SAPSR3.VBAP.VBELN(+)  )
  AND  ( SAPSR3.FMIOI.RFORG=SAPSR3.PA0001.PERNR(+)  )
  AND  ( SAPSR3.FMIOI.BUKRS=SAPSR3.PA0001.WERKS(+)  )
  AND  ( SAPSR3.DD07V.DOMNAME = 'FM_WRTTP' AND SAPSR3.DD07V.DDLANGUAGE = 'F'  )
  AND  ( DD07V1.DOMNAME = 'FM_BTART' AND DD07V1.DDLANGUAGE = 'F'  )
  AND  ( SAPSR3.FMIOI.RLDNR = '9B' )
  AND  
  (
   SAPSR3.FMIOI.MANDT  IN  ( '430'  )
   AND
   sapsr3.fmioi.measure = '011C055C'
   and
   SAPSR3.FMIOI.WRTTP = '52'
  )
;
 No newline at end of file
+44 −0
Original line number Diff line number Diff line
-- exemple uB: J030CVAU
-- Exemple à CAEN : 011C055C
select
'facture' as nature,
'engage et non paye',
SAPSR3.LFA1.NAME1 as nomfournisseur,
MEASURE AS pfi,
sapsr3.v_fmifi.RLDNR as AB9,
sapsr3.v_fmifi.STUNR as idsync,  
sapsr3.v_fmifi.awref AS numSifac,
sapsr3.v_fmifi.vrefbn as numCommandeAff,
sapsr3.v_fmifi.vobelnr as numPiece,
sapsr3.v_fmifi.LIFNR as numFournisseur,
sapsr3.v_fmifi.KNBELNR as pieceRef,
sapsr3.v_fmifi.fikrs AS codeSociete,
sapsr3.v_fmifi.BLART AS codeServiceFait,
sapsr3.v_fmifi.FAREA AS codeDomaineFonct,
sapsr3.v_fmifi.sgtxt AS designation,
sapsr3.v_fmifi.BKTXT as texteFacture,
sapsr3.v_fmifi.wrttp as typeDocument,
sapsr3.v_fmifi.TRBTR as montant,
sapsr3.v_fmifi.fistl as centreDeProfit,
sapsr3.v_fmifi.fipex as compteBudgetaire,
sapsr3.v_fmifi.prctr AS centreFinancier,
sapsr3.v_fmifi.HKONT AS compteGeneral,
sapsr3.v_fmifi.budat as datePiece,
sapsr3.v_fmifi.bldat as dateComptable,
sapsr3.v_fmifi.gjahr as dateAnneeExercice,
sapsr3.v_fmifi.zhldt AS datePaiement,
sapsr3.v_fmifi.PSOBT AS dateServiceFait
from sapsr3.v_fmifi, SAPSR3.LFA1
where
   ( SAPSR3.v_FMIFI.LIFNR=SAPSR3.LFA1.LIFNR(+) )
AND
sapsr3.v_fmifi.measure = '011C055C' 
AND sapsr3.v_fmifi.rldnr = '9B'
AND sapsr3.v_fmifi.MANDT = '430' -- MANDT 430 à CAEN pour la base Bac à sable
-- facture
AND sapsr3.v_fmifi.wrttp = '54'
-- on conserve seulement compteBudgetaire FG PG* IG RG*
AND ( sapsr3.v_fmifi.fipex IN ('FG', 'IG') OR substr( sapsr3.v_fmifi.fipex , 1, 2) IN ('PG', 'RG') )
-- on retire les numCommandeAff qui commencent par 011, 012, 113
AND substr( sapsr3.v_fmifi.vrefbn ,1 ,3) NOT IN ('011', '012', '113')
;
 No newline at end of file
Loading