日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GR/IR明细表

發(fā)布時(shí)間:2025/3/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GR/IR明细表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

*===============================基本信息===============================*
* 標(biāo)題:GR/IR明細(xì)表
* 創(chuàng)建日期:2005-08-05???????
*===============================定??? 義===============================*

************************************************************************
* 基本代碼
************************************************************************
REPORT ZR_FI_017
NO STANDARD PAGE HEADING
LINE-COUNT 65
LINE-SIZE? 174
MESSAGE-ID ZFI1.

************************************************************************
* INCLUDE:包含文件
************************************************************************
INCLUDE OLE2INCL.

************************************************************************
* TABLE: 定義TABLE
************************************************************************
TABLES: T001,? "公司代碼
??????? MAKT,? "物料描述
??????? BKPF,? "會(huì)計(jì)核算憑證標(biāo)題(主表)
??????? BSEG,? "會(huì)計(jì)核算憑證段(從表)
??????? MSEG,? "憑證段:物料
??????? RBKP,
??????? RSEG,
??????? RKWA,? "委托領(lǐng)取
??????? EKPO,? "采購從表
??????? EKBE,? "采購憑證歷史
??????? VBKPF, "預(yù)制憑證的憑證抬頭
??????? SKAT.? "總帳科目主記錄(科目表:說明)
************************************************************************
*INTERNAL TABLES
************************************************************************
*定義內(nèi)表ITABS
*報(bào)表最后輸出時(shí)使用的數(shù)據(jù)
DATA: BEGIN OF IT_PRINT_001 OCCURS 0.
??????? DATA FLAG.
??????? DATA BUKRS LIKE BKPF-BUKRS.??? "公司代碼
??????? DATA GJAHR LIKE BKPF-GJAHR.??? "會(huì)計(jì)年度

??????? DATA BLART LIKE BKPF-BLART.??? "憑證類型
??????? DATA CTYPE LIKE MAKT-MAKTX.??? "憑證類型名
??????? DATA KOART LIKE BSEG-KOART.??? "帳戶類型
??????? DATA SHKZG LIKE BSEG-SHKZG.??? "借方/貸方
??????? DATA BLDAT LIKE BKPF-BLDAT.??? "憑證中的憑證日期
??????? DATA BUDAT LIKE BKPF-BUDAT.??? "憑證中的記帳日期
??????? DATA AUGDT LIKE BSEG-AUGDT.??? "清賬日期
??????? DATA BELNR LIKE BKPF-BELNR.??? "會(huì)計(jì)憑證號(hào)碼
??????? DATA DMBTR LIKE BSEG-DMBTR.??? "按本位幣計(jì)的金額
??????? DATA LIFNR LIKE BSEG-LIFNR.??? "供應(yīng)商編號(hào)
??????? DATA EBELN LIKE BSEG-EBELN.??? "采購憑證號(hào)
??????? DATA EBELP LIKE BSEG-EBELP.??? "采購憑證的項(xiàng)目編號(hào)
??????? DATA ZEKKN LIKE BSEG-ZEKKN.??? "序列號(hào)帳戶分配
??????? DATA MBLNR LIKE MSEG-MBLNR.??? "物料憑證號(hào)
??????? DATA MBLNR2 LIKE MSEG-MBLNR.?? "發(fā)票憑證號(hào)
??????? DATA SGTXT LIKE BSEG-SGTXT.??? "項(xiàng)目文本
??????? DATA MATNR LIKE BSEG-MATNR.??? "物料號(hào)
??????? DATA MAKTX LIKE MAKT-MAKTX.??? "物料描述
??????? DATA MENGE LIKE BSEG-MENGE.??? "出入庫數(shù)量
??????? DATA MEINS LIKE BSEG-MEINS.??? "計(jì)量單位
??????? "DATA NETPR LIKE EKPO-NETPR.?? "采購憑證中的凈價(jià)格(以憑證貨幣計(jì))
??????? DATA NETPR TYPE P DECIMALS 4.? "價(jià)格
??????? DATA PEINH LIKE EKPO-PEINH.??? "價(jià)格單位

??????? DATA HKONT LIKE BSEG-HKONT.??? "總分類帳帳目
??????? DATA AWKEY LIKE BKPF-AWKEY.??? "對(duì)象關(guān)鍵字
??????? DATA ZUONR LIKE BSEG-ZUONR.??? "分配
DATA: END OF IT_PRINT_001.

DATA: ITAB_01 LIKE IT_PRINT_001 OCCURS 10 WITH HEADER LINE.
DATA: ITAB_02 LIKE IT_PRINT_001 OCCURS 10 WITH HEADER LINE.

*往數(shù)據(jù)庫增加運(yùn)行日志
? DATA: BEGIN OF IT_ZREPORTLOG OCCURS? 0.
??? INCLUDE TYPE ZREPORTLOG.
? DATA: END OF IT_ZREPORTLOG.
************************************************************************
* CONSTANTS : 定義常量
************************************************************************

