*&---------------------------------------------------------------------*
*& Report Z_KNA1_HERO_CUS
*&
*& Extract SAP Data For General Data in Customer Master SAP TABLE KNA1 Into cvs File Called KNA1.csv
*&---------------------------------------------------------------------*
*& Developed By - Vivek Nigam
*& Date - 13/04/2024
*& Modified by-Vivek Nigam
*& Date - 03/07/2024 - Added INNER JOIN WITH KNB1 & ADDED WHERE CLAUSE TO FILTER DATA BASED ON
*& LEGAL ENTITY NAME / COMPANY CODE
*& Date - 25/07/2024- ADDED SELLECTION SCREEN TO SELECT FILE OUTPUT PATH AND LEGAL ENTITY NAME TO FILTER DATA
*& LEGAL ENTITY NAME / COMPANY CODE
*& Date - 26/07/2024- ADDED VARIANTS FOR SCHEDULING BASED ON SELECTION SCREEN
*& Date - 01/08/2024 ADDED UK61 FOR NEW CAST CENTER / LEGAL ENTITY
*&---------------------------------------------------------------------*
*&--KUNNR MANDT LAND1 MCOD1 NAME1 NAME2 NAME3 STRAS ORT01 PSTLZ SPRAS LZONE KTOKD
*&--KUNNR MANDT LAND1 MCOD1 NAME1 NAME2 NAME3 STRAS ORT01 PSTLZ SPRAS LZONE KTOKD
*&-*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extention Issue & UTF-8 Encoding: 4110--------------------------------------------------------------------*
***https://lpl.sharepoint.com/:x:/r/sites/HEROProgramme-02.Pilot-UK/_layouts/15/Doc.aspx?sourcedoc=%7BEF12D4EF-081C-43AD-9387-D73B90C44DC6%7D&file=00.HERO_design_source_schema_cusomer_SAP.xlsx&action=default&mobileredirect=true
REPORT Z_KNA1_HERO_CUS.
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 : OPPATH LIKE RLGRAP-FILENAME DEFAULT 'C:\tmp\TT\KNA1.csv'.
*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\KNA1.csv'.
PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\KNA1.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.
*&------PARAMETERS p_lname TYPE char5.
*&------PARAMETERS p_oppath TYPE char50.
*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lname.
*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_oppath.
*&------AT SELECTION-SCREEN ON VALUE-REQUEST FOR OPPATH.
START-OF-SELECTION.
*&------WRITE: / 'LEGAL ENTITY NAME:', ENTITY.
*&------WRITE: / 'OUTPUT FILE PATH:', OPATH.
**KUNNR MANDT LAND1 MCOD1 NAME1 NAME2 NAME3 STRAS ORT01 PSTLZ SPRAS LZONE KTOKD
type-pools:TRUXS.
data: begin of itab occurs 0,
KUNNR like KNA1-KUNNR,
MANDT like KNA1-MANDT,
LAND1 like KNA1-LAND1,
MCOD1 like KNA1-MCOD1,
NAME1 like KNA1-NAME1,
NAME2 like KNA1-NAME2,
NAME3 like KNA1-NAME3,
STRAS like KNA1-STRAS,
ORT01 like KNA1-ORT01,
PSTLZ like KNA1-PSTLZ,
SPRAS like KNA1-SPRAS,
LZONE like KNA1-LZONE,
KTOKD like KNA1-KTOKD,
* BUKRS like KNB1-BUKRS,
end of itab.
data: itab1 type TRUXS_T_TEXT_DATA.
SELECT DISTINCT
KNA1~KUNNR
KNA1~MANDT
KNA1~LAND1
KNA1~MCOD1
KNA1~NAME1
KNA1~NAME2
KNA1~NAME3
KNA1~STRAS
KNA1~ORT01
KNA1~PSTLZ
KNA1~SPRAS
KNA1~LZONE
KNA1~KTOKD
* KNB1~BUKRS
from KNA1 INNER JOIN KNB1 ON KNA1~KUNNR = KNB1~KUNNR
into table itab
WHERE KNB1~BUKRS = ENTITY.
******"header data -- ADD HEADER IN THE CSV FILE AFTER THIS
***itab-KUNNR = 'KUNNR'.
***itab-MANDT = 'MANDT'.
***itab-LAND1 = 'LAND1'.
***itab-MCOD1 = 'MCOD1'.
***itab-NAME1 = 'NAME1'.
***itab-NAME2 = 'NAME2'.
***itab-NAME3 = 'NAME3'.
***itab-STRAS = 'STRAS'.
***itab-ORT01 = 'ORT01'.
***itab-PSTLZ = 'PSTLZ'.
***itab-SPRAS = 'SPRAS'.
***itab-LZONE = 'LZONE'.
***itab-KTOKD = 'KTOKD'.
**Insert itab index 1.
DATA: lt_output TYPE TABLE OF string,
lv_header TYPE string,
lv_line TYPE string,
lv_filename TYPE string.
lv_filename = OPATH.
lv_header = 'KUNNR;MANDT;LAND1;MCOD1;NAME1;NAME2;NAME3;STRAS;ORT01;PSTLZ;SPRAS;LZONE;KTOKD'.
* Add the header to the output table
APPEND lv_header TO lt_output.
*CLOSE DATASET lv_filename.
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.
APPEND LINES OF itab1 To lt_output.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = OPATH
CODEPAGE = '4110' "4310 codepage 4310 encodes as UTF-8.
TABLES
data_tab = lt_output
EXCEPTIONS
OTHERS = 1.
No comments:
Post a Comment