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:


  1. 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

  2. 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

  3. 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