************************************************************************
* TYPE : 定義數(shù)據(jù)類型
************************************************************************
TYPE-POOLS: SLIS.

************************************************************************
* DATA : 定義變量
************************************************************************
DATA: NAME_LAST LIKE USER_ADDR-NAME_LAST,
????? NAME_FIRST LIKE USER_ADDR-NAME_FIRST,
????? NAME(16).

*用于ALV控件雙擊事件
DATA: G_SELECTED_FIELD_VALUE(80).

*ALV控件構(gòu)造時(shí)需要的參數(shù)
DATA: G_ALV_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
????? G_ALV_FIELDCAT_LINE LIKE LINE OF G_ALV_FIELDCAT,
????? G_ALV_EVENT???????? TYPE SLIS_T_EVENT.

*ALV控件輸出的表頭
DATA: G_ALV_LISTHEADER TYPE SLIS_T_LISTHEADER.

*指定ALV控件觸發(fā)TOP_OF_PAGE事件時(shí)調(diào)用的子程序
DATA: G_ALV_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME
???????????? VALUE 'F_ALV_EVENT_TOP_OF_PAGE'.
DATA: G_ALV_FORMNAME_END_OF_LIST TYPE SLIS_FORMNAME
???????????? VALUE 'F_ALV_EVENT_END_OF_LIST'.

*指定ALV控件的顯示特征
DATA : G_ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.
************************************************************************
* DEFINE: 定義宏
************************************************************************

************************************************************************
*? SELECTION SCREEN : 定義報(bào)表篩選條件
************************************************************************
*確定過濾參數(shù)
SELECTION-SCREEN BEGIN OF BLOCK BLK_001 WITH FRAME. TITLE BLK_001 .
??? PARAMETERS: P_GJAHR LIKE BKPF-GJAHR OBLIGATORY MEMORY ID 117_1.??? "會(huì)計(jì)年度
??? PARAMETERS: P_BUKRS LIKE BKPF-BUKRS OBLIGATORY MEMORY ID 117_2.??? "公司代碼
??? PARAMETERS: P_SAKNR LIKE BSEG-SAKNR OBLIGATORY DEFAULT '12010000'
?????????????????????????????????????????????????? MEMORY ID 117_3.??? "G/L科目
??? SELECT-OPTIONS P_BUDAT FOR BKPF-BUDAT MEMORY ID 117_4.???????????? "憑證記帳日期
??? SELECT-OPTIONS P_BELNR FOR BKPF-BELNR MEMORY ID 117_5.???????????? "財(cái)務(wù)憑證編號(hào)
??? SELECT-OPTIONS P_LIFNR FOR BSEG-LIFNR MEMORY ID 117_6.???????????? "供應(yīng)商編號(hào)
??? SELECT-OPTIONS P_EBELN FOR BSEG-EBELN MEMORY ID 117_7.???????????? "采購憑證
??? SELECT-OPTIONS P_EBELP FOR BSEG-EBELP MEMORY ID 117_8.???????????? "采購憑證項(xiàng)目
SELECTION-SCREEN END OF BLOCK BLK_001.

*特殊匯總類型參數(shù)
SELECTION-SCREEN BEGIN OF BLOCK BLK_003 WITH FRAME. TITLE BLK_003 .
??? PARAMETERS: P_TYPE1 AS CHECKBOX DEFAULT 'X'.
??? PARAMETERS: P_TYPE2 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK BLK_003.

*選擇報(bào)表類型
SELECTION-SCREEN BEGIN OF BLOCK BLK_002 WITH FRAME. TITLE BLK_002 .
PARAMETERS: P_REPORT RADIOBUTTON GROUP R1,
??????????? P_ALV RADIOBUTTON GROUP R1 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK BLK_002.


*===============================事??? 件===============================*
************************************************************************
* INITIALIZATION.啟動(dòng)程序開始執(zhí)行
************************************************************************
INITIALIZATION.
? BLK_001 = '檢索參數(shù)'.
? BLK_002 = '報(bào)表類型'.
? BLK_003 = '特殊參數(shù)處理'.
************************************************************************
* AT SELECTION SCREEN:
************************************************************************
AT SELECTION-SCREEN.
? PERFORM. F_CHECK_INPUT.????????? "檢查用戶輸入
************************************************************************
* START OF SELECTION:
************************************************************************
START-OF-SELECTION.
*往數(shù)據(jù)庫增加運(yùn)行日志
? IT_ZREPORTLOG-MANDT = SY-MANDT.
? IT_ZREPORTLOG-TCODE = SY-TCODE.
? IT_ZREPORTLOG-DATUM = SY-DATUM.
? IT_ZREPORTLOG-UZEIT = SY-UZEIT.
? IT_ZREPORTLOG-UNAME = SY-UNAME.
? IT_ZREPORTLOG-TITLE = SY-TITLE.
? APPEND IT_ZREPORTLOG.
? INSERT INTO ZREPORTLOG VALUES IT_ZREPORTLOG .

? PERFORM. F_READ_DATA.

