# Excel Map

Source workbook:

`xxx_endpoint_bo_2026-08-04_v1.xlsm`

## Sheets

| Sheet | Role hypothesis |
| --- | --- |
| `dashboard` | Cron/task overview and links |
| `endpoint` | Main working screen, includes `Catalog maker - 20` |
| `pictures` | Product image layout/status |
| `picmagic` | Product variants or image-combination helper |
| `sql` | Stored SQL statements and descriptions |
| `cronjob` | Scheduled task metadata |
| `config` | Local configuration and sensitive values |

## Catalog Maker Button

The entry point is an ActiveX button:

- Caption: `Catalog maker - 20`
- Internal name: `CommandButton20`
- Sheet: `endpoint`
- Approximate anchor: `A21:C22`
- Relationship target: `../activeX/activeX72.xml`

## Migration Notes

- The workbook contains VBA macros.
- It has an external link to an older local `.xlsm`.
- Many defined names look like product attributes but currently resolve to `#REF!`.
- The `sql` sheet appears to hold most data-access behavior.
- We should migrate one behavior at a time and keep all write operations disabled until verified.

## Manufacturer SQL

Excel rows found on the `sql` sheet and confirmed from the VBA strings:

- Row 133: `catalog maker / ComboBox2000 / load all manufacturer`
- Row 134: `catalog maker / ComboBox2000 / get id of selected manufacture`

Original Excel flow:

1. Load manufacturer names into `ComboBox2000`.
2. After selecting a manufacturer, resolve `id_manufacturer`.
3. Store/use the selected id for the next catalog-maker queries.

The web endpoint follows the same connector flow, but improves the select by loading ids with names:

```sql
SELECT id_manufacturer, name
FROM ps_manufacturer
ORDER BY name ASC
```

After a user selects a manufacturer, the next step resolves its id with row 134:

```sql
SELECT id_manufacturer
FROM ps_manufacturer
WHERE name = ?
```

## Languages SQL

Excel row found on the `sql` sheet:

- Row 173: `catalog maker / get available lang for translations`

The web endpoint loads language ids, names, and ISO codes:

```sql
SELECT id_lang, name, iso_code
FROM ps_lang
ORDER BY name ASC
```
