Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/228848080/Le+traitement+d+int+gration+GTPP150) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 5) afficher la version suivante »

Principe de l’intégration de pièce

Le traitement d'intégration de pièces dans Divalto Achat-Vente intègre le contenu d'un fichier HFI de type GTFI.dhfd.

IMPORTANT

  • Le format HFI est un format propriétaire Divalto, qui n’est reconnu que par le Runtime Harmony et les outils de développement autour d’XWIN.

  • Le traitement d’intégration de pièce GTPP150 est une tâche de fond, sans interaction utilisateur

  • Tous les traitements qui proposent une intégration de pièce (import tableur, import par service web, import par CSV, fonction de validation de pièce, etc…) font appel à ce traitement d’intégration

  • Par “intégration” on entends plusieurs actions possibles : création, modification, suppression, validation (=passage d’un type de pièce a un autre)

  • Un fichier GTFI peut traiter plusieurs actions différentes sur plusieurs pièces différentes, mais attention aux anomalies partielles qui deviennent difficile à traiter en retour

En pratique, un traitement métier va faire l’intermédiaire entre le format d’import et le fichier d’intégration GTFI.

Prenons un exemple avec une création de commande client par tableur excel

  1. Lancement du traitement en interaction avec un utilisateur (Exemple : lancer l’import tableur et lui donner une feuille excel qui décrit une création de commande)

  2. Conversion par traitement des données d’entrée vers les données temporaires (Exemple : l’import tableur convertit la feuille excel en données GTFI, en faisant des pré-contrôles)

  3. Ecriture dans un fichier GTFI des données temporaires (Ecriture dans des fichiers temporaires, par exemple gtfi_tableur.dhfi et gtfi_tableur.dhfd)

  4. Appel de l’intégration de pièce avec indication des fichiers (Appel en programmation Diva au GTPP150 avec pour paramètre gtfi_tableur.dhfi )

  5. L’intégration de pièce traite ce qui est demandé dans les fichiers GTFI (Dans cet exemple une création d’une commande client)

  6. Création d’un fichier retour en cas d’erreur ou d’informations retour, et écriture dans le livre de bord par l’intégration de pièce (Par exemple une erreur de paramétrage a empêché la création)

  7. Renvoi au demandeur d’un status et d’un fichier retour ; le fichier GTFI est effacé (Par exemple pièce rejetée, avec un fichier gtfierr.dhfi)

  8. Le traitement demandeur traite la réponse et le fichier erreur (Par exemple, afficher dans une colonne excel les messages d’erreur)

Les actions possible - algorithmes disponibles

Il est possible de :

  • Créer de nouvelles pièces dans l’ERP : devis, commandes, BL, factures qui peuvent concerner : client, fournisseur, tiers interne

  • Modifier une pièce

  • Supprimer une pièce

  • Valider une pièce (exemple : validation de commandes en BL). La validation peut être totale (toute la pièce change de type) ou partielle. En cas de validation partielle on précise les lignes à valider, ces lignes peuvent être validées totalement ou partiellement.


La première lettre en gras ci-dessus indique le type d’algorithme

Algorithme de validation de type 'C'

La séquence d'enregistrements minimale est :
IPAR
MOUV

Algorithme de validation de type 'M'

La séquence d'enregistrements minimale est :
IPAR
MOUV


Pour modifier les tables liées à l'en-tête (EEC – EAD- ou texte) il faut que l'enregistrement ENT figure dans GTFI.

Le mouvement à modifier est recherché par le numéro d'enregistrement ENRNO. L'égalité GRREF – OP – DEPO est contrôlée.

Informations complémentaires

  • Seules les données renseignées ( <> de espace ou 0) sont modifiées.

  • Si on modifie les quantités, les enregistrement MVTL deviennent obligatoires. On doit respecter somme des ventilations = à quantité du MOUV.

  • Les chapitres, les postes et les MOUV avec un ENRNO = 0 ou non trouvé sont créés en fin de pièce.

  • Lorsqu'un texte est intégré il remplace le texte existant (pas de fusion possible).

  • La fonction ENT_Client_Modification_Affecter traite la modification

  • Les données modifiées sont traitées dans la séquence G1T1_Client_Modification_affecter..

Algorithme de validation de type ‘V' Validation de pièce (=passage d’un type de pièce à un autre)

La séquence d'enregistrements minimale est :
IPAR
MOUV


Pour chaque enregistrement MOUV à valider, on recherchera par le numéro d'enregistrement le MOUV de la pièce initiale qui doit être validé.
Lorsque l'enregistrement à valider existe, il est repris entièrement pour la validation. Si vous souhaitez modifier certaines données, surchargez la procédure « G1T1_Validation_Affectation_Ap ».

Informations complémentaires

  • On ne pourra en aucun cas modifier la référence article, le code opération…

  • On ne peut pas supprimer de ligne ou de ventilation

  • Les lignes sont toujours créées en fin de pièce

  • La validation d'une ligne est identifiée par son numéro d'enregistrement, et pas à partir de la référence article.

  • Pour identifier une ventilation on indiquera également le numéro VTLNO sinon les ventilations seront validées dans l'ordre de lecture des VTL .

  • Le reliquat est mis à jour automatiquement au prorata des quantités validées


