Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

about alv report

Former Member
0 Likes
361

i have this below classical report it should be convert into alv format please can any body help me below of this coding include is also there i want this by tommarrow morning

REPORT zeffecta NO STANDARD PAGE HEADING

LINE-COUNT 65

LINE-SIZE 140

MESSAGE-ID YEFFECTA_AV.

type-pools : icon.

INCLUDE ZYEFFECTA_PRD_TITLE.

*INCLUDE: YEFFECTA_PRD_TITLE,

INCLUDE Z<ICON>.

  • <ICON>.

TABLES: YEFFECTA_AVMAS, " Test Case Master

YEFFECTA_AVRMAS, " Test Case results master table

YEFFECTA_AVBTKYS, " Business Object - Table Keys

YEFFECTA_AVRKYS, " Test case result key values

YEFFECTA_AVRDET, " Test case result details

YEFFECTA_AVRSUM, " Test case result summary

YEFFECTA_AVBOMAS,

YEFFECTA_AVBOTAB,

YEFFECTA_AVTCMAS,

DD03L, " Table Fields

DD02T,

DD04T, " R/3 DD: Data element texts

INFO_DTEL.

DATA: BEGIN OF T_AVRMAS OCCURS 0, " Itab for Test case result master

VCID LIKE YEFFECTA_AVRMAS-VCID,

TCNO LIKE YEFFECTA_AVRMAS-TCNO,

ITRN LIKE YEFFECTA_AVRMAS-ITRN,

END OF T_AVRMAS.

DATA: BEGIN OF T_AVRKYS OCCURS 0, " Test case result key values

VCID LIKE YEFFECTA_AVRKYS-VCID,

TCNO LIKE YEFFECTA_AVRKYS-TCNO,

ITRN LIKE YEFFECTA_AVRKYS-ITRN,

DSNO LIKE YEFFECTA_AVRKYS-DSNO,

KEYNO LIKE YEFFECTA_AVRKYS-KEYNO,

KEYVAL LIKE YEFFECTA_AVRKYS-KEYVAL,

END OF T_AVRKYS.

DATA: BEGIN OF T_AVRDET OCCURS 0, " Test case result details

VCID LIKE YEFFECTA_AVRDET-VCID,

TCNO LIKE YEFFECTA_AVRDET-TCNO,

ITRN LIKE YEFFECTA_AVRDET-ITRN,

DSNO LIKE YEFFECTA_AVRDET-DSNO,

  • RECTYPE LIKE YEFFECTA_AVRDET-RECTYPE,

TABSNO LIKE YEFFECTA_AVRDET-TABSNO,

TABNAME LIKE YEFFECTA_AVTCKYS-TABNAME,

POSNR LIKE YEFFECTA_AVRDET-POSNR,

FIELDNAME LIKE YEFFECTA_AVTCKYS-FIELDNAME,

FIELD LIKE YEFFECTA_AVRDET-FIELD,

DDTEXT LIKE DD04T-DDTEXT,

EXPECTED LIKE YEFFECTA_AVRDET-EXPECTED,

ACTUAL LIKE YEFFECTA_AVRDET-ACTUAL,

RES LIKE YEFFECTA_AVRDET-RES,

END OF T_AVRDET,

T_AVRDET1 LIKE T_AVRDET OCCURS 0 WITH HEADER LINE,

*****

BEGIN OF T_AVTCKYS OCCURS 0,

KEYNO LIKE YEFFECTA_AVTCKYS-KEYNO,

TABSNO LIKE YEFFECTA_AVTCKYS-TABSNO,

TABNAME LIKE YEFFECTA_AVTCKYS-TABNAME,

FIELDNAME LIKE YEFFECTA_AVTCKYS-FIELDNAME,

STYPE LIKE YEFFECTA_AVTCKYS-STYPE,

TCODE LIKE YEFFECTA_AVTCKYS-TCODE,

DDTEXT LIKE DD04T-DDTEXT,

END OF T_AVTCKYS,

BEGIN OF T_AVBOTAB OCCURS 0,

TABSNO LIKE YEFFECTA_AVTCKYS-TABSNO,

TABNAME LIKE YEFFECTA_AVTCKYS-TABNAME,

DDTEXT LIKE YEFFECTA_AVBOTAB-DDTEXT,

END OF T_AVBOTAB,

BEGIN OF F4_VCID OCCURS 0,

VCID LIKE YEFFECTA_AVRMAS-VCID,

KTEXT LIKE YEFFECTA_AVMAS-KTEXT,

END OF F4_VCID,

BEGIN OF F4_TCNO OCCURS 0,

TCNO LIKE YEFFECTA_AVRMAS-TCNO,

KTEXT LIKE YEFFECTA_AVTCMAS-KTEXT,

END OF F4_TCNO,

BEGIN OF F4_ITRN OCCURS 0,

VCID LIKE YEFFECTA_AVRMAS-VCID,

TCNO LIKE YEFFECTA_AVRMAS-TCNO,

ITRN LIKE YEFFECTA_AVRDET-ITRN,

END OF F4_ITRN,

F4_RETURN LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.

*****

DATA: W_TITLE_LEN TYPE I,

W_TITLE_POS TYPE I,

W_POS TYPE I,

W_FIELD LIKE YEFFECTA_AVRDET-FIELD,

W_NEWDETAIL,

W_DDTEXT LIKE DD02T-DDTEXT,

W_UCOMM LIKE SY-UCOMM,

W_TABNAME LIKE YEFFECTA_AVTCKYS-TABNAME.

*------- Selection Screen

SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-004.

SELECTION-SCREEN SKIP 1.

PARAMETERS: P_VCID LIKE YEFFECTA_AVRMAS-VCID.

