通过程序名查找change request

REPORT AQA0SYSTQV000008ZFINDREQU=====
   LINE-SIZE 253 NO STANDARD PAGE HEADING LINE-COUNT 000(001).

INCLUDE <SYMBOL>.
INCLUDE <ICON>.
SELECTION-SCREEN: BEGIN OF BLOCK PROG
                           WITH FRAME TITLE TEXT-F58.

TABLES E071.
TABLES E070.
DATA %COUNT-E070(4) TYPE X.
DATA %LINR-E070(2).

DATA: BEGIN OF %JOINWA,
        E070 LIKE E070,
        E071 LIKE E071,
      END OF %JOINWA.
TABLES AQLDB.

INCLUDE RSAQEXCD.

DATA: BEGIN OF %ST_LISTE OCCURS 100,
          HEAD(1),
          TAB(3),
          LINE(6) TYPE N,
          CONT(1) TYPE N,
          FINT(1),
          FINV(1),
          FCOL(1) TYPE N,
          TEXT(0253),
      END OF %ST_LISTE.

DATA %DATA_SELECTED(1).
DATA %GLFRAME(1)  VALUE 'X' .
DATA %UFLAG(1).
DATA %USTFLAG(1).
DATA %GRST_TEXT(255).
DATA %GLLINE TYPE I.
DATA %TABIX LIKE SY-TABIX.
DATA %PRFLAG(1) TYPE X VALUE '02'.


DATA %PERC(4) TYPE P DECIMALS 3.
DATA %P100(4) TYPE P DECIMALS 3 VALUE '100.000'.
DATA %RANGCT TYPE I.
DATA %RANGCC(8).
SELECT-OPTIONS SP$00001 FOR E070-STRKORR.
SELECT-OPTIONS SP$00002 FOR E071-OBJ_NAME.
SELECT-OPTIONS SP$00003 FOR E070-AS4DATE.
SELECT-OPTIONS SP$00004 FOR E070-AS4TIME.
SELECT-OPTIONS SP$00005 FOR E070-TRSTATUS.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN: BEGIN OF BLOCK DIRECT
                  WITH FRAME TITLE TEXT-F59.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       %ALV RADIOBUTTON GROUP FUNC USER-COMMAND OUTBUT
                         DEFAULT 'X' .
SELECTION-SCREEN: COMMENT 4(26) TEXT-F72 FOR FIELD %ALV.
PARAMETERS:       %ALVL TYPE SLIS_VARI.
SELECTION-SCREEN: PUSHBUTTON 72(4) PB%EXCO USER-COMMAND EXPCOL.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       %NOFUNC RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 4(26) TEXT-F66 FOR FIELD %NOFUNC
                                         MODIF ID OLD.
PARAMETERS:       %TVIEW RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 34(26) TEXT-F68 FOR FIELD %TVIEW
                                          MODIF ID OLD,
                  END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       %GRAPH RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 4(26) TEXT-F61 FOR FIELD %GRAPH
                                         MODIF ID OLD.
PARAMETERS:       %TEXT RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 34(26) TEXT-F69 FOR FIELD %TEXT
                                          MODIF ID OLD,
                  END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       %ABC RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 4(26) TEXT-F70 FOR FIELD %ABC
                                         MODIF ID OLD.
PARAMETERS:       %EXCEL RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 34(26) TEXT-F60 FOR FIELD %EXCEL
                                         MODIF ID OLD,
                  END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       %EIS RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 4(26) TEXT-F63 FOR FIELD %EIS
                                         MODIF ID OLD.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       %XINT RADIOBUTTON GROUP FUNC MODIF ID XIN.
SELECTION-SCREEN: COMMENT 4(26) TEXT-F73 FOR FIELD %XINT
                                         MODIF ID XIN.
PARAMETERS:       %XINTK(30) LOWER CASE MODIF ID XIN.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       %DOWN RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 4(26) TEXT-F64 FOR FIELD %DOWN
                                         MODIF ID OLD.
PARAMETERS:       %PATH(132) LOWER CASE MODIF ID OLD.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETERS:       %SAVE RADIOBUTTON GROUP FUNC MODIF ID OLD.
SELECTION-SCREEN: COMMENT 4(26) TEXT-F62 FOR FIELD %SAVE
                                         MODIF ID OLD.
