国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SAP_ABAP_MM_安全庫(kù)存_設(shè)計(jì)方案+實(shí)現(xiàn)代碼(MARD_MBEW )_ALV_行列控制動(dòng)態(tài)編輯

這篇具有很好參考價(jià)值的文章主要介紹了SAP_ABAP_MM_安全庫(kù)存_設(shè)計(jì)方案+實(shí)現(xiàn)代碼(MARD_MBEW )_ALV_行列控制動(dòng)態(tài)編輯。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

SAP ABAP 顧問(wèn)(開(kāi)發(fā)工程師)能力模型-CSDN博客文章瀏覽閱讀959次。目標(biāo):基于對(duì)SAP abap 顧問(wèn)能力模型的梳理,給一年左右經(jīng)驗(yàn)的abaper 快速成長(zhǎng)為三年經(jīng)驗(yàn)提供超級(jí)燃料!https://blog.csdn.net/java_zhong1990/article/details/132469977


目標(biāo):從工廠、庫(kù)存地點(diǎn)、物料層面,設(shè)置庫(kù)存的范圍,在范圍內(nèi)的庫(kù)存表示正常,在范圍外的庫(kù)存表示異常.

需要考慮的是如何定義正常的庫(kù)存范圍,

一、背景說(shuō)明

1.1 實(shí)現(xiàn)效果

SAP_ABAP_MM_安全庫(kù)存_設(shè)計(jì)方案+實(shí)現(xiàn)代碼(MARD_MBEW )_ALV_行列控制動(dòng)態(tài)編輯,Abap編程,SAP,ABAP

SAP_ABAP_MM_安全庫(kù)存_設(shè)計(jì)方案+實(shí)現(xiàn)代碼(MARD_MBEW )_ALV_行列控制動(dòng)態(tài)編輯,Abap編程,SAP,ABAP?SAP_ABAP_MM_安全庫(kù)存_設(shè)計(jì)方案+實(shí)現(xiàn)代碼(MARD_MBEW )_ALV_行列控制動(dòng)態(tài)編輯,Abap編程,SAP,ABAP

1.2 業(yè)務(wù)說(shuō)明

設(shè)計(jì)步驟:

1 計(jì)劃員,批量維護(hù)物料的安全庫(kù)存

2 計(jì)劃主管,可以更改安全庫(kù)存范圍

3 輸出安全庫(kù)存報(bào)表

1.3?代碼實(shí)現(xiàn)
*&---------------------------------------------------------------------*
*& Report ZMM028
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zmm031.


INCLUDE zmm031_top.
INCLUDE zmm031_sel.
INCLUDE zmm031_frm.
INCLUDE zmm031_pbo.
INCLUDE zmm031_pai.


SELECTION-SCREEN FUNCTION KEY: 1 .

INITIALIZATION.
  PERFORM init.

AT SELECTION-SCREEN OUTPUT.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_file.
  PERFORM get_excel.

AT SELECTION-SCREEN.

  CASE sscrfields-ucomm .
    WHEN 'FC01'.
      PERFORM download_template USING '批導(dǎo)模版.xlsx' 'ZMM031'.
    WHEN OTHERS.
  ENDCASE.

START-OF-SELECTION.

  IF p_inp = 'X'.

*    SELECT * INTO TABLE @DATA(ls_ztmm031) FROM ztmm031 WHERE ztmm031~c1 = @sy-uname.
*    IF sy-subrc = 0.
*    ELSE.
*      MESSAGE '沒(méi)有權(quán)限,請(qǐng)聯(lián)系系統(tǒng)管理員!' TYPE 'S' DISPLAY LIKE 'E'.
*      LEAVE TO LIST-PROCESSING.
*      EXIT.
*
*    ENDIF.

    PERFORM get_data_for_excel.
    PERFORM check_data_for_excel.
    PERFORM set_catalog.
    PERFORM display_alv.

  ELSEIF p_sel = 'X'.

    PERFORM get_data_for_ztmm030.
    PERFORM set_catalog1.
    PERFORM display_alv_ztmm030.

  ELSE.

    PERFORM get_data_for_mard.
    PERFORM set_catalog2.
    PERFORM display_alv2.

  ENDIF.
*&---------------------------------------------------------------------*
*& Form get_data_for_mard
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM get_data_for_mard .

  DATA:lv_lfgja TYPE mard-lfgja.
  DATA:lv_lfmon TYPE mard-lfmon.

  lv_lfgja = sy-datum+0(4).
  lv_lfmon = sy-datum+4(2).

*  lv_lfgja = '2022'.
*  lv_lfmon = '05'.

  SELECT
    mard~lfgja,
    mard~lfmon,
    mard~werks,
    mard~lgort,

    mard~matnr,
    mard~labst,

    t001l~lgobe,

    mara~zwlcms,
    mara~meins,

    mbew~verpr,
    mbew~peinh,

    ztmm030~l1,
    ztmm030~l2,

    ztmm030~createby,
    ztmm030~createdate,
    ztmm030~createtime


    INTO CORRESPONDING FIELDS OF TABLE @gt_data2

    FROM mard

      LEFT JOIN ztmm030 ON ztmm030~werks = mard~werks AND ztmm030~lgort = mard~lgort AND ztmm030~matnr = mard~matnr

      INNER JOIN t001l   ON t001l~werks   = mard~werks AND mard~lgort = t001l~lgort
      INNER JOIN mara    ON mara~matnr    = mard~matnr
      INNER JOIN mbew    ON mbew~matnr    = mard~matnr AND mbew~bwkey    = mard~werks AND mbew~vprsv = 'V'


      WHERE mard~lfgja = @lv_lfgja  AND mard~lfmon = @lv_lfmon
       AND mard~werks IN @so_werks
       AND mard~lgort IN @so_lgort
       AND mard~matnr IN @so_matnr
       AND mard~labst <> '0'

    .

  "verpr
  LOOP AT gt_data2 ASSIGNING FIELD-SYMBOL(<fs1>).

    <fs1>-je = <fs1>-verpr / <fs1>-peinh * <fs1>-labst.

    IF <fs1>-l1 IS NOT INITIAL AND <fs1>-l2 IS NOT INITIAL.

      IF <fs1>-labst < <fs1>-l1 .
        <fs1>-text = '庫(kù)存過(guò)低'.
      ELSEIF  <fs1>-labst > <fs1>-l2.
        <fs1>-text = '超上限'.
      ELSE.
        <fs1>-text = '庫(kù)存正常'.
      ENDIF.

    ENDIF.

