Multiple columns and rows in MessageService

I am attempting to create a message (via MessageService) which has multiple lines of data, and each line has multiple data columns.
Background:  My program reads data from a web store, and creates Sales Orders in SBO.  A single run might process multiple orders.  When all orders have been entered, the program should send a (single) message to a list of recipients.  The message will have one line of data for each sales order produced.  Each line will contain two fields: the linked SBO sales order number, and the unlinked web order number.
When the message is initially created, I'm defining the multiple columns and initializing the data lines:
pMessageDataColumns = oMessage.MessageDataColumns
pMessageDataColumn = pMessageDataColumns.Add()
pMessageDataColumn.ColumnName = "SalesOrder"
pMessageDataColumn.Link = BoYesNoEnum.tYES
pMessageDataColumn = pMessageDataColumns.Add()
pMessageDataColumn.ColumnName = "WebOrder"
pMessageDataColumn.Link = BoYesNoEnum.tNO
oLines = pMessageDataColumn.MessageDataLines()
Later, as each Sales Order is processed, I'm attempting to inject the two data values into the message data:
oLine = oLines.Add()
oLine.Value = Str(pOrd.DocNum)
oLine.Object = 17
oLine.ObjectKey = Str(pOrd.DocEntry)
oLine = oLines.Add()
oLine.Value = pOrd.WebOrder
The above code would be invoked for each Sales Order processed.  However, it generates an "Internal error (-5002) occurred" when the message is ultimately sent.
The SDK documentation states:
The MessageDataLine is a child data structure related to the MessageDataColumn. It contains the value of a specified cell in the Data table, which is defined by its column number (vtIndex of Item of MessageDataColumns) and row number (vtIndex of Item of MessageDataLines).
I guess I don't understand the relationship between adding a "line" in my data display versus adding data into a "column".  It appears that the "oLines.Add()" is used to bump across the columns of the data.  If so, how do I advance to the next entire row of data in the message?
Thanks, Dave

    Class Item
        Public ItemCode As String
        Public Dscription As String
    End Class
Dim ItemCodes as new list( of item)
Dim one as new item
one.ItemCode = "ItemCode"
one. Dscription ="Name of Item"
itemcodes.add (one)
        Try
            Dim oCmpSvc As SAPbobsCOM.CompanyService = _ocmp.GetCompanyService()
            Dim oMsgSvc As SAPbobsCOM.MessagesService = oCmpSvc.GetBusinessService(ServiceTypes.MessagesService)
            Dim oMsg As SAPbobsCOM.Message = oMsgSvc.GetDataInterface(MessagesServiceDataInterfaces.msdiMessage)
            oMsg.Subject = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
            oMsg.Text = Msg
            Dim oMsgDataColumn As SAPbobsCOM.MessageDataColumn
            If ItemCodes.Count > 0 Then
                oMsgDataColumn = oMsg.MessageDataColumns.Add()
                oMsgDataColumn.ColumnName = "Product / Item Code"
                oMsgDataColumn.Link = BoYesNoEnum.tYES
                For Each oneitem As Item In ItemCodes
                    Dim oMsgDataLine As SAPbobsCOM.MessageDataLine = oMsgDataColumn.MessageDataLines.Add()
                    oMsgDataLine.Object = "4"
                    oMsgDataLine.ObjectKey = oneitem.ItemCode
                    oMsgDataLine.Value = oneitem.Dscription
                Next
                oMsgDataColumn = oMsg.MessageDataColumns.Add()
                oMsgDataColumn.ColumnName = "Description"
                oMsgDataColumn.Link = BoYesNoEnum.tNO
                For Each oneitem As Item In ItemCodes
                    Dim oMsgDataLine As SAPbobsCOM.MessageDataLine = oMsgDataColumn.MessageDataLines.Add()
                    oMsgDataLine.Value = oneitem.Dscription
                Next
            End If
                    Dim oMsgRecipient As SAPbobsCOM.Recipient = oMsg.RecipientCollection.Add()
                    oMsgRecipient.UserCode = "manager"
                    oMsgRecipient.SendInternal = BoYesNoEnum.tYES
                    oMsgRecipient.SendEmail = BoYesNoEnum.tNO
            oMsgSvc.SendMessage(oMsg)
            MsgBox("SAP B1 internal Message sent...")
        Catch ex As Exception
            MsgBox("Unable to send SAP B1 internal message. Error:" + ex.Message)
        End Try
    End Sub

