francv
1st February 2003, 21:11
I develop new session in Baan IV Tools and I need to cal ProductionOrder BOI. Can somewhan help me with this problem?

Jeyaseelan
3rd February 2003, 05:47
Hi Fran,
Could u pls explain the problem in detail. Do u want to call a production order BOI from your customized session which u created? Or u want to develop a BOI for the session which u created?

In either case u need to develop a BOI. Please refer the posts in this forum about the BOI Development.
Thanks.

Regards,
Jeyaseelan

francv
3rd February 2003, 07:44
I want to call method CompleteProductionOrder of Production Order BOI from my session, i already have ProductionOrder BOI which I can call from OpenWorld Broker scripts, but I dont now how to call BOI method from baanIV session.

popeye
3rd February 2003, 21:31
Hi Franc,
The BOI DLL is just like any other DLL.
So all u need to do is add it as a library and start using it.

Hope this helps.
Cheers,
Popeye

shasbe
25th February 2003, 10:31
Hi,
One way of accessing the boi dll is directly calling it but that doesn't solve the problem of making calls across the systems. Example is calling a Production order boi on baan 5 from baan 4. For this u should use the boi compiler on dcd/qcd and generate the baan 3gl scripts. Then use this in ur session to call the program. The function calls will remain alsmost same as the broker script.

Though there are som changes like error handling and using manager object and all because Baan is not Object oriented.

There is a document on this which is deliverd from OW2.2 onwards. With OW studio.

Regards
Sudhir Hasbe
e-ET

jlopez
18th March 2003, 14:31
Dear all,
I'm not sure wthether franc is happy with your answers but I haven't got nothing from your explanation (and I have the same problem as francv).

Please, somebody can put a little bit of light in this subject?
I dont know how to use a BOI.

davidlamand
10th October 2003, 13:43
Hi,

Has somebody experience in using BOI (dll from standard domain) directly from 3GL script (in BAAN IV)?

Have you got documentation or sample (better) ?

I previously use AFS (aplication function server).

Did you wich technology is most reliable AFS or BOI ?

jlopez
10th October 2003, 13:49
Sorry but I got nothing nor BaaN neither a Consultant Company here in Spain.
I've abandoned the idea...

Good luck for all the people!!!!

popeye
10th October 2003, 19:08
Hi ... here are my 2c.
AFS is different from BOIs.
Some BOIs use AFS internally.
BOIs are and can be used like regular DLLs in your Progrma Script (3 or 4GL).
Hope this helps.
Cheers,
Popeye!

