You are on page 1of 7

*------------------------------------------------------------------------*

* Program ID
: Include
*
* Program Name : ZSD_RDD000_SALES_ITEM_form
*
* Vendor
:IBM
*
* Developer
:Sai Kiran
*
*------------------------------------------------------------------------*
*TR
| Date
| Developer ID | Version
*
*------------------------------------------------------------------------*
*EHPK90032 |06-NOV-2011 | SIBM046
: Initial
*
*------------------------------------------------------------------------*
*Description: This Include description the subroutones of the
*
program
*
*------------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&
Form F_INITIALIZE_GLOBAL_DATA
*&---------------------------------------------------------------------*
*
Description : This sub routine is used to initialize
*
the global data
*----------------------------------------------------------------------*
FORM F_INITIALIZE_GLOBAL_DATA .
REFRESH IT_VBAK.
REFRESH IT_VBAP.
REFRESH IT_KNA1.
REFRESH IT_FINAL.
ENDFORM.
" F_INITIALIZE_GLOBAL_DATA
*&---------------------------------------------------------------------*
*&
Form F_VALIDATE_VBELN
*&---------------------------------------------------------------------*
*
Description : This sub routine is used to validate
*
the sales document number
*----------------------------------------------------------------------*
FORM F_VALIDATE_VBELN .
DATA : LV_VBELN TYPE VBELN_VA.
SELECT SINGLE VBELN
INTO LV_VBELN
FROM VBUK
WHERE VBELN IN S_VBELN .
IF SY-SUBRC IS NOT INITIAL.
MESSAGE E999(ZMSG) WITH 'SALES DOC NO IS INVALID' S_VBELN-LOW.
ENDIF.
ENDFORM.
" F_VALIDATE_VBELN
*&---------------------------------------------------------------------*
*&
Form F_FETCH_VBAK
*&---------------------------------------------------------------------*
*
Description : This subroutine is used to fetch the data into
*
VBAK table
*----------------------------------------------------------------------*
FORM F_FETCH_VBAK CHANGING fP_IT_VBAK TYPE TT_VBAK.
CHECK S_VBELN IS NOT INITIAL.
SELECT VBELN
KUNNR
INTO TABLE fP_IT_VBAK
FROM VBAK
WHERE VBELN IN S_VBELN.
IF SY-SUBRC IS NOT INITIAL.
MESSAGE E999(ZMSG) WITH 'DATA RELATED TO SALES DOC IS NOT AVALIABLE' S_VBELN

-LOW.
ENDIF.
ENDFORM.
" F_FETCH_VBAK
*&---------------------------------------------------------------------*
*&
Form F_FETCH_VBAP
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_IT_VBAK text
*
<--P_IT_VBAP text
*----------------------------------------------------------------------*
FORM F_FETCH_VBAP USING FP_IT_VBAK TYPE TT_VBAK
CHANGING FP_IT_VBAP TYPE TT_VBAP.
CHECK fP_IT_VBAK IS NOT INITIAL.
SELECT VBELN
POSNR
MATNR
NETPR
INTO TABLE FP_IT_VBAP
FROM VBAP FOR ALL ENTRIES IN FP_IT_VBAK
WHERE VBELN = FP_IT_VBAK-VBELN.
IF SY-SUBRC IS INITIAL.
SORT FP_IT_VBAP BY VBELN.
ENDIF.
ENDFORM.
" F_FETCH_VBAP
*&---------------------------------------------------------------------*
*&
Form F_FETCH_KNA1
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_IT_VBAK text
*
<--P_IT_KNA1 text
*----------------------------------------------------------------------*
FORM F_FETCH_KNA1 USING
FP_IT_VBAK TYPE TT_VBAK
CHANGING FP_IT_KNA1 TYPE TT_KNA1.
CHECK fP_IT_VBAK IS NOT INITIAL.
SELECT KUNNR
LAND1
NAME1
ORT01
PSTLZ
REGIO
INTO TABLE FP_IT_KNA1
FROM KNA1 FOR ALL ENTRIES IN FP_IT_VBAK
WHERE KUNNR = FP_IT_VBAK-KUNNR AND KUNNR IN S_KUNNR.
IF SY-SUBRC IS INITIAL.
SORT FP_IT_KNA1 BY KUNNR.
ENDIF.
ENDFORM.
" F_FETCH_KNA1
*&---------------------------------------------------------------------*
*&
Form F_FETCH_FINAL
*&---------------------------------------------------------------------*
*
Description : This sub routine is used to fetch the data
*
into final table
*----------------------------------------------------------------------*

