Data Migration
Project ID: 1229208005
Project Details
  • Status:
    Closed (Cancelled)
  • Posted:
    12/13/2008 at 17:40 EST
  • Cancelled:
    1/9/2009 at 9:11 EST
  • Project Creator:
  • Budget:
    N/A
  • Description:
    This is a migration project.
    The solution should be written in Visual Basic.
    The process is very straigthforward and simple, all has been thought previously.

    The host should be a variable, so we could change it at will.

    The data is in an Access Database and should be posted to a Zencart (MySQL) Database.

    The software should autostart with the system.

    Should activate every 24 hours.

    Specific Migration
    ------------------
    Any field not mentioned should be ignored

    Access Database
    ---------------

    Table
    -----
    JOYACLEN

    For each different record of JOYACLEN (Client) then
    Check if the id of the customer (JOYACLEN.NUME) already exists in the address book table of Zencart (address_book.customers_id):
    If exists, then update it, else create a new one

    The data for an "address_book" (Zencart) Record:
    JOYACLEN.DIRE -> address_book.entry_street_address
    JOYACLEN.DIR2 -> address_book.entry_suburb
    JOYACLEN.COPO -> address_book.entry_postcode
    JOYACLEN.POBL -> address_book.entry_suburb
    JOYACLEN.PROV -> address_book.entry_city
    JOYACLEN.PAIS -> address_book.country


    Then insert or update a customer record in Zencart
    JOYACLEN.NUME -> customers.customers_id
    JOYACLEN.SEXO -> customers.customers_gender
    JOYACLEN.NOMB -> customers.customers_lastname
    JOYACLEN.DNIF -> customers.customers_taxid
    JOYACLEN.TELF -> customers.customers_telephone
    JOYACLEN.TEL2 -> customers.customers_fax
    JOYACLEN.EMAI -> customers.customers_email_address
    JOYACLEN.MAIL -> customers.customers_newsletter
    JOYACLEN.TIPO -> customers.customers_group_pricing
    JOYACLEN.NACT -> customers.customers_authorization BUT if JOYACLEN.NACT = 0 customers.customers_authorization = 0 if JOYACLEN.NACT = -1 customers.customers_authorization = 1

    customers_info.customers_info_id is the same of customers.customers_id
    customers.customers_default_address_id is the id of the address_book record found or created above
    JOYACLEN.FALT -> customers_info.customers_info_date_account_created




    Table
    JOYASTOC

    For each different record of JOYASTOC (Client), then
    Read JOYASTOC.FAMI and JOYASTOC.SECC
    If the value of either is 98 or 99, then skip that record

    Check if the category (JOYASTOC.SECC) already exists in the categories table of Zencart (categories.categories_id) when parent_id = 0 (when 0, it is a category != 0 is a subcategory of that id)
    If exists, then update it, else create a new one

    categories.categories.sort_order = 0
    categories.categories_status = 1
    categories.parent_id = 0

    Also, a record on categories_description is needed
    categories_description.categories_id is the id of the category above
    categories_description.language_id = 7
    JOYASECC.DESC -> categories_description.categories_name (JOYASECC.CODI relates to JOYASTOC.SECC)

    Check if the subcategory (JOYASTOC.FAMI) already exists in the categories table of Zencart (categories.categories_id) when parent_id <> 0 (when != 0 is a subcategory of the parent_id)
    If exists, then update it, else create a new one

    categories.categories.sort_order = 0
    categories.categories_status = 1
    categories.parent_id = (the category parent_id)

    Also, a record on categories_description is needed
    categories_description.categories_id is the id of the subcategory above
    categories_description.language_id = 7
    JOYASECC.DESC -> categories_description.categories_name (JOYASECC.CODI relates to JOYASTOC.SECC)

    Next create or update the products (Zencart) Record:
    JOYASTOC.CODI -> products.products_id
    JOYASTOC.PESO -> products.products_weight
    With JOYASTOC.FOTO do







    JOYASTOC.PVEE -> products.products_price
    JOYASTOC.DESC -> products.descripcion_oculta (This is a custom field created by us)
    JOYASTOC.POVE -> products.proveedor_oculto (Another custom field created by us)
    JOYASTOC.REFE -> products.referencia_proveedor (Another custom field created by us)
    JOYASTOC.UNVE -> products.unidad_peso (Another custom field created by us)
    JOYASTOC.PEME -> products.peso_medio (Another custom field created by us)
    JOYASTOC.WFLAG -> products.products_status BUT when JOYASTOC.WFLAG = 0 then products.products_status = 1 and if JOYASTOC.WFLAG = -1 then products.products_status = 0
    JOYASTOC.PCOS -> products.precio_cliente

    Next create or update the manufacturers (Zencart) Record: (obviously, if doesn't exists, create also an manufacturers_id value)
    JOYASTOC.MARC -> manufacturers.manufacturers_name
    manufacturers.manufacturers_date_added is today() (only if the record is created)


    Next create a products_options (Zencart) Record:
    products_options.products_options_id -> it is a different id, automatically incremented
    products_options.language_id = 7
    JOYASTOC.MEDI -> products_options.products_options_length

    Next create a products_attributes (Zencart) Record: (product_attributes links products and product_options)
    products_attributes.products_attributes_id (Automatically incremented)
    JOYASTOC.CODI -> products_attributes.products_id
    products_attributes.options_values_id is the one generated while inserting the product_options record


    Next create or update the products_description (Zencart) Record:
    JOYASTOC.CODI -> products_description.products_id
    products_description.products_id
    JOYASTOC.WDES -> products_description.products_name
    JOYASTOC.WTXT -> products_description.products_description


    Next create a products_options (Zencart) Record:
    products_options.products_options_id -> it is a different id per language
    products_options.language_id = 7


    For each different record of JOYATIEN (Client), then
    read JOYATIEN.NUME
    search this ID in the Zencart table tiendas (custom table created by us)
    update the following fields (the only way to create new records in this table is by adding those manually, the program only update existing records):
    JOYATIEN.NOMB -> tiendas.nombre
    JOYATIEN.DNIF -> tiendas.dni
    JOYATIEN.DIRE -> tiendas.direccion
    JOYATIEN.DIR2 -> tiendas.direccion2
    JOYATIEN.COPO -> tiendas.codigo_postal
    JOYATIEN.POBL -> tiendas.distrito
    JOYATIEN.PROV -> tiendas.provincia
    JOYATIEN.PAIS -> tiendas.pais
    JOYATIEN.TELF -> tiendas.telefono
    JOYATIEN.EMAI -> tiendas.email


    For each different record of JOYAINVE (Client), then
    read JOYAINVE.STOC (corresponds to products_id)
    Read JOYAINVE.TIEN corresponds to (id_tiendas)
    search those ID in the Zencart table inventario (custom table created by us)
    if doesn't exists, then create a new one, else update these fieds
    JOYAINVE.UNID -> inventario.disponibles
    JOYAINVE.APAR -> inventario.reservados


  • Tags:
Project Bids
Programmer Bid Delivery Time Time of Bid Rating  
ananghd $150 1 day 12/13/2008 at 20:02 EST 9.91/10
(11 reviews)
ready to start now ... thanks :)
methodz $200 5 days 12/13/2008 at 23:58 EST 10.00/10
(29 reviews)
We can do it, Thanks.
djain $350 7 days 12/14/2008 at 1:08 EST 9.90/10
(82 reviews)
Hi, Ready to start. Gone through your requirement. Pls Scrow payment is required Thanks djain.
cireh $375 5 days 12/15/2008 at 13:07 EST 9.88/10
(16 reviews)
Hi. Clear with requirements. Flawless visual basic application for your migration needs. Escrow needed.
m13badry $400 15 days 12/15/2008 at 4:46 EST 10.00/10
(80 reviews)
Quality promised and I will give you 3 months of Free Support including minor changes!
dugancom $500 5 days 12/13/2008 at 21:21 EST 10.00/10
(2 reviews)
Thanks for the opportunity!
akiles99 $750 10 days 12/14/2008 at 0:50 EST 10.00/10
(217 reviews)
will be done...
ymsolutions $800 20 days 12/16/2008 at 6:33 EST (No Feedback Yet)
we can do this project through visual foxpro in efficient way
evgeny $1,000 7 days 12/13/2008 at 17:50 EST 8.42/10
(459 reviews)
I can do this application.
navnathyadav $1,000 30 days 12/14/2008 at 0:28 EST (No Feedback Yet)
I can do this project within 30 days working days