Category: SAP

  • SAP Ariba – Buyers and Supplier Terms

    Preface – This post is part of the SAP Ariba series.

    Introduction

    As we know that SAP Ariba connects buyers and suppliers on a single platform, Ariba has set some terms applicable for the use of online services by buyers and suppliers of goods and services. In this article we will explore more about SAP Ariba – Buyers and Supplier Terms.

    Terms of Use – Suppliers

    As a supplier in Ariba Network, if you choose any of the online services provided by Ariba, your use of the services will be subject to both the General Terms as well as the Solution Terms of the online services.

    For details related to Terms of Use for suppliers, navigate to below link:

    https://service.ariba.com/Authenticator.aw/ad/termsCenter?tou=supplier

    Term of Use – Buyers

    As a buyer in Ariba Discovery services, your use of the services will be subject to both the General Terms as well as the Solution Terms of the online services but if you disagree with terms of services, Ariba Discovery feature is not allowed to use. In general terms, we can also say that the “solution terms” of services are only applicable to the Buyers accessing the Ariba Discovery site.

    For details related to Terms of Use for buyers, navigate to below link:

    https://service.ariba.com/Authenticator.aw/ad/termsCenter?tou=marketplace

    Apart from SAP Ariba – Buyers and Supplier Terms, Ariba also provides various online services to users which also has some Terms and Policies applicable to it. Below are some Terms and Policies for the services provided by Ariba:

    TERMS AND POLICIES FOR SERVICES

    • Long-Term document Archiving: These terms are only applicable to suppliers who use the Long Term Document Archiving feature in Ariba .
    • Dynamic Discounting Credit Memos: These terms are only applicable to suppliers who request early payments in countries that require credit memos for dynamic discounting.
    • Country Coverage: This provides the list of supported counties issuing invoices, their retention period, physical archiving storage location, and their archive provider.

    TERMS AND POLICIES FOR PAYMENTS

    • Ariba Pay: In addition to the Terms of Use for suppliers, Ariba Payable terms and policies are also applicable for suppliers.
    • Supply Chain Financing: In addition to the Terms of Use for suppliers, Supply Chain Financing services terms and policies are also applicable for suppliers.

    TERMS AND POLICIES FOR OPTIONAL SERVICES

    • Cloud Integration Gateway: These services are only applicable to suppliers that utilize the Cloud Integration Gateway services as activated from Ariba Network. The activation of services serves as the consent of the terms of Cloud Integration Gateway Services.
    • Master Content Services: These services are only applicable to suppliers that utilize the services as activated from Ariba Network. The activation of services serves as the consent of the terms of Master Content Services.

    The detailed description of the Terms and Policies of the above-mentioned services provided by Ariba is provided in the below-mentioned link:

    https://service.ariba.com/Authenticator.aw/ad/termsCenter

  • Configuring SAP Ariba Procurement Solution

    Preface – This post is part of the SAP Ariba series.

    Introduction

    For all export tasks in web-based integration, Ariba Administrator is responsible for configuring the URL for SAP Process Integration. In this article we will explore more about “Configuring SAP Ariba Procurement Solution”.

    Generic URL:

    SoapURL=http:///XISOAPAdapter/MessageServlet?channel=:<BusinessSystemName>:<Communication_Channel_Name>;

    Example:

    SoapURL=”http://<PIserver>:<port> sapnw01 : 50000/XISOAPAdapter/MessageServlet?channel=: BS_Procurement:CC_ChangePurchaseOrder_WSDL_Sender”;

    Where,

    • Server name : sapnw01
    • Port: 50000
    • Business System Name: BS_Procurement
    • Communication Channel Name: CC_ChangePurchaseOrder_WSDL_Sender

    Receiving Tolerances

    In Ariba Procurement Solution, users can update the details of their orders. For this SAP ERP and SAP Ariba systems should receive the information in the same way. For example, both systems must have the same receiving tolerance.

    Configure the following settings in system parameters to set the receiving tolerances:

    • Procure.OverReceivingOperator
    • Procure.OverReceivingPercentage
    • Procure.OverReceivingQuantity
    • Procure.OverReceivingValue
    • Procure.UnderReceivingOperator
    • Procure.UnderReceivingQuantity
    • Procure.UnderReceivingValue
    • Procure.UnderReceivingPercentage

    The above parameter values are set from Service Manager; you need to submit the request with Ariba Contact and the Ariba Customer Support representative will contact you.

    How to enable the generation of ERP Order by Default

    When a user creates requisition for the first time, an ERP order is generated. To generate the ERP order by default, default behavior must be changed.

    Steps to generate ERP Order by Default

    1. Log in to the Service Manager as superuser
    2. Under Site Manager navigate to Customer Sites
    3. Log in as Customer Support Admin
    4. Click Customization Manager
    5. Click the Advanced tab and select Parameters
    6. Under Search Filter search other methods and click edit
    7. Move sap.server.SAPPOERP to the top and click ok and save it

    Specifying the preferred ordering method

    The preferred ordering method is basically the format in which the PO is sent. Users can specify the preferred ordering method for the Purchase Orders sent to suppliers.

    User can choose from the below-supported formats:

    • URL
    • Online
    • Fax
    • cXML
    • Print

    To set the preferred ordering method, you need to submit the request with Ariba Contact and the Ariba Customer Support representative will contact you.

    By default, the ordering method is set to the URL. To download the PO in *.csv format, the user needs to set the ordering method to Print.

    Specifying Unique Purchase Order number

    In Ariba Procurement Solution, the default purchase order number starts with EP10.

    To specify the preferred unique number for the purchase order, you need to submit the request with Ariba Contact and the Ariba Customer Support representative will contact you.

    Enable Cancel Order Integration

    To enable cancel order integration in Ariba Procurement Solution, the value of parameter Application.Procure.UseCancelOrderIntegration should be set to YES.

    To set the value of the mentioned parameter you need to submit the request with Ariba Contact and the Ariba Customer Support representative will contact you.

    Enable creation of Split Orders based on Currency

    In SAP ERP system, the requisition of line items having different currencies is not supported. To overcome this scenario the order should be split based on currencies.

    Steps to enable split orders:

    1. Log in to the Service Manager as superuser
    2. Under Site Manager navigate to Customer Sites
    3. Log in as Customer Support Admin
    4. Click Customization Manager
    5. Click Field Configuration
    6. In Browse Classe, search for procurelineitem
    7. Provide the value for Create Field, Label for field, Expression
    8. Click Advanced tab and choose Split Order on this Field
    9. Click Customizing and publish the order by clicking Publish

    Specifying ad-hoc ship to addresses

    In Ariba Procurement Solution, users can add ad-hoc addresses while creating the requisition or by editing the existing purchase order. Adding an ad-hoc address is enabled once the user enables the Application.Procure.AllowAdhocShipToAddress in their Ariba Procurement Solution account.

    You can learn more about Configuring SAP Ariba Procurement Solution here from SAP’s official website.

  • Difference between Update function module and Regular function module

    Preface – This post is part of the Differences in ABAP for Interviews series.

    Introduction

    Before discussing the difference between Update function module and Regular function module in SAP ABAP, let’s have a short introduction of the two.

    Function modules are procedures that have a set of re-usable statements with importing, exporting parameters, etc. They are created in ABAP workbench using the Function Module Builder. They play an important role in updating and in the interaction between different SAP systems, between SAP systems and remote systems through remote calls.

    There are 3 Processing types of function module:

    1. Regular Function Module
    2. Remote-Enabled Function Module
    3. Update Module

    Regular Function Module

    Regular Function Module and Update Function module consists of a block of statements that are made available globally all over the SAP landscape.

    Update Module

    The Update function module is a function module for which the processing type property of the function builder is set to Update Module. This function module is not executed immediately but is scheduled for execution in a special work process called update work process. For this purpose, the name of the update function module along with the actual parameter is registered in the database table VBLOG as a log record.

    Syntax to register the function module to the log table:

    CALL FUNCTION <function_name> IN UPDATE TASK

    [EXPORTING p1 = a1 … fn = an] [TABLES  f1 = a1 … fn = an

     The actual execution of the program is triggered by the COMMIT WORK statement. The values of the actual parameters are received by the formal parameter of the function module from the VBLOG table. After registration of the function module, if the COMMIT WORK is not triggered then the function module is not executed and the entries are deleted from the log table when the program ends.

    The regular function module does not need to be registered to be called. This is executed immediately whenever a call to this function module is made. Sy-subrc can be checked for success and failure.

    Syntax to call a Regular function module:

    CALL FUNTION  <function_name>

    [EXPORTING  p1 = a1 … fn = an] [IMPORTING  f1 = a1 … fn = an] [CHANGING   f1 = a1 … fn = an] [TABLES     f1 = a1 … fn = an] [EXCEPTIONS e1 = r1 … en = rn

    [ERROR_MESSAGE = rE] [OTHERS = ro]].

    Now, let’s have a look at their difference.

    Difference between Update function module and Regular function module

    Update Function Module Regular Function Module
    It needs to be registered first in the log table There is no need to register
    It is executed when COMMIT WORK statement is triggered. It is executed immediately when a call is made to this function.
    Sy-subrc is undefined after execution Sy-subrc can be checked after the execution

     

  • Difference between User Exits and Customer Exits

    Preface – This post is part of the Differences in ABAP for Interviews series.

    Introduction

    Before discussing the difference between User Exits and Customer Exits in SAP ABAP, let’s have a short introduction of the two.

    The enhancement allows the user to add their functionalities to the SAP standard applications without modifying the original application. Enhancement Framework is used to modify the standard SAP behavior as per the customer requirements. There are different ways to add custom functionalities in standard codes. User Exit and Customer Exit are among them.

    User Exits

    User exits are implemented in the form of subroutines and hence also called FORM EXITs. They are collected in Include and are attached to the SAP standard program. They are empty subroutines where one can fill their source code. They are the type of system enhancements originally developed for R/3 SD(Sales and Distribution). Technically they modify the existing code.

    Syntax:

    FORM USEREXIT_XXXX
    INCLUDE ZZUSEREXIT_XXXX
    ENDFORM.

    Customer Exits

    Customer exits act as hooks where one can hang their new functionalities. These are created for specific programs, screens, and menus within the standard applications. Technically, they are enhancements as they provide add-on functionality. They are used for all modules like MM, SD, FICO, PP etc.

    There are 3 types of Customer Exits:

    1. Function Module Exits

      It is implemented as a call to the function module. It allows the developer to add code in include that is implemented in a function module at a specific location in an SAP application program.

    Syntax:  CALL CUSTOMER-FUNCTION ‘910’

    1. Screen Exits

      It allows the customers to add fields to a screen in the SAP program via sub-screen which is called within standard screen’s flow logic.

    Syntax:  CALL CUSTOMER-SUBSCREEN CUSTOM_SRC

    1. Menu Exits

      These are implemented by SAP and are reserved menu entries in the GUI interface. It allows adding functionalities to menus.

    Syntax:   +CUS (additional item in GUI status)

    Now, let’s have a look at their difference.

    Difference between User Exits and Customer Exits

    User Exits Customer Exits
    It is implemented in the form of subroutine It is implemented for specific programs, screens, and menu within standard applications
    It is technically a modification as existing code are changed It is technically an enhancement as this provides add-on functionality
    It refers to SD module only It refers to all modules like MM, SD, FICO, PP etc.
    All variables, structures, internal tables, etc. are exposed to be viewed and/or changed Only variables, structures, and tables that are passed into the function through the interface are restricted to be viewed and/or changed
    It requires an access key It does not require any access key
    Changes remain after the upgrade Changes are lost after upgrade
    It gets automatically activated whenever the application/program is activated To implement this, a project is created in CMOD then activated

     

  • SAP Ariba Configuration with SAP ERP

    Preface – This post is part of the SAP Ariba series.

    Introduction

    SAP Ariba Network can seamlessly connect to different SAP business suits with the help of add-ons that comes with Ariba Network integration 1.0. In this article we will explore SAP Ariba Configuration with SAP ERP.

    Why integration is needed?

    Integration of SAP Ariba with SAP ERP allows the users to manage the procurement process in SAP Ariba with the integration of the business records already deployed in the SAP ERP system. The integration of Ariba P2P and P2O includes the data load from the ERP system to the Ariba system. It covers data related to suppliers, organizations, and purchases.

    The integration provides the full transparency of transactions of data between the system reflecting the changes and modifications in both systems.

    How does the process works?

    For the purchase of goods, the process starts with the creation of PR’s (Purchase Requisition) for catalog and non-catalog items, this then undergoes for approval of the related approver. Once the PR is completely approved by the designated approver, the PO (Purchase order) is created in SAP Ariba. The process flow of PR creation to PO creation takes place at Ariba platform.

    Once the PO is created in the Ariba platform, the PO data is replicated to ERP system. The process comes to end with the release of the invoice.

    Software pre-requisites for integration

    • SAP ERP system 6.0 or higher
    • SAP Ariba Downstream 13s or higher
    • SAP Ariba Integration Toolkit
    • SAP NetWeaver PI 7.1 or higher (optional )

    Different ways of integration

    There are four ways of performing SAP Ariba Configuration with SAP ERP:

    • File-based integration
    • Web services-based integration
    • Direct connectivity
    • Using middleware connectivity

    File based-integration

    The data is exported from the Ariba Procurement Solution in *.csv format. It is then processed by ABAP program and then replicates it to SAP ERP. After the data replication to the ERP system, the status of the transaction is fetched from ERP and then update back to SAP Ariba. SAP Ariba supports *.csv file format for import and export.

    SAP Ariba Configuration with SAP ERP

    Web-Based Integration

    This integration use middleware’s like SAP PI, SOA to establish integration. SAP PI is by default available and it does not require any manual configuration for setup, whereas using SOA manual configuration is needed. SOAP messages are generated based on WSDL and are forwarded using SAP PI.

    Direct Connectivity Integration

    In the direct connectivity process, master data (in *.csv format) is transferred from SAP ERP to SAP Ariba system in the form of SOAP messages.

    Mediated Connectivity Integration

    In the mediated connectivity integration process, both SAP PI and SOAP messages methods can be used (data can be passed as SOAP messages).

    To use SAP PI to exchange the data, you need to specify the sender and receiver communication channel. For SAP PI/PO integration, Ariba has provided Ariba Network Adapter commonly now as add-ons which allow to send and receive data in cXml format.

     

  • SAP Ariba SSO Architecture

    Preface – This post is part of the SAP Ariba series.

    Introduction

    According to SAP Ariba, it SSO Architecture is a set up of trust between SAP Ariba and Corporate Identity Provider using SAML 2.0. In this article we will explore SAP Ariba SSO Architecture in detail.

    Types of Authentication

    SAP Ariba allows buyers and suppliers to login into Ariba Network using two methods:

    • Regular User Authentication: Users can manually enter their Ariba Network usernames and passwords on the Ariba Network page.
    • Single Sign-On (SSO): When users log in to their Corporate Network, it automatically logs them to Ariba Network when needed.

    SSO also requires setup configurations to connect user authentication system to Ariba Network and this is done with the help of network administrators.

    Benefits of SSO Architecture:

    • Security Control: SSO cab be combined with multi-factor authentication ( MFA ) or users might use portable authentication devices ( like RSA Secure ID) for better security control to access Ariba Network.
    • User Experience: Repeated logins are no more required with SSO. As when users login to their Corporate Network they are authenticated to Ariba Network also.
    • Account Management: Ariba automatically revokes user’s access to Ariba Network in case they leave the organization.
    • It combines with RBA (Risk-Based Authentication): SSO combined with RBA provides insight into user behavior. Security teams are able to monitor the unusual behavior of users, such as multiple login failures and it also gives permission to block the user account in case of security issues.

    SAP Ariba SSO Architecture

     SAP Ariba SSO Architecture

  • Ariba Network Permissions

    Preface – This post is part of the SAP Ariba series.

    Introduction

    Ariba Network provides various permissions to users to access certain areas of the Ariba Network user interface. Permissions are grouped into roles and each role includes at least one permission. In this article we will explore all the Ariba Network Permissions.

    Ariba Network Permissions

    Below is the table describing Ariba Network permissions, its functionality and the access area in Ariba Network account:

    Permissions Functionality and access area
    Access to order confirmation approvals Enable users to access order confirmation approvals in Supply Chain Monitor.
    Archive access Enable users to view and search archived items.

    Access areas :

    Inbox > Archived Invoice

    Buyer Dashboard for Supply Chain Collaboration Users are able to access the Buyer Dashboard for Supply Chain Collaboration. (Only for SAP Ariba Supply Chain Collaboration Buyer accounts)
    Buyer Discount Management Program Administrator Enable users to alter Discount Management rules ( Create, maintain and deactivate)

    Access areas :

    ·         Administration > Configuration > Ariba Discount Management

    ·         Reports (Discount Acceptance, Discount Metrics, Early Payment Limit and Failed Dynamic Discounting Credit Memo Creation reports)

    Buyer Treasury Agent Users can accept or reject supplier-initiated early payment requests.

    Access areas :

    Administration > Configuration > Ariba Discount Management

    Catalog Management This permission grants users to manage catalog related activities.

    Access areas :

    Catalogs

    Company Information Users can manage company profile and website information.

    Access areas :

    ·         Administration > Configuration > Company Profile >

    ·         Administration > Configuration > Additional Information

    Contact Administration Enable users to manage company-wide and supplier specific contact assignments.

    Access areas :

    Supplier Enablement > Contacts

    Create and manage postings in Ariba Discovery Users can manage postings on Ariba Discovery. They can create, modify, close and award postings.
    cXML Configuration Enable users to configure the account for cXML transactions.

    Access areas :

    Administration > Configuration > cXML Setup

    Forecast Visibility Grants access to users to forecast and commit visibility. ( Only for SAP Ariba Supply Chain Collaboration Buyer accounts)
    Goods Receipt Report Administration Users are able to create, modify, delete and run the goods receipt report. Also, users are able to download the report.

    Access areas :

    Reports (Goods Receipt report)

    Inbox and Order Access Users are able to access the documents in the Inbox and can take actions based on their profiles. They can view and search documents like invoices, order confirmations, shipping details.

    Access areas :

    Inbox

    Invoice Report Administration Users are able to create, modify, delete and run the invoice report as well as they can download the report.

    Access areas :

    Reports (Invoice Report)

    Outbox Access Users are able to access the documents in the outbox and can take action depending upon their roles. This includes viewing and searching orders, transaction audit reports. They are also able to download the reports.

    Access areas :

    Outbox

    Payment Activities Users are able to view payments, PCard account numbers on the purchase order and are able to maintain the company’s payment account. Also because of security reasons, users are required to change their passwords in 90 days

    Access areas :

    Outbox

    PCard Configuration and Notifications This permission allows the users to enable PCard settlement as well as to maintain card administrator information and emails for card processing notification. Also, only the administrator account has this permission and only in case if the organization is enabled for payments.

    Access areas :

    ·         Administration > Configuration > Settlement > PCard Settlement Service

    ·         Administration > Configuration > Settlement > PCard Administrator Information

    ·         Administration > Configuration > Settlement > PCard Charge Methods

    ·         Administration > Configuration > Settlement > PCard Processing Notifications

    Purchase Order Report Administration Users are able to create, modify, delete, run and download the purchase orders and order summary reports.

    Access areas :

    Reports (Order,  Failed order, Order Summary report)

    Supplier Membership Report Administration Users are able to create, modify, delete, run and download supplier membership status reports.

    Access areas :

    Reports (Supplier Membership Status report)

    Supplier Profile Report Administration Users are able to create, modify, delete, run and download supplier profile reports.

    Access areas :

    Reports (Supplier Profile report)

    Supplier Remittance Information Report Users are able to create, modify, delete, run and download supplier remittance information reports.

    Access areas :

    Reports (Supplier Remittance Information report)

    Tax Book Report Administration Users are able to create, modify, delete, run and download tax book reports.

    Access areas :

    Reports (Tax Book report)

    Transaction Configuration This permission allows users to specify their preferences for routing and responding to order related activities like canceling orders, order request messages.

    Access areas :

    Administration > Configuration > Default Transaction Rules

  • SAP Ariba Network User and Role Management

    Preface – This post is part of the SAP Ariba series.

    Introduction

    In Ariba Network, administrators and users play different roles. As an administrator you provide administrative support to your company for the smooth running of business. Additionally, admins responsibility includes:

    • Administrator role is automatically linked to the username and login entered at the time of registration. However, the administrators can reassign the role to other users.
    • Registration of new accounts, account configuration and management
    • Users and roles creations
    • Handling account login issues
    • Serving as the primary contact for users

    Users have different roles, which corresponds to their job responsibilities. Each user is responsible to update their profiles – personal user information, in Ariba system. In this article we will discuss more about SAP Ariba Network User and Role Management.

    Creating Role

    1. From Company Setting menu, navigate to Users to open Users pages.
    2. In users page, under Manage Users Roles click Create Role
    3. Provide the role details – name of role, role description
    4. Provide the Permissions to role. At least one permission must be given.
    5. Click Save

    Modifying a Role

    You can modify an existing role and in case if a user is already assigned to that role, the modifications will be reflected once they login again.

    1. From Company Setting menu, navigate to Users to open Users pages.
    2. In users page, under Manage Users Roles click Edit to open Edit Role Page
    3. Update the required details – name of role, role description
    4. Update selected Permissions
    5. Click Save

    Creating User

    1. From Company Setting menu, navigate to Users to open Users pages.
    2. In users page, under Manage Users click Create User to open Create User Page
    3. Under New User Information, provide user details – username, email, first name, last name(optional), office phone no.
    4. Under Role Assignment Section, provide at least one Role to user
    5. To transfer administration role to user, click Make Administrator
    6. Click Done

    Managing User Roles and Resetting Password

    1. From Company Setting menu, navigate to Users to open Users pages.
    2. In users page, under Manage Users, select user which you want to modify, click Edit
    3. Under Role Assignment Section, add or remove roles.
    4. Under Customer Assignment Section, you can assign the user to customers.
    5. Click Save

    To reset user’s password, click Reset Password. A link will be sent to the user via email to reset their password.

  • Difference between Primary Key and Foreign Key

    Preface – This post is part of the Differences in ABAP for Interviews series.

    Introduction

    Before discussing the difference between, let’s have a short introduction of the two.

    Keys are the fundamental part of the relational database as they establish a relation between the tables and ensure each record in the table is uniquely identified.

    A database contains a lot of tables which holds thousands of records all of which are unsorted and unorganized. Fetching a particular data from those records can be difficult and challenging. This is where Keys comes to the scenario. The two important keys of the relational schema are Primary Key and Foreign Key. In this article we will discuss the Difference between Primary Key and Foreign Key in detail.

    Primary Key

    A primary key in a table uniquely identifies each record in the table. It may refer to a column or a combination of columns to implicitly identify the records. The input values of the key columns defined must be unique for each record and not contain NULL values. Each table has can have one  Primary key or group of keys that are unique for every record.  No duplicate value is allowed in the primary key field.

    Foreign Key

    A foreign key is a set of one or a combination of columns in a table that is a primary key of another table. It is used in a table is used to establish a relation between tables in the ABAP dictionary, to create value checks for the input fields and to link multiple tables in a view or a lock object. Duplicate value is allowed in the foreign key field.

     

    Difference between Primary Key and Foreign Key

    Table 1 is the foreign key table (dependent table) and Table 2 is the check table(referenced table). Here the Column 3(foreign key of Table 1) points to the Col 1(primary key of Table 2).Column 3 of Table 1 and Col 1 of Table 2 must have same data type and length.

    Difference between Primary Key and Foreign Key

    Now, let’s have a look at their difference.

    Primary Key Foreign Key
    It uniquely identifies a record in the table It establishes relation between table and is a primary key in another table
    A table has mianly one primary key A table can have multiple foreign keys
    It cannot have Null value It can have Null values
    It cannot have a duplicate value It can have duplicate values
    It cannot be dropped from the parent table which refers to the foreign key in the foreign key table It can be dropped from the foreign key table even it is referring to the primary key of the main table

     

  • Difference between Append and Insert

    Preface – This post is part of the Differences in ABAP for Interviews series.

    Introduction

    Before discussing the difference between APPEND and INSERT, let’s have a short introduction of the two.

    Internal tables are used to process the data dynamically during the program execution. Data is populated to the internal table during runtime i.e. program execution.

    APPEND and INSERT are the 2 statements that are used to populate the internal table.

    In this article we will explore more about the Difference between Append and Insert.

    Append

    APPEND statement adds one or more records at the end of the existing internal table.

    Syntax:

    APPEND {<work-area>| INITIAL LINE |LINES OF jtab [FROM idx1] [TO idx2]} TO <itable>.

    <work-area> adds the contents of the work area  <work-area> to the internal table <itable>.

    INITIAL LINE appends a blank line to the internal table <itable> with initial values in each field according to the definition.

    LINES OF jtab [FROM idx1] [TO idx2] appends the rows from idx1 index to idx2 index from jtab to the internal table <itable>.

    The APPEND statement sets sy-tabix with the index of the last appended row.

    Insert

    INSERT statement adds one or more records at a specified position of the internal table. The position can be specified by the primary table key or a table index.

    Syntax:

    INSERT {<work-area>| INITIAL LINE | LINES OF jtab [FROM idx1] [TO idx2]} TO <itable> [INDEX <idx>].

    <work-area> adds the contents of the work area  <work-area> to the internal table <itable>.

    INITIAL LINE appends a blank line to the internal table <itable> with initial values in each field according to the definition.

    LINES OF jtab [FROM idx1] [TO idx2] appends the rows from idx1 index to idx2 index from jtab to the internal table <itable>.

    INDEX specifies the position of the internal table where the new record has to be added. If the Index is not specified, the system adds the new record at the end of the internal table. If the internal table has a record at the specified index, then the new record is added at the specified index and the existing record is reinserted by incrementing the index by 1.

    The INSERT statement does not set the system field sy-tabix.

    Difference between Append and Insert

    Now, let’s have a look at their difference.

     

     

     

    APPEND INSERT
    It is a statement that is used to add a record at the end of an internal table. It is a statement that is used to add/insert record at a specific position of Internal Table.
    New records are always added to the end of the internal table. If the position is not specified only then the new records are added to the end of the internal table.
    System field SY-TABIX is set to the index of the last appended row. System field  SY-TABIX is not set.