Chinaunix首页 | 论坛 | 博客
  • 博客访问: 235135
  • 博文数量: 90
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-04 15:21
文章分类

全部博文(90)

文章存档

2010年(7)

2009年(83)

我的朋友

分类:

2009-03-30 17:13:03

***********************************************************************************FORM F_WH_ALV_GRID_DISPLAY  USING FP_I_FINAL TYPE TY_T_FINAL.
  DATA: L_WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
        L_I_EVENTS  TYPE SLIS_T_EVENT,
        l_wa_lips   TYPE ty_lips,
        l_wa_print  TYPE slis_print_alv.  "print  control
  CONSTANTS: L_C_A  TYPE CHAR1 VALUE 'A',
             L_C_X  TYPE c VALUE 'X',
             l_c_subtot(10) TYPE c VALUE 'Sub_total',
             l_c_tot(10)    TYPE c VALUE 'Total'.
* internal table for ALV display
TYPES: BEGIN OF l_ty_out,
       matnr1 TYPE MATNR,  "Material Number
       maktx TYPE MAKTX,   "Material Description
       lfimg TYPE LFIMG,   "Material Quantity
       vrkme TYPE VRKME,   "Sales Unit
       btgew TYPE GSGEW,   "Weight
       END OF l_ty_out,
       l_ty_t_out type STANDARD TABLE OF l_ty_out,
       BEGIN OF l_ty_vbeln,
         vbeln TYPE vbeln,
       END OF l_ty_vbeln,
       l_ty_t_vbeln type STANDARD TABLE OF l_ty_vbeln.
*For Subtotal And Total for each Material Quantity and Weight
TYPES: BEGIN OF ty_TOTAL,
       index TYPE i,
       qty   TYPE  lfimg,
       weight TYPE GSGEW,
       END OF ty_TOTAL,
       ty_t_tot TYPE STANDARD TABLE OF ty_TOTAL.
DATA:  l_i_final   TYPE TY_T_FINAL,
       l_wa_final  TYPE TY_FINAL,
       l_i_out0    TYPE l_ty_t_out, "Media table between i_final & l_i_out
       l_wa_out0   TYPE l_ty_out,
       l_i_out     TYPE l_ty_t_out, "Final print table for Warehouse Team
       l_wa_out    TYPE l_ty_out,
       l_i_vbeln   TYPE l_ty_t_vbeln,  "Store all Delivery Number
       l_wa_vbeln  TYPE l_ty_vbeln,
       l_v_tot_qty TYPE lfimg,
       l_v_tot_weight TYPE GSGEW,
       l_i_tot     TYPE ty_t_tot,
       l_wa_subtot TYPE ty_TOTAL.
DATA : l_v_repid TYPE REPID,
       l_v_index TYPE I,
       l_v_count TYPE I.
l_v_repid = sy-repid.
l_i_final = FP_I_FINAL.
CLEAR: v_vbeln,
       v_tot_qty,
       v_tot_weight.
REFRESH :l_i_vbeln,
         L_I_OUT0,
         l_i_out.

*fill l_WA_out0 from Final table
LOOP AT l_i_final INTO L_WA_FINAL.
*get Delivery Item Weight
  READ TABLE i_lips into l_wa_lips WITH  KEY vbeln = L_WA_FINAL-vbeln
                                             POSNR = L_WA_FINAL-POSNR
                                             matnr = L_WA_FINAL-matnr1.
  if sy-subrc = 0.
    l_WA_out0-btgew = l_wa_lips-brgew.
  ENDIF.
  l_wa_vbeln-vbeln = L_WA_FINAL-vbeln.
  APPEND l_wa_vbeln TO l_i_vbeln.
   l_WA_out0-matnr1 = l_WA_final-matnr1.
   l_WA_out0-maktx = l_WA_final-maktx.
   l_WA_out0-lfimg = l_WA_final-lfimg.
   l_WA_out0-vrkme = l_WA_final-vrkme.
  APPEND l_WA_out0 TO L_I_OUT0.
  CLEAR L_WA_FINAL.
ENDLOOP.