PARAMETERS: P_TCNO LIKE YEFFECTA_AVRMAS-TCNO OBLIGATORY .

PARAMETERS: S_ITRN LIKE YEFFECTA_AVRDET-ITRN .

*SELECT-OPTIONS S_ITRN FOR YEFFECTA_AVRDET-ITRN .

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK 001.

*------- End of selection screen

INITIALIZATION.

PERFORM GET_PRD_TITLE.

CONCATENATE W_PRD_TITLE SY-TITLE INTO SY-TITLE SEPARATED BY SPACE.

AT SELECTION-SCREEN ON HELP-REQUEST FOR S_ITRN.

PERFORM FIELD_HELP USING 'YEFFECTA_AVRMAS-ITRN'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VCID.

PERFORM F4_HELP_FOR_VCID.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_TCNO.

PERFORM F4_HELP_FOR_TCNO.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ITRN.

PERFORM F4_HELP_FOR_ITRN.

*AT SELECTION-SCREEN.

START-OF-SELECTION.

SET PF-STATUS 'TOOLBAR'.

CONCATENATE W_PRD_TITLE SY-TITLE INTO SY-TITLE SEPARATED BY SPACE.

PERFORM GET_DATA.

END-OF-SELECTION.

PERFORM PRINT_REPORT_DETAILS.

----


*Navigation to the transaction code.

----


AT LINE-SELECTION.

DATA:W_LINE LIKE SY-LILLI,

T_KEYVAL LIKE T_AVRKYS-KEYVAL,

T_TEXT LIKE T_AVTCKYS-DDTEXT,

PARAMID LIKE INFO_DTEL-MEMORYID,

WA_LINE LIKE SY-LISEL,

T_TRANCODE LIKE YEFFECTA_AVTCKYS-TCODE.

CLEAR W_LINE.

W_LINE = SY-LILLI.

CLEAR: T_KEYVAL,PARAMID,SY-LILLI.

READ LINE W_LINE FIELD VALUE T_AVRKYS-KEYVAL INTO T_KEYVAL.

READ LINE W_LINE FIELD VALUE T_AVTCKYS-DDTEXT INTO T_TEXT.

READ TABLE T_AVTCKYS WITH KEY DDTEXT = T_TEXT.

IF SY-SUBRC = 0.

T_TRANCODE = T_AVTCKYS-TCODE.

LOOP AT T_AVTCKYS WHERE TCODE = T_TRANCODE.

SELECT SINGLE ROLLNAME FROM DD03L INTO DD03L-ROLLNAME

WHERE TABNAME = T_AVTCKYS-TABNAME

AND FIELDNAME = T_AVTCKYS-FIELDNAME.

SELECT SINGLE MEMORYID FROM INFO_DTEL INTO PARAMID

WHERE ROLLNAME = DD03L-ROLLNAME.

IF SY-SUBRC = 0 AND NOT PARAMID IS INITIAL.

READ TABLE T_AVRKYS WITH KEY KEYNO = T_AVTCKYS-KEYNO.

SET PARAMETER ID PARAMID FIELD T_AVRKYS-KEYVAL.

ENDIF.

ENDLOOP.

ENDIF.

IF NOT T_AVTCKYS-TCODE IS INITIAL.

CALL TRANSACTION T_AVTCKYS-TCODE AND SKIP FIRST SCREEN.

ENDIF.

----


*Custom toolbar with the options to see only failed only passed and

*notnull values.

----


AT USER-COMMAND.

W_UCOMM = SY-UCOMM.

CLEAR SY-UCOMM.

CASE W_UCOMM.

*----


List for passed results.

WHEN 'PASSED'.

sy-lsind = 0.

SET TITLEBAR 'PASS' WITH W_PRD_TITLE W_AV_TITLE.

PERFORM PRINT_PAGE_HEADER.

LOOP AT T_AVRDET.

AT NEW ITRN.

PERFORM PRINT_REPORT_HEADER.

ENDAT.

AT NEW DSNO.

PERFORM PRINT_DOCUMENT_HEADING.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

SORT T_AVRKYS BY KEYNO.

ENDAT.

AT NEW TABNAME.

PERFORM PRINT_RECORD_TYPE.

ENDAT.

IF T_AVRDET-RES = 'S'.

IF NOT T_AVRDET-FIELD IS INITIAL.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

CONDENSE: T_AVRDET-EXPECTED,

T_AVRDET-ACTUAL.

WRITE:/7(10) T_AVRDET-FIELDNAME LEFT-JUSTIFIED,

(30) T_AVRDET-DDTEXT LEFT-JUSTIFIED, "FIELD,

(30) T_AVRDET-ACTUAL LEFT-JUSTIFIED,

(30) T_AVRDET-EXPECTED LEFT-JUSTIFIED.

WRITE: 'Passed ', ICON_GREEN_LIGHT AS ICON.

ENDIF.

ENDIF.

AT END OF DSNO.

NEW-PAGE.

ENDAT.

AT END OF ITRN.

NEW-PAGE.

ENDAT.

ENDLOOP.

*----


List for failed results

WHEN 'FAILED'.

sy-lsind = 0.

SET TITLEBAR 'FAIL' WITH W_PRD_TITLE W_AV_TITLE.

PERFORM PRINT_PAGE_HEADER.

LOOP AT T_AVRDET.

AT NEW ITRN.

PERFORM PRINT_REPORT_HEADER.

ENDAT.

AT NEW DSNO.

PERFORM PRINT_DOCUMENT_HEADING.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

SORT T_AVRKYS BY KEYNO.

ENDAT.

AT NEW TABNAME.

PERFORM PRINT_RECORD_TYPE.

ENDAT.

IF T_AVRDET-RES = 'F'.

