0

I want to start out by saying I am new to AMPScript though I have a lot of programming/scripting experience. I am trying to figure out a way to do the following.

I have a customer who has multiple (could be any number) products associated with them. Right now I receive a delimited file that list give a user id and then all the product fields delimited by a "|". If a customer has more than one product associated with them there will be a separate line in the file for each product.
What I need to do is to import this file into ExactTarget and then generate an email for each customer based on this data. Most of this is pretty easy besides the multiple products. I was hoping some guidance could be provided on using AMPScript in a template to generate a chunk of HTML for each product that is associated to the customer (this will vary per customer).

  • Any input would be greatly appreciated. – Gondore Apr 11 '14 at 19:29
  • @Adam Springs Did you get any solution for this issue. I am looking into the same issue as we have multiple line items in an Order and we are importing those orders through data extension and not sure how to handle the multiple lines in email. – Harry Jun 18 '18 at 3:38
  • My answer below outlines it. – Adam Spriggs Jun 18 '18 at 17:55
1

If you imported this Product data into a Product Data Extension, and you're sending to another Data Extension that's related by User_id, then you can simply use one of the AMPScript lookup functions to output the data in the email.

Something like this:

%%[
var @rows, @row, @rowCount, @numRowsToReturn, @UserId, @i

set @UserId = AttributeValue("user id")
set @numRowsToReturn = 0 /* 0 means all */
set @rows = LookupOrderedRows("Products",@numRowsToReturn,"SKU desc, qty asc","user id", @UserId)
set @rowCount = rowcount(@rows)

if @rowCount > 0 then

for @i = 1 to @rowCount do

    var @SKU, @qty
    set @row = row(@rows,@i) /*get row based on loop counter */
    set @SKU = field(@row,"SKU")
    set @qty = field(@row,"qty")

]%%

    <br>Row %%=v(@i)=%%, SKU: %%=v(@SKU)=%%, Qty: %%=v(@qty)=%%

%%[

next @i ]%%

%%[ else ]%%

No products found

%%[ endif ]%%

Reference

-2

Checkout this document, specifically page 127: http://memberlandingpages.com/docs/AMPscript_Guide.pdf

It shows a nice of example of looping through data from a data extension, which sounds like what you're wanting to do with order/product data.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.