警告:此程序仅供研究,请谨慎操作,切勿对系统标准数据表及功能函数进行测试(可能无法修复)。

程序:EWUCINS

  1. REPORT EWUCINS MESSAGE-ID US NO STANDARD PAGE HEADING.
  2.  
  3. * Administrieren Cluster und parallele Tasks
  4.  
  5. PARAMETERS: TESTRUN DEFAULT 'X', "test B(reak), C(alled)
  6.  
  7. P_FKT() DEFAULT 'SIZ'."SIZ,INS,DEL
  8.  
  9. TABLES: TAORA, TAINF.
  10.  
  11. DATA: H_RUNTI TYPE F.
  12.  
  13. DATA: BEGIN OF T_DBAFREE OCCURS ,
  14.  
  15. NAME(),
  16.  
  17. BYTES TYPE I,
  18.  
  19. END OF T_DBAFREE,
  20.  
  21. H_TABNAME LIKE DD02L-TABNAME VALUE 'EWUCLU'.
  22.  
  23. DATA: BEGIN OF T_DBAONLINE OCCURS ,
  24.  
  25. NAME(),
  26.  
  27. STATUS(),
  28.  
  29. END OF T_DBAONLINE.
  30.  
  31. DATA: RC LIKE SY-SUBRC.
  32.  
  33. AT SELECTION-SCREEN OUTPUT.
  34.  
  35. *f sy-subty = '04'. "dialog
  36.  
  37. IF TESTRUN <> 'C'. "dialog
  38.  
  39. P_FKT = 'SIZ'.
  40.  
  41. ENDIF.
  42.  
  43. START-OF-SELECTION.
  44.  
  45. *******************************************************
  46.  
  47. * Write out Parameters
  48.  
  49. *******************************************************
  50.  
  51. PERFORM WRITE_PARMS.
  52.  
  53. GET RUN TIME FIELD H_RUNTI.
  54.  
  55. ************************************************************************
  56.  
  57. * functions
  58.  
  59. ************************************************************************
  60.  
  61. CASE P_FKT.
  62.  
  63. * available freespace in db ------------------------------------------*
  64.  
  65. WHEN 'SIZ'.
  66.  
  67. IF SY-DBSYS = 'ORACLE'
  68.  
  69. OR SY-DBSYS = 'INFORMIX'.
  70.  
  71. PERFORM SEL_DBAFREE.
  72.  
  73. ELSE.
  74.  
  75. * installation --------------------------------------------------------*
  76.  
  77. * when 'INS'.
  78.  
  79. TAORA-TABART = 'APPL0'.
  80.  
  81. PERFORM CREATE_TABLE.
  82.  
  83. PERFORM CREATE_FUNCTION.
  84.  
  85. ENDIF.
  86.  
  87. * drop ewuclu --------------------------------------------------------*
  88.  
  89. WHEN 'DEL'.
  90.  
  91. PERFORM DELETE_TABLE.
  92.  
  93. ENDCASE.
  94.  
  95. GET RUN TIME FIELD H_RUNTI.
  96.  
  97. * IF testrun = 'B'. BREAK-POINT. ENDIF.
  98.  
  99. WRITE: / 'runtime:', H_RUNTI,
  100.  
  101. / 'endtime:', SY-UZEIT.
  102.  
  103. COMMIT WORK.
  104.  
  105. IF TESTRUN = 'C'. LEAVE PROGRAM. ENDIF. "called
  106.  
  107. STOP.
  108.  
  109. *----------------------------------------------------------------------*
  110.  
  111. AT LINE-SELECTION.
  112.  
  113. T_DBAFREE-name = SY-LISEL().
  114.  
  115. WRITE: / T_DBAFREE-NAME, 'wurde ausgewählt'().
  116.  
  117. PERFORM FIND_TABLE_DETAIL.
  118.  
  119. PERFORM CREATE_TABLE.
  120.  
  121. PERFORM CREATE_FUNCTION.
  122.  
  123. *----------------------------------------------------------------------*
  124.  
  125. FORM APPEND_DBAFREE.
  126.  
  127. IF SY-SUBRC = . APPEND T_DBAFREE. ENDIF.
  128.  
  129. ENDFORM.
  130.  
  131. FORM APPEND_DBAONLINE.
  132.  
  133. IF SY-SUBRC = . APPEND T_DBAONLINE. ENDIF.
  134.  
  135. ENDFORM.
  136.  
  137. *----------------------------------------------------------------------*
  138.  
  139. FORM SEL_DBAFREE.
  140.  
  141. CASE SY-DBSYS.
  142.  
  143. WHEN 'ORACLE'.
  144.  
  145. EXEC SQL PERFORMING APPEND_DBAFREE.
  146.  
  147. SELECT TABLESPACE_NAME, SUM(NVL(BYTES,))/
  148.  
  149. FROM DBA_FREE_SPACE
  150.  
  151. GROUP BY TABLESPACE_NAME INTO :T_DBAFREE
  152.  
  153. ENDEXEC.
  154.  
  155. EXEC SQL PERFORMING APPEND_DBAONLINE.
  156.  
  157. SELECT TABLESPACE_NAME, STATUS
  158.  
  159. FROM DBA_TABLESPACES
  160.  
  161. INTO :T_DBAONLINE
  162.  
  163. ENDEXEC.
  164.  
  165. LOOP AT T_DBAONLINE.
  166.  
  167. IF T_DBAONLINE-STATUS = 'OFFLINE'.
  168.  
  169. DELETE T_DBAFREE WHERE NAME = T_DBAONLINE-NAME.
  170.  
  171. ENDIF.
  172.  
  173. ENDLOOP.
  174.  
  175. WHEN 'INFORMIX'.
  176.  
  177. PERFORM LISTE_DBSPACES_CREATE.
  178.  
  179. WHEN OTHERS.
  180.  
  181. WRITE: / 'DB not implemented'. STOP.
  182.  
  183. ENDCASE.
  184.  
  185. SORT T_DBAFREE BY BYTES DESCENDING.
  186.  
  187. IF TESTRUN <> 'C'.
  188.  
  189. LOOP AT T_DBAFREE.
  190.  
  191. IF SY-TABIX = .
  192.  
  193. WRITE: / 'Tablespace', 'Freespace(KB)'.
  194.  
  195. ENDIF.
  196.  
  197. WRITE: / T_DBAFREE-NAME, T_DBAFREE-BYTES.
  198.  
  199. ENDLOOP.
  200.  
  201. * automatically find biggest freespace
  202.  
  203. ELSE.
  204.  
  205. LOOP AT T_DBAFREE.
  206.  
  207. IF T_DBAFREE-NAME() <> 'PSAPROLL'
  208.  
  209. AND T_DBAFREE-NAME() <> 'PSAPTEMP'
  210.  
  211. AND T_DBAFREE-NAME() <> 'SYSTEM'.
  212.  
  213. PERFORM FIND_TABLE_DETAIL.
  214.  
  215. PERFORM CREATE_TABLE.
  216.  
  217. PERFORM CREATE_FUNCTION.
  218.  
  219. EXIT.
  220.  
  221. ENDIF.
  222.  
  223. ENDLOOP.
  224.  
  225. ENDIF.
  226.  
  227. ENDFORM.
  228.  
  229. *----------------------------------------------------------------------*
  230.  
  231. FORM FIND_TABLE_DETAIL.
  232.  
  233. * tabellenart (appl0) bestimmt tablespace/dbspace
  234.  
  235. CASE SY-DBSYS.
  236.  
  237. WHEN 'ORACLE'.
  238.  
  239. SELECT SINGLE * FROM TAORA WHERE TABSPACE = T_DBAFREE-NAME.
  240.  
  241. WHEN 'INFORMIX'.
  242.  
  243. TAINF-DBSPACES = T_DBAFREE-NAME.
  244.  
  245. TRANSLATE TAINF-DBSPACES TO UPPER CASE. "#EC TRANSLANG
  246.  
  247. SELECT SINGLE * FROM TAINF WHERE DBSPACES = TAINF-DBSPACES.
  248.  
  249. TAORA-TABART = TAINF-TABART.
  250.  
  251. ENDCASE.
  252.  
  253. IF SY-SUBRC <> .
  254.  
  255. * write: / 'tabart not found'.
  256.  
  257. * exit.
  258.  
  259. TAORA-TABART = 'APPL0'.
  260.  
  261. IF SY-DBSYS = 'ORACLE'.
  262.  
  263. DATA: PROG() OCCURS WITH HEADER LINE.
  264.  
  265. TABLES: DD02L.
  266.  
  267. PROG = 'report x. '. APPEND PROG.
  268.  
  269. PROG = 'tables: dd02ora. '. APPEND PROG.
  270.  
  271. IF SY-SAPRL >= '31I'.
  272.  
  273. PROG = 'tables: ddstorage. '. APPEND PROG.
  274.  
  275. ENDIF.
  276.  
  277. PROG = 'form insert_dd02ora. '. APPEND PROG.
  278.  
  279. CONCATENATE 'dd02ora-tabname = ''' H_TABNAME '''.' INTO PROG.
  280.  
  281. APPEND PROG.
  282.  
  283. CONCATENATE 'delete from dd02ora where tabname = '''
  284.  
  285. H_TABNAME '''.' INTO PROG.
  286.  
  287. APPEND PROG.
  288.  
  289. PROG = 'dd02ora-source = ''USR''. '. APPEND PROG.
  290.  
  291. PROG = 'dd02ora-useflag = ''X''. '. APPEND PROG.
  292.  
  293. CONCATENATE 'dd02ora-tabspace = ''' T_DBAFREE-NAME '''.' INTO PROG.
  294.  
  295. APPEND PROG.
  296.  
  297. PROG = 'dd02ora-init = ''''. '. APPEND PROG.
  298.  
  299. PROG = 'dd02ora-next = ''''. '. APPEND PROG.
  300.  
  301. PROG = 'dd02ora-minext = ''''. '. APPEND PROG.
  302.  
  303. PROG = 'dd02ora-maxext = ''''. '. APPEND PROG.
  304.  
  305. PROG = 'dd02ora-pctinc = ''''. '. APPEND PROG.
  306.  
  307. PROG = 'dd02ora-ofreelist = ''''. '. APPEND PROG.
  308.  
  309. PROG = 'dd02ora-ofreegroup = ''''. '. APPEND PROG.
  310.  
  311. PROG = 'dd02ora-opctfree = ''''. '. APPEND PROG.
  312.  
  313. PROG = 'dd02ora-opctused = ''''. '. APPEND PROG.
  314.  
  315. PROG = 'insert dd02ora. '. APPEND PROG.
  316.  
  317. PROG = 'endform. '. APPEND PROG.
  318.  
  319. DATA: H_GENPROG LIKE TRDIR-NAME.
  320.  
  321. * break-point.
  322.  
  323. GENERATE SUBROUTINE POOL PROG NAME H_GENPROG MESSAGE PROG.
  324.  
  325. PERFORM INSERT_DD02ORA IN PROGRAM (H_GENPROG).
  326.  
  327. ENDIF.
  328.  
  329. ENDIF.
  330.  
  331. ENDFORM.
  332.  
  333. *----------------------------------------------------------------------*
  334.  
  335. FORM CREATE_TABLE.
  336.  
  337. DATA: I_DD02V_WA LIKE DD02V,
  338.  
  339. I_DD09L_WA LIKE DD09L,
  340.  
  341. I_DD03P_TAB LIKE DD03P OCCURS WITH HEADER LINE.
  342.  
  343. * Header
  344.  
  345. I_DD02V_WA-TABNAME = H_TABNAME.
  346.  
  347. I_DD02V_WA-DDLANGUAGE = 'D'.
  348.  
  349. I_DD02V_WA-DDTEXT = '_conv_ Cluster'.
  350.  
  351. I_DD02V_WA-TABCLASS = 'TRANSP'.
  352.  
  353. I_DD02V_WA-CONTFLAG = 'L'.
  354.  
  355. * Technical Settings
  356.  
  357. I_DD09L_WA-TABNAME = H_TABNAME.
  358.  
  359. I_DD09L_WA-TABKAT = ''.
  360.  
  361. I_DD09L_WA-TABART = TAORA-TABART.
  362.  
  363. *_dd09l_wa-bufalow = 'N'.
  364.  
  365. * Fields
  366.  
  367. I_DD03P_TAB-TABNAME = H_TABNAME.
  368.  
  369. I_DD03P_TAB-DDLANGUAGE = 'D'.
  370.  
  371. I_DD03P_TAB-FIELDNAME = 'MANDT'.
  372.  
  373. I_DD03P_TAB-POSITION = ''.
  374.  
  375. I_DD03P_TAB-KEYFLAG = 'X'.
  376.  
  377. I_DD03P_TAB-DATATYPE = 'CLNT'.
  378.  
  379. I_DD03P_TAB-LENG = ''.
  380.  
  381. APPEND I_DD03P_TAB.
  382.  
  383. I_DD03P_TAB-FIELDNAME = 'RELID'.
  384.  
  385. I_DD03P_TAB-POSITION = ''.
  386.  
  387. I_DD03P_TAB-KEYFLAG = 'X'.
  388.  
  389. I_DD03P_TAB-DATATYPE = 'CHAR'.
  390.  
  391. I_DD03P_TAB-LENG = ''.
  392.  
  393. APPEND I_DD03P_TAB.
  394.  
  395. I_DD03P_TAB-FIELDNAME = 'UMSID'.
  396.  
  397. I_DD03P_TAB-POSITION = ''.
  398.  
  399. I_DD03P_TAB-KEYFLAG = 'X'.
  400.  
  401. I_DD03P_TAB-DATATYPE = 'CHAR'.
  402.  
  403. I_DD03P_TAB-LENG = ''.
  404.  
  405. APPEND I_DD03P_TAB.
  406.  
  407. I_DD03P_TAB-FIELDNAME = 'PAGENO'.
  408.  
  409. I_DD03P_TAB-POSITION = ''.
  410.  
  411. I_DD03P_TAB-KEYFLAG = 'X'.
  412.  
  413. I_DD03P_TAB-DATATYPE = 'INT4'.
  414.  
  415. I_DD03P_TAB-LENG = ''.
  416.  
  417. APPEND I_DD03P_TAB.
  418.  
  419. I_DD03P_TAB-FIELDNAME = 'CLUSTR'.
  420.  
  421. I_DD03P_TAB-POSITION = ''.
  422.  
  423. I_DD03P_TAB-KEYFLAG = ' '.
  424.  
  425. I_DD03P_TAB-DATATYPE = 'INT2'.
  426.  
  427. I_DD03P_TAB-LENG = ''.
  428.  
  429. APPEND I_DD03P_TAB.
  430.  
  431. I_DD03P_TAB-FIELDNAME = 'CLUSTD'.
  432.  
  433. I_DD03P_TAB-POSITION = ''.
  434.  
  435. I_DD03P_TAB-KEYFLAG = ' '.
  436.  
  437. I_DD03P_TAB-DATATYPE = 'LRAW'.
  438.  
  439. I_DD03P_TAB-LENG = ''.
  440.  
  441. APPEND I_DD03P_TAB.
  442.  
  443. CALL FUNCTION 'DDIF_TABL_PUT'
  444.  
  445. EXPORTING
  446.  
  447. NAME = H_TABNAME
  448.  
  449. DD02V_WA = I_DD02V_WA
  450.  
  451. DD09L_WA = I_DD09L_WA
  452.  
  453. TABLES
  454.  
  455. DD03P_TAB = I_DD03P_TAB
  456.  
  457. * DD05M_TAB =
  458.  
  459. * DD08V_TAB =
  460.  
  461. EXCEPTIONS
  462.  
  463. TABL_NOT_FOUND =
  464.  
  465. NAME_INCONSISTENT =
  466.  
  467. TABL_INCONSISTENT =
  468.  
  469. PUT_FAILURE =
  470.  
  471. PUT_REFUSED =
  472.  
  473. OTHERS = .
  474.  
  475. IF SY-SUBRC <> .
  476.  
  477. MESSAGE e306(mq) WITH text-. "'Table create error'.
  478.  
  479. ENDIF.
  480.  
  481. CALL FUNCTION 'DDIF_TABL_ACTIVATE'
  482.  
  483. EXPORTING
  484.  
  485. NAME = H_TABNAME
  486.  
  487. AUTH_CHK = 'X'
  488.  
  489. * PRID = -1
  490.  
  491. IMPORTING
  492.  
  493. RC = RC
  494.  
  495. EXCEPTIONS
  496.  
  497. NOT_FOUND =
  498.  
  499. PUT_FAILURE =
  500.  
  501. OTHERS = .
  502.  
  503. IF SY-SUBRC <> OR RC = .
  504.  
  505. MESSAGE E341(MQ).
  506.  
  507. LEAVE PROGRAM.
  508.  
  509. ENDIF.
  510.  
  511. CALL FUNCTION 'TRINT_TADIR_INSERT'
  512.  
  513. EXPORTING
  514.  
  515. * AUTHOR = SY-UNAME
  516.  
  517. * MASTERLANG = ' '
  518.  
  519. DEVCLASS = 'ECLU'
  520.  
  521. * GENFLAG = ' '
  522.  
  523. OBJECT = 'TABL'
  524.  
  525. OBJ_NAME = 'EWUCLU'
  526.  
  527. PGMID = 'R3TR'
  528.  
  529. SRCSYSTEM = 'SAP'
  530.  
  531. * IMPORTING
  532.  
  533. * ES_TADIR =
  534.  
  535. EXCEPTIONS
  536.  
  537. OBJECT_EXISTS_GLOBAL =
  538.  
  539. OBJECT_EXISTS_LOCAL =
  540.  
  541. OTHERS = .
  542.  
  543. IF SY-SUBRC = .
  544.  
  545. MESSAGE e306(mq) WITH text-. "'tadir insert error'
  546.  
  547. ENDIF.
  548.  
  549. * SUBMIT EWUCADM
  550.  
  551. * WITH TESTRUN = 'X'
  552.  
  553. * WITH P_FKT = 'DIR'
  554.  
  555. * WITH P_MAXTSK = ' '
  556.  
  557. * WITH P_PROG = ' '
  558.  
  559. * WITH P_BATCH = ' '
  560.  
  561. * WITH P_RELID = ' '
  562.  
  563. * WITH P_CLUSIZ = ' '.
  564.  
  565. ENDFORM.
  566.  
  567. *----------------------------------------------------------------------*
  568.  
  569. FORM DELETE_TABLE.
  570.  
  571. CALL FUNCTION 'DB_DROP_TABLE'
  572.  
  573. EXPORTING
  574.  
  575. * DBSYS = SY-DBSYS
  576.  
  577. * NO_EXEC = ' '
  578.  
  579. * PRID = 0
  580.  
  581. * PROGNAME = ' '
  582.  
  583. TABNAME = 'EWUCLU'
  584.  
  585. * DB_CHECK_FLAG = ' '
  586.  
  587. * IMPORTING
  588.  
  589. * GENPROG =
  590.  
  591. * SUBRC =
  592.  
  593. EXCEPTIONS
  594.  
  595. PROGRAM_NOT_GENERATED =
  596.  
  597. PROGRAM_NOT_WRITTEN =
  598.  
  599. TABLE_NOT_DROPPED =
  600.  
  601. OTHERS = .
  602.  
  603. IF SY-SUBRC <> . MESSAGE e306(mq) WITH text-. ENDIF.
  604.  
  605. CALL FUNCTION 'DD_TABL_DEL'
  606.  
  607. EXPORTING
  608.  
  609. TABNAME = 'EWUCLU'
  610.  
  611. DEL_STATE = 'A'
  612.  
  613. * PRID = 0
  614.  
  615. EXCEPTIONS
  616.  
  617. OTHERS = .
  618.  
  619. IF SY-SUBRC <> . MESSAGE e306(mq) WITH text-. ENDIF.
  620.  
  621. CALL FUNCTION 'TRINT_TADIR_DELETE'
  622.  
  623. EXPORTING
  624.  
  625. OBJECT = 'TABL'
  626.  
  627. OBJ_NAME = 'EWUCLU'
  628.  
  629. PGMID = 'R3TR'
  630.  
  631. EXCEPTIONS
  632.  
  633. TADIR_ENTRY_NOT_EXISTING =
  634.  
  635. OBJECT_EXISTS =
  636.  
  637. OTHERS = .
  638.  
  639. IF SY-SUBRC = . MESSAGE e306(mq) WITH text- . ENDIF.
  640.  
  641. ENDFORM.
  642.  
  643. *----------------------------------------------------------------------*
  644.  
  645. FORM CREATE_FUNCTION.
  646.  
  647. CALL FUNCTION 'FUNCTION_POOL_CREATE'
  648.  
  649. EXPORTING
  650.  
  651. POOL_NAME = 'ZCNV'
  652.  
  653. * RESPONSIBLE = SY-UNAME
  654.  
  655. SHORT_TEXT = '_conversion_'
  656.  
  657. * NAMESPACE = ' '
  658.  
  659. EXCEPTIONS
  660.  
  661. NAME_ALREADY_EXISTS =
  662.  
  663. NAME_NOT_CORRECT =
  664.  
  665. OTHERS = .
  666.  
  667. IF SY-SUBRC <> AND SY-SUBRC <> .
  668.  
  669. MESSAGE e306(mq) WITH text-. "Function pool error
  670.  
  671. ENDIF.
  672.  
  673. DATA: I_RSEXC LIKE RSEXC OCCURS WITH HEADER LINE.
  674.  
  675. DATA: I_RSEXP LIKE RSEXP OCCURS WITH HEADER LINE.
  676.  
  677. DATA: I_RSIMP LIKE RSIMP OCCURS WITH HEADER LINE.
  678.  
  679. DATA: I_RSFSO LIKE RSFSO OCCURS WITH HEADER LINE.
  680.  
  681. DATA: I_RSTBL LIKE RSTBL OCCURS WITH HEADER LINE.
  682.  
  683. DATA: I_RSCHA LIKE RSCHA OCCURS WITH HEADER LINE.
  684.  
  685. TABLES: RS38L.
  686.  
  687. I_RSIMP-PARAMETER = 'TESTRUN'.
  688.  
  689. I_RSIMP-DBFIELD = 'TRDIR-SQLX'.
  690.  
  691. APPEND I_RSIMP.
  692.  
  693. I_RSIMP-PARAMETER = 'PROGNAME'.
  694.  
  695. I_RSIMP-DBFIELD = 'TRDIR-NAME'.
  696.  
  697. APPEND I_RSIMP.
  698.  
  699. I_RSIMP-PARAMETER = 'FUNKTION'.
  700.  
  701. I_RSIMP-DBFIELD = 'TRDIR-TYPE'.
  702.  
  703. APPEND I_RSIMP.
  704.  
  705. I_RSIMP-PARAMETER = 'UMSID'.
  706.  
  707. I_RSIMP-DBFIELD = 'EWUCLU-UMSID'.
  708.  
  709. APPEND I_RSIMP.
  710.  
  711. I_RSIMP-PARAMETER = 'UMSI2'.
  712.  
  713. I_RSIMP-DBFIELD = 'EWUCLU-UMSID'.
  714.  
  715. APPEND I_RSIMP.
  716.  
  717. I_RSIMP-PARAMETER = 'TSKNO'.
  718.  
  719. I_RSIMP-DBFIELD = 'EWUCLU-RELID'.
  720.  
  721. APPEND I_RSIMP.
  722.  
  723. I_RSIMP-PARAMETER = 'RELID'.
  724.  
  725. I_RSIMP-DBFIELD = 'EWUCLU-RELID'.
  726.  
  727. APPEND I_RSIMP.
  728.  
  729. I_RSIMP-PARAMETER = 'CLUSIZ'.
  730.  
  731. I_RSIMP-DBFIELD = 'TRDIR-NAME'.
  732.  
  733. APPEND I_RSIMP.
  734.  
  735. CALL FUNCTION 'FUNCTION_CREATE'
  736.  
  737. EXPORTING
  738.  
  739. * CORRNUM = ' '
  740.  
  741. FUNCNAME = 'Z_SUB_PROG'
  742.  
  743. FUNCTION_POOL = 'ZCNV'
  744.  
  745. * INTERFACE_GLOBAL = ' '
  746.  
  747. REMOTE_CALL = 'X'
  748.  
  749. SHORT_TEXT = '_conversion_'
  750.  
  751. * SUPPRESS_CORR_CHECK = 'X'
  752.  
  753. * UPDATE_TASK = ' '
  754.  
  755. IMPORTING
  756.  
  757. FUNCTION_INCLUDE = RS38L-INCLUDE
  758.  
  759. TABLES
  760.  
  761. EXCEPTION_LIST = I_RSEXC
  762.  
  763. EXPORT_PARAMETER = I_RSEXP
  764.  
  765. IMPORT_PARAMETER = I_RSIMP
  766.  
  767. PARAMETER_DOCU = I_RSFSO
  768.  
  769. TABLES_PARAMETER = I_RSTBL
  770.  
  771. CHANGING_PARAMETER = I_RSCHA
  772.  
  773. EXCEPTIONS
  774.  
  775. DOUBLE_TASK =
  776.  
  777. ERROR_MESSAGE =
  778.  
  779. FUNCTION_ALREADY_EXISTS =
  780.  
  781. INVALID_FUNCTION_POOL =
  782.  
  783. INVALID_NAME =
  784.  
  785. TOO_MANY_FUNCTIONS =
  786.  
  787. OTHERS = .
  788.  
  789. IF SY-SUBRC <> .
  790.  
  791. IF SY-SUBRC <> .
  792.  
  793. * write: / 'Irgendwas ist beim FUBA anlegen schiefgegangen', sy-subrc.
  794.  
  795. MESSAGE e306(mq) WITH text-.
  796.  
  797. ENDIF.
  798.  
  799. EXIT.
  800.  
  801. ENDIF.
  802.  
  803. DATA: BEGIN OF PROG OCCURS ,
  804.  
  805. LINE(),
  806.  
  807. END OF PROG.
  808.  
  809. * break-point.
  810.  
  811. READ REPORT RS38L-INCLUDE INTO PROG.
  812.  
  813. LOOP AT PROG.
  814.  
  815. IF PROG-LINE = ' '.
  816.  
  817. PROG-LINE = 'submit (progname)'. INSERT PROG INTO PROG.
  818.  
  819. PROG-LINE = 'with testrun = testrun '. INSERT PROG INTO PROG.
  820.  
  821. PROG-LINE = 'with p_fkt = funktion'. INSERT PROG INTO PROG.
  822.  
  823. PROG-LINE = 'with p_umsid = umsid '. INSERT PROG INTO PROG.
  824.  
  825. PROG-LINE = 'with p_umsi2 = umsi2 '. INSERT PROG INTO PROG.
  826.  
  827. PROG-LINE = 'with p_tskno = tskno '. INSERT PROG INTO PROG.
  828.  
  829. PROG-LINE = 'with p_relid = relid '. INSERT PROG INTO PROG.
  830.  
  831. PROG-LINE = 'with p_clusiz = clusiz '. INSERT PROG INTO PROG.
  832.  
  833. PROG-LINE = 'to sap-spool '. INSERT PROG INTO PROG.
  834.  
  835. PROG-LINE = 'without spool dynpro '. INSERT PROG INTO PROG.
  836.  
  837. PROG-LINE = 'and return. '. INSERT PROG INTO PROG.
  838.  
  839. EXIT.
  840.  
  841. ENDIF.
  842.  
  843. ENDLOOP.
  844.  
  845. INSERT REPORT RS38L-INCLUDE FROM PROG.
  846.  
  847. ENDFORM.
  848.  
  849. *----------------------------------------------------------------------*
  850.  
  851. FORM LISTE_DBSPACES_CREATE.
  852.  
  853. DATA: BUFSIZE TYPE I.
  854.  
  855. PERFORM GET_DB_PARAMETER(RSINF000) USING 'BUFFSIZE' BUFSIZE.
  856.  
  857. BUFSIZE = BUFSIZE / .
  858.  
  859. * exec sql performing makedbspaces.
  860.  
  861. * c.dbsnum,
  862.  
  863. * sum(c.chksize) * :bufsize ,
  864.  
  865. * into :dbspaces_chunks
  866.  
  867. EXEC SQL PERFORMING APPEND_DBAFREE.
  868.  
  869. SELECT D.NAME,
  870.  
  871. SUM(C.NFREE) * :BUFSIZE
  872.  
  873. FROM SYSMASTER:SYSDBSPACES D,
  874.  
  875. SYSMASTER:SYSCHUNKS C
  876.  
  877. WHERE C.DBSNUM = D.DBSNUM
  878.  
  879. GROUP BY C.DBSNUM, D.NAME
  880.  
  881. INTO :T_DBAFREE
  882.  
  883. ENDEXEC.
  884.  
  885. ENDFORM.
  886.  
  887. *---------------------------------------------------------------------*
  888.  
  889. FORM WRITE_PARMS.
  890.  
  891. WRITE: / 'testrun:', TESTRUN,
  892.  
  893. / 'funktion:', P_FKT(),
  894.  
  895. / 'time:', SY-UZEIT,
  896.  
  897. / '--------------------------------------------------'.
  898.  
  899. ENDFORM.

