Sage ligne 100 odbc transformer BC en BL

Fermé
ulric - 13 mars 2008 à 13:31
 rom's - 13 mars 2008 à 13:58
Bonjour,

Je dois modifier une commande de Sage (ligne 100) depuis ODBC (v10.00), afin de la passer en Bon de Livraison.
J'ai d'abord procédé manuellement dans Sage et noté les modifications apportées aux tables F_DOCENTETE et F_DOCLIGNE.

La documentation mentionne l'impossibilité de modifier le champ DO_TYPE, je suppose donc que la seule façon de procéder est de créer de nouvelles lignes et supprimer les lignes d'origine.

La première partie sur F_DOCENTETE se passe sans pb avec le sql suivant :

insert into f_docentete (DO_DOMAINE, DO_TYPE, DO_PIECE, DO_DATE, DO_REF, DO_TIERS, RE_NO, DO_PERIOD, DO_DEVISE, DO_COURS, DE_NO, LI_NO, CT_NUMPAYEUR, DO_EXPEDIT, DO_NBFACTURE, DO_BLFACT, DO_TXESCOMPTE, DO_RELIQUAT, DO_IMPRIM, CA_NUM, DO_COORD01, DO_COORD02, DO_COORD03, DO_COORD04, DO_SOUCHE, DO_CONDITION, DO_TARIF, DO_COLISAGE, DO_TYPECOLIS, DO_TRANSACTION, DO_LANGUE, DO_ECART, DO_REGIME, N_CATCOMPTA, DO_VENTILE, AB_NO, CG_NUM, DO_STATUT, DO_HEURE, CA_NO, RE_NOCAISSIER, DO_TRANSFERE, DO_CLOTURE, DO_NOWEB, DO_ATTENTE) values (0, 2, 'BL130308', '{d 2008-03-13}', '', '00001', 1, 1, 0, 0, 1, 3, '00001', 1, 0, 0, 0, 0, 0, '', '', '', '', '', 0, 1, 1, 1, 1, 11, 0, 0, 21, 1, 0, 0, '41100000', 0, '14:34:10', 0, 0, 0, 0, '', 0);


La seconde partie sur F_DOCLIGNE passe si je ne mentionne pas le champ DL_PIECEBC :
insert into f_docligne (DO_DOMAINE, DO_TYPE, CT_NUM, DO_PIECE, DL_PIECEBL, DO_DATE, DL_DATEBL, DL_LIGNE, DO_REF, DL_TNOMENCL, DL_TREMPIED, DL_TREMEXEP, AR_REF, DL_DESIGN, DL_QTE, DL_QTEBC, DL_QTEBL, DL_POIDSNET, DL_POIDSBRUT, DL_REMISE01REM_VALEUR, DL_REMISE01REM_TYPE, DL_REMISE03REM_VALEUR, DL_REMISE03REM_TYPE, DL_PRIXUNITAIRE, DL_PUBC, DL_TAXE1, DL_TYPETAUX1, DL_TYPETAXE1, DL_TAXE2, DL_TYPETAUX2, DL_TYPETAXE2, RE_NO, AG_NO1, AG_NO2, DL_PRIXRU, DL_CMUP, DL_MVTSTOCK, GL_NO, AF_REFFOURNISS, EU_ENUMERE, EU_QTE, DL_TTC, DE_NO, DL_NOREF, DL_TYPEPL, DL_PUDEVISE, DL_PUTTC, DL_NO, DO_DATELIVR, CA_NUM, DL_TAXE3, DL_TYPETAUX3, DL_TYPETAXE3, DL_FRAIS, DL_VALORISE, AR_REFCOMPOSE, DL_NONLIVRE, AC_REFCLIENT) values (0, 2, '00001', 'BL130308', '', '{d 2008-03-13}', '{d 2008-03-12}', 10000, '', 0, 0, 0, '2402PESBRI', '240/2 POIRE', 8, 0, 8, 0, 0, 0, 0, 0, 0, 16.5, 16.5, 19.6, 0, 0, 0, 0, 0, 1, 112002, 458, 0, 0, 0, 0, '', '', 8, 0, 0, 1, 0, 0, 0, 0, '2008-03-25', '', 0, 0, 0, 0, 1, '', 0, '');


et échoue quand je rajoute le champ DL_PIECEBC :
insert into f_docligne (DO_DOMAINE, DO_TYPE, CT_NUM, DO_PIECE, DL_PIECEBC, DL_PIECEBL, DO_DATE, DL_DATEBL, DL_LIGNE, DO_REF, DL_TNOMENCL, DL_TREMPIED, DL_TREMEXEP, AR_REF, DL_DESIGN, DL_QTE, DL_QTEBC, DL_QTEBL, DL_POIDSNET, DL_POIDSBRUT, DL_REMISE01REM_VALEUR, DL_REMISE01REM_TYPE, DL_REMISE03REM_VALEUR, DL_REMISE03REM_TYPE, DL_PRIXUNITAIRE, DL_PUBC, DL_TAXE1, DL_TYPETAUX1, DL_TYPETAXE1, DL_TAXE2, DL_TYPETAUX2, DL_TYPETAXE2, RE_NO, AG_NO1, AG_NO2, DL_PRIXRU, DL_CMUP, DL_MVTSTOCK, GL_NO, AF_REFFOURNISS, EU_ENUMERE, EU_QTE, DL_TTC, DE_NO, DL_NOREF, DL_TYPEPL, DL_PUDEVISE, DL_PUTTC, DL_NO, DO_DATELIVR, CA_NUM, DL_TAXE3, DL_TYPETAUX3, DL_TYPETAXE3, DL_FRAIS, DL_VALORISE, AR_REFCOMPOSE, DL_NONLIVRE, AC_REFCLIENT) values (0, 2, '00001', 'BL130308', '26486', '', '{d 2008-03-13}', '{d 2008-03-12}', 10000, '', 0, 0, 0, '2402PESBRI', '240/2 POIRE', 8, 0, 8, 0, 0, 0, 0, 0, 0, 16.5, 16.5, 19.6, 0, 0, 0, 0, 0, 1, 112002, 458, 0, 0, 0, 0, '', '', 8, 0, 0, 1, 0, 0, 0, 0, '2008-03-25', '', 0, 0, 0, 0, 1, '', 0, '')
Echec sql insert : HY000:[Simba][Simba ODBC Driver][CBase]Le numéro de pièce et la date du bon de commande doivent être à vide


Or il est indispensable de renseigner ce champ pour lier le BL à la commande.
La documentation précise que en insertion
DL_PieceBC = "" (n’est renseigné par l’application que lorsque l'on fait une transformation de
document)
or les champs DO_TYPE et DL_PieceBC sont dans la liste des champs qui ne peuvent pas être modifiés dans un UPDATE, toujours selon la doc.


Une bonne âme saurait-elle m'aider à débloquer la situation ?
Est-ce la bonne méthode pour transformer un bon de commande existant en BL (je précise au cas où cela aurait de l'importance que je dois traiter deux cas : une transformation complète ou partielle (le BL ne comporte qu'une partie de la quantité du BC, qui doit être régénérée avec ce qui n'est pas sur le BL).


Merci pour votre aide
A voir également:

1 réponse

bjr, j t conseil d'utiliser le sage 100 version 12, c'est à dire désinstale l'ancien, et récomencer le procédure, si vous utiilisez le version 13, vous conetriez encore le même probleme.
Si vous voulez me parler directement connecter vous au skype au heure de travail comme ça on va essayer de resoudre ensemble votre probleme.Mon pseudo sur skype est le: davis.mikas
j suis à madagascar
2