Go on link..

link us with ...

Showing posts with label Outward movement. Show all posts
Showing posts with label Outward movement. Show all posts

Tuesday, December 21, 2010

UnBlock OBD for Updating Batch using Outward movement

*&---------------------------------------------------------------------*
*& Report ZVVF_MR025_WEIGHBRIDGE_SDBLOCK *
*&---------------------------------------------------------------------*

REPORT ZVVF_MR025_WEIGHBRIDGE_SDBLOCK no standard page heading line-size
110 MESSAGE-ID ZMM .

*----------------------------------------------------------------------
** Module Sales *
*----------------------------------------------------------------------
** Objective: UnBlock OBD for Updating Batch
** Program : Updates tables ( ) Download data ( )
** Output Lists (X) ALV
**
** Technical Spec No :VVF_TS12_MM025_WB_OBD_UNBLOCK_V1.0
** Date Created :
** Author :
** Location :
**---------------------------------------------------------------------*
* External Dependencies
**---------------------------------------------------------------------*
*
**---------------------------------------------------------------------*
* Amendment History
**---------------------------------------------------------------------*
* Who Change ID Reason
*** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
*---------------------------------------------------------------------**
* Type-pools
*----------------------------------------------------------------------*
TYPE-POOLS : slis.
*---------------------------------------------------------------------*
**TABLES :
*---------------------------------------------------------------------*
TABLES : ZVVF_MT25_OUTMOV, "Weigh Bridge Down Loaded Details
ekpo, " Purchasing Document Item
MKPF. " Header: Material Document
*---------------------------------------------------------------------*
**CONSTANTS :
*---------------------------------------------------------------------*
*--- For ALV ----*
CONSTANTS: c_top_of_page_db TYPE slis_formname VALUE 'TOP_OF_PAGE_DB'.

*---------------------------------------------------------------------*
**DATA :
*---------------------------------------------------------------------*
DATA : W_REPID LIKE SY-REPID,
W_ANS type n,
w_ok like sy-ucomm,
W_MODE LIKE CTU_PARAMS-DISMODE.

*---------------------------------------------------------------------*
**INTERNAL TABLES :
*---------------------------------------------------------------------*
*--- For ALV ----*
DATA: it_list_top_of_page TYPE slis_t_listheader,
it_events TYPE slis_t_event,
it_fieldcat TYPE slis_t_fieldcat_alv.
*---------------*
DATA: IT_PODAT TYPE TABLE OF ZVVF_MT25_OUTMOV WITH HEADER LINE.
*---------------------------------------------------------------------*
**WORK AREAS
*---------------------------------------------------------------------*
DATA: WA_PODAT LIKE LINE OF IT_PODAT,
WA_layout TYPE slis_layout_alv. " For ALV

*---------------------------------------------------------------------*
**SELECTION SCREEN
*---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT-001.
select-options : so_DATE for ZVVF_MT25_OUTMOV-zdate obligatory.
SELECTION-SCREEN END OF BLOCK MAIN .

*---------------------------------------------------------------------*
**INITIALIZATION :
*---------------------------------------------------------------------*
INITIALIZATION.

w_repid = SY-REPID.
*---------------------------------------------------------------------*
**AT SELECTION SCREEN :
*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
PERFORM Check_DATA.

*---------------------------------------------------------------------*
**START OF SELECTION :
*---------------------------------------------------------------------*
START-OF-SELECTION.

*LOOP AT IT_podat INTO WA_podat.
*PERFORM MATNR_FORMAT.
*MODIFY IT_podat FROM WA_podat TRANSPORTING MATNR.
*endloop.

*---------------------------------------------------------------------*
**END OF SELECTION :
*---------------------------------------------------------------------*
END-OF-SELECTION.

PERFORM fieldcat_init USING it_fieldcat[].
PERFORM eventtab_build USING it_events[].
PERFORM comment_build USING it_list_top_of_page[].
PERFORM layout_build USING WA_layout.
PERFORM write_alv_grid.

*&---------------------------------------------------------------------*
*& Form Check_DATA
*&---------------------------------------------------------------------*
FORM Check_DATA.

**Select all credit memo which are not yet posted

select * from ZVVF_MT25_OUTMOV into corresponding fields of table
it_podat where
zdate in so_DATE AND
Zupdt NE 'X' and
zblck = 'X' and
vbeln ne ' ' AND
GMENGE NE ' ' AND
TMENGE NE ' ' .
IF SY-SUBRC NE 0.
MESSAGE E005.
ENDIF.
endform. "Check_DATA

*&--------------------------------------------------------------------*
*& Form fieldcat_init
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->IT_FIELDCATtext
*---------------------------------------------------------------------*
FORM fieldcat_init USING lt_fieldcat TYPE slis_t_fieldcat_alv.
DATA : wa_fieldcat TYPE slis_fieldcat_alv.
DATA :w_pos TYPE i VALUE 0.



w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZBLCK'.
wa_fieldcat-seltext_m = 'UnBlock OBD'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '1'.
wa_fieldcat-checkbox = 'X'.
wa_fieldcat-EDIT = 'X'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'VBELN'.
wa_fieldcat-seltext_m = 'Delivery No'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-seltext_m = 'Plant'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'GMENGE'.
wa_fieldcat-seltext_m = 'Gross Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.


w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'TMENGE'.
wa_fieldcat-seltext_m = 'Tare Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZLFIMG'.
wa_fieldcat-seltext_m = 'Net Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-seltext_m = 'Outbond Delivery Qty'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.


ENDFORM. " fieldcat_init

*&---------------------------------------------------------------------*
*& Form eventtab_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_it_EVENTS[] text
*----------------------------------------------------------------------*
FORM eventtab_build USING lt_events TYPE slis_t_event.
DATA: wa_event TYPE slis_alv_event.
DATA: c_top_of_page TYPE slis_formname.