PARAMETERS:       %LISTID(40) LOWER CASE MODIF ID OLD.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: END OF BLOCK DIRECT.
SELECTION-SCREEN: END OF BLOCK PROG.

DATA: BEGIN OF %G00 OCCURS 100,
            E070-STRKORR LIKE E070-STRKORR,
            E071-OBJ_NAME LIKE E071-OBJ_NAME,
            E070-AS4DATE LIKE E070-AS4DATE,
            E070-AS4TIME LIKE E070-AS4TIME,
            E070-AS4USER LIKE E070-AS4USER,
            E070-KORRDEV LIKE E070-KORRDEV,
            E070-TARSYSTEM LIKE E070-TARSYSTEM,
            E070-TRSTATUS LIKE E070-TRSTATUS,
      END OF %G00.
DATA: BEGIN OF %%G00,
            E070-STRKORR(020),
            E071-OBJ_NAME(120),
            E070-AS4DATE(010),
            E070-AS4TIME(008),
            E070-AS4USER(012),
            E070-KORRDEV(004),
            E070-TARSYSTEM(010),
            E070-TRSTATUS(001),
      END OF %%G00.
DATA %ZNR TYPE I.
DATA %LZNR TYPE I VALUE 99999.
FIELD-GROUPS HEADER.
FIELD-GROUPS %FG01.
DATA %ANY-01.

CONTROLS TVIEW100 TYPE TABLEVIEW USING SCREEN 100.

AT SELECTION-SCREEN .
PERFORM ALVL_CHECK(RSAQEXCE) USING %ALVL 'G00'.
PERFORM TESTMODE(RSAQEXCE).
PERFORM CHECK_EXPCOL(RSAQEXCE) USING %ALV.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR %ALVL .
PERFORM ALVL_VALUE_REQUEST(RSAQEXCE) USING %ALVL 'G00'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR %XINTK .
PERFORM XINT_VALUE_REQUEST(RSAQEXCE).

AT SELECTION-SCREEN OUTPUT .

PERFORM RINIT(RSAQBRST).
PERFORM SET_EXPCOL(RSAQEXCE) USING %ALV PB%EXCO.
PERFORM ALVL_SET_INVISIBLE(RSAQEXCE).
PERFORM SET_XINT_PARAMS(RSAQEXCE).

INITIALIZATION.
PERFORM INIT_XINT(RSAQEXCE).
PERFORM SET_WWW_FLAGS(RSAQEXCE).
PERFORM INIT_PRINT_PARAMS(RSAQEXCE).

START-OF-SELECTION.
INSERT %COUNT-E070 INTO HEADER.
INSERT %LINR-E070 INTO HEADER.
INSERT E070-STRKORR INTO %FG01.
INSERT E071-OBJ_NAME INTO %FG01.
INSERT E070-AS4DATE INTO %FG01.
INSERT E070-AS4TIME INTO %FG01.
INSERT E070-AS4USER INTO %FG01.
INSERT E070-KORRDEV INTO %FG01.
INSERT E070-TARSYSTEM INTO %FG01.
INSERT E070-TRSTATUS INTO %FG01.
PERFORM INIT_TEXTHANDLING(RSAQEXCE) USING 'CL_TEXT_IDENTIFIER' ' '
        'SYSTQV000000000000000004'.
PERFORM AUTHORITY_BEGIN(RSAQEXCE).
PERFORM AUTHORITY(RSAQEXCE) USING 'E070'.
PERFORM AUTHORITY(RSAQEXCE) USING 'E071'.
PERFORM AUTHORITY_END(RSAQEXCE).
PERFORM %COMP_LDESC.
SELECT E070~AS4DATE E070~AS4TIME E070~AS4USER E070~KORRDEV E070~STRKORR
       E070~TARSYSTEM E070~TRKORR E070~TRSTATUS E071~OBJ_NAME
       E071~TRKORR
INTO (E070-AS4DATE , E070-AS4TIME , E070-AS4USER , E070-KORRDEV
     , E070-STRKORR , E070-TARSYSTEM , E070-TRKORR , E070-TRSTATUS
     , E071-OBJ_NAME , E071-TRKORR )