IF NOT T_AVRDET-FIELD IS INITIAL.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

CONDENSE: T_AVRDET-EXPECTED,

T_AVRDET-ACTUAL.

WRITE:/7(10) T_AVRDET-FIELDNAME LEFT-JUSTIFIED,

(30) T_AVRDET-DDTEXT LEFT-JUSTIFIED, "FIELD,

(30) T_AVRDET-ACTUAL LEFT-JUSTIFIED,

(30) T_AVRDET-EXPECTED LEFT-JUSTIFIED.

WRITE: 'Failed ', ICON_RED_LIGHT AS ICON.

ENDIF.

ENDIF.

AT END OF DSNO.

NEW-PAGE.

ENDAT.

AT END OF ITRN.

NEW-PAGE.

ENDAT.

ENDLOOP.

*----


List for Warning Fields

WHEN 'WARNING'.

sy-lsind = 0.

SET TITLEBAR 'NNULL' WITH W_PRD_TITLE W_AV_TITLE.

PERFORM PRINT_PAGE_HEADER.

LOOP AT T_AVRDET.

AT NEW ITRN.

PERFORM PRINT_REPORT_HEADER.

ENDAT.

AT NEW DSNO.

PERFORM PRINT_DOCUMENT_HEADING.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

SORT T_AVRKYS BY KEYNO.

ENDAT.

AT NEW TABNAME.

PERFORM PRINT_RECORD_TYPE.

ENDAT.

IF T_AVRDET-RES = 'W'.

IF NOT T_AVRDET-FIELD IS INITIAL.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

CONDENSE: T_AVRDET-EXPECTED,

T_AVRDET-ACTUAL.

WRITE:/7(10) T_AVRDET-FIELDNAME LEFT-JUSTIFIED,

(30) T_AVRDET-DDTEXT LEFT-JUSTIFIED, "FIELD,

(30) T_AVRDET-ACTUAL LEFT-JUSTIFIED,

(30) T_AVRDET-EXPECTED LEFT-JUSTIFIED.

WRITE: 'Warning', ICON_YELLOW_LIGHT AS ICON.

ENDIF.

ENDIF.

AT END OF DSNO.

NEW-PAGE.

ENDAT.

AT END OF ITRN.

NEW-PAGE.

ENDAT.

ENDLOOP.

*ALL Values

WHEN 'ALL'.

sy-lsind = 0.

SET TITLEBAR 'ALL' WITH W_PRD_TITLE W_AV_TITLE.

PERFORM PRINT_PAGE_HEADER.

LOOP AT T_AVRDET.

AT NEW ITRN.

PERFORM PRINT_REPORT_HEADER.

ENDAT.

AT NEW DSNO.

PERFORM PRINT_DOCUMENT_HEADING.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

SORT T_AVRKYS BY KEYNO.

ENDAT.

AT NEW TABNAME.

PERFORM PRINT_RECORD_TYPE.

ENDAT.

IF NOT T_AVRDET-FIELD IS INITIAL.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

CONDENSE: T_AVRDET-EXPECTED,

T_AVRDET-ACTUAL.

WRITE:/7(10) T_AVRDET-FIELDNAME LEFT-JUSTIFIED,

(30) T_AVRDET-DDTEXT LEFT-JUSTIFIED, "FIELD,

(30) T_AVRDET-ACTUAL LEFT-JUSTIFIED,

(30) T_AVRDET-EXPECTED LEFT-JUSTIFIED.

IF T_AVRDET-RES = 'F'.

WRITE: 'Failed ', ICON_RED_LIGHT AS ICON.

ELSEIF T_AVRDET-RES = 'S'.

WRITE: 'Passed ', ICON_GREEN_LIGHT AS ICON.

ELSE.

WRITE: 'Warning', ICON_YELLOW_LIGHT AS ICON.

ENDIF.

ENDIF.

AT END OF DSNO.

NEW-PAGE.

ENDAT.

AT END OF ITRN.

NEW-PAGE.

ENDAT.

ENDLOOP.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

  • LEAVE PROGRAM.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'CANCEL'.

LEAVE TO SCREEN 0.

clear: w_ucomm,sy-ucomm.

ENDCASE.

TOP-OF-PAGE.

PERFORM PRINT_PAGE_HEADER.

END-OF-PAGE.

PERFORM PRINT_PAGE_FOOTER.

&----


*& Form PRINT_PAGE_HEADER

&----


  • Page header at the beginning of each page

----


FORM PRINT_PAGE_HEADER.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

W_TITLE_LEN = STRLEN( SY-TITLE ).

W_TITLE_POS = ( SY-LINSZ / 2 ) - ( W_TITLE_LEN / 2 ) + 1.

W_POS = SY-LINSZ - 15.

WRITE: AT 2 'User :', SY-UNAME,

AT W_TITLE_POS SY-TITLE,

AT W_POS 'Date:', SY-DATUM.

WRITE:/2 'Program:', SY-REPID,

AT W_POS 'Time:', (10) SY-UZEIT.

ULINE.

ENDFORM. " PRINT_PAGE_HEADER

&----


*& Form PRINT_PAGE_FOOTER

&----


  • Page footer at end of each page

----


FORM PRINT_PAGE_FOOTER.

W_POS = ( SY-LINSZ / 2 ) - 4.

WRITE: AT W_POS 'Page:', SY-PAGNO.

ENDFORM. " PRINT_PAGE_FOOTER

&----


*& Form PRINT_REPORT_HEADER

&----


  • Test case iteration Header for each new iteration

----


FORM PRINT_REPORT_HEADER.

DATA: L_RES(4),

L_WLINE(140).

READ TABLE T_AVRMAS WITH KEY ITRN = T_AVRDET-ITRN.