c_top_of_page = c_top_of_page_db.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = lt_events.
READ TABLE lt_events WITH KEY name = slis_ev_top_of_page
INTO wa_event.
IF sy-subrc <> 0.
MOVE c_top_of_page TO wa_event-form.
APPEND wa_event TO lt_events.
ELSE.
MOVE c_top_of_page TO wa_event-form.
MODIFY lt_events FROM wa_event INDEX sy-tabix .
ENDIF.

ENDFORM. " eventtab_build

*&---------------------------------------------------------------------*
*& Form comment_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_it_LIST_TOP_OF_PAGE[] text
*----------------------------------------------------------------------*
FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.
DATA: wa_line TYPE slis_listheader.
CLEAR wa_line.
wa_line-typ = 'H'.
wa_line-info = 'VVF LTD. Mumbai'.
APPEND wa_line TO lt_top_of_page.

wa_line-typ = 'H'.
wa_line-info = SY-ULINE.
APPEND wa_line TO lt_top_of_page.

wa_line-typ = 'H'.
wa_line-info = 'UnBlock PO for Updating Batch'.
APPEND wa_line TO lt_top_of_page.

ENDFORM. " comment_build

*&---------------------------------------------------------------------*
*& Form layout_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_WA_layout text
*----------------------------------------------------------------------*
FORM layout_build USING wa_layout TYPE slis_layout_alv.
wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
wa_layout-no_totalline = 'X'.
* wa_layout-edit = 'X'.
ENDFORM. " layout_build

*&---------------------------------------------------------------------*
*& Form write_alv_grid
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM write_alv_grid. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = w_repid i_callback_user_command = 'USER_COMMAND' i_callback_PF_STATUS_SET = 'PF_STATUS' i_background_id = 'ALV_BACKGROUND' I_CALLBACK_TOP_OF_PAGE = c_top_of_page_db is_layout = WA_layout it_fieldcat = it_fieldcat[] it_events = it_events[] i_save = 'A' * I_DEFAULT = 'X' TABLES t_outtab = IT_PODAT EXCEPTIONS program_error = 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.





ENDFORM. " write_alv_grid

*&---------------------------------------------------------------------*
*& Form PF_STATUS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM PF_STATUS using extab type slis_t_extab.

SET PF-STATUS 'ZSTANDARD1'
.

ENDFORM. "PF_STATUS
*&---------------------------------------------------------------------*
*& Form USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM USER_COMMAND using OK_CODE type SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.

IF OK_CODE = '&DATA_SAVE'.
***blocking memo
LOOP AT IT_PODAT INTO WA_PODAT .

UPDATE ZVVF_MT25_OUTMOV SET
ZBLCK = WA_PODAT-ZBLCK
WHERE VBELN = WA_PODAT-VBELN AND
WERKS = WA_PODAT-WERKS .

ENDLOOP.

IF SY-SUBRC = 0.
MESSAGE S131.
set screen 0.
leave screen.
ENDIF.

***when back leave screen
ELSEIF OK_CODE = 'OUT'.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = text-003
TEXT_QUESTION = text-004
DEFAULT_BUTTON = '2'
DISPLAY_CANCEL_BUTTON = ' '
IMPORTING
ANSWER = w_ans
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2.
IF w_ans = '1'.
set screen 0.
leave screen.
ELSE.
leave screen.
ENDIF.
endif.
ENDFORM. "USER_COMMAND
*---------------------------------------------------------------------*
* FORM TOP_OF_PAGE_DB *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM TOP_OF_PAGE_DB.
*
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_list_top_of_page
i_logo = ' '.
ENDFORM. "top_of_page_db

*&--------------------------------------------------------------------*
*& Form MATNR_FORMAT
*&--------------------------------------------------------------------*
* MATNR FORMAT
*---------------------------------------------------------------------*
FORM MATNR_FORMAT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = WA_podat-MATNR
IMPORTING
OUTPUT = WA_podat-MATNR.
ENDFORM.

Block OBD from Updating Batch using Outward movement

*&---------------------------------------------------------------------*
*& Report ZVVF_MR025_WEIGHBRIDGE_SDBLOCK *
*&---------------------------------------------------------------------*

REPORT ZVVF_MR025_WEIGHBRIDGE_SDBLOCK no standard page heading line-size
110 MESSAGE-ID ZMM .

*----------------------------------------------------------------------
** Module Sales *
*----------------------------------------------------------------------
** Objective: Block OBD from Updating Batch
** Program : Updates tables ( ) Download data ( )
** Output Lists (X) ALV
**
** Technical Spec No :VVF_TS11_MM025_WB_OBD_BLOCK_V1.0
** Date Created :
** Author :
** Location :
**---------------------------------------------------------------------*
* External Dependencies
**---------------------------------------------------------------------*
*
**---------------------------------------------------------------------*
* Amendment History
**---------------------------------------------------------------------*
* Who Change ID Reason
*** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
*---------------------------------------------------------------------**
* Type-pools
*----------------------------------------------------------------------*
TYPE-POOLS : slis.
*---------------------------------------------------------------------*
**TABLES :
*---------------------------------------------------------------------*
TABLES : ZVVF_MT25_OUTMOV, "Weigh Bridge Down Loaded Details
ekpo, " Purchasing Document Item
MKPF. " Header: Material Document
*---------------------------------------------------------------------*
**CONSTANTS :
*---------------------------------------------------------------------*
*--- For ALV ----*
CONSTANTS: c_top_of_page_db TYPE slis_formname VALUE 'TOP_OF_PAGE_DB'.

*---------------------------------------------------------------------*
**DATA :
*---------------------------------------------------------------------*
DATA : W_REPID LIKE SY-REPID,
W_ANS type n,
w_ok like sy-ucomm,
W_MODE LIKE CTU_PARAMS-DISMODE.

