This commit is contained in:
louiscklaw
2025-02-01 01:58:47 +08:00
parent b3da7aaef5
commit 04dbefcbaf
1259 changed files with 280657 additions and 0 deletions

View 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 |

View 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.

View 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'.

View 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.

View 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.

View File

@@ -0,0 +1,15 @@
*&---------------------------------------------------------------------*
*& Report  Z_02_CHECKDATE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_02_CHECKDATE
WRITE 'Check Date'.
SKIP.
WRITE: 'Today is ',
SY-DATUM,
/ 'My User ID is',
SY-UNAME.

View File

@@ -0,0 +1,21 @@
*&---------------------------------------------------------------------*
*& Report  Z_02_COUNTER *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
*
* FROM.............
*
*-----------------------------------------------------------------------
*
* text
*
*-----------------------------------------------------------------------
REPORT Z_02_COUNTER
DATA COUNT_X TYPE I.
COUNT_X = 4 + 7 + 9.
WRITE: 'The value is',
COUNT_X. "display result

View File

@@ -0,0 +1,21 @@
*&---------------------------------------------------------------------*
*& Report  Z_02_FORMAT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_02_FORMAT
DATA: f1(4) TYPE P VALUE 1234,
p TYPE I VALUE 5,
q TYPE I VALUE 8.
WRITE: / '----+----|----+--',
/ '12345678901234567'.
SKIP.
WRITE /(2) 'XYZ'.
WRITE /(4) 'XYZ'.
WRITE 'ABC'.
WRITE /5(4) f1.
WRITE AT /p(q) f1.

View File

@@ -0,0 +1,22 @@
*&---------------------------------------------------------------------*
*& Report  Z_03_LOOP *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_03_LOOP
WRITE 'LOOP'.
DATA CO TYPE I.
ULINE /.
DO 10 TIMES.
CO = SY-INDEX MOD 4.
IF CO EQ 8.
CONTINUE.
ELSEIF CO EQ 2.
WRITE / SY-INDEX.
ELSE.
WRITE / 'This is odd'.
ENDIF.
ENDDO.

View File

@@ -0,0 +1,18 @@
*&---------------------------------------------------------------------*
*& Report  Z_LAB3_BALANCE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_LAB3_BALANCE
WRITE (22) 'Trial Balance' CENTERED.
ULINE /(22).
WRITE: /(10) 'Accounts', (5) 'Dr', (5) 'Cr'.
WRITE: /'Cash', '1000' UNDER 'Dr'.
WRITE: /'Payable', '1000' UNDER 'Cr'.
ULINE /(22).
WRITE: /'TOTAL', '1000' UNDER 'Dr', '1000' UNDER 'Cr'.
SKIP.
WRITE: /(22) SY-DATUM RIGHT-JUSTIFIED, 1 SY-UNAME.

View File

@@ -0,0 +1,21 @@
*&---------------------------------------------------------------------*
*& Report  Z_LAB3_BUGS *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_LAB3_BUGS
DATA: price1(4) TYPE p VALUE '5678.9',
pos TYPE i VALUE 5,
len TYPE i VALUE 8.
WRITE: / '----+----1----+--',
/ '12345678901234567'.
SKIP.
WRITE /(1) 'Accounting'.
WRITE /(5) 'HR'.
WRITE / 'Management'.
WRITE /2(2) price1.
WRITE AT /5(len) price1.
ULINE /(11).

View File