SELECT SINGLE * FROM YEFFECTA_AVRSUM

WHERE VCID = P_VCID AND TCNO = P_TCNO AND

ITRN = T_AVRDET-ITRN.

IF SY-SUBRC = 0.

SELECT COUNT( * ) FROM YEFFECTA_AVRSUM

WHERE VCID = P_VCID AND TCNO = P_TCNO

AND ITRN = T_AVRDET-ITRN AND RES = 'F'.

IF SY-DBCNT = 0.

L_RES = 'Pass'.

ELSE.

L_RES = 'Fail'.

ENDIF.

ELSE.

L_RES = 'Fail'.

ENDIF.

FORMAT COLOR COL_GROUP INTENSIFIED ON.

  • CONCATENATE 'Component Name:' YEFFECTA_AVMAS-VCID

  • INTO L_WLINE.

  • WRITE : /2 L_WLINE.

  • CLEAR L_WLINE.

  • WRITE:50 YEFFECTA_AVMAS-KTEXT.

CONCATENATE 'Component Name: ' YEFFECTA_AVMAS-VCID

' - ' YEFFECTA_AVMAS-KTEXT INTO L_WLINE.

WRITE : /2 L_WLINE, 140 ''.

CLEAR L_WLINE.

  • CONCATENATE 'Business Object:' YEFFECTA_AVMAS-BOBJ INTO L_WLINE.

  • WRITE : /2 L_WLINE, 140 ''.

  • CLEAR L_WLINE.

*

  • SELECT SINGLE TTEXT FROM YEFFECTA_AVBOMAS

  • INTO YEFFECTA_AVBOMAS-TTEXT

  • WHERE BOBJ = YEFFECTA_AVMAS-BOBJ.

  • WRITE:50 YEFFECTA_AVBOMAS-TTEXT.

SELECT SINGLE KTEXT FROM YEFFECTA_AVTCMAS

INTO YEFFECTA_AVTCMAS-KTEXT

WHERE VCID = P_VCID AND

TCNO = T_AVRMAS-TCNO.

CONCATENATE 'Validation Number: ' T_AVRMAS-TCNO ' - '

YEFFECTA_AVTCMAS-KTEXT(80) INTO L_WLINE.

WRITE : /2 L_WLINE, 140 ''.

CLEAR L_WLINE.

  • WRITE:50 YEFFECTA_AVTCMAS-KTEXT.

  • CONCATENATE 'Cycle:' T_AVRMAS-ITRN INTO L_WLINE.

  • WRITE : /2 L_WLINE, 140 ''.

  • CLEAR L_WLINE.

  • CONCATENATE 'Result:' L_RES INTO L_WLINE.

  • WRITE : /2 L_WLINE, 140 ''.

CONCATENATE 'Cycle: ' T_AVRMAS-ITRN

' Result: ' L_RES INTO L_WLINE.

WRITE : 100 L_WLINE(40), 140 ''.

*

MESSAGE S259 WITH T_AVRMAS-TCNO T_AVRMAS-ITRN L_RES.

*

ENDFORM. " PRINT_REPORT_HEADER

&----


*& Form PRINT_REPORT_DETAILS

&----


  • Displays the report details

----


FORM PRINT_REPORT_DETAILS.

SORT T_AVRDET BY VCID TCNO ITRN DSNO TABSNO posnr ASCENDING.

LOOP AT T_AVRDET.

CLEAR YEFFECTA_AVRDET.

MOVE-CORRESPONDING T_AVRDET TO YEFFECTA_AVRDET.

W_TABNAME = T_AVRDET-TABNAME.

AT NEW ITRN.

PERFORM PRINT_REPORT_HEADER.

ENDAT.

AT NEW DSNO.

PERFORM PRINT_DOCUMENT_HEADING.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

SORT T_AVRKYS BY KEYNO.

  • WRITE:/2 'Business Object:',YEFFECTA_AVMAS-BOBJ,

  • WRITE:/2 'Object Keys:' .

  • LOOP AT T_AVRKYS WHERE

  • VCID = YEFFECTA_AVRDET-VCID AND

  • TCNO = YEFFECTA_AVRDET-TCNO AND

  • ITRN = YEFFECTA_AVRDET-ITRN AND

  • DSNO = YEFFECTA_AVRDET-DSNO.

*

  • IF T_AVRKYS-KEYNO = '0'.

  • WRITE:/ 'IDoc Number:', T_AVRKYS-KEYVAL .

  • ELSE.

  • FORMAT COLOR COL_GROUP INTENSIFIED OFF.

  • READ TABLE T_AVTCKYS WITH KEY

  • KEYNO = T_AVRKYS-KEYNO.

  • IF SY-SUBRC EQ 0 AND T_AVTCKYS-STYPE NE 'T'.

  • WRITE :/14 T_AVTCKYS-DDTEXT(30) , ':'.

  • WRITE T_AVRKYS-KEYVAL LEFT-JUSTIFIED.

  • ENDIF.

  • ENDIF.

  • ENDLOOP.

ENDAT.

AT NEW TABSNO.

PERFORM PRINT_RECORD_TYPE.

ENDAT.

IF NOT T_AVRDET-FIELD IS INITIAL.

PERFORM PRINT_RECORD_DETAILS.

ENDIF.

AT END OF DSNO.

NEW-PAGE.

ENDAT.

AT END OF ITRN.

NEW-PAGE.

ENDAT.

ENDLOOP.

IF SY-SUBRC NE 0.

LOOP AT T_AVRMAS.

  • PERFORM PRINT_REPORT_HEADER_ONLY.