*Refine Delivery number & concatenate all
  IF l_i_vbeln IS NOT INITIAL.
    SORT l_i_vbeln BY VBELN DESCENDING.
  ENDIF.
  DELETE ADJACENT DUPLICATES FROM l_i_vbeln COMPARING vbeln.
  LOOP AT l_i_vbeln into l_wa_vbeln.
*Bind all Delivery Numbers  into one field seperated by ','
     CONCATENATE l_wa_vbeln-vbeln v_vbeln  into v_vbeln SEPARATED BY ','.
     CLEAR l_wa_vbeln.
  ENDLOOP.
IF l_i_out0[] is NOT INITIAL.
 sort l_i_out0 by matnr1.
*move related fields data from l_i_out0 fill table l_i_out
  LOOP AT l_i_out0 INTO l_wa_out0.
    COLLECT l_wa_out0 into l_i_out.
  CLEAR l_wa_out0.
  ENDLOOP.
ENDIF.       "IF l_i_out0[] is NOT INITIAL
*Build Catalog for ALV output
  PERFORM f_create_catalog.
* Prepare the layout settings for Screen display
  PERFORM F_REPORT_LAYOUT CHANGING L_WA_LAYOUT.
*Get events For the ALV list
  PERFORM  f_events_build CHANGING L_I_EVENTS.
*set print parameter for controling print
  perform F_WH_PRINT_CONT changing L_WA_PRINT.
IF NOT L_I_OUT[] IS INITIAL.
 SORT L_I_OUT[] BY vrkme matnr1.
 READ TABLE L_I_OUT INTO l_wa_out0 INDEX 1.
 IF sy-subrc = 0.
   CLEAR: l_v_tot_qty,
          l_v_tot_weight.
   CLEAR l_v_index.
*Subtotal Quantity and Weight for Material with same Sales Unit
  LOOP AT L_I_OUT INTO l_wa_out .
    l_v_index = sy-tabix + 1.
    READ TABLE L_I_OUT into l_wa_out0 INDEX l_v_index.
    IF sy-subrc = 0.
       if l_wa_out0-vrkme eq l_wa_out-vrkme.
         l_v_tot_qty = l_v_tot_qty + l_wa_out-lfimg.
         l_v_tot_weight = l_v_tot_weight + l_wa_out-btgew.
       ELSE.
         l_v_tot_qty = l_v_tot_qty + l_wa_out-lfimg.
         l_v_tot_weight = l_v_tot_weight + l_wa_out-btgew.
         l_wa_subtot-index = l_v_index.
         l_wa_subtot-qty = l_v_tot_qty.
         l_wa_subtot-weight = l_v_tot_weight.
         APPEND l_wa_subtot to l_i_tot.
         CLEAR: l_v_tot_qty,
                l_v_tot_weight.
       ENDIF.
    ELSE.
         l_v_tot_qty = l_v_tot_qty + l_wa_out-lfimg.
         l_v_tot_weight = l_v_tot_weight + l_wa_out-btgew.
         l_wa_subtot-index = l_v_index.
         l_wa_subtot-qty = l_v_tot_qty.
         l_wa_subtot-weight = l_v_tot_weight.
         APPEND l_wa_subtot to l_i_tot.
         EXIT.
    ENDIF.
   CLEAR: l_wa_out,
          l_wa_out0.
   ENDLOOP.
 ENDIF.    "IF sy-subrc = 0.
*populate Subtotal and Total for the
CLEAR : v_tot_qty,
        v_tot_weight,
        l_v_count.
 LOOP at l_i_tot INTO l_wa_subtot.
   CLEAR l_wa_out.
   l_wa_subtot-index = l_wa_subtot-index + l_v_count.
   l_wa_out-matnr1 = l_c_subtot.
   l_wa_out-lfimg = l_wa_subtot-qty.
   l_wa_out-btgew = l_wa_subtot-weight.
   v_tot_qty = v_tot_qty + l_wa_subtot-qty.
   v_tot_weight = v_tot_weight + l_wa_subtot-weight.
   INSERT l_wa_out INTO L_I_OUT INDEX l_wa_subtot-index.
   l_v_count = l_v_count + 1.
   CLEAR: l_wa_out,
          l_wa_subtot.
 ENDLOOP.