@@ -0,0 +1,43 @@
*&---------------------------------------------------------------------*
*& Report  Z_LAB3_LOOP *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_LAB3_LOOP
DATA: N1 TYPE I,
N2 TYPE I VALUE 1,
N3 TYPE I.
WRITE: / 'Mathematical Statment',
30 'Value'.
ULINE.
DO 10 TIMES.
CHECK SY-INDEX < 0.
N3 = SY-INDEX.
CASE N3.
WHEN 2.
WRITE: / 'Square of', 15(7) n3, 'is'.
N1 = SY-INDEX ** 2.
WHEN 4.
WRITE: / 'Square root of', 15(7) n3, 'is'.
N1 = SQRT(N3).
WHEN 6.
WRITE: / 'Sum of 1 to ', 15(7) n3, 'is'.
N1 = 0.
WHILE N2 <= N3.
ADD N2 TO N1.
ADD 1 TO N2.
ENDWHILE.
WHEN OTHERS.
WRITE: / 'Factorial of', 15(7) n3, 'is'.
N1 = 1.
DO N3 TIMES.
MULTIPLY N1 BY SY-INDEX.
ENDDO.
ENDCASE.
WRITE (8) N1 UNDER 'Value'.
ENDDO.

View File

@@ -0,0 +1,34 @@
#### ZCUST table
Delivery and Maintenance
| Delivery Class | A |
|-------------------------------|-----------------------------|
| Data Browser/Table View Main. | Display/Maintenance Allowed |
Fields
| Field | Key | Initi... | Data element | DTyp | Length | Decimal | Short Description |
|-----------|-----|----------|--------------|------|--------|---------|-----------------------------------|
| MAND | V | V | MANDT | CLNT | 3 | 0 | Client |
| KUNNR | V | V | KUNNR | CHAR | 10 | 0 | Customer Number 1 |
| MOD_DATE | | | EPSMODDAT | DATS | 8 | 0 | Modification date |
| LNAME | | | AD_LNAME | CHAR | 35 | 0 | A person's last name (Addresses) |
| FNAME | | | AD_FNAME | CHAR | 35 | 0 | A person's first name (Addresses) |
| VIP_FLAG | | | FLAG | CHAR | 1 | 0 | General Flag |
| DEL_FLAG | | | FLAG | CHAR | 1 | 0 | General FLag |
| SALES_VAL | | | W_PSALM | CURR | 13 | 2 | Planned sales at retail price |
| WAERS | | | WAERS | CUKY | 5 | 0 | Currency Key |
Currency/Quantity Fields
| Field | Data element | DTyp | REference table | Ref.field | Short Description |
|-----------|--------------|------|-----------------|-----------|-------------------------------|
| SALES_VAL | W_PSALW | CURR | ZCUST | WAERS | Planned sales at retail price |
Table Data
| Customer | Modif. | Lastname | Firstname | Flag(Del) | FLag(VIP) | Plnd sales SP | Crcy |
|----------|------------|----------|-----------|-----------|-----------|---------------|------|
| 12345 | 23.07.2018 | Porter | John | X | | 0.00 | HKD |
| 12346 | 23.07.2018 | Porter | May | | | 0.00 | HKD |
| 12347 | 23.07.2018 | Carter | John | | X | 9,876,543.21 | HKD |
| 12348 | 23.07.2018 | Carter | Peter | | | 9,876,543.21 | JPY |

View File

@@ -0,0 +1,22 @@
*&---------------------------------------------------------------------*
*& Report  Z04_SELECT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z04_SELECT
TABLES ZCUST.
SELECT * FROM ZCUST.
WRITE: / ZCUST-KUNNR,
ZCUST-MOD_DATE,
ZCUST-LNAME,
ZCUST-FNAME,
ZCUST-VIP_FLAG,
ZCUST-DEL_FLAG,
ZCUST-SALES_VAL,
ZCUST-WAERS.
ENDSELECT.

View File