PERFORM PRINT_REPORT_HEADER.

  • PERFORM PRINT_DOCUMENT_HEADING.

  • LOOP AT T_IFRSKYS WHERE

  • IFID = T_IFRSMAS-IFID AND

  • TCNO = T_IFRSMAS-TCNO AND

  • ITRN = T_IFRSMAS-ITRN .

    • AND TCODE = YEFFECTA_IFRSMAS-TCODE.

    • AND SNO = YEFFECTA_IFRSDET-SNO.

  • IF T_IFRSKYS-KEYNO = '1'.

  • WRITE:/ 'Business Object:', T_IFRSKYS-TCODE,

  • 'Document Keys:'.

  • ENDIF.

  • IF NOT T_IFRSKYS-KEYVAL IS INITIAL.

  • WRITE T_IFRSKYS-KEYVAL NO-ZERO.

  • ENDIF.

  • ENDLOOP.

ENDLOOP.

ENDIF.

ENDFORM. " PRINT_REPORT_DETAILS

&----


*& Form GET_DATA

&----


  • selects data for test case and given iterations from respective

  • tables and populates internal tables

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA.

DATA: L_TABNAME LIKE DD03L-TABNAME,

L_FIELDNAME LIKE DD03L-FIELDNAME,

L_SNO LIKE YEFFECTA_AVTCDET-SNO,

L_LEN TYPE I.

SELECT SINGLE * FROM YEFFECTA_AVMAS

INTO YEFFECTA_AVMAS

WHERE VCID = P_VCID.

  • Get Test case result master data for all iterations

SELECT * INTO CORRESPONDING FIELDS OF TABLE T_AVRMAS

FROM YEFFECTA_AVRMAS WHERE VCID EQ P_VCID AND

TCNO EQ P_TCNO AND

ITRN EQ S_ITRN.

  • Get Test case result key values for each iteration

IF NOT T_AVRMAS[] IS INITIAL.

SELECT * INTO CORRESPONDING FIELDS OF TABLE T_AVRKYS

FROM YEFFECTA_AVRKYS

FOR ALL ENTRIES IN T_AVRMAS

WHERE VCID EQ T_AVRMAS-VCID AND

TCNO EQ T_AVRMAS-TCNO AND

ITRN EQ T_AVRMAS-ITRN.

  • Get Test case key descriptions

SELECT KEYNO TABSNO TABNAME FIELDNAME STYPE TCODE

INTO CORRESPONDING FIELDS OF TABLE T_AVTCKYS

FROM YEFFECTA_AVTCKYS

WHERE VCID = P_VCID AND

TCNO = P_TCNO.

LOOP AT T_AVTCKYS.

T_AVBOTAB-TABSNO = T_AVTCKYS-TABSNO.

T_AVBOTAB-TABNAME = T_AVTCKYS-TABNAME.

CLEAR T_AVBOTAB-DDTEXT.

SELECT SINGLE DDTEXT INTO T_AVBOTAB-DDTEXT FROM

YEFFECTA_AVBOTAB WHERE BOBJ = YEFFECTA_AVMAS-BOBJ AND

SNO = T_AVBOTAB-TABSNO.

IF SY-SUBRC <> 0.

SELECT SINGLE DDTEXT INTO T_AVBOTAB-DDTEXT FROM

DD02T WHERE TABNAME = T_AVBOTAB-TABNAME AND

DDLANGUAGE = 'E'.

ENDIF.

APPEND T_AVBOTAB.

CLEAR: T_AVTCKYS-DDTEXT,DD03L-ROLLNAME.

SELECT SINGLE ROLLNAME INTO DD03L-ROLLNAME

FROM DD03L WHERE TABNAME = T_AVTCKYS-TABNAME AND

FIELDNAME = T_AVTCKYS-FIELDNAME.

if sy-subrc = 0.

SELECT SINGLE SCRTEXT_M INTO T_AVTCKYS-DDTEXT

FROM DD04T WHERE ROLLNAME = DD03L-ROLLNAME AND

DDLANGUAGE = 'EN' AND

AS4LOCAL = 'A'.

endif.

IF T_AVTCKYS-DDTEXT IS INITIAL.

  • T_AVTCKYS-DDTEXT = T_AVTCKYS-TABNAME - T_AVTCKYS-FIELDNAME.

concatenate T_AVTCKYS-TABNAME '-' T_AVTCKYS-FIELDNAME into

T_AVTCKYS-DDTEXT.

ENDIF.

MODIFY T_AVTCKYS TRANSPORTING DDTEXT.

ENDLOOP.

*****

  • Get test case tables

  • Get test case results like expected and actual values

SELECT * INTO CORRESPONDING FIELDS OF TABLE T_AVRDET

FROM YEFFECTA_AVRDET

FOR ALL ENTRIES IN T_AVRMAS

WHERE VCID EQ T_AVRMAS-VCID AND

TCNO EQ T_AVRMAS-TCNO AND

ITRN EQ T_AVRMAS-ITRN.

LOOP AT T_AVRDET.

CLEAR: T_AVRDET-DDTEXT,L_TABNAME,L_FIELDNAME,DD03L-ROLLNAME.

SPLIT T_AVRDET-FIELD AT '-' INTO L_TABNAME L_FIELDNAME.

T_AVRDET-TABNAME = L_TABNAME.

T_AVRDET-FIELDNAME = L_FIELDNAME.

SELECT SINGLE ROLLNAME INTO DD03L-ROLLNAME

FROM DD03L WHERE TABNAME = L_TABNAME AND

FIELDNAME = L_FIELDNAME.

SELECT SINGLE SCRTEXT_M INTO T_AVRDET-DDTEXT

FROM DD04T WHERE ROLLNAME = DD03L-ROLLNAME AND

DDLANGUAGE = 'EN' AND

AS4LOCAL = 'A'.