*---------------------------------------------------------------------*
**INTERNAL TABLES :
*---------------------------------------------------------------------*
*--- For ALV ----*
DATA: it_list_top_of_page TYPE slis_t_listheader,
it_events TYPE slis_t_event,
it_fieldcat TYPE slis_t_fieldcat_alv.
*---------------*
DATA: IT_PODAT TYPE TABLE OF ZVVF_MT25_OUTMOV WITH HEADER LINE.
*---------------------------------------------------------------------*
**WORK AREAS
*---------------------------------------------------------------------*
DATA: WA_PODAT LIKE LINE OF IT_PODAT,
WA_layout TYPE slis_layout_alv. " For ALV

*---------------------------------------------------------------------*
**SELECTION SCREEN
*---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT-001.
select-options : so_DATE for ZVVF_MT25_OUTMOV-zdate obligatory.
SELECTION-SCREEN END OF BLOCK MAIN .

*---------------------------------------------------------------------*
**INITIALIZATION :
*---------------------------------------------------------------------*
INITIALIZATION.

w_repid = SY-REPID.
*---------------------------------------------------------------------*
**AT SELECTION SCREEN :
*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
PERFORM Check_DATA.

*---------------------------------------------------------------------*
**START OF SELECTION :
*---------------------------------------------------------------------*
START-OF-SELECTION.

*LOOP AT IT_podat INTO WA_podat.
*PERFORM MATNR_FORMAT.
*MODIFY IT_podat FROM WA_podat TRANSPORTING MATNR.
*endloop.

*---------------------------------------------------------------------*
**END OF SELECTION :
*---------------------------------------------------------------------*
END-OF-SELECTION.

PERFORM fieldcat_init USING it_fieldcat[].
PERFORM eventtab_build USING it_events[].
PERFORM comment_build USING it_list_top_of_page[].
PERFORM layout_build USING WA_layout.
PERFORM write_alv_grid.

*&---------------------------------------------------------------------*
*& Form Check_DATA
*&---------------------------------------------------------------------*
FORM Check_DATA.

**Select all OBD which are not yet posted

select * from ZVVF_MT25_OUTMOV into corresponding fields of table
it_podat where
zdate in so_DATE AND
Zupdt NE 'X' and
zblck = ' ' and
vbeln ne ' ' AND
GMENGE NE ' ' AND
TMENGE NE ' ' .


IF SY-SUBRC NE 0.
MESSAGE E005.
ENDIF.
endform. "Check_DATA

*&--------------------------------------------------------------------*
*& Form fieldcat_init
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->IT_FIELDCATtext
*---------------------------------------------------------------------*
FORM fieldcat_init USING lt_fieldcat TYPE slis_t_fieldcat_alv.
DATA : wa_fieldcat TYPE slis_fieldcat_alv.
DATA :w_pos TYPE i VALUE 0.



w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZBLCK'.
wa_fieldcat-seltext_m = 'Block OBD'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '1'.
wa_fieldcat-checkbox = 'X'.
wa_fieldcat-EDIT = 'X'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'VBELN'.
wa_fieldcat-seltext_m = 'Delivery No'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-seltext_m = 'Plant'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'GMENGE'.
wa_fieldcat-seltext_m = 'Gross Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.


w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'TMENGE'.
wa_fieldcat-seltext_m = 'Tare Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZLFIMG'.
wa_fieldcat-seltext_m = 'Net Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-seltext_m = 'Outbond Delivery Qty'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.


ENDFORM. " fieldcat_init

*&---------------------------------------------------------------------*
*& Form eventtab_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_it_EVENTS[] text
*----------------------------------------------------------------------*
FORM eventtab_build USING lt_events TYPE slis_t_event.
DATA: wa_event TYPE slis_alv_event.
DATA: c_top_of_page TYPE slis_formname.

c_top_of_page = c_top_of_page_db.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = lt_events.
READ TABLE lt_events WITH KEY name = slis_ev_top_of_page
INTO wa_event.
IF sy-subrc <> 0.
MOVE c_top_of_page TO wa_event-form.
APPEND wa_event TO lt_events.
ELSE.
MOVE c_top_of_page TO wa_event-form.
MODIFY lt_events FROM wa_event INDEX sy-tabix .
ENDIF.

ENDFORM. " eventtab_build

*&---------------------------------------------------------------------*
*& Form comment_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_it_LIST_TOP_OF_PAGE[] text
*----------------------------------------------------------------------*
FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.
DATA: wa_line TYPE slis_listheader.
CLEAR wa_line.
wa_line-typ = 'H'.
wa_line-info = 'VVF LTD. Mumbai'.
APPEND wa_line TO lt_top_of_page.

wa_line-typ = 'H'.
wa_line-info = SY-ULINE.
APPEND wa_line TO lt_top_of_page.

wa_line-typ = 'H'.
wa_line-info = 'Block PO from Updating Batch'.
APPEND wa_line TO lt_top_of_page.

ENDFORM. " comment_build

*&---------------------------------------------------------------------*
*& Form layout_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_WA_layout text
*----------------------------------------------------------------------*
FORM layout_build USING wa_layout TYPE slis_layout_alv.
wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
wa_layout-no_totalline = 'X'.
* wa_layout-edit = 'X'.
ENDFORM. " layout_build

*&---------------------------------------------------------------------*
*& Form write_alv_grid
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM write_alv_grid. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = w_repid i_callback_user_command = 'USER_COMMAND' i_callback_PF_STATUS_SET = 'PF_STATUS' i_background_id = 'ALV_BACKGROUND' I_CALLBACK_TOP_OF_PAGE = c_top_of_page_db is_layout = WA_layout it_fieldcat = it_fieldcat[] it_events = it_events[] i_save = 'A' * I_DEFAULT = 'X' TABLES t_outtab = IT_PODAT EXCEPTIONS program_error = 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.





ENDFORM. " write_alv_grid