*    <fs1>-labst2 = <fs1>-labst.
    <fs1>-l1_ = <fs1>-l1.
    <fs1>-l2_ = <fs1>-l2.


    IF <fs1>-l1 IS INITIAL AND <fs1>-l2 IS INITIAL.
      <fs1>-f1 = 'X'.

    ELSE.

      SELECT * INTO TABLE @DATA(ls_ztmm031) FROM ztmm031 WHERE ztmm031~c1 = @sy-uname.
      IF sy-subrc = 0.
        <fs1>-f1 = 'X'.
      ELSE.
        "<fs>-message = '無(wú)權(quán)限修改'.<fs>-status  = 'E'. CONTINUE.
      ENDIF.


    ENDIF.

  ENDLOOP.



  DATA:gwa_edit TYPE lvc_s_styl,
       git_edit TYPE lvc_t_styl.

  LOOP AT gt_data2 INTO gs_data2.

    IF  gs_data2-f1 = 'X'.

      CLEAR: gwa_edit.
      gwa_edit-fieldname = 'L1'.
      gwa_edit-style = cl_gui_alv_grid=>mc_style_enabled."設(shè)置為可編輯
      APPEND  gwa_edit TO gs_data2-celtab .

      CLEAR: gwa_edit.
      gwa_edit-fieldname = 'L2'.
      gwa_edit-style = cl_gui_alv_grid=>mc_style_enabled."設(shè)置為可編輯
      APPEND  gwa_edit TO gs_data2-celtab .


    ELSE.
      CLEAR: gwa_edit.
      gwa_edit-fieldname = 'L1'.
      gwa_edit-style = cl_gui_alv_grid=>mc_style_disabled."設(shè)置為不可編輯
      APPEND  gwa_edit TO gs_data2-celtab .

      CLEAR: gwa_edit.
      gwa_edit-fieldname = 'L2'.
      gwa_edit-style = cl_gui_alv_grid=>mc_style_disabled."設(shè)置為不可編輯
      APPEND  gwa_edit TO gs_data2-celtab .

    ENDIF.

    MODIFY gt_data2  FROM  gs_data2 .

  ENDLOOP.



ENDFORM.
*&---------------------------------------------------------------------*
*& 包含               ZMM028_FRM
*&---------------------------------------------------------------------*

FORM get_excel.
  DATA : l_filetab TYPE filetable,
         l_waftab  LIKE LINE OF l_filetab,
         l_rc      TYPE i.
  CALL METHOD cl_gui_frontend_services=>file_open_dialog
    EXPORTING
      window_title            = '打開(kāi)文件'
      initial_directory       = 'C:/'
    CHANGING
      file_table              = l_filetab
      rc                      = l_rc
    EXCEPTIONS
      file_open_dialog_failed = 1
      cntl_error              = 2
      error_no_gui            = 3
      not_supported_by_gui    = 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.
    EXIT.
  ELSE.
    READ TABLE l_filetab INTO l_waftab INDEX 1.
    pa_file = l_waftab-filename.
    CLEAR: l_filetab,l_waftab.
  ENDIF.

ENDFORM.


FORM init.
  DATA: ls_dyntxt TYPE smp_dyntxt .
  ls_dyntxt-icon_id   = icon_export.
  ls_dyntxt-quickinfo = '模板下載'.
  ls_dyntxt-icon_text = '模板下載'.
  sscrfields-functxt_01 = ls_dyntxt.
ENDFORM.

FORM init_output.

ENDFORM.

FORM get_data_for_excel.
  TYPES: BEGIN OF ly_excel_data,

           werks TYPE ztmm030-werks, "工廠
           lgort TYPE ztmm030-lgort, "存儲(chǔ)地點(diǎn)
           matnr TYPE ztmm030-matnr, "物料編號(hào)

           l1    TYPE ztmm030-l1,    "庫(kù)存下限(未來(lái))
           l2    TYPE ztmm030-l2,    "庫(kù)存上限(未來(lái))
*           createby   TYPE ztmm030-createby,  "最近更新人
*           createdate TYPE ztmm030-createdate, "最近更新日期
*           createtime TYPE ztmm030-createtime, "最近更新時(shí)間
         END OF ly_excel_data.
  DATA: lt_excel      TYPE TABLE OF alsmex_tabline WITH HEADER LINE,
        ls_excel_data TYPE ly_excel_data,
        l_index       LIKE sy-tabix.
  DATA: lv_lines TYPE i.

  FIELD-SYMBOLS: <fs>.
  IF pa_file IS NOT INITIAL.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      EXPORTING
        filename                = pa_file
        i_begin_col             = '1'
        i_begin_row             = '2'
        i_end_col               = '10'
        i_end_row               = '50000'
      TABLES
        intern                  = lt_excel
      EXCEPTIONS
        inconsistent_parameters = 1
        upload_ole              = 2
        OTHERS                  = 3.
    IF sy-subrc = 0.
*&& 將EXCEL格式中的數(shù)據(jù)導(dǎo)入到內(nèi)表TAB_LOAD中
      LOOP AT lt_excel.

        ASSIGN COMPONENT lt_excel-col OF STRUCTURE ls_excel_data TO <fs>.
        <fs> = lt_excel-value.
        AT END OF row.

          MOVE-CORRESPONDING ls_excel_data TO gs_data."跟Excel的列一一對(duì)應(yīng)的內(nèi)表


          APPEND gs_data TO gt_data.
          CLEAR: ls_excel_data,gs_data.
        ENDAT.

      ENDLOOP.

      lv_lines = lines( gt_data ).

      IF lv_lines > 8000.
        MESSAGE  '本次導(dǎo)入數(shù)據(jù)超過(guò)5000,請(qǐng)拆分?jǐn)?shù)據(jù)文件!' TYPE 'S'DISPLAY LIKE 'E'.
        STOP.
      ENDIF.
    ENDIF.

  ELSE.
    MESSAGE  '請(qǐng)輸入文件路徑!' TYPE 'S'DISPLAY LIKE 'E'.
    STOP.
  ENDIF.

