| API / APIs Radiofréquence | |
| Version ACE : 1.3 | |
|
Package : Standard gnc_up_colisdec_rechercher |
Fonctionnalité : Préparation |
| Schémas d’entrée et de sortie : | voir en fin de document. |
Cette API permet de rechercher le produit scanné dans l’OP en cours.
API imbriquées : gnc_up_colisdec_gerer (voir en fin de document) -
Contraintes et limites de fonctionnement (hors périmètre)
| RAS. |
Paramétrage (PPE)
| MULEAN - |
Processus, contrôles et règles de gestion
| ETAPE | DESCRIPTION DU PROCESSUS |
| Traitement |
si ok prendre le code produit
Si pas de code produit correspondant : erreur (message ‘L_PROINC’, paramètre champ scan)
|
| NOM | DESCRIPTION | FORMAT |
|---|---|---|
| codpro | Code produit | Char (16) |
| Qteunt | Quantité en unités | long |
Détail de l’API « gnc_up_colisdec_gerer »
Cette API n’est pas appelée directement par egx
Paramètres entrée :
| Nom | Description | Format |
Obligatoire/ Facultatif |
|---|---|---|---|
| Typdep | Type dépôt | Char (3) | O |
| Sigdep | Sigle dépôt | Char (12) | O |
| Idmvt | N° mouvement | Long | O |
| Idobjcol | N° d’UP en cours | Char (18) | O |
| Qteunt | Quantité à valider en unités | Long | O |
Paramètres sortie :
| Nom | Description | Format |
|---|---|---|
Traitement :
Attention : La quantité doit correspondre à un nombre entier de contenant de l’objet
w_ret = gnc_poids_vol_stk (p_mvt, NULL, &w_objst);
w_obj.poids-= w_objst.poids;
w_obj.volume-= w_objst.volume;
w_obj.poidsreel-= p_mvt->poidsreel;
(R1)
Eclatement d’objet et mouvement :
Si l’objet et les mouvements doivent être éclatés, l’objet du mouvement SS ne change pas, par contre on aura un nouveau n° d’objet pour le reliquat et le mouvement ES créé portera ce n° d’objet
Exemple :
1) si objet initial de 10 unités, quantité scannée = 8 unités :
a. modifier la quantité de l’objet : qteunt = l_nbrnct = 8
b. modifier la quantité des mouvements SS et SE initiaux
c. créer un nouvel objet avec : qteunt = l_nbrcnt = 2 (avec idobjcol initial)
d. créer 2 nouveaux mouvements SS et SE pour la quantité restante
| Idobj | Cnttyp | Cntcod | Qteunt | L_nbrcnt | codlnst | idmvt | |
| Objet contenu | Idobj1 | UV | C | 10 | 10 | ‘1’ | |
| Mvt SS | Idobjpic | UV | C | 10 | 10 | ‘1’ | 1 |
| Mvt ES | Idobj1 | UV | C | 10 | 10 | ‘1’ | 1 |
Après éclatement on aura
| Idobj | Cnttyp | Cntcod | Qteunt | L_nbrcnt | Codlnst | idmvt | |
| Objet contenu | Idobj1 | UV | C | 8 | 8 | ‘1’ | |
| Mvt SS | Idobjpic | UV | C | 8 | 8 | ‘1’ | 1 |
| Mvt ES | Idobj1 | UV | C | 8 | 8 | ‘1’ | 1 |
|
Objet contenu |
Idobj2 | UV | C | 2 | 2 | ‘1’ | |
| Mvt SS | Idobjpic | UV | C | 2 | 2 | ‘1’ | 2 |
| Mvt ES | Idobj2 | UV | C | 2 | 2 | ‘1’ | 2 |
2) si objet initial de 3 Cartons : 1 carton = 5 unités, quantité contrôlée = 10 unités
a. vérifier que la quantité contrôlée soit bien un multiple de 5 unités
b. modifier la quantité de l’objet : qteunt = 10, l_nrbcnt = 2
c. modifier la quantité des mouvements SS et SE initiaux
d. créer un nouvel objet avec : qteunt = 5, l_nbrcnt = 1
e. créer 2 nouveaux mouvements SS et SE pour la quantité restante
| Idobj | Cnttyp | Cntcod | Qteunt | L_nbrcnt | codlnst | idmvt | |
| Objet contenu | Idobj1 | CA | 01 | 15 | 2 | 3 | |
| Mvt SS | Idobjpic | CA | 01 | 15 | 2 | 3 | 1 |
| Mvt ES | Idobj1 | CA | 01 | 15 | 2 | 3 | 1 |
Après éclatement on aura
| Idobj | Cnttyp | Cntcod | Qteunt | L_nbrcnt | Codlnst | idmvt | |
| Objet contenu | Idobj1 | CA | 01 | 10 | 2 | 3 | |
| Mvt SS | Idobjpic | CA | 01 | 10 | 2 | 3 | 1 |
| Mvt ES | Idobj1 | CA | 01 | 10 | 2 | 3 | 1 |
|
Objet contenu |
Idobj2 | CA | 01 | 5 | 1 | 3 | |
| Mvt SS | Idobjpic | CA | 01 | 5 | 1 | 3 | 2 |
| Mvt ES | Idobj2 | CA | 01 | 5 | 1 | 3 | 2 |