IF L_TABNAME = 'Rule'.

SELECT SINGLE RTEXT INTO T_AVRDET-DDTEXT FROM YEFFECTA_BRULE

WHERE VCID EQ T_AVRDET-VCID AND

TCNO EQ T_AVRDET-TCNO AND

RNO = L_FIELDNAME.

ENDIF.

IF T_AVRDET-DDTEXT IS INITIAL.

T_AVRDET-DDTEXT = T_AVRDET-FIELD.

ENDIF.

  • SELECT SINGLE SNO FROM YEFFECTA_AVTCDET INTO L_SNO

  • WHERE VCID = T_AVRDET-VCID AND

  • TCNO = T_AVRDET-TCNO AND

  • TABNAME = T_AVRDET-TABNAME.

  • T_AVRDET-SNO = L_SNO.

MODIFY T_AVRDET TRANSPORTING DDTEXT TABNAME FIELDNAME TABSNO.

ENDLOOP.

ENDIF.

T_AVRDET1[] = T_AVRDET[].

ENDFORM. " GET_DATA

&----


*& Form PRINT_DOCUMENT_HEADING

&----


  • displays the document details for each case in the iteration

----


FORM PRINT_DOCUMENT_HEADING.

  • FORMAT COLOR COL_HEADING INTENSIFIED ON.

  • SKIP.

  • WRITE:/2 'Dataset:', T_AVRDET-DSNO.

ENDFORM. " PRINT_DOCUMENT_HEADING

&----


*& Form PRINT_RECORD_TYPE

&----


  • Displays the Heading for each record type

  • H - for header and D - for details

----


FORM PRINT_RECORD_TYPE.

DATA:L_FNAME LIKE YEFFECTA_AVRDET-FIELD,

l_wline(140), L_FLAG,

l_linsz(3) type n.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

SKIP.

CLEAR: DD02T-DDTEXT, w_ddtext.

IF W_TABNAME = 'Rule'.

WRITE:/49 'Rules Validation Results', 140 ''.

FORMAT COLOR COL_HEADING INTENSIFIED OFF.

ULINE (140).

FORMAT COLOR COL_HEADING INTENSIFIED ON.

WRITE:/7(10) 'Rule No.', (30) 'Rule Text', (40) 'Actual Value',

(34) 'Expected Value', (16) 'Result'.

ULINE (140).

ELSE.

READ TABLE T_AVBOTAB WITH KEY TABSNO = T_AVRDET-TABSNO.

IF SY-SUBRC <> 0.

SELECT SINGLE DDTEXT FROM DD02T

INTO W_DDTEXT

WHERE TABNAME = W_TABNAME

AND DDLANGUAGE = 'E'.

ELSE.

W_DDTEXT = T_AVBOTAB-DDTEXT.

ENDIF.

WRITE:/2 'Dataset:', T_AVRDET-DSNO.

CONCATENATE 'Table:' W_TABNAME '-' w_ddtext

INTO L_WLINE SEPARATED BY SPACE.

  • WRITE: 'Table:',T_AVRDET-TABNAME, ' - ' ,w_ddtext TO L_WLINE.

*l_linsz = sy-linsz - strlen( l_wline ) - 22.

  • concatenate l_wline into l_wline SEPARATED BY SPACE.

  • WRITE:20 W_LINE, w_ddtext.

WRITE:30 L_WLINE(111).

FORMAT COLOR COL_HEADING INTENSIFIED OFF.

WRITE:/2 'Table Keys:' .

LOOP AT T_AVRKYS WHERE

VCID = YEFFECTA_AVRDET-VCID AND

TCNO = YEFFECTA_AVRDET-TCNO AND

ITRN = YEFFECTA_AVRDET-ITRN AND

DSNO = YEFFECTA_AVRDET-DSNO AND

KEYVAL <> ' '.

IF T_AVRKYS-KEYNO = '0'.

WRITE:/ 'IDoc Number:', T_AVRKYS-KEYVAL HOTSPOT.

ELSE.

FORMAT COLOR COL_GROUP INTENSIFIED OFF.

READ TABLE T_AVTCKYS WITH KEY

KEYNO = T_AVRKYS-KEYNO.

IF SY-SUBRC EQ 0 AND T_AVTCKYS-TABNAME = W_TABNAME.

  • WRITE :/14 T_AVTCKYS-DDTEXT(32) , ':'.

HIDE T_AVTCKYS-TABNAME.

HIDE T_AVTCKYS-TCODE.

  • IF T_AVTCKYS-STYPE = 'T'.

  • SELECT SINGLE * FROM YEFFECTA_AVBTKYS INTO YEFFECTA_AVBTKYS

  • WHERE BOBJ = YEFFECTA_AVMAS-BOBJ AND

  • TABNAME = T_AVTCKYS-TABNAME AND

  • FIELDNAME = T_AVTCKYS-FIELDNAME.

  • READ TABLE T_AVTCKYS WITH KEY

  • TABNAME = YEFFECTA_AVBTKYS-DTAB

  • FIELDNAME = YEFFECTA_AVBTKYS-DFIELD.

  • IF SY-SUBRC = 0.

  • SELECT SINGLE * FROM YEFFECTA_AVRKYS INTO YEFFECTA_AVRKYS

  • WHERE VCID = YEFFECTA_AVRDET-VCID AND

  • TCNO = YEFFECTA_AVRDET-TCNO AND

  • ITRN = YEFFECTA_AVRDET-ITRN AND

  • DSNO = YEFFECTA_AVRDET-DSNO AND

  • KEYNO = T_AVTCKYS-KEYNO.

  • IF SY-SUBRC = 0.

  • T_AVRKYS-KEYVAL = YEFFECTA_AVRKYS-KEYVAL.

  • MODIFY T_AVRKYS.

  • ENDIF.

  • ENDIF.

  • ENDIF.

  • WRITE T_AVRKYS-KEYVAL LEFT-JUSTIFIED HOTSPOT.

