update,
This commit is contained in:
59
_resources/it114105/itp4512/Assignment/README.md.original
Normal file
59
_resources/it114105/itp4512/Assignment/README.md.original
Normal file
@@ -0,0 +1,59 @@
|
||||
#### ZASG_YOURNAME TABLE
|
||||
|
||||
| Field | Key | Initi | Data element | DTyp | Length | Decimal | Short Description |
|
||||
|------------|-----|-------|--------------|------|--------|---------|---------------------------|
|
||||
| MANDT | V | V | MANDT | CLNT | 3 | 0 | Client |
|
||||
| CARRID | V | V | S_CARRID | CHAR | 3 | 0 | Airline Code |
|
||||
| CONNID | V | V | S_CONN_ID | NUMC | 4 | 0 | Flight Connection Number |
|
||||
| CUSTOMID | V | V | S_CUSTOMER | NUMC | 8 | 0 | Customer Number |
|
||||
| FLDATE | V | V | S_DATE | DATS | 8 | 0 | Flight date |
|
||||
| FLTIME | | | SFLTIME | INT4 | 10 | 0 | Flight time |
|
||||
| CARRNAME | | | S_CARRNAME | CHAR | 20 | 0 | Airline name |
|
||||
| LUGGWEIGHT | | | S_LUGWEIGH | QUAN | 8 | 4 | Weight of Luggage |
|
||||
| WUNIT | | | GEWEI | UNIT | 3 | 0 | Weight Unit |
|
||||
| PASSNAME | | | S_PASSNAME | CHAR | 25 | 0 | Name of the Passenger |
|
||||
| H_FLAG | | | FLAG | CHAR | 1 | 0 | General Flag |
|
||||
| HKEARNING | | | AWKGR | CURR | 15 | 2 | Amount |
|
||||
| CURRENCY | | | S_CURRCODE | CUKY | 5 | 0 | Local currency of airline |
|
||||
| PLANETYPE | | | S_PLANETYE | CHAR | 10 | 0 | PLANE TYPE |
|
||||
|
||||
|
||||
#### Message class Z_MESSAGE_YOURNAME
|
||||
|
||||
| MessageId | Message short text |
|
||||
|-----------|----------------------------|
|
||||
| 000 | System Erro |
|
||||
| 001 | Data not found in table &1 |
|
||||
| 002 | Insert Data Error |
|
||||
|
||||
#### Function module Z_YOURNAME_FN1
|
||||
|
||||
Import
|
||||
| Parameter Name | Type | Associated Type | Default value | Opt.. | Pa.. | Short text |
|
||||
|----------------|------|-----------------|---------------|-------|------|---------------------------|
|
||||
| CURRENCY | TYPE | S_CURRCODE | | | | Local currency of airline |
|
||||
| EARNING | TYPE | AWKGR | | | | Amount |
|
||||
|
||||
|
||||
Export
|
||||
| Parameter Name | Type | Associated Type | Pass Va.. | Short text |
|
||||
|----------------|------|-----------------|-----------|---------------------|
|
||||
| RESULT | TYPE | AWKGR | | ABAP Book Customers |
|
||||
|
||||
Exceptions
|
||||
| Parameter Name | Type spec.. | Associated Type | Pass Va.. | Short text |
|
||||
|----------------|-------------|-----------------|-----------|---------------------|
|
||||
| RESULT | TYPE | AWKGR | | ABAP Book Customers |
|
||||
|
||||
|
||||
#### Function module Z_YOURNAME_FN2
|
||||
Import
|
||||
| Parameter Name | Type | Associated Type | Default value | Opt.. | Pa.. | Short text |
|
||||
|----------------|------|-----------------|---------------|-------|------|-------------------|
|
||||
| WTUNIT | TYPE | UNIT | | | | Unit |
|
||||
| LWEIGHT | TYPE | S_LUGWEIGH | | | | Weight of Luggage |
|
||||
|
||||
Export
|
||||
| Parameter Name | Type | Associated Type | Pass Va.. | Short text |
|
||||
|----------------|------|-----------------|-----------|-------------------|
|
||||
| LGWEIGHT | TYPE | S_LUGWEIGH | | Weight of Luggage |
|
140
_resources/it114105/itp4512/Assignment/ZASG_YOURNAME_UP.abap
Normal file
140
_resources/it114105/itp4512/Assignment/ZASG_YOURNAME_UP.abap
Normal file
@@ -0,0 +1,140 @@
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Report ZASG_YOURNAME_UP *
|
||||
*& *
|
||||
*&---------------------------------------------------------------------*
|
||||
*& *
|
||||
*& *
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
REPORT ZASG_YOURNAME_UP MESSAGE-ID Z_MESSAGE_YOURNAME
|
||||
TYPES: BEGIN OF ZASG_DB,
|
||||
MANDT TYPE MANDT,
|
||||
CARRID TYPE S_CARRID,
|
||||
CARRNAME TYPE S_CARRNAME,
|
||||
CONNID TYPE S_CONN_ID,
|
||||
FLTIME TYPE S_FLTIME,
|
||||
FLDATE TYPE S_DATE,
|
||||
CUSTOMID TYPE S_CUSTOMER,
|
||||
LUGGWEIGHT TYPE S_LUGWEIGH,
|
||||
WUNIT TYPE GEWEI,
|
||||
PASSNAME TYPE S_PASSNAME,
|
||||
LOCCURAM TYPE S_L_CUR_PR,
|
||||
PRICE TYPE S_PRICE,
|
||||
CURRENCY TYPE S_CURRCODE,
|
||||
PLANETYPE TYPE S_PLANETYE,
|
||||
END OF ZASG_DB.
|
||||
|
||||
DATA ITAB TYPE TABLE OF ZASG_DB.
|
||||
DATA WA TYPE ZASG_DB.
|
||||
DATA ZASGWA TYPE ZASG_YOURNAME.
|
||||
DATA MAXTIME LIKE WA-FLTIME VALUE '660'.
|
||||
|
||||
SELECT SBOOK~MANDT SBOOK~CARRID SCARR~CARRNAME SBOOK~CONNID
|
||||
SPFLI~FLTIME
|
||||
SBOOK~FLDATE SBOOK~CUSTOMID SBOOK~LUGGWEIGHT SBOOK~WUNIT
|
||||
SBOOK~PASSNAME
|
||||
SBOOK~LOCCURAM SFLIGHT~PRICE SBOOK~LOCCURKEY SFLIGHT~PLANETYPE
|
||||
FROM SBOOK
|
||||
INNER JOIN SCARR
|
||||
ON SBOOK~CARRID = SCARR~CARRID
|
||||
INNER JOIN SPFLI
|
||||
ON SBOOK~CONNID = SPFLI~CONNID
|
||||
AND SPFLI~CARRID = SCARR~CARRID
|
||||
INNER JOIN SFLIGHT
|
||||
ON SBOOK~FLDATE = SFLIGHT~FLDATE
|
||||
AND SFLIGHT~CARRID = SCARR~CARRID
|
||||
AND SFLIGHT~CONNID = SPFLI~CONNID
|
||||
|
||||
INTO TABLE ITAB.
|
||||
|
||||
LOOP AT ITAB INTO WA.
|
||||
DATA: EARNING TYPE P DECIMALS 2,
|
||||
HKEARNING TYPE P DECIMALS 2.
|
||||
EARNING = WA-LOCCURAM - WA-PRICE.
|
||||
CALL FUNCTION 'Z_YOURNAME_FN1'
|
||||
EXPORTING
|
||||
CURRENCY = WA-CURRENCY
|
||||
EARNING = EARNING
|
||||
IMPORTING
|
||||
RESULT = HKEARNING
|
||||
EXCEPTIONS
|
||||
NO_CURRENCY = 1
|
||||
OTHERS = 2
|
||||
|
||||
IF SY-SUBRC <> 0.
|
||||
MESSAGE I001(Z_MESSAGE_A).
|
||||
ELSE.
|
||||
DATA: RESULT_LGWEIGHT TYPE S_LUGWEIGH,
|
||||
H_FLAG TYPE FLAG.
|
||||
CALL FUNCTION 'Z_YOURNAME_FN2'
|
||||
EXPORTING
|
||||
WTUNIT = WA-WUNIT
|
||||
LWEIGHT = WA-LUGGWEIGHT
|
||||
IMPORTING
|
||||
LGWEIGHT = RESULT_LGWEIGHT
|
||||
.
|
||||
IF SY-SUBRC <> 0.
|
||||
MESSAGE I002(Z_MESSAGE_A).
|
||||
ELSE.
|
||||
IF RESULT_LGWEIGHT > 14 OR WA-FLTIME > MAXTIME.
|
||||
H_FLAG = 'X'.
|
||||
ELSE.
|
||||
H_FLAG = ' '.
|
||||
ENDIF.
|
||||
ZASGWA-MANDT = WA-MANDT.
|
||||
ZASGWA-CARRID = WA-CARRID.
|
||||
ZASGWA-CONNID = WA-CONNID.
|
||||
ZASGWA-CUSTOMID = WA-CUSTOMID.
|
||||
ZASGWA-FLDATE = WA-FLDATE.
|
||||
ZASGWA-FLTIME = WA-FLTIME.
|
||||
ZASGWA-CARRNAME = WA-CARRNAME.
|
||||
ZASGWA-LUGGWEIGHT = RESULT_LGWEIGHT.
|
||||
ZASGWA-WUNIT = WA-WUNIT.
|
||||
ZASGWA-PASSNAME = WA-PASSNAME.
|
||||
ZASGWA-H_FLAG = H_FLAG.
|
||||
ZASGWA-HKEARNING = HKEARNING.
|
||||
ZASGWA-CURRENCY = WA-CURRENCY.
|
||||
ZASGWA-PLANETYPE = WA-PLANETYPE.
|
||||
INSERT INTO ZASG_YOURNAME VALUES ZASGWA.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
IF SY-SUBRC = 4.
|
||||
MESSAGE i002.
|
||||
ELSEIF SY-SUBRC <> 0.
|
||||
MESSAGE i000.
|
||||
ELSE.
|
||||
WRITE: /(5) 'MANDT',
|
||||
(5) 'CARRID',
|
||||
(20) 'CARRNAME',
|
||||
(6) 'CONNID',
|
||||
(10) 'FLTIME';,
|
||||
(12) 'FLDATE',
|
||||
(12) 'CUSTOMID',
|
||||
(15) 'LUGGWEIGHT',
|
||||
(5) 'WUNIT',
|
||||
(25) 'PASSNAME',
|
||||
(6) 'H_FLAG',
|
||||
(12) 'HKEARNING',
|
||||
(8) 'CURRENCY',
|
||||
(10) 'PLANETYPE'.
|
||||
|
||||
SELECT * FROM ZASG_YOURNAME INTO ZASGWA.
|
||||
WRITE: / ZASGWA-MANDT UNDER 'MANDT',
|
||||
ZASGWA-CARRID UNDER 'CARRID',
|
||||
ZASGWA-CARRNAME UNDER 'CARRNAME',
|
||||
ZASGWA-CONNID UNDER 'CONNID',
|
||||
ZASGWA-FLTIME UNDER 'FLTIME',
|
||||
ZASGWA-FLDATE UNDER 'FLDATE',
|
||||
ZASGWA-CUSTOMID UNDER 'CUSTOMID',
|
||||
ZASGWA-LUGGWEIGHT UNDER 'LUGGWEIGHT',
|
||||
ZASGWA-WUNIT UNDER 'WUNIT',
|
||||
ZASGWA-PASSNAME UNDER 'PASSNAME',
|
||||
ZASGWA-H_FLAG UNDER 'H_FLAG',
|
||||
ZASGWA-HKEARNING UNDER 'HKEARNING' LEFT-JUSTIFIED,
|
||||
ZASGWA-CURRENCY UNDER 'CURRENCY',
|
||||
ZASGWA-PLANETYPE UNDER 'PLANETYPE'.
|
||||
ENDSELECT.
|
||||
ENDIF.
|
||||
|
83
_resources/it114105/itp4512/Assignment/Z_YOURNAME_DP.abap
Normal file
83
_resources/it114105/itp4512/Assignment/Z_YOURNAME_DP.abap
Normal file
@@ -0,0 +1,83 @@
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Report ZASG_YOURNAME_DP *
|
||||
*& *
|
||||
*&---------------------------------------------------------------------*
|
||||
*& *
|
||||
*& *
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
REPORT ZASG_YOURNAME_DP MESSAGE-ID Z_MESSAGE_YOURNAME
|
||||
.
|
||||
TABLES ZASG_YOURNAME.
|
||||
SELECTION-SCREEN BEGIN OF BLOCK OPTIONS WITH FRAME TITLE OP1.
|
||||
|
||||
PARAMETERS R1 RADIOBUTTON GROUP FLAG.
|
||||
PARAMETERS R2 RADIOBUTTON GROUP FLAG DEFAULT 'X'.
|
||||
PARAMETERS S_CURREY TYPE ZASG_YOURNAME-CURRENCY DEFAULT 'USD'.
|
||||
SELECT-OPTIONS S_HKEARN FOR ZASG_YOURNAME-HKEARNING DEFAULT '1.00' TO
|
||||
'9999.90'.
|
||||
SELECT-OPTIONS S_CARRID FOR ZASG_YOURNAME-CARRID DEFAULT 'AA' TO 'UA'
|
||||
.
|
||||
SELECT-OPTIONS S_PLTYPE FOR ZASG_YOURNAME-PLANETYPE DEFAULT '747-400'
|
||||
.
|
||||
|
||||
SELECTION-SCREEN END OF BLOCK OPTIONS.
|
||||
|
||||
TYPES: BEGIN OF RESULT,
|
||||
PLANETYPE TYPE ZASG_YOURNAME-PLANETYPE,
|
||||
FLTIME TYPE ZASG_YOURNAME-FLTIME,
|
||||
CARRNAME TYPE ZASG_YOURNAME-CARRNAME,
|
||||
CONNID TYPE ZASG_YOURNAME-CONNID,
|
||||
CUSTOMID TYPE ZASG_YOURNAME-CUSTOMID,
|
||||
HKEARNING TYPE ZASG_YOURNAME-HKEARNING,
|
||||
END OF RESULT.
|
||||
|
||||
|
||||
DATA CHKFLAG TYPE ZASG_YOURNAME-H_FLAG.
|
||||
DATA ITAB TYPE TABLE OF RESULT.
|
||||
DATA WA TYPE RESULT.
|
||||
|
||||
if r1 = 'X'.
|
||||
CHKFLAG = 'X'.
|
||||
WRITE: / 'Report on ZASG_YOURNAME FOR H_Flag set'.
|
||||
ELSE.
|
||||
CHKFLAG = ''.
|
||||
WRITE: / 'Report on ZASG_YOURNAME FOR H_Flag not set'.
|
||||
|
||||
ENDIF.
|
||||
|
||||
|
||||
SELECT
|
||||
PLANETYPE FLTIME CARRNAME CONNID CUSTOMID HKEARNING
|
||||
INTO TABLE ITAB
|
||||
FROM ZASG_YOURNAME
|
||||
WHERE ZASG_YOURNAME~H_FLAG = CHKFLAG
|
||||
AND ZASG_YOURNAME~CURRENCY = S_CURREY
|
||||
AND ZASG_YOURNAME~HKEARNING IN S_HKEARN
|
||||
AND ZASG_YOURNAME~CARRID IN S_CARRID
|
||||
AND ZASG_YOURNAME~PLANETYPE IN S_PLTYPE.
|
||||
|
||||
IF SY-SUBRC = 4.
|
||||
MESSAGE i001 WITH 'ZASG_YOURNAME'.
|
||||
ELSEIF SY-SUBRC <> 0.
|
||||
MESSAGE i000.
|
||||
ELSE.
|
||||
SORT ITAB BY CONNID ASCENDING CUSTOMID ASCENDING HKEARNING DESCENDING
|
||||
FLTIME ASCENDING .
|
||||
|
||||
LOOP AT ITAB INTO WA.
|
||||
ULINE.
|
||||
WRITE: / 'Plane Type:', 14(10) WA-PLANETYPE.
|
||||
WRITE: / 'Flight Time:', 16(10) WA-FLTIME.
|
||||
WRITE: / 'Airline:', 10(20) WA-CARRNAME.
|
||||
WRITE: / 'Flight No.:', 13(8) WA-CONNID.
|
||||
WRITE: / 'Customer Number:', 16(8) WA-CUSTOMID NO-ZERO.
|
||||
WRITE: / 'Earning in HK$:', 22(15) WA-HKEARNING.
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
|
||||
ULINE.
|
||||
WRITE 'End of Report'.
|
||||
|
||||
INITIALIZATION.
|
||||
OP1 = 'Select Option'.
|
27
_resources/it114105/itp4512/Assignment/Z_YOURNAME_FN1.abap
Normal file
27
_resources/it114105/itp4512/Assignment/Z_YOURNAME_FN1.abap
Normal file
@@ -0,0 +1,27 @@
|
||||
FUNCTION Z_YOURNAME_FN1.
|
||||
*"----------------------------------------------------------------------
|
||||
*"*"Local interface:
|
||||
*" IMPORTING
|
||||
*" REFERENCE(CURRENCY) TYPE S_CURRCODE
|
||||
*" REFERENCE(EARNING) TYPE AWKGR
|
||||
*" EXPORTING
|
||||
*" REFERENCE(RESULT) TYPE AWKGR
|
||||
*" EXCEPTIONS
|
||||
*" NO_CURRENCY
|
||||
*"----------------------------------------------------------------------
|
||||
|
||||
IF CURRENCY EQ 'USD'.
|
||||
RESULT = '+7.8' * EARNING.
|
||||
ELSEIF CURRENCY EQ 'EUR'.
|
||||
RESULT = '+8.4' * EARNING.
|
||||
ELSEIF CURRENCY EQ 'AUD'.
|
||||
RESULT = '+5.2' * EARNING.
|
||||
ELSEIF CURRENCY EQ 'SGD'.
|
||||
RESULT = '+5.6' * EARNING.
|
||||
ELSEIF CURRENCY EQ 'JPY'.
|
||||
RESULT = '+0.07' * EARNING.
|
||||
ELSE.
|
||||
RAISE NO_CURRENCY.
|
||||
ENDIF.
|
||||
|
||||
ENDFUNCTION.
|
17
_resources/it114105/itp4512/Assignment/Z_YOURNAME_FN2.abap
Normal file
17
_resources/it114105/itp4512/Assignment/Z_YOURNAME_FN2.abap
Normal file
@@ -0,0 +1,17 @@
|
||||
FUNCTION Z_YOURNAME_FN2.
|
||||
*"----------------------------------------------------------------------
|
||||
*"*"Local interface:
|
||||
*" IMPORTING
|
||||
*" REFERENCE(WTUNIT) TYPE UNIT
|
||||
*" REFERENCE(LWEIGHT) TYPE S_LUGWEIGH
|
||||
*" EXPORTING
|
||||
*" REFERENCE(LGWEIGHT) TYPE S_LUGWEIGH
|
||||
*"----------------------------------------------------------------------
|
||||
|
||||
IF WIUNIT CS 'KG'.
|
||||
LGWEIGHT = LWEIGHT.
|
||||
ELSE.
|
||||
LGWEIGHT = LWEIGHT / '2.2'.
|
||||
ENDIF.
|
||||
|
||||
ENDFUNCTION.
|
Reference in New Issue
Block a user