FROM ( E070
       INNER JOIN E071
       ON E071~TRKORR = E070~TRKORR )
       WHERE E070~AS4DATE IN SP$00003
         AND E070~AS4TIME IN SP$00004
         AND E070~STRKORR IN SP$00001
         AND E070~TRSTATUS IN SP$00005
         AND E071~OBJ_NAME IN SP$00002.
  %DBACC = %DBACC - 1.
  IF %DBACC = 0.
    STOP.
  ENDIF.
  CHECK SP$00003.
  CHECK SP$00004.
  CHECK SP$00001.
  CHECK SP$00005.
  CHECK SP$00002.
  ADD 1 TO %COUNT-E070.
  %LINR-E070 = '01'.
  EXTRACT %FG01.
ENDSELECT.

END-OF-SELECTION.
SORT AS TEXT.
%DIACT = SPACE.
%BATCH = SY-BATCH.
IF %BATCH <> SPACE.
  IF %EIS <> SPACE.
    %DIACT = 'E'.
    IF %EISPROTOCOL = SPACE.
      NEW-PAGE PRINT ON DESTINATION 'NULL' NO DIALOG
               LINE-SIZE 0253 LINE-COUNT 0065.
    ELSE.
      NEW-PAGE PRINT ON NO DIALOG
               PARAMETERS %INIT_PRI_PARAMS.
    ENDIF.
  ENDIF.
  IF %ALV <> SPACE.
    %DIACT = 'V'.
    %ALV_LAYOUT = %ALVL.
    NEW-PAGE PRINT ON DESTINATION 'NULL' NO DIALOG
             LINE-SIZE 0253 LINE-COUNT 0065.
  ENDIF.
  IF %SAVE <> SPACE.
    %DIACT = 'S'.
    NEW-PAGE PRINT ON DESTINATION 'NULL' NO DIALOG
             LINE-SIZE 0253 LINE-COUNT 0065.
  ENDIF.
ELSEIF %CALLED_BY_WWW <> SPACE.
  %DIACT = SPACE.
ELSEIF %CALLED_BY_WWW_ALV <> SPACE.
  %DIACT = 'V'.
ELSE.
  PERFORM INIT_PRINT_PARAMS(RSAQEXCE).
  IF %SAVE  <> SPACE. %DIACT = 'S'. ENDIF.
  IF %XINT  <> SPACE. %DIACT = 'I'. ENDIF.
  IF %TVIEW <> SPACE. %DIACT = 'T'. ENDIF.
  IF %ALV   <> SPACE. %DIACT = 'V'. ENDIF.
  IF %DOWN  <> SPACE. %DIACT = 'D'. ENDIF.
  IF %EIS   <> SPACE. %DIACT = 'E'. ENDIF.
  IF %GRAPH <> SPACE. %DIACT = 'G'. ENDIF.
  IF %EXCEL <> SPACE. %DIACT = 'X'. ENDIF.
  IF %TEXT  <> SPACE. %DIACT = 'W'. ENDIF.
  IF %ABC   <> SPACE. %DIACT = 'A'. ENDIF.
  IF %DIACT <> SPACE AND %DIACT <> 'S' AND %DIACT <> 'W'.
    NEW-PAGE PRINT ON DESTINATION 'NULL' NO DIALOG
             LINE-SIZE 0253 LINE-COUNT 0065.
  ENDIF.
  %PATHNAME = %PATH.
  IF %DIACT = 'I'.
    %FUNCTIONKEY = %XINTK.
  ENDIF.
  IF %DIACT = 'V'.
    %ALV_LAYOUT = %ALVL.
  ENDIF.
ENDIF.
FREE MEMORY ID 'AQLISTDATA'.
IF %MEMMODE <> SPACE.
  IF %BATCH <> SPACE.
    NEW-PAGE PRINT ON DESTINATION 'NULL' NO DIALOG
             LINE-SIZE 0253 LINE-COUNT 0065.
  ENDIF.
  %DIACT = '1'.
ENDIF.
%TITEL = ' '.
IF SY-SUBTY O %PRFLAG AND %TITEL = SPACE.
  NEW-PAGE WITH-TITLE.
