2007 Jun 13 2:32 PM
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.
2007 Jun 13 2:42 PM
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
2007 Jun 13 2:42 PM
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