Message de rapport:
 

Re: Windev <-> SAP

Sujet: Re: Windev <-> SAP
par drcharly93 sur 27/3/2006 13:16:53

Bonjour,

Sans connaître SAP ni le BAPI qui semblerait être un accès aux fonctions SAP via une interface COM

Apparement le serveur COM de BAPI serait :
SAP.BAPI.1
Bien qu'il me semble comme dans Word que le 1 ne soit pas forcement nécessaire.

oBAPI est un objet automation dynamique
oBAPI = allouer un objet automation "SAP.BAPI.1"


Exemple de code à main levée de ce que pourrait être un morceau de code manipulant la création d'une commande
boOrder est un objet automation dynamique
oPartners est un objet automation dynamique
oHeaderIn est un objet automation dynamique
oItemsIn est un objet automation dynamique

boOrder = oBAPI>>GetSAPObject("SalesOrder")

oHeaderIn = oBAPI>>DimAs(boOrder, "CreateFromDat1", "OrderHeaderIn")
oItemsIn = oBAPI>>DimAs(boOrder, "CreateFromDat1", "OrderItemsIn")
oPartners = oBAPI>>DimAs(boOrder, "CreateFromDat1", "OrderPartners")

oHeaderIn>>Value("DOC_TYPE") = "ZA"
oHeaderIn>>Value("SALES_ORG") = "BG01"
oHeaderIn>>Value("DISTR_CHAN") = "01"
oHeaderIn>>Value("DIVISION") = "00"
oHeaderIn>>Value("SALES_GRP") = "016"
oHeaderIn>>Value("SALES_OFF") = "BG01"
oHeaderIn>>Value("PURCH_NO") = "123"
oHeaderIn>>Value("PURCH_DATE") = "20020729"
oHeaderIn>>Value("REF_1") = "BORLOS"
oHeaderIn>>Value("INCOTERMS1") = "FOB"
oHeaderIn>>Value("INCOTERMS2") = "GEMLIK"
oHeaderIn>>Value("PMNTTRMS") = "BL01"
oHeaderIn>>Value("ORD_REASON") = "PM"
oHeaderIn>>Value("PRICE_DATE") = "20020729"
oItemsIn>>Rows>>Add()
oItemsIn>>Value(1, "ITM_NUMBER") = "000010"
oItemsIn>>Value(1, "MATERIAL") = "GUMRUK GEMLIK"
oItemsIn>>Value(1, "REQ_QTY") = "1000"
oPartners>>Rows>>Add()
oPartners>>Value(1, "PARTN_ROLE") = "AG"
oPartners>>Value(1, "PARTN_NUMB") = "0001041002"
oPartners>>Rows>>Add()
oPartners>>Value(2, "PARTN_ROLE") = "RE"
oPartners>>Value(2, "PARTN_NUMB") = "0001041002"
oPartners>>Rows>>Add()
oPartners>>Value(3, "PARTN_ROLE") = "RG"
oPartners>>Value(3, "PARTN_NUMB") = "0001041002"
oPartners>>Rows.Add
oPartners>>Value(4, "PARTN_ROLE") = "WE"
oPartners>>Value(4, "PARTN_NUMB") = "0001041002"


Pour l'enregistrement il faut encore voir la doc pour connaitre l'ordre des paramètres car en WinDev il ne me semble pas réalisable l'envoi de paramètre nommés du style :
Citation :

boOrder>>CreateFromDat1( OrderHeaderIn=OrderItemsIn ,
OrderPartners=oPartners,
OrderItemsIn=oItemsIn )

Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2