Sei sulla pagina 1di 8

*&---------------------------------------------------------------------*

*& Include ZVI_SALES_CUST_COM_MAT_F01


*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form INITIALIZE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM initialize .

CLEAR : wa_vbak, wa_vbap, wa_kna1, wa_t001, wa_marc.


REFRESH : it_vbak, it_vbap, it_kna1, it_t001, it_marc.

ENDFORM. " INITIALIZE


*&---------------------------------------------------------------------*
*& Form GET_VEBLN_F4_HELP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_vebln_f4_help .

***fetch f4 help data in an itab


SELECT vbeln
vkorg
vtweg
spart FROM vbak
INTO TABLE it_f4_vbeln.

***attach f4 help itab to screen field


*call FM
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
retfield = 'VBELN'
* PVALKEY = ' '
dynpprog = sy-cprog
dynpnr = '1000'
dynprofield = 'S_VBELN'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
value_org = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* CALLBACK_METHOD =
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
value_tab = it_f4_vbeln
* FIELD_TAB =
* RETURN_TAB =
* DYNPFLD_MAPPING =
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

ENDFORM. " GET_VEBLN_F4_HELP


*&---------------------------------------------------------------------*
*& Form VBELN_VALIDATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM vbeln_validate .

SELECT SINGLE vbeln FROM vbuk


INTO gv_vbeln_val
WHERE vbeln IN s_vbeln.
IF sy-subrc <> 0.
MESSAGE e003(zv_msg_aug).
ENDIF.

ENDFORM. " VBELN_VALIDATE


*&---------------------------------------------------------------------*
*& Form GET_VBAK_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_vbak_data .

***fetch sales header info


SELECT vbeln
ernam
erdat
auart
kunnr
bukrs_vf
netwr
waerk FROM vbak
INTO TABLE it_vbak
WHERE vbeln IN s_vbeln.
***check no. of records
DESCRIBE TABLE it_vbak LINES gv_vbak_rec.

ENDFORM. " GET_VBAK_DATA


*&---------------------------------------------------------------------*
*& Form VBAK_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM vbak_header .

WRITE :/10 'SALES HEADER INFOMATION' COLOR 7.


SKIP.
ULINE.

ENDFORM. " VBAK_HEADER


*&---------------------------------------------------------------------*
*& Form FOOTER_INFO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM footer_info .

ULINE.
WRITE :/50 'This is computer generated file' COLOR 6,
/10 'Page No.' COLOR 1, sy-pagno COLOR 1.

ENDFORM. " FOOTER_INFO


*&---------------------------------------------------------------------*
*& Form DISPLAY_VBAK_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_vbak_data .

LOOP AT it_vbak INTO wa_vbak.


WRITE :/ wa_vbak-vbeln COLOR 2 HOTSPOT,
wa_vbak-ernam,
wa_vbak-erdat,
wa_vbak-auart,
wa_vbak-kunnr COLOR 3 HOTSPOT,
wa_vbak-bukrs COLOR 4 HOTSPOT,
wa_vbak-netwr,
wa_vbak-waerk.
CLEAR wa_vbak.
ENDLOOP.

SKIP 2.
WRITE :/ 'Number of record are:' COLOR 2, gv_vbak_rec COLOR 2.
ENDFORM. " DISPLAY_VBAK_DATA
*&---------------------------------------------------------------------*
*& Form GET_VBAP_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_vbap_data .

***assign gv_fval to gv_vbeln


gv_vbeln = gv_fval.

***provide leading zero


PERFORM provide_leading_zero USING gv_vbeln.

***fetch sales item data


SELECT vbeln
posnr
matnr
kwmeng
meins
netpr
netwr
waerk FROM vbap
INTO TABLE it_vbap
WHERE vbeln = gv_vbeln.
IF sy-subrc = 0.
***check no. of records
DESCRIBE TABLE it_vbap LINES gv_vbap_rec.

***display sales item info.


PERFORM display_vbap_data.
ELSE.
MESSAGE e004(zv_msg_aug).
ENDIF.

ENDFORM. " GET_VBAP_DATA


*&---------------------------------------------------------------------*
*& Form DISPLAY_VBAP_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_vbap_data .

