我寫的ABAP代碼規範文檔

我寫的ABAP代碼規範文檔[@more@]

*ABAP代碼編寫要求

*&--------------------------------------------------------------------------------*
*& PROGRAM NAME : ZUCP_MM_0001 *
*$ Version : 1.0 *
*& MODULE NAME : MM *
*& AUTHOR : XXX,QIUJUN      *
*& CREATE DATE : 2006-11-20   *
*& MODIFY REASON : XXXXXXXXXXXXXXXXXXXX       *
*& MODIFY DATE : XXXXXXXXXX *
*& PROGRAM TYPE : REPORTS      *
*& SAP RELEASE : 6.0       *
*& DESCRIPTION : 倉庫庫存報表       *
*&--------------------------------------------------------------------------------*


REPORT ZUCP_MM_0001
NO STANDARD PAGE HEADING
LINE-COUNT 66
LINE-SIZE 120.

*單元命名規則
*統一以ZUCP或ZWT開頭後面跟模組名和程式流水號,測試程式加TEST(ZUCP_TEST_0001),
*修改程式時不可以在原程式上修改,要COPY原程式建一個新的程式,修改後的程式名
*從V2(ZUCP_MM_0001_V2)開始,依此類推.
*&--------------------------------------------------------------------------------*
*& TABLES:
*&--------------------------------------------------------------------------------*
TABLES: MARA,MAKT,MSEG.
*&--------------------------------------------------------------------------------*
*& PROGRAM VARIABLES OR INCLUDE
*&--------------------------------------------------------------------------------*


*&--------------------------------------------------------------------------------*
*& INTERNAL TABLES AND WORK AREAS *
*&--------------------------------------------------------------------------------*

*內表定義規則
*Internal tables (global):ITAB 需要輸出的主內表統一命名爲ITAB
*Internal Tables (Local) :ITAB_XXX 子內表
*工作區 WA_XXXX

DATA: BEGIN OF ITAB OCCURS 0, "主內表

MATNR LIKE MARA-MATNR,
MATKL LIKE MARA-MATKL,
MEINS LIKE MARA-MEINS,
MAKTX LIKE MAKT-MAKTX,
LABST LIKE MARD-LABST,

END OF ITAB.

*&--------------------------------------------------------------------------------*
*& SELECT SCREEN
*&--------------------------------------------------------------------------------*
SELECTION-SCREEN: BEGIN OF BLOCK A1 WITH FRAME TITLE T1.
PARAMETERS : P_MATNR LIKE MARA-MATNR OBLIGATORY DEFAULT 'ZS-UCP'." 物料號
SELECT-OPTIONS: SO_MATKL FOR MARA-MATKL . "物料組
SELECTION-SCREEN: END OF BLOCK A1.

*螢幕選擇定義
*PARAMETERS P_XXXXX
*SELECT-OPTIONS SO_XXXXX
*T1的值統一在INITIALIZATION下定義,不在內文符號下定義.

***********************************************************************************
* INITIALIZATION
***********************************************************************************
INITIALIZATION.

T1 = '選擇條件'.

***********************************************************************************
* AT SELECTION-SCREEN
***********************************************************************************
AT SELECTION-SCREEN .

SELECT SINGLE MATNR
INTO MARA-MATNR
FROM MARA
WHERE MATNR EQ P_MATNR .

IF SY-SUBRC <> 0.
MESSAGE '沒有查找到相關資訊!' TYPE 'I'.
CLEAR p_matnr.
ENDIF.

*MESSAGE 統一用TYPE的方法,不用SE91定義.

***********************************************************************************
* START-OF-SELECTION
***********************************************************************************
START-OF-SELECTION.

*每個程式處理塊儘量寫明作用和描述

*-------------------------------取庫存數量---------------------------*
SELECT A~MATNR A~MATKL A~MEINS B~LABST
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM MARA AS A
INNER JOIN MARD AS B ON A~MATNR EQ B~MATNR
WHERE A~MATNR EQ P_MATNR
AND A~MATKL IN SO_MATKL.

*-------------------------------取物料描述---------------------------*
LOOP AT ITAB.

SELECT SINGLE MAKTX FROM MAKT INTO ITAB-MAKTX
WHERE MATNR EQ ITAB-MATNR
AND SPRAS EQ SY-LANGU.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING INPUT = ITAB-MATKL "將要去零的變數輸入到此處。
IMPORTING OUTPUT = ITAB-MATKL.

MODIFY ITAB.
CLEAR ITAB.
ENDLOOP.

***********************************************************************************
* TOP-OF-PAGE
***********************************************************************************
TOP-OF-PAGE.
*-------------------------------表頭輸出---------------------------*
skip.
WRITE AT /45 ' 中山華泰工藝製品有限公司 ' COLOR 1.

WRITE AT /50 ' 倉庫庫存報表 ' COLOR 1.
skip.
WRITE /1(100) sy-uline .
WRITE: /1 sy-vline,(10) '物料' NO-GAP CENTERED COLOR 2,
12 sy-vline,(40) '物料描述' COLOR 2,
50 sy-vline,(10) '物料群組' NO-GAP CENTERED COLOR 2,
65 sy-vline,(20) '數量' NO-GAP CENTERED COLOR 2,
90 sy-vline,(8) '單位' NO-GAP CENTERED COLOR 2,
100 sy-vline,
/1(100) sy-uline .
***********************************************************************************
* END-OF-SELECTION
***********************************************************************************
END-OF-SELECTION.
*-------------------------------總表輸出---------------------------*
LOOP AT ITAB.
WRITE: /1 sy-vline,(10) ITAB-MATNR NO-GAP CENTERED,
12 sy-vline,(40) ITAB-MAKTX ,
50 sy-vline,(10) ITAB-MATKL RIGHT-JUSTIFIED,
65 sy-vline,(20) ITAB-LABST RIGHT-JUSTIFIED,
90 sy-vline,(25) ITAB-MEINS NO-GAP CENTERED,
100 sy-vline,
/1(100) sy-uline .
ENDLOOP.

***********************************************************************************
* END-OF-PAGE
***********************************************************************************
end-of-page.

*注釋規則
*1) 任何總體變數要簡單解釋作用或使用地方
*2) 任何函數超過30行的函數或form必須在關鍵位置加注釋
*3) 解釋操作意圖
*4) 注釋裏的創建日期和修改日期必須認證填寫爲實際日期

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/581999/viewspace-903767/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/581999/viewspace-903767/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值