Henry 的个人资料Henry's Space——巨人脚下的沉思者照片日志列表 工具 帮助

日志


5月29日

The Scope of the 2010 VAT Change – Continued (from sdn)

 To continue on the discussion of VAT 2010 changes we want to provide more insight into the scope of these changes.

Starting on January 1, 2010, all businesses in the European Union need to be in compliance with the fundamental changes to the VAT system agreed on by the ECOFIN in December 2007 and adopted in February 2008. Any size company in any industry has the potential to be impacted. Businesses with complex supply chain operations and complex selling models will be impacted the most. And while these changes – dealing primarily with place of supply of services and the recovery of VAT of purchases made in other EU countries – will modernize and simplify current rules, they will also be highly disruptive.

In order to comply, businesses will need to determine exactly how they will be individually effected by the changes. They will have to retool their financial systems. And they will have to redefine business processes and retrain employees. Yet sometimes disruption can be a useful thing, and the 2010 VAT changes, however unsettling, present businesses with the opportunity to strike out into new directions and forge more flexible, cost-effective and sustainable approaches to ongoing VAT compliance than they have been used to. But first it is necessary to understand the scope of the changes and their business impact.

Changes to Place of Supply of Services
In a major change to the VAT system, business-to-business (B2B) supply of services will be taxed where the customer is situated, and no longer where the supplier is located. Business-to-consumer supply of services, on the other hand, will continue to be taxed in the country where the supplier is situated. That sounds simple enough, but there are variables and circumstances that negate these general rules. For instance, if you supply restaurant and catering services, or are involved in transport, cultural, entertainment, educational, telecommunications or electronic services to consumers, specific rules apply to bring taxation to the place of consumption.

Changes to EC Sales Listings (ESL)
Sales Listings used to apply only to B2B sales of goods. But in another major change, as of 2010 they extend to the supply of B2B services to which the reverse charge applies. Again, there are variables. B2C supplies are not covered, nor are B2B supplies when they are not taxable for the customer. Member States also will have specific rules around when to file the ESL.

Carla Yrjanson Carla Yranjson is the VP of Tax Services for Sabrix

5月20日

Exception Handling and RTTS

(一)   Exception Handling

1.         Definition of exception class

 

2.         To raise the exception class when defining methods or subroutines of classes in which you design to make an exception

     Methods meth Importing ……

                  Exporting ……

Raising cx_excep

    

3.         to raise the exception when implementing classes.

              Method meth.

Raise Exception type cx_excep

                 Endmethod.

 

4.         To catch the raising exception.

    Try.

            Call method meth

              Exporting ……

              Importing……

              Catch cx_excep into ref_excep.

     Endtry.

 

(二)   RTTI& RTTC of RTTS(Run Time Type Service)

Acronym:

    RTTI is an acronym for Run Time Type Information, and RTTC is an acronym for Run Time Type Creation.

    RTTI is specifically useful for taking places of Exception technology implementation, because the type of reference variable can be determined in advance using an appropriate RTTI call

 

Solution 1.

    LOOP AT airplane_list INTO r_plane.
      TRY.
          "**** her comes the optimistical coding *******
          r_cargo ?= r_plane.
          IF r_cargo->get_cargo( ) > re_cargo.
            re_cargo = r_cargo->get_cargo( ).
          ENDIF.
        CATCH cx_sy_move_cast_error INTO r_exc. "*** no cargoplaine
                  l_str = r_exc->get_text( ).
                   MESSAGE l_str type 'I'.
      ENDTRY.
    ENDLOOP.

 

Solution 2.

    LOOP AT airplane_list INTO r_plane.

  r_descr  ?= cl_abap_typedescr=>describe_by_object_ref( r_plane ).

      IF r_descr->get_relative_name( ) = 'LCL_CARGO_PLANE'.
        r_cargo ?= r_plane.
        IF r_cargo->get_cargo( ) > re_cargo.
          re_cargo = r_cargo->get_cargo( ).
        ENDIF.
      ENDIF.

    ENDLOOP.

 