*&---------------------------------------------------------------------*
*& Form PF_STATUS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM PF_STATUS using extab type slis_t_extab.

SET PF-STATUS 'ZSTANDARD1'
.

ENDFORM. "PF_STATUS
*&---------------------------------------------------------------------*
*& Form USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM USER_COMMAND using OK_CODE type SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.

IF OK_CODE = '&DATA_SAVE'.
***blocking memo
LOOP AT IT_PODAT INTO WA_PODAT .

UPDATE ZVVF_MT25_OUTMOV SET
ZBLCK = WA_PODAT-ZBLCK
WHERE vbeln = WA_PODAT-VBELN AND
werks = WA_PODAT-werks .

ENDLOOP.

IF SY-SUBRC = 0.
MESSAGE S131.
set screen 0.
leave screen.
ENDIF.

***when back leave screen
ELSEIF OK_CODE = 'OUT'.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = text-003
TEXT_QUESTION = text-004
DEFAULT_BUTTON = '2'
DISPLAY_CANCEL_BUTTON = ' '
IMPORTING
ANSWER = w_ans
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2.
IF w_ans = '1'.
set screen 0.
leave screen.
ELSE.
leave screen.
ENDIF.
endif.
ENDFORM. "USER_COMMAND
*---------------------------------------------------------------------*
* FORM TOP_OF_PAGE_DB *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM TOP_OF_PAGE_DB.
*
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_list_top_of_page
i_logo = ' '.
ENDFORM. "top_of_page_db

*&--------------------------------------------------------------------*
*& Form MATNR_FORMAT
*&--------------------------------------------------------------------*
* MATNR FORMAT
*---------------------------------------------------------------------*
FORM MATNR_FORMAT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = WA_podat-MATNR
IMPORTING
OUTPUT = WA_podat-MATNR.
ENDFORM.

OBD Status Report using Outward movement

*&---------------------------------------------------------------------*
*& Report ZVVF_MR025_WEIGHBRIDGE_SDDSPLY *
*&---------------------------------------------------------------------*

REPORT ZVVF_MR025_WEIGHBRIDGE_SDDSPLY no standard page heading line-size
110 MESSAGE-ID ZMM .

*----------------------------------------------------------------------
** Module Sales *
*----------------------------------------------------------------------
** Objective: OBD Status Report
** Program : Updates tables ( ) Download data ( )
** Output Lists (X) ALV
**
** Technical Spec No :VVF_TS13_MM025_OBD_STATUS_V1.0
** Date Created :
** Author :
** Location :
**---------------------------------------------------------------------*
* External Dependencies
**---------------------------------------------------------------------*
*
**---------------------------------------------------------------------*
* Amendment History
**---------------------------------------------------------------------*
* Who Change ID Reason
*** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
*---------------------------------------------------------------------**
* Type-pools
*----------------------------------------------------------------------*
TYPE-POOLS : slis.
*---------------------------------------------------------------------*
**TABLES :
*---------------------------------------------------------------------*
TABLES : ZVVF_MT25_OUTMOV, "Weigh Bridge Down Loaded Details
ekpo, " Purchasing Document Item
MKPF. " Header: Material Document
*---------------------------------------------------------------------*
**CONSTANTS :
*---------------------------------------------------------------------*
*--- For ALV ----*
CONSTANTS: c_top_of_page_db TYPE slis_formname VALUE 'TOP_OF_PAGE_DB'.

*---------------------------------------------------------------------*
**DATA :
*---------------------------------------------------------------------*
DATA : W_REPID LIKE SY-REPID,
W_ANS type n,
w_ok like sy-ucomm,
W_MODE LIKE CTU_PARAMS-DISMODE.

*---------------------------------------------------------------------*
**INTERNAL TABLES :
*---------------------------------------------------------------------*
*--- For ALV ----*
DATA: it_list_top_of_page TYPE slis_t_listheader,
it_events TYPE slis_t_event,
it_fieldcat TYPE slis_t_fieldcat_alv.
*---------------*
DATA: IT_PODAT TYPE TABLE OF ZVVF_MT25_OUTMOV WITH HEADER LINE.
*---------------------------------------------------------------------*
**WORK AREAS
*---------------------------------------------------------------------*
DATA: WA_PODAT LIKE LINE OF IT_PODAT,
WA_layout TYPE slis_layout_alv. " For ALV

*---------------------------------------------------------------------*
**SELECTION SCREEN
*---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK MAIN WITH FRAME TITLE TEXT-001.
select-options : so_DATE for MKPF-BUDAT obligatory.
SELECTION-SCREEN END OF BLOCK MAIN .

*---------------------------------------------------------------------*
**INITIALIZATION :
*---------------------------------------------------------------------*
INITIALIZATION.

w_repid = SY-REPID.
*---------------------------------------------------------------------*
**AT SELECTION SCREEN :
*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
PERFORM Check_DATA.

*---------------------------------------------------------------------*
**START OF SELECTION :
*---------------------------------------------------------------------*
START-OF-SELECTION.
LOOP AT IT_podat INTO WA_podat.
PERFORM MATNR_FORMAT.
MODIFY IT_podat FROM WA_podat TRANSPORTING MATNR.
endloop.

*---------------------------------------------------------------------*
**END OF SELECTION :
*---------------------------------------------------------------------*
END-OF-SELECTION.

PERFORM fieldcat_init USING it_fieldcat[].
PERFORM eventtab_build USING it_events[].
PERFORM comment_build USING it_list_top_of_page[].
PERFORM layout_build USING WA_layout.
PERFORM write_alv_grid.

*&---------------------------------------------------------------------*
*& Form Check_DATA
*&---------------------------------------------------------------------*
FORM Check_DATA.

**Select all credit memo which are not yet posted

select * from ZVVF_MT25_OUTMOV into corresponding fields of table
it_podat where
ZDATE in so_DATE.
IF SY-SUBRC NE 0.
MESSAGE E005.
ENDIF.
endform. "Check_DATA