FORM F_FETCH_FINAL USING

FP_IT_VBAK TYPE TT_VBAK


FP_IT_VBAP TYPE TT_VBAP
FP_IT_KNA1 TYPE TT_KNA1
CHANGING FP_IT_FINAL TYPE TT_FINAL.
CHECK S_KUNNR IS NOT INITIAL.

LOOP AT FP_IT_VBAP INTO WA_VBAP.


READ TABLE FP_IT_VBAK INTO WA_VBAK WITH KEY VBELN = WA_VBAP-VBELN BINARY SE
ARCH.
IF SY-SUBRC IS INITIAL.
WA_FINAL-VBELN = WA_VBAP-VBELN.
WA_FINAL-POSNR = WA_VBAP-POSNR.
WA_FINAL-MATNR = WA_VBAP-MATNR.
WA_FINAL-NETPR = WA_VBAP-NETPR.
READ TABLE FP_IT_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_VBAK-KUNNR BINARY S
EARCH.
IF SY-SUBRC IS INITIAL.
WA_FINAL-KUNNR = WA_KNA1-KUNNR.
WA_FINAL-LAND1 = WA_KNA1-LAND1.
WA_FINAL-NAME1 = WA_KNA1-NAME1.
WA_FINAL-ORT01 = WA_KNA1-ORT01.
WA_FINAL-PSTLZ = WA_KNA1-PSTLZ.
WA_FINAL-REGIO = WA_KNA1-REGIO.
APPEND WA_FINAL TO FP_IT_FINAL.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
" F_FETCH_FINAL
*&---------------------------------------------------------------------*
*&
Form F_FETCH_DISPLAY
*&---------------------------------------------------------------------*
*
Description : This sub routine is used to display
*
the data
*----------------------------------------------------------------------*
FORM F_FETCH_DISPLAY USING
FP_IT_FINAL TYPE TT_FINAL.
CHECK S_VBELN IS NOT INITIAL.
LOOP AT FP_IT_FINAL INTO WA_FINAL.
WRITE : / WA_FINAL-VBELN,
11 WA_FINAL-KUNNR,
23 WA_FINAL-POSNR,
35 WA_FINAL-MATNR,
40 WA_FINAL-NETPR,
57 WA_FINAL-LAND1,
65 WA_FINAL-NAME1,
90 WA_FINAL-ORT01,
100 WA_FINAL-PSTLZ,
110 WA_FINAL-REGIO.
ENDLOOP.
write:/20 'Page Numbver' COLOR 6, sy-pagno.
ENDFORM.
" F_FETCH_DISPLAY
*&---------------------------------------------------------------------*
*&
Form F_TOP_PAGE
*&---------------------------------------------------------------------*
*
Description : This Subroutine is used to display
*
the top of page
*----------------------------------------------------------------------*
FORM F_TOP_PAGE .
CHECK : S_VBELN IS NOT INITIAL,
S_KUNNR IS NOT INITIAL.

WRITE :/

'salesdoc' color 5,
11 'customer no' color 5,
23 'item number' color 5,
35 'materialno' color 5,
49 'net price' color 5,
57 'land' color 5,
65 'name' color 5,
90 'city' color 5,
100 'postal' color 5,
110 'region' color 5.

ENDFORM.
" F_TOP_PAGE
*&---------------------------------------------------------------------*
*&
Form F_END_OF_PAGE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM F_END_OF_PAGE .
CHECK : S_VBELN IS NOT INITIAL,
S_KUNNR IS NOT INITIAL.
WRITE 20 SY-PAGNO color 6.
ENDFORM.
" F_END_OF_PAGE
*&---------------------------------------------------------------------*
*&
Form F_SCREEN
*&---------------------------------------------------------------------*
*
Description : THis subroutine descibes about the screen.
*----------------------------------------------------------------------*
FORM F_SCREEN.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M2' AND R1 = 'X'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'M1' AND R2 = 'X'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDFORM.
" F_SCREEN
*&---------------------------------------------------------------------*
*&
Form F_GET_KUNNR
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_IT_FINAL text
*----------------------------------------------------------------------*
FORM F_GET_KUNNR USING FP_IT_FINAL TYPE TT_FINAL
CHANGING FP_IT_RADIO TYPE TT_RADIO.
CHECK S_KUNNR IS NOT INITIAL.