LOOP AT it_vbap INTO wa_vbap.


WRITE :/ wa_vbap-vbeln,
wa_vbap-posnr,
wa_vbap-matnr COLOR 5 HOTSPOT,
wa_vbap-kwmeng,
wa_vbap-meins,
wa_vbap-netpr,
wa_vbap-netwr,
wa_vbap-waerk.
CLEAR wa_vbap.
ENDLOOP.

SKIP 2.
WRITE :/ 'Number of record are:' COLOR 2, gv_vbap_rec COLOR 2.

ENDFORM. " DISPLAY_VBAP_DATA


*&---------------------------------------------------------------------*
*& Form VBAP_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM vbap_header .

WRITE :/10 'SALES ITEM INFOMATION' COLOR 7.


SKIP.
ULINE.

ENDFORM. " VBAP_HEADER


*&---------------------------------------------------------------------*
*& Form PROVIDE_LEADING_ZERO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_GV_VBELN text
*----------------------------------------------------------------------*
FORM provide_leading_zero USING field.

***call FM to provide leading zero


CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = field
IMPORTING
output = field.

ENDFORM. " PROVIDE_LEADING_ZERO


*&---------------------------------------------------------------------*
*& Form GET_KNA1_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_kna1_data .

***assign gv_fval to gv_kunnr


gv_kunnr = gv_fval.

***provide leading zero


PERFORM provide_leading_zero USING gv_kunnr.

***fetch sold-to-party data


SELECT kunnr
name1
telf1
ort01
regio
land1
spras FROM kna1
INTO TABLE it_kna1
WHERE kunnr = gv_kunnr.
IF sy-subrc = 0.
***check no. of records
DESCRIBE TABLE it_kna1 LINES gv_kna1_rec.

***display sales item info.


PERFORM display_kna1_data.
ELSE.
MESSAGE e005(zv_msg_aug).
ENDIF.

ENDFORM. " GET_KNA1_DATA


*&---------------------------------------------------------------------*
*& Form DISPLAY_KNA1_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form DISPLAY_KNA1_DATA .

LOOP AT it_kna1 INTO wa_kna1.


WRITE :/ wa_kna1-kunnr,
wa_kna1-name1,
wa_kna1-telf1,
wa_kna1-ort01,
wa_kna1-regio,
wa_kna1-land1,
wa_kna1-spras.
CLEAR wa_kna1.
ENDLOOP.

SKIP 2.
WRITE :/ 'Number of record are:' COLOR 2, gv_kna1_rec COLOR 2.

endform. " DISPLAY_KNA1_DATA


*&---------------------------------------------------------------------*
*& Form KNA1_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form KNA1_HEADER .

WRITE :/10 'SOLD-TO-PARTY INFOMATION' COLOR 7.


SKIP.
ULINE.

endform. " KNA1_HEADER


*&---------------------------------------------------------------------*
*& Form GET_T001_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form GET_T001_DATA .

***fetch company data


SELECT bukrs
butxt
ort01
land1
spras FROM t001
INTO TABLE it_t001
WHERE bukrs = gv_fval.
IF sy-subrc = 0.
***check no. of records
DESCRIBE TABLE it_t001 LINES gv_t001_rec.

***display sales item info.


PERFORM display_t001_data.
ELSE.
MESSAGE e006(zv_msg_aug).
ENDIF.

endform. " GET_T001_DATA


*&---------------------------------------------------------------------*
*& Form DISPLAY_T001_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form DISPLAY_T001_DATA .

LOOP AT it_t001 INTO wa_t001.


WRITE :/ wa_t001-bukrs,
wa_t001-butxt,
wa_t001-ort01,
wa_t001-land1,
wa_t001-spras.
CLEAR wa_t001.
ENDLOOP.

SKIP 2.
WRITE :/ 'Number of record are:' COLOR 2, gv_t001_rec COLOR 2.

endform. " DISPLAY_T001_DATA


*&---------------------------------------------------------------------*
*& Form T001_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form T001_HEADER .

WRITE :/10 'COMPANY CODE INFOMATION' COLOR 7.


SKIP.
ULINE.

endform. " T001_HEADER

Potrebbero piacerti anche