*&---------------------------------------------------------------------*
*& Report ZPPR0103
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPPR0103.
*定义类型池
TYPE-POOLS:SLIS,OLE2.
*定义要用的表
TABLES:MAKT,MARD,MKPF,MSEG,T001L.
*&---------------------------------------------------------------------*
*&内表和工作区声明
*&---------------------------------------------------------------------*
TYPES: BEGIN OF LS_OUT,
NUMBER TYPE I,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
KZVLL LIKE MSEG-MENGE,"期初在制(期初库存)
INCOM LIKE MSEG-MENGE,"来料101/102
OL LIKE MSEG-MENGE,"报工下线 261/262
RGPC LIKE MSEG-MENGE,"好品退客户 551/552
* RCBM LIKE MSEG-MENGE,"来料不良退客户 551/552
WSCR LIKE MSEG-MENGE,"作业报废 Z57/Z58
SFPS LIKE MSEG-MENGE,"半成品报废 Z91
DADJ LIKE MSEG-MENGE,"原材料差异调整 201/202
RMRA LIKE MSEG-MENGE,"原材料替代料差异调整 Z93/Z94
SSMD LIKE MSEG-MENGE,"半成品替代料差异调整 309
SPDA LIKE MSEG-MENGE,"半成品差异调整 161/162
SHIP LIKE MSEG-MENGE,"出货 Z61/Z62
THIN LIKE MSEG-MENGE,"总在制(理论库存)
RTIN LIKE MSEG-MENGE,"SAP(实时库存)
DIFF LIKE MSEG-MENGE,"差异
END OF LS_OUT.
DATA:LT_OUT TYPE STANDARD TABLE OF LS_OUT WITH HEADER LINE.
TYPES: BEGIN OF LS_MKPF_MSEG,
MBLNR LIKE MSEG-MBLNR,"物料凭证
MJAHR LIKE MSEG-MJAHR,"物料凭证年度
ZEILE LIKE MSEG-ZEILE,"项目
MATNR LIKE MSEG-MATNR,"物料
BWART LIKE MSEG-BWART,"移动类型
WERKS LIKE MSEG-WERKS,"工厂
LGORT LIKE MSEG-LGORT,"库存地点
MENGE LIKE MSEG-MENGE,"数量
BUDAT LIKE MKPF-BUDAT,"过账日期
SPRAS LIKE MAKT-SPRAS,"语言
MAKTX LIKE MAKT-MAKTX,"描述
MAKTG LIKE MAKT-MAKTG,"描述
SHKZG LIKE MSEG-SHKZG,"借/贷标识 S/H
END OF LS_MKPF_MSEG.
*内表定义(带表头)
DATA: LT_MKPF_MSEG TYPE STANDARD TABLE OF LS_MKPF_MSEG WITH HEADER LINE.
*查询所有的移动类型对应的数量数据总和
TYPES: BEGIN OF LS_TAB,
MATNR LIKE MSEG-MATNR,"物料
WERKS LIKE MSEG-WERKS,"工厂
BWART LIKE MSEG-BWART,"移动类型
MENGE LIKE MSEG-MENGE,"移动类型对应数量
SHKZG LIKE MSEG-SHKZG,"借/贷标识 S/H
END OF LS_TAB.
*内表定义(带表头)
DATA:LT_BWART TYPE STANDARD TABLE OF LS_TAB WITH HEADER LINE.
DATA:LT_TOTAL_BWART TYPE STANDARD TABLE OF LS_TAB WITH HEADER LINE."存贮汇总之后的数据
*DATA:LT_TOTAL TYPE STANDARD TABLE OF LS_TAB WITH HEADER LINE."存储最终101/102等汇总之后的数据
TYPES: BEGIN OF LS_MATNR,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF LS_MATNR.
*物料的仓储位置数据表结构定义
TYPES:BEGIN OF LS_MARD,
MATNR LIKE MARD-MATNR,"物料
WERKS LIKE MARD-WERKS,"工厂
LGORT LIKE MARD-LGORT,"库存地点
LABST LIKE MARD-LABST,"非限制数量
END OF LS_MARD.
*内表定义(带表头)
DATA: LT_MARD TYPE STANDARD TABLE OF LS_MARD WITH HEADER LINE.
TYPES:BEGIN OF LS_LGORT,
MATNR LIKE MARD-MATNR,"物料
WERKS LIKE T001L-WERKS,"工厂
LGORT LIKE T001L-LGORT,"库位
LABST LIKE MARD-LABST,"非限制使用的库存
END OF LS_LGORT.
DATA:LT_LGORT TYPE STANDARD TABLE OF LS_LGORT WITH HEADER LINE.
DATA:LT_LGORT_TAB TYPE TABLE OF STRING WITH HEADER LINE.
*定义动态内表
DATA:
T_DYNTAB TYPE REF TO DATA,
S_DYNTAB TYPE REF TO DATA.
FIELD-SYMBOLS:
<DYNTAB> TYPE STANDARD TABLE,
<FS_VAL> TYPE ANY ,
<FS_WA> TYPE ANY .
*ALV 使用
DATA:ALV_LAYOUT TYPE LVC_S_LAYO,
FIELDCAT TYPE LVC_T_FCAT WITH HEADER LINE,
EVENT_TAB TYPE SLIS_T_EVENT WITH HEADER LINE.
***动态内表
DATA: IFC TYPE LVC_T_FCAT,
XFC TYPE LVC_S_FCAT,
DY_OUT TYPE REF TO DATA ,
DY_OUT_WA TYPE REF TO DATA.
FIELD-SYMBOLS: <F_OUT> TYPE STANDARD TABLE ,
<F_OUT_WA>,
<F_OUT_FIELD> .
*&---------------------------------------------------------------------*
*&全局变量的声明
*&---------------------------------------------------------------------*
DATA N1 TYPE I VALUE '1'.
DATA:
G_FNAME TYPE CHAR100.
*&---------------------------------------------------------------------*
*&宏的定义
*&---------------------------------------------------------------------*
DEFINE INIT_FIELDCAT.
FIELDCAT-FIELDNAME = &1.
FIELDCAT-FIX_COLUMN = &2.
FIELDCAT-SCRTEXT_L = &3.
FIELDCAT-OUTPUTLEN = &4.
APPEND FIELDCAT.
END-OF-DEFINITION.
*&---------------------------------------------------------------------*
*&选择屏幕的定义
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK blk0 WITH FRAME TITLE text-001.
PARAMETERS: WERKS LIKE MSEG-WERKS. "工厂
SELECT-OPTIONS:S_DATE FOR MKPF-BUDAT."开始时间
SELECTION-SCREEN END OF BLOCK blk0.
*&---------------------------------------------------------------------*
*&START-OF-SELECTION 程序开始
*&---------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM FRM_DATA_GET.
PERFORM FRM_DYNTAB_CREATE.
PERFORM FRM_DYNTAB_DATA_FILL.
PERFORM FRM_DATA_DISPLAY.
*&---------------------------------------------------------------------*
*&子程序部分
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_DATA_GET
*&---------------------------------------------------------------------*
* 数据获取
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_DATA_GET.
DATA:WA TYPE LS_OUT."输出表的临时表
DATA:WA_BWART TYPE LS_TAB."移动类型的临时内表
SELECT MSEG~MBLNR
MSEG~MJAHR
MSEG~ZEILE
MSEG~MATNR
MSEG~BWART
MSEG~WERKS
MSEG~LGORT
MSEG~MENGE
MKPF~BUDAT
MAKT~SPRAS
MAKT~MAKTX
MAKT~MAKTG
MSEG~SHKZG
INTO CORRESPONDING FIELDS OF TABLE LT_MKPF_MSEG
FROM MKPF
INNER JOIN MSEG ON MKPF~MBLNR = MSEG~MBLNR AND MKPF~MJAHR = MSEG~MJAHR
INNER JOIN MAKT ON MSEG~MATNR = MAKT~MATNR
WHERE MKPF~BUDAT IN S_DATE
AND MSEG~WERKS = WERKS AND MAKT~SPRAS EQ '1'.
SELECT MARD~MATNR
T001L~WERKS
T001L~LGORT
INTO CORRESPONDING FIELDS OF TABLE LT_LGORT
FROM T001L
LEFT JOIN MARD ON MARD~WERKS = T001L~WERKS AND MARD~LGORT = T001L~LGORT
WHERE T001L~WERKS = WERKS.
LOOP AT LT_MKPF_MSEG.
LT_OUT-NUMBER = N1.
MOVE-CORRESPONDING LT_MKPF_MSEG TO LT_OUT. "将字段相同的LT_MKPF_MSEG赋值给LT_OUT.
CLEAR WA.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_OUT-MATNR.
IF WA IS INITIAL.
N1 = N1 + 1.
APPEND LT_OUT.
ENDIF.
CLEAR LT_OUT."清空表头
ENDLOOP.
LOOP AT LT_MKPF_MSEG."循环取相同物料和工厂下所有的数据
MOVE-CORRESPONDING LT_MKPF_MSEG TO LT_BWART.
APPEND LT_BWART.
CLEAR LT_BWART.
ENDLOOP.
******处理把所有的移动类型相同物料和工厂的数据进行汇总
LOOP AT LT_BWART.
IF LT_BWART-SHKZG EQ 'H'."如果是借就把数据设置为负数
LT_BWART-MENGE = 0 - LT_BWART-MENGE.
ENDIF.
CLEAR WA_BWART.
READ TABLE LT_TOTAL_BWART INTO WA_BWART WITH KEY MATNR = LT_BWART-MATNR"物料编号
WERKS = LT_BWART-WERKS"工厂
BWART = LT_BWART-BWART."移动类型
IF WA_BWART IS INITIAL.
APPEND LT_BWART TO LT_TOTAL_BWART.
ELSE.
WA_BWART-MENGE = ( LT_BWART-MENGE + WA_BWART-MENGE ).
MODIFY TABLE LT_TOTAL_BWART FROM WA_BWART."带有表头行,需要在MODIFY添加TABLE
ENDIF.
ENDLOOP.
******处理把所有的不同移动类型相同物料和工厂的数据进行汇总
LOOP AT LT_TOTAL_BWART.
CLEAR WA.
IF LT_TOTAL_BWART-BWART EQ '101' OR LT_TOTAL_BWART-BWART EQ '102'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-INCOM = ( LT_TOTAL_BWART-MENGE + WA-INCOM ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ '261' OR LT_TOTAL_BWART-BWART EQ '262'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-OL = ( LT_TOTAL_BWART-MENGE + WA-OL ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ '551' OR LT_TOTAL_BWART-BWART EQ '552'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-RGPC = ( LT_TOTAL_BWART-MENGE + WA-RGPC ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ 'Z57' OR LT_TOTAL_BWART-BWART EQ 'Z58'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-WSCR = ( LT_TOTAL_BWART-MENGE + WA-WSCR ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ 'Z91'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-SFPS = ( LT_TOTAL_BWART-MENGE + WA-SFPS ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ '201' OR LT_TOTAL_BWART-BWART EQ '202'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-DADJ = ( LT_TOTAL_BWART-MENGE + WA-DADJ ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ 'Z93' OR LT_TOTAL_BWART-BWART EQ 'Z94'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-RMRA = ( LT_TOTAL_BWART-MENGE + WA-RMRA ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ '309'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-SSMD = ( LT_TOTAL_BWART-MENGE + WA-SSMD ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ '161' OR LT_TOTAL_BWART-BWART EQ '162'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-SPDA = ( LT_TOTAL_BWART-MENGE + WA-SPDA ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
IF LT_TOTAL_BWART-BWART EQ 'Z61' OR LT_TOTAL_BWART-BWART EQ 'Z62'.
READ TABLE LT_OUT INTO WA WITH KEY MATNR = LT_TOTAL_BWART-MATNR.
WA-SHIP = ( LT_TOTAL_BWART-MENGE + WA-SHIP ).
MODIFY TABLE LT_OUT FROM WA."带有表头行,需要在MODIFY添加TABLE
ENDIF.
ENDLOOP.
ENDFORM. "FRM_DATA_GET
*&---------------------------------------------------------------------*
*&子程序部分
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& FRM_DYNTAB_CREATE
*&---------------------------------------------------------------------*
* 创建动态内表
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_DYNTAB_CREATE.
PERFORM BUILD_ITAB_STRU USING :'Number' 'MARA' 'MATNR'.
PERFORM BUILD_ITAB_STRU USING :'MATNR' 'MARA' 'MATNR'.
PERFORM BUILD_ITAB_STRU USING :'MAKTX' 'MARA' 'MATNR'.
PERFORM BUILD_ITAB_STRU USING :'KZVLL' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'INCOM' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'OL' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'RGPC' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'WSCR' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'DADJ' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'RMRA' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'SSMD' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'SPDA' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'SHIP' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'THIN' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'RTIN' 'MSEG' 'MENGE'.
PERFORM BUILD_ITAB_STRU USING :'DIFF' 'MSEG' 'MENGE'.
LOOP AT LT_LGORT.
LT_LGORT_TAB = LT_LGORT-LGORT.
APPEND LT_LGORT_TAB.
ENDLOOP.
SORT LT_LGORT_TAB.
DELETE ADJACENT DUPLICATES FROM LT_LGORT_TAB COMPARING ALL FIELDS.
LOOP AT LT_LGORT_TAB.
G_FNAME = LT_LGORT_TAB.
CONCATENATE '' G_FNAME INTO G_FNAME.
PERFORM BUILD_ITAB_STRU USING G_FNAME 'MARD' 'LGORT'.
ENDLOOP.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IFC
IMPORTING
EP_TABLE = DY_OUT.
ASSIGN DY_OUT->* TO <F_OUT>.
CREATE DATA DY_OUT_WA LIKE LINE OF <F_OUT>.
ASSIGN DY_OUT_WA->* TO <F_OUT_WA>.
* 根据it_fact生成动态表
* CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
* EXPORTING
* IT_FIELDCATALOG = T_FCAT
* IMPORTING
* EP_TABLE = T_DYNTAB.
ENDFORM. "FRM_DYNTAB_CREATE
*&---------------------------------------------------------------------*
*& Form build_itab_stru
*&---------------------------------------------------------------------*
FORM BUILD_ITAB_STRU USING FDNAME REF_T REF_F.
XFC-FIELDNAME = FDNAME .
XFC-REF_TABLE = REF_T.
XFC-REF_FIELD = REF_F.
APPEND XFC TO IFC.
ENDFORM. "BUILD_ITAB_STRU
*&---------------------------------------------------------------------*
*&子程序部分
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& FRM_DYNTAB_DATA_FILL
*&---------------------------------------------------------------------*
* 动态内表数据填充
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_DYNTAB_DATA_FILL.
DATA:WA_LGORT TYPE LS_LGORT.
LOOP AT LT_OUT.
LT_OUT-THIN = LT_OUT-KZVLL + LT_OUT-INCOM - LT_OUT-OL - LT_OUT-RGPC - LT_OUT-OL - LT_OUT-SFPS - LT_OUT-DADJ + LT_OUT-RMRA + LT_OUT-SSMD + LT_OUT-SPDA - LT_OUT-SHIP."总在制
ASSIGN COMPONENT 'NUMBER' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-NUMBER."序号
ASSIGN COMPONENT 'MATNR' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-MATNR."物料号
ASSIGN COMPONENT 'MAKTX' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-MAKTX."物料描述
ASSIGN COMPONENT 'KZVLL' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-KZVLL."期初在制(期初库存)
ASSIGN COMPONENT 'INCOM' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-INCOM."来料
ASSIGN COMPONENT 'OL' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-OL."报工下线
ASSIGN COMPONENT 'RGPC' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-RGPC."退客户
ASSIGN COMPONENT 'WSCR' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-WSCR."作业报废
ASSIGN COMPONENT 'SFPS' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-SFPS."半成品报废
ASSIGN COMPONENT 'DADJ' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-DADJ."原材料差异调整
ASSIGN COMPONENT 'RMRA' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-RMRA."原材料替代料差异调整
ASSIGN COMPONENT 'SSMD' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-SSMD."半成品替代料差异调整
ASSIGN COMPONENT 'SPDA' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-SPDA."半成品差异调整
ASSIGN COMPONENT 'SHIP' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-SHIP."出货
ASSIGN COMPONENT 'THIN' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-THIN."总在制(理论库存)
LOOP AT LT_LGORT_TAB.
ASSIGN COMPONENT LT_LGORT_TAB OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
CLEAR WA_LGORT.
READ TABLE LT_LGORT INTO WA_LGORT WITH KEY MATNR = LT_OUT-MATNR.
<F_OUT_FIELD> = WA_LGORT-LABST.
LT_OUT-RTIN = LT_OUT-RTIN + WA_LGORT-LABST."实时库存
ENDLOOP.
LT_OUT-DIFF = LT_OUT-THIN - LT_OUT-RTIN."差异计算
ASSIGN COMPONENT 'RTIN' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-RTIN."SAP(实时库存)
ASSIGN COMPONENT 'DIFF' OF STRUCTURE <F_OUT_WA> TO <F_OUT_FIELD>.
<F_OUT_FIELD> = LT_OUT-DIFF."差异
APPEND <F_OUT_WA> TO <F_OUT>.
CLEAR <F_OUT_WA> .
ENDLOOP.
ENDFORM. "FRM_DYNTAB_DATA_FILL
*&---------------------------------------------------------------------*
*& FRM_DATA_DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_DATA_DISPLAY.
* SELECT * INTO TABLE GT_BOM_COST FROM ZMM_BOM_COST WHERE MATNR IN S_MATNR AND BISMT IN S_BISMT AND GROUP_NO IN S_GROUP.
INIT_FIELDCAT:'NUMBER' 'X' '序号' '',
'MATNR' 'X' '物料编号' '',
'MAKTX' 'X' '物料描述' '',
'KZVLL' '' '期初在制' '',
'INCOM' '' '来料' '',
'OL' '' '报工下线' '',
'RGPC' '' '退客户' '',
'WSCR' '' '作业报废' '',
'SFPS' '' '半成品报废' '',
'DADJ' '' '原材料差异调整' '',
'RMRA' '' '原材料替代料差异调整' '',
'SSMD' '' '半成品替代料差异调整' '',
'SPDA' '' '半成品差异调整' '',
'SHIP' '' '出货' '',
'THIN' '' '总在制' '',
'RTIN' '' 'SAP' '',
'DIFF' '' '差异' ''.
LOOP AT LT_LGORT_TAB.
INIT_FIELDCAT:LT_LGORT_TAB '' LT_LGORT_TAB ''.
ENDLOOP.
ALV_LAYOUT-ZEBRA = 'X'.
ALV_LAYOUT-CWIDTH_OPT = 'X'.
ALV_LAYOUT-DETAILINIT = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = '9000_STATUS'
* I_CALLBACK_USER_COMMAND = '9000_USERCOMMAND'
IT_FIELDCAT_LVC = FIELDCAT[]
IS_LAYOUT_LVC = ALV_LAYOUT
* IT_EVENTS = EVENT_TAB[]
TABLES
T_OUTTAB = <F_OUT>."LT_OUT[].
ENDFORM. " FRM_DATA_DISPLAY
FORM 9000_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS '9000'.
ENDFORM.
日常总结20190314------SAP ALV动态内表代码
最新推荐文章于 2024-05-22 16:08:11 发布