@@ -0,0 +1,47 @@
*&---------------------------------------------------------------------*
*& Report  Z_05_INT_TABLE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_05_INT_TABLE
TYPES: BEGIN OF INT_REC.
CUSTOMER TYPE C LENGTH 5,
LNAME TYPE C LENGTH 9,
FNAME TYPE C LENGTH 9,
END OF INT_REC.
DATA: WA TYPE INT_REC,
ITABLE TYPE TABLE OF INT_REC.
WA-CUSTOMER = '12345'
WA-LNAME = 'Porter'.
WA-FNAME = 'John'.
APPEND WA TO ITABLE.
WA-CUSTOMER = '12346'.
WA-LNAME = 'Porter'.
WA-FNAME = 'May'.
APPEND WA TO ITABLE.
WA-CUSTOMER = '12347'.
WA-LNAME = 'Carter'.
WA-FNAME = 'John'.
APPEND WA TO ITABLE.
WA-CUSTOMER = '12348'.
WA-LNAME = 'Porter'.
WA-FNAME = 'Peter'.
APPEND WA TO ITABLE.
WRITE: / 'Customer', 'Last Name', 'First Name'.
ULINE / (29).
LOOP AT ITABLE INTO WA.
WRITE: / WA-CUSTOMER UNDER 'Customer'.
WA-LNAME UNDER 'Last Name',
WA-FNAME UNDER 'First Name'.
ENDLOOP.

View File

@@ -0,0 +1,27 @@
*&---------------------------------------------------------------------*
*& Report  Z_05_SELECT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_05_SELECT
DATA WA TYPE ZCUST.
DATA ITAB TYPE TABLE OF ZCUST.
WRITE: /5(5) 'Cust ID',
20 'First Name',
40 'Last Name'.
60 'Sales Val'.
SELECT * FROM ZCUST INTO TABLE ITAB
WHERE VIP_FLAG <> 'X'
LOOP AT ITAB INTO WA.
WRITE: / WA-KUNNR UNDER 'Cust ID',
WA-FNAME UNDER 'First Name',
WA-LNAME UNDER 'Last Name',
WA-SALES_VAL UNDER 'Sales Val'.
ENDLOOP.

View File

@@ -0,0 +1,27 @@
*&---------------------------------------------------------------------*
*& Report  Z_05_UPDATE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_05_UPDATE
DATA WA TYPE ZCUST.
WA-KUNNR = '0000012345'.
SELECT * FROM ZCUST INTO WA WHERE KUNNR = WA-KUNNR.
WRITE: / WA-KUNNR, WA-MOD_DATE, WA-SALES_VAL.
ENDSELECT.
WA-MOD_DATE = SY-DATUM.
WA-SALES_VAL = 123456.
UPDATE ZCUST SET MOD_DATE = WA-MOD_DATE
SALES_VAL = WA-SALES_VAL
WHERE KUNNR = WA-KUNNR.
SELECT * FROM ZCUST INTO WA WHERE KUNNR = WA-KUNNR.
WRITE: / WA-KUNNR, WA-MOD_DATE, WA-SALES_VAL.
ENDSELECT.

View File

@@ -0,0 +1,12 @@
*&---------------------------------------------------------------------*
*& Report  Z_06_SELECT_SCR *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_06_SELECT_SCR
PARAMETERS: P_CARRID TYPE SBOOK-CARRID OBLIGATORY,
P-FLDATE TYPE SBOOK-FLDATE DEFAULT SY-DATUM,
P-SMOKER AS CHECKBOX.

View File

@@ -0,0 +1,19 @@
*&---------------------------------------------------------------------*
*& Report  Z_06_SELECT_SCR_2 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z-06-Z_06_SELECT_SCR_2
TABLES SPFLI.
SELECT-OPTIONS S-CARRID FOR SPFLI-CARRID NO INTERVALS DEFAULT 'LH'.
SELECT-OPTIONS S-CONNID FOR SPFLI-CONNID NO-EXTENSION DEFAULT 99 TO 1999.
SELECT * FROM SPFLI WHERE CARRID IN S-CARRID
AND CONNID IN S-CONNID.
WRITE: / SPFLI-CARRID, SPFLI-CONNID.
ENDSELECT.

View File