IF L_FLAG IS INITIAL.

WRITE : 14 T_AVTCKYS-DDTEXT(30) , ' :'.

L_FLAG = 'X'.

ELSE.

WRITE :/14 T_AVTCKYS-DDTEXT(30) , ' :'.

ENDIF.

WRITE : T_AVRKYS-KEYVAL LEFT-JUSTIFIED HOTSPOT, 140 ''.

ENDIF.

ENDIF.

ENDLOOP.

ULINE.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

WRITE:7(10) 'Field', (30) 'Field Text', (40) 'Actual Value',

(34) 'Expected Value', (16) 'Result'.

ULINE.

ENDIF.

ENDFORM. " PRINT_RECORD_TYPE

&----


*& Form PRINT_RECORD_DETAILS

&----


  • Displays details of each test case and results

----


FORM PRINT_RECORD_DETAILS.

  • IF T_AVRDET-FIELD = W_FIELD.

  • SKIP.

  • ELSE.

  • W_FIELD = T_AVRDET-FIELD.

  • ENDIF.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

CONDENSE: T_AVRDET-EXPECTED,

T_AVRDET-ACTUAL.

WRITE:/7(10) T_AVRDET-FIELDNAME LEFT-JUSTIFIED,

(30) T_AVRDET-DDTEXT LEFT-JUSTIFIED, " FIELD,

(40) T_AVRDET-ACTUAL LEFT-JUSTIFIED,

(34) T_AVRDET-EXPECTED LEFT-JUSTIFIED.

IF T_AVRDET-RES = 'S'.

WRITE: 'Passed ', ICON_GREEN_LIGHT AS ICON.

ELSEIF T_AVRDET-RES = 'F'.

WRITE: 'Failed ', ICON_RED_LIGHT AS ICON.

ELSEIF T_AVRDET-RES = 'W'.

WRITE: 'Warning',ICON_YELLOW_LIGHT AS ICON.

ENDIF.

ENDFORM. " PRINT_RECORD_DETAILS

----


  • FORM FIELD_HELP *

----


  • Field help function module form *

----


FORM FIELD_HELP USING FP_DOC_NAME.

DATA T_TLINE LIKE TLINE OCCURS 0 WITH HEADER LINE.

CALL FUNCTION 'HELP_OBJECT_SHOW'

EXPORTING

DOKCLASS = 'DE'

DOKLANGU = SY-LANGU

DOKNAME = FP_DOC_NAME

TABLES

LINKS = T_TLINE.

ENDFORM. "FIELD_HELP

&----


*& Form PRINT_REPORT_HEADER_ONLY

&----


  • Test case iteration Header for each new iteration

----


FORM PRINT_REPORT_HEADER_ONLY.

DATA: L_RES(4),

L_WLINE(140).

SELECT SINGLE * INTO YEFFECTA_AVRSUM

FROM YEFFECTA_AVRSUM

WHERE VCID = P_VCID AND

TCNO = P_TCNO AND

ITRN EQ S_ITRN. " AND RES = 'F'.

IF SY-SUBRC EQ 0 AND YEFFECTA_AVRSUM-RES = 'P'.

L_RES = 'Pass'.

ELSE.

L_RES = 'Fail'.

ENDIF.

FORMAT COLOR COL_GROUP INTENSIFIED ON.

CONCATENATE 'Validation Component:' YEFFECTA_AVMAS-VCID

INTO L_WLINE.

WRITE : /2 L_WLINE, 140 ''.

CLEAR L_WLINE.

CONCATENATE 'Test Case:' T_AVRMAS-TCNO INTO L_WLINE.

WRITE : /2 L_WLINE, 140 ''.

CLEAR L_WLINE.

CONCATENATE 'Cycle:' T_AVRMAS-ITRN INTO L_WLINE.

WRITE : /2 L_WLINE, 140 ''.

CLEAR L_WLINE.

CONCATENATE 'Result:' L_RES INTO L_WLINE.

WRITE : /2 L_WLINE, 140 ''.

WRITE:/2 'Description:', YEFFECTA_AVMAS-KTEXT, 140 ''.

ENDFORM. " PRINT_REPORT_HEADER_ONLY

&----


*& Form F4_HELP_FOR_VCID

&----


  • text

----


FORM F4_HELP_FOR_VCID.

REFRESH F4_VCID.

SELECT VCID KTEXT INTO CORRESPONDING FIELDS

OF TABLE F4_VCID FROM YEFFECTA_AVMAS

WHERE VCTYPE = ' '.

REFRESH F4_RETURN.

CLEAR F4_RETURN.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'VCID'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = F4_VCID

RETURN_TAB = F4_RETURN

EXCEPTIONS

PARAMETER_ERROR = 1

NO_VALUES_FOUND = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

READ TABLE F4_RETURN INDEX 1.

P_VCID = F4_RETURN-FIELDVAL.

ENDFORM. " F4_HELP_FOR_VCID

&----


*& Form F4_HELP_FOR_TCNO

&----


  • text

----


FORM F4_HELP_FOR_TCNO.

REFRESH F4_TCNO.

IF NOT P_VCID IS INITIAL.

SELECT TCNO KTEXT INTO CORRESPONDING FIELDS

OF TABLE F4_TCNO FROM YEFFECTA_AVTCMAS

WHERE VCID = P_VCID.

REFRESH F4_RETURN.

CLEAR F4_RETURN.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'TCNO'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = F4_TCNO

RETURN_TAB = F4_RETURN

