Commit 1a62208b authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Doc requêtes SIFAC (dev)

parent df451aab
Loading
Loading
Loading
Loading
Loading

doc/sifac-query.md

0 → 100644
+162 −0
Original line number Diff line number Diff line
# Requêtes SIFAC

Les exemples ci-dessous ont été testé sur les données Unicaen :

## Récupération des dépenses effectives

```sql
select  

  MEASURE as pfi,  
  RLDNR as AB9,
  STUNR as idsync,  
  awref as numSifac,
  vrefbn as numCommandeAff,
  vobelnr as numPiece,
  LIFNR as numFournisseur,
  KNBELNR as pieceRef,
  fikrs as codeSociete,
  BLART as codeServiceFait,
  FAREA as codeDomaineFonct,
  sgtxt as designation,
  BKTXT as texteFacture,
  wrttp as typeDocument,
  TRBTR as montant,
  fistl as centreDeProfit,
  fipex as compteBudgetaire,
  prctr as centreFinancier,
  HKONT as compteGeneral,
  budat as datePiece,
  bldat as dateComptable,
  gjahr as dateAnneeExercice,
  zhldt as datePaiement,  
  PSOBT as dateServiceFait

from sapsr3.v_fmifi

where
  -- PFI (ex: 014C126F)
  measure = '{{PFI}}'
	AND rldnr='9A'
  AND MANDT='500'
  AND BTART='0250';

```

## Commandes d'achat

```sql
--point a : commandes d'achat
-- exemple uB J030CVAU

SELECT

  SAPSR3.DD07V.DDTEXT,
  'engage et non paye',
  SAPSR3.LFA1.NAME1 NOMFOUR,
  SAPSR3.FMIOI.MEASURE,
  SAPSR3.FMIOI.RLDNR,
  SAPSR3.FMIOI.STUNR,
  '' numsifac,
  SAPSR3.FMIOI.REFBN,
  '' numpiece,
  SAPSR3.FMIOI.LIFNR,
  '' pieceref,
  '1010' codesociete,
  '' codeservicefait,
  SAPSR3.FMIOI.FAREA,
  SAPSR3.FMIOI.SGTXT,
  '' texteFacture,
  SAPSR3.FMIOI.WRTTP,
  SAPSR3.FMIOI.TRBTR,
  SAPSR3.FMIOI.FISTL,
  SAPSR3.FMIOI.FIPEX,
  NVL(substr(SAPSR3.FMIOI.OBJNRZ, '12'), SAPSR3.FMIOI.PRCTR) CENTREFINANCIER,
  SAPSR3.FMIOI.HKONT,
  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  ( '500'  )
   AND
   SAPSR3.FMIOI.FIKRS  IN  ( '1010'  )
   AND
   sapsr3.fmioi.measure = '014C126F'
   AND
     SAPSR3.FMIOI.WRTTP = '51'
;
```

## Coûts secondaires

> Non testé à Caen (requêtes OK mais aucun résultats obtenus)

```sql
-- comptabilisation co�ts secondaires
-- exemple ub: H164CVFU
select
'couts secondaires' as NATURE,
'paye',
'',
rmeasure PFI,
rldnr,
gl_sirid,
docnr,
'',
refdocnr,
'',
refdocnr,
fikrs,
'',
rfarea,
'',
sgtxt,
rwrttp,
hsl,
rfistl,
rfipex,
rfistl,
rhkont,
budat,
budat,
refryear,
budat,
''

from SAPSR3.fmia
where rmeasure = '014C126F'
and rwrttp = '95'
```