? IF P_REPORT = 'X'.
??? PERFORM. F_PRINT_REPORT.
? ELSEIF P_ALV = 'X'.
??? PERFORM. F_PRINT_ALV.
? ENDIF.
************************************************************************
* END OF SELECTION
************************************************************************
END-OF-SELECTION.

************************************************************************
* TOP OF PAGE
************************************************************************
TOP-OF-PAGE.
? PERFORM. SUB_HEAD.
************************************************************************
* END OF PAGE
************************************************************************
END-OF-PAGE.
? PERFORM. SUB_BOTTOM.


*===============================子 例 程===============================*
*&---------------------------------------------------------------------*
*過濾條件有效性檢查
*&---------------------------------------------------------------------*
FORM. F_CHECK_INPUT.
? "判斷是否輸入GR/IR或GR/IR調(diào)整科目
? IF ( P_SAKNR <> '0012010000' ) AND ( P_SAKNR <> '0012100000' )
?? AND ( P_SAKNR <> '0012019999' ).
??? MESSAGE E055.
? ENDIF.

? "判斷是否存在該憑證記錄
? SELECT SINGLE *
??? FROM BKPF
??? WHERE BUKRS = P_BUKRS AND GJAHR = P_GJAHR
????? AND BELNR IN P_BELNR?? "會(huì)計(jì)憑證號(hào)碼
????? AND BUDAT IN P_BUDAT.? "憑證中的記帳日期

? IF SY-SUBRC <> 0.
??? MESSAGE E054.
? ENDIF.

ENDFORM.??????????????????? " F_CHECK_INPUT
*&---------------------------------------------------------------------*
*從數(shù)據(jù)庫中讀取數(shù)據(jù),填充報(bào)表輸出時(shí)所用的內(nèi)表
*&---------------------------------------------------------------------*
FORM. F_READ_DATA .
DATA: L_MBLNR2 LIKE MSEG-MBLNR.?? "發(fā)票憑證號(hào)
DATA: ITAB_TEMP LIKE IT_PRINT_001 OCCURS 10 WITH HEADER LINE.

*----主記錄處理
? IF P_TYPE2 = 'X'.
??? SELECT BUKRS???????? "公司代碼
?????????? GJAHR???????? "會(huì)計(jì)年度
?????????? BELNR???????? "會(huì)計(jì)憑證號(hào)碼
?????????? BLART???????? "憑證類型
?????????? BLDAT???????? "憑證中的憑證日期
?????????? BUDAT???????? "憑證中的記帳日期
?????????? AWKEY???????? "對(duì)象關(guān)鍵字
????? FROM BKPF
????? INTO CORRESPONDING FIELDS OF TABLE ITAB_01
????? WHERE BUKRS = P_BUKRS
??????? AND GJAHR = P_GJAHR
??????? AND BELNR IN P_BELNR
??????? AND BUDAT IN P_BUDAT
??????? AND ( BLART = 'WA' OR BLART = 'WE' OR BLART = 'RE'? ).
?? ELSE.
??? SELECT BUKRS???????? "公司代碼
?????????? GJAHR???????? "會(huì)計(jì)年度
?????????? BELNR???????? "會(huì)計(jì)憑證號(hào)碼
?????????? BLART???????? "憑證類型
?????????? BLDAT???????? "憑證中的憑證日期
?????????? BUDAT???????? "憑證中的記帳日期
?????????? AWKEY???????? "對(duì)象關(guān)鍵字
????? FROM BKPF
????? INTO CORRESPONDING FIELDS OF TABLE ITAB_01
????? WHERE BUKRS = P_BUKRS
??????? AND GJAHR = P_GJAHR
??????? AND BELNR IN P_BELNR
??????? AND BUDAT IN P_BUDAT.
?? ENDIF.

