ABAP smartforms中在全局定义类型中定义内表的相关必要操作
代码部分(其中1-4均放在print的form中即可,5单独一个form):
1.
DEFINE SAVEBUFFER.
PERFORM SAVE_TO_BUFFER USING &1 &2.
END-OF-DEFINITION.
2.
DATA: PRINTID TYPE GUID_22. "*
DATA: TIMEID TYPE GUID_22. "* "*
CALL FUNCTION 'GUID_CREATE' "*
IMPORTING "*
EV_GUID_22 = PRINTID. "*
CALL FUNCTION 'GUID_CREATE' "*
IMPORTING "*
EV_GUID_22 = TIMEID. "*
DATA:LV_PRINTID(22) TYPE C. "*
DATA:LV_TIMEID(22) TYPE C. "* "*
LV_PRINTID = PRINTID. "*
LV_TIMEID = TIMEID. "*
SAVEBUFFER GT_PRINT[] LV_PRINTID. "*
SAVEBUFFER GT_TIME[] LV_TIMEID.
3.
DATA:LV_NAME1 TYPE RS38L_FNAM.
DATA:LV_NAME TYPE TDSFNAME.
LV_NAME = 'ZFIR001'.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = LV_NAME
IMPORTING
FM_NAME = LV_NAME1
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. "*
ENDIF.
4.
DATA: "*
DOCUMENT_OUTPUT_INFO TYPE SSFCRESPD,
JOB_OUTPUT_INFO TYPE SSFCRESCL,
JOB_OUTPUT_OPTIONS TYPE SSFCRESOP.
CALL FUNCTION LV_NAME1 "*
EXPORTING "*
* ARCHIVE_INDEX = "*
* ARCHIVE_INDEX_TAB = "*
* ARCHIVE_PARAMETERS = "*
* CONTROL_PARAMETERS = "*
* MAIL_APPL_OBJ = "*
* MAIL_RECIPIENT = "*
* MAIL_SENDER = "*
* OUTPUT_OPTIONS = "*
* USER_SETTINGS = 'X' "*
PRINT_ID = LV_PRINTID "*
TIME_ID = LV_TIMEID "* "*
IMPORTING "*
DOCUMENT_OUTPUT_INFO = DOCUMENT_OUTPUT_INFO "*
JOB_OUTPUT_INFO = JOB_OUTPUT_INFO "*
JOB_OUTPUT_OPTIONS = JOB_OUTPUT_OPTIONS "*
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.
5.
FORM SAVE_TO_BUFFER USING T TYPE TABLE TYPEID TYPE C .
DATA WA_INDX TYPE INDX.
WA_INDX-AEDAT = SY-DATUM.
WA_INDX-USERA = SY-UNAME.
WA_INDX-PGMID = SY-REPID.
EXPORT T TO DATABASE INDX(HK) ID TYPEID FROM WA_INDX.
ENDFORM.
SMARTFORMS部分:
1.
2.
3.
4.
5.
smartforms中关于配置的内容就基本完成了。