*&--------------------------------------------------------------------*
*& Form fieldcat_init
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->IT_FIELDCATtext
*---------------------------------------------------------------------*
FORM fieldcat_init USING lt_fieldcat TYPE slis_t_fieldcat_alv.
DATA : wa_fieldcat TYPE slis_fieldcat_alv.
DATA :w_pos TYPE i VALUE 0.


w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZPOST'.
wa_fieldcat-seltext_m = 'OBD Posted to WeighBridge' .
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '20'.
wa_fieldcat-checkbox = 'X'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZDOWN'.
wa_fieldcat-seltext_m = 'Downloaded OBD' .
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '1'.
wa_fieldcat-checkbox = 'X'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZUPDT'.
wa_fieldcat-seltext_m = 'Batch Updated OBD' .
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '1'.
wa_fieldcat-checkbox = 'X'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZBLCK'.
wa_fieldcat-seltext_m = 'Blocked OBD' .
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '1'.
wa_fieldcat-checkbox = 'X'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'VBELN'.
wa_fieldcat-seltext_m = 'Delivery No'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-seltext_m = 'Plant'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'GMENGE'.
wa_fieldcat-seltext_m = 'Gross Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.


w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'TMENGE'.
wa_fieldcat-seltext_m = 'Tare Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZLFIMG'.
wa_fieldcat-seltext_m = 'Net Wt.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.

w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'LFIMG'.
wa_fieldcat-seltext_m = 'Outbond Delivery Qty'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.


w_pos = w_pos + 1.
CLEAR wa_fieldcat.
wa_fieldcat-col_pos = w_pos.
wa_fieldcat-tabname = 'IT_PODAT'.
wa_fieldcat-fieldname = 'ZSLIPNO'.
wa_fieldcat-seltext_m = 'Weighslip No.'.
wa_fieldcat-emphasize = 'C410'.
wa_fieldcat-outputlen = '15'.
APPEND wa_fieldcat TO lt_fieldcat.


ENDFORM. " fieldcat_init

*&---------------------------------------------------------------------*
*& Form eventtab_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_it_EVENTS[] text
*----------------------------------------------------------------------*
FORM eventtab_build USING lt_events TYPE slis_t_event.
DATA: wa_event TYPE slis_alv_event.
DATA: c_top_of_page TYPE slis_formname.

c_top_of_page = c_top_of_page_db.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = lt_events.
READ TABLE lt_events WITH KEY name = slis_ev_top_of_page
INTO wa_event.
IF sy-subrc <> 0.
MOVE c_top_of_page TO wa_event-form.
APPEND wa_event TO lt_events.
ELSE.
MOVE c_top_of_page TO wa_event-form.
MODIFY lt_events FROM wa_event INDEX sy-tabix .
ENDIF.

ENDFORM. " eventtab_build

*&---------------------------------------------------------------------*
*& Form comment_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_it_LIST_TOP_OF_PAGE[] text
*----------------------------------------------------------------------*
FORM comment_build USING lt_top_of_page TYPE slis_t_listheader.
DATA: wa_line TYPE slis_listheader.
CLEAR wa_line.
wa_line-typ = 'H'.
wa_line-info = 'VVF LTD. Mumbai'.
APPEND wa_line TO lt_top_of_page.

wa_line-typ = 'H'.
wa_line-info = SY-ULINE.
APPEND wa_line TO lt_top_of_page.

wa_line-typ = 'H'.
wa_line-info = 'OBD Status Report'.
APPEND wa_line TO lt_top_of_page.

ENDFORM. " comment_build

*&---------------------------------------------------------------------*
*& Form layout_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_WA_layout text
*----------------------------------------------------------------------*
FORM layout_build USING wa_layout TYPE slis_layout_alv.
wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
wa_layout-no_totalline = 'X'.
* wa_layout-edit = 'X'.
ENDFORM. " layout_build

*&---------------------------------------------------------------------*
*& Form write_alv_grid
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM write_alv_grid. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = w_repid * i_callback_user_command = 'USER_COMMAND' * i_callback_PF_STATUS_SET = 'PF_STATUS' i_background_id = 'ALV_BACKGROUND' I_CALLBACK_TOP_OF_PAGE = c_top_of_page_db is_layout = WA_layout it_fieldcat = it_fieldcat[] it_events = it_events[] * i_save = 'A' * I_DEFAULT = 'X' TABLES t_outtab = IT_PODAT EXCEPTIONS program_error = 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.


ENDFORM. " write_alv_grid

*---------------------------------------------------------------------*
* FORM TOP_OF_PAGE_DB *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM TOP_OF_PAGE_DB.
*
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_list_top_of_page
i_logo = ' '.
ENDFORM. "top_of_page_db

*&--------------------------------------------------------------------*
*& Form MATNR_FORMAT
*&--------------------------------------------------------------------*
* MATNR FORMAT
*---------------------------------------------------------------------*
FORM MATNR_FORMAT.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = WA_podat-MATNR
IMPORTING
OUTPUT = WA_podat-MATNR.
ENDFORM.

Download delivary details to ztable using Outward movement

*&---------------------------------------------------------------------*
*& Report ZVVF_MR025_WEIGHBRIDGE_FILEGET
*
*& *
*&---------------------------------------------------------------------*
REPORT ZVVF_MR025_WEIGHBRIDGE_FILEGET no standard page
heading line-size 110 MESSAGE-ID ZMM .

