About RSNAST00

I meet a problem that is when I try to run RSNAST00 with input an existed object number (a billing document)and output type (such as ZORG), I continuously get "0 output were processed in total." So I couldn't see the proper results. (But I can see this invoice output with the object number and output type by using VF31).
Could you please tell me what the problem is when I run RSNAST00? Thanks a lot.

Your output type should be configured to repeat output and you should select 'Send Again' checkbox in the selection sreen of program RSNAST00.

Similar Messages

  • ABOUT NAST RSNAST00

    Hi,
      How ABOUT NAST RSNAST00 this are linked with ABAP Code?
    Example if any?
    Thanks
    Avi

    Hi
      Check this one The simplest way to create IDocs, is to write an ABAP. The individual ABAP can either be a triggering ABAP which runs at certain events, e.g. every night, or it can be an ABAP which does the complete IDoc creation from scratch.
    Triggering ABAP
    A triggering ABAP would simply try to determine which IDocs need sending and call the appropriate IDoc creation routines.
    ABAP creates the whole IDoc
    You may also imagine the ABAP to do all the job. As this is mostly reinventing the wheel, it is not really recommended and should be reserved to situation, where the other solution do not provide an appropriate mean.
    1.1     NAST Messages Based Outbound IDocs
    You can use the R/3 message concept to trigger IDocs the same way as you trigger SAPscript printing.
    One of the key tables in R/3 is the table NAST. This table records reminders written by applications. Those reminders are called messages.
    Applications write messages to NAST, which will be processed by a message handler
    Every time when an applications sees the necessity to pass information to a third party. a message is written to NAST. A message handler will eventually check the entries in the table and cause an appropriate action.
    EDI uses the same mechanism as printing
    The concept of NAST messages has originally been designed for triggering SAPscript printing. The very same mechanism is used for IDocs, where the IDoc processor replaces the print task, as an IDoc is only the paperless form of a printed document.
    Condition technique can mostly be used
    The messages are usually be created using the condition technique, a mechanism available to all major R/3 applications.
    Printing, EDI and ALE use the same trigger
    The conditions are set up the same way for any output media. So you may define a condition for printing a document and then just change the output media from printer to IDoc/EDI or ALE.
    Figure 1:     Communicating with message via table NAST
    NAST messages are created by application by calling function module MESSAGING
    Creating NAST messages is a standard functionality in most of the SAP core applications. Those applications - e.g. VA01, ME21 - perform calls to the central function module MESSAGING of group V61B. The  function module uses customizing entries, mainly those of the tables T681* to T685*.
    NAST contains object key, sender and receiver
    A NAST output message is stored as a single record in the table NAST. The record stores all information that is necessary to create an IDoc. This includes mainly an object key to identify the processed object and application to the message handler and the sender and receiver information.
    Programs RSNAST00 and RSNASTED provide versatile subroutines for NAST processing
    The messages are typically processed by
    FORM ENTRY in PROGRAM RSNAST00.
    If we are dealing with printing or faxing and
    FORM EDI_PROCESSING in PROGRAM RSNASTED.
    If we are dealing with IDocs
    FORM ALE_PROCESSING in PROGRAM RSNASTED.
    If we are dealing with ALE.
    The following piece of code does principally the same thing as RSNAST00 does and makes full use of all customizing settings for message handling.
    FORM einzelnachricht IN PROGRAM RSNAST00
    TABLES: NAST.
    SELECT * FROM NAST ...
    PERFORM einzelnachricht IN PROGRAM RSNAST00
    Programs are customized in table TNAPR
    The processing routine for the respective media and message is customized in the table TNAPR. This table records the name of a FORM routine, which processes the message for the chosen media and the name of an ABAP where this FORM is found.
    1.2     The RSNAST00 ABAP
    The ABAP RSNAST00 is the standard ABAP, which is used to collect unprocessed NAST message and to execute the assigned action.
    RSNAST00 is the standard batch collector for messages
    RSNAST00 can be executed as a collector batch run, that eventually looks for unprocessed IDocs. The usual way of doing that is to define a batch-run job with transaction SM37. This job has to be set for periodic processing and start a program that triggers the IDoc re-sending.
    RSNAST00 processes only messages of a certain status
    Cave! RSNAST00 will only look for IDocs which are set to NAST-VSZTP = '1' or '2' (Time of processing). VSZPT = '3' or '4' is ignored by RSNAST00.
    For batch execution a selection variant is required
    Start RSNAST00 in the foreground first and find the parameters that match your required selection criteria. Save them as a VARIANT and then define the periodic batch job using the variant.
    If RSNAST00 does not meet 100% your needs you can create an own program similar to RSNAST00. The only requirement for this program are two steps:
    Read the NAST entry to process into structure NAST
    tables nast.
    data: subrc like sy-subrc.....
    select from NAST where .......
    then call FORM einzelnachricht(rsnast00) to process the record
    PERFORM einzelnachricht(rsnast00) USING subrc.
    1.3     Sending IDocs Via RSNASTED
    Standard R/3 provides you with powerful routines, to trigger, prepare and send out IDocs in a controlled way. There are only a few rare cases, where you do not want to send IDocs the standard way.
    The ABAP RSNAST00 is the standard routine to send IDocs from entries in the message control. This program can be called directly, from a batch routine with variant or you can call the FORM einzelnachricht_screen(RSNAST00) from any other program, while having the structure NAST correctly filled with all necessary information.
    RSNAST00 determines if it is IDoc or SAPscript etc.
    If there is an  entry in table NAST, RSNAST00 looks up the associated processing routine in table TNAPR. If it is to send an IDoc with standard means, this will usually be the routine RSNASTED(EDI_PROCESSING) or RSNASTED(ALE_PROCESSING) in the case of ALE distribution.
    RSNASTED processes IDocs
    RSNASTED itself determines the associated IDoc outbound function module, executes it to fill the EDIDx tables and passes the prepared IDoc to the port.
    You can call the standard processing routines from any ABAP, by executing the following call to the routine. You only have to make sure that the structure NAST is declared with the tables statement in the calling routine and that you fill at least the key part and the routine (TNAPR) information before.
    TABLES NAST.
    NAST-MANDT = SY-MANDT.
    NAST-KSCHL = 'ZEDIK'.
    NAST-KAPPL = 'V1'.
    NAST-OBJKY = '0012345678'.
    NAST-PARNR = 'D012345678'.
    PERFORM einzelnachricht_screen(RSNAST00).
    Calling einzelnachricht_screen determines how the message is processed. If you want to force the IDoc-processing you can call it directly:
    TNAPR-PROGN = ''.
    TNAPR-ROUTN = 'ENTRY'.
    PERFORM edi_processing(RSNASTED).
    1.4     Sending IDocs Via RSNAST00
    Here is the principle flow how RSNAST00 processes messages for IDocs.
    Figure 2:     Process logic of RSNAST00 ABAP
    1.5     Workflow Based Outbound IDocs
    Unfortunately, there are application that do not create messages. This is especially true for master data applications. However, most applications fire a workflow event during update, which can easily be used to trigger the IDoc distribution.
    SWE_EVENT_CREATE
    Many SAP R/3 applications issue a call to the function SWE_EVENT_CREATE during update. This function module ignites a simple workflow event.
    Workflow is a call to a function module
    Technically a workflow event is a timed call to a function module, which takes the issuing event as the key to process a subsequent action.
    Applications with change documents always trigger workflow events
    If an application writes regular change documents (ger.: Änderungsbelege) to the database, it will issue automatically a workflow event. This event is triggered from within the function CHANGEDOCUMENT_CLOSE. The change document workflow event is always triggered, independent of the case whether a change document is actually written.
    Workflow coupling can be done by utility functions
    In order to make use of the workflow for IDoc processing, you do not have to go through the cumbersome workflow design procedure as it is described in the workflow documentation. For the mentioned purpose, you can register the workflow handler from the menu, which says Event Coupling from the BALD transaction.
    Workflow cannot easily be restarted
    Triggering the IDoc from a workflow event has a disadvantage: if the IDoc has to be repeated for some reason, the event cannot be repeated easily. This is due to the nature of a workflow event, which is triggered usually from a precedent action. Therefore you have to find an own way how to make sure that the IDoc is actually generated, even in the case of an error. Practically this is not a very big problem for IDocs. In most cases the creation of the IDoc will always take place. If there is a problem, then the IDoc would be stored in the IDoc base with a respective status. It will shown in transaction WE05 and can be resend from there.</b>
    Thanks
    Manju

  • Spool requests are being sent the the B9 printer queue(RSNAST00).

    Hi gurus,
    has anyone found a fix for this issue? i'm currently experiencing the same issue and would like to know how i can fix this..
    Spool requests are being sent the the B9 printer queue. Most spool requests are for one page, when there are spool requests for multiple pages these spool requests take longer to create, in the meantime, other spool requests that are single pages are going to the printer queue. This creates and "out-of-vendor-order" issue during printing.
    The out of vendor order sequencing creates a significant level of work effort for the business users to resort the printed copies in order to prepare the documents for mailing. A change is required to eliminate this manual effort.
    Development has indicated an enhancement could be made to the RSNAST00 program where only those print jobs for application "MR" with transmission "1" (for print) would be gathered in groups of "X" number of documents to create one spool, prior to creating the spool, a check would be made to see if the next document was for the same vendor, if so the next document/s would be included in the same spool, when a new vendor was found, a new spool would be created.
    To temporarily fix the issue the jobs have been placed on "no execute" and the support team is identifing the chargebacks and RTV created during the week, manually running the RSNAST00 program in groups of 500 - 800 documents, ensuring all doucments for a vendor a sent in the same spool request.

    Post Author: Stephen@Azzu
    CA Forum: General
    Nobody know the answer to this one? Stephen@Azzu:Here's a good one...I'm using Crysal Reports XI (fully service packed) and the reports I have created are being used in a VB.Net application. I have no problems whatsoever in printing the reports, everything is fine. However, when the report is sent to the printer, the printer queue displays 'document' as the, err, document name. I'd like it to say something more relevant, such as the document number the user selected.So I've tried setting the ReportDocument.Name but wait, it's read only!? How about the summary info? No change. Filename? No change either. I've browsed the internet, searched the knowledge base and found nothing. So my question is this...How do I get the printer queue to display an appropriate name for my document?Stephen

  • RSNAST00

    Hi friends,
    What is RSNAST00 and in what reference we use this. In one of our old programs they were using this RSNAST00 to print out the report output. Now I am asked to add email functionality to it. Is there any option in RSNAST00 to do email attachment. So I have to attach the output as pdf file to send external email. Please help me in doing this.
    SUBMIT RSNAST00 VIA SELECTION-SCREEN WITH S_KAPPL IN R_KAPPL
                                               WITH S_OBJKY IN R_OBJKY
                                               WITH S_KSCHL IN R_KSCHL
                                               WITH S_NACHA IN R_NACHA
                                               WITH P_AGAIN EQ ' '
                                               WITH P_PRINT EQ '4_A1'
                                                   AND RETURN.
    Thanks
    Veni.

    Hi Suresh,
    Thank you for the information. After I select the output type as 'ZCOM' and Tranmission Medium '1' for print out and executed. I go to sp01 transaction to see the output. I know how to use function module 'SO_NEW_DOCUMENT_ATT_SEND_API1'.
    But Can you please let me know how to create the spool request, as I donot have idea about it. I am attaching the code I have. Please help me.
    Thanks
    Veni.
    REPORT ZSDRSHIP LINE-SIZE 248 LINE-COUNT 65 MESSAGE-ID ZV
                          NO STANDARD PAGE HEADING.
    Data Declaration
    *Tables
    TABLES: VBRK,                          "Billing: Header Data
            ITCPO,                         "Sapscript Output Interface
            T001,                          "Company Codes
            SADR,                          "Address Management: Company Data
            VBPA,                          "Sales Document: Partner
            KNA1,                          "General Data in Customer Master
            LFA1,                          "Vendor master (general section)
            VBRP,                          "Billing: Item Data
            DNAST,                         "Output status, display fields
            T005T,                         "Country Names
            EIKP,                          "Export/Import header data
            T618T,                         "Modes of Transport: Descriptions
            ZMAT,                        "Classification of Material Numbers
            T001W,                         "Plants/Branches
            T005U,                         "Taxes: Region Key: Texts
            NAST.                          "Message status
    selection screen for the program RSNAST00 run.
    RANGES: R_KAPPL FOR DNAST-KAPPL,
            R_OBJKY FOR NAST-OBJKY,
            R_KSCHL FOR NAST-KSCHL,
            R_NACHA FOR NAST-NACHA,
            R_LDEST FOR NAST-LDEST.
    Internal tables.
    DATA: BEGIN OF ITAB_VBRK OCCURS 100,
          VBELN LIKE VBRK-VBELN,
          NETWR LIKE VBRK-NETWR,
          BUKRS LIKE VBRK-BUKRS,
          EXNUM LIKE VBRK-EXNUM,
          END OF ITAB_VBRK.
    DATA: BEGIN OF ITAB_VBRP OCCURS 50,
          MATNR LIKE VBRP-MATNR,
          FKIMG LIKE VBRP-FKIMG,
          NETWR LIKE VBRP-NETWR,
          WERKS LIKE VBRP-WERKS,
          END OF ITAB_VBRP.
    DATA: BEGIN OF ITAB_ZMAT OCCURS 10,
          ZMATNR LIKE ZMAT-ZMATNR,
          FKIMG LIKE VBRP-FKIMG,
          NETWR LIKE VBRP-NETWR,
          END OF ITAB_ZMAT.
    DATA: BEGIN OF FTAB OCCURS 100,
          IND TYPE C,
          VBELN(10) TYPE N,
          NETWR LIKE VBRK-NETWR,
          BUKRS LIKE VBRK-BUKRS,
          EXNUM LIKE VBRK-EXNUM,
          END OF FTAB.
    DATA: IND TYPE C,
          CNT1 TYPE I,
          IPAGE TYPE I,
          I_WERKS LIKE VBRP-WERKS VALUE ' '.
    Program Selections
    SELECT-OPTIONS: SDATE FOR VBRK-FKDAT.
    Initialization
    INITIALIZATION.
    Initialization for the program RSNAST00 run.
      R_KAPPL-SIGN = 'I'.
      R_KAPPL-OPTION = 'EQ'.
      R_KAPPL-LOW = 'V3'.
      R_KAPPL-HIGH = ' '.
      APPEND R_KAPPL.
      CLEAR R_KAPPL.
      R_KSCHL-SIGN = 'I'.
      R_KSCHL-OPTION = 'EQ'.
      R_KSCHL-LOW = 'ZCOM'.
      R_KSCHL-HIGH = ' '.
      APPEND R_KSCHL.
      CLEAR R_KSCHL.
      R_NACHA-SIGN = 'I'.
      R_NACHA-OPTION = 'EQ'.
      R_NACHA-LOW = '1'.
      R_NACHA-HIGH = ' '.
      APPEND R_NACHA.
      CLEAR R_NACHA.
    Start-of-selection
    START-OF-SELECTION.
      SELECT VBELN NETWR BUKRS EXNUM FROM VBRK INTO TABLE ITAB_VBRK
                                 WHERE FKART EQ 'F8'
                                   AND FKDAT IN SDATE.
      COMMIT WORK.
      PERFORM OUTPUT.
    AT USER-COMMAND.
      CASE SY-UCOMM.
        WHEN 'PRIN'.
          PERFORM READ_DATA.
          PERFORM PRINT_DATA.
        WHEN 'SELE'.
          PERFORM SELECT_DATA.
        WHEN 'DETA'.
          PERFORM READ_DATA.
          PERFORM DISPLAY_DATA.
      ENDCASE.
    TOP-OF-PAGE
    TOP-OF-PAGE.
      PERFORM HEADINGS.
    TOP-OF-PAGE DURING LINE-SELECTION.
      CASE SY-UCOMM.
        WHEN 'SELE'.
          PERFORM HEADINGS.
        WHEN 'DETA'.
          PERFORM HEADINGS1.
      ENDCASE.
    *&      Form  OUTPUT
          text
    -->  p1        text
    <--  p2        text
    FORM OUTPUT.
      SET PF-STATUS 'NORM'.
      LOOP AT ITAB_VBRK.
        WRITE: /01 SY-VLINE,
                02 IND AS CHECKBOX,
                03 SY-VLINE,
                04 ITAB_VBRK-VBELN,
                15 SY-VLINE,
                16 ITAB_VBRK-NETWR,
                51 SY-VLINE.
      ENDLOOP.
      ULINE /(51).
    ENDFORM.                               " OUTPUT
    *&      Form  READ_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM READ_DATA.
      CNT1 = 6.
      IPAGE = 1.
      REFRESH FTAB.
      LOOP AT ITAB_VBRK.
        READ LINE CNT1 OF PAGE IPAGE FIELD VALUE IND INTO FTAB-IND.
        READ LINE CNT1 OF PAGE IPAGE FIELD VALUE
                                   ITAB_VBRK-VBELN INTO FTAB-VBELN.
        FTAB-BUKRS = ITAB_VBRK-BUKRS.
        FTAB-NETWR = ITAB_VBRK-NETWR.
        FTAB-EXNUM = ITAB_VBRK-EXNUM.
        APPEND FTAB.
        CLEAR FTAB.
        CNT1 = CNT1 + 1.
        IF CNT1 > 65.
          IPAGE = IPAGE + 1.
          CNT1 = 6.                        "Vish - 10/03/00
        ENDIF.
      ENDLOOP.
    ENDFORM.                               " READ_DATA
    *&      Form  PRINT_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM PRINT_DATA.
      LOOP AT FTAB.
        IF FTAB-IND = 'X'.
          REFRESH R_OBJKY.
          R_OBJKY-SIGN = 'I'.
          R_OBJKY-OPTION = 'EQ'.
          R_OBJKY-LOW = FTAB-VBELN.
          R_OBJKY-HIGH = ' '.
          APPEND R_OBJKY.
          CLEAR R_OBJKY.
          SUBMIT RSNAST00 VIA SELECTION-SCREEN WITH S_KAPPL IN R_KAPPL
                                               WITH S_OBJKY IN R_OBJKY
                                               WITH S_KSCHL IN R_KSCHL
                                               WITH S_NACHA IN R_NACHA
                                               WITH P_AGAIN EQ ' '
                                               WITH P_PRINT EQ '4_A1'
                                                   AND RETURN.
          IF FTAB-NETWR GE 2500.
            PERFORM GET_DATA.
            PERFORM PRINT_FORM.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                               " PRINT_DATA
    *&      Form  PRINT_FORM
          text
    -->  p1        text
    <--  p2        text
    FORM PRINT_FORM.
      ITCPO-TDIMMED = 'X'.
      ITCPO-TDDELETE = 'X'.
      ITCPO-TDPROGRAM = SY-REPID.
      ITCPO-TDDEST = '5_A1'.
      CALL FUNCTION 'OPEN_FORM'
           EXPORTING
                FORM     = 'Z_SHIPPERS'
                LANGUAGE = SY-LANGU
                OPTIONS  = ITCPO
           EXCEPTIONS
                CANCELED = 1
                DEVICE   = 2
                FORM     = 3
                OPTIONS  = 4
                UNCLOSED = 5
                OTHERS   = 6.
      LOOP AT ITAB_ZMAT.
        CALL FUNCTION 'WRITE_FORM'
            EXPORTING
                 ELEMENT       = 'ITEM_DATA'
                 FUNCTION      = 'SET'
                 TYPE          = 'BODY'
                 WINDOW        = 'MAIN'
       IMPORTING
            PENDING_LINES =
             EXCEPTIONS
                  ELEMENT       = 1
                  FUNCTION      = 2
                  TYPE          = 3
                  UNOPENED      = 4
                  UNSTARTED     = 5
                  WINDOW        = 6
                  OTHERS        = 7.
      ENDLOOP.
      CALL FUNCTION 'CLOSE_FORM'
           EXCEPTIONS
                UNOPENED = 1
                OTHERS   = 2.
      IF SY-SUBRC EQ 0.
        MESSAGE I355 WITH FTAB-VBELN.
      ENDIF.
    ENDFORM.                               " PRINT_FORM
    *&      Form  SELECT_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM SELECT_DATA.
      SY-LSIND = 0.
      IF IND = 'X'.
        IND = ' '.
      ELSEIF IND = ' '.
        IND = 'X'.
      ENDIF.
      PERFORM OUTPUT.
    ENDFORM.                               " SELECT_DATA
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DATA.
      CLEAR: T001, SADR, VBPA, LFA1, KNA1, T005T, EIKP, T618T, I_WERKS.
      REFRESH: ITAB_VBRP, ITAB_ZMAT.
      SELECT SINGLE ADRNR BUTXT FROM T001 INTO (T001-ADRNR, T001-BUTXT)
                          WHERE BUKRS EQ FTAB-BUKRS.
      SELECT SINGLE * FROM SADR WHERE ADRNR EQ T001-ADRNR
                                  AND NATIO EQ SPACE.
      SELECT SINGLE LIFNR FROM VBPA INTO VBPA-LIFNR
                              WHERE VBELN EQ FTAB-VBELN
                                  AND POSNR = '000000'
                                  AND PARVW = 'SP'.
      SELECT SINGLE * FROM LFA1 WHERE LIFNR = VBPA-LIFNR.
      SELECT SINGLE KUNNR FROM VBPA INTO VBPA-KUNNR
                              WHERE VBELN EQ FTAB-VBELN
                                  AND POSNR = '000000'
                                  AND PARVW = 'WE'.
      SELECT SINGLE * FROM KNA1 WHERE KUNNR = VBPA-KUNNR.
      SELECT SINGLE * FROM T005T WHERE SPRAS = 'E'
                                   AND LAND1 = KNA1-LAND1.
      SELECT SINGLE * FROM EIKP WHERE EXNUM = FTAB-EXNUM.
      SELECT SINGLE * FROM T618T WHERE SPRAS = 'E'
                                   AND LAND1 = EIKP-ALAND
                                   AND EXPVZ = EIKP-EXPVZ.
      SELECT MATNR FKIMG NETWR WERKS FROM VBRP INTO TABLE ITAB_VBRP
                                   WHERE VBELN = FTAB-VBELN.
      LOOP AT ITAB_VBRP.
        IF I_WERKS EQ ' '.
          I_WERKS = ITAB_VBRP-WERKS.
          SELECT SINGLE * FROM T001W WHERE WERKS = I_WERKS.
          SELECT SINGLE * FROM T005U WHERE SPRAS = 'E'
                                       AND LAND1 = T001W-LAND1
                                       AND BLAND = T001W-REGIO.
        ENDIF.
        SELECT SINGLE ZMATNR FROM ZMAT INTO ZMAT-ZMATNR
                                       WHERE MATNR = ITAB_VBRP-MATNR.
        IF SY-SUBRC EQ 0.
          MOVE ZMAT-ZMATNR TO ITAB_ZMAT-ZMATNR.
          MOVE ITAB_VBRP-FKIMG TO ITAB_ZMAT-FKIMG.
          MOVE ITAB_VBRP-NETWR TO ITAB_ZMAT-NETWR.
          COLLECT ITAB_ZMAT.
          CLEAR ITAB_ZMAT.
        ELSE.
          MESSAGE I356 WITH ITAB_VBRP-MATNR.
        ENDIF.
      ENDLOOP.
    ENDFORM.                               " GET_DATA
    *&      Form  HEADINGS
          text
    -->  p1        text
    <--  p2        text
    FORM HEADINGS.
      FORMAT COLOR COL_HEADING.
      WRITE: 'AMERICA, INC.',
             / 'List of Commercial Invoices'.
      ULINE /(51).
      FORMAT COLOR 2.
      WRITE: /01 SY-VLINE,
              03 SY-VLINE,
              04 TEXT-001,
              15 SY-VLINE,
              16 TEXT-002,
              51 SY-VLINE,
             52 '                                               ' COLOR OFF.
      ULINE /(51).
    ENDFORM.                               " HEADINGS
    *&      Form  DISPLAY_DATA
          text
    -->  p1        text
    <--  p2        text
    FORM DISPLAY_DATA.
      SET PF-STATUS 'NORM1'.
      LOOP AT FTAB.
        IF FTAB-IND = 'X'.
          REFRESH ITAB_VBRP.
          SELECT MATNR FKIMG NETWR WERKS FROM VBRP INTO TABLE ITAB_VBRP
                                       WHERE VBELN = FTAB-VBELN.
        WRITE:/ 'Details of Commercial Invoice:'COLOR 4, FTAB-VBELN COLOR 4.
          ULINE /(56).
          LOOP AT ITAB_VBRP.
            WRITE: /01 SY-VLINE,
                    02 ITAB_VBRP-MATNR,
                    20 SY-VLINE,
                    21 ITAB_VBRP-NETWR,
                    56 SY-VLINE,
             57 '                                               ' COLOR OFF.
          ENDLOOP.
          ULINE /(56).
        ENDIF.
      ENDLOOP.
    ENDFORM.                               " DISPLAY_DATA
    *&      Form  HEADINGS1
          text
    -->  p1        text
    <--  p2        text
    FORM HEADINGS1.
      FORMAT COLOR COL_HEADING.
      WRITE: 'AMERICA, INC.',
             / 'Commercial Invoice Details.'.
      ULINE /(56).
      FORMAT COLOR 2.
      WRITE: /01 SY-VLINE,
              02 TEXT-003,
              20 SY-VLINE,
              21 TEXT-004,
              56 SY-VLINE,
             57 '                                               ' COLOR OFF.
      ULINE /(56).
    ENDFORM.                               " HEADINGS1

  • Questions about IDoc

    Hi ABAPers,
    I´m new on IDoc, so I need somebody to help me.
    I wish know how can I find where an IDoc is "generated". That is, where the MASTER_IDOC_DISTRIBUTE function is called.
    My issue is an IDoc generated during the purchase order process (I guess that in the MIRO), I´ve already tried debug and stop in the above function without sucess.
    Any help is welcomed.
    Thanks,
    Charles

    >
    Charles Oliveira wrote:
    > Hi Krishnendu,
    >
    > The debug didn't stop in these functions too.
    >
    > I don't understand so well about IDoc, but what I've, corrects me if something is wrong, is an IDoc (outbound) that is generated in a BADI or an USEREXIT, during the MIRO.
    >
    > I need know what's this EXIT or BADI, to make some modifications in the information that is passed to IDoc.
    >
    > Thank you and if you know anything more to help me, I would appreciate.
    >
    >
    > Regards,
    > Charles
    There is a Concept called Message Control , Here Output type is attached to the IDoc message type and IDoc type. You will maintain this In WE20 partner profile part , in the outbound section.
    and at the same time you will maitain the Output type in NACE ,
    In NACE you will Configure the output type with medium as ALE/IDOC or EDI
    and Program RSNASTED , i am not sure what is used in your case ? , it may be same or it may be Different and custom one.
    you go to program RSNAST00 ,
    in this you can go to line # 1327 ,
    perform (tnapr-ronam) in program (tnapr-pgnam) using returncode
                                                             us_screen
                                                             if found.
    here you keep a break point. and Go to MIRO tigger the output type. if it stops well and good.
    if not start Debugging  using /H in the messages screen , and Trigger the output by saving it.and then activate the Update Debugging from Menu Debugging->Update Debugging
    then F8. it will stop exactly the above perform , and there you check.
    and also if you know the output type you can check the Medium and Program used for processing the output.

  • RSNAST00 Concern?

    Hi..
    I want to know how RSNAST00  calls the respective function module in the ABAB Coding.?
    For Example in case of say any Delivery Document Number, when we run RSNAST00 for it giving the proper message type(say in our case LD00 with ALE as a medium)then at what point of time is the function module (say IDOC_OUTPUT_DELIVRY)called in that program. I didnt see a direct call of the function module as such in the program.
    I hope I have made myself clear in framing a question.
    Thanks.

    Hi Subhash,
    As most of reply said, RSNAST00 will call the subroutine ALE_PROCESSING or EDI_PROCESSING in the program RSNASTED. But this is link is defined in your message determination .. If you know place where you maintain the Program name script name for Printing the documents with output type.. it is the same place you maintian the subroutine and program (i.e. ALE_PROCESSING or EDI_PROCESSING in the program RSNASTED based on the output medium; A- Ale, 6-EDI).
    So when you run RSNAST00, it basically selects all the output records ready for procesing from NAST table based on the seletion parameters you have give. From there it identifies the program and subroutine to be called, calls that particular subroutine (for printing it will be your ENTRY subroutine in Driver program) with the Nast record. RSNAST00 Job is done once it calls the subroutine..
    Now the Subroutine being called takes the job of printing/faxing/ creating & sending the iDoc.
    In case of ALE/EDI, your ALE_PRocessing & EDI_procssing routine determines the FM to be called in the following way.
    It picks up the Message partner from the NAST record and check whether there is partner profile defined for that in WE20. If not defined error.. if defined, it will determine the FM to be called based on information given in the Output control tab and processed code give there (Process code is linked to your FM that fill the iDoc). Then it passes the iDoc internal table to ALE layer for further processing which stores that on DB and sends it our bsed on the WE20 configuration..
    Hope this gives you the clear picture about how the iDoc is generated from output control.
    Regards,
    Nagaraju Chidurupalli.

  • About modularization techniques

    hi,,
       can anybody send me the details about modularization techniques ?
       mainly i want differences between INCLUDES and FUNCTION MODULES.
                                                         MACROS and SUBROUTINES.

    Hi
    Purpose of modularization is: 1) Organizing your ABAP Code 2) Limit maintenance cost by coding every thing only once and making your ABAP code easier to understand.
    Modularization techniques:
    1) Organizing your ABAP code can be done by using INCLUDE reports and local MACRO's (DEFINE statement). Typical examples can be found in Module Pools and Function Groups with TOP-includes and special includes for PBO events, PAI events et cetera. You can discuss if using subroutines, functions or methods is also part of this type of modularization technique. At this moment, most ABAP programmers use subroutines partly as a means to create some sort of main line in their program, thus limiting large chunks of ABAP code. Regarding MACRO's there are some special problems, especially that they don't improve readability of ABAP coding, and you can not debug them.
    2)Here, we are talkin about ABAP PROCEDURES: a) Subroutines, b) Functions and c) Methods
    - 2a) Subroutines: can be used locally and globally (external subroutine calls). Subroutines have a formal interface ( USING, CHANGING, TABLES parameters). The interface parameters can be passed BY VALUE or BY REFERENCE. Data that is defined within a subroutine (FROM ... ENDFORM.) is local: lifetime and visibility is limited to the moment the subroutine is called. External Subroutines are subroutines that are called from another program. Typical example can be found in the way SAPscript and SMARTforms printprograms are called by RSNAST00. External Subroutines can be grouped into Subroutine Pools.
    - 2b) Functions: are part of function groups. They are designed for global use and have a unique name. Function Modules also have a formal interface using IMPORTING, EXPORTING, CHANGING and TABLES parameters. The interface parameters can be passed BY VALUE or BY REFERENCE. Specific EXCEPTIONS can be defined for error handling. A function module can also have local data.
    In theory, a function module can only use data a)from the interface parameters, b) defined locally in the function module and c) defined globally in the function group. However, it is possible to see global data from calling programs using field-symbols.
    Remote Function Modules are function modules that can be called from other SAP or NON-SAP systems. BAPI's are examples of RFC-enabled function modules.
    Function Groups and Function Modules are maintained using transaction SE37 (or SE80).
    - 2c) Methods: are part of CLASSES. Here we are talking about ABAP Objects, supporting inheritance, instantiation, encapsulation, polymorphism, events, Interfaces, visibility sections (PUBLIC, PROTECTED, PRIVATE) and lifetime options STATIC and INSTANCE.
    Classes can be defined locally or globally: a) Local Classes are classes, defined as part of an ABAP program. They can be used only within this program. b) The functionality of Global Classes is identical, but these classes are maintained using the Class Builder (SE24 or SE80).
    The name of a method is not unique; you always need the name of the object to create the unique name. As a result, several classes will have exactly the same method name.
    Methods also have a formal interface using IMPORTING, EXPORTING, CHANGING and RETURNING parameters. The interface parameters can be passed BY VALUE or BY REFERENCE. Specific EXCEPTIONS can be defined for error handling. A method can also have local data.
    In general, using classes is considered a much better alternative to using subroutines and function modules, especially with regards to maintenance costs. Actually, you do not need subroutines anymore. Function Modules are only needed is some cases, for example as RFC's because the classes don't support remote calls.
    One limitation of ABAP Classes is that they do not support dynpro's. This means that you always need a report/module pool/function group if you want to create screens.
    Within methods, several types of obsolete ABAP statements are not allowed like: ON CHANGE OF, TABLES and OCCURS.
    Consider that new tools and options like Web Dynpro, Unit Testing, Shared Objects, Exception Classes can only be understood when having the knowledge of ABAP OO. If you are debugging new SAP transactions, you'll see that they are also programmed using ABAP Objects.
    Processing blocks that are called from ABAP programs:
       1. Subroutines
       2. Function modules
       3. Methods
          Procedures
          Procedures contain a set of statements, and are called from other ABAP programs.
          The processing blocks that you call from ABAP programs are called procedures
          You define procedures in ABAP programs. When the program is generated, they remain as standalone modules. You can call procedures in the program in which they are defined, or from external programs. Procedures have an interface for passing data, and can also contain local data.
          ABAP contains the following kinds of procedures:
    Subroutines
    Subroutines are principally for local modularization, that is, they are generally called from the program in which they are defined. You can use subroutines to write functions that are used repeatedly within a program. You can define subroutines in any ABAP program.
    Function Modules
    Function modules are for global modularization, that is, they are always called from a different program. Function modules contain functions that are used in the same form by many different programs. They are important in the R/3 System for encapsulating processing logic and making it reusable. Function modules must be defined in a function group, and can be called from any program.
    Methods
    Methods describe the functions and behavior of classes and their instances in ABAP Objects. Methods must be defined in classes. When you call them, you must observe certain special rules of object-oriented programming.
    Subroutines
    Subroutines are procedures that you can define in any ABAP program and also call from any program. Subroutines are normally called internally, that is, they contain sections of code or algorithms that are used frequently locally. If you want a function to be reusable throughout the system, use a function module.
    subroutine is a block of code introduced by FORM and concluded by ENDFORM.
    FORM [USING ... [)] ... ] [CHANGING... [)] ... ].
    ENDFORM.
    subroutines cannot be nested. You should therefore place your subroutine definitions at the end of the program
    Calling Subroutines
    PERFORM... .
    Subroutines can call other subroutines (nested calls) and may also call themselves (recursive calls). Once a subroutine has finished running, the calling program carries on processing after the PERFORM statement. You can use the USING and CHANGING additions to supply values to the parameter interface of the subroutine.
    Function Modules
    Function modules are procedures that are defined in function groups (special ABAP programs with type F) and can be called from any ABAP program. Function groups act as containers for function modules that logically belong together.
    Unlike subroutines, you do not define function modules in the source code of your program. Instead, you use the Function Builder. The actual ABAP interface definition remains hidden from the programmer. You can define the input parameters of a function module as optional. You can also assign default values to them. Function modules also support exception handling. This allows you to catch certain errors while the function module is running.
    Function groups are containers for function modules. You cannot execute a function group. When you call an function module, the system loads the whole of its function group into the internal session of the calling program (if it has not already been loaded).
    This is used by the system to create the components of the group (main program and corresponding include programs). When you create a function group or function module in the Function Builder , the main program and include programs are generated automatically.
    The main program SAPL contains nothing but the INCLUDE statements for the following include programs:
    LTOP. This contains the FUNCTION-POOL statement (equivalent for a function group of the REPORT or PROGRAM statement) and global data declarations for the entire function group.
    LUXX. This contains further INCLUDE statements for the include programs
    LU01, LU02, ... These includes contain the actual function modules.
    The include programs LF01, LF02, ... can contain the coding of subroutines that can be called with internal subroutine calls from all function modules of the group.
    All of the function modules in a function group can access the global data of the group. For this reason, you should place all function modules that use the same data in a single function group.
    Function modules can have the following interface parameters:
    Import parameters. These must be supplied with data when you call the function module, unless they are flagged as optional. You cannot change them in the function module.
    Export parameters. These pass data from the function module back to the calling program. Export parameters are always optional. You do not have to receive them in your program.
    Changing parameters. These must be supplied with data when you call the function module, unless they are flagged as optional. They can be changed in the function module. The changed values are then returned to the calling program.
    Tables parameters. You use these to pass internal tables. They are treated like CHANGING parameters. However, you can also pass internal tables with other parameters if you specify the parameter type appropriately.
    You can specify the types of the interface parameters, either by referring to ABAP Dictionary types or elementary ABAP types. When you call a function module, you must ensure that the actual parameter and the interface parameters are compatible.
    Interface parameters are, by default, passed by value. However, they can also be passed by reference. Tables parameters can only be passed by reference. You can assign default values to optional importing and changing parameters. If an optional parameter is not passed in a function module call, it either has an initial value, or is set to the default value.
    Exceptions are used to handle errors that occur in function modules. The calling program checks whether any errors have occurred and then takes action accordingly.
    Calling Function Modules in ABAP
    To call a function module, use the CALL FUNCTION statement:
    CALL FUNCTION [EXCEPTIONS e1 = r 1.... e n = r n ].
    You can specify the name of the function module either as a literal or a variable. Each interface parameter is explicitly assigned to an actual parameter . You can assign a return value to each exception . The assignment always takes the form = . The equals sign is not an assignment operator in this context.
    After EXPORTING, you must supply all non-optional import parameters with values appropriate to their type. You can supply values to optional import parameters if you wish.
    After IMPORTING, you can receive the export parameters from the function module by assigning them to variables of the appropriate type.
    After CHANGING or TABLES, you must supply values to all of the non-optional changing or tables parameters. When the function module has finished running, the changed values are passed back to the actual parameters. You can supply values to optional changing or tables parameters if you wish.
    You can use the EXCEPTIONS option to handle the exceptions of the function module. If an exception is raised while the function module is running, the system terminates the function module and does not pass any values from the function module to the program, except those that were passed by reference. If is specified in the EXCEPTION option, the calling program handles the exception by assigning to SY-SUBRC. must be a numeric literal.
    If you specify of ERROR_MESSAGE in the exception list you can influence the message handling of function modules. Normally, you should only call messages in function modules using the MESSAGE ... RAISING statement. With ERROR_MESSAGE you can force the system to treat messages that are called without the RAISING option in a function module as follows:
    Messages of classes S, I, and W are ignored (but written to the log in a background job).
    Messages of classes E and A stop the function module as if the exception ERROR_MESSAGE had occurred (SY-SUBRC is set to ).
    If you specify OTHERS after EXCEPTIONS, the system assigns a single return code to all other exceptions that you have not specified explicitly in the list.
    You can use the same number for several exceptions.
    You can trigger exceptions in the function module using either the RAISE or the MESSAGE ... RAISING statement. If the calling program handles the exception, both statements return control to the program. The MESSAGE ..... RAISING statement does not display a message in this case. Instead, it sets the following system fields:
       1. Message class ® SY-MSGID
       2. Message type ® SY-MSGTY
       3. Message number ® SY-MSGNO
       4. SY-MSGV1 to SY-MSGV4 (contents of fields to , included in a message).
          You can use the system fields to trigger the message from the calling program.
    Raising Exceptions
    There are two ABAP statements for raising exceptions. They can only be used in function modules:
    RAISE .
    and
    MESSAGE..... RAISING .
    The effect of these statements depends on whether the calling program handles the exception or not. If the name of the exception or OTHERS occurs in the EXCEPTIONS addition of the CALL FUNCTION statement, the exception is handled by the calling program.
    If the calling program does not handle the exception
    The RAISE statement terminates the program and switches to debugging mode.
    The MESSAGE ..... RAISING statement display the specified message. How the processing continues depends on the message type.
    If the calling program handles the exception, both statements return control to the program. No values are transferred. The MESSAGE ..... RAISING statement does not display a message. Instead, it fills the system fields SY-MSGID, SY-MSGTY, SY-MSGNO, and SY-MSGV1 to SY-MSGV4.
    Remote Function Modules
    To implement a remote function module in ABAP, perform the following steps:
    1. Register the module as remotely callable in the RFC server system.
    In the function module Administration screen (transaction code SE37), set the field Can be called via REMOTE CALL. Registering a module as remote causes an RFC stub to be generated for it.
    Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog. There are three characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:
    When the caller starts an asynchronous RFC, the called server must be available to accept the request.
          The parameters of asynchronous RFCs are not logged to the database, but sent directly to the server.
    Asynchronous RFCs allow the user to carry on an interactive dialog with the remote system.
    The calling program can receive results from the asynchronous RFC.
    You can use asynchronous remote function calls whenever you need to establish communication with a remote system, but do not want to wait for the function’s result before continuing processing. Asynchronous RFCs can also be sent to the same system. In this case, the system opens a new session (or window) and allows you to switch back and forth between the calling dialog and the called session.
    To start a remote function call asynchronously, use the following syntax:
    CALL FUNCTION RemoteFunction STARTING NEW TASK taskname
    Destination ...
    EXPORTING...
    TABLES ...
    EXCEPTIONS...
    The following calling parameters are available:
    TABLES
    passes references to internal tables. All table parameters of the function module must contain values.
    EXPORTING
    passes values of fields and field strings from the calling program to the function module. In the function module, the correponding formal parameters are defined as import parameters.
    EXCEPTIONS
    see Using Pre-Defined Exceptions for RFC
    RECEIVE RESULTS FROM FUNCTION func is used within a FORM routine to receive the results of an asynchronous remote function call. The following receiving parameters are available:
       1. IMPORTING
       2. TABLES
       3. EXCEPTIONS
    The addition KEEPING TASK prevents an asynchronous connection from being closed after receiving the results of the processing. The relevant remote context (roll area) is kept for re-use until the caller terminates the connection.
    Call a transaction asynchronally and display it in an amodal window:
    DATA: MSG_TEXT(80) TYPE C. "Message text
    Asynchronous call to transaction SM59 ->
    Create a new session
    CALL FUNCTION ‘ABAP4_CALL_TRANSACTION’ STARTING NEW TASK ‘TEST’
    DESTINATION ‘NONE’
    EXPORTING
    TCODE = ‘SM59’
    EXCEPTIONS
    COMMUNICATION_FAILURE = 1 MESSAGE MSG_TEXT
    SYSTEM_FAILURE = 2 MESSAGE MSG_TEXT
    IF SY-SUBRC NE 0.
    WRITE: MSG_TEXT.
    ELSE.
    WRITE: ‘O.K.’
    ENDIF.
    You must not use IMPORTING when calling aRFCs.
    Transactional Remote Function Calls
        RfcInstallTransactionControlinstalls four functions to control transactional behaviour.
        RFC_ON_CHECK_TIDis called when a local transaction is starting.
        RfcCreateTransID Get a unique transaction-ID for calling an
        ABAP function module using the transactional RFC Interface
        RfcIndirectCall Call an ABAP function module using the
        transactional RFC Interface
        RFC_ON_COMMIT is called when a local transaction ends.
        RFC_ON_CONFIRM_TID is called when a local transaction is
        completed.
        RFC_ON_ROLLBACK is call
    ed when a local transaction ends with
    failure.
    RFC_ONCALL
    INCLUDE AND MACROS:
    When you modularize source code, you place a sequence of ABAP statements in a module. Then, instead of placing all of the statements in your main program, you just call the module.
    Include programs are global R/3 Repository objects. They are solely for modularizing source code, and have no parameter interface.
    They have the following functions:
    Library:Include programs allow you to use the same source code in different programs. For example, this can be useful if you have lengthy data declarations that you want to use in different programs. 
    Order. Include programs allow you to manage complex programs in an orderly way. Function groups and module pools use include programs to store parts of the program that belong together. The ABAP Workbench supports you extensively when you create such complex programs by creating the include programs automatically and by assigning them unique names.
    Creating Your Own Include Programs
    If you create an include program yourself, you must assign it the type I in its program attributes.
    An include program cannot run independently, but must be built into other programs. Include programs can contain other includes.
    The only restrictions for writing the source code of include programs are:
    Include programs cannot call themselves.
    Include programs must contain complete statements.
    The INCLUDE statement has the same effect as copying the source code of the include program into the program. In the syntax check, the contents of the include program are also analyzed. Include programs are not loaded at runtime, but are expanded when the program is generated. Once the program has been generated, the load version contains static versions of all of its includes. If you subsequently change an include program, the programs that use it are automatically regenerated.
    ***INCLUDE STARTTXT.
    WRITE: / 'Program started by', SY-UNAME,/ 'on host', SY-HOST, 'date:', SY-DATUM, 'time:', SY-UZEIT.ULINE.
    We can then include this program in any other ABAP program to display a standard list header.
    PROGRAM SAPMZTST.INCLUDE STARTTXT.
    This could produce the following output:
    Program started by KELLERH
    on host ds0025 date: 03/19/1998 time: 09:00:39
    Macros
    If you want to reuse the same set of statements more than once in a program, you can include them in a macro. For example, this can be useful for long calculations or complex WRITE statements. You can only use a macro within the program in which it is defined, and it can only be called in lines of the program following its definition.
    The following statement block defines a macro :
    DEFINE .
    END-OF-DEFINITION.
    Macros do not belong to the definition part of the program. This means that the DEFINE...END-OF-DEFINITION block is not interpreted before the processing blocks in the program. At the same time, however, macros are not operational statements that are executed within a processing block at runtime. When the program is generated, macro definitions are not taken into account at the point at which they are defined
    A macro definition inserts a form of shortcut at any point in a program and can be used at any subsequent point in the program. As the programmer, you must ensure that the macro definition occurs in the program before the macro itself is used. Particular care is required if you use both macros and include programs, since not all include programs are included in the syntax check (exception: TOP include).
    To use a macro, use the following form:
    When the program is generated, the system replaces by the defined statements and each placeholder &i by the parameter
    . You can use macros within macros. However, a macro cannot call itself.
    DATA: RESULT TYPE I,N1 TYPE I VALUE 5,N2 TYPE I VALUE 6.
    DEFINE OPERATION. RESULT = &1 &2 &3.OUTPUT &1 &2 &3 RESULT.END-OF-DEFINITION.
    DEFINE OUTPUT. WRITE: / 'The result of &1 &2 &3 is', &4.END-OF-DEFINITION.
    OPERATION 4 + 3.OPERATION 2 ** 7.OPERATION N2 - N1.
    The produces the following output:
    The result of 4 + 3 is 7
    The result of 2 ** 7 is 128
    The result of N2 - N1 is 1
    Inserting the macro changes nothing in the generated form of the program.
    Check this link
    http://www.sapbrainsonline.com/FAQs/TECHNICAL/SAP_ABAP_MODULARIZATION_FAQ.html
    http://help.sap.com/saphelp_40b/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_40b/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/content.htm
    Regards
    Pavan
    Message was edited by:
            Pavan praveen
    Message was edited by:
            Pavan praveen

  • Adobe Bridge in Photoshop - How to install Bridge and camera raw? And what is it all about?

    Hi everyone! I am actually in love with this adobe photoshop. I used PSCS2 before, but later on upgraded to CS4. But I feel tired in upgrading to CS5.
    One time, I found a tutorial in youtube about camera raw, and would really want to use it. But I was wondering how to install the camera raw. I believe camera raw is a plugin? so I downloaded the plugin here, installed it in my PS. I downloaded a file Camera Raw.8bi and paste it on my C drive - C:\Program Files\Adobe\Photoshop CS4\Plug-ins\File Formats.
    I now am very confused, how will I open it? I do not have adobe bridge!  After I installed the camera raw, I opened my PS. I clicked the file>then browse in bridge. I had an error, it's "error 2 photoshop11 undefined". Which is what I thought, I might have done something wrong with installing it.
    My question is, do you still need adobe bridge installed in order to use camera raw?
    If yes, how does it work? How am I suppose to open camera raw?
    If no, how am I going to open camera raw without bridge?
    And also, where will I download adobe bridge? I cannot find one here for CS4, only adobe bridge for CS5. I am wondering, is it okay to install adobe bridge CS5 and use it with my PS CS4?
    I badly need help!

    WebDAV (Web-based Distributed Authoring and Versioning) is a set of extensions to HTTP/1.1.
    The main difference from FTP as far as I can see is that it allows you to edit documents on a remote web server.
    WebDAV was used by the Apple server - MobileMe but is not generally supported by hosting services.
    Using WebDAV you can mount a directory locally. This was how iDisk worked on your Mac and you could drag files onto it to upload them to the remote directory.
    With WebDAV, a number of users can share a directory which is why its used in local networks but presents security problems when using a remote server.
    If you are into file sharing rather than publishing, Dropbox or its new rival SugarSync are more appropriate.

  • A few days ago i bought the macbook pro in a Providence. In late Summer i will come back to my Country - Ukraine. I would like to know about a tax for my laptop. Can i return tax? Through the TAX FREE or return in airport? What should i do?

    A few days ago i bought the macbook pro in a Providence. In late Summer i will come back to my Country - Ukraine. I would like to know about a tax for my
    laptop. Can i return tax? Through the TAX FREE or return in airport? What should i do?

    You need to talk with the tax authorities in the countries to which you traveled and that of your home country. We are all end-users liek you and not Apple agents.

  • I am trying to use itunes, it will not open at all, have uninstalled and downloaded new software and 64bit for windows. i have an old ipod nano from about 5 years ago. anything i can do, even to view my purchases and watch/listen to music etc?

    ok i have a advent roma laptop with window 7. my itunes used to work fine, completely. every time i plugged in my ipod it was ok. recently my ipod was not working so i never bothered with itunes, however i have movies/tv prog that i purchased and would like to view them. i have an ipod nano from about 5 years ago, the problem with thet is, it switches on, but the circular control panel does nothing, all you can do is lock and unlock it - nothing else.
    i tried to download new version of itunes, then uninstalled my origonal version, incase it was corrupted etc, i then again tried to down load new version and also version that is windows 64bit. still when i select the downlaod to open as son as it is finnished nothing happens. and now my desktop shortcut has dissapeared. before when it was there, id double click it, nothing, right click to open it, nothing.
    im not the best technically minded but i just dont see what im doing wrong here, please help

    Perhaps it would be helpful for you to view the page source code of this page
    http://www.alanwork.com/
    As you can see, the submenu code links are immediately below the top level code, and are
    wrapped in their own  <UL> </UL> tag pairs.
    Hope that helps

  • Vendor payments and debts about an asset

    Dear sap colleages
    I need to know these information about an ASSET:
    Purchased orders,
    Items from purchase orders,
    which of these items i've received, i've paid (also date), i've not paid ( amount of debt related to asset)
    payments in advanced (date),
    wich of these payments have been cleared (clearing date) and wich not,
    who is the vendor,
    other expenses (such as delivery)
    the amount of taxes,
    invoices related and NOT RELATED TO purchase order
    payments without invoice
    Which transactions do i need to follow?
    or
    Which document flow?
    or
    Which tables? Wich keys?
    or
    Is there a standard report that can give me such information?
    Any documentation and/or code will be appreciated.
    I need to program a report to integrate all these information.
    Thanks and Kind Regards

    Hi,
    Refer to T.code AW01N - Asset Explorer .
    Additionally you cna also refer to SAP Standard reports in Asset Accounting
    Accounting - Financial Accounting - Fixed Assets - Information System - Reports on Asset Accounting
    Please let me know if you need more information.
    Assign points if useful.
    Regards
    Sridhar M

  • I cannot receive email properly now. When I open mail, it says that is downloading about 1,700 emails. At the very end, it gives me my newest ones. But this takes a long time. I've contacted the Internet service provider and verified all the right setting

    I cannot receive email properly on either my IPad or my IPhone. I have had them for over a year and they have always worked fine. Until three days ago, when they both started acting up. On the IPad, when I open mail, it says it is downloading about 1,700 emails. At the very end, which takes quite a while to get to, I finally get the most recent ones. The IPad is sending emails just fine.
    On my IPhone, when I open mail, it says it is downloading 100 emails, but it doesn't do that. And it gives me no new emails at all. The IPhone is sending email just fine.
    I have already deleted the email accounts on both devices and reinstalled them. I've contacted the Internet service provider and verified all the right settings. The Outlook email on my desktop is working perfectly.

    WMV is a heavily-compressed format/CODEC, and the processing time will depend on several factors:
    Your CPU, which is not that powerful in your case
    Your I/O sub-system, which is likely a single HDD on your laptop
    The source footage. What is your source footage?
    Any Effects added to that footage. Do you have any Effects?
    Each of those will have an impact on the time required.
    The trial has only one main limitation - the watermark. Now, there are some components, that have to be activated, but are not with the trial, but they would be evident with Import of your source footage, if it's an issue.
    Good luck,
    Hunt

  • I have had my IPAD2 for quite a while but haven't activated my cellular data for about a year.  I am now trying to activate and when I go to cellular data, turn it on and try to tap view account i just get a message that says "connection to server lost".

    I have had my IPAD2 for quite a while but haven't activated my cellular data for about a year.  I am now trying to activate and when I go to cellular data, turn it on and try to tap view account i just get a message that says "connection to server lost".  I could swear the last time I used cellular data you would see the signal in the upper left corner and I only see "no service" there, I am in a location where I know I should have service.  Is there something I should do to my IPAD?  I tried resetting, I tried clearing cookies and history in Safari (after reading a post n these discussions).  I don't know what to do next. My IOS version is 6.1.3.  I did go into Network from the general tab and I see it says "SIM not provisioned".    HELP and Thank you in advance.

    Hello Theresa818,
    Thank you for using Apple Support Communities!
    It sounds like the cellular data will not activate for some reason on the iPad.
    I found this article that will help you resolve this issue here, named iPad (Wi-Fi + Cellular Models): Troubleshooting a cellular data connection, found here http://support.apple.com/kb/TS4249
    Check for a carrier settings update.
    Update your iPad.
    Toggle the Cellular Data setting off and on under Settings > Cellular Data.
    Restart your iPad.
    Tap Settings > General > About. Locate the Carrier entry and make sure that your carrier is correct.
    If your SIM card has SIM PIN enabled, try turning it off: Tap Settings > Cellular Data > SIM PIN.
    Make sure you're in an area of good coverage. If the cellular data connection works in another area, contact your carrier to report the original affected area.
    Reset network settings: Tap Settings > General > Reset > Reset Network Settings.
    Restore the iPad as new.
    If none of the above steps resolves the issue, make an appointment at an Apple Retail Store, contact your carrier, or contact AppleCare to troubleshoot further.
    I know you may have done one or two of the steps here, so you can skip those.
    Take care,
    Sterling

  • Doubt about report FBL5N of screen field:Open items and Cleared items

    hi
    i know the report FBL5N is use DDF LDB and the report work flow is BSID->BKFP->BSEG
    but i don't know to differentiate Open Items and Cleared items in this report.
    Open items and Cleared items stand for a field flag in these table (BSID,BKFP,BSEG )? if true the field is?
    or they must be calc in program ? if true what about calc rules?
    waiting for help! thank you!

    Hi,
    Here is the difference in Open Items and Cleared Items.
    In FI first the document is Open (when it is posted) so the entry is made in table BSID. Once the document is cleared, it will move from BSID to BSAD. And for Cleared item you will see Clearing Document no and Clearing date values updated (these are blank when the item is open).
    The only difference in Open and Cleared is via Clearing Document and Clearing Date. If the values are present, it means document is cleared.
    Hope this helps.
    ashish
    Message was edited by:
            Ashish Gundawar

  • Follow up on an old thread about memory utilization

    This thread was active a few months ago, unfortunately its taken me until now
    for me to have enough spare time to craft a response.
    From: SMTP%"[email protected]" 3-SEP-1996 16:52:00.72
    To: [email protected]
    CC:
    Subj: Re: memory utilization
    As a general rule, I would agree that memory utilzation problems tend to be
    developer-induced. I believe that is generally true for most development
    environments. However, this developer was having a little trouble finding
    out how NOT to induce them. After scouring the documentation for any
    references to object destructors, or clearing memory, or garbage collection,
    or freeing objects, or anything else we could think of, all we found was how
    to clear the rows from an Array object. We did find some reference to
    setting the object to NIL, but no indication that this was necessary for the
    memory to be freed.
    I believe the documentation, and probably some Tech-Notes, address the issue of
    freeing memory.
    Automatic memory management frees a memory object when no references to the
    memory
    object exist. Since references are the reason that a memory object lives,
    removing
    the references is the only way that memory objects can be freed. This is why the
    manuals and Tech-Notes talk about setting references to NIL (I.E. freeing memory
    in an automatic system is done by NILing references and not by calling freeing
    routines.) This is not an absolute requirement (as you have probably noticed
    that
    most things are freed even without setting references to NIL) but it accelerates
    the freeing of 'dead' objects and reduces the memory utilization because it
    tends
    to carry around less 'dead' objects.
    It is my understanding that in this environment, the development tool
    (Forte') claims to handle memory utilization and garbage collection for you.
    If that is the case, then it is my opinion that it shoud be nearly
    impossible for the developer to create memory-leakage problems without going
    outside the tool and allocating the memory directly. If that is not the
    case, then we should have destructor methods available to us so that we can
    handle them correctly. I know when I am finished with an object, and I
    would have no problem calling a "destroy" or "cleanup" method. In fact, I
    would prefer that to just wondering if Forte' will take care of it for me.
    It is actually quite easy to create memory leaks. Here are some examples:
    Have a heap attribute in a service object. Keep inserting things into
    the heap and never take them out (I.E. forgot to take them out). Since
    service objects are always live, everything in the heap is also live.
    Have an exception handler that catches exceptions and doesn't do
    anything
    with the error manager stack (I.E. it doesn't call task.ErrMgr.Clear).
    If the handler is activated repeatedly in the same task, the stack of
    exceptions will grow until you run out of memory or the task terminates
    (task termination empties the error manager stack.)
    It seems to me that this is a weakness in the tool that should be addressed.
    Does anyone else have any opinions on this subject?
    Actually, the implementation of the advanced features supported by the Forte
    product
    results in some complications in areas that can be hard to explain. Memory
    management
    happens to be one of the areas most effected. A precise explanation to a
    non-deterministic process is not possible, but the following attempts to
    explain the
    source of the non-determinism.
    o The ability to call from compiled C++ to interpreted TOOL and back
    to compiled C++.
    This single ability causes most of the strange effects mentioned in
    this thread.
    For C++ code the location of all variables local to a method is not
    know
    (I.E. C++ compilers can't tell you at run-time what is a variable
    and what
    isn't.) We use the pessimistic assumption that anything that looks
    like a
    reference to a memory object is a reference to a memory object. For
    interpreted
    TOOL code the interpreter has exact knowledge of what is a reference
    and what
    isn't. But the TOOL interpreter is itself a C++ method. This means
    that any
    any memory objects referenced by the interpreter during the
    execution of TOOL
    code could be stored in local variables in the interpreter. The TOOL
    interpreter
    runs until the TOOL code returns or the TOOL code calls into C++.
    This means
    that many levels of nested TOOL code can be the source of values
    assigned to
    local variables in the TOOL interpreter.
    This is the complicated reason that answers the question: Why doesn't a
    variable that is created and only used in a TOOL method that has
    returned
    get freed? It is likely that the variable is referenced by local
    variables
    in the TOOL interpreter method. This is also why setting the
    variable to NIL
    before returning doesn't seem to help. If the variable in question is a
    Array than invoke Clear() on the Array seems to help, because even
    though the
    Array is still live the objects referenced by the Array have less
    references.
    The other common occurrence of this effect is in a TextData that
    contains a
    large string. In this case, invoking SetAllocatedSize(0) can be used
    to NIL
    the reference to the memory object that actually holds the sequence of
    characters. Compositions of Arrays and TextData's (I.E. a Array of
    TextData's
    that all have large TextDatas.) can lead to even more problems.
    When the TOOL code is turned into a compiled partition this effect
    is not
    noticed because the TOOL interpreter doesn't come into play and
    things execute
    the way most people expect. This is one area that we try to improve
    upon, but it is complicated by the 15 different platforms, and thus
    C++ compilers,
    that we support. Changes that work on some machines behave
    differently on other
    machines. At this point in time, it occasionally still requires that
    a TOOL
    programmer actively address problems. Obviously we try to reduce
    this need over
    time.
    o Automatic memory management for C++ with support for multi-processor
    threads.
    Supporting automatic memory management for C++ is something that is
    not a very
    common feature. It requires a coding standard that defines what is
    acceptable and
    what isn't. Additionally, supporting multi-processor threads adds
    its own set of
    complications. Luckily TOOL users are insulated from this because
    the TOOL to C++
    code generator knows the coding standard. In the end you are
    impacted by the C++
    compiler and possibly the differences that occur between different
    compilers and/or
    different processors (I.E. Intel X86 versus Alpha.) We have seen
    applications that
    had memory utilization differences of up to 2:1.
    There are two primary sources of differences.
    The first source is how compilers deal with dead assignments. The
    typical TOOL
    fragment that is being memory manager friendly might perform the
    following:
    temp : SomeObject = new;
    ... // Use someObject
    temp = NIL;
    return;
    When this is translated to C++ it looks very similar in that temp
    will be assigned the
    value NULL. Most compilers are smart enough to notice that 'temp' is
    never used again
    because the method is going to return immediately. So they skip
    setting 'temp' to NULL.
    In this case it should be harmless that the statement was ignored
    (see next example for a different variation.) In more
    complicated examples that involve loops (especially long
    lived event loops) a missed NIL assignment can lead to leaking the
    memory object whose
    reference didn't get set to NIL (incidentally this is the type of
    problem that causes
    the TOOL interpreter to leak references.)
    The second source is a complicated interaction caused by history of
    method invocations.
    Consider the following:
    Method A() invokes method B() which invokes method C().
    Method C() allocates a temporary TextData, invokes
    SetAllocatedSize(1000000)
    does some more work and then returns.
    Method B() returns.
    Method A() now invokes method D().
    Method D() allocates something that cause the memory manager to look
    for memory objects to free.
    Now, even though we have returned out of method C() we have starting
    invoking
    methods. This causes us to use re-use portions of the C++ stack used to
    maintain the history of method invocation and space for local variables.
    There is some probability that the reference to the 'temporary' TextData
    will now be visible to the memory manager because it was not overwritten
    by the invocation of D() or anything invoked by method D().
    This example answers questions of the form: Why does setting a local
    variable to
    NIL and returning and then invoking task.Part.Os.RecoverMemory not
    cause the
    object referenced by the local variable to be freed?
    In most cases these effects cause memory utilization to be slightly
    higher
    than expected (in well behaved cases it's less than 5%.) This is a small
    price to pay for the advantages of automatic memory management.
    An object-oriented programming style supported by automatic memory
    management makes it
    easy to extended existing objects or sets of objects by composition.
    For example:
    Method A() calls method B() to get the next record from the
    database. Method B()
    is used because we always get records, objects, of a certain
    type from
    method B() so that we can reuse code.
    Method A() enters each row into a hash table so that it can
    implement a cache
    of the last N records seen.
    Method A() returns the record to its caller.
    With manual memory management there would have to be some interface
    that allows
    Method A() and/or the caller of A() to free the record. This
    requires
    that the programmer have a lot more knowledge about the
    various projects
    and classes that make up the application. If freeing doesn'
    happen you
    have a memory leak, if you free something while its still
    being used the
    results are unpredictable and most often fatal.
    With automatic memory management, method A() can 'free' its
    reference by removing
    the reference from the hash table. The caller can 'free' its
    reference by
    either setting the reference to NIL or getting another
    record and referring
    to the new record instead of the old record.
    Unfortunately, this convenience and power doesn't come for free. Consider
    the following,
    which comes from the Forte' run-time system:
    A Window-class object is a very complex beast. It is composed of two
    primary parts:
    the UserWindow object which contains the variables declared by the
    user, and the
    Window object which contains the object representation of the window
    created in
    the window workshop. The UserWindow and the Window reference each
    other. The Window
    references the Menu and each Widget placed on the Window directly. A
    compound Window
    object, like a Panel, can also have objects place in itself. These
    are typically
    called the children. Each of the children also has to know the
    identity of it's
    Mom so they refer to there parent object. It should be reasonably
    obvious that
    starting from any object that make up the window any other object
    can be found.
    This means that if the memory manager finds a reference to any
    object in the Window
    it can also find all other objects in the window. Now if a reference
    to any object
    in the Window can be found on the program stack, all objects in the
    window can
    also be found. Since there are so many objects and the work involved
    in displaying
    a window can be very complicated (I.E. the automatic geometry
    management that
    layouts the window when it is first opened or resized.) there are
    potentially many
    different reference that would cause the same problem. This leads to
    a higher than
    normal probability that a reference exists that can cause the whole
    set of Window
    objects to not be freed.
    We solved this problem in the following fashion:
    Added a new Method called RecycleMemory() on UserWindow.
    Documented that when a window is not going to be used again
    that it is
    preferably that RecycleMemory() is invoked instead
    of Close().
    The RecycleMemory() method basically sets all references
    from parent to
    child to NIL and sets all references from child to
    parent to NIL.
    Thus all objects are isolated from other objects
    that make up
    the window.
    Changed a few methods on UserWindow, like Open(), to check
    if the caller
    is trying to open a recycled window and throw an
    exception.
    This was feasible because the code to traverse the parent/child
    relationship
    ready existed and was being used at close time to perform other
    bookkeeping
    operations on each of the Widgets.
    To summarize:
    Automatic memory management is less error prone and more productive but
    doesn't come totally for free.
    There are things that the programmer can do that assists the memory
    manager:
    o Set object reference to NIL when known to be correct (this
    is the
    way the memory is deallocated in an automatic system.)
    o Use methods like Clear() on Array and SetAllocatedSize()
    on TextData to
    that allow these objects to set their internal
    references to NIL
    when known to be correct.
    o Use the RecycleMemory() method on windows, especially very
    complicated
    windows.
    o Build similar type of methods into your own objects when
    needed.
    o If you build highly connected structures that are very
    large in the
    number of object involved think that how it might be
    broken
    apart gracefully (it defeats some of the purpose of
    automatic
    management to go to great lengths to deal with the
    problem.)
    o Since program stacks are the source of the 'noise'
    references, try
    and do things with less tasks (this was one of the
    reasons that
    we implemented event handlers so that a single task
    can control
    many different windows.)
    Even after doing all this its easy to still have a problem.
    Internally we have
    access to special tools that can help point at the problem so that
    it can be
    solved. We are attempting to give users UNSUPPORTED access to these
    tools for
    Release 3. This should allow users to more easily diagnose problems.
    It also
    tends to enlighten one about how things are structured and/or point out
    inconsistencies that are the source of known/unknown bugs.
    Derek
    Derek Frankforth [email protected]
    Forte Software Inc. [email protected]
    1800 Harrison St. +510.869.3407
    Oakland CA, 94612

    I beleive he means to reformat it like a floppy disk.
    Go into My Computer, Locate the drive letter associated with your iPod(normally says iPod in it, and shows under removable storage).
    Right click on it and choose format - make sure to not have the "quick format" option checked. Then let it format.
    If that doesnt work, There are steps somewhere in the 5th gen forum( dont have the link off hand) to try to use the usbstor.sys to update the USB drivers for the Nano/5th gen.

Maybe you are looking for

  • BI Capabilities?

    I am confused with the various products and their capabilities in SAP. My requirement is very simple. I need a few dashboards on a web explorer interface from my datawarehouse. These dashboards need to show data for Actual Sales against targets throu

  • I want to check XI setting in my existing sever

    Hi Guru's I want to check XI setting in my existing sever , as i m new in xi. I want to know abt SLD , adaptor and alert setting etc plz  help me Thanks in advance Edited by: sandeep gautam on Dec 26, 2007 7:47 AM

  • Itunes register settings missing

    when itunes opens I get a message that says _The Registry settings used by itunes drivers for importing and burning cd's and dvd's are missing.This can happen as a result of installing other cd burning software. Please Reinstall itunes. The thing is

  • What' the best approach for synching a drum machine to AA3

    Hi I have recently purchased both AA3 and an Alesis SR-18. I'm wondering how to go about synching the drum machine to AA3. Do I do it via SMPTE or Midi? And exactly how do I do that? Later on I will also need to link my synth via midi to the AA3 sequ

  • Chrome failing when switching users

    This also happens when powering down. Chrome widows shrink and I canot open them. Cheers SteveW