ZMM_BATCH_CREATE
*&---------------------------------------------------------------------*
*& Report ZMM_BATCH_CREATE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZMM_BATCH_CREATE .
TYPE-POOLS: slis.
*----------------------------------------------------------------------
* Deklaration der globalen Variablen
*----------------------------------------------------------------------
DATA:
g_repid LIKE sy-repid.
*** Fuer ALV
DATA:
* Feldkatalog fuer ALV
gt_fieldcat TYPE slis_t_fieldcat_alv,
* Callback routines
g_status_set TYPE slis_formname VALUE 'SET_STATUS',
g_user_command TYPE slis_formname VALUE 'USER_COMMAND',
* List layout description
gs_layout TYPE slis_layout_alv,
* Funktionscodes, die vom Status ausgeschlossen werden sollen
gt_excluding TYPE slis_t_extab.
DATA : BEGIN OF i_tab OCCURS 100,
matnr LIKE mara-matnr, "Malzeme numarası
BATCH like BAPIBATCHKEY-BATCH, "Batch
werks LIKE marc-werks. "Üretim yeri
DATA : END OF i_tab.
DATA : BEGIN OF result OCCURS 100,
material LIKE bapimathead-material, "Malzeme numarası
plant LIKE bapi_marc-plant, "Üretim yeri
type LIKE bapiret2-type ,
message LIKE bapiret2-message.
DATA : END OF result.
DATA : return LIKE bapiret2 occurs 100 with header line.
DATA : fname(256).
DATA : pc_file TYPE string.
PARAMETERS: p_file(128) DEFAULT 'c:\batch.txt' LOWER CASE
OBLIGATORY.
START-OF-SELECTION.
PERFORM upload_itab.
PERFORM run_bapi.
perform write_result.
*&---------------------------------------------------------------------*
*& Form upload_itab
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form upload_itab .
pc_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = pc_file
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = i_tab
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
gui_refuse_filetransfer = 8
OTHERS = 9.
endform. " upload_itab
*&---------------------------------------------------------------------*
*& Form run_bapi
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form run_bapi .
loop at i_tab.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = i_tab-matnr
IMPORTING
output = i_tab-matnr.
CALL FUNCTION 'BAPI_BATCH_CREATE'
EXPORTING
material = i_tab-matnr
BATCH = i_tab-batch
PLANT = i_tab-werks
* BATCHATTRIBUTES =
* BATCHCONTROLFIELDS =
* BATCHSTORAGELOCATION =
* INTERNALNUMBERCOM =
* EXTENSION1 =
* IMPORTING
* BATCH =
* BATCHATTRIBUTES =
TABLES
RETURN = return
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
.
loop at return.
MOVE-CORRESPONDING i_tab TO result.
MOVE-CORRESPONDING return TO result.
APPEND result. CLEAR result.
endloop.
endloop.
endform. " run_bapi
*&---------------------------------------------------------------------*
*& Form write_result
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form write_result .
g_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = g_repid
i_internal_tabname = 'RESULT'
i_inclname = g_repid
CHANGING
ct_fieldcat = gt_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
* i_callback_pf_status_set = g_status_set
* i_callback_user_command = g_user_command
* is_layout = gs_layout
it_fieldcat = gt_fieldcat
TABLES
t_outtab = result
EXCEPTIONS
program_error = 1
OTHERS = 2.
endform. " write_result
*& Report ZMM_BATCH_CREATE *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZMM_BATCH_CREATE .
TYPE-POOLS: slis.
*----------------------------------------------------------------------
* Deklaration der globalen Variablen
*----------------------------------------------------------------------
DATA:
g_repid LIKE sy-repid.
*** Fuer ALV
DATA:
* Feldkatalog fuer ALV
gt_fieldcat TYPE slis_t_fieldcat_alv,
* Callback routines
g_status_set TYPE slis_formname VALUE 'SET_STATUS',
g_user_command TYPE slis_formname VALUE 'USER_COMMAND',
* List layout description
gs_layout TYPE slis_layout_alv,
* Funktionscodes, die vom Status ausgeschlossen werden sollen
gt_excluding TYPE slis_t_extab.
DATA : BEGIN OF i_tab OCCURS 100,
matnr LIKE mara-matnr, "Malzeme numarası
BATCH like BAPIBATCHKEY-BATCH, "Batch
werks LIKE marc-werks. "Üretim yeri
DATA : END OF i_tab.
DATA : BEGIN OF result OCCURS 100,
material LIKE bapimathead-material, "Malzeme numarası
plant LIKE bapi_marc-plant, "Üretim yeri
type LIKE bapiret2-type ,
message LIKE bapiret2-message.
DATA : END OF result.
DATA : return LIKE bapiret2 occurs 100 with header line.
DATA : fname(256).
DATA : pc_file TYPE string.
PARAMETERS: p_file(128) DEFAULT 'c:\batch.txt' LOWER CASE
OBLIGATORY.
START-OF-SELECTION.
PERFORM upload_itab.
PERFORM run_bapi.
perform write_result.
*&---------------------------------------------------------------------*
*& Form upload_itab
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form upload_itab .
pc_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = pc_file
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = i_tab
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
gui_refuse_filetransfer = 8
OTHERS = 9.
endform. " upload_itab
*&---------------------------------------------------------------------*
*& Form run_bapi
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form run_bapi .
loop at i_tab.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = i_tab-matnr
IMPORTING
output = i_tab-matnr.
CALL FUNCTION 'BAPI_BATCH_CREATE'
EXPORTING
material = i_tab-matnr
BATCH = i_tab-batch
PLANT = i_tab-werks
* BATCHATTRIBUTES =
* BATCHCONTROLFIELDS =
* BATCHSTORAGELOCATION =
* INTERNALNUMBERCOM =
* EXTENSION1 =
* IMPORTING
* BATCH =
* BATCHATTRIBUTES =
TABLES
RETURN = return
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
* IMPORTING
* RETURN =
.
loop at return.
MOVE-CORRESPONDING i_tab TO result.
MOVE-CORRESPONDING return TO result.
APPEND result. CLEAR result.
endloop.
endloop.
endform. " run_bapi
*&---------------------------------------------------------------------*
*& Form write_result
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form write_result .
g_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = g_repid
i_internal_tabname = 'RESULT'
i_inclname = g_repid
CHANGING
ct_fieldcat = gt_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
* i_callback_pf_status_set = g_status_set
* i_callback_user_command = g_user_command
* is_layout = gs_layout
it_fieldcat = gt_fieldcat
TABLES
t_outtab = result
EXCEPTIONS
program_error = 1
OTHERS = 2.
endform. " write_result

0 Comments:
Post a Comment
<< Home