工作生活与爱好
工作中的记录;
生活中的记忆;
业余爱好的记载。
2007-01-14
下载/上传 Smart Forms 和 Smart Styles的程序
由于本人的版本的是4.6C的,SAP没有提供下载和上传Smart Forms和Smart Styles的功能,幸运的是在网上找到了一个能实现这种功能的程序,如有需要可以下载。
本人已经修改了程序中存在的一些BUG,但也许还存在一些,如果大家有兴趣的话可以继续完善之,共同提高!
REPORT ZQUALITY LINE-SIZE 150 NO STANDARD PAGE HEADING.
******************************************************
*Program : ZSMART_FORM_UPLOAD_DOWNLOAD *
*Description : This utility/tool can download or *
* upload smartform and smartstyles. *
*====================================================*
*&===== TABLES =====
TABLES: STXFADM,"SAPscript Smart Forms: Administration
STXSADM."SAPscript Smart Styles: Administration
DATA: V_PASS,
G_ANS,
BEGIN OF TAB OCCURS 0,
LINE(144),
END OF TAB,
TNAME LIKE SY-REPID.
*&===== SELCTION SCREEN =====
SELECTION-SCREEN BEGIN OF BLOCK SMART1 WITH FRAME TITLE TEXT001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT101."Smart Form Name
PARAMETERS: P_FNAME LIKE STXFADM-FORMNAME DEFAULT 'ZTEST'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT102. "File Name
PARAMETERS: P_FFILE LIKE RLGRAP-FILENAME LOWER CASE
DEFAULT 'C:\ZTEST'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK IND1 WITH FRAME TITLE TEXT002.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT103."None
PARAMETERS: P_FT RADIOBUTTON GROUP ABH1."Form Treatment
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT104."Upload
PARAMETERS: P_FU RADIOBUTTON GROUP ABH1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT105."Download
PARAMETERS: P_FD RADIOBUTTON GROUP ABH1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK IND1.
SELECTION-SCREEN END OF BLOCK SMART1.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN BEGIN OF BLOCK SMART2 WITH FRAME TITLE TEXT003.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT106."Smart Style Name
PARAMETERS: P_SNAME LIKE STXFADM-FORMNAME DEFAULT 'ZTEST'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT107."File Name
PARAMETERS: P_SFILE LIKE RLGRAP-FILENAME LOWER CASE
DEFAULT 'C:\ZTEST'."Style File Name
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK IND2 WITH FRAME TITLE TEXT004.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT108."None
PARAMETERS: P_ST RADIOBUTTON GROUP ABH2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT109."Upload
PARAMETERS: P_SU RADIOBUTTON GROUP ABH2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT110."Download
PARAMETERS: P_SD RADIOBUTTON GROUP ABH2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK IND2.
SELECTION-SCREEN END OF BLOCK SMART2.
*&===== INITIALIZATION =====
INITIALIZATION.
TEXT001 = 'Smart Forms Upload/Download'.
TEXT002 = 'Options'.
TEXT003 = 'Smart Style Upload/Download'.
TEXT004 = TEXT002.
TEXT101 = 'Smart Form Name'.
TEXT102 = 'File Name'.
TEXT103 = 'None'.
TEXT104 = 'Upload'.
TEXT105 = 'Download'.
TEXT106 = 'Smart Style Name'.
TEXT107 = TEXT102.
TEXT108 = TEXT103.
TEXT109 = TEXT104.
TEXT110 = TEXT105.
*&===== AT-SELCTION-SCREEN =====
AT SELECTION-SCREEN.
PERFORM SUB_VALIDATION.
DEFINE VMESS.
IF V_PASS = SPACE.
CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
EXPORTING
TITEL = 'Smartform/Smartstyle Upload-Download Utility'
TEXTLINE1 = &1
START_COLUMN = 25
START_ROW = 6.
V_PASS = 'X'.
ENDIF.
END-OF-DEFINITION.
DEFINE ABHISHEK.
TAB-LINE = &1.
TRANSLATE TAB-LINE USING '@B`I!J~N^O%T#F?S|Q'.
APPEND TAB.
CLEAR TAB.
END-OF-DEFINITION.
DEFINE APP.
ITAB-ID = &1. ITAB-KEY = &2. ITAB-ENTRY = &3.
APPEND ITAB.
CLEAR ITAB.
END-OF-DEFINITION.
*&===== START-SELCTION-SCREEN =====
START-OF-SELECTION.
DATA: ERROR(150).
IF V_PASS = SPACE.
PERFORM SUB_WARNING.
IF G_ANS = '1'.
REFRESH TAB. CLEAR: TAB, TNAME.
ABHISHEK: 'PROGRAM ztabhi.'.
PERFORM FORM100000.
PERFORM FORM100001.
PERFORM FORM100002.
PERFORM FORM100003.
PERFORM FORM100004.
PERFORM FORM100005.
* LOOP AT TAB.
* WRITE:/ TAB-LINE.
* ENDLOOP.
GENERATE SUBROUTINE POOL TAB NAME TNAME MESSAGE ERROR.
IF SY-SUBRC = 0.
IF P_FU = 'X'.
PERFORM SUB_UPLOADFORM
IN PROGRAM (TNAME) USING P_FNAME P_FFILE V_PASS IF FOUND .
* PERFORM SUB_UPLOADFORM
* IN PROGRAM ZTABHI USING P_FNAME P_FFILE V_PASS IF FOUND .
ELSEIF P_FD = 'X'.
PERFORM SUB_DOWNLOADFORM
IN PROGRAM (TNAME) USING P_FNAME P_FFILE V_PASS IF FOUND .
* PERFORM SUB_DOWNLOADFORM
* IN PROGRAM ZTABHI USING P_FNAME P_FFILE V_PASS IF FOUND .
ENDIF.
IF P_SU = 'X'.
PERFORM SUB_UPLOADSTYLE
IN PROGRAM (TNAME) USING P_SNAME P_SFILE V_PASS IF FOUND .
ELSEIF P_SD = 'X'.
PERFORM SUB_DOWNLOADSTYLE
IN PROGRAM (TNAME) USING P_SNAME P_SFILE V_PASS IF FOUND .
ENDIF.
ELSE.
VMESS 'ERROR: Either the key is wrong or Program has been modified'.
ENDIF.
ELSE.
VMESS 'Action Cancelled'.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form form100001
*&---------------------------------------------------------------------*
FORM FORM100001.
ABHISHEK:
' DEFINE DATADECS.',
' DATA: BEGIN OF T_&1 OCCURS 0.',
' INCLUDE STRUCTURE &1.',
' DATA: END OF T_&1.',
' SELECT * INTO TABLE T_&1 FROM &1 WHERE STYLENAME = P_?NAME.',
' END-OF-DEFINITION.',
' DEFINE DOWNLOADALL.',
' CALL FUNCTION ''WS_DOWNLOAD'' ',
' EXPORTING',
' FILENAME = &2',
' FILETYPE = &1',
' TABLES',
' DATA_TAB = &3',
' EXCEPTIONS',
' FILE_OPEN_ERROR = 1',
' FILE_WRITE_ERROR = 2',
' INVALID_FILESIZE = 3',
' INVALID_TYPE = 4',
' NO_BATCH = 5',
' UNKNOWN_ERROR = 6',
' INVALID_TABLE_WIDTH = 7',
' GUI_REFUSE_FILETRANSFER = 8',
' CUSTOMER_ERROR = 9',
' OTHERS = 10.',
' END-OF-DEFINITION.',
' DEFINE UPLOADALL.',
' CALL FUNCTION ''WS_UPLOAD'' ',
' EXPORTING',
' FILENAME = &2',
' FILETYPE = &1',
' TABLES',
' DATA_TAB = &3',
' 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.',
' END-OF-DEFINITION.',
' DEFINE ABHI_SPEC1.',
' DATA: BEGIN OF T_&1 .',
' INCLUDE STRUCTURE &1.',
' DATA: END OF T_&1.',
' CLEAR: L_CHAR, L_NO.',
' LOOP AT %_%A@ WHERE NAME = ''&1''.',
' L_NO = 0.',
' SELECT * FROM DD03L WHERE TABNAME = %_%A@-NAME ORDER BY POSITION .',
' IF DD03L-INTTYPE <> SPACE.',
' IF DD03L-INTTYPE = ''P''. DD03L-INTLEN = 10. ENDIF.',
' CONCATENATE ''t_&1-'' DD03L-FIELDNAME INTO L_CHAR.',
' ASSIGN (L_CHAR) TO .',
' = %_%A@-DATA+L_NO(DD03L-INTLEN).',
' IF DD03L-FIELDNAME = ''STYLENAME''.',
' = P_?NAME.',
' ENDIF.',
' L_NO = L_NO + DD03L-INTLEN.',
' ENDIF.',
' ENDSELECT.',
' MODIFY &1 FROM T_&1.',
' IF SY-SUBRC <> 0.',
' VMESS ''ERROR in uploading the Style ''.',
' ENDIF.',
' ENDLOOP.',
' END-OF-DEFINITION.',
' DEFINE ABHI_SPEC.',
' CLEAR: L_CHAR, L_NO.',
' LOOP AT T_&1.',
' L_NO = 0.',
' SELECT * FROM DD03L WHERE TABNAME = ''&1'' ORDER BY POSITION .',
' IF DD03L-INTTYPE <> SPACE.',
' IF DD03L-INTTYPE = ''P''. DD03L-INTLEN = 10. ENDIF.',
' CONCATENATE ''t_&1-'' DD03L-FIELDNAME INTO L_CHAR.',
' ASSIGN (L_CHAR) TO .',
' %_%A@-NAME = ''&1''.',
' %_%A@-DATA+L_NO(DD03L-INTLEN) = .',
' L_NO = L_NO + DD03L-INTLEN.',
' ENDIF.',
' ENDSELECT.',
' APPEND %_%A@.',
' CLEAR %_%A@.',
' ENDLOOP.',
' END-OF-DEFINITION.',
' DEFINE VMESS.',
' IF V_PASS = SPACE.',
' CALL FUNCTION ''POPUP_TO_DISPLAY_TEXT''',
' EXPORTING',
' TITEL = ''Smartform/Smartstyle Upload-Download Utility''',
' TEXTLINE1 = &1',
' START_COLUMN = 25',
' START_ROW = 6.',
' V_PASS = ''X''.',
' ENDIF.',
' END-OF-DEFINITION.'.
ENDFORM. " form100001
*&---------------------------------------------------------------------*
*& Form form100000
*&---------------------------------------------------------------------*
FORM FORM100000.
ABHISHEK:
*&===== TABLES =====
'TABLES: STXFADM,',
' STXFADMT,',
' STXSADM,',
' STXSADMT,',
' DD03L.',
*&===== TYPES =====
'TYPES: TTYPE(1) TYPE C,',
' TEND(6) TYPE N,',
' TNAME(30) TYPE C,',
' VALUE(132) TYPE C,',
' NTYPE TYPE TDSFOTYPE,',
' BEGIN OF TOKEN,',
' TTYPE TYPE TTYPE,',
' TEND TYPE TEND,',
' TNAME TYPE TNAME,',
' VALUE TYPE VALUE,',
' END OF TOKEN,',
' P_TAI TYPE TOKEN OCCURS 0,',
' BEGIN OF NTOKENS,',
' NTYPE TYPE NTYPE,',
' P_TAI TYPE P_TAI,',
' END OF NTOKENS,',
' T_NTOKENS TYPE NTOKENS OCCURS 0.',
*&===== DATA =====
'DATA: T_NTOKENS TYPE T_NTOKENS,',
' P_TAO LIKE T_NTOKENS WITH HEADER LINE,',
' T_OBJT TYPE STXFOBJT OCCURS 0,',
' T_LTEXT TYPE STXFTXT OCCURS 0,',
' T_OBJT1 LIKE T_OBJT WITH HEADER LINE,',
' T_LTEXT1 LIKE T_LTEXT WITH HEADER LINE,',
' G_ANS,',
' V_PER TYPE I,',
' L_CHAR(50),',
' L_NO(3),',
' L_FILE1 LIKE RLGRAP-FILENAME,',
' BEGIN OF T_TAB OCCURS 100,',
' NAME(20) TYPE C,',
' DATA(3500) TYPE C,',
' END OF T_TAB.',
*&===== FIELD-SYMBOLS =====
'FIELD-SYMBOLS: .'.
ENDFORM. " form100000
*&---------------------------------------------------------------------*
*& Form form100002
*&---------------------------------------------------------------------*
FORM FORM100002.
ABHISHEK:
'FORM SUB_UPLOADFORM using P_#NAME p_ffile v_pass.',
' DATA: I_FORMNAME(30),',
' P_TA` LIKE P_TA^-P_TA` WITH HEADER LINE.',
' CLEAR: L_FILE1,',
' %_%A@.',
' REFRESH: %_%A@.',
' REFRESH: %_~%^KE~?, %_^@!%, %_L%EX%, P_TA^, %_^@!%1, %_L%EX%1.',
' CLEAR: %_~%^KE~?, %_^@!%, %_L%EX%, P_TA^, %_^@!%1, %_L%EX%1.',
* ' CONCATENATE P_fFILE ''~f!o@r#m$.ABHI'' INTO L_FILE1.',
' MOVE P_fFILE TO L_FILE1.',
' I_FORMNAME = P_#NAME .',
' UPLOADALL ''DAT'' L_FILE1 %_%A@.',
' IF SY-SUBRC <> 0.',
' VMESS ''ERROR in Uploading: Please check the file path''.',
' ENDIF.',
' LOOP AT %_%A@.',
' IF %_%A@-NAME = ''STXFOBJT''.',
' %_^@!%1 = %_%A@-DATA.',
' IF %_^@!%1-FORMNAME <> SPACE.',
' %_^@!%1-FORMNAME = I_FORMNAME.',
' ENDIF.',
' APPEND %_^@!%1.',
' CLEAR %_^@!%1.',
' ELSEIF %_%A@-NAME = ''STXFTXT''.',
' %_L%EX%1 = %_%A@-DATA.',
' IF %_L%EX%1-FORMNAME <> SPACE.',
' %_L%EX%1-FORMNAME = I_FORMNAME.',
' ENDIF.',
' APPEND %_L%EX%1.',
' CLEAR %_L%EX%1.',
' ELSEIF %_%A@-NAME = ''STXFADM''.',
' STXFADM = %_%A@-DATA.',
' IF STXFADM-FORMNAME <> SPACE.',
' STXFADM-FORMNAME = P_#NAME.',
' STXFADM-FIRSTUSER = SY-UNAME.',
' STXFADM-LASTUSER = SY-UNAME.',
' STXFADM-DEVCLASS = ''$TMP''.',
' ENDIF.',
' ELSEIF %_%A@-NAME = ''STXFADMT''.',
' STXFADMT = %_%A@-DATA.',
' ELSE.',
' AT NEW NAME.',
' P_TA^-NTYPE = %_%A@-NAME.',
' REFRESH P_TA`. CLEAR P_TA`.',
' ENDAT.',
' P_TA` = %_%A@-DATA.',
' IF P_TA^-NTYPE =''SF''.',
' IF P_TA`-TNAME = ''FORMNAME''.',
' P_TA`-VALUE = P_#NAME.',
' ELSEIF P_TA`-TNAME = ''DEVCLASS''.',
' P_TA`-VALUE = ''$TMP''.',
' ELSEIF P_TA`-TNAME = ''FIRSTUSER''.',
' P_TA`-VALUE = SY-UNAME.',
' ELSEIF P_TA`-TNAME = ''FIRSTDATE''.',
' P_TA`-VALUE = SY-DATUM.',
' ELSEIF P_TA`-TNAME = ''FIRSTTIME''.',
' P_TA`-VALUE = SY-UZEIT.',
' ELSEIF P_TA`-TNAME = ''LASTUSER''.',
' P_TA`-VALUE = SY-UNAME.',
' ELSEIF P_TA`-TNAME = ''LASTDATE''.',
' P_TA`-VALUE = SY-DATUM.',
' ELSEIF P_TA`-TNAME = ''LASTTIME''.',
' P_TA`-VALUE = SY-UZEIT.',
' ENDIF.',
' ENDIF.',
' APPEND P_TA`.',
' AT END OF NAME.',
' P_TA^-P_TA`[] = P_TA`[].',
' APPEND P_TA^.',
' CLEAR P_TA^.',
' ENDAT.',
' ENDIF.',
' ENDLOOP.',
' %_~%^KE~?[] = P_TA^[].',
' %_^@!%[] = %_^@!%1[].',
' %_L%EX%[] = %_L%EX%1[].',
' MODIFY STXFADM .',
' MODIFY STXFADMT .',
' EXPORT %_~%^KE~? %_^@!% %_L%EX%',
' TO DATABASE STXFCONTS(XX) ID I_FORMNAME.',
' IF SY-SUBRC = 0.',
' VMESS ''FORM UPLOAD: Sucessfully completed''.',
' ELSE.',
' VMESS ''ERROR in Exporting the Form ''.',
' ENDIF.',
'ENDFORM.'.
ENDFORM. " form100002
*&---------------------------------------------------------------------*
*& Form form100003
*&---------------------------------------------------------------------*
FORM FORM100003.
ABHISHEK:
'FORM SUB_DOWNLOADFORM using P_#NAME p_ffile v_pass. ',
' DATA: I_FORMNAME(30). ',
' CONSTANTS C_TEXT_FORM VALUE ''F''. ',
' CLEAR: L_FILE1,',
' %_%A@. ',
' REFRESH: %_%A@. ',
' REFRESH: %_~%^KE~?, %_^@!%, %_L%EX%, P_TA^. ',
' CLEAR: %_~%^KE~?, %_^@!%, %_L%EX%, P_TA^. ',
* ' CONCATENATE P_fFILE ''~f!o@r#m$.ABHI'' INTO L_FILE1.',
' MOVE P_fFILE TO L_FILE1.',
' I_FORMNAME = P_#NAME . ',
' IMPORT %_~%^KE~? %_^@!% %_L%EX% ',
' FROM DATABASE STXFCONTS(XX) ID I_FORMNAME.',
' IF SY-SUBRC <> 0. ',
' SELECT * FROM STXFOBJT INTO TABLE %_^@!% ',
' WHERE FORMNAME = I_FORMNAME. ',
' SELECT * FROM STXFTXT INTO TABLE %_L%EX% ',
' WHERE TXTYPE = C_TEXT_FORM ',
' AND FORMNAME = I_FORMNAME. ',
' IMPORT %_~%^KE~? FROM DATABASE STXFCONT(XX) ID I_FORMNAME. ',
' ENDIF.',
' P_TA^[] = %_~%^KE~?[]. ',
' LOOP AT P_TA^. ',
' LOOP AT P_TA^-P_TA` INTO %_%A@-DATA. ',
' %_%A@-NAME = P_TA^-NTYPE. ',
' APPEND %_%A@. ',
' CLEAR %_%A@. ',
' ENDLOOP. ',
' ENDLOOP.' ,
' LOOP AT %_^@!% INTO %_%A@-DATA. ',
' %_%A@-NAME = ''STXFOBJT''. ',
' APPEND %_%A@. ',
' CLEAR %_%A@. ',
' ENDLOOP. ',
' LOOP AT %_L%EX% INTO %_%A@-DATA. ',
' %_%A@-NAME = ''STXFTXT''. ',
' APPEND %_%A@. ',
' CLEAR %_%A@. ',
' ENDLOOP. ',
' SELECT SINGLE * FROM STXFADM WHERE FORMNAME = P_#NAME. ',
' %_%A@-DATA = STXFADM. ',
' %_%A@-NAME = ''STXFADM''. ',
' APPEND %_%A@. ',
' CLEAR %_%A@.' ,
' SELECT SINGLE * FROM STXFADMT WHERE FORMNAME = P_#NAME. ',
' %_%A@-DATA = STXFADMT. ',
' %_%A@-NAME = ''STXFADMT''. ',
' APPEND %_%A@. ',
' CLEAR %_%A@.' ,
' DOWNLOADALL ''DAT'' L_FILE1 %_%A@. ',
' IF SY-SUBRC = 0. ',
' VMESS ''FORM DOWNLOAD: Sucessfully completed''. ',
' ELSE. ',
' VMESS ''ERROR in Downloading: Please check the file path ''. ',
' ENDIF. ',
'ENDFORM. '. " SUB_DOWNLOADFORM
ENDFORM. " form100003
*&---------------------------------------------------------------------*
*& Form form100004
*&---------------------------------------------------------------------*
FORM FORM100004.
ABHISHEK:
'FORM SUB_UPLOADSTYLE USING P_?NAME P_SFILE V_PASS.',
' CLEAR: L_FILE1,',
' %_%A@.',
' REFRESH: %_%A@.',
* ' CONCATENATE P_SFILE ''~s!t@l#y$e.ABHI'' INTO L_FILE1.',
' MOVE P_SFILE TO L_FILE1.',
' UPLOADALL ''DAT'' L_FILE1 %_%A@.',
' IF SY-SUBRC <> 0.',
' VMESS ''ERROR in uploading the File ''.',
' ENDIF.',
' ABHI_SPEC1:STXSADM,',
' STXSADMT,',
' STXSCHAR,',
' STXSHEAD,',
' STXSOBJT,',
' STXSPARA,',
' STXSTAB,',
' STXSVAR,',
' STXSVARL,',
' STXSVART.',
' IF SY-SUBRC = 0.',
' VMESS ''STYLE UPLOAD: Sucessfully completed''.',
' ELSE.',
' VMESS ''ERROR in uploading the Style ''.',
' ENDIF.',
'ENDFORM. '.
ENDFORM. " form100004
*&---------------------------------------------------------------------*
*& Form form100005
*&---------------------------------------------------------------------*
FORM FORM100005.
ABHISHEK:
'FORM SUB_DOWNLOADSTYLE USING P_?NAME P_SFILE V_PASS.',
' CLEAR: L_FILE1,',
' %_%A@.',
' REFRESH: %_%A@.',
* ' CONCATENATE P_SFILE ''~s!t@l#y$e.ABHI'' INTO L_FILE1.',
' MOVE P_SFILE TO L_FILE1.',
' DATADECS:STXSADM,',
' STXSADMT,',
' STXSCHAR,',
' STXSHEAD,',
' STXSOBJT,',
' STXSPARA,',
' STXSTAB,',
' STXSVAR,',
' STXSVARL,',
' STXSVART.',
' ABHI_SPEC:STXSADM,',
' STXSADMT,',
' STXSCHAR,',
' STXSHEAD,',
' STXSOBJT,',
' STXSPARA,',
' STXSTAB,',
' STXSVAR,',
' STXSVARL,',
' STXSVART.',
' DOWNLOADALL ''DAT'' L_FILE1 %_%A@.',
' IF SY-SUBRC = 0.',
' VMESS ''STYLE DOWNLOAD: Sucessfully completed''.',
' ELSE.',
' VMESS ''ERROR in Downloading the File ''.',
' ENDIF.',
'ENDFORM. '.
ENDFORM. " form100005
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATION
*&---------------------------------------------------------------------*
FORM SUB_VALIDATION.
IF P_ST = 'X' AND P_FT = 'X'.
VMESS 'Please Select Upload Download Indicator.'.
ENDIF.
IF P_FT = SPACE.
PERFORM SUB_VAL_FORM.
ENDIF.
IF P_ST = SPACE.
PERFORM SUB_VAL_STYLE.
ENDIF.
ENDFORM. " SUB_VALIDATION
*&---------------------------------------------------------------------*
*& Form SUB_VAL_FORM
*&---------------------------------------------------------------------*
FORM SUB_VAL_FORM.
DATA: L_FILE1(20),
L_FILE2(20).
IF P_FNAME = SPACE.
VMESS 'Please enter the form name'.
ENDIF.
IF P_FNAME+0(1) <> 'Z'.
IF P_FU = 'X'.
VMESS 'Form name should start with ''Z'' only'.
ENDIF.
ENDIF.
IF P_FFILE = SPACE.
VMESS 'Please enter the file name'.
ENDIF.
SPLIT P_FFILE AT '.' INTO L_FILE1 L_FILE2.
IF L_FILE2 <> SPACE.
VMESS 'Don''t enter the extention with file name'.
ENDIF.
IF P_FU = 'X'.
SELECT SINGLE * FROM STXFADM WHERE FORMNAME = P_FNAME.
IF SY-SUBRC = 0.
VMESS 'Form already exists'.
ENDIF.
ENDIF.
IF P_FD = 'X'.
SELECT SINGLE * FROM STXFADM WHERE FORMNAME = P_FNAME.
IF SY-SUBRC <> 0.
VMESS 'Form does not exists'.
ENDIF.
ENDIF.
ENDFORM. " SUB_VAL_FORM
*&---------------------------------------------------------------------*
*& Form SUB_VAL_STYLE
*&---------------------------------------------------------------------*
FORM SUB_VAL_STYLE.
DATA: L_FILE1(20),
L_FILE2(20).
IF P_SNAME = SPACE.
VMESS 'Please enter the Style name'.
ENDIF.
IF P_SNAME+0(1) <> 'Z'.
VMESS 'Style name should start with ''Z'' only'.
ENDIF.
IF P_SFILE = SPACE.
VMESS 'Please enter the file name'.
ENDIF.
SPLIT P_SFILE AT '.' INTO L_FILE1 L_FILE2.
IF L_FILE2 <> SPACE.
VMESS 'Don''t enter extention with file name'.
ENDIF.
IF P_SU = 'X'.
SELECT SINGLE * FROM STXSADM WHERE STYLENAME = P_SNAME.
IF SY-SUBRC = 0.
VMESS 'Style already exists'.
ENDIF.
ENDIF.
IF P_SD = 'X'.
SELECT SINGLE * FROM STXSADM WHERE STYLENAME = P_SNAME.
IF SY-SUBRC <> 0.
VMESS 'Style does not exists'.
ENDIF.
ENDIF.
ENDFORM. " SUB_VAL_STYLE
*&---------------------------------------------------------------------*
*& Form SUB_WARNING
*&---------------------------------------------------------------------*
FORM SUB_WARNING.
DATA: L_LINE1(50),
L_LINE2(50),
L_LINE3(50),
L_TITLE(50).
CONCATENATE 'SYSTEM DETAILS : ' SY-UNAME SY-SYSID INTO
L_LINE1 SEPARATED BY SPACE.
IF P_FU = 'X'.
CONCATENATE 'Upload Form : ' P_FNAME INTO L_LINE2
SEPARATED BY SPACE.
ENDIF.
IF P_FD = 'X'.
CONCATENATE 'Download Form : ' P_FNAME INTO L_LINE2
SEPARATED BY SPACE.
ENDIF.
IF P_SU = 'X'.
CONCATENATE 'Upload Style : ' P_SNAME INTO L_LINE3
SEPARATED BY SPACE.
ENDIF.
IF P_SD = 'X'.
CONCATENATE 'Download Style : ' P_SNAME INTO L_LINE3
SEPARATED BY SPACE.
ENDIF.
L_TITLE = 'Upload/Download Form and Style'.
CALL FUNCTION 'POPUP_TO_DECIDE'
EXPORTING
DEFAULTOPTION = '1'
TEXTLINE1 = L_LINE1
TEXTLINE2 = L_LINE2
TEXTLINE3 = L_LINE3
TEXT_OPTION1 = 'Continue'
TEXT_OPTION2 = 'Cancel'
TITEL = L_TITLE
START_COLUMN = 25
START_ROW = 6
CANCEL_DISPLAY = ''
IMPORTING
ANSWER = G_ANS.
ENDFORM. " SUB_WARNING
REPORT ZQUALITY LINE-SIZE 150 NO STANDARD PAGE HEADING.
******************************************************
*Program : ZSMART_FORM_UPLOAD_DOWNLOAD *
*Description : This utility/tool can download or *
* upload smartform and smartstyles. *
*====================================================*
*&===== TABLES =====
TABLES: STXFADM,"SAPscript Smart Forms: Administration
STXSADM."SAPscript Smart Styles: Administration
DATA: V_PASS,
G_ANS,
BEGIN OF TAB OCCURS 0,
LINE(144),
END OF TAB,
TNAME LIKE SY-REPID.
*&===== SELCTION SCREEN =====
SELECTION-SCREEN BEGIN OF BLOCK SMART1 WITH FRAME TITLE TEXT001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT101."Smart Form Name
PARAMETERS: P_FNAME LIKE STXFADM-FORMNAME DEFAULT 'ZTEST'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT102. "File Name
PARAMETERS: P_FFILE LIKE RLGRAP-FILENAME LOWER CASE
DEFAULT 'C:\ZTEST'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK IND1 WITH FRAME TITLE TEXT002.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT103."None
PARAMETERS: P_FT RADIOBUTTON GROUP ABH1."Form Treatment
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT104."Upload
PARAMETERS: P_FU RADIOBUTTON GROUP ABH1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT105."Download
PARAMETERS: P_FD RADIOBUTTON GROUP ABH1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK IND1.
SELECTION-SCREEN END OF BLOCK SMART1.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN BEGIN OF BLOCK SMART2 WITH FRAME TITLE TEXT003.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT106."Smart Style Name
PARAMETERS: P_SNAME LIKE STXFADM-FORMNAME DEFAULT 'ZTEST'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT107."File Name
PARAMETERS: P_SFILE LIKE RLGRAP-FILENAME LOWER CASE
DEFAULT 'C:\ZTEST'."Style File Name
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK IND2 WITH FRAME TITLE TEXT004.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT108."None
PARAMETERS: P_ST RADIOBUTTON GROUP ABH2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT109."Upload
PARAMETERS: P_SU RADIOBUTTON GROUP ABH2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 4(20) TEXT110."Download
PARAMETERS: P_SD RADIOBUTTON GROUP ABH2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK IND2.
SELECTION-SCREEN END OF BLOCK SMART2.
*&===== INITIALIZATION =====
INITIALIZATION.
TEXT001 = 'Smart Forms Upload/Download'.
TEXT002 = 'Options'.
TEXT003 = 'Smart Style Upload/Download'.
TEXT004 = TEXT002.
TEXT101 = 'Smart Form Name'.
TEXT102 = 'File Name'.
TEXT103 = 'None'.
TEXT104 = 'Upload'.
TEXT105 = 'Download'.
TEXT106 = 'Smart Style Name'.
TEXT107 = TEXT102.
TEXT108 = TEXT103.
TEXT109 = TEXT104.
TEXT110 = TEXT105.
*&===== AT-SELCTION-SCREEN =====
AT SELECTION-SCREEN.
PERFORM SUB_VALIDATION.
DEFINE VMESS.
IF V_PASS = SPACE.
CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
EXPORTING
TITEL = 'Smartform/Smartstyle Upload-Download Utility'
TEXTLINE1 = &1
START_COLUMN = 25
START_ROW = 6.
V_PASS = 'X'.
ENDIF.
END-OF-DEFINITION.
DEFINE ABHISHEK.
TAB-LINE = &1.
TRANSLATE TAB-LINE USING '@B`I!J~N^O%T#F?S|Q'.
APPEND TAB.
CLEAR TAB.
END-OF-DEFINITION.
DEFINE APP.
ITAB-ID = &1. ITAB-KEY = &2. ITAB-ENTRY = &3.
APPEND ITAB.
CLEAR ITAB.
END-OF-DEFINITION.
*&===== START-SELCTION-SCREEN =====
START-OF-SELECTION.
DATA: ERROR(150).
IF V_PASS = SPACE.
PERFORM SUB_WARNING.
IF G_ANS = '1'.
REFRESH TAB. CLEAR: TAB, TNAME.
ABHISHEK: 'PROGRAM ztabhi.'.
PERFORM FORM100000.
PERFORM FORM100001.
PERFORM FORM100002.
PERFORM FORM100003.
PERFORM FORM100004.
PERFORM FORM100005.
* LOOP AT TAB.
* WRITE:/ TAB-LINE.
* ENDLOOP.
GENERATE SUBROUTINE POOL TAB NAME TNAME MESSAGE ERROR.
IF SY-SUBRC = 0.
IF P_FU = 'X'.
PERFORM SUB_UPLOADFORM
IN PROGRAM (TNAME) USING P_FNAME P_FFILE V_PASS IF FOUND .
* PERFORM SUB_UPLOADFORM
* IN PROGRAM ZTABHI USING P_FNAME P_FFILE V_PASS IF FOUND .
ELSEIF P_FD = 'X'.
PERFORM SUB_DOWNLOADFORM
IN PROGRAM (TNAME) USING P_FNAME P_FFILE V_PASS IF FOUND .
* PERFORM SUB_DOWNLOADFORM
* IN PROGRAM ZTABHI USING P_FNAME P_FFILE V_PASS IF FOUND .
ENDIF.
IF P_SU = 'X'.
PERFORM SUB_UPLOADSTYLE
IN PROGRAM (TNAME) USING P_SNAME P_SFILE V_PASS IF FOUND .
ELSEIF P_SD = 'X'.
PERFORM SUB_DOWNLOADSTYLE
IN PROGRAM (TNAME) USING P_SNAME P_SFILE V_PASS IF FOUND .
ENDIF.
ELSE.
VMESS 'ERROR: Either the key is wrong or Program has been modified'.
ENDIF.
ELSE.
VMESS 'Action Cancelled'.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form form100001
*&---------------------------------------------------------------------*
FORM FORM100001.
ABHISHEK:
' DEFINE DATADECS.',
' DATA: BEGIN OF T_&1 OCCURS 0.',
' INCLUDE STRUCTURE &1.',
' DATA: END OF T_&1.',
' SELECT * INTO TABLE T_&1 FROM &1 WHERE STYLENAME = P_?NAME.',
' END-OF-DEFINITION.',
' DEFINE DOWNLOADALL.',
' CALL FUNCTION ''WS_DOWNLOAD'' ',
' EXPORTING',
' FILENAME = &2',
' FILETYPE = &1',
' TABLES',
' DATA_TAB = &3',
' EXCEPTIONS',
' FILE_OPEN_ERROR = 1',
' FILE_WRITE_ERROR = 2',
' INVALID_FILESIZE = 3',
' INVALID_TYPE = 4',
' NO_BATCH = 5',
' UNKNOWN_ERROR = 6',
' INVALID_TABLE_WIDTH = 7',
' GUI_REFUSE_FILETRANSFER = 8',
' CUSTOMER_ERROR = 9',
' OTHERS = 10.',
' END-OF-DEFINITION.',
' DEFINE UPLOADALL.',
' CALL FUNCTION ''WS_UPLOAD'' ',
' EXPORTING',
' FILENAME = &2',
' FILETYPE = &1',
' TABLES',
' DATA_TAB = &3',
' 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.',
' END-OF-DEFINITION.',
' DEFINE ABHI_SPEC1.',
' DATA: BEGIN OF T_&1 .',
' INCLUDE STRUCTURE &1.',
' DATA: END OF T_&1.',
' CLEAR: L_CHAR, L_NO.',
' LOOP AT %_%A@ WHERE NAME = ''&1''.',
' L_NO = 0.',
' SELECT * FROM DD03L WHERE TABNAME = %_%A@-NAME ORDER BY POSITION .',
' IF DD03L-INTTYPE <> SPACE.',
' IF DD03L-INTTYPE = ''P''. DD03L-INTLEN = 10. ENDIF.',
' CONCATENATE ''t_&1-'' DD03L-FIELDNAME INTO L_CHAR.',
' ASSIGN (L_CHAR) TO .',
' = %_%A@-DATA+L_NO(DD03L-INTLEN).',
' IF DD03L-FIELDNAME = ''STYLENAME''.',
' = P_?NAME.',
' ENDIF.',
' L_NO = L_NO + DD03L-INTLEN.',
' ENDIF.',
' ENDSELECT.',
' MODIFY &1 FROM T_&1.',
' IF SY-SUBRC <> 0.',
' VMESS ''ERROR in uploading the Style ''.',
' ENDIF.',
' ENDLOOP.',
' END-OF-DEFINITION.',
' DEFINE ABHI_SPEC.',
' CLEAR: L_CHAR, L_NO.',
' LOOP AT T_&1.',
' L_NO = 0.',
' SELECT * FROM DD03L WHERE TABNAME = ''&1'' ORDER BY POSITION .',
' IF DD03L-INTTYPE <> SPACE.',
' IF DD03L-INTTYPE = ''P''. DD03L-INTLEN = 10. ENDIF.',
' CONCATENATE ''t_&1-'' DD03L-FIELDNAME INTO L_CHAR.',
' ASSIGN (L_CHAR) TO .',
' %_%A@-NAME = ''&1''.',
' %_%A@-DATA+L_NO(DD03L-INTLEN) = .',
' L_NO = L_NO + DD03L-INTLEN.',
' ENDIF.',
' ENDSELECT.',
' APPEND %_%A@.',
' CLEAR %_%A@.',
' ENDLOOP.',
' END-OF-DEFINITION.',
' DEFINE VMESS.',
' IF V_PASS = SPACE.',
' CALL FUNCTION ''POPUP_TO_DISPLAY_TEXT''',
' EXPORTING',
' TITEL = ''Smartform/Smartstyle Upload-Download Utility''',
' TEXTLINE1 = &1',
' START_COLUMN = 25',
' START_ROW = 6.',
' V_PASS = ''X''.',
' ENDIF.',
' END-OF-DEFINITION.'.
ENDFORM. " form100001
*&---------------------------------------------------------------------*
*& Form form100000
*&---------------------------------------------------------------------*
FORM FORM100000.
ABHISHEK:
*&===== TABLES =====
'TABLES: STXFADM,',
' STXFADMT,',
' STXSADM,',
' STXSADMT,',
' DD03L.',
*&===== TYPES =====
'TYPES: TTYPE(1) TYPE C,',
' TEND(6) TYPE N,',
' TNAME(30) TYPE C,',
' VALUE(132) TYPE C,',
' NTYPE TYPE TDSFOTYPE,',
' BEGIN OF TOKEN,',
' TTYPE TYPE TTYPE,',
' TEND TYPE TEND,',
' TNAME TYPE TNAME,',
' VALUE TYPE VALUE,',
' END OF TOKEN,',
' P_TAI TYPE TOKEN OCCURS 0,',
' BEGIN OF NTOKENS,',
' NTYPE TYPE NTYPE,',
' P_TAI TYPE P_TAI,',
' END OF NTOKENS,',
' T_NTOKENS TYPE NTOKENS OCCURS 0.',
*&===== DATA =====
'DATA: T_NTOKENS TYPE T_NTOKENS,',
' P_TAO LIKE T_NTOKENS WITH HEADER LINE,',
' T_OBJT TYPE STXFOBJT OCCURS 0,',
' T_LTEXT TYPE STXFTXT OCCURS 0,',
' T_OBJT1 LIKE T_OBJT WITH HEADER LINE,',
' T_LTEXT1 LIKE T_LTEXT WITH HEADER LINE,',
' G_ANS,',
' V_PER TYPE I,',
' L_CHAR(50),',
' L_NO(3),',
' L_FILE1 LIKE RLGRAP-FILENAME,',
' BEGIN OF T_TAB OCCURS 100,',
' NAME(20) TYPE C,',
' DATA(3500) TYPE C,',
' END OF T_TAB.',
*&===== FIELD-SYMBOLS =====
'FIELD-SYMBOLS: .'.
ENDFORM. " form100000
*&---------------------------------------------------------------------*
*& Form form100002
*&---------------------------------------------------------------------*
FORM FORM100002.
ABHISHEK:
'FORM SUB_UPLOADFORM using P_#NAME p_ffile v_pass.',
' DATA: I_FORMNAME(30),',
' P_TA` LIKE P_TA^-P_TA` WITH HEADER LINE.',
' CLEAR: L_FILE1,',
' %_%A@.',
' REFRESH: %_%A@.',
' REFRESH: %_~%^KE~?, %_^@!%, %_L%EX%, P_TA^, %_^@!%1, %_L%EX%1.',
' CLEAR: %_~%^KE~?, %_^@!%, %_L%EX%, P_TA^, %_^@!%1, %_L%EX%1.',
* ' CONCATENATE P_fFILE ''~f!o@r#m$.ABHI'' INTO L_FILE1.',
' MOVE P_fFILE TO L_FILE1.',
' I_FORMNAME = P_#NAME .',
' UPLOADALL ''DAT'' L_FILE1 %_%A@.',
' IF SY-SUBRC <> 0.',
' VMESS ''ERROR in Uploading: Please check the file path''.',
' ENDIF.',
' LOOP AT %_%A@.',
' IF %_%A@-NAME = ''STXFOBJT''.',
' %_^@!%1 = %_%A@-DATA.',
' IF %_^@!%1-FORMNAME <> SPACE.',
' %_^@!%1-FORMNAME = I_FORMNAME.',
' ENDIF.',
' APPEND %_^@!%1.',
' CLEAR %_^@!%1.',
' ELSEIF %_%A@-NAME = ''STXFTXT''.',
' %_L%EX%1 = %_%A@-DATA.',
' IF %_L%EX%1-FORMNAME <> SPACE.',
' %_L%EX%1-FORMNAME = I_FORMNAME.',
' ENDIF.',
' APPEND %_L%EX%1.',
' CLEAR %_L%EX%1.',
' ELSEIF %_%A@-NAME = ''STXFADM''.',
' STXFADM = %_%A@-DATA.',
' IF STXFADM-FORMNAME <> SPACE.',
' STXFADM-FORMNAME = P_#NAME.',
' STXFADM-FIRSTUSER = SY-UNAME.',
' STXFADM-LASTUSER = SY-UNAME.',
' STXFADM-DEVCLASS = ''$TMP''.',
' ENDIF.',
' ELSEIF %_%A@-NAME = ''STXFADMT''.',
' STXFADMT = %_%A@-DATA.',
' ELSE.',
' AT NEW NAME.',
' P_TA^-NTYPE = %_%A@-NAME.',
' REFRESH P_TA`. CLEAR P_TA`.',
' ENDAT.',
' P_TA` = %_%A@-DATA.',
' IF P_TA^-NTYPE =''SF''.',
' IF P_TA`-TNAME = ''FORMNAME''.',
' P_TA`-VALUE = P_#NAME.',
' ELSEIF P_TA`-TNAME = ''DEVCLASS''.',
' P_TA`-VALUE = ''$TMP''.',
' ELSEIF P_TA`-TNAME = ''FIRSTUSER''.',
' P_TA`-VALUE = SY-UNAME.',
' ELSEIF P_TA`-TNAME = ''FIRSTDATE''.',
' P_TA`-VALUE = SY-DATUM.',
' ELSEIF P_TA`-TNAME = ''FIRSTTIME''.',
' P_TA`-VALUE = SY-UZEIT.',
' ELSEIF P_TA`-TNAME = ''LASTUSER''.',
' P_TA`-VALUE = SY-UNAME.',
' ELSEIF P_TA`-TNAME = ''LASTDATE''.',
' P_TA`-VALUE = SY-DATUM.',
' ELSEIF P_TA`-TNAME = ''LASTTIME''.',
' P_TA`-VALUE = SY-UZEIT.',
' ENDIF.',
' ENDIF.',
' APPEND P_TA`.',
' AT END OF NAME.',
' P_TA^-P_TA`[] = P_TA`[].',
' APPEND P_TA^.',
' CLEAR P_TA^.',
' ENDAT.',
' ENDIF.',
' ENDLOOP.',
' %_~%^KE~?[] = P_TA^[].',
' %_^@!%[] = %_^@!%1[].',
' %_L%EX%[] = %_L%EX%1[].',
' MODIFY STXFADM .',
' MODIFY STXFADMT .',
' EXPORT %_~%^KE~? %_^@!% %_L%EX%',
' TO DATABASE STXFCONTS(XX) ID I_FORMNAME.',
' IF SY-SUBRC = 0.',
' VMESS ''FORM UPLOAD: Sucessfully completed''.',
' ELSE.',
' VMESS ''ERROR in Exporting the Form ''.',
' ENDIF.',
'ENDFORM.'.
ENDFORM. " form100002
*&---------------------------------------------------------------------*
*& Form form100003
*&---------------------------------------------------------------------*
FORM FORM100003.
ABHISHEK:
'FORM SUB_DOWNLOADFORM using P_#NAME p_ffile v_pass. ',
' DATA: I_FORMNAME(30). ',
' CONSTANTS C_TEXT_FORM VALUE ''F''. ',
' CLEAR: L_FILE1,',
' %_%A@. ',
' REFRESH: %_%A@. ',
' REFRESH: %_~%^KE~?, %_^@!%, %_L%EX%, P_TA^. ',
' CLEAR: %_~%^KE~?, %_^@!%, %_L%EX%, P_TA^. ',
* ' CONCATENATE P_fFILE ''~f!o@r#m$.ABHI'' INTO L_FILE1.',
' MOVE P_fFILE TO L_FILE1.',
' I_FORMNAME = P_#NAME . ',
' IMPORT %_~%^KE~? %_^@!% %_L%EX% ',
' FROM DATABASE STXFCONTS(XX) ID I_FORMNAME.',
' IF SY-SUBRC <> 0. ',
' SELECT * FROM STXFOBJT INTO TABLE %_^@!% ',
' WHERE FORMNAME = I_FORMNAME. ',
' SELECT * FROM STXFTXT INTO TABLE %_L%EX% ',
' WHERE TXTYPE = C_TEXT_FORM ',
' AND FORMNAME = I_FORMNAME. ',
' IMPORT %_~%^KE~? FROM DATABASE STXFCONT(XX) ID I_FORMNAME. ',
' ENDIF.',
' P_TA^[] = %_~%^KE~?[]. ',
' LOOP AT P_TA^. ',
' LOOP AT P_TA^-P_TA` INTO %_%A@-DATA. ',
' %_%A@-NAME = P_TA^-NTYPE. ',
' APPEND %_%A@. ',
' CLEAR %_%A@. ',
' ENDLOOP. ',
' ENDLOOP.' ,
' LOOP AT %_^@!% INTO %_%A@-DATA. ',
' %_%A@-NAME = ''STXFOBJT''. ',
' APPEND %_%A@. ',
' CLEAR %_%A@. ',
' ENDLOOP. ',
' LOOP AT %_L%EX% INTO %_%A@-DATA. ',
' %_%A@-NAME = ''STXFTXT''. ',
' APPEND %_%A@. ',
' CLEAR %_%A@. ',
' ENDLOOP. ',
' SELECT SINGLE * FROM STXFADM WHERE FORMNAME = P_#NAME. ',
' %_%A@-DATA = STXFADM. ',
' %_%A@-NAME = ''STXFADM''. ',
' APPEND %_%A@. ',
' CLEAR %_%A@.' ,
' SELECT SINGLE * FROM STXFADMT WHERE FORMNAME = P_#NAME. ',
' %_%A@-DATA = STXFADMT. ',
' %_%A@-NAME = ''STXFADMT''. ',
' APPEND %_%A@. ',
' CLEAR %_%A@.' ,
' DOWNLOADALL ''DAT'' L_FILE1 %_%A@. ',
' IF SY-SUBRC = 0. ',
' VMESS ''FORM DOWNLOAD: Sucessfully completed''. ',
' ELSE. ',
' VMESS ''ERROR in Downloading: Please check the file path ''. ',
' ENDIF. ',
'ENDFORM. '. " SUB_DOWNLOADFORM
ENDFORM. " form100003
*&---------------------------------------------------------------------*
*& Form form100004
*&---------------------------------------------------------------------*
FORM FORM100004.
ABHISHEK:
'FORM SUB_UPLOADSTYLE USING P_?NAME P_SFILE V_PASS.',
' CLEAR: L_FILE1,',
' %_%A@.',
' REFRESH: %_%A@.',
* ' CONCATENATE P_SFILE ''~s!t@l#y$e.ABHI'' INTO L_FILE1.',
' MOVE P_SFILE TO L_FILE1.',
' UPLOADALL ''DAT'' L_FILE1 %_%A@.',
' IF SY-SUBRC <> 0.',
' VMESS ''ERROR in uploading the File ''.',
' ENDIF.',
' ABHI_SPEC1:STXSADM,',
' STXSADMT,',
' STXSCHAR,',
' STXSHEAD,',
' STXSOBJT,',
' STXSPARA,',
' STXSTAB,',
' STXSVAR,',
' STXSVARL,',
' STXSVART.',
' IF SY-SUBRC = 0.',
' VMESS ''STYLE UPLOAD: Sucessfully completed''.',
' ELSE.',
' VMESS ''ERROR in uploading the Style ''.',
' ENDIF.',
'ENDFORM. '.
ENDFORM. " form100004
*&---------------------------------------------------------------------*
*& Form form100005
*&---------------------------------------------------------------------*
FORM FORM100005.
ABHISHEK:
'FORM SUB_DOWNLOADSTYLE USING P_?NAME P_SFILE V_PASS.',
' CLEAR: L_FILE1,',
' %_%A@.',
' REFRESH: %_%A@.',
* ' CONCATENATE P_SFILE ''~s!t@l#y$e.ABHI'' INTO L_FILE1.',
' MOVE P_SFILE TO L_FILE1.',
' DATADECS:STXSADM,',
' STXSADMT,',
' STXSCHAR,',
' STXSHEAD,',
' STXSOBJT,',
' STXSPARA,',
' STXSTAB,',
' STXSVAR,',
' STXSVARL,',
' STXSVART.',
' ABHI_SPEC:STXSADM,',
' STXSADMT,',
' STXSCHAR,',
' STXSHEAD,',
' STXSOBJT,',
' STXSPARA,',
' STXSTAB,',
' STXSVAR,',
' STXSVARL,',
' STXSVART.',
' DOWNLOADALL ''DAT'' L_FILE1 %_%A@.',
' IF SY-SUBRC = 0.',
' VMESS ''STYLE DOWNLOAD: Sucessfully completed''.',
' ELSE.',
' VMESS ''ERROR in Downloading the File ''.',
' ENDIF.',
'ENDFORM. '.
ENDFORM. " form100005
*&---------------------------------------------------------------------*
*& Form SUB_VALIDATION
*&---------------------------------------------------------------------*
FORM SUB_VALIDATION.
IF P_ST = 'X' AND P_FT = 'X'.
VMESS 'Please Select Upload Download Indicator.'.
ENDIF.
IF P_FT = SPACE.
PERFORM SUB_VAL_FORM.
ENDIF.
IF P_ST = SPACE.
PERFORM SUB_VAL_STYLE.
ENDIF.
ENDFORM. " SUB_VALIDATION
*&---------------------------------------------------------------------*
*& Form SUB_VAL_FORM
*&---------------------------------------------------------------------*
FORM SUB_VAL_FORM.
DATA: L_FILE1(20),
L_FILE2(20).
IF P_FNAME = SPACE.
VMESS 'Please enter the form name'.
ENDIF.
IF P_FNAME+0(1) <> 'Z'.
IF P_FU = 'X'.
VMESS 'Form name should start with ''Z'' only'.
ENDIF.
ENDIF.
IF P_FFILE = SPACE.
VMESS 'Please enter the file name'.
ENDIF.
SPLIT P_FFILE AT '.' INTO L_FILE1 L_FILE2.
IF L_FILE2 <> SPACE.
VMESS 'Don''t enter the extention with file name'.
ENDIF.
IF P_FU = 'X'.
SELECT SINGLE * FROM STXFADM WHERE FORMNAME = P_FNAME.
IF SY-SUBRC = 0.
VMESS 'Form already exists'.
ENDIF.
ENDIF.
IF P_FD = 'X'.
SELECT SINGLE * FROM STXFADM WHERE FORMNAME = P_FNAME.
IF SY-SUBRC <> 0.
VMESS 'Form does not exists'.
ENDIF.
ENDIF.
ENDFORM. " SUB_VAL_FORM
*&---------------------------------------------------------------------*
*& Form SUB_VAL_STYLE
*&---------------------------------------------------------------------*
FORM SUB_VAL_STYLE.
DATA: L_FILE1(20),
L_FILE2(20).
IF P_SNAME = SPACE.
VMESS 'Please enter the Style name'.
ENDIF.
IF P_SNAME+0(1) <> 'Z'.
VMESS 'Style name should start with ''Z'' only'.
ENDIF.
IF P_SFILE = SPACE.
VMESS 'Please enter the file name'.
ENDIF.
SPLIT P_SFILE AT '.' INTO L_FILE1 L_FILE2.
IF L_FILE2 <> SPACE.
VMESS 'Don''t enter extention with file name'.
ENDIF.
IF P_SU = 'X'.
SELECT SINGLE * FROM STXSADM WHERE STYLENAME = P_SNAME.
IF SY-SUBRC = 0.
VMESS 'Style already exists'.
ENDIF.
ENDIF.
IF P_SD = 'X'.
SELECT SINGLE * FROM STXSADM WHERE STYLENAME = P_SNAME.
IF SY-SUBRC <> 0.
VMESS 'Style does not exists'.
ENDIF.
ENDIF.
ENDFORM. " SUB_VAL_STYLE
*&---------------------------------------------------------------------*
*& Form SUB_WARNING
*&---------------------------------------------------------------------*
FORM SUB_WARNING.
DATA: L_LINE1(50),
L_LINE2(50),
L_LINE3(50),
L_TITLE(50).
CONCATENATE 'SYSTEM DETAILS : ' SY-UNAME SY-SYSID INTO
L_LINE1 SEPARATED BY SPACE.
IF P_FU = 'X'.
CONCATENATE 'Upload Form : ' P_FNAME INTO L_LINE2
SEPARATED BY SPACE.
ENDIF.
IF P_FD = 'X'.
CONCATENATE 'Download Form : ' P_FNAME INTO L_LINE2
SEPARATED BY SPACE.
ENDIF.
IF P_SU = 'X'.
CONCATENATE 'Upload Style : ' P_SNAME INTO L_LINE3
SEPARATED BY SPACE.
ENDIF.
IF P_SD = 'X'.
CONCATENATE 'Download Style : ' P_SNAME INTO L_LINE3
SEPARATED BY SPACE.
ENDIF.
L_TITLE = 'Upload/Download Form and Style'.
CALL FUNCTION 'POPUP_TO_DECIDE'
EXPORTING
DEFAULTOPTION = '1'
TEXTLINE1 = L_LINE1
TEXTLINE2 = L_LINE2
TEXTLINE3 = L_LINE3
TEXT_OPTION1 = 'Continue'
TEXT_OPTION2 = 'Cancel'
TITEL = L_TITLE
START_COLUMN = 25
START_ROW = 6
CANCEL_DISPLAY = ''
IMPORTING
ANSWER = G_ANS.
ENDFORM. " SUB_WARNING
Archives
1990年1月15日
2007年1月14日
2007年1月15日
2007年1月16日
2007年1月17日
2007年1月18日
2007年1月19日
2007年1月20日
2007年1月22日
2007年1月23日
2007年1月24日
2007年1月25日
2007年1月26日
2007年1月27日
2007年1月29日
2007年1月30日
2007年1月31日
2007年2月1日
2007年2月2日
2007年2月3日
2007年3月13日
2007年5月15日
2007年5月16日
2007年6月2日