ENDIF.
%TVSIZE = 0200.
%PLINE = 1.
%PZGR  = 1.
%FIRST = 'X'.
PERFORM %OUTPUT.
%FIRST = SPACE.
IF %DIACT <> SPACE AND %DIACT <> 'S'.
  IF %BATCH = SPACE.
    NEW-PAGE PRINT OFF.
    IF NOT ( %DIACT = 'V' AND %UCOMM = 'PRIN' ).
      NEW-PAGE NO-HEADING NO-TITLE.
      WRITE SPACE.
    ENDIF.
  ENDIF.
ELSE.
  PERFORM PF-STATUS(RSAQEXCE) USING 'XXX   '.
ENDIF.
CLEAR: %TAB, %LINE, %CONT.
IF %DATA_SELECTED = SPACE.
  IF %DIACT = '1'.
    EXPORT EMPTY FROM %EMPTY TO MEMORY ID 'AQLISTDATA'.
    LEAVE.
  ELSE.
    IF %BATCH = SPACE AND
       %CALLED_BY_WWW = SPACE AND
       %CALLED_BY_WWW_ALV = SPACE.
      MESSAGE S260(AQ).
      LEAVE LIST-PROCESSING.
    ELSE.
      IF %CALLED_BY_WWW_ALV = SPACE.
        %DIACT = SPACE.
      ENDIF.
    ENDIF.
  ENDIF.
ENDIF.
IF %DIACT = 'S'.
  PERFORM %SAVE_LIST.
  LEAVE LIST-PROCESSING.
ENDIF.
IF %DIACT = 'V' AND %BATCH <> SPACE.
  NEW-PAGE PRINT OFF.
  PERFORM SET_PRINT_PARAMS(RSAQEXCE).
  PERFORM %DOWNLOAD USING 'ALV'.
  LEAVE.
ENDIF.
IF %DIACT = 'V' AND %CALLED_BY_WWW_ALV <> SPACE.
  PERFORM %DOWNLOAD USING 'ALV'.
  LEAVE.
ENDIF.
IF %DIACT = 'V' AND %UCOMM = 'PRIN'.
  NEW-PAGE PRINT OFF.
  PERFORM SET_PRINT_PARAMS(RSAQEXCE).
  PERFORM %DOWNLOAD USING 'ALV'.
  LEAVE LIST-PROCESSING.
ENDIF.
IF %DIACT = 'P' AND %BATCH <> SPACE.
  PERFORM %DOWNLOAD USING '+DAT'.
  LEAVE LIST-PROCESSING.
ENDIF.
IF %DIACT = 'E' AND %BATCH <> SPACE.
  PERFORM %DOWNLOAD USING 'EIS'.
  LEAVE LIST-PROCESSING.
ENDIF.
IF %DIACT = '1'.
  PERFORM %DOWNLOAD USING '+MEM'.
  LEAVE.
ENDIF.
IF %DIACT = 'X'.
  SET USER-COMMAND 'XXL'.
ELSEIF %DIACT = 'W'.
  SET USER-COMMAND 'TEXT'.
ELSEIF %DIACT = 'V'.
  SET USER-COMMAND 'ALV'.
ELSEIF %DIACT = 'T'.
  SET USER-COMMAND 'VIEW'.
ELSEIF %DIACT = 'G'.
  SET USER-COMMAND 'GRAF'.
ELSEIF %DIACT = 'A'.
  SET USER-COMMAND 'ABCA'.
ELSEIF %DIACT = 'E'.
  SET USER-COMMAND 'EIS'.
ELSEIF %DIACT = 'D'.
  SET USER-COMMAND 'DOWN'.
ELSEIF %DIACT = 'I'.
  SET USER-COMMAND 'XINT'.
ELSEIF %DIACT = 'P'.
  SET USER-COMMAND '+DAT'.
ENDIF.

TOP-OF-PAGE.
PERFORM %TOP-OF-PAGE.

END-OF-PAGE.
PERFORM PAGE_FOOT(RSAQEXCE).
PERFORM %SAVE_PAGE.

TOP-OF-PAGE DURING LINE-SELECTION.
PERFORM %TOP-OF-PAGE.

AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'EXIT'.
  LEAVE PROGRAM.