jlopez
13th October 2003, 09:27
Hi Popeye,
Could you put a silly sample of using BOI as DLL on 4GL please?
God bless you and thanks in advance (I'm really desperated):confused:

popeye
13th October 2003, 19:59
Hi ... This is not my script.
I just picked it up from a colleague.
Hence did not go thru it.
He is calling a BOI in this script.
Check it out.
Hope this helps.
Cheers,
Popeye!


|****************************** DECLARATION SECTION ***************************

extern long handle.container.StructError
extern long handle.container.Structpurord
extern long handle.container.StructpurordKeyFields2
extern long Structpurord
extern long StructError
extern string SetComplete(1)
extern long CallId
extern long error.code

domain tcorno pono
long corg
domain tcsuno suno
domain tccotp otyp
domain tcccor ccor | Postal add
domain tcncmp comp | Company
domain tccono prno | Contract
domain trtoc.ctrj ctrj |Routeplan
string odat(8), ddat(8), ddtc(8) |ord,del,conf del dates
domain tcrefa refa | Ref A
domain tccwar cwar | Warehouse
domain tcrefb refb | Ref B
domain tcdisc odis | Order disc
domain tccdec cdec | Terms of Del
domain tccpay cpay | Terms of payment
domain tcemno ccon | Buyer
domain tcccty ccty | Country
domain tcclan clan | Lang
domain tcccur ccur | Currency
domain tcratp ratp | Purchase rate
domain tcratf ratf | Rate factor
domain tcccrs ccrs | Late paymt Surch
domain tccplt cplp | Purcs price lst
domain tcsuno pspr | Supplier prices
domain tcsuno pstx | suppl text
domain tccfrw cfrw | forwading agent
domain tccreg creg | area
domain tccbrn cbrn | line of business
domain tfacp.ragr ragr | Rem agrmt
domain tclogn akln | acklogin
domain tfacp.fisu cfsg | fin sup grp
domain tctxtn txta,txtb
string user(16)
string ackm(8)
long no.of.sequence,I
string mcode(10)
string mesg(100)
long hcode
#include<bic_xma>


|******************** FUNCTION SECTION ***************************
function main()
{
ccpurtstpurord.init.object()
handle.container.Structpurord = type.define(
tlong ,"PurchaseOrder",
tlong ,"Origin",
tstring ,"Name",
tstring ,"POStatus",
tstring ,"Supplier",
tstring ,"SearchKey",
tstring ,"OrderType",
tstring ,"Description",
tlong ,"Code",
tstring ,"PostalAddress",
tlong ,"Company",
tstring ,"CompanyName",
tstring ,"Cty",
tstring ,"Desc",
tlong ,"Contract",
tstring ,"Description1",
tstring ,"Name1",
tstring ,"RoutePlan",
tstring ,"Description2",
tstring ,"Address",
tstring ,"OrderDate",
tstring ,"City",
tstring ,"DeliveryDate",
tstring ,"DelDate",
tstring ,"City2",
tstring ,"ConfirmedDeliveryDate",
tstring ,"ReferenceA",
tlong ,"DeliveryAddress",
tstring ,"Warehouse",
tstring ,"ReferenceB",
tstring ,"Cty1",
tstring ,"Desc1",
tdouble ,"OrderDiscount",
tstring ,"Name2",
tstring ,"TermofDelivery",
tstring ,"Description3",
tstring ,"Address1",
tstring ,"TermsofPayment",
tstring ,"Description4",
tstring ,"City1",
tlong ,"Buyer",
tstring ,"Name3",
tstring ,"City3",
tlong ,"T",
tstring ,"Country",
tstring ,"Description5",
tstring ,"Language",
tstring ,"Description6",
tstring ,"Currency",
tstring ,"Description7",
tdouble ,"PurchaseRate",
tlong ,"Ratefactor",
tstring ,"LatePaymentSurcharge",
tstring ,"Description8",
tstring ,"PurchasePriceList",
tstring ,"Description9",
tstring ,"SupplierPrices",
tstring ,"SupplierTexts",
tstring ,"ForwardingAgent",
tstring ,"Description10",
tstring ,"Area",
tstring ,"Description11",
tstring ,"LineofBusiness",
tstring ,"Description12",
tlong ,"Tax",
tstring ,"RemittanceAgreement",
tstring ,"WorkDescription",
tlong ,"GeneratedforEDI",
tstring ,"AcknowlegmentDate",
tstring ,"Ack By",
tstring ,"FinancialSupplierGroup",
tstring ,"POComment",
tlong ,"POSource",
tstring, "RecordStatus")

handle.container.StructpurordKeyFields2 = type.define(
tlong,"PurchaseOrder")

Structpurord = container.create(handle.container.Structpurord,1)
pono = 900691
corg = 2
suno = "100000"
akln= "rbasava12"
error.code=container.set.nfields(Structpurord,1,"PurchaseOrder",201674,
"Ack By",akln,"AcknowlegmentDate","20000724")
error.code = ccpurtstpurord.Change(Structpurord,"69,70",100,StructError)
container.get.fields(StructError,1,mcode,mesg,no.of.sequence,hcode)
if error.code <> 0 then
message("errordesc %s", mesg)
else
message("Updated")
endif
}

jlopez
14th October 2003, 09:15
Thanks Popeye, It's enough for me (now I've understood how it works).
(You have a cold beer paid if you come to Spain):D