BAPI for Inbound Delivery Batch Split

Hello Friends,
  I need any BAPI/BADI to assign batch split items to inbound delivery.  In out scenario, we generate transfer posting in MIGO with split batches and during inbound delivery generation in background, system generates seperate line items instead batch split items.  Now we need any BAPI/BADI to assign the batch split items during inbound delivery creation/change.
Appreciate your support
Best Regards,
Goutham

Hi Goutham,
Please trt to use the BADI LE_SHP_DELIVERY_PROC - methods FILL_DELIVERY_ITEM and CHANGE_DELIVERY_ITEM when VB_CREATE_BATCH is called.
As per note 317531 it is not possible to create bacthes in an SAP standard system via VL31N. There's no update on table MCHA even if you enter a new batch in the inbound delivery.
I hope this information helps you.
Kind regards,
Fábio Almeida
MM Consultant

Similar Messages

  • Function Module / BAPI for Inbound Delivery from Purchase Order

    Hi,
    I need to create an inbound delivery from Purchase Order items and am looking out for some Function Module or BAPI for the same.
    The requirement is that i should be able to specify selected line items from PO for delivery.
    I tried the BDC method for VL31N , but the particular item selection is problem, since by default it shows all the items of PO and i want only selected items.
    Do reply.
    Thanks in advance.

    check these and their documentations.
    BAPI_INB_DELIVERY_CHANGE       Change inbound delivery
    BAPI_INB_DELIVERY_CONFIRM_DEC  BAPI for inbound delivery verification from a decentralized system
    BAPI_INB_DELIVERY_SAVEREPLICA  BAPI Function Module for Replication of Inbound Deliveries
    Regards
    Prabhu

  • BAPI For Inbound Delivery using Purchase Order Number

    Hi All,
    Is there any BAPI for posting Inbound Delivery (VL31N) using Purchase Order as reference.
    thanks
    bobby

    Not sure what it has to do with enhancements and modifications, but there is no such BAPI:
    http://tech.groups.yahoo.com/group/ABAP/message/38307
    http://sap.ittoolbox.com/groups/technical-functional/sap-log-mm/bapi-for-inbound-delivery-creation-and-update-vl31n-1201265
    FYI all BAPIs may be viewed in BAPI transaction.

  • Bapi for inbound delivery using PO

    Hi experts,
    I want to create a bapi for inbound delivery using PO.
    which bapi or FM should i use and can you send me the code for that.
    Thanks,
    Rajiv

    Hi Rajiv,
    Please check this FM --> BAPI_DELIVERYPROCESSING_EXEC
    Please check these threads
    Bapi to create inbound delivery
    BAPI to create inbound delivery
    Hope this would help you.
    Good luck
    Narin

  • Finding BAPI for  inbound Delivery change(VL32N)

    HI,
    Plz help me For finding BAPI for  inbound Delivery change(VL32N).
    I have to pass delivery no as input parameter and should able to change shipment heder information
    like Special processing indicator.
    REGARDS,
    Sunil Sahoo.

    hi ,
    there are three  BAPI  your requirment
    1) BAPI_INB_DELIVERY_CONFIRM_DEC
    2) BAPI_INB_DELIVERY_SAVEREPLICA
    3) BAPI_INB_DELIVERY_CHANGE
    but for requirment
    The third BAPI
    BAPI_INB_DELIVERY_CHANGE
    will Sound promising. try this out
    regards
    Prashant

  • IDoc or BAPI for inbound delivery creation with reference to PO.

    Hi
    I have requirement to create a inbound delivery, I  will get a ASN from external system with PO, Vendor Material number & batch. I want to know is there any BAPI or IDoc that can be used to create inbound delivery in R/3. I used BBP_INB_DELIVERY_CREATE to create inbound delivery and I was successful but problem is that inbound delivery was not updated with Vendor Material number & Batch.  Can some one suggest me any other BAPI or IDoc ?
    Thanks in advance
    Nagendra P Boggarapu
    Edited by: Nagendra P Boggarapu on May 6, 2010 4:06 PM

    Use Delvry0* IDOC.
    Reddy

  • BAPI for inbound delivery creation

    Hi,
    I have to create and modify inbound deliveries from a code, so I'm wondering if exists any BAPI (or function module) to create or modify inbound delivery.
    Thanks in advance

    This is an example of BAPI_INB_DELIVERY_CHANGE. It is in the documentation of the function
    I hope it helps you...
    Example
    If you want to change the quantity for a distributed quantity, then following entries are required for the transfer to the connected system:
    In the header data of inbound delivery parameter (HEADER_DATA)
    The delivery number (DELIV_NUMB)
    In parameter item data of inbound delivery (ITEM_DATA)
    The delivery number (DELIV_NUMB)
    The delivery item (DELIV_ITEM)
    The delivery quantity in sales unit (DLV_QTY)
    The actual delivery quantity in base UoM (DLV_QTY_IMUNIT)
    The sales unit (SALES_UNIT)
    The ISO code for the sales unit (SALES_UNIT_ISO)
    The base unit of measure (BASE_UOM)
    The ISO code for the base unit of measure (BASE_UOM_ISO)
    In the control of the inbound delivery at item level parameter (ITEM_CONTROL)
    The delivery number (DELIV_NUMB)
    The delivery item (DELIV_ITEM)
    The Change Delivery Quantity indicator(CHG_DELQTY)

  • BAPI for Inbound Delivery(IBD - VL31N)

    Hi all,
    I need to create an inbound delivery with reference to PO  using bapi which is retreived by an IDoc. I cannot use standard Process code to Create it because i need to do validations and convert UOM etc).  In that i need to use Container No E1EDL37-EXIDV2(Idoc field).
    May i know which bapi which suits for this requirement.
    Thanks & regards
    sreehari p

    Hi Rajiv,
    Please check this FM --> BAPI_DELIVERYPROCESSING_EXEC
    Please check these threads
    Bapi to create inbound delivery
    BAPI to create inbound delivery
    Hope this would help you.
    Good luck
    Narin

  • BAPI for Inbound delivery

    Hi,
    I am interested knowing, if there is any BAPI available for doing Inbound Delivery in SAP.
    I have a requirement to do partial inbound delivery which I cant do with VL31n or VL30. even if can do with these transactions,
    I will not be able to run them in background.
    Any help in this regard is highly appreciated.

    Hi all, was working with similar problem.
    I used GN_DELIVERY_CREATE and wrapped it up into method.
    May be will be useful.
    It creates inbound delivery by PO/STO
    Method signature :
    I_EBELN     Importing  Type     EBELN Purchasing Document Number
    I_COMMIT Importing Type     ANY Commit database changes
    I_LFDAT     Importing    Type LFDAT SY-DATUM
    E_VBELN     Exporting    Type VBELN_VL Delivery
    ET_LIPS       Exporting  Type /SAPSLL/LIPS_R3_T
    ET_RETURN Exporting  Type BAPIRET2_T
    E_RC       Changing   Type SYSUBRC
    E_MESSAGE Changing   Type ANY
    Method itself:
    method create_inb_dlvr_by_po.
    *-- Logic for current method was extracted from
    *-- source code of VL31N dialog transaction
      data l_sd_doc_category type vbtyp value 'V'.
      data l_ibtyp type t163d-ibtyp value '2'.
      data l_func(1) value '1'.
      constants c_error(1) value 'E'.
      field-symbols <wa_xkomdlgn> type komdlgn.
      data lt_lips      type table of lips.
      data wa_lips      type lips.
      data lt_errors    type table of wuebs.
      data wa_errors    type wuebs.
      data wa_return    type bapiret2.
      data lt_wueb      type table of wueb.
      data wa_wueb      type wueb.
      data vbsk_i       type vbsk.
      data l_no_commit  type char01.
      data lt_xkomdlgn  type table of komdlgn.
      data lt_xvbfs     type table of vbfs.
      data lt_xvbls     type table of vbls.
      data vbsk_e       type vbsk.
      data lt_splitprot type vlikp_t_splitprot.
      data wa_tvlk      type tvlk.
      data wa_likp      type likp.
      clear: e_rc, e_message.
    *-- Prepare data for delivery creation
      wa_wueb-ebeln = i_ebeln.
      append wa_wueb to lt_wueb.
    *-- Get delivery type
      call function 'ME_CONFIRMATION_DELIVERY_TYPE'
           exporting
                i_func              = l_func
           changing
                c_ibtyp             = l_ibtyp
                c_lfart             = wa_likp-lfart
           exceptions
                function_not_valid  = 01
                param_value_missing = 02
                no_item_found       = 03
                error_message       = 04.
      if not sy-subrc is initial.
        e_rc = sy-subrc.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into e_message.
        exit.
      endif.
    *-- Get default order type
      select single daart into wa_tvlk-daart
                          from tvlk
                          where lfart eq wa_likp-lfart.
      if not sy-subrc is initial.
        e_rc = sy-subrc.
        e_message = 'Delivery type not found'(001).
        exit.
      endif.
    *-- Fill communiaction table from PO data
      call function 'ME_CONFIRMATION_READ_AVIS'
           exporting
                ldate         = sy-datum
           tables
                t_kom         = lt_xkomdlgn
                t_wueb        = lt_wueb
                errors        = lt_errors
           exceptions
                error_message = 99.
      if et_return is supplied.
        clear wa_return.
        loop at lt_errors into wa_errors.
          wa_return-id         = wa_errors-msgid.
          wa_return-type       = wa_errors-msgty.
          wa_return-number     = wa_errors-msgno.
          wa_return-message_v1 = wa_errors-msgv1.
          wa_return-message_v2 = wa_errors-msgv2.
          wa_return-message_v3 = wa_errors-msgv3.
          wa_return-message_v4 = wa_errors-msgv4.
          append wa_return to et_return.
        endloop.
      endif.
      loop at lt_errors into wa_errors where msgty = c_error.
        message id wa_errors-msgid
           type wa_errors-msgty
           number wa_errors-msgno
           with wa_errors-msgv1 wa_errors-msgv2
                wa_errors-msgv3 wa_errors-msgv4
           into e_message.
        e_rc = 8.
        exit.
      endloop.
      check e_rc is initial.
    *-- Set delivery date
      wa_likp-lfdat = i_lfdat.
    *-- Prepare General Delivery Interface data
      loop at lt_xkomdlgn assigning <wa_xkomdlgn>.
        <wa_xkomdlgn>-lfart = wa_likp-lfart.
        <wa_xkomdlgn>-auart = wa_tvlk-daart.
        <wa_xkomdlgn>-vgtyp = l_sd_doc_category.
        <wa_xkomdlgn>-lfdat = wa_likp-lfdat.
        <wa_xkomdlgn>-lfuhr = wa_likp-lfuhr.
        <wa_xkomdlgn>-bolnr = wa_likp-bolnr.
        <wa_xkomdlgn>-verur = wa_likp-verur.
        <wa_xkomdlgn>-lifex = wa_likp-verur.
        <wa_xkomdlgn>-traty = wa_likp-traty.
        <wa_xkomdlgn>-traid = wa_likp-traid.
        <wa_xkomdlgn>-kzazu = charx.
      endloop.
      if i_commit is initial.
        l_no_commit = charx.
      else.
        clear l_no_commit.
      endif.
    *-- Create delivery
      call function 'GN_DELIVERY_CREATE'
           exporting
                vbsk_i        = vbsk_i
                no_commit     = charx
           importing
                vbsk_e        = vbsk_e
                et_splitprot  = lt_splitprot
           tables
                xkomdlgn      = lt_xkomdlgn
                xxlips        = lt_lips
                xvbfs         = lt_xvbfs
                xvbls         = lt_xvbls
           exceptions
                error_message = 99.
      if not sy-subrc is initial.
        e_rc = 8.
        message e398(00) with 'DELIVERY'(003) 'CREATION FAILED'(002)
          into e_message.
        exit.
      endif.
      if lt_lips[] is initial.
        e_rc = 8.
        message e398(00) with 'DELIVERY'(003) 'CREATION FAILED'(002)
          into e_message.
        exit.
      endif.
      loop at lt_lips into wa_lips.
        exit.
      endloop.
      et_lips = lt_lips.
      delete lt_lips where lfimg <> 0.
      if not sy-subrc is initial.
        e_rc = 8.
        message e398(00) with 'DELIVERY'(003) wa_lips-vbeln
                              'WITH 0 QTY. NOT SAVED!'(005)
          into e_message.
        rollback work.
        exit.
      endif.
      if l_no_commit is initial.
        commit work and wait.
        select single vbeln into e_vbeln from lips
               where  vbeln  = wa_lips-vbeln.
        if not sy-subrc is initial.
          e_rc = 8.
          message e398(00) with 'DELIVERY'(003) 'CREATION FAILED'(002)
             into e_message.
          exit.
        else.
          message s398(00) with 'DELIVERY'(003) wa_lips-vbeln
                                'CREATED'(004)
               into e_message.
        endif.
      else.
        rollback work.
        message s398(00) with 'DELIVERY'(003) wa_lips-vbeln
                              'CREATED'(004)
             into e_message.
      endif.
      e_vbeln = wa_lips-vbeln.
    endmethod.

  • BAPI/FM Inbound delivery change

    Hi All,
    Problem- I am trying to change inbound delivery field wadat_ist(actual GR date)
    I found FM: WS_DELIVERY_UPDATE which can help me do that.
    However, for the change to be effective i need to select the field WABUC(Post good issue automatically) as the FM checks for that field, which does the goods receipt.
    Is there a way in which I can change the actual GR date without doing a Goods receipt. If so, please let me know.
    I also looked at BAPI_INBOUND_DELIVERY_CHANGE...apparently it does not have an option for field wadat_ist(i could have missed it, but so far I could not find it)
    P.S: I am using 4.6C
    Thanks in advance for all your help!!!

    hi,
    check this
    BAPI_IBDLV_CREATE_FROM_OBDLV BAPI Inbound Delivery from Outbound Delivery
    BAPI_INB_DELIVERY_CONFIRM_DEC BAPI for Inbound Delivery Confirmation from a Decentralized System
    BAPI_INB_DELIVERY_SAVEREPLICA BAPI Function Module for Replication of Inbound Deliveries
    BAPI_OUTB_DELIVERY_CONFIRM_DEC BAPI for Outbound Delivery Confirmation from a Decentralized System
    BAPI_OUTB_DELIVERY_SAVEREPLICA BAPI Function Module for Replication of Outbound Deliveries

  • Finding BAPI/RFC/FM For inbound Delivery Display(VL33N)

    HI,
      PLZ HELP ME FOR FINDING BAPI/RFC/FM For inbound Delivery Display(VL33N).
    REGARDS,
    SUNIL SAHOO

    Hi,
    Check this link-
    http://www.sap-img.com/abap/how-to-find-bapi-for-particular-transaction-in-sap.htm
    Regards.
    Eshwar.

  • Use WS_DELIVERY_UPDATE_2 for Inbound Delivery HU Update?

    Hello all,
    I have used WS_DELIVERY_UPDATE_2 to successfully update Handling units to Outbound delivery and also perform batch split.
    Can the same FM be used to update Inbound delivery with Handling units. I will be uploading the HU's through excel file.
    Please advice.
    Thanks,
    Subba

    Hi,
    Below is code for Inbound Delivery With HU, it worked for me.
      gs_head-DELIV_DATE = sy-datum.
    gs_head-DELIV_TIME = sy-uzeit.
    gs_item-DELIV_ITEM = p_item1.
    gs_item-MATERIAL = p_matnr1.
    gs_item-DELIV_QTY = p_quan.
    gs_item-UNIT = 'EA'.
    gs_item-PO_NUMBER = p_po.
    gs_item-PO_ITEM = 10.
    APPEND gs_item TO gt_item.
    CLEAR:gs_item.
    CALL FUNCTION 'BBP_INB_DELIVERY_CREATE'
      EXPORTING
        IS_INB_DELIVERY_HEADER = gs_head
      IMPORTING
        EF_DELIVERY            = gv_vbeln
      TABLES
        IT_INB_DELIVERY_DETAIL = gt_item
        RETURN                 = gt_ret1.
    gs_refobj-OBJECT = 03.
    gs_refobj-OBJKEY = gv_vbeln.
    gs_humain-vhilm = p_matnr2.
    GS_HUMAIN-HU_STATUS_INIT = 'A'.
    gs_humain-STATUS = '0010'.
    gs_itempr1-VELIN = 1.
    gs_itempr1-QUANTITY = p_quan.
    gs_itempr1-meins = 'EA'.
    gs_itempr1-matnr = p_matnr1.
    gs_itempr1-werks = p_plant.
    CALL FUNCTION 'PROCESS_HU_INBOUND_DLVRY'
      EXPORTING
        I_HU_ID               = gv_huid (Blank)
        I_NEW_HU              = 'X'
        I_UPDATE_DB           = 'X'
        I_CREATE_HU           = 'X'
        I_REFERENCE_OBJECT    = gs_refobj
        I_HU_HEADER_MAIN      = gs_humain
        I_SAVE_STEP           = 'ITEM'
        I_PACK_ACTIVITY       = 'MAT'
        I_DELIVERY_TYPE       = '7'
        I_PACKING_ACTIVITY    = 'PACK'
        I_PACK_TYPE           = 'MAT'
        IS_ITEM_PROPOSAL      = gs_itempr1
      IMPORTING
        O_HU_REF_ID           = gs_erefid
        O_HU_HEADER           = gt_eheader
        O_HU_ITEMS            = gt_eitem
        O_HU_MESSAGES         = gt_emsg[]
      TABLES
        ET_CREATED_HUS        = gt_ehus[]
      EXCEPTIONS
        INPUT_MISSING         = 1
        NOT_POSSIBLE          = 2
        HEADER_ERROR          = 3
        ITEM_ERROR            = 4
        SERIAL_NR_ERROR       = 5
        FATAL_ERROR           = 6
        OPERATION_FAILED      = 7
        DELIVERY_UPDATE_ERROR = 8
        OTHERS                = 9.
    IF SY-SUBRC EQ 0.
      CLEAR:gs_vekp.
      SELECT SINGLE * FROM vekp INTO gs_vekp WHERE VPOBJKEY = GV_VBELN.
      ls_vbkok_wa-vbeln_vl  = gv_vbeln.
      ls_vbkok_wa-vbeln = gv_vbeln.
      ls_vbkok_wa-VBTYP_VL = 7.
      ls_vbkok_wa-wabuc = 'X'.
      ls_vbkok_wa-spe_auto_gr = 'X'.
      ls_vbkok_wa-kzebu = 'X'.
      lt_verko-exidv = gs_vekp-exidv.
      lt_verko-exida = 'E'.
      lt_verko-magrv = 'YB01'.
      lt_verko-werks = p_plant.
      lt_verko-STATUS = '0010'.
      APPEND lt_verko.
      lt_verpo-venum = gs_vekp-venum.
      lt_verpo-exidv_ob = gs_vekp-exidv.
      lt_verpo-exidv = gs_vekp-exidv.
      lt_verpo-velin = '1'.
      lt_verpo-vbeln = gv_vbeln.
      lt_verpo-POSNR = p_item1 .
      lt_verpo-TMENG = p_quan.
      lt_verpo-VRKME = 'EA'.
      lt_verpo-MATNR = p_matnr1.
      lt_verpo-werks = p_plant.
      APPEND lt_verpo.
      lt_vbpok-vbeln_vl = gv_vbeln.
      lt_vbpok-posnr_vl = p_item1.
      lt_vbpok-vbeln = gv_vbeln.
      lt_vbpok-posnn = p_item1.
      lt_vbpok-pikmg = p_quan.
      lt_vbpok-matnr = p_matnr1.
      lt_vbpok-werks = p_plant.
      lt_vbpok-pstyv = 'ELP'.
      APPEND lt_vbpok.
      lt_repack-SOURCEHU = gs_vekp-exidv.
      lt_repack-DESTHU = gs_vekp-exidv.
      lt_repack-PACK_QTY = p_quan.
      lt_repack-BASE_UOM = 'EA'.
      lt_repack-MATERIAL = p_matnr1.
      lt_repack-PLANT = p_plant.
      lt_repack-DELIV_NUMB = gv_vbeln.
      lt_repack-DELIV_ITEM = p_item1.
      APPEND lt_repack.
      CALL FUNCTION 'WS_DELIVERY_UPDATE_2'
        EXPORTING
          VBKOK_WA               = ls_vbkok_wa
          DELIVERY               = gv_vbeln
          update_picking         = 'X'
          no_messages_update_1   = 'X'
          synchron               = 'X'
          commit                 = ' '
          NICHT_SPERREN_1        = 'Y'
          if_database_update_1   = '1'
          if_error_messages_send = 'X'
        TABLES
          PROT                   = lt_prot
          VERKO_TAB              = lt_verko
          VERPO_TAB              = lt_verpo
          IT_REPACK = lt_repack.
      COMMIT WORK and WAIT.
    Thanks,
    Shankar Darbha

  • SAP System inconsistency for Inbound delivery / MIGO and a "sap note"

    Hello Friends ,
    After following SAP instruction on how to remove the inconsistency between posting GR through MIGO (Inv. mang.) and the reflection of the goods movement status in the inbound delivery document - done that using sap note 570991
    the problem is that the system start behaving in a weird way throwing unjustified Error messages for any suggested goods receipt using MIGO with reference to inbound
    for example after creating an inbound delivery document and trying to post it via migo , an error will pop up
    - Inbound delivery storage location cannot be changed to here Message no. VLA316
    the thing is i didn't even maintain any storage location entry up to that point and yet i cannot post any stock !!
    also another error  like
    - Inbound delivery batch cannot be changed to *** here
    which doesn't make any sense because there is not batches in the inbound document !!
    i think this behavior is coming from the "Document Flow Update for Stock Postings" inbound  indicator  at the shipping parameter at client level customization
    i need help on  how to overcome this annoying SAP Bug/Problem specially i am in a post go live critical situation

    Hi,
       The messages you mentioned were introduced to avoid inconsistency between inbound delivery and IM, through the note:  1050944 - GR for inbound delivery using inventory mgmt as of ECC 6.00
       If the messages are issued incorrectly, then you may check for SAP notes (I couldnt find anything relevant) or raise an OSS ticket to SAP.
    Regards,
    AKPT

  • BDC program for inbound delivery VL31

    Dear experts,
    I have created BDC program for inbound delivery with old T_CODE VL31,but it's very inefficient.Now I must change the program for the efficiency improve.
    Could you give any idea?
    Thanks in advance,
    collysun.

    I'm sorry, but it does not seem that there is a BAPI for this (looking at transaction BAPI and business object BUS2015).
    Have you perhaps looked at the new transaction VL31N? Are there any differences that may improve the input (limit the number of BDC steps)?
    Otherwise, take a look at the way you are entering data now. Make sure there are not too many dialog steps. i.e. Make sure you enter all the data you can on a single screen, only then process the next OKCODE. Also, look at the transaction again: Perhaps you can enter items in an overview screen instead of individual items. (I have no knowledge of your situation of course; these are just some general guidelines).
    Cheers,
    Martin

  • New Condition TAble for Inbound Delivery

    Hello
    i want to maintain a new Condition table for the Inbound delivery picking with the combination of _Delivery type/Plant
    so that the Inbound created for the particular plant alone uses the particular output type.
    Where in IMG can i configure the new Condition table for this combination for the Inbound delivery ?

    Hi,
    Go to SPRO > Logistics Execution > Shipping > Basic Shipping Functions > Output Control > Output Determination > Maintain Output Determination for Inbound Deliveries > Here perform following;
    - Define Condition Table for Inbound Delivery
    - Define Output Types for Inbound Delivery
    - Define Access Sequence for Inbound Delivery
    - Maintain Output Determination Procedure
    - Assign Output Determination Procedures

Maybe you are looking for

  • How do I move an audiobook to the audiobook folder from the music folder?

    I imported an audiobook cd and its in the music folder. How do I move it to audiobook folder? Dell   Windows XP Pro   30mhz, 1 gig RAM, 200 gb drive

  • What causes "ORA-01445: cannot select ROWID from" error

    While executing a SELECT query i got this error: ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table Below mentioned is the join condition part of the query. The line which the error has occured is italicized fro

  • How to send a picture text message

    New to the iphone but was always able to send a picture text message to anyone including my verizon friends with a LG phone worked great. However with the new iphone I try to send a text message with a picture and nobody receives it. Then I get a rep

  • It is possible to writing vertically in script/smart forms

    I am trying to write vertically in script, how to write in script then how to draw vertical line in script? I try to draw vertical line / box my code is,  &vline(10)& bt it appered I I I I I I I I I I Thanks, Vino

  • Safari will not open with top sights.

    I like Safari to launch with top sights.  No matter what I do in preferences, Safari 5.1 always opens with the last page I visited.  This is usually a search I no longer need.  The only time Safari launches with top sights is if I close all windows b