WHEN 'RETN'.
  PERFORM RETURN(RSAQEXCE).
WHEN 'CANC'.
  PERFORM RETURN(RSAQEXCE).
WHEN 'WEIT'.
  PERFORM RETURN(RSAQEXCE).
WHEN 'INHA'.
  PERFORM CATALOGUE(RSAQEXCE).
WHEN 'AUSL'.
  PERFORM PICKUP(RSAQEXCE).
WHEN 'AUSW'.
  PERFORM PICKUP(RSAQEXCE).
WHEN 'RCAA'.
  PERFORM RCHAIN(RSAQBRST).
WHEN 'RCAL'.
  PERFORM RCALL(RSAQBRST).
WHEN 'VGLI'.
  PERFORM CHANGE(RSAQEXCE).
WHEN 'VGLE'.
  PERFORM CHANGE(RSAQEXCE).
WHEN 'TOTO'.
  PERFORM CHANGE(RSAQEXCE).
WHEN 'VSTA'.
  PERFORM CHANGE(RSAQEXCE).
WHEN 'VSTE'.
  PERFORM RETURN(RSAQEXCE).
WHEN 'SAVL'.
  PERFORM %SAVE_LIST.
WHEN 'ODRU'.
  PERFORM PRINT_LIST(RSAQEXCE).
WHEN 'COPA'.
  PERFORM PRINT_COVER_PAGE(RSAQEXCE).
WHEN 'TEXT'.
  PERFORM %DOWNLOAD USING 'TEXT'.
WHEN 'ALV'.
  PERFORM %DOWNLOAD USING 'ALV'.
WHEN 'VIEW'.
  PERFORM %VIEW.
WHEN 'XXL'.
  PERFORM %DOWNLOAD USING 'XXL'.
WHEN 'GRAF'.
  PERFORM %DOWNLOAD USING 'GRAF'.
WHEN 'ABCA'.
  PERFORM %DOWNLOAD USING 'ABCA'.
WHEN 'EIS'.
  PERFORM %DOWNLOAD USING 'EIS'.
WHEN 'DOWN'.
  PERFORM %DOWNLOAD USING 'DOWN'.
WHEN 'XINT'.
  PERFORM %DOWNLOAD USING 'XINT'.
ENDCASE.
CLEAR: %CLINE, %ZGR.
CLEAR: %TAB, %LINE, %CONT.
IF %DIACT <> SPACE.
  LEAVE LIST-PROCESSING.
ENDIF.


FORM %COMP_LDESC.

  REFRESH %LDESC.
  REFRESH %GDESC.
  PERFORM LDESC(RSAQEXCE) USING 'G00010000X020       00  98'
    TEXT-A00 TEXT-B00 TEXT-H00 'E070-STRKORR' E070-STRKORR
    'E070-STRKORR'.
  PERFORM LDESC(RSAQEXCE) USING 'G00020000X120       00  98'
    TEXT-A01 TEXT-B01 TEXT-H00 'E071-OBJ_NAME' E071-OBJ_NAME
    'E071-OBJ_NAME'.
  PERFORM LDESC(RSAQEXCE) USING 'G00030000X010       00  98'
    TEXT-A02 TEXT-B02 TEXT-H00 'E070-AS4DATE' E070-AS4DATE
    'E070-AS4DATE'.
  PERFORM LDESC(RSAQEXCE) USING 'G00040000X008       00  98'
    TEXT-A03 TEXT-B03 TEXT-H00 'E070-AS4TIME' E070-AS4TIME
    'E070-AS4TIME'.
  PERFORM LDESC(RSAQEXCE) USING 'G00050000X012       00  98'
    TEXT-A04 TEXT-B04 TEXT-H00 'E070-AS4USER' E070-AS4USER
    'E070-AS4USER'.
  PERFORM LDESC(RSAQEXCE) USING 'G00060000X004       00  98'
    TEXT-A05 TEXT-B05 TEXT-H00 'E070-KORRDEV' E070-KORRDEV
    'E070-KORRDEV'.
  PERFORM LDESC(RSAQEXCE) USING 'G00070000X010       00  98'
    TEXT-A06 TEXT-B06 TEXT-H00 'E070-TARSYSTEM' E070-TARSYSTEM
    'E070-TARSYSTEM'.
  PERFORM LDESC(RSAQEXCE) USING 'G00080000X001       00  98'
    TEXT-A07 TEXT-B07 TEXT-H00 'E070-TRSTATUS' E070-TRSTATUS
    'E070-TRSTATUS'.
  PERFORM GDESC(RSAQEXCE) USING 'G00' 5 20 ' ' ' ' 'X'.
  PERFORM COMPLETE_LDESC(RSAQEXCE) TABLES %LDESC.

