Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Report ZSHIPCSH
- *&
- *&---------------------------------------------------------------------*
- *& http://10.1.212.34:8010/sap/bc/zshippost?sap-client=14&pgmna=zshipcsh
- *&
- *&---------------------------------------------------------------------*
- REPORT ZSHIPCSH.
- INCLUDE zin_list_header.
- INCLUDE zin_alv_common.
- DATA: headerdeadline LIKE bapishipmentheaderdeadline OCCURS 0 WITH HEADER LINE,
- headerdata LIKE bapishipmentheader,
- return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
- itemdata LIKE bapishipmentitem OCCURS 0 WITH HEADER LINE,
- stagedata LIKE bapishipmentstage OCCURS 0 WITH HEADER LINE,
- stagedeadline LIKE bapishipmentstagedeadline OCCURS 0 WITH HEADER LINE,
- itemonstage LIKE bapishipmentitemonstage OCCURS 0 WITH HEADER LINE,
- address LIKE bapishipmentaddress OCCURS 0 WITH HEADER LINE,
- hdunheader LIKE bapishipmenthdunheader OCCURS 0 WITH HEADER LINE,
- hdunitem LIKE bapishipmenthdunitem OCCURS 0 WITH HEADER LINE,
- TRANSPORT LIKE BAPISHIPMENTIDS-SHIPMENTNUM,
- SHIPMENTGUID LIKE BAPISHIPMENTIDS-GUID.
- DATA :
- bdc_data LIKE bdcdata OCCURS 0 WITH HEADER LINE,
- bdc_message LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,
- wa_message LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,
- opt TYPE ctu_params.
- types :
- BEGIN OF zs_msg,
- msg type c LENGTH 100,
- shi TYPE BAPISHIPMENTIDS-SHIPMENTNUM,
- END OF zs_msg.
- data :
- imp_stagedata LIKE bapishipmentstage OCCURS 0 WITH HEADER LINE,
- imp_headerdeadline LIKE bapishipmentheaderdeadline OCCURS 0 WITH HEADER LINE,
- imp_headerdata LIKE bapishipmentheader,
- it_print TYPE TABLE OF ztship01 WITH HEADER LINE,
- it_msg TYPE TABLE OF zs_msg,
- wa_msg TYPE zs_msg,
- it_hana TYPE TABLE OF zs_msg,
- lh_body type c LENGTH 260000.
- parameter :
- p_var TYPE ztship01-cokey,
- p_sukey TYPE ztship01-sukey,
- p_vap TYPE ztship01-col01. "E - ecc, H - hana
- START-OF-SELECTION.
- PERFORM getdata.
- if it_print[] is NOT INITIAL.
- * READ TABLE it_print WITH KEY colid = 'H'.
- * p_vap = it_print-col12.
- * if p_vap is INITIAL.
- * p_vap = 'E'.
- * endif.
- * "temporer to point hana
- READ TABLE it_print WITH KEY colid = 'I'.
- p_vap = it_print-col01.
- if p_vap cp '922*'.
- p_vap = 'H'.
- else.
- p_vap = 'E'.
- endif.
- if p_vap = 'H'.
- "---- hana
- PERFORM cbody.
- PERFORM insert.
- PERFORM joindata.
- "---- hana
- elseif p_vap = 'E'.
- * PERFORM converting.
- PERFORM changeroute.
- PERFORM converting2.
- endif.
- else.
- data :
- lh_col16 TYPE ztship01-col16.
- CLEAR : lh_col16.
- select SINGLE col16
- from ztship01
- INTO lh_col16
- WHERE cokey = p_var AND sukey = p_sukey.
- if sy-subrc = 0.
- wa_msg-msg = 'Shipment already created'.
- wa_msg-shi = lh_col16.
- else.
- wa_msg-msg = 'Error : Booking not Found'.
- wa_msg-shi = ''.
- endif.
- APPEND wa_msg to it_msg.
- endif.
- * wa_msg-msg = p_var && p_sukey.
- * APPEND wa_msg to it_msg.
- PERFORM showalv TABLES it_msg.
- end-of-SELECTION.
- """""""""""""" ALV start
- *&---------------------------------------------------------------------*
- *& Form SHOWALV
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM showalv TABLES ft_report .
- DATA :
- gt_fc TYPE lvc_t_fcat,
- g_layo TYPE lvc_s_layo.
- g_layo-stylefname = 'CELLTAB'.
- PERFORM fm_gui_message USING 'Generating report ...' ''.
- PERFORM fm_clear_alv_data.
- PERFORM fm_build_fieldcat TABLES ft_report.
- PERFORM fm_build_layout USING d_layout.
- PERFORM fm_build_sortfield USING t_alv_isort[].
- PERFORM fm_build_event TABLES t_alv_event[].
- PERFORM fm_build_event_exit.
- PERFORM fm_build_print USING d_print.
- CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' " 'REUSE_ALV_LIST_DISPLAY'
- EXPORTING
- i_callback_program = d_repid
- is_layout = d_layout
- it_fieldcat = t_alv_fieldcat[]
- it_sort = t_alv_isort[]
- i_default = 'X'
- i_save = 'A'
- is_variant = d_alv_variant
- it_events = t_alv_event[]
- it_event_exit = t_event_exit[]
- is_print = d_print
- TABLES
- t_outtab = ft_report
- 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.
- FORM fm_build_fieldcat TABLES ft_report.
- REFRESH: t_alv_fieldcat.
- PERFORM f_fieldcatg USING ft_report:
- 'MSG' '' '' '' '' 'Messages' '' '' '' '' '' '' '' '' '' '',
- 'SHI' '' '' '' '' 'Shipment No.' '' '' '' '' '' '' '' '' '' ''.
- ENDFORM.
- FORM fm_top_of_page.
- PERFORM fm_hdr_uline.
- PERFORM fm_hdr_title USING sy-title.
- PERFORM fm_skip.
- PERFORM fm_hdr_uline.
- ENDFORM. "
- FORM fm_end_of_page.
- ENDFORM.
- FORM fm_refresh_intab.
- * refresh:
- * it_zvend.
- ENDFORM.
- FORM fm_gui_message USING fu_text1 fu_text2.
- DATA: ld_text1(100) TYPE c.
- CONCATENATE fu_text1 fu_text2 INTO ld_text1
- SEPARATED BY space.
- CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
- EXPORTING
- percentage = 0
- text = ld_text1.
- ENDFORM.
- FORM fm_clear_alv_data.
- CLEAR:t_alv_fieldcat,
- t_alv_event,
- t_events,
- t_alv_isort,
- t_alv_filter,
- t_event_exit,
- d_alv_isort,
- d_alv_variant,
- d_alv_list_scroll,
- d_alv_sort_postn,
- d_alv_keyinfo,
- d_alv_fieldcat,
- d_alv_formname,
- d_alv_ucomm,
- d_alv_print,
- d_alv_repid,
- d_alv_tabix,
- d_alv_subrc,
- d_alv_screen_start_column,
- d_alv_screen_start_line,
- d_alv_screen_end_column,
- d_alv_screen_end_line,
- d_alv_layout,
- d_layout,
- d_repid,
- d_print.
- REFRESH: t_alv_fieldcat,
- t_alv_event,
- t_events,
- t_alv_isort,
- t_alv_filter,
- t_event_exit.
- d_repid = sy-repid.
- ENDFORM.
- FORM fm_build_layout USING fu_layout TYPE slis_layout_alv.
- fu_layout-colwidth_optimize = 'X'.
- fu_layout-no_colhead = space.
- fu_layout-group_change_edit = 'X'.
- " fu_layout-info_fieldname = 'LINE_COLOR'.
- "fu_layout-info_fieldname = 'color'.
- "
- ENDFORM.
- FORM fm_build_sortfield USING fu_sort TYPE slis_t_sortinfo_alv.
- DATA: ld_sort TYPE slis_sortinfo_alv.
- ENDFORM.
- FORM fm_build_event TABLES ft_events LIKE t_events.
- REFRESH: ft_events.
- CLEAR ft_events.
- ft_events-name = slis_ev_top_of_page.
- ft_events-form = 'FM_TOP_OF_PAGE'.
- APPEND ft_events.
- CLEAR ft_events.
- ft_events-name = slis_ev_end_of_list.
- ft_events-form = 'FM_END_OF_PAGE'.
- APPEND ft_events.
- ENDFORM.
- FORM fm_build_event_exit.
- CLEAR t_event_exit.
- t_event_exit-ucomm = '&OUP'.
- t_event_exit-after = 'X'.
- APPEND t_event_exit.
- CLEAR t_event_exit.
- t_event_exit-ucomm = '&ODN'.
- t_event_exit-after = 'X'.
- APPEND t_event_exit.
- ENDFORM.
- FORM fm_build_print USING fu_print TYPE slis_print_alv.
- fu_print-no_print_listinfos = 'X'.
- fu_print-no_print_selinfos = 'X'.
- fu_print-no_coverpage = 'X'.
- fu_print-no_print_hierseq_item = 'X'.
- ENDFORM.
- FORM f_fieldcatg USING VALUE(fu_types)
- VALUE(fu_fname) " internal table
- VALUE(fu_reftb)
- VALUE(fu_refld)
- VALUE(fu_noout)
- VALUE(fu_outln)
- VALUE(fu_fltxt)
- VALUE(fu_dosum)
- VALUE(fu_hotsp)
- VALUE(fu_dec)
- VALUE(fu_waers)
- VALUE(fu_meins)
- VALUE(fu_waers_f)
- VALUE(fu_meins_f)
- VALUE(fu_checkbox)
- VALUE(fu_fixcolumn)
- VALUE(fu_key).
- DATA: ld_fieldcat TYPE slis_fieldcat_alv.
- CLEAR: ld_fieldcat.
- ld_fieldcat-tabname = fu_types.
- ld_fieldcat-fieldname = fu_fname.
- ld_fieldcat-ref_tabname = fu_reftb.
- ld_fieldcat-ref_fieldname = fu_refld.
- ld_fieldcat-no_out = fu_noout.
- ld_fieldcat-outputlen = fu_outln.
- ld_fieldcat-seltext_l = fu_fltxt.
- ld_fieldcat-seltext_m = fu_fltxt.
- ld_fieldcat-seltext_s = fu_fltxt.
- ld_fieldcat-reptext_ddic = fu_fltxt.
- ld_fieldcat-no_out = fu_noout.
- ld_fieldcat-do_sum = fu_dosum.
- ld_fieldcat-hotspot = fu_hotsp.
- ld_fieldcat-decimals_out = fu_dec.
- ld_fieldcat-currency = fu_waers.
- ld_fieldcat-quantity = fu_meins.
- ld_fieldcat-qfieldname = fu_meins_f.
- ld_fieldcat-cfieldname = fu_waers_f.
- ld_fieldcat-checkbox = fu_checkbox.
- ld_fieldcat-fix_column = fu_fixcolumn.
- ld_fieldcat-key = fu_key.
- APPEND ld_fieldcat TO t_alv_fieldcat.
- CLEAR ld_fieldcat.
- ENDFORM. " f_fieldcatg
- FORM header_build USING lt_top_of_page TYPE
- slis_t_listheader.
- TABLES: t001w, t001k.
- DATA: ls_line TYPE slis_listheader,
- gltrpl(10), gltrph(10),
- print_tm(8), name1 LIKE t001w-name1.
- CLEAR ls_line.
- ls_line-typ = 'H'.
- ls_line-info = sy-title.
- APPEND ls_line TO lt_top_of_page.
- CLEAR ls_line.
- ls_line-typ = 'H'.
- ls_line-info = 'Print date:'.
- CONCATENATE ls_line-info sy-datum+6(2) sy-datum+4(2) sy-datum(4)
- INTO ls_line-info
- SEPARATED BY space.
- APPEND ls_line TO lt_top_of_page.
- CLEAR ls_line.
- ls_line-typ = 'H'.
- ls_line-info = 'Print time: '.
- WRITE sy-uzeit TO print_tm USING EDIT MASK '__:__:__'.
- CONCATENATE ls_line-info print_tm INTO ls_line-info
- SEPARATED BY space.
- APPEND ls_line TO lt_top_of_page.
- CLEAR ls_line.
- ls_line-typ = 'H'.
- ls_line-info = 'User name:'.
- CONCATENATE ls_line-info sy-uname INTO ls_line-info
- SEPARATED BY space.
- APPEND ls_line TO lt_top_of_page.
- ENDFORM. "header_BUILD
- """""""""""""" end ALV
- *&---------------------------------------------------------------------*
- *& Form GETDATA
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM getdata .
- select *
- from ztship01
- into CORRESPONDING FIELDS OF TABLE it_print
- WHERE cokey eq p_var AND sukey = p_sukey and col16 = ''.
- ENDFORM.
- *&---------------------------------------------------------------------*
- *& Form CONVERTING
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM converting .
- clear : headerdata.
- LOOP AT it_print WHERE colid = 'H'.
- headerdata-shipment_type = it_print-col01.
- headerdata-trans_plan_pt = it_print-col02.
- headerdata-shipping_type = it_print-col03.
- headerdata-shipment_route = it_print-col04.
- headerdata-container_id = it_print-col05.
- headerdata-external_id_1 = it_print-col06.
- headerdata-external_id_2 = it_print-col07.
- headerdata-description = it_print-col08.
- headerdata-status_plan = it_print-col09.
- headerdata-TENDERING_CARRIER_TRACK_ID = it_print-col11.
- * headerdata-status_checkin = it_print-col10.
- * headerdata-status_load_start = it_print-col11.
- * headerdata-status_load_end = it_print-col12.
- * headerdata-status_compl = it_print-col13.
- * headerdata-status_shpmnt_start = it_print-col14.
- * headerdata-status_shpmnt_end = it_print-col15.
- headerdata-status_checkin = ''.
- headerdata-status_load_start = ''.
- headerdata-status_load_end = ''.
- headerdata-status_compl = ''.
- headerdata-status_shpmnt_start = ''.
- headerdata-status_shpmnt_end = ''.
- headerdata-service_agent_id = it_print-col10.
- ENDLOOP.
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
- EXPORTING
- input = headerdata-service_agent_id
- IMPORTING
- output = headerdata-service_agent_id.
- LOOP AT it_print WHERE colid = 'L'.
- headerdeadline-time_type = it_print-col01.
- headerdeadline-time_stamp_utc = it_print-col02.
- headerdeadline-time_zone = it_print-col03.
- APPEND headerdeadline.
- ENDLOOP.
- LOOP AT it_print WHERE colid = 'I'.
- itemdata-DELIVERY = it_print-col01.
- append itemdata.
- ENDLOOP.
- data :
- fwdag TYPE bapishipmentstage-SERVICE_AGENT.
- LOOP AT it_print WHERE colid = 'S'.
- stagedata-stage_cat = it_print-col01.
- stagedata-stage_seq = it_print-col02.
- stagedata-shipping_type = it_print-col03.
- stagedata-leg_indicator = it_print-col04.
- stagedata-org_point = it_print-col05.
- stagedata-dest_point = it_print-col06.
- CLEAR : fwdag.
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
- EXPORTING
- input = it_print-col08
- IMPORTING
- output = fwdag.
- stagedata-service_agent = fwdag. "it_print-col08.
- * stagedata-shpmnt_cost_rel = it_print-col07.
- APPEND stagedata.
- * itemonstage-STAGE_SEQ = it_print-col02.
- * itemonstage-DELIVERY = ''.
- * append itemonstage.
- ENDLOOP.
- CALL FUNCTION 'BAPI_SHIPMENT_CREATE'
- EXPORTING
- headerdata = headerdata
- IMPORTING
- TRANSPORT = transport
- * SHIPMENTGUID =
- TABLES
- headerdeadline = headerdeadline
- itemdata = itemdata
- stagedata = stagedata
- stagedeadline = stagedeadline
- itemonstage = itemonstage
- address = address
- hdunheader = hdunheader
- hdunitem = hdunitem
- return = return.
- if sy-subrc = 0.
- CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
- EXPORTING
- wait = 'X'.
- endif.
- if transport is INITIAL.
- LOOP AT return.
- wa_msg-msg = return-message.
- APPEND wa_msg to it_msg.
- ENDLOOP.
- else.
- wa_msg-msg = 'Shipment Created'.
- wa_msg-shi = transport.
- APPEND wa_msg to it_msg.
- UPDATE ztship01
- SET col16 = transport
- WHERE cokey = p_var AND sukey = p_sukey.
- endif.
- ENDFORM.
- *&---------------------------------------------------------------------*
- *& Form INSERT
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM insert .
- data : lo_client TYPE REF TO if_http_client,
- lc_url TYPE string,
- lc_content TYPE string,
- lt_html TYPE TABLE OF string WITH HEADER LINE,
- lval TYPE string,
- fields TYPE tihttpnvp,
- lv_buzei type bsis-buzei,
- l_fields type tihttpnvp,
- iv_json_data type string,
- iv_json_data2 type string,
- wa_ZWEBSCAN001 type ZWEBSCAN001,
- w_fields like line of l_fields.
- * IF sy-sysid = 'NDV'.
- * lc_url = 'http://10.3.212.21:8000/sap/bc/zshippost'.
- * ELSEIF sy-sysid = 'NPR'.
- * lc_url = 'http://10.3.212.38:8000/sap/bc/zshippost'.
- * ELSEIF sy-sysid = 'NQA'.
- * lc_url = 'http://10.3.212.33:8000/sap/bc/zshippost'.
- * ENDIF.
- IF sy-sysid = 'NDV'.
- lc_url = 'http://10.3.212.21:8000/sap/bc/zshippost'.
- w_fields-name = 'sap-client'.
- w_fields-value = '110'.
- APPEND w_fields TO l_fields.
- ELSEIF sy-sysid = 'NPR'.
- lc_url = 'http://10.3.212.38:8000/sap/bc/zshippost'.
- w_fields-name = 'sap-client'.
- w_fields-value = '300'.
- APPEND w_fields TO l_fields.
- ELSEIF sy-sysid = 'NQA'.
- w_fields-name = 'sap-client'.
- w_fields-value = '200'.
- APPEND w_fields TO l_fields.
- lc_url = 'http://10.3.212.33:8000/sap/bc/zshippost'.
- ENDIF.
- CALL METHOD cl_http_client=>create_by_url
- EXPORTING
- url = lc_url
- IMPORTING
- client = lo_client
- EXCEPTIONS
- OTHERS = 1.
- IF sy-subrc IS NOT INITIAL.
- EXIT.
- ENDIF.
- lo_client->request->set_header_field( name = '~request_method'
- value = 'POST' ).
- "sap-client=140&pgmna=zeprocmat&p_type=g&p_form=a
- * w_fields-name = 'sap-client'.
- * IF sy-mandt = '140'.
- * w_fields-value = '110'.
- * ELSE.
- * w_fields-value = '300'.
- * ENDIF.
- * APPEND w_fields to l_fields.
- w_fields-name = 'pgmna'.
- w_fields-value = sy-cprog.
- APPEND w_fields to l_fields.
- "iv_json_data = '[{"colid":"H","cokey":"A1","col01":"KP02","col02":"P300","col03":"Z3", "col04":"BDKU01","col05":"CONTAINER_ID","col06":"external_id_1","col07":"external_id_2","col08":"description","col09":"","col10":"400000"}]'.
- iv_json_data = lh_body.
- lo_client->request->set_cdata( iv_json_data ).
- lo_client->request->set_form_fields( fields = l_fields ).
- lo_client->send( ).
- CALL METHOD lo_client->receive
- EXCEPTIONS
- http_communication_failure = 1
- http_invalid_state = 2
- http_processing_failed = 3
- OTHERS = 4.
- IF sy-subrc IS NOT INITIAL.
- EXIT.
- ENDIF.
- CALL METHOD lo_client->response->get_header_fields
- CHANGING
- fields = fields.
- lc_content = lo_client->response->get_cdata( ).
- SPLIT lc_content AT cl_abap_char_utilities=>cr_lf INTO TABLE lt_html.
- /ui2/cl_json=>deserialize(
- EXPORTING
- json = lc_content
- pretty_name = /ui2/cl_json=>pretty_mode-camel_case
- CHANGING
- data = it_hana ).
- ENDFORM.
- *&---------------------------------------------------------------------*
- *& Form CBODY
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM cbody .
- LOOP AT it_print WHERE colid = 'H'.
- lh_body = '[{'.
- lh_body = lh_body && '"colid":"' && it_print-colid && '",'.
- lh_body = lh_body && '"cokey":"' && it_print-cokey && '",'.
- lh_body = lh_body && '"sukey":"' && it_print-sukey && '",'.
- lh_body = lh_body && '"col01":"' && it_print-col01 && '",'.
- lh_body = lh_body && '"col02":"' && it_print-col02 && '",'.
- lh_body = lh_body && '"col03":"' && it_print-col03 && '",'.
- lh_body = lh_body && '"col04":"' && it_print-col04 && '",'.
- lh_body = lh_body && '"col05":"' && it_print-col05 && '",'.
- lh_body = lh_body && '"col06":"' && it_print-col06 && '",'.
- lh_body = lh_body && '"col07":"' && it_print-col07 && '",'.
- lh_body = lh_body && '"col08":"' && it_print-col08 && '",'.
- lh_body = lh_body && '"col09":"' && it_print-col09 && '",'.
- lh_body = lh_body && '"col10":"' && it_print-col10 && '"}'.
- ENDLOOP.
- LOOP AT it_print WHERE colid = 'L'.
- lh_body = lh_body && ',{'.
- lh_body = lh_body && '"colid":"' && it_print-colid && '",'.
- lh_body = lh_body && '"cokey":"' && it_print-cokey && '",'.
- lh_body = lh_body && '"sukey":"' && it_print-sukey && '",'.
- lh_body = lh_body && '"col01":"' && it_print-col01 && '",'.
- lh_body = lh_body && '"col02":"' && it_print-col02 && '"}'.
- ENDLOOP.
- LOOP AT it_print WHERE colid = 'S'.
- lh_body = lh_body && ',{'.
- lh_body = lh_body && '"colid":"' && it_print-colid && '",'.
- lh_body = lh_body && '"cokey":"' && it_print-cokey && '",'.
- lh_body = lh_body && '"sukey":"' && it_print-sukey && '",'.
- lh_body = lh_body && '"col01":"' && it_print-col01 && '",'.
- lh_body = lh_body && '"col02":"' && it_print-col02 && '",'.
- lh_body = lh_body && '"col03":"' && it_print-col03 && '",'.
- lh_body = lh_body && '"col04":"' && it_print-col04 && '",'.
- lh_body = lh_body && '"col05":"' && it_print-col05 && '",'.
- lh_body = lh_body && '"col06":"' && it_print-col06 && '",'.
- lh_body = lh_body && '"col07":"' && it_print-col07 && '",'.
- lh_body = lh_body && '"col08":"' && it_print-col08 && '"}'.
- ENDLOOP.
- LOOP AT it_print WHERE colid = 'I'.
- lh_body = lh_body && ',{'.
- lh_body = lh_body && '"colid":"' && it_print-colid && '",'.
- lh_body = lh_body && '"cokey":"' && it_print-cokey && '",'.
- lh_body = lh_body && '"sukey":"' && it_print-sukey && '",'.
- lh_body = lh_body && '"col01":"' && it_print-col01 && '"}'.
- ENDLOOP.
- lh_body = lh_body && ']'.
- ENDFORM.
- *&---------------------------------------------------------------------*
- *& Form JOINDATA
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM joindata .
- LOOP AT it_hana INTO wa_msg.
- if wa_msg-msg cp '*Ship*cre*'.
- UPDATE ztship01
- SET col16 = wa_msg-shi
- WHERE cokey = p_var AND sukey = p_sukey.
- endif.
- APPEND wa_msg to it_msg.
- ENDLOOP.
- ENDFORM.
- *&---------------------------------------------------------------------*
- *& Form CONVERTING2
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM converting2 .
- clear : headerdata.
- LOOP AT it_print WHERE colid = 'H'.
- headerdata-shipment_type = it_print-col01.
- headerdata-guid = it_print-sukey.
- SHIPMENTGUID = it_print-sukey.
- headerdata-trans_plan_pt = it_print-col02.
- headerdata-shipping_type = it_print-col03.
- * headerdata-shipment_route = it_print-col04.
- headerdata-container_id = it_print-col05.
- headerdata-external_id_1 = it_print-col06.
- headerdata-external_id_2 = it_print-col07.
- headerdata-description = it_print-col08.
- headerdata-status_plan = it_print-col09.
- headerdata-TENDERING_CARRIER_TRACK_ID = it_print-col11.
- headerdata-service_agent_id = it_print-col10.
- headerdata-SHIPPING_TYPE_PRE_LEG = it_print-col03.
- headerdata-text_4 = p_var.
- ENDLOOP.
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
- EXPORTING
- input = headerdata-service_agent_id
- IMPORTING
- output = headerdata-service_agent_id.
- LOOP AT it_print WHERE colid = 'L'.
- headerdeadline-time_type = it_print-col01.
- headerdeadline-time_stamp_utc = it_print-col02.
- headerdeadline-time_zone = it_print-col03.
- APPEND headerdeadline.
- ENDLOOP.
- LOOP AT it_print WHERE colid = 'I'.
- itemdata-DELIVERY = it_print-col01.
- itemdata-ITENERARY = sy-tabix.
- append itemdata.
- * itemonstage-STAGE_SEQ = '1'.
- * itemonstage-DELIVERY = it_print-col01.
- * append itemonstage.
- ENDLOOP.
- data :
- fwdag TYPE bapishipmentstage-SERVICE_AGENT,
- it_prant TYPE TABLE OF ztship01 WITH HEADER LINE.
- refresh : it_prant.
- it_prant[] = it_print[].
- LOOP AT it_print WHERE colid = 'S'.
- stagedata-stage_cat = it_print-col01.
- stagedata-stage_seq = it_print-col02.
- stagedata-shipping_type = it_print-col03.
- stagedata-leg_indicator = it_print-col04.
- stagedata-org_point = it_print-col05.
- stagedata-dest_point = it_print-col06.
- CLEAR : fwdag.
- CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
- EXPORTING
- input = it_print-col08
- IMPORTING
- output = fwdag.
- stagedata-service_agent = fwdag. "it_print-col08.
- stagedata-shpmnt_cost_rel = it_print-col07.
- APPEND stagedata.
- LOOP AT it_prant WHERE colid = 'I'.
- itemonstage-STAGE_SEQ = it_print-col02.
- itemonstage-DELIVERY = it_prant-col01.
- append itemonstage.
- ENDLOOP.
- ENDLOOP.
- CALL FUNCTION 'BAPI_SHIPMENT_CREATE'
- EXPORTING
- headerdata = headerdata
- IMPORTING
- TRANSPORT = transport
- SHIPMENTGUID = SHIPMENTGUID
- TABLES
- headerdeadline = headerdeadline
- itemdata = itemdata
- stagedata = stagedata
- stagedeadline = stagedeadline
- itemonstage = itemonstage
- address = address
- hdunheader = hdunheader
- hdunitem = hdunitem
- return = return.
- if sy-subrc = 0.
- CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
- EXPORTING
- wait = 'X'.
- endif.
- if transport is INITIAL.
- LOOP AT return.
- wa_msg-msg = return-message.
- APPEND wa_msg to it_msg.
- ENDLOOP.
- else.
- wa_msg-msg = 'Shipment Created'.
- wa_msg-shi = transport.
- APPEND wa_msg to it_msg.
- UPDATE ztship01
- SET col16 = transport
- WHERE cokey = p_var AND sukey = p_sukey.
- REFRESH bdc_data.
- "======== bdc copy from zlhtest87
- perform bdc_dynpro using 'SAPMV56A' '1011'.
- perform bdc_field using 'BDC_CURSOR'
- 'VTTK-TKNUM'.
- perform bdc_field using 'BDC_OKCODE'
- '=MM_TKAL'.
- perform bdc_field using 'VTTK-TKNUM'
- transport.
- perform bdc_dynpro using 'SAPMV56A' '1020'.
- perform bdc_field using 'BDC_OKCODE'
- '=MM_ST01'.
- perform bdc_field using 'BDC_CURSOR'
- 'VTTK-TDLNR'.
- perform bdc_dynpro using 'SAPMV56A' '1020'.
- perform bdc_field using 'BDC_OKCODE'
- '=MM_SICH'.
- perform bdc_field using 'BDC_CURSOR'
- 'VTTK-VSART'.
- READ TABLE it_print WITH KEY colid = 'H'.
- perform bdc_field using 'VTTK-ROUTE'
- it_print-col04.
- perform bdc_field using 'VTTK-VSART'
- it_print-col03.
- "=======
- CLEAR opt.
- opt-dismode = 'S'. "'A' --> via screen. "'S' --> langsung
- opt-updmode = 'S'.
- opt-defsize = 'X'.
- opt-racommit = 'X'.
- opt-nobinpt = 'X'.
- opt-nobiend = 'X'.
- REFRESH bdc_message.
- CALL TRANSACTION 'VT02N'
- USING bdc_data
- MESSAGES INTO bdc_message
- OPTIONS FROM opt.
- IF bdc_message[] IS NOT INITIAL.
- DATA : str TYPE string.
- LOOP AT bdc_message INTO wa_message.
- CALL FUNCTION 'FORMAT_MESSAGE'
- EXPORTING
- id = wa_message-msgid
- lang = '-D'
- no = wa_message-msgnr
- v1 = wa_message-msgv1
- v2 = wa_message-msgv2
- v3 = wa_message-msgv3
- v4 = wa_message-msgv4
- IMPORTING
- msg = str
- EXCEPTIONS
- not_found = 1
- OTHERS = 2.
- IF sy-subrc <> 0.
- * Implement suitable error handling here
- ENDIF.
- wa_msg-msg = str.
- APPEND wa_msg to it_msg.
- ENDLOOP.
- ENDIF.
- endif.
- ENDFORM.
- *&---------------------------------------------------------------------*
- *& Form bdc_dynpro
- *&---------------------------------------------------------------------*
- FORM bdc_dynpro USING program dynpro.
- CLEAR bdc_data.
- bdc_data-program = program.
- bdc_data-dynpro = dynpro.
- bdc_data-dynbegin = 'X'.
- APPEND bdc_data.
- ENDFORM. "BDC_DYNPRO
- *----------------------------------------------------------------------*
- * Insert field *
- *----------------------------------------------------------------------*
- FORM bdc_field USING fnam fval.
- CLEAR bdc_data.
- bdc_data-fnam = fnam.
- bdc_data-fval = fval.
- APPEND bdc_data.
- ENDFORM. "BDC_FIELD
- *&---------------------------------------------------------------------*
- *& Form CHANGEROUTE
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM changeroute .
- REFRESH bdc_data.
- "-============
- perform bdc_dynpro using 'ZSHIPROT' '1000'.
- perform bdc_field using 'BDC_CURSOR'
- 'CTU'.
- perform bdc_field using 'BDC_OKCODE'
- '=ONLI'.
- perform bdc_field using 'P_VAR'
- p_var.
- perform bdc_field using 'P_VAP'
- p_sukey.
- perform bdc_field using 'SESSION'
- ''.
- perform bdc_field using 'CTU'
- 'X'.
- perform bdc_field using 'CTUMODE'
- 'N'.
- perform bdc_field using 'USER'
- sy-uname.
- perform bdc_field using 'CUPDATE'
- 'L'.
- perform bdc_field using 'E_USER'
- sy-uname.
- perform bdc_field using 'NODATA'
- '/'.
- perform bdc_dynpro using 'SAPMSVMA' '0200'.
- perform bdc_field using 'BDC_OKCODE'
- '/EBACK'.
- perform bdc_field using 'BDC_CURSOR'
- 'VCLDIR-VCLNAME'.
- perform bdc_dynpro using 'SAPMSSY0' '0120'.
- perform bdc_field using 'BDC_OKCODE'
- '=BACK'.
- perform bdc_dynpro using 'ZSHIPROT' '1000'.
- perform bdc_field using 'BDC_OKCODE'
- '/EE'.
- *perform bdc_field using 'BDC_CURSOR'
- * p_var.
- "============
- CLEAR opt.
- opt-dismode = 'S'. "'A' --> via screen. "'S' --> langsung
- opt-updmode = 'S'.
- opt-defsize = 'X'.
- opt-racommit = 'X'.
- opt-nobinpt = 'X'.
- opt-nobiend = 'X'.
- REFRESH bdc_message.
- CALL TRANSACTION 'ZSHIPROT'
- USING bdc_data
- MESSAGES INTO bdc_message
- OPTIONS FROM opt.
- IF bdc_message[] IS NOT INITIAL.
- DATA : str TYPE string.
- LOOP AT bdc_message INTO wa_message.
- CALL FUNCTION 'FORMAT_MESSAGE'
- EXPORTING
- id = wa_message-msgid
- lang = '-D'
- no = wa_message-msgnr
- v1 = wa_message-msgv1
- v2 = wa_message-msgv2
- v3 = wa_message-msgv3
- v4 = wa_message-msgv4
- IMPORTING
- msg = str
- EXCEPTIONS
- not_found = 1
- OTHERS = 2.
- IF sy-subrc <> 0.
- * Implement suitable error handling here
- ENDIF.
- * wa_msg-msg = str.
- * APPEND wa_msg to it_msg.
- ENDLOOP.
- ENDIF.
- ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement