J
Jürgen Germonpré
Dear All,
This will be a bit difficult ot explain, hope it clear.
As a product manager I'm responsable for a few brands. This means, I need to
keep SAP up-to-date for these products. t.i. buying and selling prices,
taxes etc.... On the other hand i retrieve data from SAP for analyses and
reporting. I'm only autorised to retrieve data from SAP. The data for update
is transmitted to our administrator who does the actual update.
This is what i have to do:
- Each month i receive a pricelist from the supplier. This is excel workbook
which i import into Access.
Same thing for the pricelist my colleagues in Holland. Some products,
although almost physicaly identical (they have the same EANcode), do have a
different ItemNo (last two digits do change), because of some differences
(f.i. french/english keyboard). For all articles that match, i check prices,
taxes and etc... Sometimes it's cheaper to buy in Holland.... that's
easy.
- Import the article range from SAP, and match with supplier pricelist. This
is where i look for differences in pricing, taxes and ect. versus our live
data !
Here i have some issues...:
(1) is that article references are not consistent. Strange but true, some
ItemNo's changed overtime, although it remained the same product !!! (last
two digits) So at a certain time in history they've decided to chop off the
last -ever changing- digits. Even by chopping off, articles still have a
unique identifier with this.
This means, that some times i have article with ItemNo like 4587D5478 and
sometimes like 4587D5478AB which becomes our internal SAP reference (style:
CAN-4587D5478 ).
(2) Each record has a SupplierCode to keep the link with the original
reference which contents should be the same as the ItemNo. But a result of
the inconsitency of input, sometimes it isn't !!! Sometime they do match on
the whole, sometimes on the ItemNo without the last 2 digits.... Some times,
this reference does not have anything to do with it ! So i have to look it
up manually, verify eancodes, descriptions and etc... to detect if there is
a match....
Pretty time consuming.
Now, i thought it would be simple to make a mapping table, where i do the
work once: map SAP ID onto ItemNo and then afterwards i use this table to
join SAP list and Supplier list together. I created a new table, using a
right join with ALL SAP ID's and the ItemNo where i have a match, the
others are empty, afterward, manually i can add missing or malformed ItemID.
SAP ID is primary, so I can't have duplicates on that one. I can't put an
constraint on the ItemNo, since initially i have a lot Null's in ItemNo....
Then i try to match as much as possible by joining SAP ID - SupplierCode,
with or without the last digits.....(about 4 queries, each time join between
another field).
First Problem is, if i join tables by means of this intermediate table (no
referential integrity), i can not edit the fields in the query. So i have to
open up other queries check visualy, copy paste references and etc.....
Next month i take the new SAP list and APPEND it to the mapping table, this
way i just add new articles (matches or not), while old entries are not
affected, since they could have already a match in the ItemNo field.
This may seem a bit ackward, but i don't know a better solution...
So I wondered, wouldn't it be better to alter one of the tables, add an
extra field for matching with the other table?? But then again, since each
month both tables are replaced i have to reconnect articles.... (i could use
the mapping table for this).
Or do i have to use a double primary key SAPID and ItemNo. or or or....
I just can't figure out wich way to go to make it simple an efficient.
Thanks for your advice.
JG
This will be a bit difficult ot explain, hope it clear.
As a product manager I'm responsable for a few brands. This means, I need to
keep SAP up-to-date for these products. t.i. buying and selling prices,
taxes etc.... On the other hand i retrieve data from SAP for analyses and
reporting. I'm only autorised to retrieve data from SAP. The data for update
is transmitted to our administrator who does the actual update.
This is what i have to do:
- Each month i receive a pricelist from the supplier. This is excel workbook
which i import into Access.
Same thing for the pricelist my colleagues in Holland. Some products,
although almost physicaly identical (they have the same EANcode), do have a
different ItemNo (last two digits do change), because of some differences
(f.i. french/english keyboard). For all articles that match, i check prices,
taxes and etc... Sometimes it's cheaper to buy in Holland.... that's
easy.
- Import the article range from SAP, and match with supplier pricelist. This
is where i look for differences in pricing, taxes and ect. versus our live
data !
Here i have some issues...:
(1) is that article references are not consistent. Strange but true, some
ItemNo's changed overtime, although it remained the same product !!! (last
two digits) So at a certain time in history they've decided to chop off the
last -ever changing- digits. Even by chopping off, articles still have a
unique identifier with this.
This means, that some times i have article with ItemNo like 4587D5478 and
sometimes like 4587D5478AB which becomes our internal SAP reference (style:
CAN-4587D5478 ).
(2) Each record has a SupplierCode to keep the link with the original
reference which contents should be the same as the ItemNo. But a result of
the inconsitency of input, sometimes it isn't !!! Sometime they do match on
the whole, sometimes on the ItemNo without the last 2 digits.... Some times,
this reference does not have anything to do with it ! So i have to look it
up manually, verify eancodes, descriptions and etc... to detect if there is
a match....
Pretty time consuming.
Now, i thought it would be simple to make a mapping table, where i do the
work once: map SAP ID onto ItemNo and then afterwards i use this table to
join SAP list and Supplier list together. I created a new table, using a
right join with ALL SAP ID's and the ItemNo where i have a match, the
others are empty, afterward, manually i can add missing or malformed ItemID.
SAP ID is primary, so I can't have duplicates on that one. I can't put an
constraint on the ItemNo, since initially i have a lot Null's in ItemNo....
Then i try to match as much as possible by joining SAP ID - SupplierCode,
with or without the last digits.....(about 4 queries, each time join between
another field).
First Problem is, if i join tables by means of this intermediate table (no
referential integrity), i can not edit the fields in the query. So i have to
open up other queries check visualy, copy paste references and etc.....
Next month i take the new SAP list and APPEND it to the mapping table, this
way i just add new articles (matches or not), while old entries are not
affected, since they could have already a match in the ItemNo field.
This may seem a bit ackward, but i don't know a better solution...
So I wondered, wouldn't it be better to alter one of the tables, add an
extra field for matching with the other table?? But then again, since each
month both tables are replaced i have to reconnect articles.... (i could use
the mapping table for this).
Or do i have to use a double primary key SAPID and ItemNo. or or or....
I just can't figure out wich way to go to make it simple an efficient.
Thanks for your advice.
JG