1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 |
*&---------------------------------------------------------------------* *& Report ZTEST001 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZTEST001 . * Internal table declaration DATA: IT_OTF TYPE STANDARD TABLE OF ITCOO, IT_DOCS TYPE STANDARD TABLE OF DOCS, IT_LINES TYPE STANDARD TABLE OF TLINE. * Declaration of local variables. DATA: ST_JOB_OUTPUT_INFO TYPE SSFCRESCL, ST_DOCUMENT_OUTPUT_INFO TYPE SSFCRESPD, ST_JOB_OUTPUT_OPTIONS TYPE SSFCRESOP, ST_OUTPUT_OPTIONS TYPE SSFCOMPOP, ST_CONTROL_PARAMETERS TYPE SSFCTRLOP, V_LEN_IN TYPE SO_OBJ_LEN, V_LANGUAGE TYPE SFLANGU VALUE 'E', V_E_DEVTYPE TYPE RSPOPTYPE, V_BIN_FILESIZE TYPE I, V_NAME TYPE STRING, V_PATH TYPE STRING, V_FULLPATH TYPE STRING, V_FILTER TYPE STRING, V_UACT TYPE I, V_GUIOBJ TYPE REF TO CL_GUI_FRONTEND_SERVICES, V_FILENAME TYPE STRING, V_FM_NAME TYPE RS38L_FNAM. DATA:it_zfi011adxs2_2 LIKE zfi011adxs OCCURS 0 WITH HEADER LINE. CONSTANTS C_FORMNAME TYPE TDSFNAME VALUE 'ZFI011_SM'. CALL FUNCTION 'SSF_GET_DEVICE_TYPE' EXPORTING I_LANGUAGE = V_LANGUAGE I_APPLICATION = 'SAPDEFAULT' IMPORTING E_DEVTYPE = V_E_DEVTYPE. ST_OUTPUT_OPTIONS-TDPRINTER = V_E_DEVTYPE. ST_CONTROL_PARAMETERS-NO_DIALOG = 'X'. ST_CONTROL_PARAMETERS-GETOTF = 'X'. *.................GET SMARTFORM FUNCTION MODULE NAME.................* CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME = C_FORMNAME IMPORTING FM_NAME = V_FM_NAME EXCEPTIONS NO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3. *...........................CALL SMARTFORM............................* CALL FUNCTION V_FM_NAME EXPORTING CONTROL_PARAMETERS = ST_CONTROL_PARAMETERS OUTPUT_OPTIONS = ST_OUTPUT_OPTIONS IMPORTING DOCUMENT_OUTPUT_INFO = ST_DOCUMENT_OUTPUT_INFO JOB_OUTPUT_INFO = ST_JOB_OUTPUT_INFO JOB_OUTPUT_OPTIONS = ST_JOB_OUTPUT_OPTIONS TABLES T_OUT = it_zfi011adxs2_2 EXCEPTIONS FORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5. *.........................CONVERT TO OTF TO PDF.......................* CALL FUNCTION 'CONVERT_OTF_2_PDF' IMPORTING BIN_FILESIZE = V_BIN_FILESIZE TABLES OTF = ST_JOB_OUTPUT_INFO-OTFDATA DOCTAB_ARCHIVE = IT_DOCS LINES = IT_LINES EXCEPTIONS ERR_CONV_NOT_POSSIBLE = 1 ERR_OTF_MC_NOENDMARKER = 2 OTHERS = 3. *........................ *GET THE FILE NAME TO STORE.................... * CONCATENATE 'smrt' '.pdf' INTO V_NAME. CREATE OBJECT V_GUIOBJ. CALL METHOD V_GUIOBJ->FILE_SAVE_DIALOG EXPORTING DEFAULT_EXTENSION = 'pdf' DEFAULT_FILE_NAME = V_NAME FILE_FILTER = V_FILTER CHANGING FILENAME = V_NAME PATH = V_PATH FULLPATH = V_FULLPATH USER_ACTION = V_UACT. IF V_UACT = V_GUIOBJ->ACTION_CANCEL. EXIT. ENDIF. *..................................DOWNLOAD AS FILE....................* MOVE V_FULLPATH TO V_FILENAME. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING BIN_FILESIZE = V_BIN_FILESIZE FILENAME = V_FILENAME FILETYPE = 'BIN' TABLES DATA_TAB = IT_LINES EXCEPTIONS FILE_WRITE_ERROR = 1 NO_BATCH = 2 GUI_REFUSE_FILETRANSFER = 3 INVALID_TYPE = 4 NO_AUTHORITY = 5 UNKNOWN_ERROR = 6 HEADER_NOT_ALLOWED = 7 SEPARATOR_NOT_ALLOWED = 8 FILESIZE_NOT_ALLOWED = 9 HEADER_TOO_LONG = 10 DP_ERROR_CREATE = 11 DP_ERROR_SEND = 12 DP_ERROR_WRITE = 13 UNKNOWN_DP_ERROR = 14 ACCESS_DENIED = 15 DP_OUT_OF_MEMORY = 16 DISK_FULL = 17 DP_TIMEOUT = 18 FILE_NOT_FOUND = 19 DATAPROVIDER_EXCEPTION = 20 CONTROL_FLUSH_ERROR = 21 OTHERS = 22. |
2019
08-29
08-29