SELECT KUNNR
LAND1
NAME1
ORT01
PSTLZ
REGIO
INTO TABLE IT_RADIO
FROM KNA1 FOR ALL ENTRIES IN FP_IT_FINAL
WHERE KUNNR = FP_IT_FINAL-KUNNR.
IF SY-SUBRC IS INITIAL.
LOOP AT FP_IT_FINAL INTO WA_FINAL.
READ TABLE IT_RADIO INTO WA_RADIO WITH KEY KUNNR = WA_FINAL-KUNNR.
IF SY-SUBRC IS INITIAL.
WA_FINAL1-KUNNR = WA_RADIO-KUNNR.
WA_FINAL1-LAND1 = WA_RADIO-LAND1.
WA_FINAL1-NAME1 = WA_RADIO-NAME1.
WA_FINAL1-ORT01 = WA_RADIO-ORT01.
WA_FINAL1-PSTLZ = WA_RADIO-PSTLZ.
WA_FINAL1-REGIO = WA_RADIO-REGIO.
APPEND WA_FINAL1 TO IT_FINAL1.
ENDIF.
ENDLOOP.
ENDIF.
*

WRITE : SY-ULINE..

*
ENDFORM.
" F_GET_KUNNR
*&---------------------------------------------------------------------*
*&
Form F_DISPLAY_KUNNR
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_IT_RADIO text
*----------------------------------------------------------------------*
FORM F_DISPLAY_KUNNR USING FP_IT_RADIO TYPE TT_KNA1.
CHECK S_KUNNR IS NOT INITIAL.
LOOP AT FP_IT_RADIO INTO WA_RADIO.
WRITE :/ WA_RADIO-KUNNR,
WA_RADIO-LAND1,
WA_RADIO-NAME1,
WA_RADIO-ORT01,
WA_RADIO-PSTLZ,
WA_RADIO-REGIO.
ENDLOOP.
ENDFORM.
" F_DISPLAY_KUNNR
*&---------------------------------------------------------------------*
*&
Form F_VALIDATE_KUNNR
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM F_VALIDATE_KUNNR .

DATA : LV_KUNNR TYPE KNA1-KUNNR.


CHECK S_KUNNR IS NOT INITIAL.
SELECT KUNNR
INTO LV_KUNNR
FROM KNA1
UP TO 1 ROWS
WHERE KUNNR IN S_KUNNR.
ENDSELECT.
IF SY-SUBRC IS NOT INITIAL.
MESSAGE :'DATA NOT FOUND' TYPE 'I'.
ENDIF.
ENDFORM.
" F_VALIDATE_KUNNR
*&---------------------------------------------------------------------*
*&
Form F_TOP_PAGE_1
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM F_TOP_PAGE_1 .
ULINE.
WRITE :'CUST' COLOR COL_KEY,
09 SY-VLINE,
10 'COUN'COLOR COL_KEY,
14 SY-VLINE,
15 'NAME OF THE CUSTOMER'COLOR COL_KEY,
49 SY-VLINE,
50 'CITY OF THE CUSTOMER'COLOR COL_KEY,
84 SY-VLINE,
85 'POST'COLOR COL_KEY,
94 SY-VLINE,
95 'REGION'COLOR COL_KEY,
102 SY-VLINE.
ULINE.
ENDFORM.
" F_TOP_PAGE_1
*&---------------------------------------------------------------------*
*&
Form F_DISPLAY_KUNNR1
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_IT_FINAL1 text
*----------------------------------------------------------------------*
FORM F_DISPLAY_KUNNR1 USING
FP_IT_FINAL1 TYPE TT_FINAL1.
LOOP AT FP_IT_FINAL1 INTO WA_FINAL1.
WRITE :/

SY-ULINE,
WA_FINAL1-KUNNR COLOR 3,
09 SY-VLINE,
10 WA_FINAL1-LAND1,
14 SY-VLINE,
15 WA_FINAL1-NAME1,
49 SY-VLINE,
50 WA_FINAL1-ORT01,
84 SY-VLINE,
85 WA_FINAL1-PSTLZ,
94 SY-VLINE,

95 WA_FINAL1-REGIO ,
102 SY-VLINE.
ENDLOOP.
WRITE : SY-ULINE..
WRITE :/ SY-PAGNO.
ENDFORM.

" F_DISPLAY_KUNNR1

You might also like