ENDFORM.



FORM check_data_for_excel.


  LOOP AT gt_data ASSIGNING FIELD-SYMBOL(<fs>).

    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
      EXPORTING
        input  = <fs>-matnr
      IMPORTING
        output = <fs>-matnr
*     EXCEPTIONS
*       LENGTH_ERROR       = 1
*       OTHERS = 2
      .
    IF sy-subrc <> 0.
    ENDIF.


    SELECT SINGLE matnr INTO @DATA(ls1) FROM mara WHERE mara~matnr = @<fs>-matnr.
    IF sy-subrc = 0.
    ELSE.
      <fs>-message = '物料號(hào)不存在'.
      <fs>-status  = 'E'.
      CONTINUE.
    ENDIF.

    SELECT SINGLE t001l~werks INTO @DATA(ls2) FROM t001l WHERE t001l~werks = @<fs>-werks.
    IF sy-subrc = 0.
    ELSE.
      <fs>-message = '工廠不存在'.<fs>-status  = 'E'.
      CONTINUE.
    ENDIF.

    SELECT SINGLE t001l~werks INTO @DATA(ls3) FROM t001l WHERE t001l~lgort = @<fs>-lgort.
    IF sy-subrc = 0.
    ELSE.
      <fs>-message = '庫(kù)位不存在'.<fs>-status  = 'E'.
      CONTINUE.
    ENDIF.

    SELECT SINGLE * INTO  @DATA(ls_ztmm030)
      FROM ztmm030 WHERE ztmm030~werks = @<fs>-werks  AND ztmm030~lgort = @<fs>-lgort  AND ztmm030~matnr = @<fs>-matnr.

    IF sy-subrc = 0.

      <fs>-l1_old = ls_ztmm030-l1.
      <fs>-l2_old = ls_ztmm030-l2.

      <fs>-createby   = ls_ztmm030-createby.
      <fs>-createdate = ls_ztmm030-createdate.
      <fs>-createtime = ls_ztmm030-createtime.

      SELECT * INTO TABLE @DATA(ls_ztmm031) FROM ztmm031 WHERE ztmm031~c1 = @sy-uname.
      IF sy-subrc = 0.
      ELSE.
        <fs>-message = '無(wú)權(quán)限修改'.<fs>-status  = 'E'. CONTINUE.
      ENDIF.

    ELSE.

      <fs>-createby   = sy-uname.
      <fs>-createdate = sy-datum.
      <fs>-createtime = sy-uzeit.

    ENDIF.



  ENDLOOP.





ENDFORM.


FORM download_template USING pu_filename pu_objid.
*& 下載模版
  DATA: ls_objdata LIKE wwwdatatab.
  DATA: lv_filename TYPE string,
        lv_fullpath TYPE string  VALUE 'C:\',
        lv_path     TYPE  string VALUE 'C:\'.
  DATA: lv_errtxt TYPE string.
  DATA: lv_destination LIKE rlgrap-filename.
  DATA: lv_rc LIKE sy-subrc.

  DATA: lv_fileup LIKE rlgrap-filename.

  lv_filename = pu_filename .
*& 調(diào)用保存對(duì)話框
  CALL METHOD cl_gui_frontend_services=>file_save_dialog
    EXPORTING
      default_extension    = 'xlsx'
      default_file_name    = lv_filename
      initial_directory    = 'C:\'
    CHANGING
      filename             = lv_filename
      path                 = lv_path
      fullpath             = lv_fullpath
    EXCEPTIONS
      cntl_error           = 1
      error_no_gui         = 2
      not_supported_by_gui = 3
      OTHERS               = 4.
  IF sy-subrc NE 0.
    MESSAGE '不能打開(kāi)EXCEL' TYPE 'E'.
  ENDIF.
  CHECK lv_fullpath IS NOT INITIAL .
  lv_fileup = lv_fullpath.
  ls_objdata-relid = 'MI' .
  ls_objdata-objid = pu_objid .

  lv_destination = lv_fullpath .
  CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
    EXPORTING
      key         = ls_objdata
      destination = lv_destination
    IMPORTING
      rc          = lv_rc.
  IF lv_rc NE 0.
    CONCATENATE '模板文件:' ls_objdata-objid '下載失敗' INTO lv_errtxt.
    MESSAGE lv_errtxt TYPE 'E'.
  ELSE.
    MESSAGE '模版下載成功' TYPE 'S'.
  ENDIF.

ENDFORM.                    " DOWNLOAD_TEMPLATE



FORM set_catalog.
  DATA:lv_position TYPE i VALUE 1.
  CLEAR: lv_position.
  lv_position = lv_position + 1.
* 預(yù)定義一個(gè)輸出模式
  DEFINE df_fieldcat.
    CLEAR gs_fieldcat_lvc.
    gs_fieldcat_lvc-col_pos     = lv_position."ALV 控制: 輸出列
    gs_fieldcat_lvc-scrtext_m   = &1."中字段標(biāo)簽
    gs_fieldcat_lvc-fieldname   = &2."ALV 控制: 內(nèi)部表字段的字段名稱
    gs_fieldcat_lvc-no_zero     = &3."ALV 控制: 為輸出隱藏零
    gs_fieldcat_lvc-checkbox    = &4."ALV 控制: 作為復(fù)選框輸出
    gs_fieldcat_lvc-edit        = &5."設(shè)置可編輯模式
    gs_fieldcat_lvc-outputlen   = &6."輸出長(zhǎng)度
    gs_fieldcat_lvc-ref_table   = &7.
    gs_fieldcat_lvc-ref_field   = &8.
    gs_fieldcat_lvc-datatype    = &9.
    APPEND gs_fieldcat_lvc TO gt_fieldcat_lvc.

    ADD 1 TO lv_position.
  END-OF-DEFINITION.
  df_fieldcat:

