BDC程序-----导入盘点数据

REPORT ZMSR3031 NO STANDARD PAGE HEADING LINE-SIZE 255.
INCLUDE ZBDCRECX1_MI04.
TYPE-POOLS:SLIS.
TABLES:T006A,MARA,MARD.
* ALV variables definition.
DATA: G_REPID LIKE SY-REPID,
LS_FCAT TYPE LVC_S_FCAT, " structure
IT_FCAT TYPE LVC_T_FCAT, " table type
IS_LAYOUT TYPE LVC_S_LAYO. " structure

*/ Working data
*/--------------------------------------------------
DATA: BEGIN OF IT_UPLDAT OCCURS 0,
IBLNR LIKE ISEG-IBLNR, "实际盘点凭证
ZEILI LIKE ISEG-ZEILI, "行号
LGORT LIKE ISEG-LGORT, "库存地点
LIFNR LIKE ISEG-LIFNR, "供应商
MATNR LIKE ISEG-MATNR, "物料号码
BSTAR LIKE ISEG-BSTAR, "状态
ERFMG(17) TYPE C, "数量
ERFME LIKE ISEG-ERFME, "单位
LINE_COUNT LIKE ISEG-ZEILI, "每个凭证号记录数
REMARK(40) TYPE C,
DEL_FLG TYPE C, "删除标记
END OF IT_UPLDAT.
DATA: BEGIN OF IT_CHECK OCCURS 0,
IBLNR LIKE ISEG-IBLNR, "实际盘点凭证
ZEILI LIKE ISEG-ZEILI, "行号
LGORT LIKE ISEG-LGORT, "库存地点
LIFNR LIKE ISEG-LIFNR, "供应商
MATNR LIKE ISEG-MATNR, "物料号码
BSTAR LIKE ISEG-BSTAR, "状态
ERFMG LIKE ISEG-ERFMG, "数量
ERFME LIKE ISEG-ERFME, "单位
END OF IT_CHECK.
DATA: BEGIN OF IT_ERROR OCCURS 0,
IBLNR LIKE ISEG-IBLNR, "实际盘点凭证
ZEILI LIKE ISEG-ZEILI, "行号
LGORT LIKE ISEG-LGORT, "库存地点
LIFNR LIKE ISEG-LIFNR, "供应商
MATNR LIKE ISEG-MATNR, "物料号码
BSTAR LIKE ISEG-BSTAR, "状态
ERFMG(17) TYPE C,
ERFME(3) TYPE C, "单位
REMARK(40) TYPE C, "备注
END OF IT_ERROR.
DATA:BEGIN OF IT_IKPF OCCURS 0,
IBLNR LIKE IKPF-IBLNR,
GJAHR LIKE IKPF-GJAHR,
GIDAT LIKE IKPF-GIDAT,
END OF IT_IKPF.
DATA: TABIX LIKE SY-TABIX.
DATA: ZLDAT(10) TYPE C,RETURN(3) TYPE C,
NEW TYPE C.
DATA:MASK(120) TYPE C VALUE ',文本文件(*.TXT),*.TXT,所有文件(*.*),*.*.'.
DATA:USERGROUP LIKE USGRP_USER-USERGROUP.

* Program to upload BOM
*/ Parameters & Select-options
*/---------------------------------------
SELECTION-SCREEN SKIP.
PARAMETERS: P_WERKS LIKE ISEG-WERKS OBLIGATORY. "DEVK912266-001
PARAMETERS: P_GJAHR(4) TYPE C OBLIGATORY.
PARAMETERS: P_ZLDAT LIKE ISEG-ZLDAT OBLIGATORY.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY. "Input File
PARAMETERS: P_CHECK RADIOBUTTON GROUP R1 DEFAULT 'X',
P_UPLDAT RADIOBUTTON GROUP R1.

INITIALIZATION.
*-根据用户组设置默认值
SELECT SINGLE USERGROUP INTO USERGROUP "{DEVK912266-001
FROM USGRP_USER
WHERE BNAME = SY-UNAME.
CASE USERGROUP.
WHEN 'DG_GROUP'.
P_WERKS = '301'.
WHEN 'SZ_GROUP'.
P_WERKS = '302'.
WHEN OTHERS.
P_WERKS = '301'.
ENDCASE. ""DEVK912266-001}

