ErosOlmi
19-01-2023, 14:31
Hi all,
we developed thinBasic to be a general purpose programming language in its Core engine.
But also with some specific vertical implementations with the optional modules programmers can load at runtime in scrips.
We are interested in discovery how thinBasic is mainly used for in order to dedicate more time in improving more what programmers need rather than adding additional general functionalities.
In the company I work for ... me and some colleagues use thinBasic to process many company operations. Some of thinBasic modules where developed because needed here where I work and them become public.
Here some few examples on how we use thinBasic in our company:
warehouse interfaces with carriers
We use many carriers for B2B and B2C order processing. Every carrier has it own data format and its own method to transfer data.
We us thinBasic to get data out of hour warehouse system, every order has it specific carrier, prepare data according to carrier data format and send data using the carrier transfer method.
The script:
check if there are closed shipments in warehouse
collect data, complete data and format data based on carrier requests
send data to carriers based on carrier preferred transfer method
Modules used:
APPCONFIG to store script data like SLQ queries to run, share file paths and any needed parameters in order to never change script only if a parameter must be changed. Script contains the logic and APPCONFIG xml file contains the parameters
APPLOG to log script execution process
ADODB to access SQL databases (MSSQL)
CJSON when carrier data type is JSON
SMTP when carrier transfer method is mail
FTP when carrier transfer method is FTP
and undocumented module called SocketTools used when data transfer is done by SFTP or other SSH methods
Module is undocumented because is a partial wrap of a 3rd party not free library called https://sockettools.com/ for which my company purchased a license an I wrapped the needed functions.
a partial documented module called LibXL used when data to be transferred is in XLSX format
Again this is a 3rd party not free library for which my company purchased a license
delivery note data transfer to customers
Many of our customers have their own system and each of them has it own preferred data formats.
We prepare a script that is able to prepare customer data based on customer preferences.
We have created about 15 different data layout in different file formats.
Every customer interested in having delivery notes data transferred to them has agree one of the already present formats.
With some customers we have prepared a specific format following their requests.
All those information are stored into our legacy system database.
The script:
check if there are delivery notes to communicate to customers having an agreement
prepare data according to customer preferred format
send data to customer via SMTP or FTP, most by SMTP
Modules used:
APPCONFIG to store script data like SLQ queries to run, share file paths and any needed parameters in order to never change script only if a parameter must be changed. Script contains the logic and APPCONFIG xml file contains the parameters
APPLOG to log script execution process
ADODB to access SQL databases (MSSQL)
SMTP when transfer method is mail
FTP when transfer method is FTP
a partial documented module called LibXL used when data to be transferred is in XLSX format
This is a 3rd party not free library for which my company purchased a license
get transactions from bank account for daily payments transactions made in our branded shops
In parallel whit about 4000 multy branded shops to which we sell our products, my company has a a branded channel of franchising shops (about 170) real time connected with our IT infrastructure
Every day final customers purchase our products and made transactions with payments methods that send data to the bank
We have to collect all bank account transactions in order to reconciliate them with data present in our shop system with data present in our legacy system.
The script:
on a daily basis connects to bank REST API
collect account transactions related to shop purchases
store data into legacy system DB to let accounting people reconciliate them
Modules used:
APPCONFIG to store script data like SLQ queries to run, share file paths and any needed parameters in order to never change script only if a parameter must be changed. Script contains the logic and APPCONFIG xml file contains the parameters
APPLOG to log script execution process
ADODB to access SQL databases (MSSQL)
MSXML2 to consume bank REST API
CJSON to interpret bank data and transform into DB data
All thinBasic scripts are more or less complex in the logic but very little and easy to be maintained.
I can go on with many other examples if interested but I'm also interested on how you use thinBasic.
Let us briefly know about you and if there are specific areas not covered by thinBasic.
Thanks
Eros
we developed thinBasic to be a general purpose programming language in its Core engine.
But also with some specific vertical implementations with the optional modules programmers can load at runtime in scrips.
We are interested in discovery how thinBasic is mainly used for in order to dedicate more time in improving more what programmers need rather than adding additional general functionalities.
In the company I work for ... me and some colleagues use thinBasic to process many company operations. Some of thinBasic modules where developed because needed here where I work and them become public.
Here some few examples on how we use thinBasic in our company:
warehouse interfaces with carriers
We use many carriers for B2B and B2C order processing. Every carrier has it own data format and its own method to transfer data.
We us thinBasic to get data out of hour warehouse system, every order has it specific carrier, prepare data according to carrier data format and send data using the carrier transfer method.
The script:
check if there are closed shipments in warehouse
collect data, complete data and format data based on carrier requests
send data to carriers based on carrier preferred transfer method
Modules used:
APPCONFIG to store script data like SLQ queries to run, share file paths and any needed parameters in order to never change script only if a parameter must be changed. Script contains the logic and APPCONFIG xml file contains the parameters
APPLOG to log script execution process
ADODB to access SQL databases (MSSQL)
CJSON when carrier data type is JSON
SMTP when carrier transfer method is mail
FTP when carrier transfer method is FTP
and undocumented module called SocketTools used when data transfer is done by SFTP or other SSH methods
Module is undocumented because is a partial wrap of a 3rd party not free library called https://sockettools.com/ for which my company purchased a license an I wrapped the needed functions.
a partial documented module called LibXL used when data to be transferred is in XLSX format
Again this is a 3rd party not free library for which my company purchased a license
delivery note data transfer to customers
Many of our customers have their own system and each of them has it own preferred data formats.
We prepare a script that is able to prepare customer data based on customer preferences.
We have created about 15 different data layout in different file formats.
Every customer interested in having delivery notes data transferred to them has agree one of the already present formats.
With some customers we have prepared a specific format following their requests.
All those information are stored into our legacy system database.
The script:
check if there are delivery notes to communicate to customers having an agreement
prepare data according to customer preferred format
send data to customer via SMTP or FTP, most by SMTP
Modules used:
APPCONFIG to store script data like SLQ queries to run, share file paths and any needed parameters in order to never change script only if a parameter must be changed. Script contains the logic and APPCONFIG xml file contains the parameters
APPLOG to log script execution process
ADODB to access SQL databases (MSSQL)
SMTP when transfer method is mail
FTP when transfer method is FTP
a partial documented module called LibXL used when data to be transferred is in XLSX format
This is a 3rd party not free library for which my company purchased a license
get transactions from bank account for daily payments transactions made in our branded shops
In parallel whit about 4000 multy branded shops to which we sell our products, my company has a a branded channel of franchising shops (about 170) real time connected with our IT infrastructure
Every day final customers purchase our products and made transactions with payments methods that send data to the bank
We have to collect all bank account transactions in order to reconciliate them with data present in our shop system with data present in our legacy system.
The script:
on a daily basis connects to bank REST API
collect account transactions related to shop purchases
store data into legacy system DB to let accounting people reconciliate them
Modules used:
APPCONFIG to store script data like SLQ queries to run, share file paths and any needed parameters in order to never change script only if a parameter must be changed. Script contains the logic and APPCONFIG xml file contains the parameters
APPLOG to log script execution process
ADODB to access SQL databases (MSSQL)
MSXML2 to consume bank REST API
CJSON to interpret bank data and transform into DB data
All thinBasic scripts are more or less complex in the logic but very little and easy to be maintained.
I can go on with many other examples if interested but I'm also interested on how you use thinBasic.
Let us briefly know about you and if there are specific areas not covered by thinBasic.
Thanks
Eros