ENDFORM.

FORM %OUTPUT.

DESCRIBE TABLE %PRLIST LINES %MAX_PRLIST.
%HEAD = 'AAA'.
%KEYEMPTY = SPACE.
NEW-PAGE.
PERFORM %OUTPUT_GL.
PERFORM COMPLETE_PAGE(RSAQEXCE).
%HEAD = 'ZZZ'.
PERFORM LAST_PTAB_ENTRY(RSAQEXCE).
NEW-PAGE.
IF %KEYEMPTY <> SPACE.
  MESSAGE S894(AQ).
ENDIF.

ENDFORM.


FORM %TOP-OF-PAGE.

IF SY-UCOMM = 'INHA'. EXIT. ENDIF.
IF SY-UCOMM = 'COPA'. EXIT. ENDIF.
IF %HEAD    = SPACE.  EXIT. ENDIF.
IF %HEAD = 'DDD'.
  PERFORM TVIEWPAGE(RSAQEXCE).
  EXIT.
ENDIF.
IF %HEAD = 'GGG'.
  PERFORM PAGE(RSAQEXCE) USING 'G00' TEXT-GRL 252 %GLFRAME 001.
  SET LEFT SCROLL-BOUNDARY COLUMN 002.
  PERFORM SET_SCROLL_BOUNDARY(RSAQEXCE) USING 002.
  IF %TOTO <> SPACE. EXIT. ENDIF.
ELSE.
  CASE %HEAD.
  ENDCASE.
ENDIF.

ENDFORM.


FORM %NEWLINE.

  %UFLAG = SPACE.
  NEW-LINE.
  WRITE: '|', 252 '|'.
  POSITION 2.

ENDFORM.

FORM %SKIP USING COUNT.

  IF SY-LINNO > 1.
    %UFLAG = SPACE.
    DO COUNT TIMES.
      NEW-LINE.
      FORMAT RESET.
      WRITE: '|', 252 '|'.
    ENDDO.
  ENDIF.

ENDFORM.

FORM %ULINE.

  IF %UFLAG = SPACE.
    IF SY-LINNO > 1.
      ULINE /1(252).
    ENDIF.
    %UFLAG = 'X'.
  ENDIF.

ENDFORM.

FORM %HIDE.

  IF %BATCH <> SPACE AND %DIACT = 'S'.
    PERFORM HIDE(RSAQEXCE).
  ELSE.
    HIDE: %TAB, %LINE, %CONT.
  ENDIF.

ENDFORM.

FORM %HIDE_COLOR.

  IF %BATCH <> SPACE AND %DIACT = 'S'.
    PERFORM HIDE_COLOR(RSAQEXCE).
  ELSE.
    HIDE: %FINT, %FCOL.
  ENDIF.

ENDFORM.

FORM %RCALL USING NAME VALUE.

FIELD-SYMBOLS <FIELD>.

  ASSIGN (NAME) TO <FIELD>.
  READ CURRENT LINE FIELD VALUE <FIELD> INTO VALUE.
  IF SY-SUBRC <> 0.
    VALUE = SPACE.
    EXIT.
  ENDIF.
  IF VALUE = SPACE AND %TAB = 'G00' AND %LDESC-FCUR NA 'FM'.
    READ TABLE %G00 INDEX %LINE.
    IF SY-SUBRC = 0.
      ASSIGN COMPONENT %LDESC-FNAMEINT OF STRUCTURE %G00
                                       TO <FIELD>.
      IF SY-SUBRC = 0.
        WRITE <FIELD> TO VALUE(%LDESC-FOLEN).
      ENDIF.
    ENDIF.
  ENDIF.

ENDFORM.

