模板样式
小心得:
1.添加抬头条件时将BAPI表参数参数ORDER_CONDITIONS_IN中ITM_NUMBER设置为‘000000’即可。
REPORT ZSDC0004.
TABLES:VBPA,VBAK,MAKT,SSCRFIELDS.
*模板上传结构 ZSDC0002_DRJG
TYPES:
BEGIN OF TY_S_ALV_PUBLIC,
- selected TYPE c,
SEL TYPE C, "选择框
ICON TYPE C LENGTH 4, "图案
MESSAGE TYPE STRING, "报错 - status TYPE status_alv,
- locked TYPE c,
- celltab TYPE lvc_t_styl,
- colinfo TYPE lvc_t_scol,
- err TYPE c,
- msg TYPE string,
- done TYPE c,
END OF TY_S_ALV_PUBLIC.
TYPES:BEGIN OF TY_DR,
BS TYPE STRING, "标识相同的创一个销售订单
AUART TYPE STRING,
VKORG TYPE STRING,
VTWEG TYPE STRING,
SPART TYPE STRING,
VKBUR TYPE STRING,
VKGRP TYPE STRING,
KUNNR TYPE STRING,
BSTKD TYPE STRING,
ERDAT TYPE STRING,
MATNR TYPE STRING,
KWMENG TYPE STRING,
REQ_DATE TYPE STRING,
BATCH TYPE STRING,
LGORT TYPE STRING,
KSCHL TYPE STRING,
NETPR TYPE STRING,
END OF TY_DR.
TYPES: BEGIN OF TY_ALV.
INCLUDE TYPE TY_S_ALV_PUBLIC.
INCLUDE TYPE ZSDC0002_DRJG.
TYPES END OF TY_ALV.
DATA: GT_DR TYPE TABLE OF TY_DR,
GS_DR TYPE TY_DR,
GT_ALV TYPE TABLE OF TY_ALV,
GS_ALV TYPE TY_ALV,
GT_ALVB TYPE TABLE OF ZSDC0002_JOB.
DATA: GT_EXCEL_TAB TYPE STANDARD TABLE OF ALSMEX_TABLINE "ALSMEX_TABLINE是系统预先已定义的一个结构,表示具有 Excel 数据的表行
.
DATA: WA_FIELDCATALOG TYPE LVC_S_FCAT, "显示数据列内表工作区域
IT_FIELDCATALOG TYPE LVC_T_FCAT, "显示数据列内表
GS_LAYOUT TYPE LVC_S_LAYO.
*======================================================================*
- Constants *
*======================================================================*
CONSTANTS:
C_SEPERATOR TYPE CHAR1 VALUE ‘/’.
CONSTANTS:
C_OK LIKE SY-SUBRC VALUE 0,
C_NOT_OK LIKE SY-SUBRC VALUE 1,
GC_MSG_AEX TYPE STRING VALUE ‘AEX’,
C_MSG_ISW TYPE STRING VALUE ‘ISW’,
GC_MSG_S TYPE CHAR1 VALUE ‘S’,
GC_MSG_E TYPE CHAR1 VALUE ‘E’,
GC_MSG_W TYPE CHAR1 VALUE ‘W’,
GC_SEL_MODE TYPE CHAR1 VALUE ‘D’,
GC_CELLTAB TYPE CHAR20 VALUE ‘CELLTAB’,
GC_SAVE TYPE CHAR1 VALUE ‘A’,
GC_WIDTH_OPT TYPE CHAR1 VALUE ‘A’,
GC_CHAR_0 TYPE CHAR1 VALUE ‘0’,
GC_CHAR_M TYPE CHAR1 VALUE ‘M’,
GC_CHAR_K TYPE CHAR1 VALUE ‘K’,
GC_FDNAM_ERR TYPE CHAR30 VALUE ‘ERR’,
GC_FDNAM_STATUS TYPE CHAR30 VALUE ‘STATUS’,
GC_FDNAM_MATNR TYPE CHAR30 VALUE ‘MATNR’,
GC_FDNAM_IDNRK TYPE CHAR30 VALUE ‘IDNRK’,
GC_FCODE_UPD TYPE GUI_CODE VALUE ‘FC_UPD’,
GC_ALVSTATUS TYPE SLIS_FORMNAME VALUE ‘FRM_ALV_STATUS’,
GC_USERCOMMAND TYPE SLIS_FORMNAME VALUE ‘FRM_USER_COMMAND’.
DEFINE SET_RB01."创建宏(数据导入)
CLEAR wa_fieldcatalog.
wa_fieldcatalog-fieldname = &1.
wa_fieldcatalog-scrtext_m = &2.
IF wa_fieldcatalog-fieldname = ‘ICON’.
wa_fieldcatalog-icon = ‘X’.
ENDIF.
IF &1 EQ ‘SEL’.
wa_fieldcatalog-checkbox = ‘X’.
wa_fieldcatalog-edit = ‘X’.
ENDIF.
APPEND wa_fieldcatalog TO IT_FIELDCATALOG.
CLEAR wa_fieldcatalog.
END-OF-DEFINITION.
DEFINE SET_RB02."创建宏(数据查询)
CLEAR wa_fieldcatalog.
wa_fieldcatalog-fieldname = &1.
wa_fieldcatalog-scrtext_m = &2.
APPEND wa_fieldcatalog TO IT_FIELDCATALOG.
CLEAR wa_fieldcatalog.
END-OF-DEFINITION.
*======================================================================*
- Begin of S E L E C T I O N - S C R E E N *
*======================================================================*
SELECTION-SCREEN BEGIN OF BLOCK BLK_SCR WITH FRAME TITLE TEXT-T01.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
SELECTION-SCREEN COMMENT 1(31) TEXT-T02 FOR FIELD P_FILE MODIF ID M01.
PARAMETERS:
P_FILE TYPE RLGRAP-FILENAME OBLIGATORY MODIF ID M01 DEFAULT '/D:'.
*SELECTION-SCREEN COMMENT (3) TEXT-t04 MODIF ID m01.
*SELECTION-SCREEN PUSHBUTTON (10) TEXT-t03 USER-COMMAND fc01 MODIF ID m01.
SELECTION-SCREEN END OF LINE.
*PARAMETERS:
- P_BEROW TYPE INT4 OBLIGATORY DEFAULT 2 MODIF ID M01,
- P_ENDROW TYPE INT4 OBLIGATORY DEFAULT 99999 MODIF ID M01.
- SELECT-OPTIONS:
** s_aennr FOR gs_selscr-aennr MODIF ID m02 , - S_KUNNR FOR VBPA-KUNNR MODIF ID M02,"售达方
- S_ERDAT FOR VBAK-ERDAT MODIF ID M02 , "销售订单日期
- S_MATNR FOR MAKT-MATNR MODIF ID M02 . "物料
**SELECTION-SCREEN COMMENT /3(79) TEXT-s00 MODIF ID m02 .
SELECTION-SCREEN END OF BLOCK BLK_SCR.
*SELECTION-SCREEN BEGIN OF BLOCK BLK_01 WITH FRAME TITLE TEXT-B01. - PARAMETERS:
- P_RB03 RADIOBUTTON GROUP RG2 DEFAULT ‘X’ USER-COMMAND RG2 MODIF ID M02,
- P_RB04 RADIOBUTTON GROUP RG2 MODIF ID M02.
*SELECTION-SCREEN END OF BLOCK BLK_01.
*SELECTION-SCREEN BEGIN OF BLOCK BLK_02 WITH FRAME TITLE TEXT-B02.
- PARAMETERS:
- P_RB01 RADIOBUTTON GROUP RG1 DEFAULT ‘X’ USER-CO