DEFINE VARIABLE hExcel AS COM-HANDLE. DEFINE VARIABLE hws AS COM-HANDLE. DEFINE VARIABLE hwb AS COM-HANDLE. DEFINE VARIABLE hrange AS COM-HANDLE. DEFINE VARIABLE rownum AS INT INIT 2. DEFINE VARIABLE crownum AS CHARACTER. DEFINE VARIABLE crange AS CHARACTER. DEFINE VARIABLE dispdata like item-whs-pri.price extent 10. DEFINE VARIABLE rpt-type AS LOGICAL INIT YES. def var comb-factor as decimal. DEFINE VARIABLE cnt AS INTEGER. CREATE "Excel.Application" hExcel. IF NOT VALID-HANDLE(hExcel) THEN RETURN. /* Use FALSE if you don't want to seen excel work */ hExcel:Visible = TRUE. hwb = hExcel:WorkBooks:ADD. hws = hwb:worksheets:ADD. hws:COLUMNS("a"):columnwidth = 12. hws:COLUMNS("b"):columnwidth = 20. hws:COLUMNS("c"):columnwidth = 10. hws:COLUMNS("d"):columnwidth = 10. hws:COLUMNS("e"):columnwidth = 10. hws:COLUMNS("f"):columnwidth = 10. hws:COLUMNS("g"):columnwidth = 10. hws:COLUMNS("h"):columnwidth = 10. hws:COLUMNS("i"):columnwidth = 10. hws:COLUMNS("j"):columnwidth = 10. hws:COLUMNS("k"):columnwidth = 10. hws:COLUMNS("l"):columnwidth = 10. hws:range("a1:l1"):FONT:bold = TRUE. hws:range("a1"):value = "Item Number". hws:range("b1"):value = "Description". hws:range("c1"):value = "Level 1". hws:range("d1"):value = "Level 2". hws:range("e1"):value = "Level 3". hws:range("f1"):value = "Level 4". hws:range("g1"):value = "Level 5". hws:range("h1"):value = "Level 6". hws:range("i1"):value = "Level 7". hws:range("j1"):value = "Level 8". hws:range("k1"):value = "Level 9". hws:range("l1"):value = "Level 10". for each item no-lock where in-entity = "be" and item.item-no ge "991410-000" and item.item-no le "9914965-999" and item.active, each item-whs-d of item where item-whs-d.whs-code = "11" no-lock, each item-whs-pri of item-whs-d no-lock: if item-whs-pri.price[1] = 0 then next. if rpt-type then do: repeat cnt = 1 to 10: if item-whs-pri.dollar-pct[cnt] then dispdata[cnt] = item-whs-pri.price[cnt]. else do: comb-factor = 1 * (1 - (truncate(item-whs-pri.price[cnt],0) - item-whs-pri.price[cnt])). dispdata[cnt] = round(item-whs-pri.price[1] * comb-factor,2). END. END. END. ASSIGN crownum = STRING(rownum) crange = "a" + crownum hws:range(crange):VALUE = item.item-no crange = "b" + crownum hws:range(crange):VALUE = item.description[1] crange = "c" + crownum hws:range(crange):VALUE = dispdata[1] crange = "d" + crownum hws:range(crange):VALUE = dispdata[2] crange = "e" + crownum hws:range(crange):VALUE = dispdata[3] crange = "f" + crownum hws:range(crange):VALUE = dispdata[4] crange = "g" + crownum hws:range(crange):VALUE = dispdata[5] crange = "h" + crownum hws:range(crange):VALUE = dispdata[6] crange = "i" + crownum hws:range(crange):VALUE = dispdata[7] crange = "j" + crownum hws:range(crange):VALUE = dispdata[8] crange = "k" + crownum hws:range(crange):VALUE = dispdata[9] crange = "l" + crownum hws:range(crange):VALUE = dispdata[10] rownum = rownum + 1. END. /* hwb:CLOSE. hexcel:QUIT. */ RELEASE OBJECT hws. RELEASE OBJECT hwb. RELEASE OBJECT hExcel. /* The select method set's the selection in the application object, so get it from there hws:Range("A12:C20"):Select. hexcel:Selection:Interior:ColorIndex = 15. hexcel:Selection:Interior:Pattern = 1. hexcel:Selection:Interior:PatternColorIndex = -4105. ASSIGN crange = "d" + STRING(rownum + 2) hws:range(crange):VALUE = "Order Total" hws:cells(rownum + 2, 5):formula = "=sum(e2:e" + STRING(rownum - 1) + ")" hws:range(crange):borders(7):weight = 3 hws:range(crange):borders(10):weight = 3 crange = "e1:e" + STRING(rownum + 3) hws:range(crange):borders(10):weight = 3 crange = "a" + STRING(rownum + 3) + ":e" + STRING(rownum + 3) hws:range(crange):borders(9):weight = 3 hws:pagesetup:leftmargin = hexcel:inchestopoints(0.5) hws:pagesetup:rightmargin = hexcel:inchestopoints(0.5). */