EXCEPTIONS

PARAMETER_ERROR = 1

NO_VALUES_FOUND = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

READ TABLE F4_RETURN INDEX 1.

P_TCNO = F4_RETURN-FIELDVAL.

ELSE.

MESSAGE S000.

ENDIF.

ENDFORM. " F4_HELP_FOR_TCNO

&----


*& Form F4_HELP_FOR_ITRN

&----


  • text

----


FORM F4_HELP_FOR_ITRN.

REFRESH F4_ITRN.

IF NOT P_VCID IS INITIAL.

IF NOT P_TCNO IS INITIAL.

SELECT VCID TCNO ITRN INTO CORRESPONDING FIELDS

OF TABLE F4_ITRN FROM YEFFECTA_AVRMAS

WHERE VCID = P_VCID AND TCNO = P_TCNO.

REFRESH F4_RETURN.

CLEAR F4_RETURN.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'ITRN'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = F4_ITRN

RETURN_TAB = F4_RETURN

EXCEPTIONS

PARAMETER_ERROR = 1

NO_VALUES_FOUND = 2

OTHERS = 3.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

READ TABLE F4_RETURN INDEX 1.

S_ITRN = F4_RETURN-FIELDVAL.

ELSE.

MESSAGE S067.

ENDIF.

ELSE.

MESSAGE S000.

ENDIF.

ENDFORM. " F4_HELP_FOR_ITRN

----


  • INCLUDE YEFFECTA_PRD_TITLE *

----


CONSTANTS : C_EXIT(4) VALUE 'Exit',

C_SAVE(32) VALUE 'Do you want to save the changes?',

C_CANC(22) VALUE 'Do you want to cancel?',

C_CANCEL(6) VALUE 'Cancel',

C_YES(3) VALUE 'Yes',

C_NO(2) VALUE 'No'.

DATA: W_PRD_TITLE LIKE YEFFECTA_GPARM-VALUE,

W_AV_TITLE LIKE YEFFECTA_GPARM-VALUE,

W_PAV_TITLE LIKE YEFFECTA_GPARM-VALUE.

&----


*& Form GET_PRD_TITLE

&----


  • To get the product title from YEFFECTA_GPARM Global Table. *

  • PARM = '52' for 'Arsin SAP Test Suite' product Title:Effecta. *

----


FORM GET_PRD_TITLE.

SELECT SINGLE VALUE INTO W_PRD_TITLE

FROM YEFFECTA_GPARM

WHERE PARM EQ '52'. "Effecta

SELECT SINGLE VALUE INTO W_AV_TITLE

FROM YEFFECTA_GPARM

WHERE PARM EQ '54'. "Validation Component

ENDFORM.

&----


*& Form GET_PRD_TITLE1

&----


  • To get the product title from YEFFECTA_GPARM Global Table. *

  • PARM = '52' for 'Arsin SAP Test Suite' product Title:Effecta. *

----


FORM GET_PRD_TITLE1.

SELECT SINGLE VALUE INTO W_PRD_TITLE

FROM YEFFECTA_GPARM

WHERE PARM EQ '52'. "Effecta

SELECT SINGLE VALUE INTO W_PAV_TITLE

FROM YEFFECTA_GPARM

WHERE PARM EQ '55'. "Pricing Validation Component

ENDFORM.

&----


*& Form GET_PRD_TITLE2

&----


  • To get the product title from YEFFECTA_GPARM Global Table. *

  • PARM = '56' for 'Arsin SAP Test Suite' product Title:Effecta. *

----


FORM GET_PRD_TITLE2.

SELECT SINGLE VALUE INTO W_PRD_TITLE

FROM YEFFECTA_GPARM

WHERE PARM EQ '52'. "Effecta

SELECT SINGLE VALUE INTO W_AV_TITLE

FROM YEFFECTA_GPARM

WHERE PARM EQ '56'. "IDoc Validation Component

ENDFORM.

----


  • FORM POPUP_EXIT *

----


  • This is common form for displaying a popup when user click on *

  • BACK or EXIT button in the standard tool bar in Effecta *

  • Screens.It returns the ANSWER to the calling program *

----


FORM POPUP_EXIT CHANGING ANSWER.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = C_EXIT

TEXT_QUESTION = C_SAVE

TEXT_BUTTON_1 = C_YES

TEXT_BUTTON_2 = C_NO

DEFAULT_BUTTON = '1'

DISPLAY_CANCEL_BUTTON = 'X'

START_COLUMN = 25

START_ROW = 6

IMPORTING

ANSWER = ANSWER

EXCEPTIONS

TEXT_NOT_FOUND = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

----


  • FORM POPUP_CANCEL *

----


  • This is common form for displaying a popup when user click on *

  • CANCEL button in the standard tool bar in Effecta Screens. *

  • It returns the ANSWER to the calling program *

  • ANSWER = 'J' for 'Yes' and 'N' for No. *

----


FORM POPUP_CANCEL CHANGING ANSWER.

CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'

EXPORTING

TEXTLINE1 = C_CANC

TITEL = C_CANCEL

START_COLUMN = 25

START_ROW = 6

DEFAULTOPTION = 'N'

IMPORTING

ANSWER = ANSWER.

ENDFORM.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
330

Hello,

Built one final internal table.

Where ever they are using the write statement move the values to the final itab and and append the table.

Remove the write stmt and call the FM REUSE_ALV_GRID_DISPLAY.

REgards,

Vasanth

1 REPLY 1
Read only

Former Member
0 Likes
331

Hello,

Built one final internal table.

Where ever they are using the write statement move the values to the final itab and and append the table.

Remove the write stmt and call the FM REUSE_ALV_GRID_DISPLAY.

REgards,

Vasanth