*----從記錄處理
?? LOOP AT ITAB_01.
???? REFRESH ITAB_02.
???? CLEAR ITAB_02.
???? IF P_TYPE1 = 'X'.
?????? SELECT BUKRS????? "公司代碼
????????????? GJAHR????? "會(huì)計(jì)年度
????????????? BELNR????? "會(huì)計(jì)憑證號(hào)碼
????????????? KOART????? "帳戶類型
????????????? SHKZG????? "借方/貸方
????????????? DMBTR????? "按本位幣計(jì)的金額
????????????? SGTXT????? "項(xiàng)目文本
????????????? HKONT????? "總分類帳帳目
????????????? LIFNR????? "供應(yīng)商或債權(quán)人的帳號(hào)
????????????? EBELN????? "采購單號(hào)
????????????? EBELP????? "采購憑證的項(xiàng)目編號(hào)
????????????? MATNR????? "物料號(hào)
????????????? MENGE????? "數(shù)量
????????????? MEINS????? "基本單位
????????????? ZEKKN????? "序列號(hào)帳戶分配
????????????? AUGDT????? "清帳日期
????????????? ZUONR????? "分配
???????? FROM BSEG
???????? INTO CORRESPONDING FIELDS OF TABLE ITAB_02
???????? WHERE BUKRS = ITAB_01-BUKRS
?????????? AND GJAHR = ITAB_01-GJAHR
?????????? AND BELNR = ITAB_01-BELNR
?????????? AND BUZEI <> ''
*?????????? AND LIFNR IN P_LIFNR?? "直接取BSEG上的供應(yīng)商,這種方法不全面,有些記錄上不含記錄.
?????????? AND EBELN IN P_EBELN
?????????? AND EBELP IN P_EBELP
?????????? AND HKONT = P_SAKNR
?????????? AND AUGDT = '00000000'.???? "清帳日期
???? ELSE.
?????? SELECT BUKRS????? "公司代碼
????????????? GJAHR????? "會(huì)計(jì)年度
????????????? BELNR????? "會(huì)計(jì)憑證號(hào)碼
????????????? KOART????? "帳戶類型
????????????? SHKZG????? "借方/貸方
????????????? DMBTR????? "按本位幣計(jì)的金額
????????????? SGTXT????? "項(xiàng)目文本
????????????? HKONT????? "總分類帳帳目
????????????? LIFNR????? "供應(yīng)商或債權(quán)人的帳號(hào)
????????????? EBELN????? "采購單號(hào)
????????????? EBELP????? "采購憑證的項(xiàng)目編號(hào)
????????????? MATNR????? "物料號(hào)
????????????? MENGE????? "數(shù)量
????????????? MEINS????? "基本單位
????????????? ZEKKN????? "序列號(hào)帳戶分配
????????????? AUGDT????? "清帳日期
????????????? ZUONR????? "分配
???????? FROM BSEG
???????? INTO CORRESPONDING FIELDS OF TABLE ITAB_02
???????? WHERE BUKRS = ITAB_01-BUKRS
?????????? AND GJAHR = ITAB_01-GJAHR
?????????? AND BELNR = ITAB_01-BELNR
?????????? AND BUZEI <> ''
*?????????? AND LIFNR IN P_LIFNR
?????????? AND EBELN IN P_EBELN
?????????? AND EBELP IN P_EBELP
?????????? AND HKONT = P_SAKNR.
???? ENDIF.

???? "將ITAB_01表的相關(guān)記錄賦值到ITAB_02內(nèi)表
???? LOOP AT ITAB_02.
?????? ITAB_02-BLART = ITAB_01-BLART.
?????? ITAB_02-BLDAT = ITAB_01-BLDAT.
?????? ITAB_02-BUDAT = ITAB_01-BUDAT.
?????? "非寄售產(chǎn)生的GR/IR
?????? IF ITAB_02-BLART <> 'RE'.
???????? ITAB_02-MBLNR = ITAB_01-AWKEY(10).?? "取物料憑證號(hào)
?????? ELSE.
???????? ITAB_02-MBLNR2 = ITAB_01-AWKEY(10).? "取發(fā)票憑證號(hào)
?????? ENDIF.
?????? "寄售產(chǎn)生的GR/IR
?????? IF ITAB_02-BLART = 'WA'.
???????? ITAB_02-MBLNR = ITAB_02-ZUONR(10).?? "取物料憑證號(hào)
?????? ENDIF.
?????? "寄售開票產(chǎn)生的GR/IR
?????? IF ITAB_02-BLART = 'RE' AND ITAB_02-EBELN = ''.
???????? ITAB_02-MBLNR = ITAB_02-ZUONR(10).?? "取物料憑證號(hào)
?????? ENDIF.

?????? MODIFY ITAB_02.
???? ENDLOOP.

???? "將ITAB_02表的相關(guān)記錄COPY到IT_PRINT_001內(nèi)表
???? LOOP AT ITAB_02.
?????? IT_PRINT_001-BUKRS = ITAB_02-BUKRS.
?????? IT_PRINT_001-GJAHR = ITAB_02-GJAHR.
?????? IT_PRINT_001-BELNR = ITAB_02-BELNR.
?????? IT_PRINT_001-KOART = ITAB_02-KOART.
?????? IT_PRINT_001-AUGDT = ITAB_02-AUGDT.
?????? IT_PRINT_001-SHKZG = ITAB_02-SHKZG.
?????? IF ITAB_02-SHKZG = 'S'.
???????? IT_PRINT_001-DMBTR = ITAB_02-DMBTR.
?????? ELSE.
???????? IT_PRINT_001-DMBTR = 0 - ITAB_02-DMBTR.
?????? ENDIF.
?????? IT_PRINT_001-SGTXT = ITAB_02-SGTXT.
?????? IT_PRINT_001-HKONT = ITAB_02-HKONT.
?????? IT_PRINT_001-LIFNR = ITAB_02-LIFNR.
?????? IT_PRINT_001-EBELN = ITAB_02-EBELN.
?????? IT_PRINT_001-EBELP = ITAB_02-EBELP.
?????? IT_PRINT_001-MATNR = ITAB_02-MATNR.
?????? IT_PRINT_001-MENGE = ITAB_02-MENGE.
?????? IT_PRINT_001-MEINS = ITAB_02-MEINS.
?????? IT_PRINT_001-ZEKKN = ITAB_02-ZEKKN.
?????? IT_PRINT_001-BLART = ITAB_02-BLART.
?????? IT_PRINT_001-BLDAT = ITAB_02-BLDAT.
?????? IT_PRINT_001-BUDAT = ITAB_02-BUDAT.
?????? IT_PRINT_001-MBLNR = ITAB_02-MBLNR.
?????? IT_PRINT_001-MBLNR2 = ITAB_02-MBLNR2.
?????? APPEND IT_PRINT_001.
???? ENDLOOP.
?? ENDLOOP.