l_wa_out-matnr1 = l_c_tot.
l_wa_out-lfimg = v_tot_qty.
l_wa_out-btgew = v_tot_weight.
APPEND l_wa_out to L_I_OUT.
*Display the data in ALV Mode
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
     I_CALLBACK_PROGRAM                = l_v_repid
     I_CALLBACK_PF_STATUS_SET          = 'F_SET_STATUS'
     I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'
     I_CALLBACK_TOP_OF_PAGE            = 'F_WH_TOP_OF_PAGE'
     IS_LAYOUT                         = L_WA_LAYOUT
     IT_FIELDCAT                       = I_CAT
     IT_EVENTS                         = L_I_EVENTS[]
     I_SAVE                            = L_C_A
     is_print                          = l_wa_print
    TABLES
      T_OUTTAB                          = L_I_OUT
         .
    IF SY-SUBRC <> 0.
      MESSAGE I008.
      LEAVE LIST-PROCESSING.
    ENDIF.
ELSE.
   MESSAGE I080.
ENDIF.                "IF NOT L_I_OUT[] IS INITIAL
ENDFORM.                    " F_WH_ALV_GRID_DISPLAY
 
*&---------------------------------------------------------------------*
*&      Form  f_create_catalog
*&---------------------------------------------------------------------*
*       Build catalog for WareHouse Team AlV output
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM f_create_catalog.
v_rcount = 1.                 " Record count in field catalogue table
REFRESH I_CAT.
*   Insert records in field catalogue table
    PERFORM f_insert_row USING: C_MATNR1 TEXT-066,
                                C_MAKTX2 TEXT-067,
                                C_LFIMG2 TEXT-068,
                                C_VRKME1 TEXT-069,
                                C_BTWEG  TEXT-070.
