Instruction ReturnProcess
Cette commande détermine le statut d'approbation d'une autorisation de retour de marchandise (RMA) en récapitulant le statut des articles retournés. Si la RMA est approuvée, alors l'instruction la réachemine vers l'URL spécifiée par la valeur de l'URL. Si elle est refusée, l'instruction la réachemine vers la valeur de l'URL2. Si la RMA a expiré, et qu'une URL d'expiration a été spécifiée, alors l'instruction la réachemine vers la valeur RMAExpiryURL.
Cette instruction doit être exécutée après que la RMA a été préparée (en exécutant l'instruction
ReturnPrepare). Cette instruction peut être appréhendée en tant que
"mise au point" de la RMA.

Valeurs des paramètres
- http://host_name/path/
- (Obligatoire) Nom qualifié complet de votre serveur WebSphere Commerce Server et chemin de configuration
- forUser
- ID de connexion de l'utilisateur au nom duquel l'instruction est exécutée. Seule une personne disposant des droits de traitement des commandes peut spécifier ce paramètre.
- forUserId
- Identique à forUser, mais identifie l'utilisateur par l'ID d'utilisateur interne, tel qu'elle est indiquée dans la table USERS.
- langId
- Définit ou restaure la langue préférée pour la durée de la session ; les langues prises en charge pour un
magasin figurent dans la table STORELANG.
- storeId
- (Obligatoire) Référence du magasin.
- ID RMA
- (Obligatoire) identifier RMA à traiter.
- URL
- (Obligatoire) URL vers laquelle réacheminer la RMA si elle est acceptée.
- URL2
- URL vers laquelle réacheminer la RMA si elle n'est pas acceptée. Si cette URL n'est pas spécifiée, la valeur
spécifiée dans le paramètre de l'URL est utilisée.
- refundPolicyId
- ID de la règle à utiliser pour le mode de remboursement. Ce paramètre est facultatif tant qu'il n'y a qu'une seule règle de remboursement dans le contrat. S'il y en a plusieurs, une valeur doit être spécifiée lors du premier appel
de l'instruction.
- RMAExpiryURL
- URL vers laquelle réacheminer la RMA si elle a expiré. Si cette URL est spécifiée et que RMGOODFOR est
dépassé, l'instruction ReturnPrepareCmd
est appelée et la RMA est réacheminée vers cette URL. Si cette URL n'est pas spécifiée,
l'instruction ReturnProcessCmd
aboutit, même si ReturnPrepareCmd est appelée parce que le délai RMGOODFOR a expiré.
Exemple 1
L'exemple ci-après traite une commande à l'aide de deux URL de réacheminement.
http://myhostname/webapp/wcs/stores/servlet/ReturnProcess?RMAId=1&storeId=1
&URL=ReturnDisplay&URL2=ReturnListDisplay
Comportement
- Vérifie l'existence de la RMA. Si elle n'existe pas, renvoie une erreur.
- Vérifie si une règle de remboursement a été spécifiée, soit par l'appel d'instruction soit avant celui-ci, soit parce qu'il n'existe qu'un choix. Si elle n'existe pas, renvoie une erreur.
- Vérifie que la RMA a été préparée. Si ce n'est pas le cas, renvoie une exception.
- Appelle l'instruction d'activité RePrepareExpiredRMACmd
pour vérifier que le délai RMAGOODFOR a expiré pour chaque article retourné. Si c'est le cas, appelle l'instruction ReturnPrepare puis la RMA est réacheminée vers RMAExpiryURL si celle-ci
est spécifiée. Si le paramètre RMAExpiryURL n'est pas spécifié, ReturnProcess s'exécute normalement.
- Appelle l'instruction d'activité CalculateRMAApprovalCmd
pour calculer la statut global de la RMA. Si la RMA est acceptée, l'instruction la marque en tant que telle, enregistre dans le journal la notice d'autorisation puis la réachemine vers l'URL spécifiée. Si la RMA n'est pas acceptée, l'instruction la marque en attente puis la réachemine vers l'URL2.
Conditions d'exception
Les conditions suivantes provoqueront l'échec de l'exécution de la commande :
- Si le RMAId spécifié n'est pas valide ou que son état est incorrect, par exemple, s'il n'a pas été préparé, alors, une ECApplicationException sera mise en place avec message_ERR_RMA_IN_INVALID_STATE_FOR_COMMAND
- Si aucune règle de remboursement n'a été spécifiée, ou si la règle spécifiée n'est pas valide pour la RMA, alors une ECApplicationException est mise en place avec message_ERR_BAD_MISSING_CMD_PARAMETER