'狀態(tài)' 'STATUS' 'X' '' '' '' '' '' '',
'消息' 'MESSAGE' 'X' '' '' '' '' '' '',
'工廠' 'WERKS' 'X' '' '' '' '' '' '',
'存儲(chǔ)地點(diǎn)' 'LGORT' 'X' '' '' '' '' '' '',
'物料編號(hào)' 'MATNR' 'X' '' '' '' '' '' '',
'庫(kù)存下限(當(dāng)前)' 'L1_OLD' 'X' '' '' '' '' '' '',
'庫(kù)存上限(當(dāng)前)' 'L2_OLD' 'X' '' '' '' '' '' '',
'最近更新人' 'CREATEBY' 'X' '' '' '' '' '' '',
'最近更新日期' 'CREATEDATE' 'X' '' '' '' '' '' '',
'最近更新時(shí)間' 'CREATETIME' 'X' '' '' '' '' '' '',
'庫(kù)存下限(未來(lái))' 'L1' 'X' '' '' '' '' '' '',
'庫(kù)存上限(未來(lái))' 'L2' 'X' '' '' '' '' '' ''
.

ENDFORM.



FORM set_catalog1.
  DATA:lv_position TYPE i VALUE 1.
  CLEAR: lv_position.
  lv_position = lv_position + 1.
* 預(yù)定義一個(gè)輸出模式
  DEFINE df_fieldcat.
    CLEAR gs_fieldcat_lvc.
    gs_fieldcat_lvc-col_pos     = lv_position."ALV 控制: 輸出列
    gs_fieldcat_lvc-scrtext_m   = &1."中字段標(biāo)簽
    gs_fieldcat_lvc-fieldname   = &2."ALV 控制: 內(nèi)部表字段的字段名稱
    gs_fieldcat_lvc-no_zero     = &3."ALV 控制: 為輸出隱藏零
    gs_fieldcat_lvc-checkbox    = &4."ALV 控制: 作為復(fù)選框輸出
    gs_fieldcat_lvc-edit        = &5."設(shè)置可編輯模式
    gs_fieldcat_lvc-outputlen   = &6."輸出長(zhǎng)度
    gs_fieldcat_lvc-ref_table   = &7.
    gs_fieldcat_lvc-ref_field   = &8.
    gs_fieldcat_lvc-datatype    = &9.
    APPEND gs_fieldcat_lvc TO gt_fieldcat_lvc.

    ADD 1 TO lv_position.
  END-OF-DEFINITION.
  df_fieldcat:

    '工廠' 'WERKS' 'X' '' '' '' '' '' '',
    '存儲(chǔ)地點(diǎn)' 'LGORT' 'X' '' '' '' '' '' '',
    '物料編號(hào)' 'MATNR' 'X' '' '' '' '' '' '',
    '庫(kù)存下限' 'L1' 'X' '' '' '' '' '' '',
    '庫(kù)存上限' 'L2' 'X' '' '' '' '' '' '',
    '最近更新人' 'CREATEBY' 'X' '' '' '' '' '' '',
    '最近更新日期' 'CREATEDATE' 'X' '' '' '' '' '' '',
    '最近更新時(shí)間' 'CREATETIME' 'X' '' '' '' '' '' ''
    .


ENDFORM.

FORM set_catalog2.
  DATA:lv_position TYPE i VALUE 1.
  CLEAR: lv_position.
  lv_position = lv_position + 1.
* 預(yù)定義一個(gè)輸出模式
  DEFINE df_fieldcat.
    CLEAR gs_fieldcat_lvc.
    gs_fieldcat_lvc-col_pos     = lv_position."ALV 控制: 輸出列
    gs_fieldcat_lvc-scrtext_m   = &1."中字段標(biāo)簽
    gs_fieldcat_lvc-fieldname   = &2."ALV 控制: 內(nèi)部表字段的字段名稱
    gs_fieldcat_lvc-no_zero     = &3."ALV 控制: 為輸出隱藏零
    gs_fieldcat_lvc-checkbox    = &4."ALV 控制: 作為復(fù)選框輸出

    gs_fieldcat_lvc-edit        = &5."設(shè)置可編輯模式

    gs_fieldcat_lvc-outputlen   = &6."輸出長(zhǎng)度
    gs_fieldcat_lvc-ref_table   = &7.
    gs_fieldcat_lvc-ref_field   = &8.
    gs_fieldcat_lvc-datatype    = &9.
    APPEND gs_fieldcat_lvc TO gt_fieldcat_lvc.

    ADD 1 TO lv_position.
  END-OF-DEFINITION.
  df_fieldcat:

'年度' 'LFGJA' 'X' '' '' '' '' '' '',
'月份' 'LFMON' 'X' '' '' '' '' '' '',
'工廠' 'WERKS' 'X' '' '' '' '' '' '',
'庫(kù)存地點(diǎn)' 'LGORT' 'X' '' '' '' '' '' '',
'倉(cāng)儲(chǔ)地點(diǎn)描述' 'LGOBE' 'X' '' '' '' '' '' '',
'物料' 'MATNR' 'X' '' '' '' '' '' '',
'物料描述' 'ZWLCMS' 'X' '' '' '' '' '' '',
'單位' 'MEINS' 'X' '' '' '' '' '' '',
'庫(kù)存數(shù)量' 'LABST' 'X' '' '' '' '' '' '',
'庫(kù)存下限' 'L1' 'X' '' 'X' '' '' '' '',
'庫(kù)存上限' 'L2' 'X' '' 'X' '' '' '' '',
'金額' 'JE' 'X' '' '' '' '' '' '',
'庫(kù)存狀態(tài)' 'TEXT' 'X' '' '' '' '' '' '',
'最近更新人' 'CREATEBY' 'X' '' '' '' '' '' '',
'最近更新日期' 'CREATEDATE' 'X' '' '' '' '' '' '',
'最近更新時(shí)間' 'CREATETIME' 'X' '' '' '' '' '' ''
    .


ENDFORM.


FORM display_alv_ztmm030.
  DATA: ls_layout TYPE lvc_s_layo.
  IF gt_data IS NOT INITIAL.
    ls_layout-zebra      = 'X'.
    ls_layout-cwidth_opt = 'X'.