P_GJAHR = SY-DATUM(4).
P_ZLDAT = SY-DATUM.


*/ At selection-screen
*/-----------------------------------------------
AT SELECTION-SCREEN OUTPUT.

*--- Help to get the presentation filename
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM SELECT_FILE.
*/ Start Of Selection

START-OF-SELECTION.
CONCATENATE P_ZLDAT+6(2) '.' P_ZLDAT+4(2) '.' P_ZLDAT(4) INTO ZLDAT.
*-----读取本地文件
PERFORM READ_FILE.
IF P_CHECK = 'X'.
*-----检查上传的数据
PERFORM CHECK_DATA.
IF NOT IT_ERROR[] IS INITIAL.
PERFORM DISPLAY_ERROR.
ELSE.
* MESSAGE S000(FB) WITH '没有错误'.
WRITE:/ '数据正确,没有错误!'.
ENDIF.
ELSEIF P_UPLDAT = 'X'.
CALL FUNCTION 'RZL_WARNING_AND_QUESTION'
EXPORTING
WARNING_TEXT1 = '是否已检查上传数据的正确性!'
QUESTION_TEXT1 = '继续执行?'
BUTTON1_TEXT = '是'
BUTTON2_TEXT = '否'
BUTTON3_TEXT = '取消'
IMPORTING
ANSWER = RETURN
EXCEPTIONS
REQUIRED_FIELDS_ARE_EMPTY = 1.
IF RETURN = 'P1'.
PERFORM ITEM_COUNT.
PERFORM UPLOAD_DATA.
ELSE.
EXIT.
ENDIF.
ENDIF.

END-OF-SELECTION.
*---------------------------------------------------------------------*
* select data for processing *
*---------------------------------------------------------------------*
FORM SELECT_FILE.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = ' '
DEF_PATH = 'c:\'
MASK = MASK
MODE = 'O'
TITLE = '选择文件及路径'
IMPORTING
FILENAME = P_FILE
* RC =
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
ENDFORM. "SELECT_FILE

*---------------------------------------------------------------------*
* read data from pc file to system *
*---------------------------------------------------------------------*
FORM READ_FILE.
*-------上传本地数据到系统内表IT_UPLDAT中
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = P_FILE
FILETYPE = 'DAT'
TABLES
DATA_TAB = IT_UPLDAT
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.

IF SY-SUBRC <> 0.
MESSAGE I000(FB) WITH '打开文件' P_FILE '错误'.
EXIT.
ENDIF.
SORT IT_UPLDAT BY IBLNR ZEILI.

LOOP AT IT_UPLDAT.
CLEAR TABIX.
TABIX = SY-TABIX.
*--------将盘点凭证前边补零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = IT_UPLDAT-IBLNR
IMPORTING
OUTPUT = IT_UPLDAT-IBLNR.
*--------将纯数字物料号前边补零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = IT_UPLDAT-MATNR
IMPORTING
OUTPUT = IT_UPLDAT-MATNR.
IF IT_UPLDAT-LIFNR NE '/'.
*--------将供应商前边补零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = IT_UPLDAT-LIFNR
IMPORTING
OUTPUT = IT_UPLDAT-LIFNR.
ENDIF.
MODIFY IT_UPLDAT INDEX TABIX.
ENDLOOP.
CLEAR IT_UPLDAT.
ENDFORM. "READ_FILE
*---------------------------------------------------------------------*
* Check the correction of data *
*---------------------------------------------------------------------*
FORM CHECK_DATA.
DATA:MSEHI LIKE T006A-MSEHI,MSEH3 LIKE T006A-MSEH3.
DATA:FLAG,DATATYPE(4) TYPE C.
DATA:IBLNR LIKE ISEG-IBLNR,
ZEILI LIKE ISEG-ZEILI, "行号
LGORT LIKE ISEG-LGORT, "库存地点
LIFNR LIKE ISEG-LIFNR, "供应商
MATNR LIKE ISEG-MATNR, "物料号码
BSTAR LIKE ISEG-BSTAR, "状态
ERFMG LIKE ISEG-ERFMG, "数量
ERFME LIKE ISEG-ERFME. "单位
*---根据上传文件的凭证号取得系统中的凭证相关信息放入内表IT_CHECK中
SELECT IBLNR ZEILI LGORT LIFNR MATNR BSTAR
MENGE AS ERFMG MEINS AS ERFME
INTO CORRESPONDING FIELDS OF TABLE IT_CHECK
FROM ISEG
FOR ALL ENTRIES IN IT_UPLDAT
WHERE IBLNR = IT_UPLDAT-IBLNR
AND WERKS = P_WERKS. "DEVK912266-001
SORT IT_CHECK BY IBLNR ZEILI.

