Topic 08 - Exercise V1.3
Topic 08 - Exercise V1.3
Exercise 1:
Copy the demo program of Topic 8 Classic Report to a new program
Complete the Upload multiple Flight Schedule feature
** 2. Upload multiple Flight Schedules (Exercise/Bonus)
* 2.1. Call GUI_UPLOAD
* 2.2. SPLIT by ',' into an all characters work area
Hints: SPLIT <raw data string> AT ','
INTO LS_CHAR_WA-FIELD1
LS_CHAR_WA-FIELD2
LS_CHAR_WA-FIELD3
LS_CHAR_WA-FIELD4
LS_CHAR_WA-FIELD5.
* 2.3. Convert that all characters work area into new Word Are
Hints: TRY.
LS_INSERT-FIELD1 = EXACT #(LS_CHAR_WA-FIELD1)
CATCH CX_ROOT.
Log-STATUS = 'E'
Log-MESSAGE = |Invalid value of field { LS_CHAR_W
ENDTRY.
* 2.3. INSERT into table SPFLI
* 2.4. Output insert result with WRITE (Using the same subrout
Exercise 2:
YXXX_CREP_EX02 XXX is your ID number
Write a Report Program that will display the Sales Order from table SNWD_SO
Selection Screen:
Report Screen:
into new Word Area with same structure as the table to be inserted
LS_CHAR_WA-FIELD1).
<screenshot>
INITIALIZATION.
* Initialize data for drowdownlist
PERFORM INIT_DATA.
AT SELECTION-SCREEN OUTPUT.
* Change screen when chage Radio button
PERFORM CHANGE_SEL_SCREEN.
AT SELECTION-SCREEN.
* Input validation
PERFORM VALIDATE_INPUTS.
START-OF-SELECTION.
* Main processing
PERFORM MAIN_PROCESSING.
*&---------------------------------------------------------------------*
*& Form INIT_DATA
*&---------------------------------------------------------------------*
*& Initialize data for drowdownlist
*&---------------------------------------------------------------------*
FORM INIT_DATA .
* VRM_SET_VALUES
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = CONV VRM_ID( 'P_DISUNT' )
VALUES = VALUE VRM_VALUES( ( KEY = 'KM' TEXT = 'Kilometers')
( KEY = 'MI' TEXT = 'Miles') )
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE 'Cannot initialize List Box Distance Unit.' TYPE 'E'.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CHANGE_SEL_SCREEN
*&---------------------------------------------------------------------*
*& Change screen when chage Radio button
*&---------------------------------------------------------------------*
FORM CHANGE_SEL_SCREEN .
LOOP AT SCREEN.
* If user choose Create a Flight Schedule
IF R_CREONE = ABAP_TRUE.
* Hide Upload block 3
IF SCREEN-GROUP1 = 'BL3'.
SCREEN-ACTIVE = '0'.
ELSEIF SCREEN-GROUP1 = 'BL2'." Show Create block 2
SCREEN-ACTIVE = '1'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
PERFORM CHECK_REQUIRED_FIELDS USING P_PATH TEXT-T09.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CHECK_REQUIRED_FIELDS
*&---------------------------------------------------------------------*
*& Validate Required Fields
*&---------------------------------------------------------------------*
FORM CHECK_REQUIRED_FIELDS USING U_VALUE TYPE ANY
U_FIELD_NAME TYPE STRING.
IF U_VALUE IS INITIAL.
MESSAGE | Please enter data in the field { U_FIELD_NAME }.| TYPE 'E'.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CHECK_AIRLINE_MASTER
*&---------------------------------------------------------------------*
*& Validate Airline Code with Table Airline Master
*&---------------------------------------------------------------------*
FORM CHECK_AIRLINE_MASTER USING U_CARRID TYPE SCARR-CARRID.
SELECT SINGLE CARRID FROM SCARR
INTO @DATA(LS_SCARR)
WHERE CARRID = @U_CARRID.
IF SY-SUBRC <> 0.
MESSAGE | Invalid airline code: { U_CARRID }. Please retry with different
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CHECK_COUNTRY_MASTER
*&---------------------------------------------------------------------*
*& Validate Country Name with Country Master
*&---------------------------------------------------------------------*
FORM CHECK_COUNTRY_MASTER USING U_COUNTRY TYPE T005-LAND1.
SELECT SINGLE LAND1 FROM T005
INTO @DATA(LS_LAND1)
WHERE LAND1 = @U_COUNTRY.
IF SY-SUBRC <> 0.
MESSAGE | Invalid country code: { U_COUNTRY }. Please retry with differen
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form OPEN_FILE_DiaLOG
*&---------------------------------------------------------------------*
*& Open File Dialog
*&---------------------------------------------------------------------*
FORM OPEN_FILE_DiaLOG .
CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG(
EXPORTING
WINDOW_TITLE = CONV STRING( 'OPEN FLIGHT SCHEDULE FILE' ) " Title Of File
* FILE_FILTER = " File Extension Filter String
CHANGING
FILE_TABLE = LT_FILE_TABLE " Table Holding Selected Files
RC = LD_RC " Return Code, Number of Files or -1 If Error Occurred
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1 " "Open File" dialog failed
CNTL_ERROR = 2 " Control error
ERROR_NO_GUI = 3 " No GUI available
NOT_SUPPORTED_BY_GUI = 4 " GUI does not support this
OTHERS = 5
).
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
READ TABLE LT_FILE_TABLE INDEX 1 INTO DATA(LS_FILE).
* DATA(LS_FILE) = LT_FILE_TABLE[ 1 ].
IF SY-SUBRC = 0.
P_PATH = LS_FILE-FILENAME.
ENDIF.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form MAIN_PROCESSING
*&---------------------------------------------------------------------*
*& Main processing
*&---------------------------------------------------------------------*
FORM MAIN_PROCESSING .
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CREATE_WA_FROM_SEL
*&---------------------------------------------------------------------*
*& Create a work area form Selection Screen fields
*&---------------------------------------------------------------------*
*& <-- C_S_SPFLI
*&---------------------------------------------------------------------*
FORM CREATE_WA_FROM_SEL CHANGING C_S_SPFLI TYPE SPFLI.
C_S_SPFLI = VALUE SPFLI( CARRID = P_CARRID
CONNID = P_CONNID
COUNTRYFR = P_CTRYFR
CITYFROM = P_CITYFR
AIRPFROM = P_AIRPFR
COUNTRYTO = P_CTRYTO
CITYTO = P_CITYTO
AIRPTO = P_AIRPTO
FLTIME = P_FLTIME
DEPTIME = P_DEPTIM
ARRTIME = P_ARRTIM
DISTANCE = P_DISTAN
DISTID = P_DISUNT
FLTYPE = P_FLTYPE
PERIOD = P_PERIOD ).
ENDFORM.
*&---------------------------------------------------------------------*
*& Form INSERT_SPFLI
*&---------------------------------------------------------------------*
*& INSERT into table SPFLI
*&---------------------------------------------------------------------*
FORM INSERT_SPFLI USING U_S_SPFLI TYPE SPFLI
CHANGING C_T_LOG_REPORT TYPE TY_T_LOG_REPORT.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING U_S_SPFLI TO LS_LOG_REPORT.
LS_LOG_REPORT-STATUS = 'S'.
LS_LOG_REPORT-MESSAGE = 'Data has been inserted succesfully into Flight S
APPEND LS_LOG_REPORT TO C_T_LOG_REPORT.
ELSE.
MOVE-CORRESPONDING U_S_SPFLI TO LS_LOG_REPORT.
LS_LOG_REPORT-STATUS = 'E'.
LS_LOG_REPORT-MESSAGE = 'Inserting error. Please check duplicated keys.'.
APPEND LS_LOG_REPORT TO C_T_LOG_REPORT.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form OUTPUT_LOG_REPORT
*&---------------------------------------------------------------------*
*& Output insert result with WRITE
*&---------------------------------------------------------------------*
FORM OUTPUT_LOG_REPORT USING U_LT_LOG_REPORT TYPE TY_T_LOG_REPORT.
FORMAT COLOR COL_HEADING.
WRITE: /(5) 'No.',
(10) 'Airline',
(10) 'Flight No.',
(10) 'Status',
(150) 'Message'.
FORMAT COLOR OFF.
LOOP AT U_LT_LOG_REPORT INTO DATA(LS_LOG).
WRITE: /(5) SY-TABIX,
(10) LS_LOG-CARRID,
(10) LS_LOG-CONNID,
(10) LS_LOG-STATUS,
(150) LS_LOG-MESSAGE.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CALL_GUI_UPLOAD
*&---------------------------------------------------------------------*
*& Call GUI_UPLOAD
*&---------------------------------------------------------------------*
FORM CALL_GUI_UPLOAD USING U_P_PATH TYPE STRING
CHANGING C_LT_TEXT TYPE TY_T_TEXT.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form SPLIT_TEXT
*&---------------------------------------------------------------------*
*& SPLIT by ',' into an all characters work area
*&---------------------------------------------------------------------*
FORM SPLIT_TEXT USING U_LT_TEXT TYPE TY_T_TEXT
CHANGING C_LT_LOG_REPORT TYPE TY_T_LOG_REPORT.
CLEAR: LS_STRING,
LS_LOG_REPORT,
LD_MESSAGE,
LS_SPFLI.
TRY.
LS_LOG_REPORT-CARRID = EXACT #( LS_STRING-CARRID ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-CARRID SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-CONNID = EXACT #( LS_STRING-CONNID ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-CONNID SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-COUNTRYFR = EXACT #( LS_STRING-COUNTRYFR ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-COUNTRYFR SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-CITYFROM = EXACT #( LS_STRING-CITYFROM ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-CITYFROM SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-AIRPFROM = EXACT #( LS_STRING-AIRPFROM ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-AIRPFROM SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-COUNTRYTO = EXACT #( LS_STRING-COUNTRYTO ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-COUNTRYTO SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-CITYTO = EXACT #( LS_STRING-CITYTO ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-CITYTO SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-AIRPTO = EXACT #( LS_STRING-AIRPTO ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-AIRPTO SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-FLTIME = EXACT #( LS_STRING-FLTIME ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-FLTIME SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-DEPTIME = EXACT #( LS_STRING-DEPTIME ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-DEPTIME SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-ARRTIME = EXACT #( LS_STRING-ARRTIME ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-ARRTIME SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-DISTANCE = EXACT #( LS_STRING-DISTANCE ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-DISTANCE SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-DISTID = EXACT #( LS_STRING-DISTID ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-DISTID SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-FLTYPE = EXACT #( LS_STRING-FLTYPE ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-FLTYPE SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
TRY.
LS_LOG_REPORT-PERIOD = EXACT #( LS_STRING-PERIOD ).
CATCH CX_ROOT.
LS_LOG_REPORT-STATUS = 'E'.
MESSAGE E030(YFA2101) WITH LS_STRING-PERIOD SY-TABIX INTO LD_MESSAGE.
CONCATENATE LS_LOG_REPORT-MESSAGE LD_MESSAGE INTO LS_LOG_REPORT-MESSAGE S
ENDTRY.
ENDLOOP.
ENDFORM.
ex2
*&---------------------------------------------------------------------*
*& Report YDUCLDD_CREP_EX02
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YDUCLDD_CREP_EX02.
* TYPES
TYPES: BEGIN OF TY_SPFLI.
INCLUDE STRUCTURE SPFLI.
TYPES: END OF TY_SPFLI.
* SELECTION SCREEN
SELECTION-SCREEN BEGIN OF BLOCK A01 WITH FRAME.
SELECT-OPTIONS: S_CARRID FOR GD_CARRID,
S_CONNID FOR GD_CONNID,
S_CTRYFR FOR GD_CTRYFR,
S_CTRYTO FOR GD_CTRYTO.
PARAMETERS: P_PATH TYPE FILE_TABLE-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK A01.
AT SELECTION-SCREEN.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.
* OPEN FILE DIALOG
PERFORM OPEN_DIALOG CHANGING P_PATH.
START-OF-SELECTION.
* MAIN PROCESSING
PERFORM MAIN_PROCESSING USING S_CARRID
S_CONNID
S_CTRYFR
S_CTRYTO.
*&---------------------------------------------------------------------*
*& Form OPEN_DIALOG
*&---------------------------------------------------------------------*
*& OPEN FILE DIALOG
*&---------------------------------------------------------------------*
FORM OPEN_DIALOG CHANGING C_P_PATH TYPE FILE_TABLE-FILENAME.
CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG(
EXPORTING
WINDOW_TITLE = CONV STRING( 'Open CDS List' ) " Window Title
DEFAULT_EXTENSION = 'TXT' " Default Extension
CHANGING
FILENAME = LD_FILENAME " File Name to Save
PATH = LD_PATH " Path to File
FULLPATH = LD_FULLPATH " Path + File Name
EXCEPTIONS
CNTL_ERROR = 1 " Control error
ERROR_NO_GUI = 2 " No GUI available
NOT_SUPPORTED_BY_GUI = 3 " GUI does not support this
INVALID_DEFAULT_FILE_NAME = 4 " Invalid default file name
OTHERS = 5
).
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
C_P_PATH = LD_FULLPATH.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form GET_DATA_SPFLI
*&---------------------------------------------------------------------*
*& GET DATA FORM TABLE SPFLI
*&---------------------------------------------------------------------*
FORM GET_DATA_SPFLI USING U_S_CARRID LIKE S_CARRID
U_S_CONNID LIKE S_CONNID
U_S_CTRYFR LIKE S_CTRYFR
U_S_CTRYTO LIKE S_CTRYTO
CHANGING C_GT_SPFLI TYPE TY_T_SPFLI.
IF SY-SUBRC <> 0.
MESSAGE ' NO DATA ' TYPE 'E'.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DOWLOAD_DATA
*&---------------------------------------------------------------------*
*& DOWNLOAD DATA
*&---------------------------------------------------------------------*
FORM DOWNLOAD_DATA USING U_P_PATH TYPE FILE_TABLE-FILENAME
U_GT_SPFLI TYPE TY_T_SPFLI.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form MAIN_PROCESSING
*&---------------------------------------------------------------------*
*& MAIN PROCESSING
*&---------------------------------------------------------------------*
FORM MAIN_PROCESSING USING U_S_CARRID LIKE S_CARRID
U_S_CONNID LIKE S_CONNID
U_S_CTRYFR LIKE S_CTRYFR
U_S_CTRYTO LIKE S_CTRYTO.
* GET DATA FROM TABLE SPFLI
PERFORM GET_DATA_SPFLI USING U_S_CARRID
U_S_CONNID
U_S_CTRYFR
U_S_CTRYTO
CHANGING GT_SPFLI.
* DOWNLOAD DATA
PERFORM DOWNLOAD_DATA USING P_PATH
GT_SPFLI.
ENDFORM.
ex3
*&---------------------------------------------------------------------*
*& Report YDUCLDD_CREP_EX03
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YDUCLDD_CREP_EX03 NO STANDARD PAGE HEADING.
START-OF-SELECTION.
* MAIN PROCESSING
PERFORM MAIN_PROCESSING USING S_SO_ID.
* TOP OF REPORT
TOP-OF-PAGE.
PERFORM TOP_OF_PAGE.
*&---------------------------------------------------------------------*
*& Form MAIN_PROCESSING
*&---------------------------------------------------------------------*
*& MAIN PROCESSING
*&---------------------------------------------------------------------*
FORM MAIN_PROCESSING USING U_S_SO_ID LIKE S_SO_ID.
* Get data
PERFORM GET_DATA USING U_S_SO_ID
CHANGING GT_SNWD.
* Output report
PERFORM OUTPUT_REPORT USING GT_SNWD.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
*& Get Data
*&---------------------------------------------------------------------*
FORM GET_DATA USING U_S_SO_ID LIKE S_SO_ID
CHANGING C_GT_SNWD TYPE TY_T_REPORT.
SELECT SNWD_SO~SO_ID,
SNWD_BPA~BP_ID,
SNWD_BPA~COMPANY_NAME,
SNWD_SO~GROSS_AMOUNT,
SNWD_SO~NET_AMOUNT,
SNWD_SO~TAX_AMOUNT,
SNWD_SO~CURRENCY_CODE,
SNWD_SO~LIFECYCLE_STATUS,
SNWD_SO~OVERALL_STATUS,
SNWD_AD~BUILDING AS STO_BUILD,
SNWD_AD~STREET AS STO_STRT,
SNWD_AD~CITY AS STO_CITY,
SNWD_AD~POSTAL_CODE
FROM SNWD_SO JOIN SNWD_BPA ON SNWD_SO~BUYER_GUID = SNWD_BPA~NODE_KEY
JOIN SNWD_AD ON SNWD_SO~SHIP_TO_ADR_GUID = SNWD_AD~NODE_KEY
WHERE SO_ID IN @S_SO_ID
ORDER BY SNWD_SO~SO_ID
INTO TABLE @C_GT_SNWD.
IF SY-SUBRC <> 0.
MESSAGE 'Can not get data' TYPE 'E'.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form OUTPUT_REPORT
*&---------------------------------------------------------------------*
*& Output Report
*&---------------------------------------------------------------------*
FORM OUTPUT_REPORT USING U_GT_SNWD TYPE TY_T_REPORT.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
*& Top of page
*&---------------------------------------------------------------------*
FORM TOP_OF_PAGE .
WRITE: TEXT-001.
SKIP 1.
WRITE:/ TEXT-002 , SY-DATUM.
WRITE:/ TEXT-003, SY-UZEIT.
SKIP 1.
FORMAT COLOR COL_HEADING.
WRITE:/(10) TEXT-004,
(10) TEXT-005,
(20) TEXT-006,
(15) TEXT-007,
(15) TEXT-008,
(15) TEXT-009,
(10) TEXT-010,
(18) TEXT-011,
(15) TEXT-012,
(30) TEXT-013,
(15) TEXT-014.
FORMAT COLOR OFF.
ENDFORM.
-------------------*
-------------------*
-------------------*
TEXT-B01.
AND RBCM DEFAULT 'X',
TEXT-B02.
TEXT-B03.
-------------------*
-------------------*
-------------------*
TYPE 'E'.
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
rror Occurred
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
ck duplicated keys.'.
-------------------*
-------------------*
-------------------*
_T_LOG_REPORT.
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
IX INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
IX INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
BIX INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
X INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
X INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
IX INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
INTO LD_MESSAGE.
_LOG_REPORT-MESSAGE SEPARATED BY SPACE.
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*
NWD_BPA~NODE_KEY
-------------------*
-------------------*
-------------------*
-------------------*
-------------------*