*----------------------------------------------------------------------
** Module Sales *
*----------------------------------------------------------------------
** Objective: Down load WEIGHBRIDGE(Delivery) text file data to Ztable
** Program : Updates tables (X) Download data (X)
** Output Lists () ALV
**
** Technical Spec No : VVF_TS09_MM025_WBSD_FILEFROMWB_V1.0
** Date Created :
** Author :
** Location :
**---------------------------------------------------------------------*
* External Dependencies
**---------------------------------------------------------------------*
*
**---------------------------------------------------------------------*
* Amendment History
**---------------------------------------------------------------------*
* Who Change ID Reason
*** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
*---------------------------------------------------------------------*
**TABLES :
*---------------------------------------------------------------------*
TABLES : ZVVF_MT25_OUTMOV. "Weigh Bridge Down Loaded Details
*---------------------------------------------------------------------*
**TYPES :
*---------------------------------------------------------------------*
DATA : BEGIN OF TY_DETAIL,
PO_NUMBER TYPE BAPI2017_GM_ITEM_CREATE-PO_NUMBER,
PO_ITEM TYPE BAPI2017_GM_ITEM_CREATE-PO_ITEM,
MATERIAL TYPE BAPI2017_GM_ITEM_CREATE-MATERIAL,
VENDOR TYPE BAPI2017_GM_ITEM_CREATE-VENDOR,
PLANT TYPE BAPI2017_GM_ITEM_CREATE-PLANT,
STGE_LOC TYPE BAPI2017_GM_ITEM_CREATE-STGE_LOC,
MOVE_TYPE TYPE BAPI2017_GM_ITEM_CREATE-MOVE_TYPE,
ENTRY_QNT TYPE BAPI2017_GM_ITEM_CREATE-ENTRY_QNT,
ENTRY_UOM TYPE BAPI2017_GM_ITEM_CREATE-ENTRY_UOM,
ENTRY_UOM_ISO TYPE BAPI2017_GM_ITEM_CREATE-ENTRY_UOM_ISO,
MVT_IND TYPE BAPI2017_GM_ITEM_CREATE-MVT_IND,
ITEM_TEXT TYPE BAPI2017_GM_ITEM_CREATE-ITEM_TEXT,
VENDRBATCH TYPE BAPI2017_GM_ITEM_CREATE-VENDRBATCH,
ST_UN_QTYY_1 TYPE BAPI2017_GM_ITEM_CREATE-ST_UN_QTYY_1,
QUANTITY TYPE BAPI2017_GM_ITEM_CREATE-QUANTITY,
PO_PR_QNT TYPE BAPI2017_GM_ITEM_CREATE-PO_PR_QNT,
IND_PROPOSE_QUANX TYPE BAPI2017_GM_ITEM_CREATE-IND_PROPOSE_QUANX,
BASE_UOM TYPE BAPI2017_GM_ITEM_CREATE-BASE_UOM.
DATA : END OF TY_DETAIL.
*---------------------------------------------------------------------*
**CONSTANTS :
*---------------------------------------------------------------------*
*CONSTANTS C_PATH TYPE STRING VALUE '/VVFuture/upload/fi/'.

*---------------------------------------------------------------------*
**INTERNAL TABLES :
*---------------------------------------------------------------------*

DATA : IT_BRIDGE TYPE TABLE OF ZVVF_MT25_OUTMOV WITH HEADER LINE.

DATA : IT_MOVE TYPE TABLE OF ZVVF_MT25_OUTMOV WITH HEADER LINE.

DATA : BEGIN OF IT_lips OCCURS 0,
VBELN LIKE lips-VBELN,
posnr LIKE lips-posnr,
WERKS LIKE lips-WERKS,
matnr LIKE lips-matnr,
charg LIKE lips-charg,
LFIMG LIKE lips-LFIMG,
END OF IT_lips.

DATA : BEGIN OF IT_msg OCCURS 0,
VBELN LIKE lips-VBELN,
END OF IT_msg.

DATA : BEGIN OF IT_SUM OCCURS 0,
VBELN LIKE ZVVF_MT25_OUTMOV-VBELN,
WERKS LIKE ZVVF_MT25_OUTMOV-WERKS,
LFIMG LIKE ZVVF_MT25_OUTMOV-LFIMG,
END OF IT_SUM.

*---------------------------------------------------------------------*
**WORK AREA :
*---------------------------------------------------------------------*
DATA : WA_BRIDGE LIKE LINE OF IT_BRIDGE,
WA_MOVE LIKE LINE OF IT_MOVE ,
WA_SUM LIKE LINE OF IT_SUM,
WA_lips LIKE LINE OF IT_lips.
*---------------------------------------------------------------------*
**DATA :
*---------------------------------------------------------------------*
DATA: W_FILENAME TYPE STRING,
W_UNIXFN TYPE STRING,
w_lines type i,
W_GMENGE(17) TYPE C,
W_TMENGE(17) TYPE C,
W_ZLFIMG(17) TYPE C,
W_LFIMG like lips-lfimg.
DATA : MD_NUMBER TYPE MBLNR,
W_PSTYP LIKE EKPO-PSTYP,
w_input like lips-vbeln,
w_slip like ZVVF_MT25_OUTMOV-zfile.
.
*---------------------------------------------------------------------*
**INITIALIZATION :
*---------------------------------------------------------------------*
INITIALIZATION.

*---------------------------------------------------------------------*
**SELECTION-SCREEN :
*---------------------------------------------------------------------*

SELECTION-SCREEN:BEGIN OF BLOCK BL1 WITH FRAME .

PARAMETER:
pr_file type ZFILE,
pr_path type ZFILE.
SELECTION-SCREEN END OF BLOCK BL1.
*---------------------------------------------------------------------*
**AT SELECTION-SCREEN :
*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
perform check_data.

*---------------------------------------------------------------------*
**START-OF-SELECTION :
*---------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM SAVE_ON_UNIX_SERVE.
PERFORM RECORD_COUNT.
*&---------------------------------------------------------------------*
*& Form RECORD_COUNT
*&---------------------------------------------------------------------*
FORM RECORD_COUNT .
WRITE : /01 'Total Records :',w_lines.
ENDFORM. " RECORD_COUNT
*&---------------------------------------------------------------------*
*& Form SAVE_ON_UNIX_SERVE
*&---------------------------------------------------------------------*
FORM SAVE_ON_UNIX_SERVE .