*---检查系统中是否存在上传的凭证
SORT IT_UPLDAT BY IBLNR ZEILI.
LOOP AT IT_UPLDAT.
TABIX = SY-TABIX.
SELECT SINGLE MSEHI
INTO ERFME
FROM T006A
WHERE SPRAS = SY-LANGU
AND MSEH3 = IT_UPLDAT-ERFME.
IF IT_UPLDAT-IBLNR IS INITIAL.
*---如果上传文件的凭证号为空,则检查物料编码、单位、库位是否正确,
*---如有错误则放入错误内表并标识相关错误,如无错误也放入错误内表
*---并标识此上传数据无凭证号
SELECT SINGLE * FROM MARA
WHERE MATNR = IT_UPLDAT-MATNR.
IF SY-SUBRC NE 0.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '物料号码错误'.
APPEND IT_ERROR.
IT_UPLDAT-DEL_FLG = 'X'.
MODIFY IT_UPLDAT INDEX TABIX TRANSPORTING DEL_FLG.
ELSEIF ERFME NE MARA-MEINS.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '单位错误'.
APPEND IT_ERROR.
IT_UPLDAT-DEL_FLG = 'X'.
MODIFY IT_UPLDAT INDEX TABIX TRANSPORTING DEL_FLG.
ELSE.
SELECT SINGLE * FROM MARD
WHERE MATNR = IT_UPLDAT-MATNR
AND LGORT = IT_UPLDAT-LGORT.
IF SY-SUBRC NE 0.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '库位错误'.
APPEND IT_ERROR.
IT_UPLDAT-DEL_FLG = 'X'.
MODIFY IT_UPLDAT INDEX TABIX TRANSPORTING DEL_FLG.
ELSE.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '此上传数据无凭证号'.
APPEND IT_ERROR.
IT_UPLDAT-DEL_FLG = 'X'.
MODIFY IT_UPLDAT INDEX TABIX TRANSPORTING DEL_FLG.
ENDIF.
ENDIF.
ELSE.
*---如果上传文件的凭证号不为空,则检查系统中是否存在此凭证,
*---不存在则放入错误内表IT_ERROR并标识凭证不存在
READ TABLE IT_CHECK WITH KEY IBLNR = IT_UPLDAT-IBLNR
BINARY SEARCH.
IF SY-SUBRC NE 0.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '此凭证号码不存在'.
APPEND IT_ERROR.
IT_UPLDAT-DEL_FLG = 'X'.
MODIFY IT_UPLDAT INDEX TABIX TRANSPORTING DEL_FLG.
ENDIF.
ENDIF. "IF IT_UPLDAT-IBLNR IS INITIAL.
ENDLOOP.
*-上传数据中删除标记为删除的数据
DELETE IT_UPLDAT WHERE DEL_FLG = 'X'.

*--------取得凭证的会计年度和计划盘点日期
SELECT IBLNR GJAHR GIDAT
INTO TABLE IT_IKPF
FROM IKPF
FOR ALL ENTRIES IN IT_CHECK
WHERE IBLNR = IT_CHECK-IBLNR.

