Add eventlistener to catch after save document event?

How can I catch a after save document event?
Best regards
/ Pontus

http://127.0.0.1:63632/help/index.jsp?topic=%2Fcom.adobe.cside.docs%2Freferences%2Fcshalib %2Fcom%2Fadobe%2Fcshostadapter%2FIDScriptingEventAdapter.html
Harbs

Similar Messages

  • Substitution rule has to triggered after save document in FB70 and FB75

    HI,
      I have a substitution rule for REFNR field  and that will trigger when you make FB70 and FB75 for 2 company codes. In the user exit for subustitution we have a code to get the next object number for some other purpose. because third party will use this generated next number for their legal requirement.
    The real problem comes this substitution rule is triggered before save document. due to this if i came back from the transaction without saving the document I am losing that generated number which i dont want.
    I need some tips on this. is there a way in the substituion settings we will trigger this exit at save document.
    I would appreciate your inputs on this.
    Regards
    PRasad

    Hi Rob,
      I would like to know.
      call point 001 is document header
      call point 002 is document item
      call point 003 is complete document.
    I am assuming 003 triggers after complete the document.
    Any clue on this.
    Regards
    PRasad

  • Photoshop save document event not firing

    I am creating a photoshop plugin using generator,'documentaftersave' event doesn't seem to working. is there anyway for me to catch save event on document.

    I am creating a photoshop plugin using generator,'documentaftersave' event doesn't seem to working. is there anyway for me to catch save event on document.

  • Loop through matrix before document saved (or get doc number after save)

    Hi All,
    I would like to loop through the matrix of a document (e.g. an invoice) before it is posted to the database (when the add button is clicked), but I would like to know at that point whether the invoice will definitely be posted.  When you look at ActionSuccess, the items in the matrix are already cleared.
    Alternatively I would like to get the number of the invoice that was added so I can loop through the invoice lines records in SQL.
    I have looked at quite a number of posts on tjis forum, but none of them has a definite answer to either of the options - or none I could find at least
    Your help is appreciated and thanks in advance,
    Adele

    Hi Adele,
    Here some thoughts form Frank and me:
    As you mention, it makes basically no sense to process anything in such a document when a user can still cancel the saving (what about approvals???!!!!!).
    To do the checks "after save" there are two options:
    An easier one which is not 100% reliable from a "data perspective" - and one which is 100% reliable, but is a bit more "dangerous" because you will need to rely on an event to come BeforeAction = True AND BeforeAction = False (remember the "BubbleEvent" etc.)
    Option 1.
    (Not 100% (99.5%?) reliable is like suggested in some posts, but sometimes basic things are missed:
    Use SQL in the ItemEvent handler:
    If pVal.ItemUID = "1" And
    pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED And
    pVal.ActionSuccess = True Then
    "SELECT DocEntry FROM OINV WHERE UserSign = <internal number of user> AND UpdateDate = '<today>' AND DocTotal = <the value in UI> AND ...<maybe additional criteria as another person can reuse the user code - or a "DI API Add-On" may add a document in parallel>... ORDER BY DocEntry desc"
    Theoretically it could happen that through a second connection / application instance a document could be posted at the same time. That's why this way is not 100% reliable...
    Re time between "Add" and the SQL to retrieve the data being short (on what e.g. Florian relies on):
    Please take in mind that you cannopt really count on the time being that short (milliseconds) when thinking about speed of the client PC, network traffic, users working at the same time with a company database, overall database response when working with a bigger database etc. etc.!!!
    Option 2.
    In the ItemEvent handler when BeforeAction = True start a global transaction that will block the table. After the ActionSuccess (BeforeAction = False) make a select to the table to get the desired data, and finally end the Transaction by commiting the data.
    HTH,
    Felipe & Frank

  • How do I remove the (-signed) which Adobe adds to the end of the document name after having signed it?

    Hi there,
    How do I remove the (-signed) which Adobe adds to the end of the document name after having signed it?
    It is not convenient to remove it every time I sign a document. So, is there a way to turn this off?
    Thank you

    I think you cannot, because for many people it is so important to keep the unsigned document, and most do not realise this until it is too late.

  • Identify if new Business Partner in After Save event

    Hello,
    I need to implement some logic in the After Save event of a BP. I am doing this in DSAVE event in BUS7 transaction. In the custom function module for the event, I need to identify if the BP is a new or a modified BP.
    Can anyone suggest which is the best approach to do identify if a BP is new or modified?
    Thanks
    Ajay

    Its simple.. with BP Guid go to the BUT000 (BP: General data I) if the record is available.. then its not new otherwise its a new BP.
    Or Use this BAPI to check the BP is already avaialbe or not.. BAPI_BUPA_EXISTENCE_CHECK
    Hope this helps you...

  • "Send for Email Review": How do you add reviewers to initial "blank slate" document after comments from other reviewers have been merged?

    Hi-
    I'm editing a bulletin and have used the "Send for email review" feature to get reviewers to edit. I've already merged some of their edits back into the initial document. Only now have I realized I forgot a reviewer on the initial email request to review. Is there any way to add this reviewer to the initial document, without her having to see all the merged comments? Essentially, I want her to have a clean slate of the bulletin to edit just like all of the other reviewers. I'm using Adobe Acrobat XI Pro.
    Thanks for your help.

    Anne,
    In Conversation view when in Outlook you should have a triangle (to the left of the conversation group) you can click on to expand the conversion, this then shows a nested list of all the message and paper clips for the ones that have attachments.
    Click on the View tab, and click on the Reset View button, this should return the view to the default and you should see the little triangles to the left of the conversations in the list of messages.  You can then use those to toggle the summary of
    all the messages in the conversation open and closed.
    If that still does not work, you might think about just using your Gmail account in the Chrome browser, this way you get a lot of the gmail features, plus you can do that from any PC, not just the one with your Outlook installed.  Just a thought for
    you, or you can repair Outlook.
    Repair Outlook 2010
    Open up the Control Panel on your PC (and show All Control Panel items, if necessary) and click on Programs and Features.
    Find Office 2010 in the list and highlight it.
    Click Change.
    Select Repair and Continue then follow the prompts
    After the repair is finished, reboot.
    Hopefully one of those takes care of it for you.
    Curt Winter
    Microsoft Certified Professional
    Business Technology Services

  • Why can not catch the standard BACK event in ALV's USER_COMMAND event,

    Hi expert, why i can not catch the standard BACK event in ALV's USER_COMMAND event,
    Code:
    DATA G_CON_UC_FORM   TYPE SLIS_FORMNAME VALUE 'F_USER_COMMAND',
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM      = SY-REPID
          I_CALLBACK_TOP_OF_PAGE  = G_CON_FORM
          I_CALLBACK_USER_COMMAND = G_CON_UC_FORM
          IT_FIELDCAT             = G_TAB_FIELDCAT
          IT_SORT                 = G_TAB_SORT_INF
          I_SAVE                  = G_CON_U
    *<<<Liang
        IT_EVENTS               = G_TAB_ALV_EVENTS
    *<<<Liang
        TABLES
          T_OUTTAB                = G_TAB_OUTPUT_DATA
        EXCEPTIONS
          PROGRAM_ERROR           = 1
          OTHERS                  = 2.
    *&      Form  F_USER_COMMAND
          ALV USER COMMAND processing
    FORM F_USER_COMMAND .
      IF SY-UCOMM = '&FO3'.
        LEAVE TO SCREEN 0.
      ENDIF.
    ENDFORM.                    " F_USER_COMMAND
    When I set breakpoint on this subrouting ,and try to click stardard  BACK or CANCEL button, the callback form do not run, but if double click one of line of alv report, the callback form works well,
    so why??

    hi
    good
    check this report and change your code accordingly.
    THESE LINES ARE FOR THE MAIN PROGRAM ***
    SAP V40B ***
    REPORT Z_PICK_LIST .
    TABLES: RESB.
    SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-BL1.
    SELECT-OPTIONS: S_WERKS FOR RESB-WERKS," Plant
                    S_AUFNR FOR RESB-AUFNR," Order number
                    S_BDTER FOR RESB-BDTER." Req. date
    SELECTION-SCREEN END OF BLOCK BL1.
    PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT DEFAULT '/STANDARD'.
    DATA: BEGIN OF OUT OCCURS 10,
            AUFNR LIKE RESB-AUFNR,         " Order number
            MATNR LIKE RESB-MATNR,         " Material
            BDMNG LIKE RESB-BDMNG,         " Requirements in UM
            MEINS LIKE RESB-MEINS,         " Unit of Measure (UM)
            ERFMG LIKE RESB-ERFMG,         " Requirements in UE
            ERFME LIKE RESB-ERFME,         " Unit of Entry (UE)
            MAKTX LIKE MAKT-MAKTX,         " Mat. description
          END OF OUT.
    INCLUDE Z_ALV_VARIABLES.
    INITIALIZATION.
      REPNAME = SY-REPID.
      PERFORM INITIALIZE_FIELDCAT USING FIELDTAB[].
      PERFORM BUILD_EVENTTAB USING EVENTS[].
      PERFORM BUILD_COMMENT USING HEADING[].
      PERFORM INITIALIZE_VARIANT.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
      PERFORM F4_FOR_VARIANT.
    AT SELECTION-SCREEN.
      PERFORM PAI_OF_SELECTION_SCREEN.
    START-OF-SELECTION.
      PERFORM GET_ORDERS.
      PERFORM GET_MATERIAL_DESCRIPTION.
    END-OF-SELECTION.
      PERFORM BUILD_LAYOUT USING LAYOUT.
      PERFORM BUILD_PRINT  USING PRINTS.
      PERFORM WRITE_USING_ALV.
          FORM INITIALIZE_FIELDCAT                               *
    -->  P_TAB                                                         *
    FORM INITIALIZE_FIELDCAT USING P_TAB TYPE SLIS_T_FIELDCAT_ALV.
      DATA: CAT TYPE SLIS_FIELDCAT_ALV.
      CLEAR CAT.
    ENDFORM.                               " INITIALIZE_FIELDCAT
    *&      Form  GET_ORDERS
          text
    FORM GET_ORDERS.
      SELECT AUFNR MATNR BDMNG MEINS ERFMG ERFME
             FROM RESB
             APPENDING TABLE OUT
             WHERE XLOEK EQ SPACE          " deletion indicator
             AND   XWAOK EQ 'X'            " goods movement indicator
             AND   WERKS IN S_WERKS        " plant
             AND   BDTER IN S_BDTER        " req. date
             AND   AUFNR IN S_AUFNR.       " pr. order
    ENDFORM.                               " GET_ORDERS
    *&      Form  GET_MATERIAL_DESCRIPTION
          text
    FORM GET_MATERIAL_DESCRIPTION.
      SORT OUT BY MATNR.
      LOOP AT OUT.
        SELECT SINGLE MAKTX
               INTO OUT-MAKTX
               FROM MAKT
               WHERE MATNR EQ OUT-MATNR
               AND   SPRAS EQ 'EN'.
        MODIFY OUT.
      ENDLOOP.
      SORT OUT BY AUFNR MATNR.
    ENDFORM.                               " GET_MATERIAL_DESCRIPTION
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      DATA: L_POS TYPE P.
    first line
      WRITE:/ TEXT-001.                    " Plant:
      IF S_WERKS-HIGH NE SPACE.
        WRITE: S_WERKS-LOW, TEXT-TO1, S_WERKS-HIGH.
      ELSEIF S_WERKS-LOW NE SPACE.
        LOOP AT S_WERKS.
          WRITE: S_WERKS-LOW.
        ENDLOOP.
      ELSEIF S_WERKS-LOW EQ SPACE.
        WRITE: TEXT-ALL.
      ENDIF.
      L_POS = ( SY-LINSZ DIV 2 ) - ( STRLEN( TEXT-TIT ) DIV 2 ).
      POSITION L_POS. WRITE: TEXT-TIT.
      L_POS = SY-LINSZ - 20.
      POSITION L_POS. WRITE: TEXT-011, SY-UNAME RIGHT-JUSTIFIED.  " User:
    second line
      WRITE:/ TEXT-002.                    " Order:
      IF S_AUFNR-HIGH NE SPACE.
        WRITE: S_AUFNR-LOW, TEXT-TO1, S_AUFNR-HIGH.
      ELSEIF S_AUFNR-LOW NE SPACE.
        LOOP AT S_AUFNR.
          WRITE: S_AUFNR-LOW.
        ENDLOOP.
      ELSEIF S_AUFNR-LOW EQ SPACE.
        WRITE: TEXT-ALL.
      ENDIF.
      L_POS = SY-LINSZ - 20.
      POSITION L_POS. WRITE: TEXT-012,SY-DATUM.      " Date:
    third line
      WRITE:/ TEXT-003.                    " Req. Date:
      IF S_BDTER-HIGH(1) NE '0'.
        WRITE: S_BDTER-LOW, TEXT-TO1, S_BDTER-HIGH.
      ELSEIF S_BDTER-LOW(1) NE '0'.
        LOOP AT S_BDTER.
          WRITE: S_BDTER-LOW.
        ENDLOOP.
      ELSEIF S_BDTER-LOW(1) EQ '0'.
        WRITE: TEXT-ALL.
      ENDIF.
      L_POS = SY-LINSZ - 20.
      POSITION L_POS. WRITE: TEXT-013, SY-PAGNO.   " Page:
    ENDFORM.                               " TOP_OF_PAGE
          FORM END_OF_LIST                                              *
    FORM END_OF_LIST.
      DATA: L_POS TYPE P.
      ULINE.
      WRITE:/ '|', TEXT-021.      " Delivered by:
      L_POS = SY-LINSZ DIV 2.
      POSITION L_POS. WRITE: '|', TEXT-031.            " Received by:
      L_POS = SY-LINSZ.
      POSITION L_POS. WRITE: '|'.
      WRITE:/ '|'.
      L_POS = SY-LINSZ DIV 2.
      POSITION L_POS. WRITE: '|'.
      L_POS = SY-LINSZ.
      POSITION L_POS. WRITE: '|'.
      ULINE.
      WRITE:/ '|', TEXT-012.      " Date:
      L_POS = SY-LINSZ DIV 2.
      POSITION L_POS. WRITE: '|', TEXT-012.            " Date:
      L_POS = SY-LINSZ.
      POSITION L_POS. WRITE: '|'.
      WRITE:/ '|'.
      L_POS = SY-LINSZ DIV 2.
      POSITION L_POS. WRITE: '|'.
      L_POS = SY-LINSZ.
      POSITION L_POS. WRITE: '|'.
      ULINE.
    ENDFORM.                               " END_OF_LIST
    *&      Form  WRITE_USING_ALV
          text
    FORM WRITE_USING_ALV.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
                I_PROGRAM_NAME     = REPNAME
                I_INTERNAL_TABNAME = 'OUT'
                I_INCLNAME         = REPNAME
           CHANGING
                CT_FIELDCAT        = FIELDTAB.
      IF SY-SUBRC <> 0.
        WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_FIELDCATALOG_MERGE'.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
           EXPORTING
                I_CALLBACK_PROGRAM       = REPNAME
               i_callback_pf_status_set = 'PF_STATUS_SET'
               i_callback_user_command  = 'USER_COMMAND'
                I_STRUCTURE_NAME         = 'OUT'
                IS_LAYOUT                = LAYOUT
                IT_FIELDCAT              = FIELDTAB
                I_DEFAULT                = 'A'
                I_SAVE                   = G_SAVE
                IS_VARIANT               = G_VARIANT
                IT_EVENTS                = EVENTS[]
                IS_PRINT                 = PRINTS
           TABLES
                T_OUTTAB                 = OUT.
      IF SY-SUBRC <> 0.
        WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_LIST_DISPLAY'.
      ENDIF.
    ENDFORM.                               " WRITE_USING_ALV
    THESE LINES ARE FOR THE INCLUDE ***
    ***INCLUDE Z_ALV_VARIABLES .
    TYPE-POOLS: SLIS.
    DATA: FIELDTAB TYPE SLIS_T_FIELDCAT_ALV,
          HEADING  TYPE SLIS_T_LISTHEADER,
          LAYOUT   TYPE SLIS_LAYOUT_ALV,
          EVENTS   TYPE SLIS_T_EVENT,
          REPNAME  LIKE SY-REPID,
          F2CODE   LIKE SY-UCOMM VALUE  '&ETA',
          PRINTS   TYPE SLIS_PRINT_ALV,
          TITLE(40) TYPE C,
          G_SAVE(1) TYPE C,
          G_EXIT(1) TYPE C,
          G_VARIANT LIKE DISVARIANT,
          GX_VARIANT LIKE DISVARIANT.
    CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
               FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE',
               FORMNAME_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST',
               FORMNAME_BEFORE_LINE TYPE SLIS_FORMNAME VALUE 'BEFORE_LINE',
               FORMNAME_AFTER_LINE TYPE SLIS_FORMNAME VALUE 'AFTER_LINE'.
          FORM MAIN_STATEMENTS                                          *
    THIS IS THE CODE THAT MUST BE INSERTED IN THE MAIN PROGRAM
    FORM MAIN_STATEMENTS.
    Declare the parameter P_VARI wherever you want it. If you don't
    want it, hide it with NO-DISPLAY, but it must exist.
    parameters: p_vari like disvariant-variant. " ALV Variant
    You have to add the following line after the data and parameter
    declaration:
    include z_alv_variables.
    Then, after the data/parameter declaration, add these lines:
    *initialization.
    repname = sy-repid.
    perform initialize_fieldcat using fieldtab[].
    perform build_eventtab using events[].
    perform build_comment using heading[].
    perform initialize_variant.
    If you are using the variable P_VARI (ALV Variant), also add this:
    *at selection-screen on value-request for p_vari.
    perform f4_for_variant.
    *at selection-screen.
    perform pai_of_selection_screen.
    After the "END-OF-SELECTION" statement, add these lines:
    perform build_layout using layout.
    perform build_print  using prints.
    perform write_using_alv.
    You also have to create the following forms: (you can find samples
    in this program)
    INITIALIZE_FIELDCAT
    USER_COMMAND     (only if you are creating a STATUS)
    WRITE_USING_ALV
    ENDFORM.
    *&      Form  INITIALIZE_FIELDCAT_SAMPLE
          THIS IS A SAMPLE, DO NOT USE THIS FORM IN YOUR PROGRAM
         -->P_FIELDTAB[]  text                                           *
    FORM INITIALIZE_FIELDCAT_SAMPLE USING P_TAB TYPE SLIS_T_FIELDCAT_ALV.
      DATA: CAT TYPE SLIS_FIELDCAT_ALV.
      CLEAR CAT.                           " Always clear before use
      CAT-TABNAME = 'I'.                   " Your internal table
      CAT-REF_TABNAME = 'ZCUSTMAS'.  " The data dictionary reference table
      CAT-FIELDNAME = 'KUNNR'.       " Name of your field in the itable.
      CAT-COL_POS   = 1.                   " Output position
      APPEND CAT TO P_TAB.
      CAT-FIELDNAME = 'NAME1'.             " Next field
      CAT-COL_POS   = 2.
      APPEND CAT TO P_TAB.
      CAT-FIELDNAME = 'STRAS'.             " and the next
      CAT-COL_POS   = 3.
      APPEND CAT TO P_TAB.
      CAT-FIELDNAME = 'LOEVM'.
      CAT-SELTEXT_S = 'Del'.         " You can always override the descrip-
      CAT-SELTEXT_M = 'Delivery'.          " tion (short, medium, large)
      CAT-SELTEXT_L = 'Delivery Num'.
      CAT-COL_POS   = 4.
      APPEND CAT TO P_TAB.
      CAT-FIELDNAME = 'FKIMG'.
      CAT-DO_SUM    = 'X'.                 " You want totals calculated.
      CAT-NO_OUT    = 'X'.                 " and hidden.
      APPEND CAT TO P_TAB.
    ENDFORM.                               " INITIALIZE_FIELDCAT
    *&      Form  BUILD_EVENTTAB
          THIS IS THE SAME FOR ALL THE PROGRAMS
         -->P_EVENTS[]  text                                             *
    FORM BUILD_EVENTTAB USING P_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE = 0
           IMPORTING
                ET_EVENTS   = P_EVENTS.
      READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO P_EVENTS.
      ENDIF.
      CLEAR LS_EVENT.
      READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_END_OF_LIST
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE FORMNAME_END_OF_LIST TO LS_EVENT-FORM.
        APPEND LS_EVENT TO P_EVENTS.
      ENDIF.
      CLEAR LS_EVENT.
      READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE FORMNAME_BEFORE_LINE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO P_EVENTS.
      ENDIF.
      CLEAR LS_EVENT.
      READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_AFTER_LINE_OUTPUT
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE FORMNAME_AFTER_LINE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO P_EVENTS.
      ENDIF.
      CLEAR LS_EVENT.
      READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE FORMNAME_END_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO P_EVENTS.
      ENDIF.
    ENDFORM.                               " BUILD_EVENTTAB
    *&      Form  BUILD_COMMENT
    NOT REALLY NEEDED, BUT I'LL LEAVE IT THERE, JUST IN CASE...
         -->P_HEADING[]  text                                            *
    FORM BUILD_COMMENT USING P_HEADING TYPE SLIS_T_LISTHEADER.
      DATA: HLINE TYPE SLIS_LISTHEADER,
            TEXT(60) TYPE C,
            SEP(20) TYPE C.
      CLEAR: HLINE, TEXT.
      HLINE-TYP  = 'H'.
    write: text-101 to text+23.
      HLINE-INFO = TEXT.
      APPEND HLINE TO P_HEADING.
    ENDFORM.                               " BUILD_COMMENT
    *&      Form  INITIALIZE_VARIANT
    VERY IMPORTANT WHEN YOU USE VARIANTS!!!
    FORM INITIALIZE_VARIANT.
      G_SAVE = 'A'.
      CLEAR G_VARIANT.
      G_VARIANT-REPORT = REPNAME.
      GX_VARIANT = G_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                I_SAVE     = G_SAVE
           CHANGING
                CS_VARIANT = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND  = 2.
      IF SY-SUBRC = 0.
        P_VARI = GX_VARIANT-VARIANT.
      ENDIF.
    ENDFORM.                               " INITIALIZE_VARIANT
    *&      Form  PAI_OF_SELECTION_SCREEN
    ALSO FOR VARIANTS
    FORM PAI_OF_SELECTION_SCREEN.
      IF NOT P_VARI IS INITIAL.
        MOVE G_VARIANT TO GX_VARIANT.
        MOVE P_VARI TO GX_VARIANT-VARIANT.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
             EXPORTING
                  I_SAVE     = G_SAVE
             CHANGING
                  CS_VARIANT = GX_VARIANT
             EXCEPTIONS
                  WRONG_INPUT   = 1
                  NOT_FOUND     = 2
                  PROGRAM_ERROR = 3.
        IF SY-SUBRC EQ 0.
          G_VARIANT = GX_VARIANT.
        ELSE.
          PERFORM INITIALIZE_VARIANT.
        ENDIF.
      ELSE.
        PERFORM INITIALIZE_VARIANT.
      ENDIF.
    ENDFORM.                               " PAI_OF_SELECTION_SCREEN
    *&      Form  F4_FOR_VARIANT
          text
    FORM F4_FOR_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                IS_VARIANT = G_VARIANT
                I_SAVE     = G_SAVE
           IMPORTING
                E_EXIT     = G_EXIT
                ES_VARIANT = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND  = 2.
      IF SY-SUBRC = 2.
        MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF G_EXIT = SPACE.
          P_VARI = GX_VARIANT-VARIANT.
        ENDIF.
      ENDIF.
    ENDFORM.                               " F4_FOR_VARIANT
    *&      Form  BUILD_LAYOUT
    STANDARD LAYOUT
         -->P_LAYOUT  text                                               *
    FORM BUILD_LAYOUT USING P_LAYOUT TYPE SLIS_LAYOUT_ALV.
      P_LAYOUT-F2CODE       = F2CODE.
      P_LAYOUT-ZEBRA        = 'X'.
    p_layout-detail_popup = 'X'.
      P_LAYOUT-TOTALS_TEXT  = SPACE.
      P_LAYOUT-SUBTOTALS_TEXT = SPACE.
    ENDFORM.                               " BUILD_LAYOUT
          FORM BUILD_PRINT                                              *
    STANDARD PRINT OPTIONS                                             *
    -->  P_PRINT                                                       *
    FORM BUILD_PRINT USING P_PRINT TYPE SLIS_PRINT_ALV.
      P_PRINT-NO_PRINT_LISTINFOS = 'X'.
      P_PRINT-NO_PRINT_SELINFOS  = ' '.
    ENDFORM.                               " BUILD_PRINT
          FORM PF_STATUS_SET                                            *
    NAME YOUR STATUS ALV. IF YOU NEED IT..                             *
    FORM PF_STATUS_SET USING EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'ALV' EXCLUDING EXTAB.
    ENDFORM.                               " PF_STATUS_SET
          FORM USER_COMMAND_SAMPLE                                      *
    -->  UCOMM                                                         *
    -->  SELFIELD                                                      *
    FORM USER_COMMAND_SAMPLE USING UCOMM    LIKE SY-UCOMM
                               SELFIELD TYPE SLIS_SELFIELD.
      CASE UCOMM.
        WHEN 'MSXL'.                       " Export to Excel
         perform set_excel_export.
          CLEAR UCOMM.
        WHEN 'MM03'.
         set parameter id 'MAT' field selfield-value.
         call transaction 'MM03' and skip first screen.
          CLEAR UCOMM.
        WHEN 'BGR1'.
         perform fill_available.
         perform graph_available.
          CLEAR UCOMM.
        WHEN 'DOCU'.
         call function 'Z_HELP' exporting repname = repname.
      ENDCASE.
    ENDFORM.                               " USER_COMMAND
    *&      Form  WRITE_USING_ALV_SAMPLE
    *THIS IS A SAMPLE AND MUST BE WRITTEN DIRECTLY IN THE MAIN PROGRAM
    FORM WRITE_USING_ALV_SAMPLE.
    YOU CAN MERGE WITH A DATA DICTIONARY TABLE USING THIS:
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
          exporting
               i_program_name     = repname
               i_internal_tabname = 'I'
               i_inclname         = repname
          changing
               ct_fieldcat        = fieldtab.
    if sy-subrc <> 0.
       write: 'SY-SUBRC: ', sy-subrc, 'REUSE_ALV_FIELDCATALOG_MERGE'.
    endif.
    OR JUST DISPLAY IT USING THIS:
    call function 'REUSE_ALV_LIST_DISPLAY'
          exporting
               i_callback_program       = repname
               i_callback_pf_status_set = 'PF_STATUS_SET'
               i_callback_user_command  = 'USER_COMMAND'
               i_structure_name         = 'I'
               is_layout                = layout
               it_fieldcat              = fieldtab
               i_default                = 'A'
               i_save                   = g_save
               is_variant               = g_variant
               it_events                = events[]
               is_print                 = prints
          tables
               t_outtab                 = i.
    if sy-subrc <> 0.
       write: 'SY-SUBRC: ', sy-subrc, 'REUSE_ALV_LIST_DISPLAY'.
    endif.
    ENDFORM.                               " WRITE_USING_ALV
    thanks
    mrutyun^

  • Save document from word into sharepoint library does not work !

    Hi,
    I'm trying to resolve a problem that i have with word and my sharepoint website.
    Some of my users have to open and RDP session on a windows 2008 server and work from there. They open their session with their credential and they do everything they do in local on sharepoint using IE.
    BUT, we have always and ever had an issue on this server as they c'ant save a document (Word or Excel) from office. They have to upload it from sharepoint uising IE. In example, i want to save my document from word into the sharepoint document library I  have
    this error message :
    "Windows doesn't find (http://intranet.sharepoint.com/DocumentLibrary/). Check and retry".
    If I open my sharepoint site and i upload the document it works perfectly. Also if I open and edit an existing document from any library it will work with word. The problem seems to happen when i want to browse sharepoint from word for saving files...
    As this server is a windows 2008, IE version is 9 and the office version is the same as on all computers (Office 2010 SP2 32Bit)
    Any help would by appreciated
    Regards

    Hi,
    I understand you encountered the issue when save document from Office client application to SharePoint 2010 site.
    Is there any Proxy settings in networking side? Please bring up IE > Internet options > Connections > Lan settings. If so, please uncheck options in Proxy server and test the issue again.
    If you have deploy GPO to add SharePoint site into Trusted sites, please check if there is any other GP associated with trusted sites that might affect the issue. You could also remove it from Trusted sites via IE options and test the issue again.
    In addition, please provide more error message to help narrow down the issue, you could locate error information in Event log at least.
    Regards,
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected] .
    Rebecca Tu
    TechNet Community Support

  • JTextField & Document Event

    Hi I need to create a GUI like a calculator with number buttons. When I press 2 if this is the first character on the text field, I should set tp "B " [B and space]. I saw many examples of DocumentFilter and Document Event using to modify the data or generate events when pressing the keys. Then I need to add special characters after few more numbers are eneterd, eg for an input is "B 34.5567" using only keys 0-9.
    Another example was to use JFormattedTextField, I posted another question on the this and got some help to use DocumentFileter.
    I am facing a problem here on how to bind the keys from the GUI to these document events. When I press the keys, I can see events are fired, but cant use it to modify the JFormattedTextField. How should I do this? I am new to JAVA Swing. I am using the examples from the net to get this done.
    Thanks for help in any advance.

    user4071312 wrote:
    Another example was to use JFormattedTextField, I posted another question on the this and got some help to use DocumentFileter.
    what did you try so far? What happened when you used the suggestions in the other thread? Show us that you are trying, that infamous small runnable ... <g>
    BTW, personally, I think it rather impolite to ask a question, get some suggestions and then simply start over again in a new thread.
    I am facing a problem here on how to bind the keys from the GUI to these document events. please get your technical vocabulary right: in the context of Swing "bind keys" is a standing term. It's unrelated to document events.
    When I press the keys, I can see events are fired, but cant use it to modify the JFormattedTextField. assuming with "events" you mean the documentEvents in a DocumentListener: you don't modify the view, you modify the model (and preferably in a DocumentFilter, as you were already advised)
    How should I do this? I am new to JAVA Swing. Boils down to a very general question: How to learn :-) First you have to learn the basics. Start simple, read tutorials, read code, try to modify what you see, experience how it works (and fails <g>)
    I am using the examples from the net to get this done. not enough - you have to understand them. Now go ahead, choose a simple starter (like the one in snoracles online tutorial) and tweak until it works like you want
    Cheers
    Jeanette

  • Document Event Handlers

    How do I access the Page/Open and Doc/Open event handlers using the Javascript debugger ?
    Currently, I can see only a few related to the Closing and Saving of the document...Document Will Save, Document Will Close, etc.
    There is no "Add" button in the Document Actions dialog box that appears when one clicks on Other Tasks when editing a form-based document.
    Also, I noticed there is a Javascript function "SetPageAction" which can be used for the Open event handler, but apparently this must be established via script...
    no GUI counterpart appears to be available.

    There isn't an explicit document open event. Code that you place in a document-level JavaScript will execute when the document is opened.
    To get to the Page Open/Close events, open the Pages navigation pane, select the page you want, right-click > Page Properties > Actions

  • How to tackle the dataflow problem when Value Change event always triggers after another GUI event

    We know that Value change event always triggers after another GUI event. Eg, the user modifies string control, the user clicks on a boolean control. Then event boolean clicked is triggered before event string control value change.
    Now suppose somehow the GUI event that must happen to subsequently trigger the Value change event can potentially affect the data that Value change event is supposed to work on. How can we tackle this problem ?
    For example, in a mockup application that the grand purpose is to have user entered values in a textbox logged to a file (no missing information is accepted, and there is a boolean to determine how the information is logged).
    There are 2 controls, boolean A when clicked (mouse down) will load random number in text box B. Text box B is designed with event structure VALUE change which saves whatever values user enters into text box B to a log file.
    There are 3 problems when instead of clicking anywhere on the front panel after modifying text box B, the user ends up clicking on boolean control A.
    1. Event mouse down on Boolean control A will execute first, modifying text box B content before the user entered values in B get saved.
    2. The value of boolean A can potentially affect how textbox B is loggged.
    3. The value of boolean A affects how the file is logged and this is indeterminate. Somehow when running this VI with no Highlighting, the textbox B Value change event executes -before- boolean A value is updated (F to T). When running this VI with Highlighting, the boolean A value is updated (F to T) (because we click on it) -before- textbox B value change event occurs. Why is it like this ?
    Now the situation I made up seems non-sense, but I believe it resembles one way or another a problem that you might run into. How would you solve this problem elegantly ?
     

    You can set the string control to "update while typing".
    Are you sure appending the log to itself is reasonable? Wouldn't it grow without bounds if the users keeps entering strings or pressing the ingore button?
    Why isn't the "constant" a diagram constant instead of a control. Is the user allowed to change it?
    To reset just write empty strings or a false to local variables of the controls (renit to defaults" seems a bit heavy handed).
    All you probably need is a single event case for "ignore:value change" and "String" value changed", no need for the local variable..
    Also add a stop button and an event for it.
    You don't need the timeout event.
     

  • My Calendar on my iPhone won't allow me to save any events. It says "cannot save event" does anyone know how to fix this issue?

    After updating my phone earlier this month to the 5.1 software my calendar won't let me save any events. It displays "Cannot save event" I have tried googling the error and I have tried restarting the app, restarting my phone and even cutting the calendar off and back on....nothing has worked. Any other suggestions???

    Select the drive and Finder > Get info and at the bottom "ignore permissions on this volume"
    You can copy the files, but the ownership on the files still belongs to the other user account, once your done copying, then perform a #6 Reset Users Permissions and that will set all the ownership to that account.
    ..Step by Step to fix your Mac
    Another method is to copy the entire folder, then change it's permissions.

  • Pages, Numbers and Keynotes doesn't allow me to save documents

    I created a new document in pages, numbers or keynote and, when trying to save it to my documents folder, it shows me "Couldn't auto-save document".
    I've tried with different folders with the same results.
    There's no problem when saving to iCloud.
    I had installed iWork'09 and moved it to another folder.
    Versions are: Pages 5.2.2, Numbers 3.2.2 with OSX 10.9.5 Mavericks in a iMac 27-inch late 2009

    Are you running any anti-virus, anti-malware on your Mac? If so, disable this a/v software.
    If not, I would suggest the following:
    Boot into Recovery (hold command+R at the chime)
    Run Disk Utility (verify/repair permissions, and verify drive) on your boot drive
    Reboot normally
    Boot into safe mode ( you can do this during the above reboot)
    At boot chime, press and hold shift key until horizontal progress bar appears
    At login prompt, press and hold shift key, after your password, but before clicking right arrow to log in.Press and hold shift key until your Desktop appears
    Reboot normally
    Re-evaluate if Pages auto-save failure dialog gone.

  • How do I add an overall border to my document?

    Hello.
    Just wondering how to solve this one that has perplexed me for awhile.  I know that there's a solution, but cannot seem to locate it when I need to.
    Here's my question as I put it to the Pages Help Feedback people:
    I have a document I have created in Pages.  It is all done, and includes text boxes full of text, and several inserted several pieces of artwork, imported pdf's.  I could not figure out how to add a border around all of the document, so I went to Pages help, where I punched in "Adding Borders", and up came the title "To add borders and rules to your document".  This looks straightforward enough, I thought.
    Not so fast.  Here are the first two instructions: "1. Select the text to which you want to add borders and rules." I selected all the various text boxes.  "2. Click Inspector in the toolbar, click the Text button, and then click More." Did that too.  When I chose a border, it placed a border around only one of the text boxes.  Now I am stymied.  I want to put a border around the whole document, but there are no other solutions here, even after I have read for clues on the entire help page.
    I will not get a response from them, so I am turning to you.  I do have some idea that it might have to do with a document vs a poster, and I believe I set up my project to be a poster, if that can be useful here.  
    Thank you in advance for any help.
    Cea

    It says "Select the text to which you want to add borders and rules." That is the text in the text layer in a word processing document, not text boxes.
    Do you have a word processing document or a page layout one. Tells you to the right of the document name.
    You could use a shape object with a Border but without Fill. It shouldn't have any wrap and then Send objects to  background after you have resized it and duplicated if you need it for the next page.

Maybe you are looking for

  • The volume for "*.jpg" cannot be found. External harddrive.

    I have recently purchased a MacBook Air and have moved my iPhoto library to an external harddrive. Recently, my all of my older photos and videos when clicked on come with the error "The volume for "*.jpg" cannot be found." However, my new imported p

  • How to do Regression Testing in XI

    Hello: We are doing some patch upgrade for XI from SP13 to SP16 and we are planning to do some regression testing in Dev, then in QA and then in Prod. Are there any steps to take or is there any blog or PDF, links on how to do such regression testing

  • Purchase Order Creation without account assignment

    Hi All, Is it possible to create a purchase order without assigning account assignment category? If yes kindly provide the configuration steps? Regards Krishna

  • SQL Server Alwayson availability groups automation

    Hi all, I had configured SQL Server always on availability groups on windows server 2012 and it was successful. I've installed and successfully configured our SQL Server 2012 AlwaysOn 2-node windows cluster servers. I've gotten AlwaysOn working great

  • Google searches not showing in history

    This was a problem long ago that seemed to go away, but it's happening again.  Not every time, but often when I perform a Google search from the URL "smart" field, that search doesn't show up in my browsing history.  No idea when or why this happens.