REPORT YZEROCHO01 NO STANDARD PAGE HEADING LINE-SIZE 500.
***************************************************************
*** ABAP TABLE REPORT FUNCTION MODULE(FM) BACTH DOWNLOAD ***
*** Download one or more Fucntion Groups to PC-File
*** ABAP テーブル レポート 汎用モジュール バッチダウンロード ***
*** FMのインクルードファイル
*** 参照
*** http://hi.baidu.com/festsoft/blog/item/5c69f595a98b164ed0135e4c.html
***************************************************************
TABLES:TADIR,TRDIRT,TSTC,DD03L,DD02L,DD04L,DD02T,DD03T,DD04T.
TABLES:TFDIR.
DATA: BEGIN OF YTADIR OCCURS 0.
INCLUDE STRUCTURE TADIR.
INCLUDE STRUCTURE TRDIRT.
DATA: END OF YTADIR.
DATA:PROG(72) TYPE C OCCURS 0 WITH HEADER LINE.
*テーブル構造
DATA:BEGIN OF TAB OCCURS 0.
INCLUDE STRUCTURE DD03L.
DATA:TEXT(40).
DATA:END OF TAB.
DATA:BEGIN OF T1 OCCURS 0,
TABNAME LIKE DD02L-TABNAME,
DDTEXT LIKE DD02T-DDTEXT,
END OF T1.
DATA:BEGIN OF ITAB OCCURS 0,
FIELD(15), "
KEY(6), "
ELMENT(15), "
TYPE(10), "
LENG(8) , "
DECIMALS(8) , "
CHK(10), "
CAN(10), "
CFI(10), "
TEXT(40), "
END OF ITAB.
DATA: BEGIN OF IT_TFDIR OCCURS 0,
NAME LIKE PROGDIR-NAME ,
FGNAME LIKE EFRM-FUNC_POOL ,
FUNCNAME LIKE TFDIR-FUNCNAME ,
INCNAME LIKE PROGDIR-NAME ,
INCLUDE LIKE TFDIR-INCLUDE,
OBSOLETE LIKE RODIR-OBSOLETE,
FUNAM LIKE PROGDIR-UNAM ,
FUDAT LIKE PROGDIR-UDAT,
STEXT LIKE TFTIT-STEXT ,
END OF IT_TFDIR.
DATA: YYNAME(128) TYPE C.
DATA: TT(500) OCCURS 0 WITH HEADER LINE.
DATA: RN(72).
DATA: T_ENLFDIR LIKE ENLFDIR OCCURS 0 WITH HEADER LINE.
DATA:FIELDS(40),
LIN TYPE I,
VAL(30),
REP(40).
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME.
PARAMETERS:DOW AS CHECKBOX. "ダウンロード
PARAMETERS:P_DIR(50) DEFAULT 'D:\ABAPCODE\'. "パス
PARAMETERS:STYPE(6) DEFAULT 'TXT'.
PARAMETERS:R1 RADIOBUTTON GROUP R DEFAULT 'X',
R2 RADIOBUTTON GROUP R,
R3 RADIOBUTTON GROUP R.
SELECTION-SCREEN COMMENT /1(30) COMM1.
SELECTION-SCREEN END OF BLOCK BLK1.
SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME.
SELECT-OPTIONS:AUTHOR FOR TADIR-AUTHOR. "開発者
SELECT-OPTIONS:DEVCLASS FOR TADIR-DEVCLASS. "クラス
SELECT-OPTIONS:OBJ FOR TADIR-OBJ_NAME. "プログラム名
SELECT-OPTIONS:TABNAME FOR DD02L-TABNAME. "テーブル名
SELECTION-SCREEN END OF BLOCK BLK2.
SELECTION-SCREEN BEGIN OF BLOCK BLK3 WITH FRAME.
PARAMETERS: FUNCAREA LIKE TLIBG-AREA.
SELECT-OPTIONS: FUNCNAME FOR TFDIR-FUNCNAME."汎用モジュール
PARAMETERS: INCLD AS CHECKBOX DEFAULT 'X'. "INCLUDE
SELECTION-SCREEN END OF BLOCK BLK3.
AT SELECTION-SCREEN OUTPUT.
comm1 ='R1:REPORT R2:TABLE R3:FUNCTION MODULE'.
INITIALIZATION .
AT SELECTION-SCREEN.
IF FUNCAREA IS NOT INITIAL.
SELECT * FROM ENLFDIR INTO TABLE T_ENLFDIR WHERE AREA EQ FUNCAREA.
LOOP AT T_ENLFDIR WHERE AREA EQ FUNCAREA.
CLEAR: FUNCNAME.
MOVE: T_ENLFDIR-FUNCNAME TO FUNCNAME-LOW.
MOVE: 'EQ' TO FUNCNAME-OPTION.
MOVE: 'I' TO FUNCNAME-SIGN.
* CHECK FUNCNAME-LOW IN RESTRICT.
APPEND FUNCNAME.
ENDLOOP.
SORT FUNCNAME.
DELETE ADJACENT DUPLICATES FROM FUNCNAME.
CLEAR: FUNCAREA.
ENDIF.
START-OF-SELECTION .
IF R1 = 'X'.
PERFORM GET_DATA.
ENDIF.
IF R2 = 'X'.
IF TABNAME IS INITIAL.
MESSAGE 'テーブル名' TYPE 'I'.
ELSE.
PERFORM GET_TABLE_DATA.
ENDIF.
ENDIF.
IF R3 = 'X'.
IF FUNCNAME IS INITIAL.
MESSAGE '汎用モジュール名' TYPE 'I'.
ELSE.
PERFORM GET_FM_DATA.
ENDIF.
ENDIF.
AT LINE-SELECTION.
CLEAR: FIELDS, LIN.
GET CURSOR FIELD FIELDS LINE LIN VALUE VAL.
LIN = LIN - 1.
IF LIN >= 1.
READ TABLE YTADIR INDEX LIN.
IF SY-SUBRC = 0.
CLEAR REP.
CLEAR PROG.
REP = YTADIR-OBJ_NAME.
READ REPORT REP INTO PROG.
EDITOR-CALL FOR PROG.
* SET PARAMETER ID 'RID' FIELD REP.
* CALL TRANSACTION 'SE38' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
END-OF-SELECTION.
*---------------------------------------------------------------------*
* FORM GET_DATA *
*---------------------------------------------------------------------*
* プログラム ダウンロード *
*---------------------------------------------------------------------*
FORM GET_DATA.
SELECT * INTO CORRESPONDING FIELDS OF TABLE YTADIR
FROM TADIR
INNER JOIN TRDIRT ON TADIR~OBJ_NAME = TRDIRT~NAME
WHERE OBJECT = 'PROG'
AND OBJ_NAME IN OBJ
AND DEVCLASS IN DEVCLASS
AND AUTHOR IN AUTHOR
AND SPRSL = SY-LANGU.
SORT YTADIR BY OBJ_NAME.
WRITE:/ '開発者','開発クラス','プログラム','プログラム名'.
LOOP AT YTADIR.
IF DOW = 'X'.
REFRESH TT.
RN = YTADIR-OBJ_NAME.
READ REPORT RN INTO TT.
* 禁止文字
REPLACE '/' with '_' into YTADIR-TEXT."/スラッシュ
REPLACE '\' with '_' into YTADIR-TEXT."\バックスラッシュ(円マーク)
REPLACE ':' with '_' into YTADIR-TEXT.":コロン
REPLACE '*' with '_' into YTADIR-TEXT."*アスタリスク
REPLACE '"' with '_' into YTADIR-TEXT."
REPLACE '<' with '_' into YTADIR-TEXT.
REPLACE '>' with '_' into YTADIR-TEXT.
REPLACE '|' with '_' into YTADIR-TEXT."|パイプ
REPLACE '?' with '_' into YTADIR-TEXT."?クエッションマーク
CONCATENATE P_DIR YTADIR-AUTHOR '_' YTADIR-OBJ_NAME
'_' YTADIR-TEXT '.' STYPE
INTO YYNAME.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = YYNAME
FILETYPE = 'ASC'
TABLES
DATA_TAB = TT.
IF SY-SUBRC = 0.
WRITE:/1(10) YTADIR-DEVCLASS,
(8) YTADIR-AUTHOR,
(15) YTADIR-OBJ_NAME,
(40) YTADIR-TEXT.
FORMAT COLOR 5.
WRITE: 'ダウンロードしました'.
FORMAT COLOR OFF.
ELSE.
WRITE:/ YTADIR-DEVCLASS,YTADIR-AUTHOR,YTADIR-OBJ_NAME,YTADIR-TEXT.
FORMAT COLOR 4.
WRITE: 'ダウンロード出来ない'.
FORMAT COLOR OFF.
ENDIF.
ELSE.
WRITE:/ YTADIR-DEVCLASS,YTADIR-AUTHOR,YTADIR-OBJ_NAME,YTADIR-TEXT.
ENDIF.
ENDLOOP.
ENDFORM.
*---------------------------------------------------------------------*
* FORM GET_TABLE_DATA *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM GET_TABLE_DATA.
SELECT DISTINCT * INTO CORRESPONDING FIELDS OF TABLE T1
FROM DD02T WHERE TABNAME IN TABNAME
AND DDLANGUAGE EQ SY-LANGU.
SELECT * INTO CORRESPONDING FIELDS OF TABLE TAB FROM DD03L AS A
WHERE A~TABNAME IN TABNAME.
SORT TAB BY TABNAME POSITION.
WRITE:/'項目名','PK','データエレメント','タイプ','長さ','小数',
'テーブルチェック','参考テーブル','参照項目','項目テキスト'.
ULINE.
LOOP AT T1.
REFRESH ITAB.
CLEAR YYNAME.
IF DOW = 'X'.
ITAB-FIELD = '項目名'.
ITAB-KEY = 'PK'.
ITAB-ELMENT = 'データエレメント'.
ITAB-TYPE = 'タイプ'.
ITAB-LENG = '長さ'.
ITAB-DECIMALS = '小数'.
ITAB-TEXT = '字段描述'.
ITAB-CHK = 'テーブルチェック'.
ITAB-CAN = '参考テーブル'.
ITAB-CFI = '参照項目'.
APPEND ITAB.
CLEAR ITAB.
ENDIF.
CONCATENATE T1-TABNAME '_' T1-DDTEXT '的表结构如下:'
INTO YYNAME.
FORMAT COLOR 3.
WRITE:/ YYNAME.
FORMAT COLOR OFF.
LOOP AT TAB WHERE TABNAME = T1-TABNAME.
ITAB-FIELD = TAB-FIELDNAME.
ITAB-KEY = TAB-KEYFLAG.
ITAB-ELMENT = TAB-ROLLNAME.
ITAB-TYPE = TAB-DATATYPE.
ITAB-LENG = TAB-LENG.
ITAB-CHK = TAB-CHECKTABLE.
ITAB-CAN = TAB-REFTABLE.
ITAB-CFI = TAB-REFFIELD.
ITAB-DECIMALS = TAB-DECIMALS.
IF TAB-ROLLNAME NE SPACE.
SELECT SINGLE * FROM DD04T WHERE ROLLNAME = TAB-ROLLNAME
AND DDLANGUAGE = SY-LANGU.
IF SY-SUBRC = 0.
ITAB-TEXT = DD04T-DDTEXT.
ELSE.
CLEAR ITAB-TEXT.
ENDIF.
ELSE.
SELECT SINGLE * FROM DD03T WHERE TABNAME = TAB-TABNAME
AND DDLANGUAGE = SY-LANGU
AND FIELDNAME = TAB-FIELDNAME.
IF SY-SUBRC = 0.
ITAB-TEXT = DD03T-DDTEXT.
ELSE.
CLEAR ITAB-TEXT.
ENDIF.
ENDIF.
APPEND ITAB.
WRITE:/ ITAB-FIELD,ITAB-KEY,ITAB-ELMENT,ITAB-TYPE,ITAB-LENG,
ITAB-DECIMALS,ITAB-CHK,ITAB-CAN,ITAB-CFI,ITAB-TEXT.
CLEAR ITAB.
ENDLOOP.
IF DOW = 'X'.
* 禁止文字
REPLACE '/' with '_' into T1-DDTEXT."/スラッシュ
REPLACE '\' with '_' into T1-DDTEXT."\バックスラッシュ(円マーク)
REPLACE ':' with '_' into T1-DDTEXT.":コロン
REPLACE '*' with '_' into T1-DDTEXT."*アスタリスク
REPLACE '"' with '_' into T1-DDTEXT."
REPLACE '<' with '_' into T1-DDTEXT.
REPLACE '>' with '_' into T1-DDTEXT.
REPLACE '|' with '_' into T1-DDTEXT."|パイプ
REPLACE '?' with '_' into T1-DDTEXT."?クエッションマーク
CONCATENATE P_DIR T1-TABNAME '_' T1-DDTEXT '.' STYPE
INTO YYNAME.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = YYNAME
FILETYPE = 'ASC'
TABLES
DATA_TAB = ITAB.
ELSE.
ULINE.
ENDIF.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& FORM GET_FM_DATA 汎用モジュール
*&---------------------------------------------------------------------*
FORM GET_FM_DATA .
DATA: f1(40),f2(40),f3(40) .
SELECT TFDIR~FUNCNAME
TFDIR~PNAME
TFDIR~INCLUDE
TFTIT~STEXT
PROGDIR~NAME
RODIR~OBSOLETE
INTO CORRESPONDING FIELDS OF TABLE IT_TFDIR
FROM TFDIR
INNER JOIN PROGDIR ON TFDIR~PNAME = PROGDIR~NAME AND
PROGDIR~STATE = 'A'
LEFT JOIN TFTIT ON TFDIR~FUNCNAME = TFTIT~FUNCNAME AND
TFTIT~SPRAS = SY-LANGU
LEFT JOIN RODIR ON TFDIR~FUNCNAME = RODIR~OBJECT AND
RODIR~OBJECTTYPE = 'FUNC'
WHERE TFDIR~FUNCNAME IN FUNCNAME.
LOOP AT it_tfdir.
IF it_tfdir-name(1) = '/'.
SPLIT it_tfdir-name AT '/' INTO f1 f2 f3 .
CONCATENATE '/' f2 '/' 'L' f3+4(36) 'U' it_tfdir-include
INTO it_tfdir-incname.
CONCATENATE '/' f2 '/' f3+4(36) INTO it_tfdir-fgname.
ELSE.
CONCATENATE 'L' it_tfdir-name+4(36) 'U' it_tfdir-include
INTO it_tfdir-incname.
it_tfdir-fgname = it_tfdir-name+4(36).
ENDIF.
SELECT SINGLE unam udat INTO (it_tfdir-funam,it_tfdir-fudat)
FROM progdir
WHERE name = it_tfdir-incname .
MODIFY it_tfdir .
ENDLOOP.
WRITE:/ 'プログラム名','汎用グループ','汎用モジュール名','プログラム名','文字','変更者','変更日','テキスト'.
LOOP AT IT_TFDIR.
IF DOW = 'X'.
REFRESH TT.
RN = IT_TFDIR-INCNAME.
READ REPORT RN INTO TT.
* 禁止文字
REPLACE '/' with '_' into IT_TFDIR-STEXT."/スラッシュ
REPLACE '\' with '_' into IT_TFDIR-STEXT."\バックスラッシュ(円マーク)
REPLACE ':' with '_' into IT_TFDIR-STEXT.":コロン
REPLACE '*' with '_' into IT_TFDIR-STEXT."*アスタリスク
REPLACE '"' with '_' into IT_TFDIR-STEXT."
REPLACE '<' with '_' into IT_TFDIR-STEXT.
REPLACE '>' with '_' into IT_TFDIR-STEXT.
REPLACE '|' with '_' into IT_TFDIR-STEXT."|パイプ
REPLACE '?' with '_' into IT_TFDIR-STEXT."?クエッションマーク
CONCATENATE P_DIR IT_TFDIR-FUNCNAME '_' IT_TFDIR-INCNAME
'_' IT_TFDIR-STEXT '.' STYPE
INTO YYNAME.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = YYNAME
FILETYPE = 'ASC'
TABLES
DATA_TAB = TT.
IF SY-SUBRC = 0.
* WRITE:/ IT_TFDIR-NAME,IT_TFDIR-FGNAME,IT_TFDIR-FUNCNAME,IT_TFDIR-INCNAME,IT_TFDIR-INCLUDE,
* IT_TFDIR-OBSOLETE,IT_TFDIR-FUNAM,IT_TFDIR-FUDAT,IT_TFDIR-STEXT.
WRITE:/1(20) IT_TFDIR-FUNCNAME,(30)IT_TFDIR-INCNAME,(40)IT_TFDIR-STEXT.
FORMAT COLOR 5.
WRITE: 'ダウンロードしました'.
FORMAT COLOR OFF.
ELSE.
WRITE:/1(20) IT_TFDIR-FUNCNAME,(30)IT_TFDIR-INCNAME,(40)IT_TFDIR-STEXT.
FORMAT COLOR 4.
WRITE: 'ダウンロード出来ない'.
FORMAT COLOR OFF.
ENDIF.
ELSE.
WRITE:/ IT_TFDIR-NAME,IT_TFDIR-FGNAME,IT_TFDIR-FUNCNAME,IT_TFDIR-INCNAME,IT_TFDIR-INCLUDE,
IT_TFDIR-OBSOLETE,IT_TFDIR-FUNAM,IT_TFDIR-FUDAT,IT_TFDIR-STEXT.
ENDIF.
ENDLOOP.
* INLUCDE ダウンロード----------------------
DATA: FUNCPOOL LIKE SY-REPID.
DATA: INCL LIKE SY-REPID OCCURS 0 WITH HEADER LINE.
DATA: T_COMPO LIKE SCOMPO OCCURS 0 WITH HEADER LINE.
DATA: T_CROSS_REF LIKE CROSS OCCURS 0 WITH HEADER LINE.
DATA: T_INC LIKE D010INC OCCURS 0 WITH HEADER LINE.
FUNCPOOL = IT_TFDIR-NAME.
CALL FUNCTION 'RS_PROGRAM_INDEX'
EXPORTING
PG_NAME = FUNCPOOL
* WITHOUT_TREE = ' '
* IMPORTING
* MESSAGE_CLASS =
TABLES
COMPO = T_COMPO
CROSS_REF = T_CROSS_REF
INC = T_INC
EXCEPTIONS
SYNTAX_ERROR = 1
OTHERS = 2.
LOOP AT T_COMPO.
INCL = T_COMPO-INCL .
ENDLOOP.
SORT T_COMPO BY INCL.
DELETE ADJACENT DUPLICATES FROM T_COMPO COMPARING INCL.
WRITE /'FMのインクルード プログラム'.
LOOP AT T_COMPO.
WRITE:/1(20) T_COMPO-INCL.
IF DOW = 'X' AND INCLD = 'X'.
REFRESH TT.
RN = T_COMPO-INCL.
READ REPORT RN INTO TT.
CONCATENATE P_DIR T_COMPO-INCL '_インクルードプログラム' '.' STYPE
INTO YYNAME.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = YYNAME
FILETYPE = 'ASC'
TABLES
DATA_TAB = TT.
IF SY-SUBRC = 0.
FORMAT COLOR 5.
WRITE: 'ダウンロードしました'.
FORMAT COLOR OFF.
ELSE.
FORMAT COLOR 4.
WRITE: 'ダウンロード出来ない'.
FORMAT COLOR OFF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " GET_FM_DATA
13 comments:
Hi every one, here every one is sharing such know-how, so it's fastidious to read this website, and I used to visit this blog daily.
Here is my website :: best buy beats solo
Howdy fantastic blog! Does running a blog such as this require a great
deal of work? I have no expertise in computer programming
but I had been hoping to start my own blog in the near future.
Anyway, if you have any suggestions or techniques for new blog
owners please share. I know this is off topic nevertheless I simply needed to ask.
Thanks a lot!
Check out my page :: http://webvoyancegratuite.blogspot.fr/
Wonderful post however I was wanting to know if you could write a litte more on this topic?
I'd be very thankful if you could elaborate a little
bit more. Appreciate it!
Have a look at my homepage ... nya online casino på nätet; http://nyacasinon2014.webs.com/,
gucci handbags, polo ralph lauren, louis vuitton outlet, polo ralph lauren outlet online, longchamp outlet, oakley sunglasses, polo outlet, nike free, louis vuitton outlet, prada handbags, kate spade outlet, prada outlet, ugg boots, christian louboutin, air max, tiffany and co, louboutin pas cher, louis vuitton, cheap oakley sunglasses, christian louboutin shoes, replica watches, replica watches, louis vuitton outlet, ray ban sunglasses, longchamp outlet, ugg boots, nike outlet, nike roshe, christian louboutin outlet, nike air max, tiffany jewelry, jordan pas cher, longchamp outlet, ray ban sunglasses, louis vuitton, longchamp pas cher, nike free run, jordan shoes, chanel handbags, michael kors pas cher, nike air max, ray ban sunglasses, uggs on sale, christian louboutin uk, oakley sunglasses, sac longchamp pas cher, oakley sunglasses, tory burch outlet, oakley sunglasses wholesale
ray ban, louboutin, nike roshe run, abercrombie and fitch, lancel, valentino shoes, reebok outlet, mont blanc pens, ralph lauren, nike trainers uk, bottega veneta, new balance shoes, nike air max, soccer shoes, beats by dre, mcm handbags, celine handbags, vans outlet, nike air max, p90x workout, chi flat iron, oakley, hollister, north face outlet, herve leger, longchamp uk, north face outlet, hollister, vans, instyler, timberland boots, hollister clothing, jimmy choo outlet, soccer jerseys, iphone cases, hermes belt, insanity workout, gucci, mac cosmetics, baseball bats, babyliss, nike huaraches, ghd hair, nfl jerseys, converse, wedding dresses, asics running shoes, converse outlet, lululemon, ferragamo shoes
adidas superstar trainers
cheap jerseys
cheap basketball shoes
mavericks jerseys
cheap nhl jerseys
polo ralph lauren outlet
moncler coats
moncler pas cher
louboutin shoes
ugg classic
2016.12.21xukaimin
many thanks for permitting me to comment
http://www.kuwait.prokr.net/
http://www.emirates.prokr.net/
qzz0620
canada goose outlet
jerseys from china
michael kors handbags
bulgari jewelry
ferragamo outlet
michael kors uk
barbour jackets
pandora charms sale clearance
ferragamo outlet
longchamp outlet
تفصيل ستائر ام القيوين
خياط ستائر ام القيوين
تزيين حدائق ام القيوين
شركة تنسيق حدائق ام القيوين
تركيب عشب صناعي ام القيوين
تركيب سيراميك ام القيوين
معلم تركيب سيراميك ام القيوين
فني تركيب سيراميك ام القيوين
شركة مكافحة حشرات بجدة
شركة نقل عفش بجدة
شركة كشف تسربات المياه بجدة
نجار بجدة
شركة تنسيق حدائق بجدة
شركة تنظيف بمكة
شركة تنظيف بمكة
شركة تنظيف بالبخار بمكة
شركة كشف تسربات المياه بالباحة
شركة كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالطائف
شركة كشف تسربات المياه بينبع
شركة نقل عفش بالطائف
شركة نقل عفش بالقصيم
شركة نقل عفش بالدمام
شركة نقل عفش بالرياض
شركة نقل عفش من جدة الي الاردن
شركة نقل عفش من جدة الي الامارات
شركة نقل عفش من جدة الي الكويت
شركة نقل عفش من جدة الي البحرين
شركة تنظيف خزانات بالطائف
شركة مكافحة حشرات بالطائف
شركة تركيب طارد حمام بالمدينة المنورة
شركة شفط بيارات بالمدينة المنورة
m1z41d1z96 k2s27u2b09 w8p64w3i80 g6k57x7m63 g6y53p7f66 u2x82m0c38
Post a Comment