LOOP AT IT_CHECK.
CLEAR FLAG.
IF IT_CHECK-LIFNR = SPACE.
IT_CHECK-LIFNR = '/'.
ENDIF.
IF IT_CHECK-LGORT = SPACE.
IT_CHECK-LGORT = '/'.
ENDIF.
*---单位转换
SELECT SINGLE MSEHI MSEH3
INTO (MSEHI,MSEH3)
FROM T006A
WHERE SPRAS = SY-LANGU
AND MSEHI = IT_CHECK-ERFME.

*---上传值与系统值比较,找出错误放入错误内表
READ TABLE IT_UPLDAT WITH KEY IBLNR = IT_CHECK-IBLNR
ZEILI = IT_CHECK-ZEILI.
TABIX = SY-TABIX.
IF SY-SUBRC = 0. "检查项目
*-------检查会计年度
READ TABLE IT_IKPF WITH KEY IBLNR = IT_CHECK-IBLNR.
IF IT_IKPF-GJAHR NE P_GJAHR.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '此凭证会计年度与输入会计年度不符'.
APPEND IT_ERROR.
IF FLAG = SPACE.
DELETE IT_UPLDAT INDEX TABIX.
FLAG = 'X'.
ENDIF.
ENDIF.
*-------检查盘点日期是否相符
IF IT_IKPF-GIDAT NE P_ZLDAT.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '此凭证输入盘点日期与计划盘点日期不符'.
APPEND IT_ERROR.
IF FLAG = SPACE.
DELETE IT_UPLDAT INDEX TABIX.
FLAG = 'X'.
ENDIF.
ENDIF.
*-------检查库位
IF IT_UPLDAT-LGORT NE IT_CHECK-LGORT.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '库位错误'.
APPEND IT_ERROR.

IF FLAG = SPACE.
DELETE IT_UPLDAT INDEX TABIX.
FLAG = 'X'.
ENDIF.
ENDIF.
*-------检查供应商
IF IT_UPLDAT-LIFNR NE IT_CHECK-LIFNR.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '供应商错误'.
APPEND IT_ERROR.

IF FLAG = SPACE.
DELETE IT_UPLDAT INDEX TABIX.
FLAG = 'X'.
ENDIF.
ENDIF.
*-------检查物料号
IF IT_UPLDAT-MATNR NE IT_CHECK-MATNR.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '物料号错误'.
APPEND IT_ERROR.

IF FLAG = SPACE.
DELETE IT_UPLDAT INDEX TABIX.
FLAG = 'X'.
ENDIF.
ENDIF.
*-------检查状态
IF IT_UPLDAT-BSTAR NE IT_CHECK-BSTAR.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '状态错误'.
APPEND IT_ERROR.

IF FLAG = SPACE.
DELETE IT_UPLDAT INDEX TABIX.
FLAG = 'X'.
ENDIF.
ENDIF.
*-------检查单位
* IF IT_UPLDAT-ERFME NE MSEHI AND
IF IT_UPLDAT-ERFME NE MSEH3.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '单位错误'.
APPEND IT_ERROR.
IF FLAG = SPACE.
DELETE IT_UPLDAT INDEX TABIX.
FLAG = 'X'.
ENDIF.
ENDIF.

*-------检查上传数量中是否包含千分位分隔符
IF IT_UPLDAT-ERFMG CS ','.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '上传数量中包含","'.
APPEND IT_ERROR.
IF FLAG = SPACE.
DELETE IT_UPLDAT INDEX TABIX.
FLAG = 'X'.
ENDIF.
ENDIF.

IF FLAG NE 'X'.
DELETE IT_UPLDAT INDEX TABIX.
ENDIF.

ELSE.
MOVE-CORRESPONDING IT_CHECK TO IT_ERROR.
IT_ERROR-REMARK = '此凭证项目在系统中存在,上传文件中丢失'.
APPEND IT_ERROR.
ENDIF.

ENDLOOP.

