Problem in sorting tableview line item

Hi,
I have only one main page with with one tableview.
For example, i have the fields in header say field1, field2, field3, field4, field5.
When i click the header of the field say field2, it sorts the line item which is in table display w.r.t field2.
But i intend to sort the internal table line item  , which is responsible to display the line item on page.
Is it possible. If so how?
Cheers
RK

Hi,
You have to use SORT = "SERVER"  and in input processing validate the code:
Please see the below example:
In the view the code should something as below:
<htmlb:tableView id="tv2"  table="<%=it_vbak%>"
                                      selectionMode     = "none"
                                     onHeaderClick    = "some"
                                     sort             = "SERVER"
                                     iterator        = "<%=controller%>" >
  <htmlb:tableViewColumn columnName="VBELN" > </htmlb:tableViewColumn>
  <htmlb:tableViewColumn columnName="ERDAT" > </htmlb:tableViewColumn>
  <htmlb:tableViewColumn columnName="ERZET" > </htmlb:tableViewColumn>
  <htmlb:tableViewColumn columnName="ANGDT"> </htmlb:tableViewColumn>
  <htmlb:tableViewColumn columnName="ERNAM"> </htmlb:tableViewColumn>
  <htmlb:tableViewColumn columnName="VBTYP" > </htmlb:tableViewColumn>
</htmlb:tableView>
In the event handler the code would be something as below:
data: tv type ref to cl_htmlb_tableview.
tv ?= cl_htmlb_manager=>get_data(
                        request      = runtime->server->request
                        name         = 'tableView'
                        id           = 'tv2' ).
sort it_vbak by (tv->data->column_key).
Bhavana.G