* 調(diào)用ALV function
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
      EXPORTING
        i_callback_program       = sy-repid "這里是調(diào)用這個(gè)ALV的程序名
        i_callback_pf_status_set = 'PF_STATUS' "設(shè)置ALV狀態(tài)欄的函數(shù)
        i_callback_user_command  = 'USER_COMMAND' "獲取用戶事件的函數(shù)
        is_layout_lvc            = ls_layout "顯示的布局
        it_fieldcat_lvc          = gt_fieldcat_lvc "設(shè)置顯示的字段以及字段的功能
        i_save                   = 'A'
      TABLES
        t_outtab                 = gt_data
      EXCEPTIONS
        program_error            = 1.
    IF sy-subrc <> 0.
      MESSAGE '報(bào)表生成異常,請(qǐng)聯(lián)系系統(tǒng)管理員!' TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF.
  ELSE.
* 這個(gè)消息用來(lái)顯示我們是不是獲取到了數(shù)據(jù),自己用的時(shí)候把這個(gè)硬代碼換成你需要的TEXT-XXX.
    MESSAGE '沒(méi)有獲取到數(shù)據(jù),請(qǐng)重新檢索!' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE TO LIST-PROCESSING.
    EXIT.
  ENDIF.
ENDFORM.


FORM display_alv.
  DATA: ls_layout TYPE lvc_s_layo.
  IF gt_data IS NOT INITIAL.
    ls_layout-zebra      = 'X'.
    ls_layout-cwidth_opt = 'X'.
* 調(diào)用ALV function
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
      EXPORTING
        i_callback_program       = sy-repid "這里是調(diào)用這個(gè)ALV的程序名
        i_callback_pf_status_set = 'PF_STATUS' "設(shè)置ALV狀態(tài)欄的函數(shù)
        i_callback_user_command  = 'USER_COMMAND' "獲取用戶事件的函數(shù)
        is_layout_lvc            = ls_layout "顯示的布局
        it_fieldcat_lvc          = gt_fieldcat_lvc "設(shè)置顯示的字段以及字段的功能
        i_save                   = 'A'
      TABLES
        t_outtab                 = gt_data
      EXCEPTIONS
        program_error            = 1.
    IF sy-subrc <> 0.
      MESSAGE '報(bào)表生成異常,請(qǐng)聯(lián)系系統(tǒng)管理員!' TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF.
  ELSE.
* 這個(gè)消息用來(lái)顯示我們是不是獲取到了數(shù)據(jù),自己用的時(shí)候把這個(gè)硬代碼換成你需要的TEXT-XXX.
    MESSAGE '沒(méi)有獲取到數(shù)據(jù),請(qǐng)重新檢索!' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE TO LIST-PROCESSING.
    EXIT.
  ENDIF.
ENDFORM.

FORM display_alv2.
  DATA: ls_layout TYPE lvc_s_layo.
  IF gt_data2 IS NOT INITIAL.
    ls_layout-zebra      = 'X'.
    ls_layout-cwidth_opt = 'X'.

   ls_layout-stylefname   = 'CELTAB'.
* 調(diào)用ALV function
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
      EXPORTING
        i_callback_program       = sy-repid "這里是調(diào)用這個(gè)ALV的程序名
        i_callback_pf_status_set = 'PF_STATUS' "設(shè)置ALV狀態(tài)欄的函數(shù)
        i_callback_user_command  = 'USER_COMMAND' "獲取用戶事件的函數(shù)
        is_layout_lvc            = ls_layout "顯示的布局
        it_fieldcat_lvc          = gt_fieldcat_lvc "設(shè)置顯示的字段以及字段的功能
        i_save                   = 'A'
      TABLES
        t_outtab                 = gt_data2
      EXCEPTIONS
        program_error            = 1.
    IF sy-subrc <> 0.
      MESSAGE '報(bào)表生成異常,請(qǐng)聯(lián)系系統(tǒng)管理員!' TYPE 'S' DISPLAY LIKE 'E'.
    ENDIF.
  ELSE.
* 這個(gè)消息用來(lái)顯示我們是不是獲取到了數(shù)據(jù),自己用的時(shí)候把這個(gè)硬代碼換成你需要的TEXT-XXX.
    MESSAGE '沒(méi)有獲取到數(shù)據(jù),請(qǐng)重新檢索!' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE TO LIST-PROCESSING.
    EXIT.
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form get_data_for_ztmm030
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM get_data_for_ztmm030 .

  SELECT * INTO CORRESPONDING FIELDS OF TABLE @gt_data FROM ztmm030
    WHERE ztmm030~matnr IN @so_matnr
      AND ztmm030~werks IN @so_werks
      AND ztmm030~lgort IN @so_lgort
    .

ENDFORM.
*&---------------------------------------------------------------------*
*& 包含               ZMM028_PAI
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&  包含                ZFI068_PAI
*&---------------------------------------------------------------------*

FORM user_command USING i_ucomm TYPE sy-ucomm
                            i_wa_selfield TYPE slis_selfield.
  DATA:gwa_edit TYPE lvc_s_styl,
       git_edit TYPE lvc_t_styl.

  DATA lv_length TYPE num10.
  DATA lr_grid TYPE REF TO cl_gui_alv_grid.
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = lr_grid.
  CALL METHOD lr_grid->check_changed_data.
  CALL METHOD lr_grid->refresh_table_display.
  i_wa_selfield-refresh = 'X'.

  CASE i_ucomm.

    WHEN  'ZSAVE'.

      DATA(lt_check) = gt_data.

      DELETE lt_check WHERE status <> 'E'.

      IF lines( lt_check ) <> 0.
        MESSAGE '檢查未通過(guò)' TYPE 'E'.
      ENDIF.

*      "權(quán)限檢查
*      DATA:lv_auth TYPE char.
*      lv_auth = ''.

*      SELECT * INTO TABLE @DATA(ls_ztmm031) FROM ztmm031 WHERE ztmm031~c1 = @sy-uname.
*      IF sy-subrc = 0.
*        lv_auth = 'X'.
*      ELSE.

