*&---------------------------------------------------------------------*
*& Report ZMMR102
*&---------------------------------------------------------------------*
*& Author : NathanSun
*& Create Date : 2019-05-27
*& Program Type : Report
*& Description : INVOICE打印
*&---------------------------------------------------------------------*
REPORT ZMMR103.
*&---------------------------------------------------------------------*
*& 包含 YN_TEST02_TOP
*&---------------------------------------------------------------------*
TABLES:TVKO,MARC,EKKO,VBAP,VBRK.
TYPE-POOLS:SLIS.
"定义ALV输出所需变量
DATA: S_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: GT_DATA TYPE TABLE OF ZTS_SF_INVOICE_HEAD WITH HEADER LINE.
DATA: GT_DATA_A TYPE TABLE OF ZTS_SF_INVOICE_HEAD WITH HEADER LINE.
DATA: GT_DATA_IT TYPE TABLE OF ZTS_SF_INVOICE_ITEM WITH HEADER LINE.
DATA: GV_TOP TYPE SDYDO_TEXT_ELEMENT.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN MODIF ID C1, "发票号码
S_FKDAT FOR VBRK-FKDAT MODIF ID C1, "发票日期
S_FKART FOR VBRK-FKART MODIF ID C1. "发票类型
PARAMETERS: P_VKORG LIKE VBRK-VKORG MODIF ID C1 DEFAULT '2001' OBLIGATORY. "发票组织
SELECT-OPTIONS: S_KUNRG FOR VBRK-KUNRG MODIF ID C1, "付款方
S_KUNAG FOR VBRK-KUNAG MODIF ID C1. "售达方
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:
R1 RADIOBUTTON GROUP RAD2 .
SELECTION-SCREEN COMMENT 03(19) TEXT-001. "*单选按钮的名称
PARAMETERS:
R2 RADIOBUTTON GROUP RAD2 .
SELECTION-SCREEN COMMENT 25(20) TEXT-002. "*单选按钮的名称
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
*&---------------------------------------------------------------------*
*& 包含 YN_TEST02_FOM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& 包含 ZFIR092_FOM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_EXCLUDE_OPTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_EXCLUDE_OPTION .
** Define the object to be passed to the RESTRICTION parameter
*DATA RESTRICT TYPE SSCR_RESTRICT.
*
** Auxiliary objects for filling RESTRICT
*DATA : OPTLIST TYPE SSCR_OPT_LIST,
* ASS TYPE SSCR_ASS.
*
** 限制MATNR参数只能使用‘EQ’ 和‘BT’.
* OPTLIST-NAME = 'OBJECTKEY1'.
* OPTLIST-OPTIONS-EQ = 'X'.
* OPTLIST-OPTIONS-BT = 'X'.
* APPEND OPTLIST TO RESTRICT-OPT_LIST_TAB.
*
* ASS-KIND = 'S'.
* ASS-NAME = 'S_MONAT'.
* ASS-SG_MAIN = 'I'.
* ASS-SG_ADDY = SPACE.
* ASS-OP_MAIN = 'OBJECTKEY1'.
* APPEND ASS TO RESTRICT-ASS_TAB.
*
* CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
* EXPORTING
* RESTRICTION = RESTRICT
* EXCEPTIONS
* TOO_LATE = 1
* REPEATED = 2
* SELOPT_WITHL_OUTPUT_OPTIONSS = 3
* SELOPT_WITHOUT_SIGNS = 4
* INVALID_SIGN = 5
* EMPTY_OPTION_LIST = 6
* INVALID_KIND = 7
* REPEATED_KIND_A = 8
* OTHERS = 9
* .
*
* IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SCREEN_OUTPUT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM SCREEN_OUTPUT .
LOOP AT SCREEN.
CASE SCREEN-GROUP1.
WHEN 'M1'.
SCREEN-INPUT = '0'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SCREEN_SETTING
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM SCREEN_SETTING .
* AUTHORITY-CHECK OBJECT 'M_MATE_WRK'
* ID 'WERKS' FIELD P_WERKS.
* IF SY-SUBRC <> 0.
* MESSAGE '您没有工厂:'&& P_WERKS && ' 的权限!' TYPE 'E' .
* ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FOM_GETDATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FOM_GETDATA .
CLEAR GT_DATA_A[] .
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_DATA_A[] FROM VBRK
WHERE VKORG = P_VKORG
AND VBELN IN S_VBELN
AND FKDAT IN S_FKDAT
AND FKART IN S_FKART
AND KUNRG IN S_KUNRG
AND KUNAG IN S_KUNAG
.
DATA ADDRNUMBER TYPE AD_ADDRNUM .
DATA IN_WORDS TYPE SPELL .
DATA COUNTRY TYPE LAND1 .
DATA TDID TYPE TABLE OF TDID WITH HEADER LINE .
DATA TLINE TYPE TABLE OF TLINE WITH HEADER LINE .
DATA TDNAME TYPE TDOBNAME .
LOOP AT GT_DATA_A.
SELECT SINGLE NAME_ORG1 NAME_ORG2 INTO ( GT_DATA_A-NAME_ORG1 , GT_DATA_A-NAME_ORG3 ) FROM BUT000
WHERE PARTNER = GT_DATA_A-KUNRG
.
CLEAR ADDRNUMBER .
SELECT SINGLE ADDRNUMBER INTO ADDRNUMBER FROM BUT020
WHERE PARTNER = GT_DATA_A-KUNRG
.
IF SY-SUBRC = 0.
CLEAR COUNTRY .
SELECT SINGLE STREET STR_SUPPL1 STR_SUPPL2 COUNTRY INTO ( GT_DATA_A-STR_SUPPL1 , GT_DATA_A-STR_SUPPL2 , GT_DATA_A-STR_SUPPL3 , COUNTRY ) FROM ADRC
WHERE ADDRNUMBER = ADDRNUMBER
.
IF COUNTRY IS NOT INITIAL.
SELECT SINGLE LANDX INTO GT_DATA_A-LANDX_FK FROM T005T
WHERE LAND1 = COUNTRY
AND SPRAS = 'E'
.
ENDIF.
ENDIF.
SELECT SINGLE PARTNER2 ABTNR TEL_NUMBER INTO ( GT_DATA_A-PARTNER2 , GT_DATA_A-ABTNR , GT_DATA_A-TEL_NUMBER ) FROM BUT051
WHERE PARTNER1 = GT_DATA_A-KUNRG
AND XRF = 'X'
.
SELECT SINGLE BEZ20 INTO GT_DATA_A-BEZ20 FROM TB911
WHERE ABTNR = GT_DATA_A-ABTNR
AND SPRAS = 'E'
.
SELECT SINGLE NAME_LAST NAME_FIRST INTO ( GT_DATA_A-NAME_LAST , GT_DATA_A-NAME_FIRST ) FROM BUT000
WHERE PARTNER = GT_DATA_A-PARTNER2 .
GT_DATA_A-NAME_ATTN = GT_DATA_A-BEZ20 && '/' && GT_DATA_A-NAME_LAST && GT_DATA_A-NAME_FIRST .
*付款条件描述
SELECT SINGLE TEXT1 INTO GT_DATA_A-TEXT1 FROM T052U
WHERE ZTERM = GT_DATA_A-ZTERM
AND SPRAS = 'E'
.
*装运条件描述
SELECT SINGLE VTEXT INTO GT_DATA_A-VTEXT FROM TVSBT
WHERE VSBED = GT_DATA_A-VSBED
AND SPRAS = 'E'
.
SELECT SINGLE NAME_ORG1 NAME_ORG2 INTO ( GT_DATA_A-NAME_ORG2 , GT_DATA_A-NAME_ORG4 ) FROM BUT000
WHERE PARTNER = GT_DATA_A-KUNAG
.
CLEAR ADDRNUMBER .
SELECT SINGLE ADDRNUMBER INTO ADDRNUMBER FROM BUT020
WHERE PARTNER = GT_DATA_A-KUNAG
.
IF SY-SUBRC = 0.
CLEAR COUNTRY .
SELECT SINGLE STREET STR_SUPPL1 STR_SUPPL2 COUNTRY INTO ( GT_DATA_A-SDF_SUPPL1 , GT_DATA_A-SDF_SUPPL2 , GT_DATA_A-SDF_SUPPL3 , COUNTRY ) FROM ADRC
WHERE ADDRNUMBER = ADDRNUMBER
.
IF COUNTRY IS NOT INITIAL.
SELECT SINGLE LANDX INTO GT_DATA_A-LANDX_SD FROM T005T
WHERE LAND1 = COUNTRY
AND SPRAS = 'E'
.
ENDIF.
ENDIF.
SELECT SINGLE ZSTG1 INTO GT_DATA_A-ZSTG1 FROM T052
WHERE ZTERM = GT_DATA_A-ZTERM
.
GT_DATA_A-DUE_DATE = GT_DATA_A-FKDAT + GT_DATA_A-ZSTG1 .
CLEAR TDID .
CLEAR TDID[] .
TDID = 'Z001'.
APPEND TDID .
TDID = 'Z002'.
APPEND TDID .
TDID = 'Z003'.
APPEND TDID .
TDID = 'Z004'.
APPEND TDID .
TDID = 'Z005'.
APPEND TDID .
TDID = 'Z006'.
APPEND TDID .
TDID = '0002'.
APPEND TDID .
TDNAME = GT_DATA_A-VBELN .
LOOP AT TDID.
CLEAR TLINE .
CLEAR TLINE[] .
CALL FUNCTION 'READ_TEXT'
EXPORTING
OBJECT = 'VBBK'
NAME = TDNAME
ID = TDID
LANGUAGE = 'E'
TABLES
LINES = TLINE
EXCEPTIONS
OBJECT = 1
ID = 2
LANGUAGE = 3
NAME = 4
NOT_FOUND = 5
REFERENCE_CHECK = 6.
CASE TDID.
WHEN 'Z001'.
LOOP AT TLINE.
GT_DATA_A-TDLINE1 = GT_DATA_A-TDLINE1 && TLINE-TDLINE .
ENDLOOP.
WHEN 'Z002'.
LOOP AT TLINE.
GT_DATA_A-TDLINE2 = GT_DATA_A-TDLINE2 && TLINE-TDLINE .
ENDLOOP.
WHEN 'Z003'.
LOOP AT TLINE.
GT_DATA_A-TDLINE3 = GT_DATA_A-TDLINE3 && TLINE-TDLINE .
ENDLOOP.
WHEN 'Z004'.
LOOP AT TLINE.
GT_DATA_A-TDLINE4 = GT_DATA_A-TDLINE4 && TLINE-TDLINE .
ENDLOOP.
WHEN 'Z005'.
LOOP AT TLINE.
GT_DATA_A-TDLINE5 = GT_DATA_A-TDLINE5 && TLINE-TDLINE .
ENDLOOP.
WHEN 'Z006'.
LOOP AT TLINE.
GT_DATA_A-TDLINE6 = GT_DATA_A-TDLINE6 && TLINE-TDLINE .
ENDLOOP.
WHEN '0002'.
LOOP AT TLINE.
GT_DATA_A-TDLINE7 = GT_DATA_A-TDLINE7 && TLINE-TDLINE .
ENDLOOP.
WHEN OTHERS.
ENDCASE.
ENDLOOP.
CLEAR IN_WORDS .
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = GT_DATA_A-NETWR
CURRENCY = GT_DATA_A-WAERK
FILLER = ' '
LANGUAGE = 'E'
IMPORTING
IN_WORDS = IN_WORDS
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
* SAY USD
GT_DATA_A-WORD = 'SAY ' && ' ' && GT_DATA_A-WAERK && ' ' && IN_WORDS-WORD && ' ONLY' .
MODIFY GT_DATA_A .
CLEAR GT_DATA_A .
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_DISPLAY
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FRM_DISPLAY .
CLEAR S_LAYOUT.
S_LAYOUT-ZEBRA = 'X'.
S_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
* s_layout-box_fieldname = 'BOX'.
PERFORM FRM_FILL_FIELD .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IS_LAYOUT = S_LAYOUT
IT_FIELDCAT = GT_FIELDCAT
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
TABLES
T_OUTTAB = GT_DATA_A[].
ENDFORM.
FORM FRM_FILL_FIELD .
DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DEFINE FILL_FIELD.
wa_fieldcat-fieldname = &1.
wa_fieldcat-seltext_l = &2.
* IF wa_fieldcat-fieldname = 'MSLJH' or wa_fieldcat-fieldname = 'WCBJH'.
* wa_fieldcat-EMPHASIZE = 'C600'. "设置字段的颜色
* ENDIF.
*
IF wa_fieldcat-fieldname = 'CKBOX' .
wa_fieldcat-CHECKBOX = 'X'.
wa_fieldcat-EDIT = 'X'.
ENDIF.
IF wa_fieldcat-fieldname = 'PLNBEZ' OR wa_fieldcat-fieldname = 'MATNR' .
wa_fieldcat-ref_tabname = 'MARA'.
wa_fieldcat-ref_fieldname = 'MATNR'.
ENDIF.
IF wa_fieldcat-fieldname = 'ARKTX' OR wa_fieldcat-fieldname = 'WAKTX' .
wa_fieldcat-ref_tabname = 'VBAP'.
wa_fieldcat-ref_fieldname = 'ARKTX'.
ENDIF.
IF wa_fieldcat-fieldname = 'AUFNR' .
wa_fieldcat-ref_tabname = 'AUFK'.
wa_fieldcat-ref_fieldname = 'AUFNR'.
ENDIF.
APPEND wa_fieldcat TO gt_fieldcat.
CLEAR wa_fieldcat.
END-OF-DEFINITION.
FILL_FIELD :
'CKBOX' '选择列',
'VBELN' '开票凭证',
'FKDAT' '开票日期',
'FKART' '开票类型',
'VKORG' '销售组织',
'KUNRG' '付款方',
'KUNAG' '售达方',
'NETWR' '总金额',
'WAERK' '币别',
'VSBED' '装运条件'.
ENDFORM.
FORM PF_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STANDARD_FULLSCREEN'.
ENDFORM.
FORM USER_COMMAND USING I_UCOMM LIKE SY-UCOMM
IS_SELFIELD TYPE SLIS_SELFIELD.
DATA: REF TYPE REF TO CL_GUI_ALV_GRID.
DATA : LV_STABLE TYPE LVC_S_STBL. "刷新稳定性
RANGES: L_WERKS FOR T001W-WERKS.
RANGES: L_MATNR FOR MARA-MATNR.
DATA: L_BUKRS TYPE T001K-BUKRS.
DATA: NUM TYPE I .
DATA: TEMP TYPE I .
DATA: TEMP_Z TYPE I .
LV_STABLE-ROW = '1'.
LV_STABLE-COL = '1'.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF.
CALL METHOD REF->CHECK_CHANGED_DATA.
CASE I_UCOMM.
WHEN 'PRINT'."点击打印
DATA: FM_NAME TYPE RS38L_FNAM .
DATA: FORMNAME TYPE TDSFNAME .
DATA:L_CONTROL_PARAMETERS TYPE SSFCTRLOP.
DATA:L_OUTPUT_OPTIONS TYPE SSFCOMPOP.
CLEAR FORMNAME .
IF R1 IS NOT INITIAL.
FORMNAME = 'ZMMSF103_C' .
ELSE .
* DESCRIBE TABLE GT_DATA_IT LINES NUM .
FORMNAME = 'ZMMSF103_D' .
ENDIF.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = FORMNAME "SmartForms程序
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
* 错误处理
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
EXIT.
ENDIF.
GT_DATA[] = GT_DATA_A[] .
DELETE GT_DATA[] WHERE CKBOX IS INITIAL .
IF GT_DATA[] IS NOT INITIAL.
LOOP AT GT_DATA .
L_CONTROL_PARAMETERS-NO_OPEN = 'X'.
L_CONTROL_PARAMETERS-NO_CLOSE = 'X'."
AT FIRST .
L_CONTROL_PARAMETERS-NO_OPEN = SPACE."首次运行时打开打印对话框
L_CONTROL_PARAMETERS-NO_CLOSE = 'X'."并且不关闭假脱机请求
ENDAT .
* AT LAST .
* L_CONTROL_PARAMETERS-NO_OPEN = SPACE.
* L_CONTROL_PARAMETERS-NO_CLOSE = 'X'."并且不关闭假脱机请求
** L_CONTROL_PARAMETERS-PREVIEW = 'X'.
* ENDAT .
CLEAR GT_DATA_IT[] .
SELECT VBELN POSNR MATNR ARKTX FKIMG VRKME NETWR INTO CORRESPONDING FIELDS OF TABLE GT_DATA_IT[] FROM VBRP
WHERE VBELN = GT_DATA-VBELN
.
IF GT_DATA_IT[] IS NOT INITIAL.
LOOP AT GT_DATA_IT.
SELECT SINGLE VBELV POSNV INTO ( GT_DATA_IT-VBELN_VA , GT_DATA_IT-POSNR_VA ) FROM VBFA
WHERE VBELN = GT_DATA_IT-VBELN
AND POSNN = GT_DATA_IT-POSNR
.
SELECT SINGLE KDMAT INTO GT_DATA_IT-KDMAT FROM VBAP
WHERE VBELN = GT_DATA_IT-VBELN_VA
AND POSNR = GT_DATA_IT-POSNR_VA
.
SELECT SINGLE BSTNK INTO GT_DATA_IT-BSTNK FROM VBAK
WHERE VBELN = GT_DATA_IT-VBELN_VA
.
GT_DATA_IT-ZSLDV = GT_DATA_IT-FKIMG && '/' && GT_DATA_IT-VRKME .
IF GT_DATA_IT-FKIMG <> 0.
GT_DATA_IT-ZHXDJ = GT_DATA_IT-NETWR / GT_DATA_IT-FKIMG .
ENDIF.
IF GT_DATA-VBELN_VL IS INITIAL.
SELECT SINGLE VBELN INTO GT_DATA-VBELN_VL FROM LIPS
WHERE VBELV = GT_DATA_IT-VBELN_VA
AND VBELN <> ''
.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = GT_DATA_IT-POSNR
IMPORTING
OUTPUT = GT_DATA_IT-POSNR.
MODIFY GT_DATA_IT .
CLEAR GT_DATA_IT .
ENDLOOP.
ENDIF.
* DO 17 TIMES.
* CLEAR GT_DATA_IT .
* APPEND GT_DATA_IT .
* ENDDO.
CLEAR NUM .
IF R1 IS NOT INITIAL.
* FORMNAME = 'ZMMSF103_A' .
CLEAR NUM .
DESCRIBE TABLE GT_DATA_IT LINES NUM .
CLEAR TEMP .
CLEAR TEMP_Z .
TEMP = NUM MOD 15 .
TEMP_Z = NUM DIV 15 .
IF TEMP <> 0.
TEMP_Z = TEMP_Z + 1 .
ENDIF.
GT_DATA-TEMP_Z = TEMP_Z .
IF TEMP <> 0.
DO 15 - TEMP TIMES.
CLEAR GT_DATA_IT .
APPEND GT_DATA_IT .
ENDDO.
ENDIF.
ELSE .
* FORMNAME = 'ZMMSF103_D' .
CLEAR NUM .
DESCRIBE TABLE GT_DATA_IT LINES NUM .
CLEAR TEMP .
CLEAR TEMP_Z .
TEMP = NUM MOD 15 .
TEMP_Z = NUM DIV 15 .
IF TEMP <> 0.
TEMP_Z = TEMP_Z + 1 .
ENDIF.
GT_DATA-TEMP_Z = TEMP_Z .
IF TEMP <> 0.
DO 15 - TEMP TIMES.
CLEAR GT_DATA_IT .
APPEND GT_DATA_IT .
ENDDO.
ENDIF.
ENDIF.
CALL FUNCTION FM_NAME
EXPORTING
CONTROL_PARAMETERS = L_CONTROL_PARAMETERS
OUTPUT_OPTIONS = L_OUTPUT_OPTIONS
USER_SETTINGS = ''
GS_INVOICE_HEAD = GT_DATA
TABLES
GT_INVOICE_ITEM = GT_DATA_IT[]
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.
DATA: LS_JOB_OUTPUT_INFO TYPE SSFCRESCL.
CALL FUNCTION 'SSF_CLOSE'
IMPORTING
JOB_OUTPUT_INFO = LS_JOB_OUTPUT_INFO
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
** 错误处理
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE .
MESSAGE '您还没有选择任何条目!' TYPE 'S'DISPLAY LIKE 'W' .
ENDIF.
WHEN 'ALL'.
LOOP AT GT_DATA_A.
GT_DATA_A-CKBOX = 'X' .
MODIFY GT_DATA_A .
CLEAR GT_DATA_A .
ENDLOOP.
WHEN 'SAL'.
LOOP AT GT_DATA_A.
GT_DATA_A-CKBOX = '' .
MODIFY GT_DATA_A .
CLEAR GT_DATA_A .
ENDLOOP.
ENDCASE.
CALL METHOD REF->REFRESH_TABLE_DISPLAY
EXPORTING
IS_STABLE = LV_STABLE.
ENDFORM.
INITIALIZATION .
PERFORM FRM_EXCLUDE_OPTION.
AT SELECTION-SCREEN OUTPUT.
PERFORM SCREEN_OUTPUT.
AT SELECTION-SCREEN.
PERFORM SCREEN_SETTING.
START-OF-SELECTION.
PERFORM FOM_GETDATA .
PERFORM FRM_DISPLAY.
ZSD-INVOICE打印
最新推荐文章于 2020-08-05 09:25:45 发布