Traitement des remises en pied
Validation sur une pièce existante on conserve le % de la pièce finale.
Validation en créant la pièce finale, on reprend le % de la pièce initiale.
Le % indiqué dans ENT de GTFI écrasant le % ainsi défini.

Algorithme de validation de type 'S'

La séquence d'enregistrements minimale est :
IPAR

Exemple Diva

			IPAR        = ' '
			IPAR.CE1    = 'I'
			IPAR.DOS    = MZ.DOS
			IPAR.ETB    = MZ.ETB
			IPAR.TRAIT  = 'S'	;Suppression
			IPAR.TICOD  = 'F'	;Fournisseur
			IPAR.PICOD  = 2 	;2=cde
			IPAR.FullPiNo	= PieceIntegration.FullPiNoGenere
			
			HWrite(GTFI, IPAR)

Appel de l’intégrateur GTPP150

L'appel à partir d’un fichier GTFI se fait nécessairement en programmation Diva, depuis le module GTPM000.dhop

Long Tunnel_Integration_Piece(Fic, ModeMuet, Desactiver_MAJWMS, option, WpfNoClient)
; Integration de pièce depuis un fichier GTFI
1		Fic									A	;fichier GTFI a intégrer
1		ModeMuet							1,0 = 0		;=1 Mode muet (sans fenêtre)
1		Desactiver_MAJWMS					1,0 = 0		;=0 les modifications de stock sont reportées dans WMS; =1 pas de report dans WMS
1		option								2,0 = 0		;placeholder non utilisé
1		WpfNoClient							1,0 = true	; On passe WpfNoClient en paramètre au ProgramCall et à true par défaut en xWpf

Le retour peut se traiter à plusieurs niveaux

  • Retour de la fonction “Tunnel_integration_piece” :

    • 0 : l’intégrateur a été appelé

    • <>0 : erreur d’appel de l’intégrateur (problème de contexte d’appel)

  • Retour, dans le cas d’une pièce unique à traiter, dans G3XZ

    • Appel à Pongreceive("G3XZ", G3XZ)

    • G3XZ.Pino = 0 indique une erreur de traitement

    • G3XZ.FullPino est garni avec le numéro de pièce en réussite

  • Retour dans tous les cas d’une chaîne HMP

    • Appel à Pongreceive("Resultat", ResultatHMP)

    • ResultatHMP donne des détails dans une succession de balises <PIECE>

      • <PIREF> : Référence de la pièce

      • <TICOD> : type de tiers

      • <PICOD> : type de pièce

      • <FULLPINO> : numéro complet (numérique + alpha)

      • <PINO> : numéro de pièce hors préfixe

      • <PREFPINO> : préfixe numéro de pièce

      • <ACTION> : rappel du IPAR.Trait demandé

      • <PARAM> : rappel du IPAR.PAram demandé

      • <STATUS> 0= rejet demande, 1=demande acceptée

  • Retour du fichier GTFIERR.dhfi

Exemple de traitement du retour

Record * htdf tdf
1	FullPiNo			>gtfdd.dhsd FullPino
 2	prefpino			>gtfdd.dhsd prefpino
 2	pino				>gtfdd.dhsd pino

1	resultatHMP	S
1	Param			20

beginp
	Tunnel_Integration_Piece(tdf.name)
	if PongReceiveAndDelete('G3XZ', G3XZ) = 0 And G3XZ.PINO <> 0 and PongReceive('Resultat', ResultatHMP) = 0
		if HmpVerify (ResultatHMP)
			do while HmpRead (ResultatHMP, param, retour) = 0
				if Param = "PIECE"
					if HmpVeriFy (Retour)
						;liste de fullPino a traiter
						FullPiNo = HmpSeek (Retour,'FULLPINO',0)
					endif
				endif
			wend
		else
			;FullPino unique
			FullPiNo = G3XZ.FullPiNo
		endif
	Else
		Mes_Alert(9029,MB_ICONEXCLAMATION)
	Endif
endp

Structure d’un fichier GTFI

Le fichier GTFI est de type HFI ('N' en longueur variable).
Il contient des enregistrements, qui doivent respecter l’ordre suivant. L’intégrateur traite chaque IPAR avec les enregistrement qui le suivent pour traiter pièce par pièce. Il termine la pièce au prochain IPAR ou en fin de demande.

Nom enregistrement

Détails

IPAR

OBLIGATOIRE et au début.

Paramètre de l'intégration demandée, notamment l’action attendue

ENT

OBLIGATOIRE sauf pour Suppression

Suit IPAR

En-tête de pièce pour l’action demandée

ITXT

Suit ENT

Texte en-tête, pied, ligne ou note

EEC

Suit ENT

Echéance multiple

EAD

Suit ENT

Adresses

ENTCPLEXT

Suit ENT

MOUV

Suit ENT

Mouvement

MVTL

Suit MOUV

Ventilation

  • Aucune étiquette