**        MESSAGE '沒(méi)有權(quán)限,請(qǐng)聯(lián)系系統(tǒng)管理員!' TYPE 'S' DISPLAY LIKE 'E'.
**        LEAVE TO LIST-PROCESSING.
**        EXIT.
*      ENDIF.
*
*      IF lv_auth  = 'X'.

      DATA:lt_ TYPE TABLE OF ztmm030.
      MOVE-CORRESPONDING gt_data TO lt_.

      MODIFY ztmm030 FROM TABLE lt_.

      MESSAGE '保存成功' TYPE 'S'.

*      ENDIF.

    WHEN  'ZSAVE1'.

      DATA:lt_ztmm030 TYPE TABLE OF ztmm030.
      DATA:ls_ztmm030 TYPE  ztmm030.

      LOOP AT gt_data2 INTO gs_data2.

        IF gs_data2-l1 = gs_data2-l1_ AND gs_data2-l2 = gs_data2-l2_.
        ELSE.

          MOVE-CORRESPONDING gs_data2 TO ls_ztmm030.

          ls_ztmm030-createby   = sy-uname.
          ls_ztmm030-createdate = sy-datum.
          ls_ztmm030-createtime = sy-uzeit.

          APPEND ls_ztmm030           TO lt_ztmm030.

        ENDIF.

      ENDLOOP.

      IF lt_ztmm030 IS NOT INITIAL.

        MODIFY ztmm030 FROM TABLE lt_ztmm030.
        MESSAGE '保存成功' TYPE 'S'.

      ENDIF.




    WHEN  'ZSAVE2'.



    WHEN 'ZSAL'.

    WHEN 'ZALL'.

    WHEN OTHERS.

  ENDCASE.

ENDFORM.
*&---------------------------------------------------------------------*
*& 包含               ZMM028_PBO
*&---------------------------------------------------------------------*


FORM pf_status USING lt_extab TYPE slis_t_extab.

  REFRESH:lt_extab[]. CLEAR:lt_extab.

  IF p_inp = 'X'.

    SET TITLEBAR 'ZSTATUS_TITLE'.
    "說(shuō)明:需要顯示的按鈕進(jìn)行注釋
*    APPEND 'ZSAVE'  TO lt_extab.
     APPEND 'ZSAVE1'  TO lt_extab.
    SET PF-STATUS 'ZSTATUS_001' EXCLUDING lt_extab.

  ELSEIF p_sel = 'X'.

    SET TITLEBAR 'ZSTATUS_TITLE'.
    "說(shuō)明:需要顯示的按鈕進(jìn)行注釋
    APPEND 'ZSAVE'  TO lt_extab.
    APPEND 'ZSAVE1'  TO lt_extab.
    SET PF-STATUS 'ZSTATUS_001' EXCLUDING lt_extab.



  ELSE.

    SET TITLEBAR 'ZSTATUS_TITLE'.
    "說(shuō)明:需要顯示的按鈕進(jìn)行注釋
    APPEND 'ZSAVE'  TO lt_extab.
    SET PF-STATUS 'ZSTATUS_001' EXCLUDING lt_extab.

  ENDIF.



ENDFORM.
*&---------------------------------------------------------------------*
*& 包含               ZMM028_SEL
*&---------------------------------------------------------------------*

TABLES:lips,ztmm030,mard.

SELECTION-SCREEN:BEGIN OF BLOCK b0 WITH FRAME TITLE TEXT-001.

  PARAMETERS:p_inp RADIOBUTTON GROUP g1 USER-COMMAND u1 DEFAULT 'X'.
  PARAMETERS:p_sel RADIOBUTTON GROUP g1 .

  PARAMETERS:p_sel2 RADIOBUTTON GROUP g1 .

  PARAMETERS: pa_file TYPE rlgrap-filename ."文件夾上傳


  SELECTION-SCREEN SKIP 1.

*
*  SELECT-OPTIONS: so_lfgja FOR mard-lfgja.
*  SELECT-OPTIONS: so_lfmon FOR mard-lfmon.


  SELECT-OPTIONS: so_werks FOR ztmm030-werks.
  SELECT-OPTIONS: so_lgort FOR ztmm030-lgort.
  SELECT-OPTIONS: so_matnr FOR ztmm030-matnr.


SELECTION-SCREEN:END OF BLOCK b0.
*&---------------------------------------------------------------------*
*& 包含               ZMM028_TOP
*&---------------------------------------------------------------------*


*&---------------------------------------------------------------------*
*&  包含                ZFI068_TOP
*&---------------------------------------------------------------------*
TABLES: sscrfields,vbak,bsis.
TYPE-POOLS: esp1,slis ,icon.

TYPES: BEGIN OF gy_data,

*         checked    TYPE char1,       "勾選框
*         status_inc TYPE char10,      "狀態(tài)燈
         status     TYPE char2,       "狀態(tài)
         message    TYPE char255,     "消息文本
         zindex     TYPE i,            "序號(hào)

         werks      TYPE ztmm030-werks, "工廠
         lgort      TYPE ztmm030-lgort, "存儲(chǔ)地點(diǎn)
         matnr      TYPE ztmm030-matnr, "物料編號(hào)
         l1_old     TYPE ztmm030-l1,   "庫(kù)存下限(當(dāng)前)
         l2_old     TYPE ztmm030-l2,   "庫(kù)存上限(當(dāng)前)
         createby   TYPE ztmm030-createby,  "最后更新人
         createdate TYPE ztmm030-createdate, "最后更新日期
         createtime TYPE ztmm030-createtime, "最后更新時(shí)間
         l1         TYPE ztmm030-l1,    "庫(kù)存下限(未來(lái))
         l2         TYPE ztmm030-l2,    "庫(kù)存上限(未來(lái))

       END OF gy_data.

DATA: gs_data TYPE gy_data,
      gt_data TYPE TABLE OF gy_data.
FIELD-SYMBOLS: <fs_data>  TYPE gy_data.