DATA : W_UNIX_FILE TYPE RLGRAP-FILENAME.
DATA : ERRFLAG.
DATA : WA_DETAIL TYPE STRING.

DATA : BEGIN OF IT_PO OCCURS 0,
VBELN LIKE ZVVF_MT25_OUTMOV-VBELN,
WERKS LIKE ZVVF_MT25_OUTMOV-WERKS,
GMENGE LIKE ZVVF_MT25_OUTMOV-GMENGE,
TMENGE LIKE ZVVF_MT25_OUTMOV-TMENGE,
ZLFIMG LIKE ZVVF_MT25_OUTMOV-LFIMG,
ZSLIPNO LIKE ZVVF_MT25_OUTMOV-ZSLIPNO,
END OF IT_PO.

DATA : WA_PO LIKE LINE OF IT_PO.
DATA :begin of itab occurs 0,

text(255) type c,

end of itab .
DATA : WA_LINE LIKE LINE OF itab.
DATA : DELIMITER(1) VALUE ','.


W_UNIX_FILE = pr_file.
CONCATENATE pr_PATH '/' W_UNIX_FILE '.txt' INTO W_UNIXFN .

CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = w_UNIXFN
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
TABLES
DATA_TAB = ITAB.

IF SY-SUBRC NE 0.


ERRFLAG = 'X'.
MESSAGE I002(MG) WITH W_UNIXFN.
MESSAGE A099(MG).
ENDIF.
LOOP AT ITAB INTO WA_LINE.

SPLIT WA_LINE AT DELIMITER INTO
WA_PO-VBELN
WA_PO-WERKS
W_GMENGE
W_TMENGE
W_ZLFIMG
WA_PO-ZSLIPNO
IN CHARACTER MODE .

WA_PO-GMENGE = W_GMENGE.
WA_PO-TMENGE = W_TMENGE.
WA_PO-ZLFIMG = W_ZLFIMG.
perform MATNR_FORMAT_INPUT using WA_PO-VBELN.

IF NOT WA_PO IS INITIAL.
APPEND WA_PO TO IT_PO.
ENDIF.
CLEAR : W_ZLFIMG,W_TMENGE,W_GMENGE.
ENDLOOP.
describe table IT_PO lines w_lines.
if w_lines ne 0.
clear ERRFLAG.
endif.


IF NOT IT_PO[] IS INITIAL.

SELECT vbeln posnr werks matnr charg lfimg FROM lips INTO CORRESPONDING
FIELDS
OF TABLE IT_lips FOR ALL ENTRIES IN IT_PO WHERE VBELN = IT_PO-VBELN AND
WERKS = IT_PO-WERKS and
charg ne ' '.
LOOP AT IT_lips INTO WA_lips.
MOVE-CORRESPONDING WA_lips TO WA_SUM.
COLLECT WA_SUM INTO IT_SUM.
ENDLOOP.

endif.

LOOP AT IT_po INTO WA_po.
READ TABLE IT_SUM INTO WA_SUM WITH KEY VBELN = WA_po-VBELN
WERKS = WA_po-WERKS.
IF SY-SUBRC = 0.


UPDATE ZVVF_MT25_OUTMOV SET lfimg = WA_SUM-lfimg
zlfimg = WA_po-zlfimg
gmenge = WA_po-gmenge
tmenge = WA_po-tmenge
zfile = pr_file
charg = ' '
zdown = 'X'
zslipno = WA_po-zslipno
where
VBELN = WA_po-VBELN and
WERKS = WA_po-WERKS.
if sy-subrc = 4.

it_msg-vbeln = WA_po-VBELN.
append it_msg.

endif.



endif.

clear : wa_bridge,wa_po,wa_sum.
endloop.



IF ERRFLAG = 'X'.
FORMAT COLOR = 6.
WRITE : /01 'File unable to download' , 132 ''.
FORMAT COLOR OFF.
ELSE.

if not it_msg[] is initial.
FORMAT COLOR = 6.
WRITE : /'Following Delivery Documents are not',
'uploaded to Weighbridge'.
loop at it_msg.
write : /2 it_msg-vbeln.
endloop.

FORMAT COLOR OFF.
else.


FORMAT COLOR = 5.
WRITE : /'File Successfuly Downloaded from local drive to Table',
'ZVVF_MT25_OUTMOV', 132 ''.
WRITE : / W_UNIXFN , 132 ''.
FORMAT COLOR OFF.
endif.
ENDIF.

ENDFORM. " SAVE_ON_UNIX_SERVE
*&--------------------------------------------------------------------*
*& Form check_data
*&--------------------------------------------------------------------*
* check data
*---------------------------------------------------------------------*
form check_data.

select single zfile into w_slip from ZVVF_MT25_OUTMOV where
zfile = pr_file .
* werks = pr_plant.
if sy-subrc = 0.
message e130 with pr_file.
endif.

endform.

*&--------------------------------------------------------------------*
*& Form MATNR_FORMAT_INPUT
*&--------------------------------------------------------------------*
* MATNR FORMAT INPUT
*---------------------------------------------------------------------*

FORM MATNR_FORMAT_INPUT using w_input.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = w_input
IMPORTING
OUTPUT = w_input.
ENDFORM.

Download text file with OBDs for weighbridge using Outward movement

*&---------------------------------------------------------------------*
*& Report ZVVF_MR025_WEIGHBRIDGE_SD *
*&---------------------------------------------------------------------*