ABAP-动态创建DATABASE/FUNCTION(风险)的更多相关文章

  1. bootstrap-multiselect 的简单使用,样式修改,动态创建option

    1.bootstrap-multiselect 顾名思义基于bootstrap,bootstrap基于jquery,所以第一步,引入文件 bootstrap.css/ juery.js /bootst ...

  2. js动态创建和删除option

    1.动态创建select function createSelect(){           var mySelect = document.createElement("select&q ...

  3. 动态创建selectjs 操作select和option

    1.动态创建select function createSelect(){ var mySelect = document.createElement("select"); myS ...

  4. [SAP ABAP开发技术总结]反射,动态创建内表、结构、变量

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  6. js动态创建style节点(js文件中添加css)

    ie6 不能 document.createElement('style') 然后append到head标签里.所以就找到这样个好文章 --------------------- 有很多提供动态创建 ...

  7. Unity进阶技巧 - 动态创建UGUI

    前言 项目中有功能需要在代码中动态创建UGUI对象,但是在网上搜索了很久都没有找到类似的教程,最后终于在官方文档中找到了方法,趁着记忆犹新,写下动态创建UGUI的方法,供需要的朋友参考 你将学到什么? ...

  8. jQuery 绑定事件到动态创建的元素上

    在进入主题之前,我们先来看一个前台页面经常用到的功能:点击页面输入框时自动选择其中文本. 很容易想到利用输入框的focus事件,当输入框获得焦点时,再调用jQuery的select()方法. Okay ...

  9. javascript学习笔记(四):事件处理函数和动态创建html标记。

    1 HTML的事件属性  全局事件属性:HTML 4 增加了使事件在浏览器中触发动作的能力,比如当用户点击元素时启动 JavaScript. a. Window 事件属性,针对 window 对象触发 ...

随机推荐

  1. streamsets 集成 rabbitmq 以及benthos stream 处理框架

    benthos 是一个stream 处理框架,streamsets 也是,但是两者可以通过不同的工具进行集成起来 一般我们可以使用http 服务,消息中间件(kafka.rabbitmq ...) 使 ...

  2. JUC集合之 ArrayBlockingQueue

    ArrayBlockingQueue介绍 ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列. 线程安全是指,ArrayBlockingQueue内部通过"互斥锁&qu ...

  3. win7 配置微软的深度学习caffe

    win7 配置微软的深度学习caffe   官方下载: https://github.com/Microsoft/caffe 然后 直接修改caffe目录下的windows目录下的项目的props文件 ...

  4. 分析报告:云之家V9 VS 钉钉3.5

    http://news.yesky.com/hotnews/1/244252501.shtml 1.市场调研 1.1 企业需求 笔者所在单位是一家中型企业,企业流程和信息化基础较为成熟.随着移动互联网 ...

  5. ng-model的用法

    参考: http://www.cnblogs.com/guanglin/p/5200097.html http://www.runoob.com/angularjs/ng-ng-cloak.html ...

  6. redis在PHP中的基本使用案例(觉得比较实用)

    源地址  http://www.t086.com/article/4901

  7. 【Spring实战-2】Spring4.0.4整合Hibernate4.3.6

    作者:ssslinppp      源程序下载:http://download.csdn.net/detail/ssslinppp/8751185  1. 摘要 本文主要讲解如何在Spring4.0. ...

  8. JsonCpp使用方法详解

    JSON全称为JavaScript ObjectNotation,它是一种轻量级的数据交换格式,易于阅读.编写.解析.jsoncpp是c++解析JSON串常用的解析库之一. jsoncpp中主要的类: ...

  9. 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境

    作为主流开发语言, 用python 开发的程序越来越多. 方便的是大多linux系统里面都默认集成了python, 开发可以随时随地开始. 但有时候这也成为了一个短板, 比如说有时候我们需要开发和调试 ...

  10. bzoj2765 铁人双项比赛

    Description 铁人双项比赛是吉林教育学院的一项传统体育项目.该项目比赛由长跑和骑自行车组成,参赛选手必须先完成k公里的长跑,然后完成r公里的骑车,才能到达终点.每个参赛选手所擅长的项目不同, ...