3 weeks ago - last edited 3 weeks ago
ABAP Program - Z_KNVP_CUSTOMER
-----ABAP PROGRAM START FROM HERE---------------------------------
REPORT Z_KNVP_CUSTOMER.
TYPE-POOLS: VRM.
DATA: NAME TYPE VRM_ID,
LIST TYPE VRM_VALUES,
VALUE LIKE LINE OF LIST.
PARAMETERS: ENTITY(10) AS LISTBOX VISIBLE LENGTH 10.
PARAMETERS : OPATH TYPE STRING DEFAULT '\\SERVERNAME\tmp\KNVP.csv'.
AT SELECTION-SCREEN OUTPUT.
NAME = 'ENTITY'.
VALUE-KEY = 'UK01'.
VALUE-TEXT = 'UK01'.
APPEND VALUE TO LIST.
VALUE-KEY = 'UK75'.
VALUE-TEXT = 'UK75'.
APPEND VALUE TO LIST.
VALUE-KEY = 'UK21'.
VALUE-TEXT = 'UK21'.
APPEND VALUE TO LIST.
VALUE-KEY = 'UK31'.
VALUE-TEXT = 'UK31'.
APPEND VALUE TO LIST.
VALUE-KEY = 'UK41'.
VALUE-TEXT = 'UK41'.
APPEND VALUE TO LIST.
VALUE-KEY = 'UK02'.
VALUE-TEXT = 'UK02'.
APPEND VALUE TO LIST.
VALUE-KEY = 'UK73'.
VALUE-TEXT = 'UK73'.
APPEND VALUE TO LIST.
VALUE-KEY = 'UK04'.
VALUE-TEXT = 'UK04'.
APPEND VALUE TO LIST.
VALUE-KEY = 'UK61'.
VALUE-TEXT = 'UK61'.
APPEND VALUE TO LIST.
CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.
START-OF-SELECTION.
*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.
*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.
type-pools:TRUXS.
data: begin of itab occurs 0,
KUNNR like KNVP-KUNNR,
PARVW like KNVP-PARVW,
KUNN2 like KNVP-KUNN2,
BUKRS like KNB1-BUKRS,
end of itab.
data: itab1 type TRUXS_T_TEXT_DATA.
SELECT KNVP~KUNNR
KNVP~PARVW
KNVP~KUNN2
KNB1~BUKRS
FROM KNVP INNER JOIN KNB1 ON KNVP~KUNNR = KNB1~KUNNR
INNER JOIN KNA1 ON KNB1~KUNNR = KNA1~KUNNR
into table itab
WHERE KNB1~BUKRS = ENTITY.
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
I_FIELD_SEPERATOR = ','
TABLES
I_TAB_SAP_DATA = itab
CHANGING
I_TAB_CONVERTED_DATA = itab1
EXCEPTIONS
CONVERSION_FAILED = 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.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = OPATH
TABLES
data_tab = itab1
EXCEPTIONS
OTHERS = 1.