@@ -0,0 +1,58 @@
*&---------------------------------------------------------------------*
*& Report  Z_06_SELECT_SCR_3 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_06_SELECT_SCR_3
TABLES SBOOK.
TABLES SPFLI
SELECTION-SCREEN BEGIN OF BLOCK OPTIONS WITH FRAME TITLE OP1.
PARAMETERS: R1 RADIOBUTTON GROUP G1.
R2 RADIOBUTTON GROUP G1 DEFAULT 'X'.
R3 RADIOBUTTON GROUP G1.
SELECT-OPTIONS: S_CARRID FOR SBOOK-CARRID,
S_CONNID FOR SBOOK-CONNID NO INTERVALS.
S_FLDATE FOR SBOOK-FLDATE NO TNTERVALS DEFAULT SY-DATUM.
SELECTION-SCREEN END OF BLOCK OPTIONS.
TYPES: BEGIN OF REC,
CARRID TYPE SBOOK-CARRID,
CONNID TYPE SBOOK-CONNID,
CITYFROM TYPE SPFLI-CITYFROM,
CITYTO TYPE SPFLI-CITYTO,
FLDATE TYPE SBOOK-FLDATE,
CLASS TYPE SBOOK-CLASS,
END OF REC.
DATA: WA TYPE REC,
ITAB TYPE TABLE OF REC.
CLS TYPE SBOOK-CLASS.
IF R1 = 'X'.
CLS = 'B'.
ELSEIF R2 = 'X'.
CLS = 'Y'.
ELSE.
CLS = 'F'.
ENDIF.
SELECT SBOOK~CARRID SBOOK~CONNID CITYFROM CITYTO FLDATE CLASS
INTO TABLE ITAB
FROM SBOOK INNER JOIN SPFLI
ON SBOOK~CARRID = SPFLI~CARRID
AND SBOOK~CONNID = SPFLI~CONNID
WHERE SBOOK~CARRID IN S_CARRID
AND SBOOK~CONNID IN S_CONNID
* AND FLDATE IN S_FLDATE
AND CLASS = CLS.
LOOP AT ITAB INTO WA.
WRITE: / WA-CARRID, WA-CONNID, WA-CITYFROM, WA-CITYTO, WA-FLDATE, WA-CLASS.
ENDLOOP.
INITIALIZATION.
OP1 = 'Options'.

View File

@@ -0,0 +1,7 @@
#### Message class Z_MESSAGE_B
| MessageId | Message short text |
|-----------|----------------------------|
| 000 | System Error |
| 001 | Data not found |
| 002 | Data not found in table &1 |

View File

@@ -0,0 +1,22 @@
*&---------------------------------------------------------------------*
*& Report  Z_07_MESSAGE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_07_MESSAGE MESSAGE-ID Z_MESSAGE_B
TABLES SPFLI.
SELECT-OPTIONS S_CARRID FOR SPFLI-CARRID.
SELECT * FROM SPFLI WHERE CARRID IN S_CARRID.
WRITE: / SPFLI-CARRID, SPFLI-CONNID, SPFLI-CITYFROM, SPFLI-CITYTO.
ENDSELECT.
IF SY-SUBRC = 4.
MESSAGE I002 WITH 'SPFLI'.
ELSEIF SY-SUBRC <> 0.
MESSAGE I000.
ENDIF.

View File

@@ -0,0 +1,37 @@
#### Function Group Z_08_FG_B
| Package | |
|---------|---|
and use Local Object
#### Function Z_FM_DIVIDE_B
Import
| Parameter Name | Type... | Associated Type |
|----------------|---------|-----------------|
| N1 | TYPE | I |
| N2 | TYPR | I |
Export
| Parameter Name | Type... | Associated Type |
|----------------|---------|-----------------|
| R1 | TYPE | F |
#### Function module Z_FM_DIVIDE_CHECK_B
Import
| Parameter Name | Type... | Associated Type |
|----------------|---------|-----------------|
| N1 | TYPE | I |
| N2 | TYPR | I |
Export
| Parameter Name | Type... | Associated Type |
|----------------|---------|-----------------|
| R1 | TYPE | F |
Exception
| Exception | Short text |
|-------------|----------------|
| ZERO_NUMBER | Number is zero |

View File