Besides, you can implement the best Encapsulation by using RTTS technology.

For example, there are some special requirements that we need to add some standard table (mainly transparency system table) in the backstage by using transaction SPRO, we need to report the business data of the added table on some ALV report, therefore, the program to implement should be got the table description from the table or view corresponding configuration by call transaction SPRO.

 

The simple example:

 

******************RTTI Analysis****************
DATA:
           l_field_list TYPE DDfields,
           wa TYPE spfli,
           r_descr TYPE REF TO cl_abap_structdescr,
           wa_comp type abap_compdescr.

START-
OF-SELECTION.

r_descr
 ?= cl_abap_structdescr=>DESCRIBE_BY_DATA( wa ).

TRY .
  call METHOD r_descr->GET_DDIC_FIELD_LIST
                       EXPORTING p_langu = sy-langu
                       RECEIVING  p_field_list = l_field_list
                       .
*CATCH   NOT_FOUND .
*
*CATCH NO_DDIC_TYPE.

ENDTRY.

LOOP AT  r_descr->components INTO wa_comp.
  WRITE wa_comp-name.
ENDLOOP.

 

 

Reference

 

 

 

5月10日

IDoc(一)

Basic concepts

 

1.         EDI

EDI is the acronym for Electronic Data interchange, from which you can definitely know EDI is not unique terminology of SAP.

2.         ALE

ALE is the acronym for Application Link Enabling.

ALE is an R/3 technology for distribution of data between independent R/3 installations. ALE is an application which is built on top of the IDoc engine. It simply adds some structured way to give R/3 a methodical means to find sender, receiver, and triggering events for distribution data.

3.         IDOC

IDocs is the acronym for Interchange Document.

IDocs are structured ASCII files (or a virtual equivalent). They are the file format used by SAP R/3 to exchange data with foreign systems.

The name “messages” for the information sent via IDocs is used in the same ways as other EDI standards.

Other EDI standards like XML, ANSI X.12 or EDIFACT/UN are based on a data description language. They differ principally from the IDocs concept, because they use a programming language syntax (e.g. like Postscript or HTML) to embed the data.

 

4.         Common expressions and methods which you must know and know how to create theme with IDOC.

l  Segments

l  IDoc type

l  Message type

l  Processing Code

l  Partner Profile

l  Partner type

l  LS: logical system

 

IDocs Customizing

1.         Define IDoc Segments

2.         Compile IDoc type

3.         Create a message type

4.         Combine message and IDoc type

5.         Define combination of message and processing method

6.         Define Processing Code

7.         Define Partner profile

8.         Define RFC connection

9.         Define ports

10.     Define Logical Message

 

 

 

IDoc Outbound Triggers

 

IDocs should be sent out at certain events. Therefore you have to define a trigger. A lot of consideration is required to determine the correct moment when to send out the IDoc. The IDoc can be triggered at a certain time or when an event is raised. R/3 uses several completely different methods to determine the trigger point. There are messages to tell the system that there is an IDoc waiting for dispatching, there are log files which may be evaluated to see if IDocs are due to send and there can be a workflow chain triggered, which includes the sending of the IDoc.

 

Besides, three useful program including RSNAST00, RSNASTED, and RSEOUT00,  are available referring.

 

1.         Individual ABAP

 

2.         NAST Messages Based Outbound IDocs

You can use the R/3 message concept to trigger IDocs the same way as you trigger SAPscript printing.

 

3.         The RSNAST00 ABAP

 

4.         Sending IDocs Via RSNASTED

 

5.         Sending IDocs Via RSNAST00

 

6.         Workflow Based Outbound IDocs

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.

Many SAP R/3 applications issue a call to the function SWE_EVENT_CREATE during update. This function module ignites a simple workflow event.

 

7.         Workflow Event From Change Document

Continue…

8.         ALE Change Pointers

Continue…

9.         Activation of change pointer update

Continue…

10.     Dispatching ALE IDocs for Change Pointers

Continue…