• 2020.01.11 【ABAP随笔】获取标准报表数据(MB52)数据进行客制ALV


    获取标准报表数据(MB52)数据进行客制ALV

    之前有一个需求,客户使用的单位大多为采购单位,但是MB52中是物料主数据中的基本单位,所以需要对MB52进行处理。

    相比于增强来说,使用submit去获取MB52的数据,然后在自己的报表中再去展示更好一点,也更加灵活。这里不仅仅限于MB52还有任何其他ALV报表都可以使用这个方法来做到客制的目的。

    关键的代码是:

     1 DATA lw_mb52 TYPE ty_mb52.
     2   DATA lt_mb52 TYPE TABLE OF ty_mb52.
     3   DATA ls_mb52 TYPE REF TO data.
     4 
     5 “设置执行时不显示,只获取ALV数据
     6 cl_salv_bs_runtime_info=>set(
     7     display = abap_false
     8     metadata = abap_false
     9     data  = abap_true ).
    10 
    11   RANGES:lr_mtart FOR mara-mtart,
    12          lr_matkl FOR mara-matkl,
    13          lr_ekgrp FOR marc-ekgrp.
    14 
    15 “MB52的程序
    16   SUBMIT rm07mlbs
    17   WITH matnr IN s_matnr
    18   WITH werks IN s_werks
    19   WITH lgort IN s_lgort
    20   WITH charg IN s_charg
    21   WITH mtart IN lr_mtart
    22   WITH matkl IN lr_matkl
    23   WITH ekgrp IN lr_ekgrp
    24   WITH negativ = ''
    25   WITH pa_sond = ''
    26   WITH xmchb = 'X'
    27   WITH nozero = 'X'
    28   WITH novalues = ''
    29   WITH pa_hsq = ''
    30   WITH pa_flt = 'X'
    31   WITH p_vari = ''
    32   AND RETURN.
    33 
    34   TRY .“可以获取MB52
    35       cl_salv_bs_runtime_info=>get_data_ref(
    36         IMPORTING r_data = ls_mb52 ).
    37 
    38       ASSIGN ls_mb52->* TO <lt_mb52>.
    39 
    40     CATCH  cx_salv_bs_sc_runtime_info.
    41       MESSAGE '无法获取ALV数据'  TYPE  'E'.
    42   ENDTRY.
    43 
    44   cl_salv_bs_runtime_info=>clear_all( ).

    我们可以通过DEBUG看一下:

    <lt_mb52>为我们获取的内表数据,这个就是MB52非层次显示时候展示的数据

     

     

    这样就可以将MB52获取的数据转移到内表中,供自己写ALV展示出来

    通过MARM来获取物料的库存单位和采购单位

     1   IF  lt_mawk_tmp[] IS NOT INITIAL.
     2     SELECT a~matnr a~bstme b~umrez AS umrez1 b~umren AS umren1 m~ausme AS wausm c~umrez AS umrez2 c~umren AS umren2
     3      INTO TABLE lt_marm
     4      FROM mara AS a
     5      INNER JOIN marc AS m ON m~matnr = a~matnr
     6      LEFT OUTER JOIN marm AS b ON b~matnr = a~matnr AND b~meinh = a~bstme
     7      LEFT OUTER JOIN marm AS c ON c~matnr = m~matnr AND c~meinh = m~ausme
     8      FOR ALL ENTRIES IN lt_mawk_tmp[]
     9      WHERE a~matnr = lt_mawk_tmp-matnr
    10        AND m~werks = lt_mawk_tmp-werks .
    11   ENDIF.

    然后用基本单位数量 * 分母 / 分子来计算采购单位数量

    效果如下图所示:根据不同单位显示不同数量

     注意:

    因为MB52不输入任何条件直接执行时,会报警告

    若我们在自己的界面不加以限制输入,则执行之后会停留在MB52的选择界面

     

    所以我们加上输入限制,这个点需要注意一下。

    1   IF s_werks IS INITIAL AND s_matnr IS INITIAL AND s_lgort IS INITIAL AND s_charg IS INITIAL.
    2     MESSAGE s000(zmm) WITH '请输入任一条件' DISPLAY LIKE 'E'.
    3     RETURN.
    4   ENDIF.

    整体代码如下:

    创建好 STATUS就可以使用了

      1 *&---------------------------------------------------------------------*
      2 *& Report ZTEST_JXZHU_MB52
      3 *&---------------------------------------------------------------------*
      4 *&
      5 *&---------------------------------------------------------------------*
      6 REPORT ztest_jxzhu_mb52.
      7 
      8 TABLES:mard,mcha .
      9 
     10 "类型
     11 TYPES:BEGIN OF ty_data,
     12         light         TYPE icon_d,
     13         werks         TYPE marc-werks,
     14         lgort         TYPE mard-lgort,
     15         matnr         TYPE marc-matnr,
     16         maktx         TYPE makt-maktx,
     17         meins         TYPE mara-meins, "
     18         menge         TYPE mard-labst, "基本单位数量
     19         bstme         TYPE mara-bstme, "采购订单位
     20         bstmg         TYPE mseg-bstmg, "采购单位数量
     21         wausm         TYPE maw1-wausm, "发货单位
     22         lfimg         TYPE lips-lfimg,
     23         menge_quality TYPE mard-labst,
     24         bstmg_quality TYPE mseg-bstmg,
     25         lfimg_quality TYPE lips-lfimg,
     26         charg         TYPE mchb-charg,
     27         lifnr         TYPE mcha-lifnr,
     28         name1         TYPE lfa1-name1,
     29         hsdat         TYPE mcha-hsdat,
     30         mhdhb         TYPE mara-mhdhb, "总货架寿命--保质期
     31         mhdrz         TYPE mara-mhdrz, "剩余货架寿命
     32         vfdat         TYPE mcha-vfdat, "到期日
     33       END OF ty_data.
     34 
     35 TYPES:BEGIN OF ty_mb52,
     36         matnr TYPE mara-matnr,
     37         maktx TYPE makt-maktx,
     38         werks TYPE marc-werks,
     39         lgort TYPE mard-lgort,
     40         lvorm TYPE mard-lvorm,
     41         charg TYPE mchb-charg,
     42         meins TYPE mara-meins,
     43         labst TYPE mard-labst, "非限制使用的估价的库存
     44         umlme TYPE mard-umlme, "在运库存 (从一库存地到另一库存地)
     45         insme TYPE mard-insme, "在检库存
     46       END OF ty_mb52.
     47 
     48 DATA:gt_data TYPE TABLE OF ty_data.
     49 
     50 FIELD-SYMBOLS:<lt_mb52> TYPE ANY TABLE,
     51               <l_mb52>  TYPE any.
     52 
     53 
     54 "alv
     55 DATA:gt_fieldcat TYPE lvc_t_fcat, "定义列标题(属性信息)
     56      gs_layout   TYPE lvc_s_layo,
     57      gs_fieldcat TYPE lvc_s_fcat, "定义对象
     58 
     59      wa_repid    LIKE sy-repid, "当前程序
     60      gs_title    TYPE lvc_title.
     61 DATA : lv_jg TYPE vtbbewe-atage.
     62 DATA :lv_lqts TYPE c LENGTH 3.
     63 
     64 SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-t01.
     65 SELECT-OPTIONS:s_werks FOR mard-werks,
     66                s_matnr FOR mard-matnr,
     67                s_lgort FOR mard-lgort,
     68                s_charg FOR mcha-charg.
     69 SELECTION-SCREEN END OF BLOCK blk1.
     70 
     71 
     72 
     73 
     74 START-OF-SELECTION.
     75   "
     76   IF s_werks IS INITIAL AND s_matnr IS INITIAL AND s_lgort IS INITIAL AND s_charg IS INITIAL.
     77     MESSAGE s000(zmm) WITH '请输入任一条件' DISPLAY LIKE 'E'.
     78     RETURN.
     79   ENDIF.
     80 
     81   PERFORM start_of_selection.
     82 
     83 
     84 END-OF-SELECTION.
     85   PERFORM end_of_selection.
     86 
     87 *&---------------------------------------------------------------------*
     88 *& Form START_OF_SELECTION
     89 *&---------------------------------------------------------------------*
     90 *& text
     91 *&---------------------------------------------------------------------*
     92 *& -->  p1        text
     93 *& <--  p2        text
     94 *&---------------------------------------------------------------------*
     95 FORM start_of_selection .
     96   DATA lw_mb52 TYPE ty_mb52.
     97   DATA lt_mb52 TYPE TABLE OF ty_mb52.
     98   DATA ls_mb52 TYPE REF TO data.
     99 
    100   DATA:BEGIN OF lt_mara OCCURS 0,
    101          matnr TYPE mara-matnr,
    102          mhdhb TYPE mara-mhdhb, "总货架寿命
    103          mhdrz TYPE mara-mhdrz,  "剩余货架寿命
    104        END OF lt_mara.
    105   DATA lt_mara_tmp LIKE TABLE OF lt_mara WITH HEADER LINE.
    106 
    107   DATA:BEGIN OF lt_mcha OCCURS 0,
    108          matnr TYPE mcha-matnr,
    109          werks TYPE mcha-werks,
    110          charg TYPE mcha-charg,
    111          lifnr TYPE mcha-lifnr,
    112          name1 TYPE lfa1-name1,
    113          hsdat TYPE mcha-hsdat,
    114          vfdat TYPE mcha-vfdat,
    115        END OF lt_mcha.
    116   DATA lt_mcha_tmp LIKE TABLE OF lt_mcha WITH HEADER LINE.
    117 
    118   DATA :BEGIN OF lt_mawk OCCURS 0,
    119           werks TYPE mcha-werks,
    120           matnr TYPE mcha-matnr,
    121         END OF lt_mawk.
    122   DATA lt_mawk_tmp LIKE TABLE OF lt_mcha WITH HEADER LINE.
    123 
    124   DATA:BEGIN OF lt_marm OCCURS 0,
    125          matnr  TYPE marm-matnr,
    126          bstme  TYPE mara-bstme,
    127          umrez1 TYPE marm-umrez,
    128          umren1 TYPE marm-umren,
    129          wausm  TYPE maw1-wausm,
    130          umrez2 TYPE marm-umrez,
    131          umren2 TYPE marm-umren,
    132        END OF lt_marm.
    133 
    134 
    135   cl_salv_bs_runtime_info=>set(
    136     display = abap_false
    137     metadata = abap_false
    138     data  = abap_true ).
    139 
    140   RANGES:lr_mtart FOR mara-mtart,
    141          lr_matkl FOR mara-matkl,
    142          lr_ekgrp FOR marc-ekgrp.
    143 
    144   SUBMIT rm07mlbs
    145   WITH matnr IN s_matnr
    146   WITH werks IN s_werks
    147   WITH lgort IN s_lgort
    148   WITH charg IN s_charg
    149   WITH mtart IN lr_mtart
    150   WITH matkl IN lr_matkl
    151   WITH ekgrp IN lr_ekgrp
    152   WITH negativ = ''
    153   WITH pa_sond = ''
    154   WITH xmchb = 'X'
    155   WITH nozero = 'X'
    156   WITH novalues = ''
    157   WITH pa_hsq = ''
    158   WITH pa_flt = 'X'
    159   WITH p_vari = ''
    160   AND RETURN.
    161 
    162   TRY .
    163       cl_salv_bs_runtime_info=>get_data_ref(
    164         IMPORTING r_data = ls_mb52 ).
    165 
    166       ASSIGN ls_mb52->* TO <lt_mb52>.
    167 
    168     CATCH  cx_salv_bs_sc_runtime_info.
    169       MESSAGE '无法获取ALV数据'  TYPE  'E'.
    170   ENDTRY.
    171 
    172   cl_salv_bs_runtime_info=>clear_all( ).
    173 
    174   IF <lt_mb52> IS ASSIGNED.
    175     LOOP AT <lt_mb52> ASSIGNING <l_mb52>.
    176       MOVE-CORRESPONDING <l_mb52> TO lw_mb52.
    177       "物料工厂
    178       lt_mawk_tmp-matnr = lw_mb52-matnr.
    179       lt_mawk_tmp-werks = lw_mb52-werks.
    180       APPEND lt_mawk_tmp.
    181       CLEAR lt_mawk_tmp.
    182       "物料
    183       lt_mara_tmp-matnr = lw_mb52-matnr.
    184       APPEND lt_mara_tmp.
    185       CLEAR lt_mara_tmp.
    186       "批次mcha
    187       IF lw_mb52-charg IS NOT INITIAL.
    188         lt_mcha_tmp-matnr = lw_mb52-matnr.
    189         lt_mcha_tmp-werks = lw_mb52-werks.
    190         lt_mcha_tmp-charg = lw_mb52-charg.
    191         APPEND lt_mcha_tmp.
    192         CLEAR lt_mcha_tmp.
    193       ENDIF.
    194       APPEND lw_mb52 TO lt_mb52.
    195       CLEAR lw_mb52.
    196     ENDLOOP.
    197   ENDIF.
    198 
    199   "取 物料描述  供应商 和 供应商描述
    200   SORT lt_mara_tmp[] BY matnr.
    201   SORT lt_mawk_tmp[] BY werks matnr.
    202   SORT lt_mcha_tmp[] BY werks matnr charg.
    203 
    204   DELETE ADJACENT DUPLICATES FROM lt_mara_tmp COMPARING matnr.
    205   DELETE ADJACENT DUPLICATES FROM lt_mawk_tmp COMPARING werks matnr.
    206   DELETE ADJACENT DUPLICATES FROM lt_mcha_tmp COMPARING werks matnr charg.
    207 
    208   IF lt_mara_tmp[] IS NOT INITIAL.
    209     SELECT a~matnr a~mhdhb a~mhdrz INTO TABLE lt_mara
    210       FROM mara AS a
    211       FOR ALL ENTRIES IN lt_mara_tmp[]
    212       WHERE a~matnr = lt_mara_tmp-matnr.
    213   ENDIF.
    214 
    215   IF  lt_mawk_tmp[] IS NOT INITIAL.
    216     SELECT a~matnr a~bstme b~umrez AS umrez1 b~umren AS umren1 m~ausme AS wausm c~umrez AS umrez2 c~umren AS umren2
    217      INTO TABLE lt_marm
    218      FROM mara AS a
    219      INNER JOIN marc AS m ON m~matnr = a~matnr
    220      LEFT OUTER JOIN marm AS b ON b~matnr = a~matnr AND b~meinh = a~bstme
    221      LEFT OUTER JOIN marm AS c ON c~matnr = m~matnr AND c~meinh = m~ausme
    222      FOR ALL ENTRIES IN lt_mawk_tmp[]
    223      WHERE a~matnr = lt_mawk_tmp-matnr
    224        AND m~werks = lt_mawk_tmp-werks .
    225   ENDIF.
    226 
    227   IF lt_mcha_tmp[] IS NOT INITIAL.
    228     SELECT a~matnr a~werks a~charg a~lifnr b~name1 a~hsdat a~vfdat INTO TABLE lt_mcha
    229       FROM mcha AS a
    230       LEFT OUTER JOIN lfa1 AS b  ON b~lifnr = a~lifnr
    231       FOR ALL ENTRIES IN lt_mcha_tmp[]
    232       WHERE a~matnr = lt_mcha_tmp-matnr AND a~werks = lt_mcha_tmp-werks AND a~charg = lt_mcha_tmp-charg.
    233   ENDIF.
    234 
    235   DATA ls_data TYPE ty_data.
    236   SORT lt_mara[] BY matnr.
    237   SORT lt_mcha[] BY werks matnr charg.
    238   SORT lt_marm[] BY matnr.
    239 
    240   LOOP AT lt_mb52 ASSIGNING FIELD-SYMBOL(<fs1>).
    241     ls_data-werks = <fs1>-werks.
    242     ls_data-lgort = <fs1>-lgort.
    243     ls_data-matnr = <fs1>-matnr.
    244     ls_data-maktx = <fs1>-maktx.
    245     READ TABLE lt_mara WITH KEY matnr = <fs1>-matnr BINARY SEARCH.
    246     IF sy-subrc EQ 0.
    247 *      ls_data-maktx = lt_mara-maktx.
    248       ls_data-mhdhb = lt_mara-mhdhb.
    249       ls_data-mhdrz = lt_mara-mhdrz.
    250     ENDIF.
    251     ls_data-meins = <fs1>-meins.
    252     ls_data-menge = <fs1>-labst + <fs1>-umlme.
    253     ls_data-menge_quality = <fs1>-insme.
    254     "采购订单
    255     READ TABLE lt_marm WITH KEY matnr = <fs1>-matnr BINARY SEARCH.
    256     IF sy-subrc EQ 0.
    257       IF lt_marm-bstme IS NOT INITIAL.
    258         ls_data-bstme = lt_marm-bstme.
    259         ls_data-bstmg = ls_data-menge * lt_marm-umren1 / lt_marm-umrez1.
    260         ls_data-bstmg_quality = ls_data-menge_quality  * lt_marm-umren1 / lt_marm-umrez1.
    261       ELSE.
    262         ls_data-bstme = ls_data-meins.
    263         ls_data-bstmg = ls_data-menge.
    264         ls_data-bstmg_quality = ls_data-menge_quality.
    265       ENDIF.
    266       "交货
    267       IF lt_marm-wausm IS NOT INITIAL.
    268         ls_data-wausm = lt_marm-wausm.
    269         ls_data-lfimg = ls_data-menge * lt_marm-umren2 / lt_marm-umrez2.
    270         ls_data-lfimg_quality = ls_data-menge_quality * lt_marm-umren2 / lt_marm-umrez2.
    271       ELSE.
    272         ls_data-wausm = ls_data-meins.
    273         ls_data-lfimg = ls_data-menge.
    274         ls_data-lfimg_quality = ls_data-menge_quality.
    275       ENDIF.
    276     ENDIF.
    277 
    278     READ TABLE lt_mcha WITH KEY werks = <fs1>-werks matnr = <fs1>-matnr charg = <fs1>-charg BINARY SEARCH.
    279     IF sy-subrc EQ 0.
    280       ls_data-charg = <fs1>-charg.
    281       ls_data-lifnr = lt_mcha-lifnr.
    282       ls_data-name1 = lt_mcha-name1.
    283       ls_data-hsdat = lt_mcha-hsdat.
    284       ls_data-vfdat = lt_mcha-vfdat.
    285     ENDIF.
    286 
    287 
    288     IF ls_data-vfdat IS NOT INITIAL.
    289       IF ls_data-vfdat <= sy-datum.
    290         ls_data-light = icon_red_light.
    291       ENDIF.
    292     ELSE.
    293       ls_data-light = icon_green_light.
    294     ENDIF.
    295 
    296     APPEND ls_data TO  gt_data.
    297     CLEAR ls_data.
    298   ENDLOOP.
    299 
    300 
    301 ENDFORM.
    302 *&---------------------------------------------------------------------*
    303 *& Form END_OF_SELECTION
    304 *&---------------------------------------------------------------------*
    305 *& text
    306 *&---------------------------------------------------------------------*
    307 *& -->  p1        text
    308 *& <--  p2        text
    309 *&---------------------------------------------------------------------*
    310 FORM end_of_selection .
    311   gs_layout-zebra = 'X'. "ALV表格按斑马线条纹显示
    312   gs_layout-cwidth_opt = 'X'. "将ALV字段宽度设置为最优化
    313   gs_layout-no_merging = 'X'.
    314   wa_repid    = sy-repid.
    315 
    316   PERFORM frm_fcat_build.
    317 
    318   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    319     EXPORTING
    320 *     I_INTERFACE_CHECK        = ' '
    321 *     I_BYPASSING_BUFFER       =
    322 *     I_BUFFER_ACTIVE          =
    323       i_callback_program       = wa_repid
    324       i_callback_pf_status_set = 'PF_STATUS_SET' "USER_COMMAND
    325 *     i_callback_user_command  = 'USER_COMMAND'
    326 *     I_CALLBACK_TOP_OF_PAGE   = ' '
    327 *     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
    328 *     I_CALLBACK_HTML_END_OF_LIST       = ' '
    329 *     I_STRUCTURE_NAME         =
    330 *     I_BACKGROUND_ID          = ' '
    331       i_grid_title             = gs_title
    332 *     I_GRID_SETTINGS          =
    333       is_layout_lvc            = gs_layout
    334       it_fieldcat_lvc          = gt_fieldcat[]
    335 *     IT_EXCLUDING             =
    336 *     IT_SPECIAL_GROUPS_LVC    =
    337 *     IT_SORT_LVC              =
    338 *     IT_FILTER_LVC            =
    339 *     IT_HYPERLINK             =
    340 *     IS_SEL_HIDE              =
    341       i_default                = ''
    342       i_save                   = 'U'
    343 *     IS_VARIANT               =
    344 *     IT_EVENTS                =
    345 *     IT_EVENT_EXIT            =
    346 *   IMPORTING
    347 *     E_EXIT_CAUSED_BY_CALLER  =
    348 *     ES_EXIT_CAUSED_BY_USER   =
    349     TABLES
    350       t_outtab                 = gt_data[]
    351     EXCEPTIONS
    352       program_error            = 1
    353       OTHERS                   = 2.
    354   IF sy-subrc <> 0.
    355     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    356     WITH sy-msgv1 sy-msgv2.
    357     EXIT.
    358   ENDIF.
    359 ENDFORM.
    360 *&---------------------------------------------------------------------*
    361 *&      Form  PF_STATUS_SET
    362 *&---------------------------------------------------------------------*
    363 *      用户命令
    364 *----------------------------------------------------------------------*
    365 *  -->  p1        text
    366 *  <--  p2        text
    367 *----------------------------------------------------------------------*
    368 FORM pf_status_set USING pi_rt_extab TYPE slis_t_extab.
    369   SET PF-STATUS 'STANDARD_FULLSCREEN'.
    370 ENDFORM.
    371 
    372 *&---------------------------------------------------------------------*
    373 *& Form FRM_FCAT_BUILD
    374 *&---------------------------------------------------------------------*
    375 *& text
    376 *&---------------------------------------------------------------------*
    377 *& -->  p1        text
    378 *& <--  p2        text
    379 *&---------------------------------------------------------------------*
    380 FORM frm_fcat_build .
    381   DATA lv_pos TYPE i .
    382   REFRESH gt_fieldcat.
    383   CLEAR gs_fieldcat.
    384   CLEAR lv_pos.
    385   DEFINE %%append_fieldcat.
    386     lv_pos = lv_pos + 1.
    387     gs_fieldcat-col_pos = lv_pos.
    388     gs_fieldcat-fieldname = &1."字段名
    389     gs_fieldcat-coltext = &2."文本
    390     gs_fieldcat-no_zero = &3."去掉前导零
    391     gs_fieldcat-ref_field = &4.
    392     gs_fieldcat-ref_table = &5.
    393     APPEND gs_fieldcat TO gt_fieldcat.
    394     CLEAR gs_fieldcat.
    395   END-OF-DEFINITION.
    396   %%append_fieldcat:
    397   'LIGHT' '指示灯' '' ' ' 'ICON_D',
    398   'WERKS' '工厂' '' 'WERKS' 'MARC',
    399   'LGORT' '仓库地点' '' 'LGORT' 'MARD',
    400   'MATNR' '物料编号' 'X' 'MARD' 'MATNR',
    401   'MAKTX' '物料描述' '' 'MAKT' 'MAKTX',
    402   'MEINS' '基本单位' '' 'MEINS' 'MARA',
    403   'MENGE' '基本单位数量-非限制' '' 'MENGE' 'MSEG',
    404   'MENGE_QUALITY' '基本单位数量-质检' '' 'MENGE' 'MSEG',
    405   'BSTME' '采购单位' '' 'BSTME' 'MARA',
    406   'BSTMG' '采购单位数量-非限制' '' 'BSTMG' 'MSEG',
    407   'BSTMG_QUALITY' '采购单位数量-质检' '' 'BSTMG' 'MSEG',
    408   'WAUSM' '发货单位' '' 'WAUSM' 'MAW1',
    409   'LFIMG' '发货单位数量-非限制' '' 'LFIMG' 'LIPS',
    410   'LFIMG_QUALITY' '发货单位数量-质检' '' 'LFIMG' 'LIPS',
    411   'CHARG' '批次' '' 'CHARG' 'MCHA',
    412   'LIFNR' '供应商' '' 'LIFNR' 'LFA1',
    413   'NAME1' '名称' '' 'NAME1' 'LFA1',
    414   'HSDAT' '生产日期' '' 'HSDAT' 'MCHA',
    415   'VFDAT' '到期日' '' 'VFDAT' 'MCHA',
    416   'MHDHB' '总货架寿命' '' 'MHDHB' 'MARA',
    417   'MHDRZ' '剩余货架寿命' '' 'MHDRZ' 'MARA'.
    418 
    419 ENDFORM.

  • 相关阅读:
    set集合
    作业(2)
    字典
    列表功能
    字符串
    while循环
    pb加密转换成C#
    NET在64位系統使用32位oracle客户端访问数据库
    SQL Server中查找包含某个文本的存储过程
    SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户
  • 原文地址:https://www.cnblogs.com/jxzhu/p/12180517.html
Copyright © 2020-2023  润新知