REPORT ZVVF_MR025_WEIGHBRIDGE_SD no standard page heading line-size
110 MESSAGE-ID ZMM .
*----------------------------------------------------------------------
** Module Sales *
*----------------------------------------------------------------------
** Objective: Down load text file with OBDs for weighbridge
** Program : Updates tables (X) Download data (X)
** Output Lists () ALV
**
** Technical Spec No : VVF_TS08_MM025_WBSD_DOWNLOADFILE_V1.0
** Date Created :
** Author :
** Location :
**---------------------------------------------------------------------*
* External Dependencies
**---------------------------------------------------------------------*
*
**---------------------------------------------------------------------*
* Amendment History
**---------------------------------------------------------------------*
* Who Change ID Reason
*** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
*---------------------------------------------------------------------**

*---------------------------------------------------------------------*
**TABLES :
*---------------------------------------------------------------------*
TABLES : ZVVF_MT25_OUTMOV, "Weigh Bridge Down Loaded Details
LIKP, " SD Document: Delivery Header Data
VBUK, " Sales Document: Header Status and Administrative Data
MVKE. " Sales Data for Material
*---------------------------------------------------------------------*
**TYPES :
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
**DATA :
*---------------------------------------------------------------------*
DATA: W_FILENAME TYPE STRING,
w_UNIXFN TYPE STRING.
*---------------------------------------------------------------------*
**CONSTANTS :
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
**INTERNAL TABLES :
*---------------------------------------------------------------------*
DATA : IT_LIPS TYPE TABLE OF ZVVF_MT25_OUTMOV WITH HEADER LINE,
begin of it_vbeln occurs 0,
werks like lips-werks,
vbeln like lips-vbeln,
end of it_vbeln.
*---------------------------------------------------------------------*
**WORK AREAS:
*---------------------------------------------------------------------*
DATA : WA_LIPS LIKE LINE OF IT_LIPS,
w_input like lips-vbeln .
*---------------------------------------------------------------------*
**INITIALIZATION :
*---------------------------------------------------------------------*
INITIALIZATION.

*---------------------------------------------------------------------*
**SELECTION-SCREEN :
*---------------------------------------------------------------------*

SELECTION-SCREEN:BEGIN OF BLOCK BL1 WITH FRAME .
PARAMETER: pr_werks LIKE t001w-werks obligatory.
SELECT-OPTIONS: so_vbeln for ZVVF_MT25_OUTMOV-VBELN .
SELECT-OPTIONS: so_DATE for LIKP-ERDAT obligatory.
PARAMETER: pr_path type zfile obligatory.
SELECTION-SCREEN END OF BLOCK BL1.
*---------------------------------------------------------------------*
**AT SELECTION-SCREEN :
*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
perform format_change using so_vbeln-low.
modify so_vbeln index 1 transporting low.
if not so_vbeln-high is initial.
perform format_change using so_vbeln-high.
modify so_vbeln index 1 transporting high.
endif.
*---------------------------------------------------------------------*
**START-OF-SELECTION :
*---------------------------------------------------------------------*
START-OF-SELECTION.

SELECT LIPS~VBELN
LIPS~POSNR
LIPS~MATNR
LIPS~WERKS
LIPS~MEINS
LIPS~LFIMG
LIPS~CHARG
INTO CORRESPONDING FIELDS OF TABLE IT_LIPS
FROM LIPS INNER JOIN LIKP ON
LIPS~VBELN = LIKP~VBELN
INNER JOIN VBUK ON
LIPS~VBELN = VBUK~VBELN
INNER JOIN MVKE ON
LIPS~MATNR = MVKE~MATNR
WHERE LIPS~VBELN in so_VBELN AND
LIKP~ERDAT IN SO_DATE AND
LIPS~WERKS = pr_werks and
VBUK~WBSTK ne 'C' AND
MVKE~MVGR3 = 'BLK' and
LIPS~charg ne ' '.

IF SY-SUBRC = 0.

delete adjacent duplicates from it_lips comparing vbeln.
loop at it_lips into wa_lips.

select single vbeln from ZVVF_MT25_OUTMOV into ZVVF_MT25_OUTMOV-VBELN
where vbeln = wa_lips-vbeln and
werks = wa_lips-werks and
zpost = 'X'.
if sy-subrc ne 0 .

it_vbeln-vbeln = wa_lips-vbeln.
it_vbeln-werks = wa_lips-werks.
append it_vbeln.
modify ZVVF_MT25_OUTMOV from wa_lips.
endif.
endloop.



delete adjacent duplicates from it_vbeln comparing vbeln werks.

if not it_vbeln[] is initial.

CONCATENATE pr_path '/' wa_lips-werks '.txt' INTO w_UNIXFN .

CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = w_UNIXFN
FILETYPE = 'ASC'
WRITE_FIELD_SEPARATOR = ','
TABLES
DATA_TAB = it_vbeln.

IF SY-SUBRC <> 0.
MESSAGE E126.

ENDIF.

if sy-subrc = 0.

loop at it_vbeln.
UPDATE ZVVF_MT25_OUTMOV SET zpost = 'X'
zdate = sy-datum
where vbeln = it_vbeln-vbeln and
werks = it_vbeln-werks.

endloop.
FORMAT COLOR = 5.
Write : /2 'File' , 7 wa_lips-werks , 12 'Uploaded to Path', 29
pr_path.
FORMAT COLOR OFF.
skip 1.
write : / 'Downloaded OBDs Are :' .
skip 1.
loop at it_vbeln.
write : /2 it_vbeln-vbeln, 14 it_vbeln-werks.
endloop.
*message s125 with W_FILENAME c_path.
endif.
else.
message e127.
endif.

ELSE.
MESSAGE E026.
ENDIF.


form format_change using w_input.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = w_input
IMPORTING
OUTPUT = w_input.

endform.

link us...

For Visitors

if you want to publish or Add something on ERP, SAP , SAP FUNCTIONAL, SAP ABAP then mail us along with your email-id. contain must be yours

email-id :- avinashkr_raj@yahoo.com(any email)

email-id :- avinaskr_raj.abap@blogger.com ( use only gmail)