*-如果有剩余凭证号则归入项目重复或不存在
IF NOT IT_UPLDAT[] IS INITIAL.
LOOP AT IT_UPLDAT.
MOVE-CORRESPONDING IT_UPLDAT TO IT_ERROR.
IT_ERROR-REMARK = '此凭证项目重复或不存在'.
APPEND IT_ERROR.
ENDLOOP.
SORT IT_ERROR BY IBLNR ZEILI REMARK.
REFRESH IT_UPLDAT.
ENDIF.

ENDFORM. "CHECK_DATA
*---------------------------------------------------------------------*
* get number of items in one document *
*---------------------------------------------------------------------*
FORM ITEM_COUNT.
DATA:LINE_COUNT TYPE I.

SELECT IBLNR ZEILI LGORT MATNR BSTAR ERFMG ERFME
INTO CORRESPONDING FIELDS OF TABLE IT_CHECK
FROM ISEG
FOR ALL ENTRIES IN IT_UPLDAT
WHERE IBLNR = IT_UPLDAT-IBLNR
* AND ZEILI = IT_UPLDAT-ZEILI
AND WERKS = P_WERKS. "DEVK912266-001

LOOP AT IT_CHECK.
LINE_COUNT = LINE_COUNT + 1.
AT END OF IBLNR.
READ TABLE IT_UPLDAT WITH KEY IBLNR = IT_CHECK-IBLNR
ZEILI = '001'.
IT_UPLDAT-LINE_COUNT = LINE_COUNT.
MODIFY IT_UPLDAT INDEX SY-TABIX.
CLEAR LINE_COUNT.
ENDAT.
ENDLOOP.
ENDFORM. "ITEM_COUNT

*---------------------------------------------------------------------*
* upload data to system *
*---------------------------------------------------------------------*
FORM UPLOAD_DATA.
DATA:SCREEN_LINE_COUNTER(3) TYPE N VALUE 0,IBLNR LIKE ISEG-IBLNR,
LINE_COUNT TYPE I,ERFMG(17) TYPE C,NUMBER(3) TYPE C,
ERFMG1 LIKE MSEG-ERFMG,ERFME(3) TYPE C.

CLEAR IT_ERROR.
REFRESH IT_ERROR.

PERFORM OPEN_GROUP.

LOOP AT IT_UPLDAT.
IF IT_UPLDAT-ZEILI = '001'.
CLEAR LINE_COUNT.
LINE_COUNT = IT_UPLDAT-LINE_COUNT.
ENDIF.