*--取非寄售的發(fā)票號(hào)
? LOOP AT IT_PRINT_001.
??? L_MBLNR2 = ''.
??? "如果是發(fā)票憑證的取其發(fā)票號(hào)
??? IF IT_PRINT_001-BLART = 'WE'.
????? SELECT BELNR
??????? INTO L_MBLNR2
??????? FROM EKBE
??????? WHERE EBELN = IT_PRINT_001-EBELN
????????? AND EBELP = IT_PRINT_001-EBELP
????????? AND ZEKKN = IT_PRINT_001-ZEKKN
????????? AND VGABE = '2'
????????? AND GJAHR = P_GJAHR
????????? AND BELNR <> ''
????????? AND BUZEI <> ''
????????? AND LFBNR = IT_PRINT_001-MBLNR.
????? ENDSELECT.

????? "如果是物料憑證的通過以下方法取其發(fā)票號(hào)
????? IF L_MBLNR2 = ''.
??????? SELECT BELNR
????????? INTO L_MBLNR2
????????? FROM EKBE
????????? WHERE EBELN = IT_PRINT_001-EBELN
??????????? AND EBELP = IT_PRINT_001-EBELP
??????????? AND ZEKKN = IT_PRINT_001-ZEKKN
??????????? AND VGABE = '2'
??????????? AND GJAHR = P_GJAHR
??????????? AND BELNR <> ''
??????????? AND BUZEI <> ''
??????????? AND LFBNR IN (
????????????????? SELECT LFBNR?????????????????????????? "參考憑證的憑證號(hào)
???????????????????? FROM EKBE
???????????????????? WHERE EBELN = IT_PRINT_001-EBELN??? "采購憑證
?????????????????????? AND EBELP = IT_PRINT_001-EBELP??? "采購憑證項(xiàng)目
?????????????????????? AND ZEKKN = IT_PRINT_001-ZEKKN
?????????????????????? AND VGABE = '1'
?????????????????????? AND GJAHR = P_GJAHR
?????????????????????? AND BELNR = IT_PRINT_001-MBLNR???? "物料憑證號(hào)
?????????????????????? AND BUZEI <> ''
?????????????????????????? ).
??????? ENDSELECT.
????? ENDIF.

????? IT_PRINT_001-MBLNR2 = L_MBLNR2.
????? MODIFY IT_PRINT_001.
??? ENDIF.
? ENDLOOP.

*--取寄售的發(fā)票號(hào)
? LOOP AT IT_PRINT_001.
??? IF IT_PRINT_001-BLART = 'WA'.
????? SELECT BELNR
??????? INTO IT_PRINT_001-MBLNR2
??????? FROM RKWA
??????? WHERE MBLNR = IT_PRINT_001-MBLNR
????????? AND MJAHR = P_GJAHR
????????? AND ZEILE <> ''
????????? AND LIFNR = IT_PRINT_001-LIFNR
????????? AND WERKS = IT_PRINT_001-BUKRS
????????? AND MATNR = IT_PRINT_001-MATNR.
??????? ENDSELECT.

????? MODIFY IT_PRINT_001.
??? ENDIF.
? ENDLOOP.

*--判斷該記錄是否開票過否,若開過,則刪除該記錄
? IF P_TYPE2 = 'X'.
??? LOOP AT IT_PRINT_001.
????? IF IT_PRINT_001-MBLNR2 <> ''.
??????? DELETE IT_PRINT_001.
????? ENDIF.
??? ENDLOOP.
? ENDIF.

*--取發(fā)票檢驗(yàn)的物料憑證號(hào)
? LOOP AT IT_PRINT_001.
??? IF IT_PRINT_001-BLART = 'RE'.
????? SELECT LFBNR
??????? INTO IT_PRINT_001-MBLNR
??????? FROM EKBE
??????? WHERE EBELN = IT_PRINT_001-EBELN
????????? AND EBELP = IT_PRINT_001-EBELP
????????? AND ZEKKN = IT_PRINT_001-ZEKKN
????????? AND VGABE = '2'
????????? AND GJAHR = P_GJAHR
????????? AND BELNR = IT_PRINT_001-MBLNR2
????????? AND BUZEI <> ''.
??????? ENDSELECT.

????? MODIFY IT_PRINT_001.
??? ENDIF.
? ENDLOOP.