FORM %SAVE_PAGE.

  IF %BATCH <> SPACE AND %DIACT = 'S'.
    PERFORM SAVE_PAGE(RSAQEXCE) TABLES %ST_LISTE.
  ENDIF.

ENDFORM.

FORM %REPLACE_VAR USING TEXT.

FIELD-SYMBOLS <VAR>.

  ASSIGN TEXT+1(*) TO <VAR>.

ENDFORM.

FORM %SAVE_LIST.

DATA: %SFLAG,
      QREPORT LIKE SY-REPID.

  IF %DIACT = 'S'. %SFLAG = 'X'. ENDIF.
  QREPORT = SY-REPID.
  PERFORM SAVE_LIST(RSAQEXCE) TABLES %ST_LISTE
                              USING QREPORT %SFLAG %LISTID.
  IF %QL_ID <> SPACE.
    %DLFLAG = 'X'.
    %LISTSIZE = 0253.
    PERFORM COMP_SELECTION_SCREEN(RSAQEXCE).
    EXPORT %ST_LISTE %PTAB %LDESC %GDESC %DLFLAG %LISTSIZE
           %SELECTIONS
           %G00
           TO DATABASE AQLDB(AQ) ID %QL_ID.
  ENDIF.

ENDFORM.

FORM %REFRESH.

  CASE %TAB.
  WHEN 'G00'.
    IMPORT %G00 FROM DATABASE AQLDB(AQ) ID %QL_ID.
  ENDCASE.

ENDFORM.

FORM %DOWNLOAD USING CODE.

DATA: QREPORT LIKE SY-REPID.

  PERFORM INIT_DOWNLOAD(RSAQEXCE).
  QREPORT = SY-REPID.
  CASE %TAB.
  WHEN 'G00'.
    PERFORM DOWNLOAD(RSAQEXCE)
            TABLES %G00 USING CODE QREPORT TEXT-GRL.
  WHEN OTHERS.
    MESSAGE S860(AQ).
  ENDCASE.

ENDFORM.

FORM %SET_DATA CHANGING L_LINES TYPE I.

  IMPORT LDATA TO %G00 FROM MEMORY ID 'AQLISTDATA'.
  DESCRIBE TABLE %G00 LINES L_LINES.
  FREE MEMORY ID 'AQLISTDATA'.

ENDFORM.

FORM %GET_DATA TABLES DATATAB STRUCTURE %G00
               USING  FIRST TYPE I
                      LAST  TYPE I.

  APPEND LINES OF %G00 FROM FIRST TO LAST TO DATATAB.

ENDFORM.

FORM %GET_REF_TO_TABLE USING LID         LIKE RSAQLDESC-LID
                             REF_TO_ITAB TYPE REF TO DATA
                             SUBRC       LIKE SY-SUBRC.

  SUBRC = 0.
  CASE LID.
  WHEN 'G00'.
    CREATE DATA REF_TO_ITAB LIKE %G00[].
  WHEN OTHERS.
    SUBRC = 4.
    MESSAGE S860(AQ).
  ENDCASE.

ENDFORM.

FORM %VIEW.

DATA: RET TYPE I.

  PERFORM CHECK_WINGUI(RSAQSYST) USING RET.
  IF RET <> 0.
    MESSAGE S841(AQ).
    PERFORM %DOWNLOAD USING 'ALV'.
    EXIT.
  ENDIF.

DATA: ANZ TYPE I,
      PROG LIKE SY-REPID.

  PROG = SY-REPID.
  PERFORM INIT_DOWNLOAD(RSAQEXCE).
  CASE %TAB.
  WHEN 'G00'.
    PERFORM GENERATE_VIEW_DYNPRO(RSAQEXCE)
            USING PROG TEXT-GRL.
    DESCRIBE TABLE %G00 LINES ANZ.
    TVIEW100-LINES = ANZ.
    PERFORM INIT_VIEW(RSAQEXCE) TABLES %G00 USING TVIEW100.
    CALL SCREEN 100.
    PERFORM RESET_VIEW_DYNPRO(RSAQEXCE).
  WHEN OTHERS.
    MESSAGE S860(AQ).
  ENDCASE.

ENDFORM.


FORM %OUTPUT_GL.