TYPES: BEGIN OF gy_data2,

         lfgja      TYPE   mard-lfgja,  "年度
         lfmon      TYPE   mard-lfmon,  "月份
         werks      TYPE   mard-werks,  "工廠
         lgort      TYPE   mard-lgort,  "庫(kù)存地點(diǎn)
         lgobe      TYPE   t001l-lgobe, "倉(cāng)儲(chǔ)地點(diǎn)描述
         matnr      TYPE   mard-matnr,  "物料
         zwlcms     TYPE   mara-zwlcms, "物料描述
         meins      TYPE   mara-meins,  "單位
         labst      TYPE   mard-labst,  "庫(kù)存數(shù)量

         l1         TYPE ztmm030-l1,    "庫(kù)存下限
         l2         TYPE ztmm030-l2,    "庫(kù)存上限

         "je         TYPE  mbew-verpr,   "金額
         je         TYPE  acdoca-tsl,   "金額

         text       TYPE char10,        "庫(kù)存狀態(tài)

         verpr      TYPE mbew-verpr,
         peinh      TYPE mbew-peinh,
*         sobkz  TYPE   mspr-sobkz,  "特殊庫(kù)存
*         pspnr  TYPE   mspr-pspnr,  "特殊庫(kù)存編號(hào)
*         prlab  TYPE   mspr-prlab,  "庫(kù)存數(shù)量

         createby   TYPE ztmm030-createby,   "最后更新人
         createdate TYPE ztmm030-createdate, "最后更新日期
         createtime TYPE ztmm030-createtime, "最后更新時(shí)間


         f1         TYPE char1,

         l1_        TYPE ztmm030-l1,    "庫(kù)存下限
         l2_        TYPE ztmm030-l2,    "庫(kù)存上限

         celtab     TYPE  lvc_t_styl,  "控制字段可編輯的參數(shù)

       END OF gy_data2.

DATA: gs_data2 TYPE gy_data2,
      gt_data2 TYPE TABLE OF gy_data2.
FIELD-SYMBOLS: <fs_data2>  TYPE gy_data2.


DATA: gt_fieldcat_lvc TYPE lvc_t_fcat, "ALV:定義一個(gè)先顯示字段的表
      gs_fieldcat_lvc LIKE LINE OF gt_fieldcat_lvc. "ALV

二、設(shè)計(jì)邏輯

表名-字段名

字段描述

說(shuō)明

MARD-LFGJA

MARD-LFMON

備注:

1.以當(dāng)前年月為查詢條件

MARD-LFGJA ???= 當(dāng)前年

MARD-LFMON ?= 當(dāng)前月份

2.通用庫(kù)存MARD,庫(kù)存數(shù)量不為0的數(shù)據(jù)

3.只查詢V價(jià)物料

MBEW-MATNR =MSPR/MARD-MATNR

MBEW-BWKEY=MSPR/MARD-WERKS

MBEW-VPRSV=V的數(shù)據(jù)

MARD-WERKS

工廠

MARD-LGORT

倉(cāng)庫(kù)

T001L-LGOBE

倉(cāng)儲(chǔ)地點(diǎn)描述

MARD-WERKS=T001L-WERKS

MARD-LGORT=T001L-LGORT

取T001L-LGOBE

MARD-MATNR

物料編碼

MARA-ZWLCMS

物料長(zhǎng)描述

MARD-MATNR=MARA-MATNR

取MARA-ZWLCMS

MSPR-SOBKZ

特殊庫(kù)存

MSPR-PSPNR

特殊庫(kù)存編號(hào)

MARA-MEINS

單位

MSPR-PRLAB

MARD-LABST

庫(kù)存數(shù)量

MSPR-PRLAB≠0

MARD-LABST≠0

用戶輸入

庫(kù)存下限

  1. 用戶可批導(dǎo)
  2. 用戶編輯修改? 只能編輯修改一次?? 可參考ZMM018變更計(jì)劃交期字段?

用戶輸入

庫(kù)存上限

  1. 用戶可批導(dǎo)
  2. 用戶編輯修改? 只能編輯修改一次?? 可參考ZMM018變更計(jì)劃交期字段?

庫(kù)存金額

MBEW-MATNR =MARD-MATNR

MBEW-BWKEY=MARD-WERKS

取到MBEW-VERPR ÷MBEW-PEINH的單價(jià)

再用單價(jià)*所對(duì)應(yīng)的庫(kù)存數(shù)量

文本顯示

庫(kù)存狀態(tài)

狀態(tài)有四種(超上限、庫(kù)存過(guò)低、庫(kù)存正常、空)

當(dāng)前庫(kù)存數(shù)量與庫(kù)存上下限對(duì)比,無(wú)上下限對(duì)比則為空

高于上限值=“超上限”

介于上下限值中間=“庫(kù)存正?!?/span>

低于下限值=“庫(kù)存過(guò)低”文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-854479.html