*--取價(jià)格
? LOOP AT IT_PRINT_001.
??? IF IT_PRINT_001-MENGE <> 0.
????? IT_PRINT_001-NETPR = IT_PRINT_001-DMBTR * 100 / IT_PRINT_001-MENGE.
????? IT_PRINT_001-PEINH = 100.
??? ELSE.
????? IT_PRINT_001-NETPR = 0.
????? IT_PRINT_001-PEINH = 0.
??? ENDIF.

??? MODIFY IT_PRINT_001.
? ENDLOOP.

*--取供應(yīng)商編號(hào)(根據(jù)采購訂單號(hào))
? LOOP AT IT_PRINT_001.
??? IF IT_PRINT_001-EBELN <> ''.
????? SELECT LIFNR
??????? INTO IT_PRINT_001-LIFNR
??????? FROM EKKO
??????? WHERE EBELN = IT_PRINT_001-EBELN.
????? ENDSELECT.
??? ELSE.
????? SELECT LIFNR
??????? INTO IT_PRINT_001-LIFNR
??????? FROM BSEG
??????? WHERE BUKRS = IT_PRINT_001-BUKRS
????????? AND BELNR = IT_PRINT_001-MBLNR
????????? AND GJAHR = IT_PRINT_001-GJAHR
????????? AND BUZEI = 1
????????? AND BUZID = 'K'.
????? ENDSELECT.
??? ENDIF.

??? MODIFY IT_PRINT_001.
? ENDLOOP.

*--供應(yīng)商過濾
? LOOP AT IT_PRINT_001.
??? IF IT_PRINT_001-LIFNR NOT IN P_LIFNR.
????? DELETE IT_PRINT_001.
??? ENDIF.
? ENDLOOP.

*--取物料描述
? LOOP AT IT_PRINT_001.
??? SELECT MAKTX
????? INTO IT_PRINT_001-MAKTX
????? FROM MAKT
????? WHERE SPRAS = '1'
??????? AND MATNR = IT_PRINT_001-MATNR.
??? ENDSELECT.
??? MODIFY IT_PRINT_001.
? ENDLOOP.

*--記錄類型名稱處理
? LOOP AT IT_PRINT_001.
??? "
??? IF IT_PRINT_001-BLART = 'WA'.
????? IF IT_PRINT_001-SHKZG = 'H'.
??????? IT_PRINT_001-CTYPE = '寄售物料-領(lǐng)料'.
????? ELSE.
??????? IT_PRINT_001-CTYPE = '寄售物料-退料'.
????? ENDIF.
??? ENDIF.
??? "
??? IF IT_PRINT_001-BLART = 'WE'.
????? IF IT_PRINT_001-SHKZG = 'H'.
??????? IT_PRINT_001-CTYPE = '采購收貨入庫'.
????? ELSE.
??????? IT_PRINT_001-CTYPE = '采購?fù)素洺鰩?#39;.
????? ENDIF.
??? ENDIF.
??? "
??? IF IT_PRINT_001-BLART = 'RE'.
????? IF IT_PRINT_001-EBELN = ''.
??????? IF IT_PRINT_001-SHKZG = 'H'.
????????? IT_PRINT_001-CTYPE = '發(fā)票檢驗(yàn)(寄售物料-退料)'.
??????? ELSE.
????????? IT_PRINT_001-CTYPE = '發(fā)票檢驗(yàn)(寄售物料-領(lǐng)料)'.
??????? ENDIF.
????? ELSE.
??????? IT_PRINT_001-CTYPE = '發(fā)票檢驗(yàn)'.
????? ENDIF.
??? ENDIF.
??? "
??? IF IT_PRINT_001-BLART = 'AB'.
????? IT_PRINT_001-CTYPE = '自動(dòng)清賬'.
??? ENDIF.
??? "
??? IF IT_PRINT_001-BLART = 'SA'.
????? IF IT_PRINT_001-SHKZG = 'H'.
??????? IT_PRINT_001-CTYPE = 'GR/IR調(diào)整-沖銷'.
????? ELSE.
??????? IT_PRINT_001-CTYPE = 'GR/IR調(diào)整'.
????? ENDIF.
??? ENDIF.

??? MODIFY IT_PRINT_001.
? ENDLOOP.

ENDFORM.??????????????????? " F_READ_DATA
*&---------------------------------------------------------------------*
*???? 普通報(bào)表格式的打印
*&---------------------------------------------------------------------*
FORM. F_PRINT_REPORT.

