Pour traiter l’échéancier de facture, on utilise la transaction VF04. Mais il y a finalement trés peu de zones à disposition pour sélectionner les factures que l’on veut traiter. SAP nous laisse quand même à disposition la zone “Critère de tri”. Mais il faut la gérer, la renseigner pour pouvoir l’utiliser. Il faut passer par le user-exit V05IEXIT pour alimenter la zone SORTKRI de la table : VKDFS – Index ADV: Index de facturation et aprés pouvoir retrouver cette données via la transaction VF04.
Attention la zone SORTKRI est renseingnée via le user exit après la sortie marchandise dans la livraison ! ! !

Dans notre exemple, on alimente la zone par le bon de transport TKNUM table VTTP car on veut facturer tous les BL d’un même bon de transport.


Bonjour,
Pour modifier les offres client (VA22), on peut utiliser la BAPI : BAPI_CUSTOMERQUOTATION_CHANGE
Exemple :
On veut ajouter un motif de refus dans tous les postes d’un offre wv_vbeln.
DATA : ws_headerx TYPE bapisdh1x,
wt_return TYPE TABLE OF bapiret2,
ws_return TYPE bapiret2,
wt_item TYPE TABLE OF bapisditm,
ws_item TYPE bapisditm,
wt_itemx TYPE TABLE OF bapisditmx,
ws_itemx TYPE bapisditmx.
DATA : wt_vbap TYPE TABLE OF vbap,
ws_vbap TYPE vbap.
SELECT * INTO TABLE wt_vbap
FROM vbap
WHERE vbeln = wv_vbeln.
IF sy-dbcnt > 0.
ws_headerx-updateflag = ‘U’.
LOOP AT wt_vbap INTO ws_vbap.
CLEAR ws_item.
CLEAR ws_itemx.
* N° de poste
MOVE ws_vbap-posnr TO ws_item-itm_number.
MOVE ws_vbap-posnr TO ws_itemx-itm_number.
move ws_vbap-matnr to ws_item-material.
ws_itemx-material = ‘X’.
* Motif de refus
IF wv_step IS NOT INITIAL.
ws_item-reason_rej = ‘XX’.
ELSE.
ws_item-reason_rej = ‘YY’.
ENDIF.
ws_itemx-reason_rej = ‘X’.
APPEND ws_item TO wt_item.
APPEND ws_itemx TO wt_itemx.
ENDLOOP.
CALL FUNCTION ‘BAPI_CUSTOMERQUOTATION_CHANGE’
EXPORTING
salesdocument = wv_vbeln
quotation_header_inx = ws_headerx
TABLES
return = wt_return
quotation_item_in = wt_item
quotation_item_inx = wt_itemx .
Ne pas oublier BAPI_TRANSACTION_COMMIT