‎2008 Mar 27 3:11 PM
hi all,
I am new in ABAP.
I have created one form in SAP script.
I have created one page ,one window and one page window and I activated the form.
also I have tested it will show the screen without any error
and then
-
i have created the following program in SE38
parameter x type vbak-vbeln.
types : begin of ty,
a type vbak-vbeln,
b type vbak-ernam,
end of ty.
data : itab like table of ty,
wa type ty.
select vbeln ernam from vbak into table itab where vbeln = a.
loop at itab into wa.
write 😕 ea-a,wa-b.
endloop.
call open_form
........
.......
form = 'formname'.
........
.....
call write_form.
.......
.........
window = 'windowname'
........
...............
call close_form.
.........
........
.......
.......
I activate and run the above program it will show only the white screen which is obtained from the above form.
The form and the report are run correctly without any error.
My question is how can i get the above program output on the form(SAP script).
plz guide me.
by,
raghul
‎2008 Mar 27 3:16 PM
Hi,
IN WRITE_FORM CALL THE TEXT ELEMENT
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'SERVICES'
EXCEPTIONS OTHERS = 01.
Regards,
V.Balaji
Reward if Usefull...
‎2008 Mar 27 3:16 PM
Hi,
IN WRITE_FORM CALL THE TEXT ELEMENT
CALL FUNCTION 'WRITE_FORM'
EXPORTING ELEMENT = 'SERVICES'
EXCEPTIONS OTHERS = 01.
Regards,
V.Balaji
Reward if Usefull...
‎2008 Mar 27 3:17 PM
Hi,
IN WRITE_FORM CALL THE TEXT ELEMENT
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = TEXT ELEMENT NAME
WINDOW = WINDOW NAME
EXCEPTIONS
ELEMENT = 1
WINDOW = 6
OTHERS = 10
.Regards,
V.Balaji
Reward if Usefull...
‎2008 Mar 27 3:20 PM
hi balaji,
which one is the text element name.
how can ifind out the name from the SE71.
by,
raghul
‎2008 Mar 27 3:20 PM
Hi,
You need to create a text element in your window. pass the data which needs to printed using text element with in open form and close form. see the below program for ur reference
PARAMETERS p_vbeln TYPE vbrk-vbeln .
TABLES: vbrk,
adrc,
vbrp,
kna1.
TYPES: BEGIN OF S_INVOICE,
VBELN TYPE VBRK-VBELN,
KUNRG TYPE VBRK-KUNRG,
FKDAT TYPE VBRK-FKDAT,
XBLNR TYPE VBRK-XBLNR,
END OF S_INVOICE.
TYPES: BEGIN OF S_CLIENT,
NAME1 TYPE ADRC-NAME1,
STREET TYPE ADRC-STREET,
CITY1 TYPE ADRC-CITY1,
POST_CODE1 TYPE ADRC-POST_CODE1,
COUNTRY TYPE ADRC-POST_CODE1,
TEL_NUMBER TYPE ADRC-TEL_NUMBER,
END OF S_CLIENT.
TYPES: BEGIN OF S_MATERIAL,
MATNR TYPE VBRP-MATNR,
ARKTX TYPE VBRP-ARKTX,
FKIMG TYPE VBRP-FKIMG,
VRKME TYPE VBRP-VRKME,
NETWR TYPE VBRP-NETWR,
WAERK TYPE VBRK-WAERK,
END OF S_MATERIAL.
DATA:
IT_INVOICE TYPE STANDARD TABLE OF S_INVOICE,
WA_INVOICE TYPE S_INVOICE,
IT_CLIENT TYPE STANDARD TABLE OF S_CLIENT,
WA_CLIENT TYPE S_CLIENT,
IT_MATERIAL TYPE STANDARD TABLE OF S_MATERIAL,
WA_MATERIAL TYPE S_MATERIAL,
T_NETWR(40),
T_FKIMG(40),
TOTAL_VALUE TYPE VBRP-NETWR.
TOTAL_VALUE = 0.
PERFORM OPEN_FORM.
PERFORM FETCH_INVOICE USING P_VBELN CHANGING IT_INVOICE.
IF SY-SUBRC = 0.
LOOP AT IT_INVOICE INTO WA_INVOICE.
PERFORM WRITE_INVOICE.
ENDLOOP.
ELSE.
WRITE /'INVOICE RECORD NOT FOUND'.
ENDIF.
PERFORM FETCH_CLIENT USING P_VBELN CHANGING IT_CLIENT.
IF SY-SUBRC = 0.
LOOP AT IT_CLIENT INTO WA_CLIENT.
PERFORM WRITE_CLIENT.
ENDLOOP.
ELSE.
WRITE /'CLIENT RECORD NOT FOUND'.
ENDIF.
PERFORM FETCH_MATERIAL USING P_VBELN CHANGING IT_MATERIAL.
IF SY-SUBRC = 0.
LOOP AT IT_MATERIAL INTO WA_MATERIAL.
CONCATENATE WA_MATERIAL-MATNR WA_MATERIAL-ARKTX INTO WA_MATERIAL-MATNR.
T_FKIMG = WA_MATERIAL-FKIMG.
CONDENSE T_FKIMG.
CONCATENATE T_FKIMG WA_MATERIAL-VRKME INTO T_FKIMG.
T_NETWR = WA_MATERIAL-NETWR.
CONDENSE T_NETWR.
TOTAL_VALUE = TOTAL_VALUE + T_NETWR.
CONCATENATE T_NETWR WA_MATERIAL-WAERK INTO T_NETWR.
PERFORM WRITE_MATERIAL.
ENDLOOP.
ELSE.
WRITE /'MATERIAL RECORD NOT FOUND'.
ENDIF.
PERFORM FETCH_TOTAL.
PERFORM CLOSE_FORM.
*&---------------------------------------------------------------------*
*& Form FETCH_INVOICE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_P_VBELN text
* <--P_IT_INVOICE text
*----------------------------------------------------------------------*
form FETCH_INVOICE using p_p_vbeln TYPE VBELN
changing p_it_invoice TYPE TABLE.
SELECT VBELN
KUNRG
FKDAT
XBLNR
FROM VBRK
INTO TABLE P_IT_INVOICE
WHERE VBELN = P_P_VBELN.
endform. " FETCH_INVOICE
*&---------------------------------------------------------------------*
*& Form OPEN_FORM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form OPEN_FORM .
CALL FUNCTION 'OPEN_FORM'
EXPORTING
* APPLICATION = 'TX'
* ARCHIVE_INDEX =
* ARCHIVE_PARAMS =
* DEVICE = 'PRINTER'
* DIALOG = 'X'
FORM = 'ZDAY'
LANGUAGE = SY-LANGU
* OPTIONS =
* MAIL_SENDER =
* MAIL_RECIPIENT =
* MAIL_APPL_OBJECT =
* RAW_DATA_INTERFACE = '*'
* IMPORTING
* LANGUAGE =
* NEW_ARCHIVE_PARAMS =
* RESULT =
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
INVALID_FAX_NUMBER = 8
MORE_PARAMS_NEEDED_IN_BATCH = 9
SPOOL_ERROR = 10
CODEPAGE = 11
OTHERS = 12
.
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. " OPEN_FORM
*&---------------------------------------------------------------------*
*& Form WRITE_INVOICE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form WRITE_INVOICE .
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'INVOICE ' "text element
* FUNCTION = 'SET'
* TYPE = 'BODY'
WINDOW = 'INVOICE'
* IMPORTING
* PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
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. " WRITE_INVOICE
*&---------------------------------------------------------------------*
*& Form CLOSE_FORM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form CLOSE_FORM .
CALL FUNCTION 'CLOSE_FORM'
* IMPORTING
* RESULT =
* RDI_RESULT =
* TABLES
* OTFDATA =
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
CODEPAGE = 5
OTHERS = 6
.
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. " CLOSE_FORM
*&---------------------------------------------------------------------*
*& Form FETCH_CLIENT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_P_VBELN text
* <--P_IT_CLIENT text
*----------------------------------------------------------------------*
form FETCH_CLIENT using p_p_vbeln TYPE VBELN
changing p_it_client TYPE TABLE.
DATA: T_KUNRG TYPE VBRK-KUNRG,
T_KUNNR TYPE KNA1-KUNNR,
T_ADRNR TYPE KNA1-ADRNR,
T_ADDRNUMBER TYPE ADRC-ADDRNUMBER.
*SELECT SINGLE KUNRG FROM VBRK INTO T_KUNRG WHERE VBELN = P_P_VBELN.
SELECT SINGLE K~KUNNR K~ADRNR INTO (T_KUNNR,T_ADRNR) FROM KNA1 AS K INNER JOIN VBRK AS V
ON K~KUNNR = V~KUNRG
WHERE V~VBELN = P_P_VBELN.
SELECT SINGLE A~ADDRNUMBER INTO T_ADDRNUMBER FROM ADRC AS A INNER JOIN KNA1 AS K
ON A~ADDRNUMBER = K~ADRNR
WHERE K~KUNNR = T_KUNNR.
SELECT NAME1 STREET CITY1 POST_CODE1 COUNTRY TEL_NUMBER
FROM ADRC INTO TABLE P_IT_CLIENT
WHERE ADDRNUMBER = T_ADDRNUMBER
AND
DATE_FROM <= SY-DATUM
AND
DATE_TO >= SY-DATUM.
endform. " FETCH_CLIENT
*&---------------------------------------------------------------------*
*& Form FETCH_MATERIAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_P_VBELN text
* <--P_IT_MATERIAL text
*----------------------------------------------------------------------*
form FETCH_MATERIAL using p_p_vbeln TYPE VBELN
changing p_it_material TYPE TABLE.
SELECT P~MATNR P~ARKTX P~FKIMG P~VRKME P~NETWR K~WAERK
INTO TABLE P_IT_MATERIAL
FROM VBRP AS P INNER JOIN
VBRK AS K
ON P~VBELN = K~VBELN
WHERE P~VBELN = p_p_vbeln.
endform. " FETCH_MATERIAL
*&---------------------------------------------------------------------*
*& Form WRITE_MATERIAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form WRITE_MATERIAL .
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'MATERIAL'
* FUNCTION = 'SET'
* TYPE = 'BODY'
WINDOW = 'MAIN'
* IMPORTING
* PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
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. " WRITE_MATERIAL
*&---------------------------------------------------------------------*
*& Form WRITE_CLIENT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form WRITE_CLIENT .
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'CLIENT '
* FUNCTION = 'SET'
* TYPE = 'BODY'
WINDOW = 'CLIENT'
* IMPORTING
* PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
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. " WRITE_CLIENT
*&---------------------------------------------------------------------*
*& Form FETCH_TOTAL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form FETCH_TOTAL .
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'TOTAL'
* FUNCTION = 'SET'
* TYPE = 'BODY'
WINDOW = 'TOTAL'
* IMPORTING
* PENDING_LINES =
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10
.
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. " FETCH_TOTAL