IF %MAX_PRLIST <> 0.
  READ TABLE %PRLIST WITH KEY TAB = 'GGG'.
  IF SY-SUBRC <> 0.
    EXIT.
  ENDIF.
ENDIF.
SET MARGIN 00.
PERFORM COMPLETE_PAGE(RSAQEXCE).
%NOCHANGE = SPACE.
NEW-PAGE.
%GLLINE   = 0.
%TAB      = 'G00'.
%LINE     = 0.
%CONT     = '0'.
%FINT     = SPACE.
%FCOL     = '0'.
%HEAD     = 'GGG'.
%CLINE    = 0.
%OUTFLAG  = SPACE.
%OUTCOMP  = SPACE.
%OUTTOTAL = SPACE.
%RFLAG    = 'AA'.
IF %DIACT <> SPACE AND %DIACT NA 'SWE'. WRITE SPACE. ENDIF.
FORMAT RESET.
LOOP.
  %DATA_SELECTED = 'X'.
  AT %FG01.
    %ZNR = '01'.
    %ZGR = '01'.
    %CLINE = %CLINE + 1.
    %G00-E070-STRKORR = E070-STRKORR.
    %G00-E071-OBJ_NAME = E071-OBJ_NAME.
    %G00-E070-AS4DATE = E070-AS4DATE.
    %G00-E070-AS4TIME = E070-AS4TIME.
    %G00-E070-AS4USER = E070-AS4USER.
    %G00-E070-KORRDEV = E070-KORRDEV.
    %G00-E070-TARSYSTEM = E070-TARSYSTEM.
    %G00-E070-TRSTATUS = E070-TRSTATUS.
    IF %FIRST <> SPACE. APPEND %G00. ENDIF.
    %GLLINE = %GLLINE + 1.
    %LZNR = %ZNR.
    IF %DIACT <> SPACE AND %DIACT NA 'SWE'. CONTINUE. ENDIF.
    PERFORM CHECK(RSAQEXCE) USING ' '.
    IF %RFLAG = 'E'. EXIT. ENDIF.
    IF %RFLAG(1) = 'A'.
    FORMAT RESET.
    %FINT = 'F'. %FCOL = '0'.
    FORMAT COLOR 2. %FCOL = '2'.
    PERFORM %NEWLINE.
    WRITE 002(020) E070-STRKORR.
    %LINE = %GLLINE.
    PERFORM %HIDE.
    %LINE = 0.
    PERFORM %HIDE_COLOR.
    WRITE 023(120) E071-OBJ_NAME.
    WRITE 144(010) E070-AS4DATE.
    WRITE 155(008) E070-AS4TIME.
    WRITE 164(012) E070-AS4USER.
    WRITE 177(004) E070-KORRDEV.
    WRITE 182(010) E070-TARSYSTEM.
    WRITE 193(001) E070-TRSTATUS.
    ENDIF.
  ENDAT.
ENDLOOP.
%RFLAG = 'AA'.
PERFORM %ULINE.
CLEAR: %CLINE, %ZGR.

ENDFORM.

 

MODULE %INIT_VIEW OUTPUT.

  CASE %TAB.
  WHEN 'G00'.
    PERFORM INIT_PBO(RSAQEXCE) TABLES %G00 USING TVIEW100 'X'.
  WHEN OTHERS.
    MESSAGE S860(AQ).
  ENDCASE.

ENDMODULE.

MODULE %PBO_VIEW OUTPUT.

  CASE %TAB.
  WHEN 'G00'.
    PERFORM LOOP_PBO(RSAQEXCE) TABLES %G00 USING %%G00 TVIEW100.
  ENDCASE.

ENDMODULE.

MODULE %PAI_VIEW INPUT.

  CASE %TAB.
  WHEN 'G00'.
    PERFORM LOOP_PAI(RSAQEXCE) TABLES %G00 USING %%G00 TVIEW100.
  ENDCASE.

ENDMODULE.

MODULE %OKCODE_VIEW INPUT.

  CASE %TAB.
  WHEN 'G00'.
    PERFORM OKCODE(RSAQEXCE) TABLES %G00 USING TVIEW100.
  ENDCASE.

ENDMODULE.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值