Similar Messages

  • How to insert parameter value into multiple columns and rows

    Hi All,
    I have one procedure insert_tab and I am passing
    100~101~102:103~104~105:106~107~108 as a parameter to that procedure. I wanted to insert each numeric value into one column. The output of the table should contain
    Table:
    Col1 Col2 Col3
    100 101 102
    103 104 105
    106 107 108
    Awaiting for your reply..

    That's not more clear for me...
    Anyway, if you really want a procedure for that, try :
    SQL> create table tblstr (col1 number,col2 number,col3 number);
    Table created.
    SQL>
    SQL> create or replace procedure insert_fct (p_string IN varchar2)
      2  as
      3  v_string     varchar2(4000):=p_string||':';
      4  v_substring  varchar2(4000);
      5 
      6  begin
      7      while instr(v_string,':') > 0 loop
      8            v_substring := substr(v_string,1,instr(v_string,':')-1)||'~';
      9            insert into tblstr(col1,col2,col3)
    10            values (substr(v_substring,1,instr(v_substring,'~',1,1)-1),
    11                    substr(v_substring,instr(v_substring,'~',1,1)+1,instr(v_substring,'~',1,2)-instr(v_substring,'~',1,1)-1),
    12                    substr(v_substring,instr(v_substring,'~',1,2)+1,instr(v_substring,'~',1,3)-instr(v_substring,'~',1,2)-1));
    13            v_string:=substr(v_string,instr(v_string,':')+1);
    14      end loop;
    15  end;
    16  /
    Procedure created.
    SQL>
    SQL> show err
    No errors.
    SQL>
    SQL> select * from tblstr;
    no rows selected
    SQL> exec insert_fct('100~101~102:103~104~105:106~107~108')
    PL/SQL procedure successfully completed.
    SQL> select * from tblstr;
          COL1       COL2       COL3
           100        101        102
           103        104        105
           106        107        108
    SQL> exec insert_fct('109~~')
    PL/SQL procedure successfully completed.
    SQL> exec insert_fct('~110~')
    PL/SQL procedure successfully completed.
    SQL> exec insert_fct('~~111')
    PL/SQL procedure successfully completed.
    SQL> select * from tblstr;
          COL1       COL2       COL3
           100        101        102
           103        104        105
           106        107        108
           109
                      110
                                 111
    6 rows selected.
    SQL> Nicolas.

  • Problem in showing multiple columns and rows in horizontal wrap as like as

    I am trying to implement the ListView in my application as like as in windows.
    But i am able to show single row by this code snippet.
    What should i do to show  the multiple row ,multiple coloumns in JList.
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    public class JListExample extends JFrame
        private class Value
            Value(String value, Icon image)
                this.value = value;
                this.image = image;
            String value;
            Icon image;
        private Icon getIcon(String name)
            return new ImageIcon(name);
        public JListExample()
            super("Simple JList Example");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            final Value[] VALUES =
                new Value("the road", getIcon("10.jpg")),
                new Value("trees",  getIcon("11.jpg")),
                new Value("stooges",  getIcon("12.jpg")),
                new Value("bauld tires",  getIcon("13.jpg")),
                new Value("bvot tires",  getIcon("14.jpg")),
                new Value("volt tires",  getIcon("15.jpg")),
                new Value("send tires",  getIcon("17.jpg")),
            JList list = new JList(VALUES);
            list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
            list.setVisibleRowCount(1);
            list.setCellRenderer(new SimpleCellRenderer());
            list.addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent evt) {
                if (evt.getValueIsAdjusting())
                return;
                System.out.println("Selected from " + evt.getFirstIndex()
                    + " to " + evt.getLastIndex());
            JScrollPane ListViewer = new JScrollPane(list);
            getContentPane().add(ListViewer);
            setBounds(0,0,600,600);
            //pack();
        public static void main(String[] args)
            try
                new JListExample().setVisible(true);
            catch (Exception e)
                e.printStackTrace(System.out);
        class SimpleCellRenderer extends JLabel implements ListCellRenderer
            public SimpleCellRenderer()
                setOpaque(true);
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
                Value val = (Value)value;
                setText(val.value);
                setIcon(val.image);
                //setBackground(isSelected ? Color.red : (index & 1)  ==0 ?                 Color.cyan : Color.green);
                //setForeground(isSelected ? Color.white : Color.black);
                return this;
    }

    I know this is an old topic, but I found the solution and thought I'd share it! By default, a JList only has 1 visible row. To allow the number of rows to expand dynamically, throw this in.
    this.imageList.setVisibleRowCount(-1);My code looks like this. It centers each image and centers the text under the image and wraps images horizontally.
        ListCellRenderer renderer = new ImageListCellRenderer();
        this.imageList.setCellRenderer(renderer);
        DefaultListModel listModel = new DefaultListModel();
        this.imageList.setVisibleRowCount(-1);
        this.imageList.setLayoutOrientation(JList.HORIZONTAL_WRAP);
        this.imageList.setModel(listModel);and the renderer
    public class ImageListCellRenderer extends DefaultListCellRenderer { 
      public Component getListCellRendererComponent(JList list, Object value, int
          index, boolean isSelected, boolean hasFocus) {
        JLabel label = (JLabel)super.getListCellRendererComponent(list, value,
            index, isSelected, hasFocus);
        if (value instanceof File) {
          File imageFile = (File)value;
          String path = imageFile.getAbsolutePath();
          Image image = Toolkit.getDefaultToolkit().getImage(path);
          image = image.getScaledInstance(100, 100, Image.SCALE_DEFAULT);
          ImageIcon imageIcon = new ImageIcon(image);
          label.setIcon(imageIcon);
          label.setText(path.substring(path.lastIndexOf(File.separatorChar) + 1));
          label.setVerticalTextPosition(SwingConstants.BOTTOM);
          label.setHorizontalAlignment(SwingConstants.CENTER);
          label.setHorizontalTextPosition(SwingConstants.CENTER);
        else {
          label.setIcon(null);
        return label;
    }I need to work on this to improve performance, but it works!

  • Multiple columns and rows update using select staement

    i am trying to update the 2 colums of a table based on the cursor result set with key values are matching.
    DECLARE
    CURSOR update_master
    IS
    SELECT B.cust_num,c.cust_num,
    B.cust_name,B.cust_bal
    FROM
    Table_one B
    JOIN
    Table_two C
    ON B.cust_num= C.cust_num;
    BEGIN
    FOR master_rec IN update_master
    LOOP
    UPDATE Table_three
    SET col1 = master_rec.cust_name,
    Col2 = master_rec.cust_bal,
    Where WHERE Cust_num = master.cust_num;
    END LOOP;
    COMMIT;
    END;
    The 3 tables are having around 50000 records individually............
    It is taking too much of time to execute......more than 6 minutes......
    how can we optimize it?? can we write this update statement directly? instead of writing it in procedure?

    Here's a general approach:
    update some_table s
    set   (s.col1, s.col2) = (select x.col1, x.col2
                              from   other_table x
                              where  x.key_value = s.key_value
    where exists             (select 1
                              from   other_table x
                              where  x.key_value = s.key_value
    ;

  • I use "element 12" and want  like in the old PS version due Automating and Contact  II upload multiple filesand print them with any columns and rows on the same page . How does it work?

    I use "element 12" and want  like in the old PS version due Automating and Contact  II upload multiple filesand print them with any columns and rows on the same page . How does it work?

    Can you supply a link?

  • Creating even columns and rows in flash

    I need to create a grid in flash using the drawing tools. The
    grid has multiple (10+) columns and rows. Other than using the
    ruler and guides is there a way to ensure even spacing with columns
    and rows?

    Create the lines for the columns and locate the two end lines
    where they need to be using the Properties panel X positioning.
    Then, with the remaining lines placed between the two end lines,
    select all the lines and use the align tool to space them evenly.
    Do similarly for the row lines, but on a separate layer. You can
    move them to the column layer afterwards.

  • How to enter a data into the specified column and row in a created table

    Hi,
    I want to enter some data to specified column and row in a already created table. Please let me know how to do this.
    Regards
    Shivakumar Singh

    A table is just a 2D array of strings. Keep it in a shift register and use "replace array element" to modify the desired entry programmatically.
    If you want to modify it manually and directly from the front panel, make it into a control and type directly into the desired element. (In this case your program would need to write to it using a local variable).
    Atttached is a simple example in LabVIEW 7.0 that shows both possibilities.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ChangeTableEntries.vi ‏41 KB

  • How to get the current selected column and row

    Hi,
    A difficult one, how do i know which column (and row would also be nice) of a JTable is selected?
    e.g.
    I have a JButton which is called "Edit" when i select a cell in the JTable and click the button "Edit" a new window must be visible as a form where the user can edit the a part of a row.
    Then the column which was selected in the JTable must be given (so i need to know current column) and then i want the TextField (the one needed to be edited) be active with requestFocus(). So it would be
    pricetextfield.requestFocus();
    Problem now is that i have to click every time in the window the JTextField which was selected in the JTable. I have chosen for this way of editing because my application is multi-user and it would be too difficult for me when everybody did editing directly (catch signals, reload data, etc.).
    My question is how do I know the current column and the current row in a JTable?

    I'm not sure what your mean by the "current" row or column, but the following utility methods return
    which row and column have focus within the JTable.
    public static int getFocusRow(JTable table) {
        return table.getSelectionModel().getLeadSelectionIndex();
    public static int getFocusColumn(JTable table) {
        return table.getColumnModel().getSelectionModel().getLeadSelectionIndex();
    }

  • Read words from text file by delimiter as columns and rows

    Hi All,
    I need your help as i have a problem with reading string by delimiter. i have used various tech in java, but i can not get the result as expected.
    Please help me to get the string from text file and write into excel . i have used a text file.
    problem
    get the below as string by delimiter
    OI.ID||'|'||OI.IDSIEBEL||'|'||OI.IDTGU||'|'||OI.WORKTYPE||'|'||OI.UTR_FK
    read the below as string by delimiter
    "50381|TEST_7.15.2.2|09913043548|Attivazione|07-SEP-10
    now i need to write the above into excel file as columns and rows.
    there are 5 columns and each corresponding values
    the outut excel should be
    OI.ID OI.IDSIEBEL OI.IDSIEBEL OI.WORKTYPE OI.UTR_FK
    50381 TEST_7.15.2.2 09913043548 Attivazione 07-SEP-10
    i tried in diffrerent techinq but not able to get the resule. pls help me
    Thanks,
    Jasmin
    Edited by: user13836688 on Jan 22, 2011 8:13 PM

    First of all, when posting code, put it between two tags.
    Second of all, the pipe is a special character in regex, so you need to escape it as
    .split("\ \|");
    Erh. So 2 backslashes before the pipe character. Stupid forum won't post it.
    Edited by: Kayaman on Jan 24, 2011 9:35 AM
    Edited by: Kayaman on Jan 24, 2011 9:35 AM
    Edited by: Kayaman on Jan 24, 2011 9:36 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Can we hide the lines between the columns and rows of an alv in wd abap

    HI all ,
      I know that we can colour cell/column/row in an alv in wd abap.
       but, can we hide the lines between the columns and rows of an alv in wd abap.
         i have checked this link [hiding lines b/n rows and columns of an  alv|http://help.sap.com/saphelp_nw04/helpdata/en/91/e7eb40c4f8712ae10000000a155106/content.htm]
         but didn't  understand, can please anybody provide some example or any material..? it will be very helpful.
                                                                         THANK  YOU.
    Edited by: arfat111 on Feb 15, 2010 7:05 AM

    Code some like this in the WDDOINIT method of your view which defines the ALV component as used component.
    instansiate the ALV component
    data lo_cmp_usage type ref to if_wd_component_usage.
    lo_cmp_usage = wd_this->wd_cpuse_usage_alv().
    if lo_cmp_usage->has_active_component() is initial.
       lo_cmp_usage->create_component().
    endif.
    data lo_interfacecontroller type ref to iwci_salv_wd_table.
    lo_interfacecontroller = wd_this->wd_cpifc_usage_alv().
    data lo_value type ref to cl_salv_wd_config_table.
    lo_value = lo_interfacecontroller->get_model().
    hide the grid lines
    lo_value->if_salv_wd_table_settings~SET_GRID_MODE( value = '01' ).
    Thanks,
    Abhishek

  • Avoiding zeros in columns and rows after selecting parameters

    Hi,
    I have a parameter on my report, after selecting certain value it shows me Zero Zero for all the columns and rows that do not satisfy the parameter selected and shows data in rows nad columns whre it is matching.
    Is there any way to just avaid getting anything for the rows and columns that are not matching and just getting data rows and columns......like a compact form.
    I hope I was able to explain my question.
    Robinn

    Please re-post if this is still an issue or purchase a case and have a dedicated support engineer work with you directly:
    http://store.businessobjects.com/store/bobjamer/DisplayProductByTypePage&parentCategoryID=&categoryID=11522300?resid=-Z5tUwoHAiwAAA8@NLgAAAAS&rests=1254701640551

  • Increase report size (columns and rows) in portal

    Hi all,
    Hope someone can help me with this.  I don't have any experience administering the reporting portal, hopefully this is an easy question.
    The portal displaying BI queries shows only about 10 columns and 10 rows at a time.  This is annoying since users have to scroll around to see all the rows and columns.  Where can I adjust the number of columns and rows displayed?
    Thanks,
    M.

    Hi M.B.
    Open WAD ( Bex Web Application Designer ) in which , you have assigned BI query. follow the steps for changing no of rows & columns.
    Step 1.    Properties   -  > select Web Items parametes.
    Step 2.   select  Ananlysis
    Step 3.   Scroll down  -> paging  -> here you can change no of rows & columns.
    Hope it will serve your query. If problem solved , closed this thread .
    Regards,
    Anand Mehrotra.

  • Switch columns and rows in SSRS

    Hi,
    I have a report with static columns that looks something like this:
    Date                     
    Column 1            
    Column2             
    Column30
    December 1      
       xxx                     
        xxx                    
        xxx
    December 2        
     xxx                     
        xxx                    
        xxx
    December 31      
    xxx                      
        xxx                    
        xxx
     It is based on SP that produces a temporary table exactly the same way as the report output (my Dec
    1 to 31 rows are details that are precalculated within SP).
    I need to switch columns and rows as my report is getting too wide.
    Does anyone know how it is done in SSRS 2005 (with SQL 2005 data source) without re-writing my SP?
    Thank you in advance!

    Thank you for your reply Jason.
    Unfortunately I do not have tablix within SSRS 2005; I only have matrix and table. For the original report I am using table as it displays data exactly the way it
    is passed from the SP. You cannot switch columns and rows within the table. I tried matrix, but it didn’t work either… Is there any work around that you know of?
    Thanks again!
    Lana

  • FREEZE COLUMNS AND ROWS IN WEB REPORT - PLEASE ADVISE ME

    Hi Experts,
    I have a web template that contains a query. My customer wants to freeze columns and rows in this report like we do in Excel. I know that in BW 3.5 this is not a standard feature of Table item. In forum I have found some messages regarding with this issue. I inserted a JavaScript code that I have found in forum, but this does not help. A codewriter wrote some other JaveScript for example  alert(), that works but some part of taken code from forum such as defined functions do not work.
    Other solutions advised in forum such as fixing row numbers or column numbers do not fix my problem.
    My questions:
    1 -  In new version of BW, BI 7.0 have this issue with WAD in standard been solved?
    2 - Does it really possible at the same time rows and columns to freeze? I want to freeze 2 rows from top, 2 columns from left.
    Could anyone have an idea?
    Best regards,
    Songul

    Hello,
    This will be implemented with SPS13.
    https://websmp204.sap-ag.de/~sapidb/011000358700004483762006E
    And before SPS13, i frame is useful to realize what you want to do. Using 2 "Analysis" web item. and display of 1st analysis web item is restricted only thin the header of the table and the 2nd Analysis web item is used as "table". display of this "analysis" is also restricted to 10 - 30 rows.
    but this consume hardware resource.
    <sample>
               <div style="OVERFLOW: auto; WIDTH: 1000px; HEIGHT: 20px" >
                   <bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_2" designwidth="400" designheight="20" >
                       <bi:DATA_PROVIDER_REF value="DP_1" />
                       <bi:NEW_LINES_COUNT value="0" />
                       <bi:NEW_LINES_POSITION value="TOP" />
                       <bi:DATA_ROW_FROM value="1" />
                       <bi:DATA_ROW_TO value="0" />
                   </bi:ANALYSIS_ITEM>
               </div>
               <div style="OVERFLOW: auto; WIDTH: 1000px; HEIGHT: 200px" >
                   <bi:ANALYSIS_ITEM name="ANALYSIS_ITEM_1" designwidth="400" designheight="200" >
                       <bi:DATA_PROVIDER_REF value="DP_1" />
                       <bi:DATA_COLUMN_FROM value="1" />
                       <bi:DATA_ROW_TO value="0" />
                   </bi:ANALYSIS_ITEM>
               </div>
    Kind regards,
    Masaaki

  • Transpose columns and rows in numbers

    I need to transpose columns and rows in Numbers and I do not want to write script to do it.  Is there an easier way?

    Give me a proper transpose and I will uninstall Excel and never look back.
    Ok, here's a proper transpose, that can be placed in an Automator Service so it becomes a simple menu pick as below (and can also be assigned a keyboard shortcut).
    To use it (this is slightly different from Excel) you select the range you want to transpose, choose Copy Transpose, click a destination cell in an existing table in the current document or another document, and command-v (Edit > Paste) or option-shift-command-v (Edit > Paste and Match Style).
    The one-time setup is as follows.  In Automator choose File > New > Service,  drag a Run AppleScript action from the left into the right pane, choose 'No Input' for 'Services receives selected' and 'Numbers' for 'in'. Then paste the following into the Run AppleScript action, replacing all text already there by default:
    --Transpose - select range, run, paste transposed values where wanted
    try
              tell application "Numbers" to tell front document to tell active sheet
                        set selected_table to first table whose class of selection range is range
                        tell selected_table
                                  set my_selection to the selection range
                                  set first_col to address of first column of my_selection
                                  set last_col to address of last column of my_selection
                                  set first_row to address of first row of my_selection
                                  set last_row to address of last row of my_selection
                                  set str to ""
                                  repeat with i from first_col to last_col
                                            repeat with j from first_row to last_row
                                                      set str to str & (value of cell j of column i of selected_table) & tab
                                            end repeat
                                            set str to str & return -- add line return after row
                                  end repeat
                        end tell
              end tell
      set the clipboard to str
              display notification "Ready to paste transposed values" with title "Numbers"
    on error
              display dialog "Select a range first and then try again"
    end try
    --end script
    Hit the compile "hammer" and the script should indent properly. Then save the service with the name you want to appear in your menu, and it will thereafter be available via the Services menu (and keyboard shortcut, if you set one up in System Preferences > Keyboard > Shortcuts > Services).
    That's it. Less then five minutes' one-time set-up work and you've got a menu pick for a transpose functionality that is as convenient as Excel's.
    SG

Maybe you are looking for

  • SharePoint Report Viewer Web Part Parameter Issue

    I'm using the SharePoint Report Viewer web part to display a SSRS report that I have created in a library.  Reporting Services is integrated into my SharePoint farm.  The report I am displaying has a single parameter that needs to be set.  When I sel

  • Installed most apps on creative cloud but now have to upgrade to 64 bit

    Hi, I am am new to Creative Cloud, I succesfully (with patience) downloaded and installed 11 of the Creative tool apps available to me. I could not download Photoshop CS6, after many attempts.  My OS is 32 bit and I was told I really should be runnin

  • To Remove a special character

    Hi All,i am transferring XML file to SAP ,so while doing this i am facing some problem while handling some special character 'micro'. Is there any replacment for micro in SAP?......please tell me..

  • Updating organizational unit is good practise or tell any altenative

    My requirement is to send the work item to group of users. So as per my thought i have assigned organizational unit in the workflow event. Is this a good practise or is there an alternative if the practical environment is that the group of users will

  • ITunes for Linux?

    Can iTunes and the iTunes store be used by other operating systems besides Windoze and MacOS like Linux? THanks