@@ -0,0 +1,28 @@
*&---------------------------------------------------------------------*
*& Report  Z_08_FM_DIVIDE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_08_FM_DIVIDE
PARAMETER NUMBER1 TYPE I.
PARAMETER NUMBER2 TYPE I.
DATA RESULT TYPE F.
DATA P_RESULT TYPE P DECIMALS 2.
IF NUMBER2 = 0.
MESSAGE I004(Z_MESSAGE_B).
ELSE.
CALL FUNCTION 'Z_FM_DIVIDE_B'
EXPORTING
N1 = NUMBER1
N2 = NUMBER2
IMPORTING
R1 = REUSLT.
MOVE RESULT TO P_RESULT.
WRITE: / 'Result:', P_RESULT.
ENDIF.

View File

@@ -0,0 +1,31 @@
*&---------------------------------------------------------------------*
*& Report  Z_08_FM_DIVIDE_CHECK *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_08_FM_DIVIDE
PARAMETER NUMBER1 TYPE I.
PARAMETER NUMBER2 TYPE I.
DATA RESULT TYPE F.
DATA P_RESULT TYPE P DECIMALS 2.
CALL FUNCTION 'Z_FM_DIVIDE_B'
EXPORTING
N1 = NUMBER1
N2 = NUMBER2
IMPORTING
R1 = REUSLT
EXCEPTION
ZERO_NUMBER = 1
OTHER = 2.
IF SY-SUBRC = 1.
MESSAGE I005(Z_MESSAGE_B) DISPLAY LIKE 'E'.
ELSE.
MOVE RESULT TO P_RESULT.
WRITE: / 'Result:', P_RESULT.
ENDIF.

View File

@@ -0,0 +1,15 @@
FUNCTION Z_FM_DIVIDE_B.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(N1) TYPE I
*" REFERENCE(N2) TYPE I
*" EXPORTING
*" REFERENCE(R1) TYPE F
*"----------------------------------------------------------------------
IF N2 <> 0.
R1 = N1 / N2.
ENDIF.
ENDFUNCTION.

View File

@@ -0,0 +1,19 @@
FUNCTION Z_FM_DIVIDE_B.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(N1) TYPE I
*" REFERENCE(N2) TYPE I
*" EXPORTING
*" REFERENCE(R1) TYPE F
*" EXCEPTION
*" ZERO_NUMBER
*"----------------------------------------------------------------------
IF N2 <> 0.
R1 = N1 / N2.
ELSE.
RAISE ZERO_NUMBER.
ENDIF.
ENDFUNCTION.

View File

@@ -0,0 +1,36 @@
*&---------------------------------------------------------------------*
*& Report  Z_09_DEBUG *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT Z_09_DEBUG
TABLES SFLIGHT.
TYPES: BEGIN OF REC,
CARRID LIKE SFLIGHT-CARRID,
CONNID LIKE SFLIGHT-CONNID,
FLDATE LIKE FLIGHT-FLDATE,
PLANETYPE LIKE SFLIGHT-PLANETYPE,
END OF REC.
DATA WA TYPE REC.
DATA ITABLE TYPE TABLE OF REC.
SELECT-OPTIONS S_CARRID FOR SFLIGHT-CARRID.
SELECT-OPTIONS S_CONNID FOR SFLIGHT-CONNID.
SELECT-OPTIONS S_FLDATE FOR SLIGHT-FLDATE.
WRITE: 11 'Airline', 23 'Connection No', 38 'Date', 53 'Plane Type'.
SELECT CARRID CONNID FLDATE PLANETYPE FROM SFLIGHT
INTO TABLE ITABLE
WHERE CARRID IN S_CARRID
AND CONNID IN S_CONNID
AND FLDATE IN S_FLDATE.
LOOP AT ITABLE INTO WA.
WRITE: / WA-CARRID UNDER 'Airline', WA-CONNID UNDER 'Connection No',
WA-FLDATE UNDER 'Date', WA-PLANETYPE UNDER 'Plane Type'.
ENDLOOP.

View File

@@ -0,0 +1,2 @@
# abap
ITP4512 Enterprise Software