Upload
tanu-kore-pujari
View
223
Download
0
Embed Size (px)
DESCRIPTION
Solved abap programs
Citation preview
*&---------------------------------------------------------------------**& Report Z30CASEENDCASE*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30CASEENDCASE.
*ABAP is not case sensitive but data in db is stored with case sensitive*'' or case sensitive
DATA : X TYPE I VALUE 5, Y TYPE I VALUE 95, RESULT TYPE p DECIMALS 2.
PARAMETERS : num1 TYPE i, "create selection screen input variable; num2 TYPE i, OPR .
CASE OPR. WHEN '+'.RESULT = num1 + num2.
WRITE : 'THE SUM OF TWO NO IS :' , RESULT.
WHEN '-'.RESULT = num1 - num2.
WRITE : 'THE SUBTRA OF TWO NO IS :' , RESULT.
WHEN '*'. RESULT = num1 * num2.
WRITE : 'THE multi OF TWO NO IS :' , RESULT.
WHEN '/'.
IF NUM2 NE 0.RESULT = num1 / num2.WRITE : 'THE div OF TWO NO IS :' , RESULT.ELSE. EXIT. WRITE : 'THE dR CANNOT BE ZERO'.
ENDIF.
ENDCASE.
****RESULT = X + Y.*RESULT = num1 + num2.**WRITE : 'THE SUM OF TWO NO IS :' , RESULT.
…………………………………………..///////////////////////////////////////////////////////
*&---------------------------------------------------------------------**& Report Z30COLLECT*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30COLLECT.
TYPES : BEGIN OF ty_Emp, eno(3) TYPE N, esal TYPE p DECIMALS 2, ename TYPE char10, END OF ty_emp.
DATA : wa_emp TYPE ty_Emp, it_emp TYPE STANDARD TABLE OF ty_Emp.
wa_Emp-eno = '123'.wa_Emp-ENAME = 'SACHIN'.wa_Emp-ESAL = 501.COLLECT WA_EMP INTO IT_eMP.*2wa_Emp-eno = '123'.wa_Emp-ENAME = 'VIRENDER'.wa_Emp-ESAL = 601.COLLECT WA_EMP INTO IT_eMP.
*3wa_Emp-eno = '321'.wa_Emp-ENAME = 'SACHIN'.wa_Emp-ESAL = 503.COLLECT WA_EMP INTO IT_eMP.
*4
wa_Emp-eno = '123'.wa_Emp-ENAME = 'KAPIL'.wa_Emp-ESAL = 61.COLLECT WA_EMP INTO IT_eMP.
*5wa_Emp-eno = '123'.wa_Emp-ENAME = 'DRAVID'.wa_Emp-ESAL = 501.COLLECT WA_EMP INTO IT_eMP.
LOOP AT IT_EMP INTO WA_eMP.WRITE : / WA_EMP-ENO, WA_eMP-ENAME, WA_eMP-ESAL.ENDLOOP.
////////////////////////////////////////////////////
*&---------------------------------------------------------------------**& Report Z30COLLECT*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30COLLECT_APPEND.
TYPES : BEGIN OF ty_Emp, eno(3) TYPE N, esal TYPE p DECIMALS 2, ename TYPE char10, END OF ty_emp.
DATA : wa_emp TYPE ty_Emp, it_emp TYPE STANDARD TABLE OF ty_Emp.
wa_Emp-eno = '123'.wa_Emp-ENAME = 'SACHIN'.wa_Emp-ESAL = 501.APPEND WA_EMP TO IT_eMP.*2wa_Emp-eno = '123'.wa_Emp-ENAME = 'VIRENDER'.wa_Emp-ESAL = 601.APPEND WA_EMP TO IT_eMP.
*3wa_Emp-eno = '123'.wa_Emp-ENAME = 'SACHIN'.
wa_Emp-ESAL = 503.APPEND WA_EMP TO IT_eMP.
*4
wa_Emp-eno = '123'.wa_Emp-ENAME = 'KAPIL'.wa_Emp-ESAL = 61.APPEND WA_EMP TO IT_eMP.
*5wa_Emp-eno = '123'.wa_Emp-ENAME = 'DRAVID'.wa_Emp-ESAL = 501.APPEND WA_EMP TO IT_eMP.
LOOP AT IT_EMP INTO WA_eMP.WRITE : / WA_EMP-ENO, WA_eMP-ENAME, WA_eMP-ESAL.ENDLOOP.
///////////////////////////////////////////////////////
*&---------------------------------------------------------------------**& Report Z30DATADECLARATIOS*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30DATADECLARATIOS.
TYPES name TYPE char10. " template
*types : just template or no memory is associated with it*DATA : data object : memory is associated with it
DATA naam TYPE name.
naam = 'tcs'.
WRITE naam.
DATA firstname TYPE name.
DATA SECNAME LIKE firstname.
SECNAME = 'WHITEFIELD'.
WRITE SECNAME.
///////////////////////////////////////////////////
*&---------------------------------------------------------------------**& Report Z30DOENDDO*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30DOENDDO.
*DO 10 TIMES.
IF sy-index lt 5. "ltWRITE : /10 SYST-tabix, sy-index, 'welcome to TCS'.ENDIF.
ENDDO.
*DATA SQUARE TYPE I.**DO 10 TIMES.* square = sy-index ** 2.* WRITE: / sy-index, square.*ENDDO.
///////////////////////////////////////////////////////////
*&---------------------------------------------------------------------**& Report Z30ITAB*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30ITAB.
DATA : it_makt type STANDARD TABLE OF makt, wa_makt TYPE makt.
PARAMETERS : p_matnr TYPE MATNR . "data element
*select into table : itab body must be mentioned*when into clause is mentioned then work area should be given
SELECT * FROM makt into TABLE it_makt WHERE matnr eq p_matnr.
*WRITE it_makt.
LOOP AT it_makt into wa_makt.
WRITE : / sy-TABIX, wa_makt-matnr, wa_makt-spras, wa_makt-maktx.ENDLOOP.
/////////////////////////////////////////
*&---------------------------------------------------------------------**& Report Z30ITAB_SALES*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30ITAB_OPERATIONS.
*type strucutreTYPES : BEGIN OF ty_sales, VBELN TYPE VBELN_VA, POSNR TYPE POSNR_VA, MATNR TYPE MATNR , MATKL TYPE MATKL, ARKTX TYPE ARKTX, END OF ty_Sales.
*work areaDATA : wa_sales TYPE ty_Sales, " work area it_Sales TYPE STANDARD TABLE OF ty_Sales. "itab body
PARAMETERS p_sdoc TYPE vbap-vbeln.
SELECT VBELN POSNR MATNR MATKL ARKTX FROM vbap into TABLE it_sales WHERE vbeln eq p_Sdoc.
*to sort
sort it_Sales by posnr DESCENDING.
DATA TOTAL_LINES TYPE I.
DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BEFORE DEL ARE : ' ,TOTAL_LINES.
WRITE : 'sales' , 10'item', 18 'material', 25 'mgroup', 30 'text'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP.
DELETE it_Sales WHERE matnr = 'M-10'.
ULINE.*DATA TOTAL_LINES TYPE I.* refresh it_Sales. DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BELOW ARE : ' ,TOTAL_LINES.FORMAT COLOR 6. WRITE 'THE BELOW RECPRDS AFTER DELETE'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx.CLEAR wa_Sales. ENDLOOP. FORMAT RESET.
READ TABLE it_Sales INTO wa_salesWITH key matnr = 'M-02'.IF sy-subrc = 0. wa_Sales-arktx = 'SONY COLOR TV CORP'. MODIFY IT_sALES INDEX SY-TABIX FROM WA_sALES TRANSPORTING ARKTX. WRITE 'MODIFY' COLOR 6. WRITE : / wa_Sales-vbeln, wa_Sales-posnr, wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx.
ENDIF.
* wa_Sales-vbeln = 'TCS'.* wa_Sales-posnr = 'DESKTOP'.* wa_Sales-matnr = 'PROJECTOR'.* wa_Sales-matkl = 'SOFT'.* wa_Sales-arktx = 'DESCR'. INSERT WA_sALES INTO IT_sALES INDEX 2.*APPEND WA_SALES TO IT_sALES INDEX 3. DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BELOW ARE : ' ,TOTAL_LINES.FORMAT COLOR 3. WRITE / 'THE BELOW RECPRDS AFTER DELETE'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP. FORMAT RESET.
ULINE.
READ TABLE IT_SALES INTO WA_sALES WITH KEY matnr = 'M-01'.IF sy-subrc = 0.
WRITE 'THE Read record is ' .
WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx.
ULINE.
wa_Sales-vbeln = 'A0007'. wa_Sales-posnr = 'ITEM1'. wa_Sales-matnr = 'MARKER'. wa_Sales-matkl = 'HARDWARE'. wa_Sales-arktx = 'STATIONARY'.
MODIFY IT_sALES INDEX SY-TABIX FROM WA_sALES . "INDEX SY-TABIX.ULINE.ENDIF.FORMAT COLOR 4. WRITE / 'THE BELOW RECPRDS AFTER DELETE'. LOOP AT it_Sales INTO wa_Sales.
wa_Sales-matnr = 'desktop'.MODIFY TABLE it_Sales FROM wa_sales.
WRITE : / wa_Sales-vbeln,
wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP.
WRITE 'welcome to abap'. FORMAT RESET.
*&---------------------------------------------------------------------**& Report Z30ITAB_SALES*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30ITAB_OPERATIONS.
*type strucutreTYPES : BEGIN OF ty_sales, VBELN TYPE VBELN_VA, POSNR TYPE POSNR_VA, MATNR TYPE MATNR , MATKL TYPE MATKL, ARKTX TYPE ARKTX, END OF ty_Sales.
*work areaDATA : wa_sales TYPE ty_Sales, " work area it_Sales TYPE STANDARD TABLE OF ty_Sales. "itab body
PARAMETERS p_sdoc TYPE vbap-vbeln.
SELECT VBELN POSNR MATNR MATKL ARKTX FROM vbap into TABLE it_sales WHERE vbeln eq p_Sdoc.
*to sort
sort it_Sales by posnr DESCENDING.
DATA TOTAL_LINES TYPE I. DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BEFORE DEL ARE : ' ,TOTAL_LINES.
WRITE : 'sales' , 10'item',
18 'material', 25 'mgroup', 30 'text'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP.
DELETE it_Sales WHERE matnr = 'M-10'.
ULINE.*DATA TOTAL_LINES TYPE I.* refresh it_Sales. DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BELOW ARE : ' ,TOTAL_LINES.FORMAT COLOR 6. WRITE 'THE BELOW RECPRDS AFTER DELETE'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx.CLEAR wa_Sales. ENDLOOP. FORMAT RESET.
READ TABLE it_Sales INTO wa_salesWITH key matnr = 'M-02'.IF sy-subrc = 0. wa_Sales-arktx = 'SONY COLOR TV CORP'. MODIFY IT_sALES INDEX SY-TABIX FROM WA_sALES TRANSPORTING ARKTX. WRITE 'MODIFY' COLOR 6. WRITE : / wa_Sales-vbeln, wa_Sales-posnr, wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx.
ENDIF.
* wa_Sales-vbeln = 'TCS'.* wa_Sales-posnr = 'DESKTOP'.* wa_Sales-matnr = 'PROJECTOR'.* wa_Sales-matkl = 'SOFT'.* wa_Sales-arktx = 'DESCR'. INSERT WA_sALES INTO IT_sALES INDEX 2.*APPEND WA_SALES TO IT_sALES INDEX 3.
DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BELOW ARE : ' ,TOTAL_LINES.FORMAT COLOR 3. WRITE / 'THE BELOW RECPRDS AFTER DELETE'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP. FORMAT RESET.
ULINE.
READ TABLE IT_SALES INTO WA_sALES WITH KEY matnr = 'M-01'.IF sy-subrc = 0.
WRITE 'THE Read record is ' .
WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx.
ULINE.
wa_Sales-vbeln = 'A0007'. wa_Sales-posnr = 'ITEM1'. wa_Sales-matnr = 'MARKER'. wa_Sales-matkl = 'HARDWARE'. wa_Sales-arktx = 'STATIONARY'.
MODIFY IT_sALES INDEX SY-TABIX FROM WA_sALES . "INDEX SY-TABIX.ULINE.ENDIF.FORMAT COLOR 4. WRITE / 'THE BELOW RECPRDS AFTER DELETE'. LOOP AT it_Sales INTO wa_Sales.
wa_Sales-matnr = 'desktop'.MODIFY TABLE it_Sales FROM wa_sales.
WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP.
WRITE 'welcome to abap'. FORMAT RESET.*&---------------------------------------------------------------------**& Report Z30ITAB_SALES*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30ITAB_SALES.
*type strucutreTYPES : BEGIN OF ty_sales, VBELN TYPE VBELN_VA, POSNR TYPE POSNR_VA, MATNR TYPE MATNR , MATKL TYPE MATKL, ARKTX TYPE ARKTX, END OF ty_Sales.
*work areaDATA : wa_sales TYPE ty_Sales, " work area it_Sales TYPE STANDARD TABLE OF ty_Sales. "itab body
PARAMETERS p_sdoc TYPE vbap-vbeln.
SELECT VBELN POSNR MATNR MATKL ARKTX FROM vbap into TABLE it_sales WHERE vbeln eq p_Sdoc.
DATA TOTAL_LINES TYPE I. DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BEFORE DEL ARE : ' ,TOTAL_LINES.
WRITE : 'sales' , 10'item', 18 'material', 25 'mgroup', 30 'text'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP.
DELETE it_Sales WHERE matnr = 'M-10'.
ULINE.*DATA TOTAL_LINES TYPE I. DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BELOW ARE : ' ,TOTAL_LINES.FORMAT COLOR 6. WRITE 'THE BELOW RECPRDS AFTER DELETE'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP. FORMAT RESET.
wa_Sales-vbeln = 'TCS'. wa_Sales-posnr = 'DESKTOP'. wa_Sales-matnr = 'PROJECTOR'. wa_Sales-matkl = 'SOFT'. wa_Sales-arktx = 'DESCR'. INSERT WA_sALES INTO IT_sALES INDEX 2.*APPEND WA_SALES TO IT_sALES INDEX 3. DESCRIBE TABLE IT_sALES LINES TOTAL_LINES.
WRITE : 'THE NO OF RECORDS BELOW ARE : ' ,TOTAL_LINES.FORMAT COLOR 4. WRITE / 'THE BELOW RECPRDS AFTER DELETE'. LOOP AT it_Sales INTO wa_Sales.WRITE : / wa_Sales-vbeln, wa_Sales-posnr, 25 wa_Sales-matnr, wa_Sales-matkl, wa_Sales-arktx. ENDLOOP.
FORMAT RESET. *&---------------------------------------------------------------------**& Report Z30MATERIAL*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30MATERIAL.
DATA WA_MARA1 TYPE MARA . " 1 RECDATA WA_MARA2 TYPE MARA . " 1 REC
DATA : BEGIN OF str_mara, MAterial TYPE MATNR, ERSDA TYPE ERSDA, createdby TYPE ERNAM,
MTART TYPE MTART, MATKL TYPE MATKL, END OF str_mara.
PARAMETERS P_MATNO TYPE MATNR.**SELECT SINGLE * FROM MARA " * ALL COLUMNS* INTO WA_MARA1* WHERE MATNR EQ P_MATNO.*source and target variables are of not same order*then use into correspoding fields of**SELECT SINGLE* MATNR* ERSDA* ERNAM* MTART* MATKL* FROM MARA* INTO CORRESPONDING FIELDS OF WA_MARA2* WHERE MATNR EQ P_MATNO.
SELECT SINGLE MATNR ERSDA ERNAM MTART MATKL FROM MARA INTO str_mara WHERE MATNR EQ p_matno.
IF SY-SUBRC NE 0. MESSAGE A001(Z30MSG).ENDIF.
WRITE : / str_mara-MATerial, str_mara-ERSDA, str_mara-createdby, str_mara-MTART,
str_mara-MATKL.
*&---------------------------------------------------------------------**& Report Z30PARAMETER*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30PARAMETER.
PARAMETERS name(20) TYPE c DEFAULT 'india' LOWER CASE. "char10 "PRIMITIVE DATA
PARAMETERS NAAM TYPE Z30DEQUALIF . "DATA ELEMENT
PARAMETERS city TYPE char3 OBLIGATORY.WRITE name.ULINE.TRANSLATE name TO UPPER CASE.WRITE / name.
TRANSLATE name TO lower CASE.
WRITE / name. *&---------------------------------------------------------------------**& Report Z30SELECTENDSELECT*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30SELECTENDSELECT.
DATA wa_makt TYPE makt.
PARAMETERS p_matno TYPE matnr.
SELECT * FROM makt into wa_makt WHERE matnr eq p_matno.
WRITE : / sy-index, wa_makt-matnr, wa_makt-spras, wa_makt-maktx.
ENDSELECT.
*&---------------------------------------------------------------------**& Report Z30SELECTENDSELECT*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30SELECTUPTONROWS.
DATA wa_makt TYPE makt.
PARAMETERS p_matno TYPE matnr.
SELECT * FROM makt into wa_makt UP TO 1 ROWS WHERE matnr eq p_matno.
WRITE : / sy-index, wa_makt-matnr, wa_makt-spras, wa_makt-maktx.
ENDSELECT.
*SELECT ** FROM makt* into wa_makt* WHERE matnr eq p_matno.** WRITE : / sy-index, wa_makt-matnr,* wa_makt-spras,* wa_makt-maktx.
* ENDSELECT.
*&---------------------------------------------------------------------**& Report Z30STRUCTURE*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30STRUCTURE.
WRITE : 'Today date is :' , syst-DATUM.
ULINE.WRITE / 'Author of program iss : ' .
WRITE : syst-uname.
*&---------------------------------------------------------------------**& Report Z30STRUCTURE1*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*
REPORT Z30STRUCTURE1.
DATA WA_STUDENT TYPE Z30STUDENT.
*WORK AREA OR STRUCTURE OR FIELD STRINGDATA : BEGIN OF WA_STUD,
ROLLNO TYPE Z30DERNO, NAME TYPE Z30STUDENT-NAME , "TABLE-FIELD NAME END OF WA_sTUD.
WA_STUDENT-RNO = '001'.WA_STUDENT-NAME = 'TCS'.WA_STUDENT-QUALIF = 'YOGA'.WA_STUDENT-COUNTRY = 'INDIA'.
*WA_STUDENT-RNO = '002'.*WA_STUDENT-NAME = 'VIRAT'.*WA_STUDENT-QUALIF = 'CRICKET'.*WA_STUDENT-COUNTRY = 'INDIA'.
WRITE : WA_STUDENT-RNO, WA_STUDENT-NAME, WA_STUDENT-QUALIF, WA_STUDENT-COUNTRY,
WA_STUDENT-TUTION.