CRM Quotation: Attachment with template: only first item shown

Hi all,
I created a webservice with WS_DESIGN_TOOL to fill a WORD template with the data of a quotation.
The header data looks fine, but from item data only the first item is shown. by debugging the generated FM I saw, the there are entries in data_tab for every item. I think my problem is placed in the WORD template. What do I have to do to loop over all items? The following XML-Tags in template deliver only the first item
<itemsofheader>
     <allitemsoforder>
          <item>
               <btitemconditionset>
                    <allitemconditionlines>
                         <item>
                              <kwertprt />
                              <koein />
                              <kawrtprt />
                         </item>
                    </allitemconditionlines>
               </btitemconditionset>
               <description />
          </item>
     </allitemsoforder>
</itemsofheader>
I expected, there will be a loop automatically when there is a list of items, but it isn't. What is my mistake.
regards
Martin

<?xml version='1.0' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<xsl:MT_messagetype>
<xsl:for-each select = "item">
<item>
<xsl:value-of select="item"/>
</item>
</xsl:for-each>
</xsl:MT_messagetype>
</xsl:template>
</xsl:stylesheet>

Similar Messages

  • Email attachment with .txt file (first line blank in the file)

    Hi all ,
    Iam trying attach .txt file to email , the file that iam accessing from server  . But first line blank (extra) even though i dont have blank line in original file .Can any help me out to resolve this issue?
    <u>Example</u> original file
    12345     aa    pq
    <u>Email attachment file</u>
                                        -> This line
    12345     aa    pq
    This is my code:
    REPORT  ZTEST_FILE  .
    DATA:BEGIN OF t_upload occurs 0,
           matnr LIKE zwplcsmev-matnr,
           zwgehrrg LIKE zwplcsmev-zwgehrrg,
           zwgehrct LIKE zwplcsmev-zwgehrct,
           zwgbev LIKE   zwplcsmev-zwgbev,
           zwpldt LIKE zwplcsmev-zwpldt,
           zwacdt LIKE zwplcsmev-zwacdt,
         END OF t_upload.
    *DATA:  maildata type sodocchgi1.
    *DATA:  mailtxt type table of solisti1 with header line.
    *DATA:  mailrec type table of somlrec90 with header line.
    DATA:   it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
                    WITH HEADER LINE.
    DATA:REC(80) TYPE C.
    DATA g_mask(20) TYPE c VALUE ',., ..'.
    DATA:   it_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
                    WITH HEADER LINE.
    DATA:P_ERROR(3).
    DATA:P_REFO(3).
    DATA:   gd_error TYPE sy-subrc,
            gd_reciever TYPE sy-subrc.
    DATA:   t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
            t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,
            t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
            t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,
            t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,
            w_cnt TYPE i,
            w_sent_all(1) TYPE c,
            w_doc_data LIKE sodocchgi1.
    selection-screen begin of block b1 with frame title text-001.
    parameters:p_file type localfile.
    parameter:p_email type ad_smtpadr.
    selection-screen end of block b1.
    --At Selection-Screen- -
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'TB_LIMIT_WS_FILENAME_GET'
          EXPORTING
            def_filename     = p_file
            mask             = g_mask
         mode             = 'S'
            title            = 'INPUT FILE'
          IMPORTING
            filename         = p_file
          EXCEPTIONS
            selection_cancel = 1
            selection_error  = 2
            OTHERS           = 3.
      IF sy-subrc <> 0.
           MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    START-OF-SELECTION.
      PERFORM process_file.
      if p_error = 'X' AND P_REFO <> 'X'.
      PERFORM populate_message_body.
      ENDIF.
      IF P_REFO = 'X' AND P_ERROR <> 'X'.
      it_message = 'Please find Attached file'.
      APPEND it_message.
      PERFORM send_attachment tables it_message
                                 it_attach
                          using  p_email
                         'Crest to Plc Data'
                                          'TXT'
                                          p_file
                                 changing gd_error
                                          gd_reciever.
      ENDIF.
      Instructs mail send program for SAPCONNECT to send email(rsconn01)
    PERFORM initiate_mail_execute_program.
    END-OF-SELECTION.
    *&      Form  process_file
          text
    FORM process_file.
    *CONSTANTS: con_cret TYPE x VALUE '0D',  "OK for non Unicode
                con_tab TYPE x VALUE '09'.   "OK for non Unicode
      DATA :l_path TYPE  string.
      l_path = p_file.
    CONSTANTS:  con_tab  type c value cl_abap_char_utilities=>HORIZONTAL_TAB
      con_cret type c value cl_abap_char_utilities=>newline.
    OPEN DATASET P_FILE  FOR INPUT IN TEXT MODE encoding default.
    if sy-subrc = 0.
    do.
    read dataset p_file into IT_ATTACH.
    IF SY-SUBRC  NE 0 .
    EXIT.
    ELSE.
    T_UPLOAD = IT_ATTACH.
    CONCATENATE con_cret it_attach  INTO it_attach .
    append it_attach.
    clear it_attach.
    P_REFO = 'X'.
    APPEND T_UPLOAD .
    clear t_upload.
    ENDIF.
    ENDDO.
    else.
    p_error = 'X'.
    ENDIF.
    ENDFORM.                    "process_file
    *&      Form  populate_message_body
          text
    FORM populate_message_body.
    w_doc_data-obj_name = 'TEST'.
      w_doc_data-obj_descr = 'Crest to Plc Data'.
      w_doc_data-obj_langu = sy-langu.
      it_message = 'File Not Found'.
      APPEND it_message.
    t_receivers-receiver = p_email.
      t_receivers-rec_type = 'U'.
      append t_receivers.
      call function 'SO_NEW_DOCUMENT_SEND_API1'
           exporting
                document_data              = w_doc_data
                document_type              = 'RAW'
                put_in_outbox              = 'X'
           tables
                object_header              = it_message
                object_content             = it_message
                receivers                  = t_receivers
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
        if sy-subrc = 0.
      commit work.
        SUBMIT rsconn01 USING SELECTION-SET 'SAP&CONNECTINT' AND RETURN.
      else.
        MESSAGE s027(vv) WITH 'E-mail not sent'.
      endif.
    ENDFORM.                    "populate_message_body
    *&      Form  send_attachment
          text
    FORM send_attachment tables pit_message
                                pit_attach
                         using  p_email
                                p_mtitle
                                p_format
                                p_filename
                                p_attdescription
                                p_sender_address
                                p_sender_addres_type
                       changing p_error
                                p_reciever.
      DATA:   ld_error    TYPE sy-subrc,
              ld_reciever TYPE sy-subrc,
              ld_mtitle LIKE sodocchgi1-obj_descr,
              ld_email LIKE  somlreci1-receiver,
              ld_format TYPE  so_obj_tp ,
              ld_attdescription TYPE  so_obj_nam ,
              ld_attfilename TYPE  so_obj_des ,
              ld_sender_address LIKE  soextreci1-receiver,
              ld_sender_address_type LIKE  soextreci1-adr_typ,
              ld_receiver LIKE  sy-subrc.
      ld_email  = p_email.
      ld_mtitle = p_mtitle.
      ld_format = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
      w_doc_data-doc_size = 1.
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
      CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.
      w_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = pit_attach[].
      clear t_attachment.
    Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      APPEND t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      APPEND t_packing_list.
    Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
      t_receivers-receiver = ld_email.
      t_receivers-rec_type = 'U'.
      t_receivers-com_type = 'INT'.
      t_receivers-notif_del = 'X'.
      t_receivers-notif_ndel = 'X'.
      APPEND t_receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
        EXPORTING
          document_data              = w_doc_data
          put_in_outbox              = 'X'
          sender_address             = ld_sender_address
          sender_address_type        = ld_sender_address_type
          commit_work                = 'X'
        IMPORTING
          sent_to_all                = w_sent_all
        TABLES
          packing_list               = t_packing_list
          contents_bin               = t_attachment
          contents_txt               = it_message
          receivers                  = t_receivers
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          document_type_not_exist    = 3
          operation_no_authorization = 4
          parameter_error            = 5
          x_error                    = 6
          enqueue_error              = 7
          OTHERS                     = 8.
      if sy-subrc = 0.
        commit work.
        SUBMIT rsconn01 USING SELECTION-SET 'SAP&CONNECTINT' AND RETURN.
      else.
        MESSAGE s027(vv) WITH 'E-mail not sent'.
      endif.
    Populate error return code
      ld_error = sy-subrc.
    Populate zreceiver return code
      LOOP AT t_receivers.
        ld_receiver = t_receivers-retrn_code.
      ENDLOOP.
    ENDFORM.                    "send_attachment

    Just copy the code below and execute . I just checked and found the exact values on attachment with no blank lines. This is more simple than the one u have written , just include ur data upload logic . For ITAB values to be attached i have written a simple logic to retrive from EKPO. Just copy this code and execute. u will understand then.
    I understand that ur initial requirement was to attach the file directly and not to upload and attach. If u still want to go for the old requirement then check out the code(2nd program of the two that i have sent) that i have sent u on ur previous post.
    REPORT  ZEMAIL_ATTACH                   .
    TABLES: ekko.
    PARAMETERS: p_email   TYPE somlreci1-receiver
                                      DEFAULT '[email protected]'.
    TYPES: BEGIN OF t_ekpo,
      ebeln TYPE ekpo-ebeln,
      ebelp TYPE ekpo-ebelp,
      aedat TYPE ekpo-aedat,
      matnr TYPE ekpo-matnr,
    END OF t_ekpo.
    DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0,
          wa_ekpo TYPE t_ekpo.
    TYPES: BEGIN OF t_charekpo,
      ebeln(10) TYPE c,
      ebelp(5)  TYPE c,
      aedat(8)  TYPE c,
      matnr(18) TYPE c,
    END OF t_charekpo.
    DATA: wa_charekpo TYPE t_charekpo.
    DATA:   it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
                    WITH HEADER LINE.
    DATA:   it_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
                    WITH HEADER LINE.
    DATA:   t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
            t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,
            t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
            t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,
            t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,
            w_cnt TYPE i,
            w_sent_all(1) TYPE c,
            w_doc_data LIKE sodocchgi1,
            gd_error    TYPE sy-subrc,
            gd_reciever TYPE sy-subrc.
    *START_OF_SELECTION
    START-OF-SELECTION.
      Retrieve sample data from table ekpo
      PERFORM data_retrieval.
      Populate table with detaisl to be entered into .xls file
      PERFORM build_TXT_data_table.
    *END-OF-SELECTION
    END-OF-SELECTION.
    Populate message body text
      perform populate_email_message_body.
    Send file by email as .TXT speadsheet
      PERFORM send_file_as_email_attachment
                                   tables it_message
                                          it_attach
                                    using p_email
                                          'Example .TXT documnet attachment'
                                          'TXT'
                                          'filename'
                                 changing gd_error
                                          gd_reciever.
      Instructs mail send program for SAPCONNECT to send email(rsconn01)
      PERFORM initiate_mail_execute_program.
    *&      Form  DATA_RETRIEVAL
          Retrieve data form EKPO table and populate itab it_ekko
    FORM data_retrieval.
      SELECT ebeln ebelp aedat matnr
       UP TO 10 ROWS
        FROM ekpo
        INTO TABLE it_ekpo.
    ENDFORM.                    " DATA_RETRIEVAL
    *&      Form  BUILD_TXT_DATA_TABLE
          Build data table for .txt document
    FORM build_txt_data_table.
      CONSTANTS: con_cret TYPE x VALUE '0D',  "OK for non Unicode
                 con_tab TYPE x VALUE '09'.   "OK for non Unicode
    *If you have Unicode check active in program attributes thnen you will
    *need to declare constants as follows
    *class cl_abap_char_utilities definition load.
    *constants:
       con_tab  type c value cl_abap_char_utilities=>HORIZONTAL_TAB,
       con_cret type c value cl_abap_char_utilities=>CR_LF.
      CONCATENATE 'EBELN' 'EBELP' 'AEDAT' 'MATNR'
             INTO it_attach  SEPARATED BY SPACE . "con_tab.
    CONCATENATE con_cret it_attach  INTO it_attach." Use this if req.
      APPEND  it_attach.
      LOOP AT it_ekpo INTO wa_charekpo.
        CONCATENATE wa_charekpo-ebeln wa_charekpo-ebelp
                    wa_charekpo-aedat wa_charekpo-matnr
               INTO it_attach SEPARATED BY SPACE ."con_tab.
       CONCATENATE con_cret it_attach  INTO it_attach." Use this if req.
        APPEND  it_attach.
      ENDLOOP.
    ENDFORM.                    " BUILD_txt_DATA_TABLE
    *&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
          Send email
    FORM send_file_as_email_attachment tables pit_message
                                              pit_attach
                                        using p_email
                                              p_mtitle
                                              p_format
                                              p_filename
                                              p_attdescription
                                              p_sender_address
                                              p_sender_addres_type
                                     changing p_error
                                              p_reciever.
      DATA: ld_error    TYPE sy-subrc,
            ld_reciever TYPE sy-subrc,
            ld_mtitle LIKE sodocchgi1-obj_descr,
            ld_email LIKE  somlreci1-receiver,
            ld_format TYPE  so_obj_tp ,
            ld_attdescription TYPE  so_obj_nam ,
            ld_attfilename TYPE  so_obj_des ,
            ld_sender_address LIKE  soextreci1-receiver,
            ld_sender_address_type LIKE  soextreci1-adr_typ,
            ld_receiver LIKE  sy-subrc.
      ld_email   = p_email.
      ld_mtitle = p_mtitle.
      ld_format              = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
    Fill the document data.
      w_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
      CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.
      w_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = pit_attach[].
    Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      APPEND t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      APPEND t_packing_list.
    Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
      t_receivers-receiver = ld_email.
      t_receivers-rec_type = 'U'.
      t_receivers-com_type = 'INT'.
      t_receivers-notif_del = 'X'.
      t_receivers-notif_ndel = 'X'.
      APPEND t_receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
           EXPORTING
                document_data              = w_doc_data
                put_in_outbox              = 'X'
                sender_address             = ld_sender_address
                sender_address_type        = ld_sender_address_type
                commit_work                = 'X'
           IMPORTING
                sent_to_all                = w_sent_all
           TABLES
                packing_list               = t_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = t_receivers
           EXCEPTIONS
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                OTHERS                     = 8.
    Populate zerror return code
      ld_error = sy-subrc.
    Populate zreceiver return code
      LOOP AT t_receivers.
        ld_receiver = t_receivers-retrn_code.
      ENDLOOP.
    ENDFORM.
    *&      Form  INITIATE_MAIL_EXECUTE_PROGRAM
          Instructs mail send program for SAPCONNECT to send email.
    FORM initiate_mail_execute_program.
      WAIT UP TO 2 SECONDS.
      SUBMIT rsconn01 WITH mode = 'INT'
                    WITH output = 'X'
                    AND RETURN.
    ENDFORM.                    " INITIATE_MAIL_EXECUTE_PROGRAM
    *&      Form  POPULATE_EMAIL_MESSAGE_BODY
           Populate message body text
    form populate_email_message_body.
      REFRESH it_message.
      it_message = 'Please find attached a list test ekpo records'.
      APPEND it_message.
    endform.                    " POPULATE_EMAIL_MESSAGE_BODY
    execute this code and i hope that will help u.
    regards,
    Barath.

  • Problems with templates overtaking first line?

    Has anyone else had a problem with templates taking over the first line of code in any page that a template is applied to?
    I created a template that starts like this:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- TemplateBeginEditable name="head" -->
    but when that particular template is applied to a page it writes this to the code:
    <!-- InstanceBegin template="/Templates/default.dwt" codeOutsideHTMLIsLocked="false" --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- InstanceBeginEditable name="head" -->
    I don't particularly mind this, but in IE8, because the comment is the first line - and NOT the doctype, it forces the browser into another doctype and breaks the page.
    Has anyone experienced this?
    I've tried re-creating my templates, but I'm not finding the reason why it decides to place that comment in the beginning sometimes..

    The problem may be that the comment is on the same line as the doctype, try putting a blank line between the template comment and the doctype statement
    e.g.
    ..... IsLocked="false" -->
    <!DOCTYPE HTML .....
    The comment is place in the line before the doctype to enable editing of server side code, (php, asp, .net, etc.).
    PZ

  • Quotation Attachment with Purchase Order

    please guide me how to attached the quotation with Purchase order
    regards

    hi
    there will be 2 types of attachment is there
    1       you can copy sales order from the quotation then the document referance is the remarks coloumn.
    2  If you want to attach the External quotation (it ia in any format . like *.Doc *.pdf  etc.,,)
    you should create the UDF called the Link  that UDF type should be general  then structure should be link
    then in the sales order if you click on that table you can able to attach the file
    Gopi

  • In trying to print 4 page web display with pictures, only first page pictures print but remaining text prints. What gives?s

    See question.

    I did all those things using Word and Paint to no avail. This raises another problem My PC came with Works bundled which suddenly stopped working, although it could handle graphics. MS had no solution so I deleted it and figured I could download it from MS.
    Hah. Sure I could...for $130. So now I need a free word processing program which will handle graphics.
    Any ideas?

  • Cannot run ms safety scanner or fix it with firefox only save button shown

    when I switched from IE to Firefox none of my ms safety scanner or fix it programs will run
    There is no option to run as with IE and I have tried over and over to locate them in files and run but no work
    I have to keep switching back to IE to get them to work even with anti virus off

    All Microsoft Fix It files are executables. For security reasons, you can't directly run programs. You can only save them and run them manually.
    By default, files are saved to your Downloads folder. If you put them somewhere else, you can locate them in the Library, Downloads section. See the following article for details.
    * [[Find and manage downloaded files]]

  • Only display first item when item no is bound to viewBT117S_SRC/AdvancedSRL

    Hi ;
    I want to add order item attributes to the lines of the page "service confirmatioms" , at first It was displaying only order header lines in standart ,  i enhanced the context node and added "item line no" of the orders but in the view it displays first item lines for each order.ıf you have 18 orders , it displays only 18 lines and only item no 10 for each one.
    new attribute i added to the context no in following orders (item line no)
    -->BTADVSSrvCfm
        -->BTOrderHeader
           -->BTHeaderItemsExt
               --> BTOrderItemAll
                    -->Item No
    For each order I have at least 2 lines , Why does it displays only first items after I enhanced the context node by adding item line no?
    What sould I follow the steps?
    Thanks

    Hi ;
    I want to add order item attributes to the lines of the page "service confirmatioms" , at first It was displaying only order header lines in standart ,  i enhanced the context node and added "item line no" of the orders but in the view it displays first item lines for each order.ıf you have 18 orders , it displays only 18 lines and only item no 10 for each one.
    new attribute i added to the context no in following orders (item line no)
    -->BTADVSSrvCfm
        -->BTOrderHeader
           -->BTHeaderItemsExt
               --> BTOrderItemAll
                    -->Item No
    For each order I have at least 2 lines , Why does it displays only first items after I enhanced the context node by adding item line no?
    What sould I follow the steps?
    Thanks

  • Create Quotation (ME41) with multiple lines item

    Hi All,
    Do you guys know how to create a quotation (ME41) with a multiple lines item with LSMW ?
    I'm considering create a LSMW with a BAPI just like "CREATEFROMDATA1 (for create PO)" so it has a HeaderData and also ItemData.
    I also looked on the BAPI, but couldn't find any BAPI for quotation.
    Any suggestion?
    Thx u

    Hope this could help u...
    BAPI for RFQ Creation (ME41)

  • Hide "more" button in a list view, only works for first item in the list

    I have the following code in a list view that outputs several dozen items in a web app.  The code only works for the first item, how can I make it loop through and execute the test for each item in the list view?  The {tag_hide more button} is a checkmark field that yields a numeric 1" if checked otherwise yields a numeric "0".
    <div id="more-option">
            <p class="right"><a href="{tag_itemurl_nolink}" class="btn btn-small btn-very-subtle">More &rarr;</a></p>
          </div>
          <div class="more-selection" style="display: none;">{tag_hide more button}</div>
          <script>
    if ($(".more-selection").text() == "1") {
        $("#more-option").hide();
    </script>

    What's the URL for the site where you are using this?  Offhand, it looks like it should work with your first example so you are either placing the script before those elements are loaded or you might try wrapping your current javascript inside the:
    $(document).ready(function() {
    --- your existing javascript here
    This make sure the code runs once all the html is loaded on the page.  Without seeing a URL and debugging with the js console in Chrome I can't give you a solid answer.
    But, I do know that you can probably do this with a lot less markup.  Once we figure out what the actual problem is I have a better solution mocked up for you on jsfiddle.
    When looking at my HTML code on jsfiddle, please realize I setup some dummy HTML and removed your tags and added actual values which would be output by your tags.  The main thing I did was remove the whole div.more-selection and instead, added a "data-is-selected" attribute on your div.more-option element.  Then, in my javascript for each div.my-option element on the page, we loop through them, find the value of that data attribute and hide that div if it's less than 1 (or 0).
    Here's the fiddle for you to look at:  http://jsfiddle.net/thetrickster/Mfmdu/
    You'll see in the end result that only two divs show up, both of those divs have data-is-selected="1".
    You can try pasting the javascript code near the closing </body> tag on your page and make sure to wrap my js inside a <script> tag, obviously.  My way is neater on the markup side.  If you can't get it to work it's likely a jquery conflict issue.  My version is using the $(document).ready() method to make sure all the code is loaded before it runs.
    Best,
    Chris

  • Items in template contain errors, only correct items are transferred

    Hi guys,
    When we create SC with items from the old SC the message appears: "Items in template contain errors, only correct items are transferred". I checked SC, there are no error messages. I found that field SOURCE_REL_IND in the table BBP_PDIGP is initial. Can it be the reason of this error message?

    Hello
    I think the old items from the old SC will be validated, and therefore you got this error message.
    I would suggest to uncheck the 'Validate Product Data' (In Additional
    Functions in product catalog tab) for the external catalog in the
    following path:
    spro -> SAP IMG -> Enterprise Buyer -> Master Data ->
    Define Catalogs. Select the catalog, and then 'Goto -> Details'
    Hope this helps,
    Daniel

  • Quotations PCUI - Send Attachements with the Quotation-Smarforms

    Hi Experts,
    I've got a question concerning smartforms and attachments in the PCUI - Environment.
    We've created a smartform in the quotation application and we starting sending this smarftorm with actions, that means if the Quotation is ready to send, we can choose sending via fax, e-mail or print it out with the actions. This works fine, but now we have the requirement to send all documents (normaly pdf - documents) of the quotation directly with the quotation-smartform (product-datasheet for example). Is this possible, do you have any experience in this topic?
    We use CRM 5.0 - and Sapnetweaver 2004s portal...
    regards
    marc

    Hello,
    You can read the attachment of the Quatotation using the CRM document library functions and extract the content of the documents. After this this can be put as part of the smart form.
    Starting point will to explore CRM document library CLDocument should give you some hints.
    Raj

  • Module pool- only first line item data saved, rest disappears??

    Hi Experts,
    I have one module pool that was developed by other developer. It has header details input fields and items details input by table control.
    Now below scenarios occur:
    1) When I enter only one line item, and save it, the data is saved properly
    2) when I enter more than one item data and save it, it only saves first line item data.
    3).When I press ENTER button after every new line item data, it saves all the data properly.
    I tried to debug the report but could not find the exact problem statement as the code is written very badly without any comments.
    I am pasting the flow logic code below for the screen.
    So please help me figure out the problem and solution for it.
    +++++++++++++++++++++++++++++++++++
    PROCESS BEFORE OUTPUT.
    *&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'IT_MSEG'
       MODULE it_mseg_change_tc_attr.
    *&SPWIZARD: MODULE IT_MSEG_CHANGE_COL_ATTR.
       LOOP AT   it_gp
            INTO wa_gp
            WITH CONTROL it_mseg
            CURSOR it_mseg-current_line.
         MODULE it_mseg_get_lines.
    *&SPWIZARD:   MODULE IT_MSEG_CHANGE_FIELD_ATTR
       ENDLOOP.
    * MODULE STATUS_9001.
       MODULE deactive_screen.
    PROCESS AFTER INPUT.
    *&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'IT_MSEG'
       LOOP AT it_gp.
         CHAIN.
           FIELD wa_gp-yposnr.
           FIELD wa_gp-matnr.
           FIELD wa_gp-maktx.
           FIELD wa_gp-meins MODULE check_uom ON INPUT..
    *      FIELD WA_GP-DOC_QTY.
    *      FIELD WA_GP-REC_QTY.
           FIELD wa_gp-gp_qty.
           FIELD wa_gp-chall_qty.
           FIELD wa_gp-netwr.
           FIELD wa_gp-remarks.
           FIELD wa_gp-exp_ret.
           MODULE it_mseg_modify ON CHAIN-REQUEST.
         ENDCHAIN.
         FIELD wa_gp-chk
           MODULE it_mseg_mark ON REQUEST.
       ENDLOOP.
       MODULE it_mseg_user_command.
    *&SPWIZARD: MODULE IT_MSEG_CHANGE_TC_ATTR.
    *&SPWIZARD: MODULE IT_MSEG_CHANGE_COL_ATTR.
       MODULE user_command_9001.
    +++++++++++++++++++++++++++++++++++
    Thanks,
    Vishal.

    Hi Aruna,
    Below is the code as you required.
    +++++++++++++++++++++++++++++
    MODULE user_command_9001 INPUT.
       ygp_header_mas-ret_type = v_gpt.
       CASE sy-ucomm.
         WHEN 'MBLNR'.
           PERFORM select_mblnr.
         WHEN 'DEL'.
           PERFORM select_delivery.
         WHEN 'INTI'.
           PERFORM grt_gi_details.
         WHEN 'GENT'.
           PERFORM get_ge_details.
         WHEN 'GP'.
           PERFORM get_returnable_gp.
         WHEN 'SAVE'.
           PERFORM gen_gp_number.
           PERFORM gen_data.
           PERFORM save_data.
         WHEN OTHERS.
           PERFORM get_ge_details_other.
           IF it_gp[] IS INITIAL.
             INSERT INITIAL LINE INTO it_gp INDEX 1.
           ENDIF.
       ENDCASE.
       IF v_entry = 07 .
         PERFORM serial_no1.
         PERFORM insert_row.
       ENDIF.
       IF sy-ucomm IS INITIAL.
         PERFORM calc_amt.
       ENDIF.
       CLEAR:sy-ucomm.
    ENDMODULE.                    "user_command_9001 INPUT
    +++++++++++++++++++++++++++++++
    MODULE it_mseg_user_command INPUT.
       ok_code = sy-ucomm.
       PERFORM user_ok_tc USING    'IT_MSEG'
                                   'IT_GP'
                                   'CHK'
                          CHANGING ok_code.
       sy-ucomm = ok_code.
    ENDMODULE.                    "IT_MSEG_USER_COMMAND INPUT
    ++++++++++++++++++++++++++++++++++
    MODULE it_mseg_modify INPUT.
       MODIFY it_gp
         FROM wa_gp
         INDEX it_mseg-current_line.
    ENDMODULE.                    "IT_MSEG_MODIFY INPUT    
    ====> Above module has some problem i think as while debugging it was not updating IT_GP as the current line number was not matching with IT_GP as it has only one line item and WA_GP was changing. Also WA_GP data was getting changed with LOOP with all line items data.
    ++++++++++++++++++++++++++++++++++++++++++++++
    MODULE it_mseg_mark INPUT.
       DATA: g_it_mseg_wa2 LIKE LINE OF it_gp.
       IF it_mseg-line_sel_mode = 1
       AND wa_gp-chk = 'X'.
         LOOP AT it_gp INTO g_it_mseg_wa2
           WHERE chk = 'X'.
           g_it_mseg_wa2-chk = ''.
           MODIFY it_gp
             FROM g_it_mseg_wa2
             TRANSPORTING chk.
         ENDLOOP.
       ENDIF.
       MODIFY it_gp
         FROM wa_gp
         INDEX it_mseg-current_line
         TRANSPORTING chk.
    ENDMODULE.                    "IT_MSEG_MARK INPUT
    +++++++++++++++++++++++++++++++++++++++++
    If I press ENTER after entering each line item, all records come in IT_GP but if not then only first line item comes. Also if I dont press ENTER after entering the first line item and and add one item (total 2) and then press ENTER then sometimes both the lines disappear.
    Thanks,
    Vishal

  • Selecting from Combobox with only one item

    I'm populating Comboboxes based on selections from other
    comboboxes. I pick up the selection with the 'change' trigger,
    however when you select the top item or if there is only one item,
    the change route doesn't work. So I tried to use the 'click' and
    even the 'close' triggers instead, but they give me an errors when
    I try to access the companion ArrayCollections which hold the IDs
    for the items in the list (as commented in the code). Any ideas how
    to get this to update with just one selection?
    <!-- The first three comboboxes populate the next one in
    the list in a 'drilldown' approach -->
    <mx:ComboBox minWidth="130" maxWidth="130" id="selectSys"
    dataProvider="{sysOps.lastResult.system.data}"
    change="fillComboBox(selectSys, selectSub, 'subsystem',
    subOps, sysIDs, 1)" rowCount="10" />
    <mx:ComboBox minWidth="130" maxWidth="130" id="selectSub"
    dataProvider="{subOps.lastResult.system.data}"
    change="fillComboBox(selectSub, selectDev, 'devices',
    devOps, subIDs, 2)"/>
    <mx:HTTPService id="sysOps" useProxy="false" method="GET"
    result="sysIDs = sysOps.lastResult.system.id as
    ArrayCollection;"
    fault="mx.core.Application.application.handleFault(event);"
    url="
    http://localhost:8080/TomCustodes/rocket"/>
    <mx:HTTPService id="subOps" useProxy="false" method="GET"
    result="subIDs = subOps.lastResult.system.id as
    ArrayCollection;"
    fault="mx.core.Application.application.handleFault(event);"
    url="
    http://localhost:8080/TomCustodes/rocket"/>
    // fill destination combobox based on selection from src
    combobox
    public function fillComboBox(src:ComboBox, dest:ComboBox,
    type:String,
    serv:HTTPService, idArray:ArrayCollection, element:int) :
    void {
    // choose ID from the associated ID array with the same
    selecetedIndex
    // error occurs as the idArray ArrayCollection comes up as
    null
    var selectedID:String = idArray.getItemAt(src.selectedIndex)
    as String;
    var params:Object = {};
    params[type] = type;
    var arg:String = "arg";
    var argList:Array = new Array();
    if (element > 1) {
    var ind:int = selectSys.selectedIndex;
    var sysName:String = sysIDs.getItemAt(ind) as String;
    argList.push(sysName);
    if (element > 2) {
    ind = selectSub.selectedIndex;
    var subName:String = subIDs.getItemAt(ind) as String;
    argList.push(subName);
    argList.push(selectedID);
    params[arg] = argList;
    serv.send(params);
    Thanks!

    I think the way I would go about that is having a result
    function for the HTTPServices and set your array collections how
    you are. Then after they are set I would check to see if the length
    == 1 and if it does then recall your fillComboBox method for the
    next combo box since there isn't a way for the user to change the
    combo box they might as well have the next one already filled out.
    The other approach you could take is after you set your array
    collection to your result add dummy items via
    myAC.addItemAt({label:"Choose one"}, 0); This will ensure the user
    always has an item to change to.

  • The message: "Items in template contain errors, only correct items..

    Hi guys,
    When we create SC with items from the old SC the message appears: "Items in template contain errors, only correct items are transferred". I checked SC, there are no error messages. I found that field SOURCE_REL_IND in the table BBP_PDIGP is initial. Can it be the reason of this error message?

    Hello,
    Please make sure that catalog item/customization is properly maintained including OCI field
    NEW_ITEM-EXT_PRODUCT_ID. Make sure that these items exist.
    Could you kindly UN-CHECK the 'Validate Product Data' (In Additional
    Functions in product catalog tab) for the external catalog in the
    following path
    [Transaction spro -> SAP IMG -> Enterprise Buyer -> Master Data ->
    Define Catalogs. Select the catalog, and then 'Goto -> Details'] and
    check whether the error message is coming up ?
    Kind regards,
    Gaurav

  • Please explain me, how to remove an usb stick or memory chip? With experiences only in pc:s, I do not find on my first apple e.g. MacBook Air a solution. Until now I have succeeded to destroy one chip full of photos and - there's no life more in the port.

    Please explain me, how to remove an usb stick or memory chip? With experiences only in pc:s, I do not find on my first apple e.g. MacBook Air a solution. Until now I have succeeded to destroy one chip full of photos and - there's no life more in the port...
    Someone told me just to remove the chip in clicking it to the trash can and voilá - it would be done. But as I did so, on the screen appeared a text which let me know, that that way had been the wrong one...
    I should have clicked Finder plus something.... which I do not now remember but which was then not found behind the Finder.
    So please would someone be so kind and tell me, where I can find explanations for the most simple functions. The manual I got does not include a clue.
    Thank you!

    First make sure that no application is using or has open any files on the disk. Then:
    Click and drag the disk icon on the desktop to the trash. Wait for the system to recognize the action, and the icon should disappear from the desktop. It is then safe to remove the device.
    Alternatively, you can secondary click on the disk icon, and then primary click "Eject (name of disk)". Wait for the icon to disappear off the desktop, and then it is safe to remove the drive.
    Here is a detailed help document on the subject.
    http://docs.info.apple.com/article.html?path=Mac/10.7/en/mchlp1056.html

Maybe you are looking for