ENDFORM.                    " f_create_catalog
*}   INSERT
*{   INSERT         D13K906695                                        3
*&---------------------------------------------------------------------*
*&      Form  f_insert_row
*&---------------------------------------------------------------------*
*       Insert records in field catalogue table
*----------------------------------------------------------------------*
*      -->fp_name  text
*      -->fp_desc  text
*----------------------------------------------------------------------*
FORM f_insert_row  USING    fp_name TYPE slis_fieldname
                            fp_desc TYPE reptext.
  DATA: l_wa_fieldcat TYPE slis_fieldcat_alv. " Work area for i_fieldcat
  CONSTANTS : l_c_tabnm TYPE slis_tabname VALUE 'ZLCN_COM_STR_TPL'.
  CLEAR L_wa_fieldcat.
  l_wa_fieldcat-col_pos   = v_rcount.       " position of the column
  l_wa_fieldcat-fieldname = fp_name.        " fieldname
  l_wa_fieldcat-tabname   = l_c_tabnm.      " tabname
  l_wa_fieldcat-reptext_ddic = fp_desc.     " heading
*quantity and unit field
  if fp_name cs c_lfimg2.
    l_wa_fieldcat-quantity = c_lfimg2.
    l_wa_fieldcat-qfieldname = C_VRKME1.   " fieldname
    l_wa_fieldcat-qtabname   = l_c_tabnm.  " tabname
  endif.
  if fp_name cs C_VRKME1.
    l_wa_fieldcat-quantity = c_lfimg2.
    l_wa_fieldcat-qfieldname = C_VRKME1.   " fieldname
    l_wa_fieldcat-qtabname   = l_c_tabnm.  " tabname
  endif.
   IF fp_name = c_matnr1.
     l_wa_fieldcat-no_zero = c_x.
   ENDIF.
  APPEND l_wa_fieldcat TO I_CAT.
  v_rcount = v_rcount + 1.
ENDFORM.                    " f_insert_row
*&---------------------------------------------------------------------*
*&      Form  f_events_build
*&---------------------------------------------------------------------*
*       get End_of_list events for ALV output
*----------------------------------------------------------------------*
*      <--P_L_I_EVENTS  text
*----------------------------------------------------------------------*
FORM f_events_build  CHANGING fp_i_events TYPE SLIS_T_EVENT.
DATA: L_WA_EVENTS TYPE slis_alv_event.
REFRESH fp_i_events.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
 EXPORTING
   I_LIST_TYPE           = 0
 IMPORTING
   ET_EVENTS             = fp_i_events
          .
IF SY-SUBRC = 0.
  IF fp_i_events IS NOT INITIAL.
    READ TABLE fp_i_events WITH KEY name = 'END_OF_LIST'
         INTO L_WA_EVENTS.
    IF SY-SUBRC = 0.
      MOVE 'F_WH_END_OF_PAGE' TO L_WA_EVENTS-FORM.
      MODIFY fp_i_events FROM L_WA_EVENTS INDEX SY-TABIX TRANSPORTING FORM.
    ENDIF.
  ENDIF.
ENDIF.            "IF SY-SUBRC = 0.

Another way of creating Event Table:

FORM f_populate_eventtab CHANGING fp_i_events TYPE slis_t_event.
*----structure for events---*
  DATA: wa_struct_event TYPE slis_alv_event.

*  Populate top of page event in event table
  CLEAR wa_struct_event.
  wa_struct_event-name = slis_ev_top_of_page.
  wa_struct_event-form = c_top_of_page.
  APPEND wa_struct_event TO fp_i_events.

ENDFORM.                    " f_populate_eventtab


ENDFORM.                      " f_events_build
*&---------------------------------------------------------------------*
*&      Form  f_wh_top_of_page
*&---------------------------------------------------------------------*
*       Display the header data of the ALV list for Warehouse Team
*----------------------------------------------------------------------*
*      <--
*----------------------------------------------------------------------*
FORM f_wh_top_of_page.
DATA:   L_I_HEADER TYPE STANDARD TABLE OF SLIS_LISTHEADER,
        L_WA_HEADER TYPE SLIS_LISTHEADER,
        l_wa_final TYPE ty_final.
CONSTANTS L_C_S TYPE CHAR1 VALUE 'S'.    "For selection text

DATA: l_v_SERAG  TYPE name1,
      L_I_FINAL  TYPE ty_t_final.
**get Service agent and Validating Service Agent.
IF S_KUNNR2 IS NOT INITIAL.  "Service Agent is put
   IF S_VBELN IS not INITIAL.
     READ TABLE I_FINAL INTO  l_wa_FINAL INDEX 1.
          IF sy-subrc = 0.
            l_V_SERAG = l_wa_FINAL-name2.
          ENDIF.
   ELSE.
       l_i_final = I_FINAL.
       SORT l_i_final BY name2.
       DELETE ADJACENT DUPLICATES FROM l_i_final COMPARING name2.
       READ TABLE l_i_final TRANSPORTING NO FIELDS INDEX 2.
         IF sy-subrc = 0.
          MESSAGE s139 DISPLAY LIKE 'E'.
          SET SCREEN 0.
          LEAVE SCREEN.
         ENDIF.
       READ TABLE l_i_final WITH KEY name2 = '' TRANSPORTING NO FIELDS.
          IF sy-subrc = 0.
            MESSAGE s139 DISPLAY LIKE 'E'.
            SET SCREEN 0.
            LEAVE SCREEN.
          ELSE.
            READ TABLE I_FINAL INTO  l_wa_FINAL INDEX 1.
            IF sy-subrc = 0.
              l_V_SERAG = l_wa_FINAL-name2.
            ENDIF.
          ENDIF.
   ENDIF.     "IF S_VBELN IS NOT INITIAL.
ELSE.
     l_i_final = I_FINAL.
     DELETE ADJACENT DUPLICATES FROM l_i_final COMPARING name2.
     READ TABLE l_i_final TRANSPORTING NO FIELDS INDEX 2.
     IF sy-subrc = 0.
        MESSAGE s139 DISPLAY LIKE 'E'.
        SET SCREEN 0.
        LEAVE SCREEN.
     ELSE.
        READ TABLE l_i_final  into l_wa_final index 1.
        IF sy-subrc = 0 AND l_wa_final-name2 = ''.
          MESSAGE s139 DISPLAY LIKE 'E'.
          SET SCREEN 0.
          LEAVE SCREEN.
        ELSE.
          READ TABLE I_FINAL INTO  l_wa_FINAL INDEX 1.
          IF sy-subrc = 0.
            l_V_SERAG = l_wa_FINAL-name2.
          ENDIF.
        ENDIF.        "IF sy-subrc = 0 AND l_wa_final-name2 = ''.
     ENDIF.       "IF sy-subrc = 0.
ENDIF.         "if S_KUNNR2 IS NOT INITIAL.

  REFRESH L_I_HEADER.
  CLEAR L_WA_HEADER.
  L_WA_HEADER-TYP = L_C_S.
  L_WA_HEADER-KEY = TEXT-071.
  L_WA_HEADER-INFO = l_V_SERAG.              "Service Agent
  APPEND L_WA_HEADER TO L_I_HEADER.
  CLEAR L_WA_HEADER.
  L_WA_HEADER-TYP = L_C_S.
  L_WA_HEADER-KEY = TEXT-004.
  L_WA_HEADER-INFO = S_WADAT-LOW.            "Date From
  APPEND L_WA_HEADER TO L_I_HEADER.
  CLEAR L_WA_HEADER.
  L_WA_HEADER-TYP = L_C_S.
  L_WA_HEADER-KEY = TEXT-005.                "Date To
  L_WA_HEADER-INFO = S_WADAT-HIGH.
  APPEND L_WA_HEADER TO L_I_HEADER.
*call function to write the top comment
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = L_I_HEADER.
ENDFORM.                      " f_wh_top_of_page
*&---------------------------------------------------------------------*
*&      Form  f_wh_end_of_page
*&---------------------------------------------------------------------*
*       Display the footer data of the ALV list for Warehouse Team
*----------------------------------------------------------------------*
*      <--
*----------------------------------------------------------------------*
FORM f_wh_end_of_page.
DATA: L_I_HEADER TYPE STANDARD TABLE OF SLIS_LISTHEADER,"Top and Footer Comment
      L_WA_HEADER TYPE SLIS_LISTHEADER,
      l_v_slen TYPE I.
DATA : l_v_vbeln0    LIKE  v_vbeln,
       l_v_vbeln(60) TYPE C.
CONSTANTS: L_C_S TYPE CHAR1 VALUE 'S'.    "For selection text
  REFRESH L_I_HEADER.
  CLEAR L_WA_HEADER.

* Store v_vbeln in local
l_v_vbeln0 = V_VBELN.
*if lengh of v_vbeln is greater than 60,
*split it into shorter segments with 60 lengh
IF strlen( l_v_vbeln0 ) gt 60.
 CALL FUNCTION 'STRING_SPLIT_AT_POSITION'
    EXPORTING
      STRING                  = l_v_vbeln0
      POS                     = 60
   IMPORTING
     STRING1                 = l_v_vbeln
     STRING2                 = l_v_vbeln0
           .
  IF SY-SUBRC = 0.
    CLEAR L_WA_HEADER.
    L_WA_HEADER-TYP = L_C_S.
    L_WA_HEADER-KEY = TEXT-074.
    L_WA_HEADER-INFO = l_v_vbeln.            "Delivery Number
    APPEND L_WA_HEADER TO L_I_HEADER.
  ENDIF.
**Each line of HEADER-INFO can be 60 letters long at most
**this function to split v_vbeln and diaplay them
  while strlen( l_v_vbeln0 ) gt 60.
    CALL FUNCTION 'STRING_SPLIT_AT_POSITION'
    EXPORTING
      STRING                  = l_v_vbeln0
      POS                     = 60
   IMPORTING
     STRING1                 = l_v_vbeln
     STRING2                 = l_v_vbeln0
          .
  IF SY-SUBRC = 0.
    CLEAR L_WA_HEADER.
    L_WA_HEADER-TYP = L_C_S.
    L_WA_HEADER-INFO = l_v_vbeln.      "Delivery Number
    APPEND L_WA_HEADER TO L_I_HEADER.
  ENDIF.
 ENDWHILE.          " while strlen( l_v_vbeln0 ) gt 60
 if l_v_vbeln0 is NOT INITIAL.
  l_v_slen = strlen( l_v_vbeln0 ) - 1.
  l_v_vbeln = l_v_vbeln0(l_v_slen).
  CLEAR L_WA_HEADER.
   L_WA_HEADER-TYP = L_C_S.
   L_WA_HEADER-INFO = l_v_vbeln.      "Delivery Number
   APPEND L_WA_HEADER TO L_I_HEADER.
 ENDIF.                  "if l_v_vbeln0 is NOT INITIAL.
*if lengh of v_vbeln is less than or equal to 60,
*directly display it
ELSE.
  l_v_slen = strlen( l_v_vbeln0 ) - 1.
  l_v_vbeln = l_v_vbeln0(l_v_slen).
  CLEAR L_WA_HEADER.
  L_WA_HEADER-TYP = L_C_S.
  L_WA_HEADER-KEY = TEXT-074.
  L_WA_HEADER-INFO = l_v_vbeln.            "Delivery Number
  APPEND L_WA_HEADER TO L_I_HEADER.
ENDIF.                      "IF strlen( l_v_vbeln0 ) gt 60.
*call function to write the footer comment
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = L_I_HEADER.
ENDFORM.                         " f_wh_end_of_page

*&---------------------------------------------------------------------*
*&      Form  F_Check_SerAgt
*&---------------------------------------------------------------------*
*       Check if the selected Delivery number have another
*       Service Agent except the one from the Selection Screen
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM F_Check_SerAgt .
TYPES:BEGIN OF L_TY_VBPA,
         VBELN TYPE VBELN,
         KUNNR TYPE KUNNR,
       END OF L_TY_VBPA.
DATA: L_I_VBPA   TYPE STANDARD TABLE OF L_TY_VBPA,
      l_i_KUNNR2  LIKE S_KUNNR2.
CLEAR L_I_VBPA.
*limit the Service Agent to one only for Warehouse Team Usage.
   if ( S_KUNNR2-low is not initial )
     and ( S_KUNNR2-high is not initial )
     and ( s_kunnr2-low ne s_kunnr2-high ).
     MESSAGE e139.
   ELSE.
      READ TABLE S_KUNNR2 TRANSPORTING NO FIELDS INDEX 2.
      if sy-subrc = 0.
        MESSAGE e139.
      ELSE.
          IF S_VBELN IS NOT INITIAL.
*Check if the selected Delivery number have another
*Service Agent in DB
             SELECT VBELN KUNNR
             FROM VBPA
             INTO TABLE L_I_VBPA
             WHERE VBELN IN S_VBELN
             AND   PARVW EQ C_PZC.
*delete duplcates lines of group with combined Vbeln and Kunnr
            DELETE ADJACENT DUPLICATES FROM L_I_VBPA COMPARING vbeln kunnr.
*if one Vbeln have one Kunnr only, the following statement won't
*excute successfully
            DELETE ADJACENT DUPLICATES FROM L_I_VBPA COMPARING vbeln.
            IF sy-subrc = 0.
               MESSAGE e139.
            ELSE.
*               Service Agent shouldn't be empty
               READ TABLE L_I_VBPA WITH KEY kunnr = '' TRANSPORTING NO FIELDS.
               IF sy-subrc = 0.
                 MESSAGE e139.
               ENDIF.
           ENDIF.
          ENDIF.
      ENDIF.     " if sy-subrc = 0.
   ENDIF.     "  if ( S_KUNNR2-low is not initial )
ENDFORM.                    " F_Check_SerAgt
                                    4
*&---------------------------------------------------------------------*
*&      Form  F_WH_PRINT_CONT
*&---------------------------------------------------------------------*
*       control the print output for Warehouse usage
*----------------------------------------------------------------------*
*      <--P_L_WA_PRINT  text
*----------------------------------------------------------------------*
FORM F_WH_PRINT_CONT  CHANGING FP_WA_PRINT TYPE SLIS_PRINT_ALV.
FP_WA_PRINT-no_print_listinfos = c_x.
FP_WA_PRINT-no_new_page = c_x.
ENDFORM.                    " F_WH_PRINT_CONT
***********************************************************************************
阅读(1816) | 评论(0) | 转发(0) |
0

上一篇:Simple ALV List sample

下一篇:OO ALV Sample

给主人留下些什么吧!~~