Similar Messages

  • I have a problem regarding sales order line item with confimed quanity

    Hi Experts,
    I have a problem regarding sales order line item with confimed quanity with '0'  with delivery block but confirming the sales order quantity once the order is released from credit check.
    The situation arises as per the below scenarios.
    Scenario - 1 -  When the sales order has two line item - one line item with confirmed qunaity in the schedule line and for the 2nd line item there is no available stock for the Material xxxxxx.
    Initially the sales order is created for the line item 2 with confirmed quantity = 0, and having the delivery block = 01 for the Material xxxxxx  and the order is set with credit check.  Once the order is relased from the credit check.  The quanity for the item 2 where the confirmed quantity will be = 0 ( Where it is not changing the confirmed quantity)
    Scenario -2-  Updating the order qunaity for the line item 2 as (9Pcs) it will goes to credit check and save the order.
    Maintain the stock for the line item 2 ( 5 Pcs).
    Once the order is released from the credit check.  Then  for the line item 2 the confirm quanity will be seting to 5 Pcs with Delivery blcok 01.
    This should not happen, When the credit check is released even though if it has stock based on the delivery blockl it should set the confirmed quanity to Zero.
    Can you please help me how to solve this issue.
    Looking forward for your reply.
    Thanks and Regards,

    Hi,
    I agree with your point.  In the sales order When the complete delivery check box is enabled where the confimed qty is set to zero, it is fine but when we save the orderr it goes to credit check.  Once we release the order using VKM3 where in the sales order the confimed quantity is setting to 5,  But it should set to Zero quantity.  Quatity should not be get confirmed it should be Zero Quantity. 
    Further in SPRO - customizing in the deliveries blocking reasons - It has a tick mark in the confirmation blcok.  But we dont want to remove the - Confirmation Block tick mark
    Please any one can help me if you have any solution to solve this problem.
    Thanks and Regards.

  • Problem in uploading multiple line items while Creating sales order by BAPI

    Hi experts ,  Im able to create sales order  with one item while using this program, but the problem is  when iam having multiple  items or multiple sales order  , iam not able to createthe line items , though its creating  sales order header , Iam copy pasting my code , please add the additional code to my code to take more than 1 line items ,This is urgent requirement . Points will be rewarded for answers , Thanks in advance
    *& Report  Z_SO_CREATE_BAPI
    REPORT  Z_SO_CREATE_BAPI.
    DATA: i_header TYPE bapisdhd1 occurs 0 with header line.
    DATA: i_details TYPE bapisditm OCCURS 0 WITH HEADER LINE.
    DATA: i_partner TYPE bapiparnr OCCURS 0 WITH HEADER LINE.
    DATA: i_return1 TYPE bapiret2 OCCURS 0 WITH HEADER LINE.
    DATA: i_return2 TYPE bapiret2.
    data : ORDER_HEADER_IN like BAPISDHD1.
    data : ORDER_ITEMS_IN like BAPISDITM occurs 0 with HEADER LINE .
    data : ORDER_ITEMS_INX Like BAPISDITMX occurs 0 with HEADER LINE .
    data : RETURN like BAPIRET2 occurs 0 with header line.
    data : ORDER_PARTNERS like BAPIPARNR occurs 0 with
    header line.
    DATA : ORDER_KEYS LIKE BAPISDKEY OCCURS 0 WITH HEADER
    LiNE.
    data : ORDER_SCHEDULES_IN like BAPISCHDL occurs 0 with
    header line.
    data : ORDER_SCHEDULES_INX like BAPISCHDLX occurs 0 with
    header line.
    data : BEGIN OF TAB OCCURS 0,
           SRNO(4),
            DOC_TYPE like ORDER_HEADER_IN-dOC_TYPE,
            SALES_ORG LIKE ORDER_HEADER_IN-SALES_ORG,
            DISTR_CHAN LIKE ORDER_HEADER_IN-DISTR_CHAN,
            DIVISION like ORDER_HEADER_IN-DIVISION,
           REQ_DATE_H(10),
           PURCH_DATE(10),
           PMNTTRMS LIKE ORDER_HEADER_IN-PMNTTRMS,
           PURCH_NO_C LIKE ORDER_HEADER_IN-PURCH_NO_C,
           ITM_NUMBER like BAPISDITM-ITM_NUMBER,
            MATERIAL   LIKE  ORDER_ITEMS_IN-MATERIAL ,
            PLANT LIKE ORDER_ITEMS_IN-PLANT,
           TARGET_QTY LIKE ORDER_ITEMS_IN-TARGET_QTY,
           ITM_NUMBERX like  ORDER_ITEMS_INX-ITM_NUMBER ,
           MATERIALX   LIKE  ORDER_ITEMS_INX-MATERIAL ,
           CUST_MAT22 LIKE ORDER_ITEMS_IN-CUST_MAT22,
           PLANTX LIKE ORDER_ITEMS_INX-PLANT,
           TARGET_QTYX LIKE ORDER_ITEMS_INX-TARGET_QTY,
           ITM_NUMBER LIKE ORDER_ITEMS_IN-ITM_NUMBER,
           MATERIAL   LIKE  ORDER_ITEMS_IN-MATERIAL ,
            PARTN_ROLE LIKE ORDER_PARTNERS-PARTN_ROLE,
            PARTN_NUMB LIKE ORDER_PARTNERS-PARTN_NUMB,
          END OF TAB.
    DATA: v_vbeln TYPE bapivbeln-vbeln.
    selection-screen begin of block b1 with frame.
    skip 3.
    parameter:p_infile like rlgrap-filename obligatory.
    skip 3.
    selection-screen end  of block b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_infile.
      PERFORM value_help.
    start-of-selection.
    CALL FUNCTION 'WS_UPLOAD'
      EXPORTING
        filename                     = p_infile
       FILETYPE                      = 'DAT'
      HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
      VIRUS_SCAN_PROFILE            =
      NO_AUTH_CHECK                 = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      tables
        data_tab                      = tab.
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    **Validation for the Create SO screen
    *AT SELECTION-SCREEN ON BLOCK na_create.
    Loop at Tab.
    i_header-doc_type =  TAB-DOC_TYPE .
    i_header-sales_org = TAB-SALES_ORG.
    i_header-distr_chan = TAB-DISTR_CHAN .
    i_header-division = TAB-DIVISION .
    append i_header.
    *endloop.
    i_partner-partn_role = TAB-PARTN_ROLE .
    i_partner-partn_numb =  TAB-PARTN_NUMB.
    APPEND i_partner.
    i_details-material =  TAB-MATERIAL .
    APPEND i_details.
    endloop.
    *Bapi for Creating SO
                   CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
                     EXPORTING
                     SALESDOCUMENTIN               = v_vbeln
                       order_header_in               = i_header
                     ORDER_HEADER_INX              =
                     SENDER                        =
                     BINARY_RELATIONSHIPTYPE       =
                     INT_NUMBER_ASSIGNMENT         =
                     BEHAVE_WHEN_ERROR             =
                     LOGIC_SWITCH                  =
                     TESTRUN                       =
                     CONVERT                       = ' '
                    IMPORTING
                      SALESDOCUMENT                 = v_vbeln
                     tables
                      RETURN                        = i_return1
                      ORDER_ITEMS_IN                = i_details
                      ORDER_ITEMS_INX               = ORDER_ITEMS_INX
                       order_partners                = i_partner .
                     ORDER_SCHEDULES_IN            =
                     ORDER_SCHEDULES_INX           =
                     ORDER_CONDITIONS_IN           =
                     ORDER_CONDITIONS_INX          =
                     ORDER_CFGS_REF                =
                     ORDER_CFGS_INST               =
                     ORDER_CFGS_PART_OF            =
                     ORDER_CFGS_VALUE              =
                     ORDER_CFGS_BLOB               =
                     ORDER_CFGS_VK                 =
                     ORDER_CFGS_REFINST            =
                     ORDER_CCARD                   =
                     ORDER_TEXT                    =
                     ORDER_KEYS                    =
                     EXTENSIONIN                   =
                     PARTNERADDRESSES              =
    IF NOT v_vbeln IS INITIAL.
    *Bapi Commit Work
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    WAIT =
    IMPORTING
    return = i_return2
    ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
    IMPORTING
    RETURN =
    ENDIF.
    LOOP AT i_return1 .  "INTO wa_return1.
    WRITE:/ i_return1-message.
    ENDLOOP.
    FORM value_help .
      CALL FUNCTION 'DSVAS_DOC_WS_FILENAME_GET_50'
        EXPORTING
          DEF_FILENAME     = ' '
          DEF_PATH         = ' '
          MASK             = ',.,..'
          MODE             = 'O'
          TITLE            = ' '
        IMPORTING
          FILENAME         = p_infile
        EXCEPTIONS
          INV_WINSYS       = 1
          NO_BATCH         = 2
          SELECTION_CANCEL = 3
          SELECTION_ERROR  = 4
          OTHERS           = 5.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    endform.
    txt file data
    order type  salesorg   distch      divison       materialno                  parter role
    TA     PB01     01     00     000000000000000852     WE
    Partner no
    8101000000

    Hi Neerja,
    you can reffer this sample code. It may not be complet soluation for your poblem,
    but you will get some idea.
    *& Report  ZBAPI_SALESORDER_CREATE
    *& Author : Karthik
    REPORT  ZBAPI_SALESORDER_CREATE.
    data : ORDER_HEADER_IN like BAPISDHD1.
    data : ORDER_ITEMS_IN like BAPISDITM occurs 0 with
    header line.
    data : RETURN like BAPIRET2 occurs 0 with header line.
    data : ORDER_PARTNERS like BAPIPARNR occurs 0 with
    header line.
    DATA : ORDER_KEYS LIKE BAPISDKEY OCCURS 0 WITH HEADER
    LINE.
    data : ORDER_SCHEDULES_IN like BAPISCHDL occurs 0 with
    header line.
    data : BEGIN OF TAB OCCURS 0,
            SRNO(4),
            DOC_TYPE like ORDER_HEADER_IN-dOC_TYPE,
            SALES_ORG LIKE ORDER_HEADER_IN-SALES_ORG,
            DISTR_CHAN LIKE ORDER_HEADER_IN-DISTR_CHAN,
            DIVISION like ORDER_HEADER_IN-DIVISION,
           REQ_DATE_H(10),
            PURCH_DATE(10),
            PMNTTRMS LIKE ORDER_HEADER_IN-PMNTTRMS,
            PURCH_NO_C LIKE ORDER_HEADER_IN-PURCH_NO_C,
            ITM_NUMBER like BAPISDITM-ITM_NUMBER,
            CUST_MAT22 LIKE ORDER_ITEMS_IN-CUST_MAT22,
            PLANT LIKE ORDER_ITEMS_IN-PLANT,
            TARGET_QTY LIKE ORDER_ITEMS_IN-TARGET_QTY,
            PARTN_ROLE LIKE ORDER_PARTNERS-PARTN_ROLE,
            PARTN_NUMB LIKE ORDER_PARTNERS-PARTN_NUMB,
          END OF TAB.
    data: itab1 like alsmex_tabline occurs 0 with header
    line.
    DATA: gd_currentrow type i.
    data : PURCHASEORDER like ekko-ebeln.
    Data: tot_rec type i,     "Total Records
         gd_update type i,   "Main Table Increement Counter
         gd_lines type i,    "Success Table increement Counter
         w_textout like t100-text. "VARIABLE TO GET ERRORLOG
    data : begin of it_success occurs 0,
            SALESDOCUMENT LIKE BAPIVBELN-VBELN,  "PROJECT
          end of it_success.
    data : begin of it_error occurs 0,
            srno(4),
            err_msg(73) TYPE c,    "TO RETREIVE ERROR MESSAGES
         end of it_error.
    data : srno(4).
    DATA : SALESDOCUMENT LIKE  BAPIVBELN-VBELN.
    selection-screen begin of block b1 with frame.
    skip 3.
    parameter:p_infile like rlgrap-filename obligatory.
    skip 3.
    selection-screen end  of block b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_infile.
      PERFORM value_help.
    start-of-selection.
      call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_infile
          i_begin_col             = '1'
          i_begin_row             = '2' "Do not require
    headings
          i_end_col               = '22'
          i_end_row               = '10000'
        TABLES
          intern                  = itab1
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          others                  = 3.
      if sy-subrc <> 0.
        message e010(zz) with text-001. "Problem uploading
    Excel Spreadsheet
      endif.
    *perform open_group.
      sort itab1 by row col.
    Get first row retrieved
      read table itab1 index 1.
    Set first row retrieved to current row
      gd_currentrow = itab1-row.
      loop at itab1.
    Reset values for next row
        if itab1-row ne gd_currentrow.
          append tab .
          clear tab.
          gd_currentrow = itab1-row.
        endif.
        SHIFT ITAB1-VALUE LEFT DELETING LEADING SPACE.
        case itab1-col.
          when '0001'.
            TAB-SRNO = itab1-value.
          when '0002'.
            TAB-DOC_TYPE = itab1-value.
          when '0003'.
            TAB-SALES_ORG = itab1-value.
          when '0004'.
            TAB-DISTR_CHAN = itab1-value.
          when '0005'.
            TAB-DIVISION = itab1-value.
         when '0006'.
           TAB-REQ_DATE_H =  itab1-value.
          when '0006'.
            TAB-PURCH_DATE = itab1-value.
          when '0007'.
            TAB-PMNTTRMS = itab1-value.
          when '0008'.
            TAB-PURCH_NO_C = itab1-value.
            when '0009'.
            TAB-ITM_NUMBER = itab1-value.
           when '0010'.
            TAB-CUST_MAT22 = itab1-value.
          when '0011'.
            TAB-PLANT  = itab1-value.
          when '0012'.
            TAB-TARGET_QTY = itab1-value.
          when '0013'.
            TAB-PARTN_ROLE = itab1-value.
          when '0014'.
            TAB-PARTN_NUMB = itab1-value.
        endcase.
      endloop.
      append tab.
      clear tab.
      sort tab by SRNO.
      LOOP AT TAB.
       concatenate tab-REQ_DATE_H+4(4)
    tab-REQ_DATE_H2(2) tab-REQ_DATE_H0(2) into
    tab-REQ_DATE_H.
        concatenate tab-PURCH_DATE+4(4)
    tab-PURCH_DATE2(2) tab-PURCH_DATE0(2) into
    tab-PURCH_DATE.
        SRNO = TAB-SRNO.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = tab-PARTN_NUMB
          IMPORTING
            OUTPUT = tab-PARTN_NUMB.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = tab-CUST_MAT22
          IMPORTING
            OUTPUT = tab-CUST_MAT22.
        IF TAB-SRNO = SRNO.
          ORDER_HEADER_IN-DOC_TYPE = TAB-DOC_TYPE.
          ORDER_HEADER_IN-SALES_ORG = TAB-SALES_ORG.
          ORDER_HEADER_IN-DISTR_CHAN = TAB-DISTR_CHAN.
         ORDER_HEADER_IN-REQ_DATE_H = TAB-REQ_DATE_H.
          ORDER_HEADER_IN-PURCH_DATE = TAB-PURCH_DATE.
          ORDER_HEADER_IN-PMNTTRMS = TAB-PMNTTRMS.
          ORDER_HEADER_IN-PURCH_NO_C = TAB-PURCH_NO_C.
          ORDER_HEADER_IN-DIVISION  = tab-DIVISION.
          ORDER_ITEMS_IN-ITM_NUMBER = tab-ITM_NUMBER.
          ORDER_ITEMS_IN-material = TAB-CUST_MAT22.
          ORDER_ITEMS_IN-PLANT      = TAB-PLANT.
          APPEND ORDER_ITEMS_IN.
          ORDER_PARTNERS-PARTN_ROLE = TAB-PARTN_ROLE.
          ORDER_PARTNERS-PARTN_NUMB = TAB-PARTN_NUMB.
          APPEND ORDER_PARTNERS.
          ORDER_SCHEDULES_IN-ITM_NUMBER = tab-ITM_NUMBER.
          ORDER_SCHEDULES_IN-REQ_QTY = tab-TARGET_QTY.
          append ORDER_SCHEDULES_IN.
        ENDIF.
        AT END OF SRNO.
          CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
            EXPORTING
               SALESDOCUMENTIN               =
                 ORDER_HEADER_IN               = ORDER_HEADER_IN
               ORDER_HEADER_INX              =
               SENDER                        =
               BINARY_RELATIONSHIPTYPE       =
               INT_NUMBER_ASSIGNMENT         =
               BEHAVE_WHEN_ERROR             =
               LOGIC_SWITCH                  =
               TESTRUN                       =
               CONVERT                       = ' '
           IMPORTING
             SALESDOCUMENT                 = SALESDOCUMENT
            TABLES
             RETURN                        = RETURN
                 ORDER_ITEMS_IN                = ORDER_ITEMS_IN
               ORDER_ITEMS_INX               =
                 ORDER_PARTNERS                = ORDER_PARTNERS
                 ORDER_SCHEDULES_IN            = ORDER_SCHEDULES_IN
               ORDER_SCHEDULES_INX           =
               ORDER_CONDITIONS_IN           =
               ORDER_CONDITIONS_INX          =
               ORDER_CFGS_REF                =
               ORDER_CFGS_INST               =
               ORDER_CFGS_PART_OF            =
               ORDER_CFGS_VALUE              =
               ORDER_CFGS_BLOB               =
               ORDER_CFGS_VK                 =
               ORDER_CFGS_REFINST            =
               ORDER_CCARD                   =
               ORDER_TEXT                    =
             ORDER_KEYS                    = ORDER_KEYS
               EXTENSIONIN                   =
               PARTNERADDRESSES              =
          IF SALESDOCUMENT <> SPACE.
            commit work.
            ADD 1 TO gd_update.
            it_success-SALESDOCUMENT = SALESDOCUMENT.
            append it_success.
            CLEAR :SALESDOCUMENT,ORDER_HEADER_IN.
            REFRESH : RETURN,ORDER_ITEMS_IN,ORDER_PARTNERS.
          ELSE.
            loop at return.
              it_error-SRNO = tab-SRNO.
              it_error-err_msg = return-MESSAGE .
              Append it_error.
            ENDLOOP.
            CLEAR :SALESDOCUMENT,ORDER_HEADER_IN.
            REFRESH : RETURN,ORDER_ITEMS_IN,ORDER_PARTNERS.
          ENDIF.
        endat.
      endloop.
      DESCRIBE TABLE it_success LINES gd_lines.
      IF gd_lines GT 0.
        Display result report column headings
        PERFORM display_column_headings.
        Display result report
        PERFORM DISPLAY_SUCESS.
      ENDIF.
    IF SUCESS FAILS Display Error Report
      DESCRIBE TABLE it_error LINES gd_lines.
      IF gd_lines GT 0.
        PERFORM errorheadings.
        PERFORM errorreport.
      ENDIF.
    *&      Form  display_column_headings
          text
    FORM display_column_headings.
      WRITE:2 ' Success Report '(014) COLOR COL_POSITIVE.
      SKIP.
      WRITE:2 'The following records inserted
    successfully:'(013).
      WRITE:/ sy-uline(15).
      FORMAT COLOR COL_HEADING.
      WRITE:/      sy-vline,
               (10) 'Sales order'(004), sy-vline.
      WRITE:/ sy-uline(15).
    ENDFORM.                    "display_column_headings
    *Subroutine to display SUCESS REPORT
    FORM DISPLAY_SUCESS.
      FORMAT COLOR COL_NORMAL.
      LOOP AT it_success.
        WRITE:/      sy-vline,
            (10)  it_success-SALESDOCUMENT, sy-vline.
        CLEAR it_success.
      ENDLOOP.
      WRITE:/ sy-uline(15).
      REFRESH: it_success.
      FORMAT COLOR COL_BACKGROUND.
    ENDFORM.                               "
    DISPLAY_REPORT
    *&      Form  errorreport
          text
    FORM errorreport.
      LOOP AT it_error.
        WRITE:/      sy-vline,
                (10) it_error-SRNO, sy-vline,
                 (40) it_error-err_msg, sy-vline.
      ENDLOOP.
      WRITE:/ sy-uline(104).
      REFRESH: it_error.
    endform.                    "errorreport
    *&      Form  ERRORHEADINGS
          text
    FORM ERRORHEADINGS.
      SKIP.
      WRITE:2 ' Error Report '(007) COLOR COL_NEGATIVE.
      SKIP.
      WRITE:2 'The following records failed during
    update:'(008).
      WRITE:/ sy-uline(104).
      FORMAT COLOR COL_HEADING.
      WRITE:/      sy-vline,
              (10) 'ERROR.'(009), sy-vline.
      WRITE:/ sy-uline(104).
      FORMAT COLOR COL_NORMAL.
    ENDFORM.                    "ERRORHEADINGS
    **&      Form  value_help
          text
    -->  p1        text
    <--  p2        text
    FORM value_help .
      CALL FUNCTION 'DSVAS_DOC_WS_FILENAME_GET_50'
        EXPORTING
          DEF_FILENAME     = ' '
          DEF_PATH         = ' '
          MASK             = ',.,..'
          MODE             = 'O'
          TITLE            = ' '
        IMPORTING
          FILENAME         = p_infile
        EXCEPTIONS
          INV_WINSYS       = 1
          NO_BATCH         = 2
          SELECTION_CANCEL = 3
          SELECTION_ERROR  = 4
          OTHERS           = 5.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    endform.                    "value_help
    Regards,
    Amit.

  • Sorting Invoice line items after they've been summed

    Hi,
    I'm working on a template for the out-of-box invoice using the XML it generates. The body of the document contains the line items, and I've successfully been able to print and sum (net amount and tax) these line items by Item Description and Unit Price using the following code:
    <?for-each@section:G_INVOICE?>
    <?for-each-group:G_LINE_TOTAL;./LIST_G_LINES/G_LINES/LINE_ITEM_DESCRIPTION[../LINE_TYPE='LINE']?>
    <?for-each-group:current-group();./LIST_G_LINES/G_LINES/LINE_UNIT_SELLING_PRICE[../LINE_TYPE='LINE']?>
    <?./LIST_G_LINES/G_LINES/LINE_ITEM_DESCRIPTION[../LINE_TYPE='LINE']?>
    <?sum(current-group()/./LIST_G_LINES/G_LINES/LINE_QTY_INVOICED[../LINE_TYPE='LINE'])?>
    <?./LIST_G_LINES/G_LINES/LINE_UNIT_SELLING_PRICE[../LINE_TYPE='LINE']?>
    <?sum(current-group()/./LIST_G_LINES/G_LINES/LINE_ITEM_AMOUNT[../LINE_TYPE='LINE'])?>
    <?sum(current-group()/./LIST_G_LINES/G_LINES/LINE_EXTENDED_AMOUNT[../LINE_TYPE='TAX'])?>
    What I need to do now is also SORT the summed line items by Item Description and Unit Price, but everything I've tried is giving me errors.
    One thing I've tried is adding the SORT command to the element that is printing the Item Description as in the following:
    <?sort:./LIST_G_LINES/G_LINES/LINE_ITEM_DESCRIPTION[../LINE_TYPE='LINE'];'ascending';data-type='text'?>
    I've also tried adding a separate field to do the sorting, but I'm getting different errors then.
    Thanks in advance for any suggestions.

    Thanks! This helped to some extent.
    Adding the sort for the LINE_ITEM_DESCRIPTION after the for-each-group for it worked to sort the lines by item description, but when I added the sort command for the LINE_UNIT_SELLING_PRICE within its for-each-group, I get the following error:
    FOProcessor setLocale: en-us
    java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(XSLT10gR1.java:593)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:390)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:208)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:161)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1019)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:972)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:211)
         at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1577)
         at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:952)
         at RTF2PDF.runRTFto(RTF2PDF.java:626)
         at RTF2PDF.runXDO(RTF2PDF.java:460)
         at RTF2PDF.main(RTF2PDF.java:251)
    Caused by: java.util.EmptyStackException
         at java.util.Stack.peek(Unknown Source)
         at java.util.Stack.pop(Unknown Source)
         at oracle.xdo.parser.v2.XSLTContext.popCurrentGroupingKey(XSLTContext.java:905)
         at oracle.xdo.parser.v2.XSLForEachGroup.processGroups(XSLForEachGroup.java:468)
         at oracle.xdo.parser.v2.XSLForEachGroup.process01(XSLForEachGroup.java:282)
         at oracle.xdo.parser.v2.XSLForEachGroup.process(XSLForEachGroup.java:210)
         at oracle.xdo.parser.v2.XSLForEachGroup.processAction(XSLForEachGroup.java:94)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLForEachGroup.processGroups(XSLForEachGroup.java:465)
         at oracle.xdo.parser.v2.XSLForEachGroup.process01(XSLForEachGroup.java:282)
         at oracle.xdo.parser.v2.XSLForEachGroup.process(XSLForEachGroup.java:210)
         at oracle.xdo.parser.v2.XSLForEachGroup.processAction(XSLForEachGroup.java:94)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLForEach.processAction(XSLForEach.java:142)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLResultElement.processAction(XSLResultElement.java:180)
         at oracle.xdo.parser.v2.XSLNode.processChildren(XSLNode.java:417)
         at oracle.xdo.parser.v2.XSLTemplate.processAction(XSLTemplate.java:191)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:508)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:485)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:264)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:150)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:187)
         ... 16 more
    I would appreciate to know what is wrong with this and, also, how to interpret these errors.....is there any sort of error code manual?

  • Problem in printing multiple line items

    Hi,
       i designed a SAPSCRIPT FORM.When i execute the t-code MB01 by giving PO which has multiple line items ,  output type is invisible.
    But when i iexecute the t-code MB01 by giving PO which has single item , output type is visible and form is printing.
    Do i need to copy the print program and make changes in there or if i change elements in the form will that helps in printing multiple line items.
    thanks.

    HI,
    wat i understand is u r trying to loop at a variable window .but tht is not suggestable.
    write a loop in program lines. read the values in to different variables and the try printing them as text elements that will solve the problem.
    or else in other way use a template and that can also solve the problem.

  • Problem with sales order line items

    hey All,
    I wrote a simple test program this morning Using DI API that creates and updates orders, and I found some weird behaviour:
    1. Once an order is created, if a line item is deleted off the order in B1 - the updates work fine.
    2. If an item is added to the end of the order, the updates work fine.
    3. If an item is added in the middle of the existing line items, the next update does weird things - it swaps prices and item keys and screws up the order total.
    4. If an item code is changed to an existing item (such as changing the AddModel the actual item code), the update does weird thing, same as #3.
    Has anyone experienced issues such as this? Or has anyone successfully completed an application like this that works properly?

    Ok can anyone from SAP comment on this please? I have some more details if you want to duplicate this.
    My simple program just creates a sales order from DI API. Then you complete step 2, 3, 4 as listed below using a Business One Client.
    I then go back to my program and do some simple updates to the sales order through DI API using the SetCurrentLine method and looping over the Lines object count. Once I call the update method and go back into B1 to look at the order the DI API has updated the wrong items.
    Anyone have any ideas or run into a similiar problem? We are desperate here for a fix.
    Steps to duplicate
    1. Create B1 sales order using DI API with 4 line items for example
    2. In B1, delete a line item in the middle of the order
    3. Change the first any item Code to a different item
    4. Save the order in B1.
    6. Run a sales order update from DI API.
    7. Recall the order in B1 - the totals will be all jacked up and the prices will no longer match the items

  • Problem while inserting extra line item in XVBAP

    Hi Experts,
    I have to add extra line item in the Sale order through user exit.
    So i added new line item in the internal table XVBAK of the subroutine USEREXIT_SAVE_DOCUMENT_PREPARE (MV45AFZZ). Its working fine with the sales order. But when I create delivery of the same new iserted line item is not going to the delivery.
    Please give me solution...
    Thanks
    Sameer

    Hi Sameer,
    i think, you have added the line in XVBAP - not in XVBAK.
    And what's about VBEP - without an entry in VBEP, there will be no delivery note. There are also several indexes for the delivery.
    I hav'n dared to put an extra Line into the oder while Save_prepare.
    Perhaps try the bapi for order changing.
    You can get the new order-number while userexit Save. Save the need of change in an extra teble and change is via bapi with a background - job.
    Hans

  • BDC- problem in uploading more line items

    Hello friends,
    I am using BDC to upload data for TXN ME31L.
    At item level I am able to upload only 15 records. After that it gives error. While doing recording i have entered items only for two material  So can anyone help me?
    What i think is after 15 entries, i need to scroll up and then only i need to enter.
    I know that by putting OKCODE 'P' or 'P+' after entering each line item it'll search the next blank line available in table control and insert the record there. But I am still unable to get the required output.
    So can anyone give me a sample code describing how to use P++ or P. Or is there any way-around to do so without using P+ or P+ ????
    if there is then kindly assist with the same.
    thanks,
    Saurabh.

    Hi,
    Please note that no of items will very depending on the screen resolution. Hence the safest would be to follow the procedure:-
    1) Key in Item Details of the first Item i.e. Say Item 10, then key in 10 against the field 'Item' at the bottom of the screen. Then key in details of the Item 20 on the second line of the screen, once your are thru with it key in 20 against the field 'Item' at the bottom of the screen so that item 20 will be positioned at the top of the screen ( Item 10 will be scrolled up, thus paving the way for an addition record )
    e.g If you have got 5 records to be keyed in. Then after keying in each record always key in the same item no in the field 'Item' at the bottom of the screen. Continue this process till you are thru with all the items & finally press 'SAVE'.
    I hope this helps,
    Regards
    Raju Chitale

  • IDOC to JDBC, problem with the multiple line items structure and mapping

    Hi,
    I have a scenario where the ORDERS data need to update the SQL table. for the idoc which consists one line item its ok but for multiple line item its just updating one line item. In the destination side we have only one table for purchase order which consists of lineitem as a field.(no different tables for Header data and Line item data)
    Can anyone suggest me how to create a structure for target side and how to map them.
    Regards,
    CJ

    Hi Rajan,
    The table structure is
    [PO_DATE]
          ,[VENDOR_NO]      ,[PAYMENT_TERM]      ,[MATERIAL_CODE]      ,ORDERED_QTY]      ,RECEIVED_QTY]                                 
          ,[UOM]       ,[RATE]       ,[CURRENCY]       ,[PO_EXCRATE]       ,[TAX_CODE]       ,[BASE_VALUE]       ,[TAX_VALUE]
          ,[TOTAL_VALUE]       ,[ADVANCE_PAYAMT]       ,[TOTAL_QTY]        ,[SNO]       ,[POLINEITEM]
    Datatype structure:
    PO_XI_MT_ORDERS05 1-1
    STATEMENT   1-UNBOUN
      TABLENAME 1-1
        ACTION   optional
        TABLE    1-1
        ACCESS  1-1
           PO_NO   0-1
           PO_DATE 0-1
    Correct me if im wrong.
    Regards,
    CJ
    Edited by: kuncjy on May 5, 2011 11:32 AM

  • Problem Related to PR Line Items

    Hi,
    I want tht user won't be able to add more thn 250 line items. so I want tht whn user tries to do so PR will raise an error message . So Plz Tell Me How Can I Do tht.

    Hi
    You need to take help form your technical person to implement the BADI.
    In general to implement BADI you need to create the Implementation for the bADI in transaction SE19.
    You can view the details of the BADI in SE18.
    Once you create the implementation, write the logic in required method & activate the implementation.
    Regards
    Prasad

  • Problem accessing RFx Response Line Item - Item Specification Group

    Hi There,
    How does one access the BUYER_SPEC_GROUP collection on the Rfx Line Item Response (ID 772) object?  I've read other posts where people are having difficulty but I wasn't clear on their approach.  I think I'm accessing the BUYER_SPEC_GROUP collection correctly, and in fact I can see the correct size(); however, when I iterate over the collection I get a null object reference. 
    I appreciate any help - I've been stumped for days
    My code is as follows (output is documented as comments), and I'm triggering on the RFX Response Save:
    displayName = doc.getDisplayName();
    log.setLogMessage("***** display name: " + displayName);
    Logger.info(log); 
    // correctly returns the RFX Response display name
    // get line item collection
    lineItemCollectionMetaData = doc.getCollectionMetadata("COLLN_LINEITEM");
    log.setLogMessage("***** lineItemCollectionMetaData : " + lineItemCollectionMetaData );
    Logger.info(log);
    // returns com.sap.odp.api.ibean.common.AbsIBean$ IBeanCollectionMd@68f2f4c3
    lineItemCollectionName = lineItemCollectionMetaData.getCollectionLogicalName();
    log.setLogMessage("***** line item collection name: " + lineItemCollectionName);
    Logger.info(log);
    // returns COLLN_LINEITEM
    lineItemCollectionValue = lineItemCollectionMetaData.get(doc);
    log.setLogMessage("***** line item collection size: " + lineItemCollectionValue.size());
    Logger.info(log);
    // correctly returns the size (I've tested with single and multiple line items)
    try{
         log.setLogMessage("***** get(doc) returns " + lineItemCollectionMetaData.get(doc));
         Logger.info(log);
            // returns com.sap.odp.doc.iapi.IapiLocator$@2f81a09d
         LIIterator = lineItemCollectionMetaData.get(doc).iterator();
         log.setLogMessage("***** LIIterator  returns " + LIIterator );
         Logger.info(log);
            // returns com.sap.odp.api.ibean.common.AbsCollection$BeanIterator@6757bbc8
         while(LIIterator.hasNext()){
              LICollectionBean = (Object) LIIterator.next();
              if(null != LICollectionBean){
                            // never makes it here
                   log.setLogMessage("***** LI Collection Bean:" + LICollectionBean);
                   Logger.info(log);
              else     {
                            // always returns the following:
                   log.setLogMessage("***** LI Collection Bean is NULL");
                   Logger.info(log);
    catch (Exception e) {
         log.setLogMessage("***** ERROR " + e);
         Logger.info(log);
    Edited by: skaura on Feb 2, 2012 4:51 PM
    Edited by: skaura on Feb 2, 2012 4:53 PM

    HI implement this note and see since this note correction may not available in sp04.
    SAPKIBKV06 ..
    Muthu

  • Problem related To deleted line item in po?

    Hi All,
    I want to know that if a line item of PO is deleted then which field gets updated for a deleted po and in which table?

    Hi
    In your dev/sand box client please create a sample PO and delete it later and save it. remember the number.
    Do you want to kow how to find out and view the details of deleted PO? then use Txn SE11  table EKPO press the Display field. you will get the Dictionery : Display table
    Click the Contents (ctrlshiftF10) button youewill have you will find the selection screen for the table.
    Now in the selection screen the top fiel will be Purchasing doc. , entre the deleted po number here and Execute(F8) you will b able to view the deleted PO inside.
    Now leave the field empty and enter the plant field below (optional), Enter the deletion Ind field Field value L and execute , you will find all the deleted POs .
    Table - EKPO, Field - LOKEZ
    Best Regards

  • Problem while updating PO line item

    Hi,
    I am using ME_CONFIRMATION_UPDATE to update EKES table for mass PO confirmation and facing a problem . When we update it using the above FM used in our program after confirmation we are getting 2 records in transaction MD04 one for Shipping notification and other for PO item but when we confirm a PO manually
    then the PO item record gets replaced with shipping notification record.
    Thanks in advanced.

    Hi
    This is because the quantity reduced (RP) (field DABMG) in schedule line. You should update the field DABMG in EKET with quantity from your confirmation.
    Regards
    Dean Q.

  • Problem with Multi line items in Order

    When a customer sends an order, generally the line items will be maintained individually.But here the problem is customer wants all kg deposits under separate item u2018AAAu2019.
    Example:
    Item Code     Quantity     Item Price        Net Price Net Amount
    abc     2 kgs     $15/kg        $15/kg      $30.0
    xyz     3 kgs     $10/kg        $10/kg      $30.0
    AAA     5 kgs     $15/kg        $15/kg      $75.0
    There will be no item in SAP with code u2018AAAu2019, so before placing the order in SAP, someone has to distribute the kg deposits in the ratio of quantity to all items with kgs. Also when we send back the invoice, take out all kg deposits from different items , add up total and put it under new item u2018AAAu2019 and send it.
    Can you suggest how we can resolve this problem ?

    create a new program in which
    --> get all the line items into table
    --> sort all line items
    --> loop at itab and put sum of all similier line items in anoter itab with priscribed name
    --> finally use call transaction va03 or some thing by passing new internal table
    shiva

  • Line Item Problem in  while  Proforma Invoicing in case of STO

    Hi All,
    The problem is related to Line Item Quantity in Proforma Invoice which is explained with an example -
    When we are doing Outbound Delivery for STO ( Stock Transfer Order ) we have the batch-split function where 2 line generates for a single line item material A in which in the first line no delivery quantity and value gets reflected and in the second line for the same material the delivery quantity gets reflected with batches. Then we save the order and done PGI. After that while doing the proforma invoice there also again the 2 lines appear for the single material A where the first line doesn't contain invoice quantity and value and show as 0pcs.In the second line for the same material it shows the invoice quantity with value. I want to remove this first line for the  same line item from proforma invoice and want the system to generate only one line for the line item containing the invoice quantity.
    Point to be noted that this thing doesn't happen for normal sales cycle done through Sales Order.
    I have also checked with the Item Category NLN where i have tried the Billing relevance N - Pro Forma - no zero quantities (including main batch items) and L - Pro Forma - no zero quantities. Still the same problem is arising.
    What is the problem here and how can it be solved?
    Looking forward to some valuable suggestions
    Thanks & Regards
    Priyanka Mitra

    check for your batch item cateogry,,, maintain the batch item cateogry setting same as it is ther in case of normal sale cycle. or what you can do ,,,copy your batch item cateogry and create a new batch item cateogry for your STO delivery .
    i did it and it is working fine for me. please check the batch item cateogry and matain it the same way.
    cheers

Maybe you are looking for

  • Crystal Report Printing Error

    Hi, All When I run rpt file from SBO, it always promts me to enter SQL username and password, even though I am 100% sure I entered them correctly. Anybody can tell me what's wrong. the client OS is XP

  • Lan and WLan does not work on Satellite L40-18W

    Hi all I have TOSHIBA Satellite L40-18W and my problem 1- wireless not work & wired lan does not work. I have download driver and every thing is ok but it does not work ( when i search by wireless i do not find any network. My router is working fine)

  • Going full screen in Adobe Reader 7

    I have happily used Acroread 5 under SuSE 9.2 on my desktop. Now I moved a latex-generated PDF presentation of mine on a laptop with SuSE 10.2 and Adobe Reader 7, and I've noted what it looks like a non-conformance to the X11 standards. On my old sys

  • Development System Backup - Best Practice / Policy for offsite backups

    Hi, I have not found any recommendations from SAP on best practices/recommendations on backing up Development systems offsite and so would appreciate some input on what policies other companies have for backing up Development systems. We continuously

  • While i send the delivery date to BAPI for PO create,it still going for ATP

    Hi Friends, while creating PO through BAPI I am sending delivery date to "BAPI_PO_CREATE1" in the schedule lines ,but still it is picking the delivery dates from the ATP. I want my delivery dates to be populated in the PO rather than the ATP. Please