ENDFORM.???????????????????? " F_PRINT_REPORT
*&---------------------------------------------------------------------*
*A???? ALV報(bào)表格式的打印
*&---------------------------------------------------------------------*
FORM. F_PRINT_ALV.
? REFRESH G_ALV_LISTHEADER[].
? PERFORM. F_ALV_MODIFY_LISTHEADER .
? REFRESH G_ALV_FIELDCAT.
? PERFORM. F_ALV_BUILD_FIELDCAT.
? PERFORM. F_ALV_BUILD_EVENTCAT.
? PERFORM. F_ALV_DISPLAY.
? STOP.
ENDFORM.??????????????????? " F_PRINT_ALV
*&---------------------------------------------------------------------*
*&????? 設(shè)置ALV報(bào)表輸出時(shí)的抬頭信息
*&---------------------------------------------------------------------*
FORM. F_ALV_MODIFY_LISTHEADER .
? DATA : L_ALV_LISTHEADER_LINE LIKE LINE OF G_ALV_LISTHEADER.
? L_ALV_LISTHEADER_LINE-TYP = 'H'.
? L_ALV_LISTHEADER_LINE-KEY = ''.
? L_ALV_LISTHEADER_LINE-INFO = 'GR/IR明細(xì)表'.
? APPEND L_ALV_LISTHEADER_LINE TO G_ALV_LISTHEADER.
ENDFORM.??????????????????? " F_ALV_MODIFY_LISTHEADER
*&---------------------------------------------------------------------*
*&????? 設(shè)置ALV報(bào)表輸出時(shí)的字段 NEED MODIFY
*&---------------------------------------------------------------------*
FORM. F_ALV_BUILD_FIELDCAT .
? DATA : COL_POS TYPE I VALUE 0.
? G_ALV_LAYOUT-GET_SELINFOS????? = 'X'.
? G_ALV_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
? G_ALV_LAYOUT-DETAIL_POPUP????? = 'X'.
? G_ALV_LAYOUT-BOX_FIELDNAME???? = 'FLAG'.
? G_ALV_LAYOUT-NO_KEYFIX???????? = 'X'.
? G_ALV_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BKPF'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'BUKRS'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'BUKRS'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '公司代碼'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '公司代碼'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '公司代碼'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '公司代碼'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BKPF'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'BLART'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'BLART'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '憑證類型'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '憑證類型'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '憑證類型'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '憑證類型'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MAKT'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MAKTX'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'CTYPE'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '類型名稱'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '類型名稱'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '類型名稱'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '類型名稱'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BKPF'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'BLDAT'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'BLDAT'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '憑證日期'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '憑證日期'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '憑證日期'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '憑證日期'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BKPF'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'BUDAT'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'BUDAT'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '記帳日期'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '記帳日期'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '記帳日期'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '記帳日期'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BKPF'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'AUGDT'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'AUGDT'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '清帳日期'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '清帳日期'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '清帳日期'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '清帳日期'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BKPF'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'BELNR'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'BELNR'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '會(huì)計(jì)憑證號(hào)碼'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '會(huì)計(jì)憑證號(hào)碼'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '會(huì)計(jì)憑證號(hào)碼'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '會(huì)計(jì)憑證號(hào)碼'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.


? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'DMBTR'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'DMBTR'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '本位幣計(jì)的金額'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '本位幣計(jì)的金額'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '本位幣計(jì)的金額'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '本位幣計(jì)的金額'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'LIFNR'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'LIFNR'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '供應(yīng)商編號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '供應(yīng)商編號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '供應(yīng)商編號(hào)'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '供應(yīng)商編號(hào)'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'EBELN'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'EBELN'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '采購憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '采購憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '采購憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '采購憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'EBELP'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'EBELP'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '采購項(xiàng)目號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '采購項(xiàng)目號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '采購項(xiàng)目號(hào)'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '采購項(xiàng)目號(hào)'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MBLNR'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'MBLNR'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '物料憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '物料憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '物料憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '物料憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MBLNR'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'MBLNR2'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '發(fā)票憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '發(fā)票憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '發(fā)票憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '發(fā)票憑證號(hào)'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'EKPO'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MATNR'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'MATNR'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '物料號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '物料號(hào)'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '物料號(hào)'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '物料號(hào)'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MAKT'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MAKTX'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'MAKTX'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '物料描述'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '物料描述'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '物料描述'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '物料描述'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MENGE'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'MENGE'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '出入庫數(shù)量'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '出入庫數(shù)量'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '出入庫數(shù)量'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '出入庫數(shù)量'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MEINS'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'MEINS'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '計(jì)量單位'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '計(jì)量單位'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '計(jì)量單位'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '計(jì)量單位'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'EKPO'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'NETPR'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'NETPR'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '凈價(jià)格'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '凈價(jià)格'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '凈價(jià)格'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '凈價(jià)格'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'EKPO'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'PEINH'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'PEINH'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '價(jià)格單位'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '價(jià)格單位'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '價(jià)格單位'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '價(jià)格單位'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'SGTXT'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'SGTXT'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '項(xiàng)目文本'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '項(xiàng)目文本'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '項(xiàng)目文本'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '項(xiàng)目文本'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