到了這里,關(guān)于SAP_ABAP_MM_安全庫(kù)存_設(shè)計(jì)方案+實(shí)現(xiàn)代碼(MARD_MBEW )_ALV_行列控制動(dòng)態(tài)編輯的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SAP動(dòng)態(tài)安全庫(kù)存簡(jiǎn)介

    SAP動(dòng)態(tài)安全庫(kù)存簡(jiǎn)介

    動(dòng)態(tài)安全庫(kù)存:跑需求計(jì)劃時(shí),ERP系統(tǒng)按設(shè)置的庫(kù)存方式自動(dòng)計(jì)算出滿足一定時(shí)間內(nèi)可保障生產(chǎn)的庫(kù)存數(shù)量 SAP動(dòng)態(tài)安全庫(kù)存的計(jì)算公式:動(dòng)態(tài)安全庫(kù)存=平均日需求*覆蓋范圍。 平均日需求=特定時(shí)期內(nèi)的總需求/特定時(shí)期內(nèi)的工作天數(shù) 覆蓋范圍指在沒(méi)又貨物供應(yīng)的情況下,庫(kù)存

    2024年02月12日
    瀏覽(24)
  • SAP 從入門(mén)到放棄系列之安全庫(kù)存

    SAP 從入門(mén)到放棄系列之安全庫(kù)存

    安全庫(kù)存的主要目的是以一定數(shù)量的庫(kù)存或時(shí)間的作為緩沖區(qū)間,以應(yīng)對(duì)供需之間波動(dòng)的影響。SAP ERP?系統(tǒng)提供兩種類型的安全庫(kù)存:靜態(tài)安全庫(kù)存和動(dòng)態(tài)安全庫(kù)存(即安全天數(shù)供應(yīng))。 物料主數(shù)據(jù)設(shè)置,MRP2視圖,安全庫(kù)存字段根據(jù)基于服務(wù)水平歷史記錄或之前的消耗情況

    2024年02月07日
    瀏覽(13)
  • ABAP 期初庫(kù)存批量導(dǎo)入 demo1

    --------------------------------------------------------------------- * Report ZMMCP005 --------------------------------------------------------------------- 作者: Liv 完成日期: 描述: 期初庫(kù)存導(dǎo)入 需求簡(jiǎn)要說(shuō)明: --------------------------------------------------------------------- 版本號(hào) 日期 作者 修改描述 功能更改說(shuō)明

    2024年02月12日
    瀏覽(17)
  • 庫(kù)存預(yù)占架構(gòu)升級(jí)方案設(shè)計(jì)-交易庫(kù)存中心

    伴隨物流行業(yè)的迅猛發(fā)展,一體化供應(yīng)鏈模式的落地,對(duì)系統(tǒng)吞吐、系統(tǒng)穩(wěn)定發(fā)出巨大挑戰(zhàn),庫(kù)存作為供應(yīng)鏈的重中之重表現(xiàn)更為明顯。近三年數(shù)據(jù)可以看出: 接入商家同比增長(zhǎng)37.64%、貨品種類同比增長(zhǎng)53.66% 貨品數(shù)量同比增長(zhǎng)46.43%、倉(cāng)庫(kù)數(shù)量同比增長(zhǎng)18.87% 通過(guò)分析過(guò)往大促

    2024年02月11日
    瀏覽(25)
  • SAP/ABAP(二)

    SAP/ABAP(二)

    一、循環(huán)結(jié)構(gòu) 二、條件判斷 三、異常處理(cx-root) 四、結(jié)構(gòu)體,工作區(qū) 五、內(nèi)表

    2024年02月17日
    瀏覽(22)
  • 【SAP ABAP】SAP Webservice & RESTful 接口服務(wù)發(fā)布教程

    【SAP ABAP】SAP Webservice & RESTful 接口服務(wù)發(fā)布教程

    關(guān)于 WebService 概念,這篇文章講解的非常全面,可以移步閱讀《SAP Web service》。 本想通過(guò) RFC 來(lái)發(fā)布 ODATA 服務(wù),奈何當(dāng)前 SAP ECC 版本過(guò)低不支持,只好采用其他方式來(lái)發(fā)布服務(wù),于是就嘗試了下面這兩種方法。 SE37,創(chuàng)建以下測(cè)試用 RFC 測(cè)試執(zhí)行 RFC,得到的數(shù)據(jù)結(jié)果如下圖:

    2024年02月02日
    瀏覽(19)
  • SAP ABAP技術(shù)文章合集_微信公眾號(hào):ABAP猿

    SAP ABAP技術(shù)文章合集_微信公眾號(hào):ABAP猿

    序號(hào) 文章標(biāo)題 01 ABAP OOALV-基本顯示 02 ABAP OOALV-排序、過(guò)濾 03 ABAP OOALV-合計(jì)、小計(jì) 04 ABAP OOALV-選擇模式、觸發(fā)事件 05 ABAP OOALV-隱藏列、修改列標(biāo)題、添加圖標(biāo)列、調(diào)整列位置 06 ABAP OOALV-固定列、鼠標(biāo)懸停文本 07 ABAP OOALV-顏色(列、行、單元格) 08 ABAP OOALV-樣式(列、行、單元格

    2024年02月03日
    瀏覽(53)
  • 庫(kù)存預(yù)占架構(gòu)升級(jí)方案設(shè)計(jì)-交易庫(kù)存中心 | 京東物流技術(shù)團(tuán)隊(duì)

    庫(kù)存預(yù)占架構(gòu)升級(jí)方案設(shè)計(jì)-交易庫(kù)存中心 | 京東物流技術(shù)團(tuán)隊(duì)

    伴隨物流行業(yè)的迅猛發(fā)展,一體化供應(yīng)鏈模式的落地,對(duì)系統(tǒng)吞吐、系統(tǒng)穩(wěn)定發(fā)出巨大挑戰(zhàn),庫(kù)存作為供應(yīng)鏈的重中之重表現(xiàn)更為明顯。近三年數(shù)據(jù)可以看出: 接入商家同比增長(zhǎng)37.64%、貨品種類同比增長(zhǎng)53.66% 貨品數(shù)量同比增長(zhǎng)46.43%、倉(cāng)庫(kù)數(shù)量同比增長(zhǎng)18.87% 通過(guò)分析過(guò)往大促

    2024年02月11日
    瀏覽(94)
  • SAP ABAP 用戶狀態(tài)鎖定案例

    SAP ABAP 用戶狀態(tài)鎖定案例

    一、前言 項(xiàng)目需求是根據(jù)當(dāng)天及前兩天的離職員工信息(假設(shè)這是一個(gè)定時(shí)器任務(wù)每天下午5點(diǎn)執(zhí)行程序,計(jì)算前兩天的員工工號(hào)是為了將5點(diǎn)之后辦理離職的員工工號(hào)找出來(lái)),將這些員工在用戶表 USR02 中的鎖定狀態(tài)設(shè)置為 “64”,以保證離職員工無(wú)法繼續(xù)使用系統(tǒng)賬號(hào)。

    2024年02月15日
    瀏覽(35)
  • SAP ABAP 基礎(chǔ)語(yǔ)法超詳細(xì)

    1.表聲明 當(dāng)你聲明了一個(gè)數(shù)據(jù)表的同時(shí),系統(tǒng)也同時(shí)自動(dòng)生成了一個(gè)和數(shù)據(jù)表同名的結(jié)構(gòu),結(jié)構(gòu)的變量集等于數(shù)據(jù)表里面的字段。 2.定義變量 v1 是變量名。 (l) 是變量的長(zhǎng)度。 t 是數(shù)據(jù)類型。 d 是小數(shù)位。 ‘xxx’ 是缺省值。 如:data num(10) type p decimals 3 value ‘1.12’. 數(shù)據(jù)

    2024年02月15日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包