IBLNR = IT_UPLDAT-IBLNR.
ERFMG = IT_UPLDAT-ERFMG.
ERFMG1 = IT_UPLDAT-ERFMG.
ERFME = IT_UPLDAT-ERFME.
AT NEW IBLNR.
SCREEN_LINE_COUNTER = 0.
PERFORM BDC_DYNPRO USING 'SAPMM07I' '0701'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM07I-ZLDAT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=KL'.
PERFORM BDC_FIELD USING 'RM07I-IBLNR'
IBLNR.
PERFORM BDC_FIELD USING 'RM07I-GJAHR'
P_GJAHR.
PERFORM BDC_FIELD USING 'RM07I-ZLDAT'
ZLDAT.
IF LINE_COUNT NE 1.
PERFORM BDC_DYNPRO USING 'SAPMM07I' '0731'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ISEG-ERFMG(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=KLA'.
ENDIF.
ENDAT.

SCREEN_LINE_COUNTER = SCREEN_LINE_COUNTER + 1.
NUMBER = SCREEN_LINE_COUNTER.

AT END OF IBLNR.
IF LINE_COUNT NE 1.
PERFORM BDC_DYNPRO USING 'SAPMM07I' '1701'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM07I-ZEILE'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENT2'.
PERFORM BDC_FIELD USING 'RM07I-ZEILE'
NUMBER.
ENDIF.

PERFORM BDC_DYNPRO USING 'SAPMM07I' '0731'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ISEG-ERFMG(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
IF ERFMG1 NE 0.
PERFORM BDC_FIELD USING 'ISEG-ERFMG(01)'
ERFMG.
PERFORM BDC_FIELD USING 'ISEG-ERFME(01)'
ERFME.
ELSE.
PERFORM BDC_FIELD USING 'ISEG-XNULL(01)'
'X'.
PERFORM BDC_FIELD USING 'ISEG-ERFME(01)'
ERFME.
ENDIF.
PERFORM BDC_TRANSACTION USING 'MI04' IT_UPLDAT-IBLNR.
CONTINUE.
ENDAT.

PERFORM BDC_DYNPRO USING 'SAPMM07I' '1701'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM07I-ZEILE'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENT2'.
PERFORM BDC_FIELD USING 'RM07I-ZEILE'
NUMBER.

PERFORM BDC_DYNPRO USING 'SAPMM07I' '0731'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'ISEG-ERFMG(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=KLA'.
IF ERFMG1 NE 0.
PERFORM BDC_FIELD USING 'ISEG-ERFMG(01)'
ERFMG.
PERFORM BDC_FIELD USING 'ISEG-ERFME(01)'
ERFME.
ELSE.
PERFORM BDC_FIELD USING 'ISEG-XNULL(01)'
'X'.
PERFORM BDC_FIELD USING 'ISEG-ERFME(01)'
ERFME.
ENDIF.

ENDLOOP.
REFRESH BDCDATA.
PERFORM CLOSE_GROUP.
* PERFORM DISPLAY_ERROR.
ENDFORM. "UPLOAD_DATA

DISPLAY_ERROR. IT_ERROR IBLNR ZEILI. LAYOUT_BUILD IS_LAYOUT. IT_FCAT. SY-LANGU = . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . SY-LANGU = . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR . FCATSET_ERROR .. I_CALLBACK_PROGRAM = G_REPID IS_LAYOUT_LVC = IS_LAYOUT IT_FIELDCAT_LVC = IT_FCAT I_SAVE = T_OUTTAB = IT_ERROR PROGRAM_ERROR = = .. FCATSET_ERROR FIELDNAME REF_TABLE REF_FIELD SELTEXT DO_SUM DECIMALS_O EMPHASIZE NO_OUT . LS_FCAT-FIELDNAME = FIELDNAME. LS_FCAT-REF_TABLE = REF_TABLE. LS_FCAT-REF_FIELD = REF_FIELD. LS_FCAT-SELTEXT = SELTEXT. LS_FCAT-SELDDICTXT = . LS_FCAT-REPTEXT = SELTEXT. LS_FCAT- = . LS_FCAT-DO_SUM = DO_SUM. LS_FCAT-DECIMALS_O = DECIMALS_O. LS_FCAT-EMPHASIZE = EMPHASIZE. LS_FCAT-NO_OUT = NO_OUT. LS_FCAT- = . LS_FCAT IT_FCAT. LS_FCAT.. LAYOUT_BUILD LAYO LVC_S_LAYO. LAYO-CWIDTH_OPT = . LAYO-SMALLTITLE = SPACE. LAYO-GRID_TITLE = SPACE. LAYO-NO_HEADERS = SPACE. LAYO-NO_HGRIDLN = . LAYO-NO_MERGING = . LAYO-NO_ROWMARK = SPACE. LAYO-NO_TOOLBAR = SPACE. LAYO-NO_VGRIDLN = SPACE. LAYO-SEL_MODE = SPACE. LAYO-EXCP_CONDS = SPACE. LAYO-EXCP_FNAME = SPACE. LAYO-EXCP_LED = SPACE. LAYO-EXCP_ROLLN = SPACE. LAYO-ZEBRA = . LAYO-NO_TOTARR = . LAYO-NO_TOTEXP = . LAYO-NO_TOTLINE = SPACE. LAYO-NUMC_TOTAL = SPACE. LAYO-TOTALS_BEF = SPACE. LAYO-DETAILINIT = SPACE. LAYO-DETAILTITL = SPACE. LAYO-S_DRAGDROP. LAYO-KEYHOT = SPACE. LAYO-SGL_CLK_HD = SPACE. LAYO-STYLEFNAME = SPACE. LAYO-NO_F4 = ..

你可能感兴趣的:(职场,休闲,导入盘点数据,BDC程序)