? ADD 1 TO COL_POS.
? G_ALV_FIELDCAT_LINE-REF_TABNAME = 'BSEG'.
? G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'.
? G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'HKONT'.
? G_ALV_FIELDCAT_LINE-FIELDNAME = 'HKONT'.
? G_ALV_FIELDCAT_LINE-KEY = ''.
? G_ALV_FIELDCAT_LINE-DDICTXT(1)? = 'L'.
? G_ALV_FIELDCAT_LINE-SELTEXT_S = '總分類帳帳目'.
? G_ALV_FIELDCAT_LINE-SELTEXT_L = '總分類帳帳目'.
? G_ALV_FIELDCAT_LINE-SELTEXT_M = '總分類帳帳目'.
? G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '總分類帳帳目'.
? G_ALV_FIELDCAT_LINE-COL_POS = COL_POS.
? APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.

ENDFORM.??????????????????? " F_ALV_BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*&????? 改變ALV的TOP_OF_PAGE事件處理過程
*&---------------------------------------------------------------------*
FORM. F_ALV_BUILD_EVENTCAT .
? DATA : LS_EVENT TYPE SLIS_ALV_EVENT.
? CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
?????? EXPORTING
??????????? I_LIST_TYPE = 0
?????? IMPORTING
??????????? ET_EVENTS?? = G_ALV_EVENT.
? READ TABLE G_ALV_EVENT WITH KEY NAME =
?????? SLIS_EV_TOP_OF_PAGE INTO LS_EVENT.
? IF SY-SUBRC = 0.
??? MOVE G_ALV_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
??? APPEND LS_EVENT TO G_ALV_EVENT.
? ENDIF.
ENDFORM.??????????????????? " F_ALV_BUILD_EVENTCAT
*&---------------------------------------------------------------------*
*&????? 調(diào)用ALV控件的輸出程序
*&---------------------------------------------------------------------*
FORM. F_ALV_DISPLAY .
? CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
?????? EXPORTING
???????? I_CALLBACK_PROGRAM????? = 'ZR_FI_017'
???????? I_CALLBACK_USER_COMMAND = 'F_ALV_USER_COMMAND'
???????? IS_LAYOUT?????????????? = G_ALV_LAYOUT
???????? IT_FIELDCAT???????????? = G_ALV_FIELDCAT
???????? I_SAVE????????????????? = 'A'
???????? IT_EVENTS?????????????? = G_ALV_EVENT
???????? I_GRID_TITLE??????????? = ''
?????? TABLES
???????? T_OUTTAB??????????????? = IT_PRINT_001
?????? EXCEPTIONS
???????? PROGRAM_ERROR?????????? = 1
???????? OTHERS????????????????? = 2.
ENDFORM.??????????????????? " F_ALV_DISPLAY
*&---------------------------------------------------------------------*
*&????? ALV控件雙擊事件的接口
*&---------------------------------------------------------------------*
FORM. F_ALV_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
??????????????????????? RS_SELFIELD TYPE SLIS_SELFIELD.
? DATA S_TEMP(100) TYPE C.
? CASE R_UCOMM.
??? WHEN '&IC1'.? "NEED MODIFY
????? IF RS_SELFIELD-SEL_TAB_FIELD = 'IT_PRINT_001-MATNR'.
??????? G_SELECTED_FIELD_VALUE =? RS_SELFIELD-VALUE.
?????? "需調(diào)用其它程序。

????? ENDIF.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? "F_ALV_USER_COMMAND
*&---------------------------------------------------------------------*
*&????? 調(diào)用ALV控件的抬頭輸出程序
*&---------------------------------------------------------------------*
FORM. F_ALV_EVENT_TOP_OF_PAGE.
? CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
?????? EXPORTING
???????? IT_LIST_COMMENTARY = G_ALV_LISTHEADER.
ENDFORM. "F_ALV_EVENT_TOP_OF_PAGE
*&---------------------------------------------------------------------*
*&????? 輸出ALV的頁腳
*&---------------------------------------------------------------------*
FORM. F_ALV_EVENT_END_OF_LIST.
? SKIP.
? WRITE: AT 280 '總計(jì):'.
ENDFORM. "F_ALV_EVENT_END_OF_LIST
*&---------------------------------------------------------------------*
*&????? 單據(jù)表頭顯示
*&---------------------------------------------------------------------*
FORM. SUB_HEAD.

ENDFORM.??????????????????? " SUB_OUTPUTHEAD
*&---------------------------------------------------------------------
*&????? 單據(jù)表尾顯示
*&---------------------------------------------------------------------
FORM. SUB_BOTTOM.
*取制單人
?CLEAR NAME_LAST.
?CLEAR NAME_FIRST.
?CLEAR NAME.
?SELECT NAME_LAST NAME_FIRST
????? FROM USER_ADDR
?? INTO (NAME_LAST, NAME_FIRST)
?? WHERE BNAME = SY-UNAME .?? "取logon 帳號(hào)
?ENDSELECT.
?CONCATENATE NAME_LAST(4) NAME_FIRST(8) INTO NAME.

?WRITE: AT 70? '操作員',NAME+0(10) LEFT-JUSTIFIED .
?WRITE: AT 90 '打印時(shí)間:',SY-DATUM,SY-UZEIT.
ENDFORM.??????????????????? "SUB_BOTTOM

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的GR/IR明细表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。