*&---------------------------------------------------------------------*
*& Report Z_KNB1_HERO_CUS
*&
*& Extract SAP Data For Customer Master (Company Code) SAP TABLE KNB1 Into cvs File Called KNB1.csv
*&---------------------------------------------------------------------*
*& Developed By - Vivek Nigam
*& Date - 12/04/2024
*& Modified by-Vivek Nigam
*& Date - 05/07/2024- Added BUKRS FIELD FROM KNB1 AND ADDED WHARE CLAUSE SO THAT DATA CAN BE EXTRACTED 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 ZWELS ZTERM
*&-*Modified By Vivek Nigam Dated On 05/12/2024 @ 09:48 AM To Fix Lover Case File Extension Issue & UTF-8 Encoding: 4110
*Modified By Vivek Nigam Dated On 05/12/2024 @ 10:51 AM to fix output path0--------------------------------------------------------------------*
***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
*Issue Found After Transported on 06/12/2024 -- File header Has Common in Place of Sami-Colon
REPORT Z_KNB1_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\KNB1.csv'.
*PARAMETERS : OPATH TYPE STRING DEFAULT '\\UKCROAPTST\tmp\Interfaces\HFT\SAP_Hero_Prod\Raw\IN\UK\UK01\KNB1.csv'.
PARAMETERS : OPATH TYPE STRING LOWER CASE DEFAULT '\\UKDATWNINTP01\SAP_Hero_OAT\Raw\IN\UK\UK01\KNB1.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.
type-pools:TRUXS.
data: begin of itab occurs 0,
kunnr like knb1-kunnr,
zwels like knb1-zwels,
zterm like knb1-zterm,
* BUKRS like knb1-BUKRS,
end of itab.
data: itab1 type TRUXS_T_TEXT_DATA.
select DISTINCT
KNB1~kunnr
KNB1~zwels
KNB1~zterm
* KNB1~BUKRS
FROM KNB1
into table itab
WHERE KNB1~BUKRS = ENTITY.
*"header data
*itab-KUNNR = 'KUNNR'.
*itab-ZWELS = 'ZWELS'.
*itab-ZTERM = 'ZTERM'.
*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;ZWELS;ZTERM'.
* 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 = itab1
data_tab = lt_output
EXCEPTIONS
OTHERS = 1.
No comments:
Post a Comment