*&---------------------------------------------------------------------*
*& Report ZVMASS_METER_UPLOAD
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZVMASS_METER_UPLOAD.
SELECTION-SCREEN BEGIN OF BLOCK abc WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS : p_file TYPE rlgrap-filename.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK abc.
TYPES : BEGIN OF ty_tab,
partner TYPE bu_partner,
name_f TYPE bu_namep_f,
name_l TYPE bu_namep_l,
mru TYPE ableinh,
ABLBELNR TYPE ABLBELNR,
city TYPE ad_city1,
street TYPE ad_street,
house_num TYPE ad_hsnm1,
haus TYPE tplma,
vstelle TYPE vstelle,
targetmrdate TYPE adatsoll,
equipment TYPE equnr,
device TYPE geraet,
register TYPE e_zwnummer,
actualmrdate TYPE adattats,
prv_reading TYPE zpf_readingresult,
readingresult TYPE zpf_readingresult,
unit_billing TYPE e_massbill,
mr_note TYPE ablhinw,
END OF ty_tab.
DATA : it_tab TYPE STANDARD TABLE OF ty_tab,
wa_tab TYPE ty_tab.
DATA : it_raw TYPE truxs_t_text_data,
it_data TYPE TABLE OF alsmex_tabline.
DATA : lt_message TYPE TABLE OF bapireturn1,
lt_readings TYPE STANDARD TABLE OF bapieablu,
wa_readings TYPE bapieablu,
l_grid TYPE REF TO cl_salv_table,
lr_functions TYPE REF TO cl_salv_functions_list,
l_display TYPE REF TO cl_salv_display_settings,
gc_true TYPE sap_bool VALUE 'X'. "include for data declerations
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM GET_FILE. " Subroutine to Get file name
PERFORM EXCEL_ITAB. "Subroutine to retrive data from excel to interanal tab
PERFORM MR_UPLOAD. "Subroutine to upload data
*&---------------------------------------------------------------------*
*& Form excel_itab
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM EXCEL_ITAB .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_LINE_HEADER = 'X'
I_TAB_RAW_DATA = IT_RAW " WORK TABLE
I_FILENAME = P_FILE
TABLES
I_TAB_CONVERTED_DATA = IT_TAB[] "ACTUAL DATA
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.
LOOP AT IT_TAB INTO WA_TAB.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_TAB-ABLBELNR
IMPORTING
OUTPUT = WA_TAB-ABLBELNR.
WA_READINGS-MRIDNUMBER = WA_TAB-ABLBELNR .
WA_READINGS-MRREASON = '01'."wa_tab-MrReason.
WA_READINGS-SERIALNO = WA_TAB-DEVICE."serialno.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_TAB-REGISTER
IMPORTING
OUTPUT = WA_TAB-REGISTER.
WA_READINGS-REGISTER = WA_TAB-REGISTER.
WA_READINGS-READINGRESULT = WA_TAB-READINGRESULT.
WA_READINGS-TARGETMRDATE = WA_TAB-TARGETMRDATE.
WA_READINGS-ACTUALMRDATE = WA_TAB-ACTUALMRDATE.
WA_READINGS-MRDATEFORBILLING = WA_TAB-ACTUALMRDATE."mrdateforbilling.
APPEND WA_READINGS TO LT_READINGS.
CLEAR WA_READINGS.
ENDLOOP.
ENDFORM. " excel_itab
*&---------------------------------------------------------------------*
*& Form mr_upload
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MR_UPLOAD .
CALL FUNCTION 'BAPI_MTRREADDOC_UPLOAD'
TABLES
METERREADINGRESULTS = LT_READINGS
RETURN = LT_MESSAGE.
CALL METHOD CL_SALV_TABLE=>FACTORY
IMPORTING
R_SALV_TABLE = L_GRID
CHANGING
T_TABLE = LT_MESSAGE.
LR_FUNCTIONS = L_GRID->GET_FUNCTIONS( ).
LR_FUNCTIONS->SET_ALL( GC_TRUE ).
L_DISPLAY = L_GRID->GET_DISPLAY_SETTINGS( ).
L_DISPLAY->SET_STRIPED_PATTERN( CL_SALV_DISPLAY_SETTINGS=>TRUE ).
L_GRID->DISPLAY( ).
ENDFORM. " mr_upload
*&---------------------------------------------------------------------*
*& Form get_file
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_FILE .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = P_FILE.
ENDFORM. " get_file
*& Report ZVMASS_METER_UPLOAD
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZVMASS_METER_UPLOAD.
SELECTION-SCREEN BEGIN OF BLOCK abc WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS : p_file TYPE rlgrap-filename.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK abc.
TYPES : BEGIN OF ty_tab,
partner TYPE bu_partner,
name_f TYPE bu_namep_f,
name_l TYPE bu_namep_l,
mru TYPE ableinh,
ABLBELNR TYPE ABLBELNR,
city TYPE ad_city1,
street TYPE ad_street,
house_num TYPE ad_hsnm1,
haus TYPE tplma,
vstelle TYPE vstelle,
targetmrdate TYPE adatsoll,
equipment TYPE equnr,
device TYPE geraet,
register TYPE e_zwnummer,
actualmrdate TYPE adattats,
prv_reading TYPE zpf_readingresult,
readingresult TYPE zpf_readingresult,
unit_billing TYPE e_massbill,
mr_note TYPE ablhinw,
END OF ty_tab.
DATA : it_tab TYPE STANDARD TABLE OF ty_tab,
wa_tab TYPE ty_tab.
DATA : it_raw TYPE truxs_t_text_data,
it_data TYPE TABLE OF alsmex_tabline.
DATA : lt_message TYPE TABLE OF bapireturn1,
lt_readings TYPE STANDARD TABLE OF bapieablu,
wa_readings TYPE bapieablu,
l_grid TYPE REF TO cl_salv_table,
lr_functions TYPE REF TO cl_salv_functions_list,
l_display TYPE REF TO cl_salv_display_settings,
gc_true TYPE sap_bool VALUE 'X'. "include for data declerations
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM GET_FILE. " Subroutine to Get file name
PERFORM EXCEL_ITAB. "Subroutine to retrive data from excel to interanal tab
PERFORM MR_UPLOAD. "Subroutine to upload data
*&---------------------------------------------------------------------*
*& Form excel_itab
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM EXCEL_ITAB .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_LINE_HEADER = 'X'
I_TAB_RAW_DATA = IT_RAW " WORK TABLE
I_FILENAME = P_FILE
TABLES
I_TAB_CONVERTED_DATA = IT_TAB[] "ACTUAL DATA
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.
LOOP AT IT_TAB INTO WA_TAB.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_TAB-ABLBELNR
IMPORTING
OUTPUT = WA_TAB-ABLBELNR.
WA_READINGS-MRIDNUMBER = WA_TAB-ABLBELNR .
WA_READINGS-MRREASON = '01'."wa_tab-MrReason.
WA_READINGS-SERIALNO = WA_TAB-DEVICE."serialno.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_TAB-REGISTER
IMPORTING
OUTPUT = WA_TAB-REGISTER.
WA_READINGS-REGISTER = WA_TAB-REGISTER.
WA_READINGS-READINGRESULT = WA_TAB-READINGRESULT.
WA_READINGS-TARGETMRDATE = WA_TAB-TARGETMRDATE.
WA_READINGS-ACTUALMRDATE = WA_TAB-ACTUALMRDATE.
WA_READINGS-MRDATEFORBILLING = WA_TAB-ACTUALMRDATE."mrdateforbilling.
APPEND WA_READINGS TO LT_READINGS.
CLEAR WA_READINGS.
ENDLOOP.
ENDFORM. " excel_itab
*&---------------------------------------------------------------------*
*& Form mr_upload
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM MR_UPLOAD .
CALL FUNCTION 'BAPI_MTRREADDOC_UPLOAD'
TABLES
METERREADINGRESULTS = LT_READINGS
RETURN = LT_MESSAGE.
CALL METHOD CL_SALV_TABLE=>FACTORY
IMPORTING
R_SALV_TABLE = L_GRID
CHANGING
T_TABLE = LT_MESSAGE.
LR_FUNCTIONS = L_GRID->GET_FUNCTIONS( ).
LR_FUNCTIONS->SET_ALL( GC_TRUE ).
L_DISPLAY = L_GRID->GET_DISPLAY_SETTINGS( ).
L_DISPLAY->SET_STRIPED_PATTERN( CL_SALV_DISPLAY_SETTINGS=>TRUE ).
L_GRID->DISPLAY( ).
ENDFORM. " mr_upload
*&---------------------------------------------------------------------*
*& Form get_file
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_FILE .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = P_FILE.
ENDFORM. " get_file
No comments:
Post a Comment